<?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>143651</bug_id>
          
          <creation_ts>2015-04-12 14:38:13 -0700</creation_ts>
          <short_desc>Legacy scroll behavior on HTMLBodyElement should only apply to the first body element of a document</short_desc>
          <delta_ts>2015-04-14 14:33:29 -0700</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>diego.perini</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1084696</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-04-12 14:38:13 -0700</bug_when>
    <thetext>Legacy scroll behavior on HTMLBodyElement should only apply to the first body element of a document</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084698</commentid>
    <comment_count>1</comment_count>
      <attachid>250619</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-04-12 14:43:57 -0700</bug_when>
    <thetext>Created attachment 250619
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084715</commentid>
    <comment_count>2</comment_count>
      <attachid>250619</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-04-12 19:01:22 -0700</bug_when>
    <thetext>Comment on attachment 250619
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=250619&amp;action=review

&gt; Source/WebCore/html/HTMLBodyElement.cpp:243
&gt; +        document().updateLayoutIgnorePendingStylesheets();
&gt; +        Frame* frame = document().frame();
&gt; +        if (!frame)
&gt; +            return 0;
&gt; +        FrameView* view = frame-&gt;view();
&gt; +        if (!view)
&gt; +            return 0;
&gt; +        return adjustForZoom(view-&gt;contentsScrollPosition().x(), *frame);

Will a layout ever change a contentsScrollPosition().x() which is equal to 0 to something that isn&apos;t equal to 0? If it never will, we should consider doing the optimization we have in DOMWindow::scrollX()/DOMWindow::scrollY() here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084719</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-04-12 20:50:27 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 250619 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=250619&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLBodyElement.cpp:243
&gt; &gt; +        document().updateLayoutIgnorePendingStylesheets();
&gt; &gt; +        Frame* frame = document().frame();
&gt; &gt; +        if (!frame)
&gt; &gt; +            return 0;
&gt; &gt; +        FrameView* view = frame-&gt;view();
&gt; &gt; +        if (!view)
&gt; &gt; +            return 0;
&gt; &gt; +        return adjustForZoom(view-&gt;contentsScrollPosition().x(), *frame);
&gt; 
&gt; Will a layout ever change a contentsScrollPosition().x() which is equal to 0
&gt; to something that isn&apos;t equal to 0? If it never will, we should consider
&gt; doing the optimization we have in DOMWindow::scrollX()/DOMWindow::scrollY()
&gt; here.

You are probably right but given that this is legacy code, I don&apos;t think we should bother with speculative optimizations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084720</commentid>
    <comment_count>4</comment_count>
      <attachid>250619</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-04-12 21:43:49 -0700</bug_when>
    <thetext>Comment on attachment 250619
Patch

Clearing flags on attachment: 250619

Committed r182677: &lt;http://trac.webkit.org/changeset/182677&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084721</commentid>
    <comment_count>5</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-04-12 21:43:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084830</commentid>
    <comment_count>6</comment_count>
      <attachid>250619</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-04-13 09:38:50 -0700</bug_when>
    <thetext>Comment on attachment 250619
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=250619&amp;action=review

&gt; Source/WebCore/html/HTMLBodyElement.cpp:242
&gt; +        Frame* frame = document().frame();
&gt; +        if (!frame)
&gt; +            return 0;
&gt; +        FrameView* view = frame-&gt;view();
&gt; +        if (!view)
&gt; +            return 0;

Document::view exists to make code sequences like this shorter:

    FrameView* view = document().view();
    if (!view)
        return 0;

Will be nice to have three fewer lines of code in every single one of these functions!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085268</commentid>
    <comment_count>7</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-04-14 14:33:29 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Document::view exists to make code sequences like this shorter:
&gt; 
&gt;     FrameView* view = document().view();
&gt;     if (!view)
&gt;         return 0;
&gt; 
&gt; Will be nice to have three fewer lines of code in every single one of these
&gt; functions!

The code below needs both the Frame and the FrameView.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250619</attachid>
            <date>2015-04-12 14:43:57 -0700</date>
            <delta_ts>2015-04-12 21:43:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143651-20150412144300.patch</filename>
            <type>text/plain</type>
            <size>59775</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2JjMTNmNTdmZDZkMTYz
YTk5ZWQ1N2I2ZDgxOTg4YWVjYmMwNmJlZC4uYjNiNGZjN2ZlOTliYWUyM2NhOWNhODdkMzQwMDlm
NWQzMjg1YjE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE1LTA0LTEyICBCZW5q
YW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBMZWdhY3kgc2Ny
b2xsIGJlaGF2aW9yIG9uIEhUTUxCb2R5RWxlbWVudCBzaG91bGQgb25seSBhcHBseSB0byB0aGUg
Zmlyc3QgYm9keSBlbGVtZW50IG9mIGEgZG9jdW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzY1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYktpdCBoYXMgc29tZSB2ZXJ5IHdlaXJkIGJlaGF2
aW9ycyBmb3IgdGhlIHNjcm9sbCBtZXRob2RzIG9uIGJvZHkuIFRoaXMgcGF0Y2gKKyAgICAgICAg
YWRkcmVzcyB0aGUgZmlyc3QgYnVnOiBvbmx5IHRoZSBmaXJzdCBib2R5IGVsZW1lbnQgc2hvdWxk
IGhhdmUgdGhlIGxlZ2FjeSBiZWhhdmlvci4KKworICAgICAgICBUaGUgcmVsZXZhbnQgdGV4dCBp
biBzcGVjOgorICAgICAgICAtaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3Nzb20tdmlldy8jZG9t
LWVsZW1lbnQtc2Nyb2xsbGVmdAorICAgICAgICAtaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3Nz
b20tdmlldy8jZG9tLWVsZW1lbnQtc2Nyb2xsdG9wCisgICAgICAgIC1odHRwOi8vZGV2LnczLm9y
Zy9jc3N3Zy9jc3NvbS12aWV3LyNkb20tZWxlbWVudC1zY3JvbGx3aWR0aAorICAgICAgICAtaHR0
cDovL2Rldi53My5vcmcvY3Nzd2cvY3Nzb20tdmlldy8jZG9tLWVsZW1lbnQtc2Nyb2xsaGVpZ2h0
CisKKyAgICAgICAgVGVzdHM6IGZhc3QvZG9tL0VsZW1lbnQvYm9keS1zY3JvbGxIZWlnaHQtYmFz
aWNzLXF1aXJrcy5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9FbGVtZW50L2JvZHktc2Ny
b2xsTGVmdC1iYXNpY3MtcXVpcmtzLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL0VsZW1l
bnQvYm9keS1zY3JvbGxUb3AtYmFzaWNzLXF1aXJrcy5odG1sCisgICAgICAgICAgICAgICBmYXN0
L2RvbS9FbGVtZW50L2JvZHktc2Nyb2xsV2lkdGgtYmFzaWNzLXF1aXJrcy5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2RvbS9FbGVtZW50L2RldGFjaGVkLWJvZHktZWxlbWVudC1kb2VzLW5vdC1z
Y3JvbGwtbWFpbi1mcmFtZS13aXRoLXNjcm9sbExlZnQuaHRtbAorICAgICAgICAgICAgICAgZmFz
dC9kb20vRWxlbWVudC9kZXRhY2hlZC1ib2R5LWVsZW1lbnQtZG9lcy1ub3Qtc2Nyb2xsLW1haW4t
ZnJhbWUtd2l0aC1zY3JvbGxUb3AuaHRtbAorCisgICAgICAgICogaHRtbC9IVE1MQm9keUVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEJvZHlFbGVtZW50Ojppc0ZpcnN0Qm9keUVs
ZW1lbnRPZkRvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCb2R5RWxlbWVudDo6c2Ny
b2xsTGVmdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQm9keUVsZW1lbnQ6OnNldFNjcm9sbExl
ZnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEJvZHlFbGVtZW50OjpzY3JvbGxUb3ApOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEJvZHlFbGVtZW50OjpzZXRTY3JvbGxUb3ApOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEJvZHlFbGVtZW50OjpzY3JvbGxIZWlnaHQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEJvZHlFbGVtZW50OjpzY3JvbGxXaWR0aCk6CisgICAgICAgICogaHRtbC9IVE1MQm9k
eUVsZW1lbnQuaDoKKwogMjAxNS0wNC0xMSAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5j
b20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogY3JlYXRlIGNvbnRlbnQgdmlldyBhbmQgZGV0
YWlscyBzaWRlYmFyIGZvciBGcmFtZXMgdGltZWxpbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJv
ZHlFbGVtZW50LmNwcAppbmRleCAzZTExOTAzYWUwYmE2ZjdkYjE3ZjFmZWYyN2ZmMjg5ZmM1YTEx
MmUwLi42ZDQ3NjkxNmNiZDQ5YThhM2EwY2NhMzk2ZDJlMzFkYmNmZmI0YmNhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCkBAIC0zLDcgKzMsNyBAQAogICogICAgICAg
ICAgIChDKSAxOTk5IEFudHRpIEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQogICogICAgICAg
ICAgIChDKSAyMDAwIFNpbW9uIEhhdXNtYW5uIChoYXVzbWFubkBrZGUub3JnKQogICogICAgICAg
ICAgIChDKSAyMDAxIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQotICogQ29weXJpZ2h0
IChDKSAyMDA0LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNi0yMDEwLCAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNDcs
NiArNDcsMTMgQEAgSFRNTEJvZHlFbGVtZW50OjpIVE1MQm9keUVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW4KICAgICBBU1NFUlQoaGFzVGFnTmFt
ZShib2R5VGFnKSk7CiB9CiAKK2Jvb2wgSFRNTEJvZHlFbGVtZW50Ojppc0ZpcnN0Qm9keUVsZW1l
bnRPZkRvY3VtZW50KCkgY29uc3QKK3sKKyAgICAvLyBCeSBzcGVjIGh0dHA6Ly9kZXYudzMub3Jn
L2Nzc3dnL2Nzc29tLXZpZXcvI3RoZS1odG1sLWJvZHktZWxlbWVudAorICAgIC8vICJUaGUgSFRN
TCBib2R5IGVsZW1lbnQgaXMgdGhlIGZpcnN0IGJvZHkgSFRNTCBlbGVtZW50IGNoaWxkIG9mIHRo
ZSByb290IEhUTUwgZWxlbWVudCBodG1sLiIKKyAgICByZXR1cm4gZG9jdW1lbnQoKS5ib2R5KCkg
PT0gdGhpczsKK30KKwogUmVmPEhUTUxCb2R5RWxlbWVudD4gSFRNTEJvZHlFbGVtZW50OjpjcmVh
dGUoRG9jdW1lbnQmIGRvY3VtZW50KQogewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEhUTUxC
b2R5RWxlbWVudChib2R5VGFnLCBkb2N1bWVudCkpOwpAQCAtMjI1LDc2ICsyMzIsOTQgQEAgc3Rh
dGljIGludCBhZGp1c3RGb3Jab29tKGludCB2YWx1ZSwgY29uc3QgRnJhbWUmIGZyYW1lKQogCiBp
bnQgSFRNTEJvZHlFbGVtZW50OjpzY3JvbGxMZWZ0KCkKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0
ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwotICAgIEZyYW1lKiBmcmFtZSA9IGRv
Y3VtZW50KCkuZnJhbWUoKTsKLSAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4gMDsKLSAg
ICBGcmFtZVZpZXcqIHZpZXcgPSBmcmFtZS0+dmlldygpOwotICAgIGlmICghdmlldykKLSAgICAg
ICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIGFkanVzdEZvclpvb20odmlldy0+Y29udGVudHNTY3Jv
bGxQb3NpdGlvbigpLngoKSwgKmZyYW1lKTsKKyAgICBpZiAoaXNGaXJzdEJvZHlFbGVtZW50T2ZE
b2N1bWVudCgpKSB7CisgICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGlu
Z1N0eWxlc2hlZXRzKCk7CisgICAgICAgIEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCkuZnJhbWUo
KTsKKyAgICAgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBG
cmFtZVZpZXcqIHZpZXcgPSBmcmFtZS0+dmlldygpOworICAgICAgICBpZiAoIXZpZXcpCisgICAg
ICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIGFkanVzdEZvclpvb20odmlldy0+Y29u
dGVudHNTY3JvbGxQb3NpdGlvbigpLngoKSwgKmZyYW1lKTsKKyAgICB9CisgICAgcmV0dXJuIEhU
TUxFbGVtZW50OjpzY3JvbGxMZWZ0KCk7CiB9CiAKIHZvaWQgSFRNTEJvZHlFbGVtZW50OjpzZXRT
Y3JvbGxMZWZ0KGludCBzY3JvbGxMZWZ0KQogewotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0
SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7Ci0gICAgRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQo
KS5mcmFtZSgpOwotICAgIGlmICghZnJhbWUpCi0gICAgICAgIHJldHVybjsKLSAgICBGcmFtZVZp
ZXcqIHZpZXcgPSBmcmFtZS0+dmlldygpOwotICAgIGlmICghdmlldykKLSAgICAgICAgcmV0dXJu
OwotICAgIHZpZXctPnNldFNjcm9sbFBvc2l0aW9uKEludFBvaW50KHN0YXRpY19jYXN0PGludD4o
c2Nyb2xsTGVmdCAqIGZyYW1lLT5wYWdlWm9vbUZhY3RvcigpICogZnJhbWUtPmZyYW1lU2NhbGVG
YWN0b3IoKSksIHZpZXctPnNjcm9sbFkoKSkpOworICAgIGlmIChpc0ZpcnN0Qm9keUVsZW1lbnRP
ZkRvY3VtZW50KCkpIHsKKyAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5k
aW5nU3R5bGVzaGVldHMoKTsKKyAgICAgICAgRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS5mcmFt
ZSgpOworICAgICAgICBpZiAoIWZyYW1lKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBG
cmFtZVZpZXcqIHZpZXcgPSBmcmFtZS0+dmlldygpOworICAgICAgICBpZiAoIXZpZXcpCisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIHZpZXctPnNldFNjcm9sbFBvc2l0aW9uKEludFBvaW50
KHN0YXRpY19jYXN0PGludD4oc2Nyb2xsTGVmdCAqIGZyYW1lLT5wYWdlWm9vbUZhY3RvcigpICog
ZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKSksIHZpZXctPnNjcm9sbFkoKSkpOworICAgIH0KKyAg
ICBIVE1MRWxlbWVudDo6c2V0U2Nyb2xsTGVmdChzY3JvbGxMZWZ0KTsKIH0KIAogaW50IEhUTUxC
b2R5RWxlbWVudDo6c2Nyb2xsVG9wKCkKIHsKLSAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dEln
bm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwotICAgIEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCku
ZnJhbWUoKTsKLSAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4gMDsKLSAgICBGcmFtZVZp
ZXcqIHZpZXcgPSBmcmFtZS0+dmlldygpOwotICAgIGlmICghdmlldykKLSAgICAgICAgcmV0dXJu
IDA7Ci0gICAgcmV0dXJuIGFkanVzdEZvclpvb20odmlldy0+Y29udGVudHNTY3JvbGxQb3NpdGlv
bigpLnkoKSwgKmZyYW1lKTsKKyAgICBpZiAoaXNGaXJzdEJvZHlFbGVtZW50T2ZEb2N1bWVudCgp
KSB7CisgICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hl
ZXRzKCk7CisgICAgICAgIEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCkuZnJhbWUoKTsKKyAgICAg
ICAgaWYgKCFmcmFtZSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBGcmFtZVZpZXcq
IHZpZXcgPSBmcmFtZS0+dmlldygpOworICAgICAgICBpZiAoIXZpZXcpCisgICAgICAgICAgICBy
ZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIGFkanVzdEZvclpvb20odmlldy0+Y29udGVudHNTY3Jv
bGxQb3NpdGlvbigpLnkoKSwgKmZyYW1lKTsKKyAgICB9CisgICAgcmV0dXJuIEhUTUxFbGVtZW50
OjpzY3JvbGxUb3AoKTsKIH0KIAogdm9pZCBIVE1MQm9keUVsZW1lbnQ6OnNldFNjcm9sbFRvcChp
bnQgc2Nyb2xsVG9wKQogewotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGlu
Z1N0eWxlc2hlZXRzKCk7Ci0gICAgRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS5mcmFtZSgpOwot
ICAgIGlmICghZnJhbWUpCi0gICAgICAgIHJldHVybjsKLSAgICBGcmFtZVZpZXcqIHZpZXcgPSBm
cmFtZS0+dmlldygpOwotICAgIGlmICghdmlldykKLSAgICAgICAgcmV0dXJuOwotICAgIHZpZXct
PnNldFNjcm9sbFBvc2l0aW9uKEludFBvaW50KHZpZXctPnNjcm9sbFgoKSwgc3RhdGljX2Nhc3Q8
aW50PihzY3JvbGxUb3AgKiBmcmFtZS0+cGFnZVpvb21GYWN0b3IoKSAqIGZyYW1lLT5mcmFtZVNj
YWxlRmFjdG9yKCkpKSk7CisgICAgaWYgKGlzRmlyc3RCb2R5RWxlbWVudE9mRG9jdW1lbnQoKSkg
eworICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0
cygpOworICAgICAgICBGcmFtZSogZnJhbWUgPSBkb2N1bWVudCgpLmZyYW1lKCk7CisgICAgICAg
IGlmICghZnJhbWUpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIEZyYW1lVmlldyogdmll
dyA9IGZyYW1lLT52aWV3KCk7CisgICAgICAgIGlmICghdmlldykKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgdmlldy0+c2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQodmlldy0+c2Nyb2xs
WCgpLCBzdGF0aWNfY2FzdDxpbnQ+KHNjcm9sbFRvcCAqIGZyYW1lLT5wYWdlWm9vbUZhY3Rvcigp
ICogZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKSkpKTsKKyAgICB9CisgICAgcmV0dXJuIEhUTUxF
bGVtZW50OjpzZXRTY3JvbGxUb3Aoc2Nyb2xsVG9wKTsKIH0KIAogaW50IEhUTUxCb2R5RWxlbWVu
dDo6c2Nyb2xsSGVpZ2h0KCkKIHsKLSAgICAvLyBVcGRhdGUgdGhlIGRvY3VtZW50J3MgbGF5b3V0
LgotICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7
Ci0gICAgRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS5mcmFtZSgpOwotICAgIGlmICghZnJhbWUp
Ci0gICAgICAgIHJldHVybiAwOwotICAgIEZyYW1lVmlldyogdmlldyA9IGZyYW1lLT52aWV3KCk7
Ci0gICAgaWYgKCF2aWV3KQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gYWRqdXN0Rm9y
Wm9vbSh2aWV3LT5jb250ZW50c0hlaWdodCgpLCAqZnJhbWUpOworICAgIGlmIChpc0ZpcnN0Qm9k
eUVsZW1lbnRPZkRvY3VtZW50KCkpIHsKKyAgICAgICAgLy8gVXBkYXRlIHRoZSBkb2N1bWVudCdz
IGxheW91dC4KKyAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5
bGVzaGVldHMoKTsKKyAgICAgICAgRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS5mcmFtZSgpOwor
ICAgICAgICBpZiAoIWZyYW1lKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIEZyYW1l
VmlldyogdmlldyA9IGZyYW1lLT52aWV3KCk7CisgICAgICAgIGlmICghdmlldykKKyAgICAgICAg
ICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gYWRqdXN0Rm9yWm9vbSh2aWV3LT5jb250ZW50
c0hlaWdodCgpLCAqZnJhbWUpOworICAgIH0KKyAgICByZXR1cm4gSFRNTEVsZW1lbnQ6OnNjcm9s
bEhlaWdodCgpOwogfQogCiBpbnQgSFRNTEJvZHlFbGVtZW50OjpzY3JvbGxXaWR0aCgpCiB7Ci0g
ICAgLy8gVXBkYXRlIHRoZSBkb2N1bWVudCdzIGxheW91dC4KLSAgICBkb2N1bWVudCgpLnVwZGF0
ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwotICAgIEZyYW1lKiBmcmFtZSA9IGRv
Y3VtZW50KCkuZnJhbWUoKTsKLSAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4gMDsKLSAg
ICBGcmFtZVZpZXcqIHZpZXcgPSBmcmFtZS0+dmlldygpOwotICAgIGlmICghdmlldykKLSAgICAg
ICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIGFkanVzdEZvclpvb20odmlldy0+Y29udGVudHNXaWR0
aCgpLCAqZnJhbWUpOworICAgIGlmIChpc0ZpcnN0Qm9keUVsZW1lbnRPZkRvY3VtZW50KCkpIHsK
KyAgICAgICAgLy8gVXBkYXRlIHRoZSBkb2N1bWVudCdzIGxheW91dC4KKyAgICAgICAgZG9jdW1l
bnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICAgICAgRnJh
bWUqIGZyYW1lID0gZG9jdW1lbnQoKS5mcmFtZSgpOworICAgICAgICBpZiAoIWZyYW1lKQorICAg
ICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIEZyYW1lVmlldyogdmlldyA9IGZyYW1lLT52aWV3
KCk7CisgICAgICAgIGlmICghdmlldykKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBy
ZXR1cm4gYWRqdXN0Rm9yWm9vbSh2aWV3LT5jb250ZW50c1dpZHRoKCksICpmcmFtZSk7CisgICAg
fQorICAgIHJldHVybiBIVE1MRWxlbWVudDo6c2Nyb2xsV2lkdGgoKTsKIH0KIAogdm9pZCBIVE1M
Qm9keUVsZW1lbnQ6OmFkZFN1YnJlc291cmNlQXR0cmlidXRlVVJMcyhMaXN0SGFzaFNldDxVUkw+
JiB1cmxzKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmgKaW5kZXggZmY5
OWUzMzllNDg0YzQ1NTM0N2UxNjAxNmIyNDY2ZTk2YWQyZTI1ZS4uYzRjZGZkNTA1MWMxOTRkMDkz
YTU4Yjc3YzJlZmFmZjU0MjAzZDJiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQm9keUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVu
dC5oCkBAIC0zOSw2ICszOSw4IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgSFRNTEJvZHlFbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCisgICAgYm9vbCBpc0ZpcnN0
Qm9keUVsZW1lbnRPZkRvY3VtZW50KCkgY29uc3Q7CisKICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VB
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJy
aWRlOwogICAgIHZpcnR1YWwgYm9vbCBpc1ByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFs
aWZpZWROYW1lJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGNvbGxlY3RTdHls
ZUZvclByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRv
bWljU3RyaW5nJiwgTXV0YWJsZVN0eWxlUHJvcGVydGllcyYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDlm
YWZkMTUyMDJjNzI4YjlhZGM0ODRmYzhhYTU0ZTc0OWVlOWRkNjguLmI4ZWQzNTMwNDdhMDQ5ODY0
NDRkM2JjOGI2ZDQzMDgxYTg1ZGEzMjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxNS0wNC0x
MiAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+IGFuZCBEaWVnbyBQZXJp
bmkgIDxkaWVnby5wZXJpbmlAZ21haWwuY29tPgorCisgICAgICAgIExlZ2FjeSBzY3JvbGwgYmVo
YXZpb3Igb24gSFRNTEJvZHlFbGVtZW50IHNob3VsZCBvbmx5IGFwcGx5IHRvIHRoZSBmaXJzdCBi
b2R5IGVsZW1lbnQgb2YgYSBkb2N1bWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQzNjUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9FbGVtZW50L2JvZHktc2Nyb2xsSGVpZ2h0LWJh
c2ljcy1xdWlya3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9FbGVt
ZW50L2JvZHktc2Nyb2xsSGVpZ2h0LWJhc2ljcy1xdWlya3MuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9kb20vRWxlbWVudC9ib2R5LXNjcm9sbExlZnQtYmFzaWNzLXF1aXJrcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0VsZW1lbnQvYm9keS1zY3JvbGxMZWZ0
LWJhc2ljcy1xdWlya3MuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRWxlbWVudC9i
b2R5LXNjcm9sbFRvcC1iYXNpY3MtcXVpcmtzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9kb20vRWxlbWVudC9ib2R5LXNjcm9sbFRvcC1iYXNpY3MtcXVpcmtzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0VsZW1lbnQvYm9keS1zY3JvbGxXaWR0aC1iYXNpY3Mt
cXVpcmtzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRWxlbWVudC9i
b2R5LXNjcm9sbFdpZHRoLWJhc2ljcy1xdWlya3MuaHRtbDogQWRkZWQuCisgICAgICAgIFRlc3Qg
dGhlIHZhcmlvdXMgYmVoYXZpb3JzLgorCisgICAgICAgICogZmFzdC9kb20vRWxlbWVudC9kZXRh
Y2hlZC1ib2R5LWVsZW1lbnQtZG9lcy1ub3Qtc2Nyb2xsLW1haW4tZnJhbWUtd2l0aC1zY3JvbGxM
ZWZ0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRWxlbWVudC9kZXRh
Y2hlZC1ib2R5LWVsZW1lbnQtZG9lcy1ub3Qtc2Nyb2xsLW1haW4tZnJhbWUtd2l0aC1zY3JvbGxM
ZWZ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0VsZW1lbnQvZGV0YWNoZWQtYm9k
eS1lbGVtZW50LWRvZXMtbm90LXNjcm9sbC1tYWluLWZyYW1lLXdpdGgtc2Nyb2xsVG9wLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRWxlbWVudC9kZXRhY2hlZC1ib2R5
LWVsZW1lbnQtZG9lcy1ub3Qtc2Nyb2xsLW1haW4tZnJhbWUtd2l0aC1zY3JvbGxUb3AuaHRtbDog
QWRkZWQuCisgICAgICAgIFRob3NlIHRlc3RzIHRhcmdldCBzcGVjaWZpY2FsbHkgdGhlIGJ1Zy4K
KwogMjAxNS0wNC0xMSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgW0VGTF0gVW5za2lwIG1lZGlhIHRlc3Qgb24gRUZMIHBvcnQKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvYm9keS1zY3JvbGxIZWlnaHQtYmFzaWNzLXF1
aXJrcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L2JvZHktc2Ny
b2xsSGVpZ2h0LWJhc2ljcy1xdWlya3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZiYjMwNGUw
ZWY3MmNkNzc2NmI4ZTFlY2RkMjFmZTE0NDIxY2RlYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L2JvZHktc2Nyb2xsSGVpZ2h0LWJhc2ljcy1xdWlya3Mt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjkgQEAKK1Rlc3QgdGhlICJzY3JvbGxIZWlnaHQiIHBy
b3BlcnRpZXMgb24gdGhlIGJvZHkgZWxlbWVudCBpbiBxdWlya3MgbW9kZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgdmFsdWVzCitQQVNTIGRvY3VtZW50LmJvZHku
c2Nyb2xsSGVpZ2h0IGlzIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQKKwor
Tm93IHdlIGNyZWF0ZSBhIGJvZHkgZWxlbWVudCwgaXQgc2hvdWxkIG5vdCBoYXZlIGEgc2Nyb2xs
SGVpZ2h0IHNpbmNlIGl0IGlzIG5vdCB0aGUgZmlyc3QgYm9keSBlbGVtZW50IG9mIHRoZSBkb2N1
bWVudC4KK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQgaXMgZG9jdW1lbnQuZG9jdW1l
bnRFbGVtZW50LnNjcm9sbEhlaWdodAorUEFTUyBmbG9hdGluZ0JvZHkuc2Nyb2xsSGVpZ2h0IGlz
IDAKKworV2UgYWRkIGEgbmV3IGJvZHkgZWxlbWVudCBhZnRlciB0aGUgZmlyc3QgYm9keSBlbGVt
ZW50LCB0aGlzIHNob3VsZCBoYXZlIG5vIGltcGFjdCBvbiB0aGUgc3RhdGUuCitQQVNTIGRvY3Vt
ZW50LmJvZHkuc2Nyb2xsSGVpZ2h0IGlzIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxI
ZWlnaHQKK1BBU1Mgc2Vjb25kU2libGluZ0JvZHkuc2Nyb2xsSGVpZ2h0IGlzIHNlY29uZFNpYmxp
bmdCb2R5LmNsaWVudEhlaWdodAorUEFTUyBkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCBpcyBu
b3Qgc2Vjb25kU2libGluZ0JvZHkuc2Nyb2xsSGVpZ2h0CisKK1dlIGFkZCBhIG5ldyBib2R5IGVs
ZW1lbnQgaW5zaWRlIHRoZSBmaXJzdCBib2R5IGVsZW1lbnQsIHRoaXMgc2hvdWxkIGhhdmUgbm8g
aW1wYWN0IG9uIHRoZSBzdGF0ZS4KK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQgaXMg
ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodAorUEFTUyBib2R5Q2hpbGRPZk1h
aW5Cb2R5LnNjcm9sbEhlaWdodCBpcyBib2R5Q2hpbGRPZk1haW5Cb2R5LmNsaWVudEhlaWdodAor
UEFTUyBkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCBpcyBub3QgYm9keUNoaWxkT2ZNYWluQm9k
eS5zY3JvbGxIZWlnaHQKKworR2V0dGluZyB0aGUgc2Nyb2xsSGVpZ2h0IHNob3VsZCBub3QgcmVx
dWlyZSBhIHJlbmRlcmVyLgorUEFTUyBkb2N1bWVudC5ib2R5LnN0eWxlLmRpc3BsYXkgPSAnbm9u
ZScgaXMgJ25vbmUnCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0IGlzIGRvY3VtZW50
LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9FbGVtZW50L2JvZHktc2Nyb2xsSGVpZ2h0LWJhc2ljcy1xdWlya3MuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0VsZW1lbnQvYm9keS1zY3JvbGxIZWlnaHQtYmFzaWNzLXF1aXJrcy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmViYTM1MDIxOWIwMjAwNGU0MmM3YzBiMmZhM2RjZGVmYTFjNzY4YWEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L2JvZHktc2Nyb2xs
SGVpZ2h0LWJhc2ljcy1xdWlya3MuaHRtbApAQCAtMCwwICsxLDU4IEBACis8aHRtbD4KKyAgICA8
aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgZGl2IHsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDk5OTlweDsKKyAgICAgICAgICAgICAgICB3aWR0aDogOTk5OXB4OworICAgICAg
ICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAg
ICAgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgICAgICBmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uKCdUZXN0IHRoZSAic2Nyb2xs
SGVpZ2h0IiBwcm9wZXJ0aWVzIG9uIHRoZSBib2R5IGVsZW1lbnQgaW4gcXVpcmtzIG1vZGUuJyk7
CisKKyAgICAgICAgICAgICAgICBkZWJ1ZygiSW5pdGlhbCB2YWx1ZXMiKTsKKyAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQiLCAiZG9jdW1lbnQuZG9j
dW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodCIpOworCisgICAgICAgICAgICAgICAgZGVidWcoIiIp
OworICAgICAgICAgICAgICAgIGRlYnVnKCJOb3cgd2UgY3JlYXRlIGEgYm9keSBlbGVtZW50LCBp
dCBzaG91bGQgbm90IGhhdmUgYSBzY3JvbGxIZWlnaHQgc2luY2UgaXQgaXMgbm90IHRoZSBmaXJz
dCBib2R5IGVsZW1lbnQgb2YgdGhlIGRvY3VtZW50LiIpOworICAgICAgICAgICAgICAgIGZsb2F0
aW5nQm9keSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2JvZHknKTsKKyAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQiLCAiZG9jdW1lbnQuZG9jdW1l
bnRFbGVtZW50LnNjcm9sbEhlaWdodCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJmbG9h
dGluZ0JvZHkuc2Nyb2xsSGVpZ2h0IiwgIjAiKTsKKworICAgICAgICAgICAgICAgIHNlY29uZFNp
YmxpbmdCb2R5ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYm9keScpOworICAgICAgICAgICAg
ICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChzZWNvbmRTaWJsaW5nQm9k
eSk7CisgICAgICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgICAgIGRlYnVnKCJX
ZSBhZGQgYSBuZXcgYm9keSBlbGVtZW50IGFmdGVyIHRoZSBmaXJzdCBib2R5IGVsZW1lbnQsIHRo
aXMgc2hvdWxkIGhhdmUgbm8gaW1wYWN0IG9uIHRoZSBzdGF0ZS4iKTsKKyAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQiLCAiZG9jdW1lbnQuZG9jdW1l
bnRFbGVtZW50LnNjcm9sbEhlaWdodCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJzZWNv
bmRTaWJsaW5nQm9keS5zY3JvbGxIZWlnaHQiLCAic2Vjb25kU2libGluZ0JvZHkuY2xpZW50SGVp
Z2h0Iik7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90QmUoImRvY3VtZW50LmJvZHkuc2Nyb2xs
SGVpZ2h0IiwgInNlY29uZFNpYmxpbmdCb2R5LnNjcm9sbEhlaWdodCIpOworCisgICAgICAgICAg
ICAgICAgYm9keUNoaWxkT2ZNYWluQm9keSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2JvZHkn
KTsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGJvZHlDaGlsZE9m
TWFpbkJvZHkpOworICAgICAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAgICAgICBk
ZWJ1ZygiV2UgYWRkIGEgbmV3IGJvZHkgZWxlbWVudCBpbnNpZGUgdGhlIGZpcnN0IGJvZHkgZWxl
bWVudCwgdGhpcyBzaG91bGQgaGF2ZSBubyBpbXBhY3Qgb24gdGhlIHN0YXRlLiIpOworICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCIsICJkb2N1bWVu
dC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0Iik7CisgICAgICAgICAgICAgICAgc2hvdWxk
QmUoImJvZHlDaGlsZE9mTWFpbkJvZHkuc2Nyb2xsSGVpZ2h0IiwgImJvZHlDaGlsZE9mTWFpbkJv
ZHkuY2xpZW50SGVpZ2h0Iik7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90QmUoImRvY3VtZW50
LmJvZHkuc2Nyb2xsSGVpZ2h0IiwgImJvZHlDaGlsZE9mTWFpbkJvZHkuc2Nyb2xsSGVpZ2h0Iik7
CisKKyAgICAgICAgICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgICAgICAgICAgZGVidWcoIkdl
dHRpbmcgdGhlIHNjcm9sbEhlaWdodCBzaG91bGQgbm90IHJlcXVpcmUgYSByZW5kZXJlci4iKTsK
KyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zdHlsZS5kaXNwbGF5ID0g
J25vbmUnIiwgIidub25lJyIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5i
b2R5LnNjcm9sbEhlaWdodCIsICJkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0
Iik7CisKKyAgICAgICAgICAgICAgICAvLyBGaW5hbGx5LCBsZXQncyBjbGVhciB0aGUgc3RhdGUg
dG8gbWFrZSB0aGlzIHNpbXBsZXIgZm9yIG1hbnVhbCB0ZXN0aW5nLgorICAgICAgICAgICAgICAg
IGRvY3VtZW50LmJvZHkuc3R5bGUuZGlzcGxheSA9ICJibG9jayI7CisgICAgICAgICAgICAgICAg
d2luZG93LnNjcm9sbFRvKDAsIDApOworCisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgICAgIDxkaXY+PC9kaXY+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVt
ZW50L2JvZHktc2Nyb2xsTGVmdC1iYXNpY3MtcXVpcmtzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0VsZW1lbnQvYm9keS1zY3JvbGxMZWZ0LWJhc2ljcy1xdWlya3MtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQ0ZDYzZTJkMDlhNzgxYjI1NDQ1MDM5NmY5NDNhZjlhOWIyNTEy
ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L2JvZHkt
c2Nyb2xsTGVmdC1iYXNpY3MtcXVpcmtzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzNCBAQAor
VGVzdCB0aGUgInNjcm9sbExlZnQiIHByb3BlcnRpZXMgb24gdGhlIGJvZHkgZWxlbWVudCBpbiBx
dWlya3MgbW9kZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgdmFs
dWVzCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCBpcyAwCitQQVNTIGRvY3VtZW50LmJv
ZHkuc2Nyb2xsVG9wIGlzIDAKK1BBU1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExl
ZnQgaXMgMAorUEFTUyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIGlzIDAKK1BB
U1Mgd2luZG93LnNjcm9sbFggaXMgMAorUEFTUyB3aW5kb3cuc2Nyb2xsWSBpcyAwCisKK0xldCBz
ZXQgdGhlIHNjcm9sbExlZnQgdmFsdWUgb24gdGhlIG1haW4gYm9keSBlbGVtZW50IChkb2N1bWVu
dC5ib2R5KSwgaW4gcXVpcmtzIG1vZGUsIHRoaXMgc2hvdWxkIGNoYW5nZSB0aGUgbWFpbiBmcmFt
ZSdzIHNjcm9sbCBwb3NpdGlvbi4KK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0ID0gNDIg
aXMgNDIKK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IGlzIDQyCitQQVNTIGRvY3VtZW50
LmJvZHkuc2Nyb2xsVG9wIGlzIDAKK1BBU1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9s
bExlZnQgaXMgMAorUEFTUyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIGlzIDAK
K1BBU1Mgd2luZG93LnNjcm9sbFggaXMgNDIKK1BBU1Mgd2luZG93LnNjcm9sbFkgaXMgMAorCitD
aGFuZ2Ugc2Nyb2xsWCwgdGhpcyBzaG91bGQgaGF2ZSBubyBlZmZlY3Qgb24gdGhlIGhvcml6b250
YWwgc2Nyb2xsaW5nCitQQVNTIHdpbmRvdy5zY3JvbGxCeSgwLCAyMSkgaXMgdW5kZWZpbmVkCitQ
QVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCBpcyA0MgorUEFTUyBkb2N1bWVudC5ib2R5LnNj
cm9sbFRvcCBpcyAyMQorUEFTUyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCBp
cyAwCitQQVNTIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgaXMgMAorUEFTUyB3
aW5kb3cuc2Nyb2xsWCBpcyA0MgorUEFTUyB3aW5kb3cuc2Nyb2xsWSBpcyAyMQorCitOb3cgd2Ug
Y3JlYXRlIGEgYm9keSBlbGVtZW50LCBjb21wbGV0ZWx5IGRldGFjaGVkIGZyb20gdGhlIERPTSB0
cmVlLiBUaGlzIHNob3VsZCBub3QgY2hhbmdlIHRoZSBzY3JvbGwgcG9zaXRpb24gaW4gYW55IHdh
eS4KK1BBU1MgZmxvYXRpbmdCb2R5LnNjcm9sbExlZnQgaXMgMAorUEFTUyBmbG9hdGluZ0JvZHku
c2Nyb2xsVG9wIGlzIDAKK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IGlzIDQyCitQQVNT
IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIGlzIDIxCitQQVNTIGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5zY3JvbGxMZWZ0IGlzIDAKK1BBU1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9s
bFRvcCBpcyAwCitQQVNTIHdpbmRvdy5zY3JvbGxYIGlzIDQyCitQQVNTIHdpbmRvdy5zY3JvbGxZ
IGlzIDIxCisKK1NldHRpbmcgdGhlIHNjcm9sbCBwb3NpdGlvbiBvbiB0aGF0IGRldGFjaGVkIGJv
ZHkgZWxlbWVudCBzaG91bGQgbm90IGFmZmVjdCB0aGUgbWFpbiBmcmFtZSBzaW5jZSBpdCBpcyBu
b3QgdGhlIGZpcnN0IGJvZHkgZWxlbWVudCBvZiB0aGUgZG9jdW1lbnQuCitQQVNTIGZsb2F0aW5n
Qm9keS5zY3JvbGxMZWZ0ID0gNjU0IGlzIDY1NAorUEFTUyBmbG9hdGluZ0JvZHkuc2Nyb2xsTGVm
dCBpcyAwCitQQVNTIGZsb2F0aW5nQm9keS5zY3JvbGxUb3AgaXMgMAorUEFTUyBkb2N1bWVudC5i
b2R5LnNjcm9sbExlZnQgaXMgNDIKK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgaXMgMjEK
K1BBU1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgaXMgMAorUEFTUyBkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIGlzIDAKK1BBU1Mgd2luZG93LnNjcm9sbFgg
aXMgNDIKK1BBU1Mgd2luZG93LnNjcm9sbFkgaXMgMjEKKworV2UgYWRkIGEgbmV3IGJvZHkgZWxl
bWVudCBhZnRlciB0aGUgZmlyc3QgYm9keSBlbGVtZW50LCB0aGlzIHNob3VsZCBoYXZlIG5vIGlt
cGFjdCBvbiB0aGUgc3RhdGUuCitQQVNTIHNlY29uZFNpYmxpbmdCb2R5LnNjcm9sbExlZnQgaXMg
MAorUEFTUyBzZWNvbmRTaWJsaW5nQm9keS5zY3JvbGxUb3AgaXMgMAorUEFTUyBkb2N1bWVudC5i
b2R5LnNjcm9sbExlZnQgaXMgNDIKK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgaXMgMjEK
K1BBU1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgaXMgMAorUEFTUyBkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIGlzIDAKK1BBU1Mgd2luZG93LnNjcm9sbFgg
aXMgNDIKK1BBU1Mgd2luZG93LnNjcm9sbFkgaXMgMjEKKworU2V0dGluZyBhICJzY3JvbGxUb3Ai
IG9uIHNlY29uZFNpYmxpbmdCb2R5IHNob3VsZCBub3QgYWZmZWN0IHRoZSBtYWluIGZyYW1lLgor
UEFTUyBzZWNvbmRTaWJsaW5nQm9keS5zY3JvbGxMZWZ0ID0gOTg3IGlzIDk4NworUEFTUyBzZWNv
bmRTaWJsaW5nQm9keS5zY3JvbGxMZWZ0IGlzIDAKK1BBU1Mgc2Vjb25kU2libGluZ0JvZHkuc2Ny
b2xsVG9wIGlzIDAKK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IGlzIDQyCitQQVNTIGRv
Y3VtZW50LmJvZHkuc2Nyb2xsVG9wIGlzIDIxCitQQVNTIGRvY3VtZW50LmRvY3VtZW50RWxlbWVu
dC5zY3JvbGxMZWZ0IGlzIDAKK1BBU1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRv
cCBpcyAwCitQQVNTIHdpbmRvdy5zY3JvbGxYIGlzIDQyCitQQVNTIHdpbmRvdy5zY3JvbGxZIGlz
IDIxCisKK1dlIGFkZCBhIG5ldyBib2R5IGVsZW1lbnQgaW5zaWRlIHRoZSBmaXJzdCBib2R5IGVs
ZW1lbnQsIHRoaXMgc2hvdWxkIGhhdmUgbm8gaW1wYWN0IG9uIHRoZSBzdGF0ZS4KK1BBU1MgYm9k
eUNoaWxkT2ZNYWluQm9keS5zY3JvbGxMZWZ0IGlzIDAKK1BBU1MgYm9keUNoaWxkT2ZNYWluQm9k
eS5zY3JvbGxUb3AgaXMgMAorUEFTUyBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQgaXMgNDIKK1BB
U1MgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgaXMgMjEKK1BBU1MgZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LnNjcm9sbExlZnQgaXMgMAorUEFTUyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Ny
b2xsVG9wIGlzIDAKK1BBU1Mgd2luZG93LnNjcm9sbFggaXMgNDIKK1BBU1Mgd2luZG93LnNjcm9s
bFkgaXMgMjEKKworU2V0dGluZyBhICJzY3JvbGxUb3AiIG9uIGJvZHlDaGlsZE9mTWFpbkJvZHkg
c2hvdWxkIG5vdCBhZmZlY3QgdGhlIG1haW4gZnJhbWUuCitQQVNTIGJvZHlDaGlsZE9mTWFpbkJv
ZHkuc2Nyb2xsTGVmdCA9IDU3IGlzIDU3CitQQVNTIGJvZHlDaGlsZE9mTWFpbkJvZHkuc2Nyb2xs
TGVmdCBpcyAwCitQQVNTIGJvZHlDaGlsZE9mTWFpbkJvZHkuc2Nyb2xsVG9wIGlzIDAKK1BBU1Mg
ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IGlzIDQyCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xs
VG9wIGlzIDIxCitQQVNTIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IGlzIDAK
K1BBU1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCBpcyAwCitQQVNTIHdpbmRv
dy5zY3JvbGxYIGlzIDQyCitQQVNTIHdpbmRvdy5zY3JvbGxZIGlzIDIxCisKK05vdyB3ZSBpbnNl
cnQgYSBuZXcgYm9keSBlbGVtZW50ICpiZWZvcmUqIHRoZSBleGlzdGluZyBvbmUuIEl0IHdpbGwg
cmVwbGFjZSB0aGUgZXhpc3RpbmcgZWxlbWVudCBhcyB0aGUgZmlyc3QgYm9keSBlbGVtZW50IG9m
IHRoZSBkb2N1bWVudC4KK1BBU1MgZG9jdW1lbnQuYm9keSA9PT0gbmV3TWFpbkJvZHkgaXMgdHJ1
ZQorUEFTUyBkb2N1bWVudC5ib2R5ICE9PSBvbGRCb2R5RWxlbWVudCBpcyB0cnVlCitTaW5jZSB3
ZSBhcmUgaW4gcXVpcmtzIG1vZGUsIHRoZSBuZXcgYm9keSBlbGVtZW50IGdldHMgdGhlIHNjcm9s
bCBwb3NpdGlvbiBmcm9tIHRoZSBmcmFtZSwgYW5kIHRoZSBvbGQgb25lIGxvc2UgaXRzIHNjcm9s
bCBwb3NpdGlvbi4KK1BBU1Mgb2xkQm9keUVsZW1lbnQuc2Nyb2xsTGVmdCBpcyAwCitQQVNTIG9s
ZEJvZHlFbGVtZW50LnNjcm9sbFRvcCBpcyAwCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVm
dCBpcyA0MgorUEFTUyBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCBpcyAyMQorUEFTUyBkb2N1bWVu
dC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCBpcyAwCitQQVNTIGRvY3VtZW50LmRvY3VtZW50
RWxlbWVudC5zY3JvbGxUb3AgaXMgMAorUEFTUyB3aW5kb3cuc2Nyb2xsWCBpcyA0MgorUEFTUyB3
aW5kb3cuc2Nyb2xsWSBpcyAyMQorCitTY3JvbGxpbmcgdGhhdCBuZXcgYm9keSBzaG91bGQgd29y
ayBhcyBleHBlY3RlZC4KK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0ID0gNjggaXMgNjgK
K1BBU1Mgb2xkQm9keUVsZW1lbnQuc2Nyb2xsTGVmdCA9IDg5NCBpcyA4OTQKK1BBU1Mgb2xkQm9k
eUVsZW1lbnQuc2Nyb2xsTGVmdCBpcyAwCitQQVNTIG9sZEJvZHlFbGVtZW50LnNjcm9sbFRvcCBp
cyAwCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCBpcyA2OAorUEFTUyBkb2N1bWVudC5i
b2R5LnNjcm9sbFRvcCBpcyAyMQorUEFTUyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xs
TGVmdCBpcyAwCitQQVNTIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgaXMgMAor
UEFTUyB3aW5kb3cuc2Nyb2xsWCBpcyA2OAorUEFTUyB3aW5kb3cuc2Nyb2xsWSBpcyAyMQorCitT
Y3JvbGxpbmcgdGhlIG1haW4gZnJhbWUgc2hvdWxkIG5vdCByZXF1aXJlIGEgcmVuZGVyZXIuCitQ
QVNTIGRvY3VtZW50LmJvZHkuc3R5bGUuZGlzcGxheSA9ICdub25lJyBpcyAnbm9uZScKK1BBU1Mg
ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0ID0gNTQgaXMgNTQKK1BBU1Mgb2xkQm9keUVsZW1lbnQu
c2Nyb2xsTGVmdCBpcyAwCitQQVNTIG9sZEJvZHlFbGVtZW50LnNjcm9sbFRvcCBpcyAwCitQQVNT
IGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCBpcyA1NAorUEFTUyBkb2N1bWVudC5ib2R5LnNjcm9s
bFRvcCBpcyAyMQorUEFTUyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCBpcyAw
CitQQVNTIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgaXMgMAorUEFTUyB3aW5k
b3cuc2Nyb2xsWCBpcyA1NAorUEFTUyB3aW5kb3cuc2Nyb2xsWSBpcyAyMQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvYm9keS1zY3JvbGxMZWZ0LWJhc2ljcy1xdWlya3MuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvYm9keS1zY3JvbGxMZWZ0LWJhc2ljcy1x
dWlya3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZjlmYzU3N2YzYzExZjEyZjgwM2QzNTU2YTU0ZDA1ODIw
ZGUyYzZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9i
b2R5LXNjcm9sbExlZnQtYmFzaWNzLXF1aXJrcy5odG1sCkBAIC0wLDAgKzEsMTc1IEBACis8aHRt
bD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgZGl2IHsKKyAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDk5OTlweDsKKyAgICAgICAgICAgICAgICB3aWR0aDogOTk5OXB4
OworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdD4KKyAgICAgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgICAgICBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uKCdUZXN0IHRo
ZSAic2Nyb2xsTGVmdCIgcHJvcGVydGllcyBvbiB0aGUgYm9keSBlbGVtZW50IGluIHF1aXJrcyBt
b2RlLicpOworCisgICAgICAgICAgICAgICAgZGVidWcoIkluaXRpYWwgdmFsdWVzIik7CisgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCIsICIwIik7Cisg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIiwgIjAiKTsK
KyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9s
bExlZnQiLCAiMCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5kb2N1bWVu
dEVsZW1lbnQuc2Nyb2xsVG9wIiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgid2lu
ZG93LnNjcm9sbFgiLCAiMCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuc2Ny
b2xsWSIsICIwIik7CisKKyAgICAgICAgICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgICAgICAg
ICAgZGVidWcoIkxldCBzZXQgdGhlIHNjcm9sbExlZnQgdmFsdWUgb24gdGhlIG1haW4gYm9keSBl
bGVtZW50IChkb2N1bWVudC5ib2R5KSwgaW4gcXVpcmtzIG1vZGUsIHRoaXMgc2hvdWxkIGNoYW5n
ZSB0aGUgbWFpbiBmcmFtZSdzIHNjcm9sbCBwb3NpdGlvbi4iKTsKKyAgICAgICAgICAgICAgICBz
aG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0ID0gNDIiLCAiNDIiKTsKKyAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IiwgIjQyIik7CisgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIiwgIjAiKTsKKyAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExl
ZnQiLCAiMCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5kb2N1bWVudEVs
ZW1lbnQuc2Nyb2xsVG9wIiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgid2luZG93
LnNjcm9sbFgiLCAiNDIiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgid2luZG93LnNjcm9s
bFkiLCAiMCIpOworCisgICAgICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgICAg
IGRlYnVnKCJDaGFuZ2Ugc2Nyb2xsWCwgdGhpcyBzaG91bGQgaGF2ZSBubyBlZmZlY3Qgb24gdGhl
IGhvcml6b250YWwgc2Nyb2xsaW5nIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoIndpbmRv
dy5zY3JvbGxCeSgwLCAyMSkiLCAidW5kZWZpbmVkIik7CisgICAgICAgICAgICAgICAgc2hvdWxk
QmUoImRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCIsICI0MiIpOworICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCIsICIyMSIpOworICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCIsICIwIik7Cisg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxU
b3AiLCAiMCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuc2Nyb2xsWCIsICI0
MiIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuc2Nyb2xsWSIsICIyMSIpOwor
CisgICAgICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgICAgIGRlYnVnKCJOb3cg
d2UgY3JlYXRlIGEgYm9keSBlbGVtZW50LCBjb21wbGV0ZWx5IGRldGFjaGVkIGZyb20gdGhlIERP
TSB0cmVlLiBUaGlzIHNob3VsZCBub3QgY2hhbmdlIHRoZSBzY3JvbGwgcG9zaXRpb24gaW4gYW55
IHdheS4iKTsKKyAgICAgICAgICAgICAgICBmbG9hdGluZ0JvZHkgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdib2R5Jyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImZsb2F0aW5nQm9keS5z
Y3JvbGxMZWZ0IiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZmxvYXRpbmdCb2R5
LnNjcm9sbFRvcCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmJv
ZHkuc2Nyb2xsTGVmdCIsICI0MiIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVu
dC5ib2R5LnNjcm9sbFRvcCIsICIyMSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCIsICIwIik7CisgICAgICAgICAgICAgICAg
c2hvdWxkQmUoImRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AiLCAiMCIpOworICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuc2Nyb2xsWCIsICI0MiIpOworICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuc2Nyb2xsWSIsICIyMSIpOworCisgICAgICAgICAgICAg
ICAgZGVidWcoIiIpOworICAgICAgICAgICAgICAgIGRlYnVnKCJTZXR0aW5nIHRoZSBzY3JvbGwg
cG9zaXRpb24gb24gdGhhdCBkZXRhY2hlZCBib2R5IGVsZW1lbnQgc2hvdWxkIG5vdCBhZmZlY3Qg
dGhlIG1haW4gZnJhbWUgc2luY2UgaXQgaXMgbm90IHRoZSBmaXJzdCBib2R5IGVsZW1lbnQgb2Yg
dGhlIGRvY3VtZW50LiIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJmbG9hdGluZ0JvZHku
c2Nyb2xsTGVmdCA9IDY1NCIsICI2NTQiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZmxv
YXRpbmdCb2R5LnNjcm9sbExlZnQiLCAiMCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJm
bG9hdGluZ0JvZHkuc2Nyb2xsVG9wIiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgi
ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IiwgIjQyIik7CisgICAgICAgICAgICAgICAgc2hvdWxk
QmUoImRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIiwgIjIxIik7CisgICAgICAgICAgICAgICAgc2hv
dWxkQmUoImRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IiwgIjAiKTsKKyAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCIs
ICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5zY3JvbGxYIiwgIjQyIik7
CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5zY3JvbGxZIiwgIjIxIik7CisKKyAg
ICAgICAgICAgICAgICBzZWNvbmRTaWJsaW5nQm9keSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2JvZHknKTsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5k
Q2hpbGQoc2Vjb25kU2libGluZ0JvZHkpOworICAgICAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAg
ICAgICAgICAgICAgICBkZWJ1ZygiV2UgYWRkIGEgbmV3IGJvZHkgZWxlbWVudCBhZnRlciB0aGUg
Zmlyc3QgYm9keSBlbGVtZW50LCB0aGlzIHNob3VsZCBoYXZlIG5vIGltcGFjdCBvbiB0aGUgc3Rh
dGUuIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoInNlY29uZFNpYmxpbmdCb2R5LnNjcm9s
bExlZnQiLCAiMCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJzZWNvbmRTaWJsaW5nQm9k
eS5zY3JvbGxUb3AiLCAiMCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5i
b2R5LnNjcm9sbExlZnQiLCAiNDIiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1l
bnQuYm9keS5zY3JvbGxUb3AiLCAiMjEiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQiLCAiMCIpOworICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIiwgIjAiKTsKKyAg
ICAgICAgICAgICAgICBzaG91bGRCZSgid2luZG93LnNjcm9sbFgiLCAiNDIiKTsKKyAgICAgICAg
ICAgICAgICBzaG91bGRCZSgid2luZG93LnNjcm9sbFkiLCAiMjEiKTsKKworICAgICAgICAgICAg
ICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAgICAgICBkZWJ1ZygiU2V0dGluZyBhIFwic2Nyb2xs
VG9wXCIgb24gc2Vjb25kU2libGluZ0JvZHkgc2hvdWxkIG5vdCBhZmZlY3QgdGhlIG1haW4gZnJh
bWUuIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoInNlY29uZFNpYmxpbmdCb2R5LnNjcm9s
bExlZnQgPSA5ODciLCAiOTg3Iik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoInNlY29uZFNp
YmxpbmdCb2R5LnNjcm9sbExlZnQiLCAiMCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJz
ZWNvbmRTaWJsaW5nQm9keS5zY3JvbGxUb3AiLCAiMCIpOworICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQiLCAiNDIiKTsKKyAgICAgICAgICAgICAgICBz
aG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AiLCAiMjEiKTsKKyAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQiLCAiMCIpOwor
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xs
VG9wIiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgid2luZG93LnNjcm9sbFgiLCAi
NDIiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgid2luZG93LnNjcm9sbFkiLCAiMjEiKTsK
KworICAgICAgICAgICAgICAgIGJvZHlDaGlsZE9mTWFpbkJvZHkgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdib2R5Jyk7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChib2R5Q2hpbGRPZk1haW5Cb2R5KTsKKyAgICAgICAgICAgICAgICBkZWJ1ZygiIik7CisgICAg
ICAgICAgICAgICAgZGVidWcoIldlIGFkZCBhIG5ldyBib2R5IGVsZW1lbnQgaW5zaWRlIHRoZSBm
aXJzdCBib2R5IGVsZW1lbnQsIHRoaXMgc2hvdWxkIGhhdmUgbm8gaW1wYWN0IG9uIHRoZSBzdGF0
ZS4iKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiYm9keUNoaWxkT2ZNYWluQm9keS5zY3Jv
bGxMZWZ0IiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiYm9keUNoaWxkT2ZNYWlu
Qm9keS5zY3JvbGxUb3AiLCAiMCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVu
dC5ib2R5LnNjcm9sbExlZnQiLCAiNDIiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9j
dW1lbnQuYm9keS5zY3JvbGxUb3AiLCAiMjEiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgi
ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQiLCAiMCIpOworICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIiwgIjAiKTsK
KyAgICAgICAgICAgICAgICBzaG91bGRCZSgid2luZG93LnNjcm9sbFgiLCAiNDIiKTsKKyAgICAg
ICAgICAgICAgICBzaG91bGRCZSgid2luZG93LnNjcm9sbFkiLCAiMjEiKTsKKworICAgICAgICAg
ICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAgICAgICBkZWJ1ZygiU2V0dGluZyBhIFwic2Ny
b2xsVG9wXCIgb24gYm9keUNoaWxkT2ZNYWluQm9keSBzaG91bGQgbm90IGFmZmVjdCB0aGUgbWFp
biBmcmFtZS4iKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiYm9keUNoaWxkT2ZNYWluQm9k
eS5zY3JvbGxMZWZ0ID0gNTciLCAiNTciKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiYm9k
eUNoaWxkT2ZNYWluQm9keS5zY3JvbGxMZWZ0IiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91
bGRCZSgiYm9keUNoaWxkT2ZNYWluQm9keS5zY3JvbGxUb3AiLCAiMCIpOworICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQiLCAiNDIiKTsKKyAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AiLCAiMjEiKTsKKyAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQi
LCAiMCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5kb2N1bWVudEVsZW1l
bnQuc2Nyb2xsVG9wIiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgid2luZG93LnNj
cm9sbFgiLCAiNDIiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgid2luZG93LnNjcm9sbFki
LCAiMjEiKTsKKworICAgICAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAgICAgICBk
ZWJ1ZygiTm93IHdlIGluc2VydCBhIG5ldyBib2R5IGVsZW1lbnQgKmJlZm9yZSogdGhlIGV4aXN0
aW5nIG9uZS4gSXQgd2lsbCByZXBsYWNlIHRoZSBleGlzdGluZyBlbGVtZW50IGFzIHRoZSBmaXJz
dCBib2R5IGVsZW1lbnQgb2YgdGhlIGRvY3VtZW50LiIpOworICAgICAgICAgICAgICAgIG9sZEJv
ZHlFbGVtZW50ID0gZG9jdW1lbnQuYm9keTsKKyAgICAgICAgICAgICAgICBuZXdNYWluQm9keSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2JvZHknKTsKKyAgICAgICAgICAgICAgICBkb2N1bWVu
dC5kb2N1bWVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKG5ld01haW5Cb2R5LCBvbGRCb2R5RWxlbWVu
dCk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5ib2R5ID09PSBuZXdN
YWluQm9keSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuYm9keSAh
PT0gb2xkQm9keUVsZW1lbnQiKTsKKworICAgICAgICAgICAgICAgIGRlYnVnKCJTaW5jZSB3ZSBh
cmUgaW4gcXVpcmtzIG1vZGUsIHRoZSBuZXcgYm9keSBlbGVtZW50IGdldHMgdGhlIHNjcm9sbCBw
b3NpdGlvbiBmcm9tIHRoZSBmcmFtZSwgYW5kIHRoZSBvbGQgb25lIGxvc2UgaXRzIHNjcm9sbCBw
b3NpdGlvbi4iKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgib2xkQm9keUVsZW1lbnQuc2Ny
b2xsTGVmdCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoIm9sZEJvZHlFbGVtZW50
LnNjcm9sbFRvcCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmJv
ZHkuc2Nyb2xsTGVmdCIsICI0MiIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVu
dC5ib2R5LnNjcm9sbFRvcCIsICIyMSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCIsICIwIik7CisgICAgICAgICAgICAgICAg
c2hvdWxkQmUoImRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AiLCAiMCIpOworICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuc2Nyb2xsWCIsICI0MiIpOworICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuc2Nyb2xsWSIsICIyMSIpOworCisgICAgICAgICAgICAg
ICAgZGVidWcoIiIpOworICAgICAgICAgICAgICAgIGRlYnVnKCJTY3JvbGxpbmcgdGhhdCBuZXcg
Ym9keSBzaG91bGQgd29yayBhcyBleHBlY3RlZC4iKTsKKyAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0ID0gNjgiLCAiNjgiKTsKKyAgICAgICAgICAgICAg
ICBzaG91bGRCZSgib2xkQm9keUVsZW1lbnQuc2Nyb2xsTGVmdCA9IDg5NCIsICI4OTQiKTsKKwor
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJvbGRCb2R5RWxlbWVudC5zY3JvbGxMZWZ0IiwgIjAi
KTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgib2xkQm9keUVsZW1lbnQuc2Nyb2xsVG9wIiwg
IjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0
IiwgIjY4Iik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmJvZHkuc2Nyb2xs
VG9wIiwgIjIxIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmRvY3VtZW50
RWxlbWVudC5zY3JvbGxMZWZ0IiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCIsICIwIik7CisgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIndpbmRvdy5zY3JvbGxYIiwgIjY4Iik7CisgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIndpbmRvdy5zY3JvbGxZIiwgIjIxIik7CisKKyAgICAgICAgICAgICAgICBkZWJ1ZygiIik7
CisgICAgICAgICAgICAgICAgZGVidWcoIlNjcm9sbGluZyB0aGUgbWFpbiBmcmFtZSBzaG91bGQg
bm90IHJlcXVpcmUgYSByZW5kZXJlci4iKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9j
dW1lbnQuYm9keS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnIiwgIidub25lJyIpOworICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQgPSA1NCIsICI1NCIpOwor
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJvbGRCb2R5RWxlbWVudC5zY3JvbGxMZWZ0IiwgIjAi
KTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgib2xkQm9keUVsZW1lbnQuc2Nyb2xsVG9wIiwg
IjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0
IiwgIjU0Iik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmJvZHkuc2Nyb2xs
VG9wIiwgIjIxIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmRvY3VtZW50
RWxlbWVudC5zY3JvbGxMZWZ0IiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCIsICIwIik7CisgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIndpbmRvdy5zY3JvbGxYIiwgIjU0Iik7CisgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIndpbmRvdy5zY3JvbGxZIiwgIjIxIik7CisKKyAgICAgICAgICAgICAgICAvLyBGaW5hbGx5
LCBsZXQncyBjbGVhciB0aGUgc3RhdGUgdG8gbWFrZSB0aGlzIHNpbXBsZXIgZm9yIG1hbnVhbCB0
ZXN0aW5nLgorICAgICAgICAgICAgICAgIG5ld01haW5Cb2R5LnBhcmVudE5vZGUucmVtb3ZlQ2hp
bGQobmV3TWFpbkJvZHkpOworICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTsK
KworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgfQorICAgICAg
ICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgor
ICAgICAgICA8ZGl2PjwvZGl2PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9ib2R5LXNjcm9sbFRvcC1iYXNp
Y3MtcXVpcmtzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvYm9k
eS1zY3JvbGxUb3AtYmFzaWNzLXF1aXJrcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGUwYTM0
NTFlNDY3MDA2NjQ2NTY2YmJlZTU4MTI1MTI3MzcxOTNmMAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvYm9keS1zY3JvbGxUb3AtYmFzaWNzLXF1aXJrcy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMzQgQEAKK1Rlc3QgdGhlICJzY3JvbGxUb3AiIHByb3Bl
cnRpZXMgb24gdGhlIGJvZHkgZWxlbWVudCBpbiBxdWlya3MgbW9kZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgdmFsdWVzCitQQVNTIGRvY3VtZW50LmJvZHkuc2Ny
b2xsTGVmdCBpcyAwCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIGlzIDAKK1BBU1MgZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgaXMgMAorUEFTUyBkb2N1bWVudC5kb2N1
bWVudEVsZW1lbnQuc2Nyb2xsVG9wIGlzIDAKK1BBU1Mgd2luZG93LnNjcm9sbFggaXMgMAorUEFT
UyB3aW5kb3cuc2Nyb2xsWSBpcyAwCisKK0xldCBzZXQgdGhlIHNjcm9sbFRvcCB2YWx1ZSBvbiB0
aGUgbWFpbiBib2R5IGVsZW1lbnQgKGRvY3VtZW50LmJvZHkpLCBpbiBxdWlya3MgbW9kZSwgdGhp
cyBzaG91bGQgY2hhbmdlIHRoZSBtYWluIGZyYW1lJ3Mgc2Nyb2xsIHBvc2l0aW9uLgorUEFTUyBk
b2N1bWVudC5ib2R5LnNjcm9sbFRvcCA9IDQyIGlzIDQyCitQQVNTIGRvY3VtZW50LmJvZHkuc2Ny
b2xsTGVmdCBpcyAwCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIGlzIDQyCitQQVNTIGRv
Y3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IGlzIDAKK1BBU1MgZG9jdW1lbnQuZG9j
dW1lbnRFbGVtZW50LnNjcm9sbFRvcCBpcyAwCitQQVNTIHdpbmRvdy5zY3JvbGxYIGlzIDAKK1BB
U1Mgd2luZG93LnNjcm9sbFkgaXMgNDIKKworQ2hhbmdlIHNjcm9sbFgsIHRoaXMgc2hvdWxkIGhh
dmUgbm8gZWZmZWN0IG9uIHRoZSB2ZXJ0aWNhbCBzY3JvbGxpbmcKK1BBU1Mgd2luZG93LnNjcm9s
bEJ5KDIxLCAwKSBpcyB1bmRlZmluZWQKK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IGlz
IDIxCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIGlzIDQyCitQQVNTIGRvY3VtZW50LmRv
Y3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IGlzIDAKK1BBU1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVt
ZW50LnNjcm9sbFRvcCBpcyAwCitQQVNTIHdpbmRvdy5zY3JvbGxYIGlzIDIxCitQQVNTIHdpbmRv
dy5zY3JvbGxZIGlzIDQyCisKK05vdyB3ZSBjcmVhdGUgYSBib2R5IGVsZW1lbnQsIGNvbXBsZXRl
bHkgZGV0YWNoZWQgZnJvbSB0aGUgRE9NIHRyZWUuIFRoaXMgc2hvdWxkIG5vdCBjaGFuZ2UgdGhl
IHNjcm9sbCBwb3NpdGlvbiBpbiBhbnkgd2F5LgorUEFTUyBmbG9hdGluZ0JvZHkuc2Nyb2xsTGVm
dCBpcyAwCitQQVNTIGZsb2F0aW5nQm9keS5zY3JvbGxUb3AgaXMgMAorUEFTUyBkb2N1bWVudC5i
b2R5LnNjcm9sbExlZnQgaXMgMjEKK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgaXMgNDIK
K1BBU1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgaXMgMAorUEFTUyBkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIGlzIDAKK1BBU1Mgd2luZG93LnNjcm9sbFgg
aXMgMjEKK1BBU1Mgd2luZG93LnNjcm9sbFkgaXMgNDIKKworU2V0dGluZyB0aGUgc2Nyb2xsIHBv
c2l0aW9uIG9uIHRoYXQgZGV0YWNoZWQgYm9keSBlbGVtZW50IHNob3VsZCBub3QgYWZmZWN0IHRo
ZSBtYWluIGZyYW1lIHNpbmNlIGl0IGlzIG5vdCB0aGUgZmlyc3QgYm9keSBlbGVtZW50IG9mIHRo
ZSBkb2N1bWVudC4KK1BBU1MgZmxvYXRpbmdCb2R5LnNjcm9sbFRvcCA9IDUwMCBpcyA1MDAKK1BB
U1MgZmxvYXRpbmdCb2R5LnNjcm9sbExlZnQgaXMgMAorUEFTUyBmbG9hdGluZ0JvZHkuc2Nyb2xs
VG9wIGlzIDAKK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IGlzIDIxCitQQVNTIGRvY3Vt
ZW50LmJvZHkuc2Nyb2xsVG9wIGlzIDQyCitQQVNTIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5z
Y3JvbGxMZWZ0IGlzIDAKK1BBU1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCBp
cyAwCitQQVNTIHdpbmRvdy5zY3JvbGxYIGlzIDIxCitQQVNTIHdpbmRvdy5zY3JvbGxZIGlzIDQy
CisKK1dlIGFkZCBhIG5ldyBib2R5IGVsZW1lbnQgYWZ0ZXIgdGhlIGZpcnN0IGJvZHkgZWxlbWVu
dCwgdGhpcyBzaG91bGQgaGF2ZSBubyBpbXBhY3Qgb24gdGhlIHN0YXRlLgorUEFTUyBzZWNvbmRT
aWJsaW5nQm9keS5zY3JvbGxMZWZ0IGlzIDAKK1BBU1Mgc2Vjb25kU2libGluZ0JvZHkuc2Nyb2xs
VG9wIGlzIDAKK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IGlzIDIxCitQQVNTIGRvY3Vt
ZW50LmJvZHkuc2Nyb2xsVG9wIGlzIDQyCitQQVNTIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5z
Y3JvbGxMZWZ0IGlzIDAKK1BBU1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCBp
cyAwCitQQVNTIHdpbmRvdy5zY3JvbGxYIGlzIDIxCitQQVNTIHdpbmRvdy5zY3JvbGxZIGlzIDQy
CisKK1NldHRpbmcgYSAic2Nyb2xsVG9wIiBvbiBzZWNvbmRTaWJsaW5nQm9keSBzaG91bGQgbm90
IGFmZmVjdCB0aGUgbWFpbiBmcmFtZS4KK1BBU1Mgc2Vjb25kU2libGluZ0JvZHkuc2Nyb2xsVG9w
ID0gMzIxIGlzIDMyMQorUEFTUyBzZWNvbmRTaWJsaW5nQm9keS5zY3JvbGxMZWZ0IGlzIDAKK1BB
U1Mgc2Vjb25kU2libGluZ0JvZHkuc2Nyb2xsVG9wIGlzIDAKK1BBU1MgZG9jdW1lbnQuYm9keS5z
Y3JvbGxMZWZ0IGlzIDIxCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIGlzIDQyCitQQVNT
IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IGlzIDAKK1BBU1MgZG9jdW1lbnQu
ZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCBpcyAwCitQQVNTIHdpbmRvdy5zY3JvbGxYIGlzIDIx
CitQQVNTIHdpbmRvdy5zY3JvbGxZIGlzIDQyCisKK1dlIGFkZCBhIG5ldyBib2R5IGVsZW1lbnQg
aW5zaWRlIHRoZSBmaXJzdCBib2R5IGVsZW1lbnQsIHRoaXMgc2hvdWxkIGhhdmUgbm8gaW1wYWN0
IG9uIHRoZSBzdGF0ZS4KK1BBU1MgYm9keUNoaWxkT2ZNYWluQm9keS5zY3JvbGxMZWZ0IGlzIDAK
K1BBU1MgYm9keUNoaWxkT2ZNYWluQm9keS5zY3JvbGxUb3AgaXMgMAorUEFTUyBkb2N1bWVudC5i
b2R5LnNjcm9sbExlZnQgaXMgMjEKK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgaXMgNDIK
K1BBU1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgaXMgMAorUEFTUyBkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIGlzIDAKK1BBU1Mgd2luZG93LnNjcm9sbFgg
aXMgMjEKK1BBU1Mgd2luZG93LnNjcm9sbFkgaXMgNDIKKworU2V0dGluZyBhICJzY3JvbGxUb3Ai
IG9uIGJvZHlDaGlsZE9mTWFpbkJvZHkgc2hvdWxkIG5vdCBhZmZlY3QgdGhlIG1haW4gZnJhbWUu
CitQQVNTIGJvZHlDaGlsZE9mTWFpbkJvZHkuc2Nyb2xsVG9wID0gNTcgaXMgNTcKK1BBU1MgYm9k
eUNoaWxkT2ZNYWluQm9keS5zY3JvbGxMZWZ0IGlzIDAKK1BBU1MgYm9keUNoaWxkT2ZNYWluQm9k
eS5zY3JvbGxUb3AgaXMgMAorUEFTUyBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQgaXMgMjEKK1BB
U1MgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgaXMgNDIKK1BBU1MgZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LnNjcm9sbExlZnQgaXMgMAorUEFTUyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Ny
b2xsVG9wIGlzIDAKK1BBU1Mgd2luZG93LnNjcm9sbFggaXMgMjEKK1BBU1Mgd2luZG93LnNjcm9s
bFkgaXMgNDIKKworTm93IHdlIGluc2VydCBhIG5ldyBib2R5IGVsZW1lbnQgKmJlZm9yZSogdGhl
IGV4aXN0aW5nIG9uZS4gSXQgd2lsbCByZXBsYWNlIHRoZSBleGlzdGluZyBlbGVtZW50IGFzIHRo
ZSBmaXJzdCBib2R5IGVsZW1lbnQgb2YgdGhlIGRvY3VtZW50LgorUEFTUyBkb2N1bWVudC5ib2R5
ID09PSBuZXdNYWluQm9keSBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmJvZHkgIT09IG9sZEJvZHlF
bGVtZW50IGlzIHRydWUKK1NpbmNlIHdlIGFyZSBpbiBxdWlya3MgbW9kZSwgdGhlIG5ldyBib2R5
IGVsZW1lbnQgZ2V0cyB0aGUgc2Nyb2xsIHBvc2l0aW9uIGZyb20gdGhlIGZyYW1lLCBhbmQgdGhl
IG9sZCBvbmUgbG9zZSBpdHMgc2Nyb2xsIHBvc2l0aW9uLgorUEFTUyBvbGRCb2R5RWxlbWVudC5z
Y3JvbGxMZWZ0IGlzIDAKK1BBU1Mgb2xkQm9keUVsZW1lbnQuc2Nyb2xsVG9wIGlzIDAKK1BBU1Mg
ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IGlzIDIxCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xs
VG9wIGlzIDQyCitQQVNTIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IGlzIDAK
K1BBU1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCBpcyAwCitQQVNTIHdpbmRv
dy5zY3JvbGxYIGlzIDIxCitQQVNTIHdpbmRvdy5zY3JvbGxZIGlzIDQyCisKK1Njcm9sbGluZyB0
aGF0IG5ldyBib2R5IHNob3VsZCB3b3JrIGFzIGV4cGVjdGVkLgorUEFTUyBkb2N1bWVudC5ib2R5
LnNjcm9sbFRvcCA9IDY4IGlzIDY4CitQQVNTIG9sZEJvZHlFbGVtZW50LnNjcm9sbFRvcCA9IDg5
NCBpcyA4OTQKK1BBU1Mgb2xkQm9keUVsZW1lbnQuc2Nyb2xsTGVmdCBpcyAwCitQQVNTIG9sZEJv
ZHlFbGVtZW50LnNjcm9sbFRvcCBpcyAwCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCBp
cyAyMQorUEFTUyBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCBpcyA2OAorUEFTUyBkb2N1bWVudC5k
b2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCBpcyAwCitQQVNTIGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5zY3JvbGxUb3AgaXMgMAorUEFTUyB3aW5kb3cuc2Nyb2xsWCBpcyAyMQorUEFTUyB3aW5k
b3cuc2Nyb2xsWSBpcyA2OAorCitTY3JvbGxpbmcgdGhlIG1haW4gZnJhbWUgc2hvdWxkIG5vdCBy
ZXF1aXJlIGEgcmVuZGVyZXIuCitQQVNTIGRvY3VtZW50LmJvZHkuc3R5bGUuZGlzcGxheSA9ICdu
b25lJyBpcyAnbm9uZScKK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgPSA1NCBpcyA1NAor
UEFTUyBvbGRCb2R5RWxlbWVudC5zY3JvbGxMZWZ0IGlzIDAKK1BBU1Mgb2xkQm9keUVsZW1lbnQu
c2Nyb2xsVG9wIGlzIDAKK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IGlzIDIxCitQQVNT
IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIGlzIDU0CitQQVNTIGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5zY3JvbGxMZWZ0IGlzIDAKK1BBU1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9s
bFRvcCBpcyAwCitQQVNTIHdpbmRvdy5zY3JvbGxYIGlzIDIxCitQQVNTIHdpbmRvdy5zY3JvbGxZ
IGlzIDU0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9ib2R5LXNjcm9sbFRv
cC1iYXNpY3MtcXVpcmtzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L2JvZHkt
c2Nyb2xsVG9wLWJhc2ljcy1xdWlya3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOGYxZDg5NzM3YzRlNWNm
NDBhMTE0ZmNjMzE1NGEzNDU0MTY2MGQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vRWxlbWVudC9ib2R5LXNjcm9sbFRvcC1iYXNpY3MtcXVpcmtzLmh0bWwKQEAgLTAs
MCArMSwxNzUgQEAKKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICBkaXYgeworICAgICAgICAgICAgICAgIGhlaWdodDogOTk5OXB4OworICAgICAgICAgICAg
ICAgIHdpZHRoOiA5OTk5cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICAgICAgZGVz
Y3JpcHRpb24oJ1Rlc3QgdGhlICJzY3JvbGxUb3AiIHByb3BlcnRpZXMgb24gdGhlIGJvZHkgZWxl
bWVudCBpbiBxdWlya3MgbW9kZS4nKTsKKworICAgICAgICAgICAgICAgIGRlYnVnKCJJbml0aWFs
IHZhbHVlcyIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5ib2R5LnNjcm9s
bExlZnQiLCAiMCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5ib2R5LnNj
cm9sbFRvcCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudC5zY3JvbGxMZWZ0IiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgi
ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCIsICIwIik7CisgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoIndpbmRvdy5zY3JvbGxYIiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91
bGRCZSgid2luZG93LnNjcm9sbFkiLCAiMCIpOworCisgICAgICAgICAgICAgICAgZGVidWcoIiIp
OworICAgICAgICAgICAgICAgIGRlYnVnKCJMZXQgc2V0IHRoZSBzY3JvbGxUb3AgdmFsdWUgb24g
dGhlIG1haW4gYm9keSBlbGVtZW50IChkb2N1bWVudC5ib2R5KSwgaW4gcXVpcmtzIG1vZGUsIHRo
aXMgc2hvdWxkIGNoYW5nZSB0aGUgbWFpbiBmcmFtZSdzIHNjcm9sbCBwb3NpdGlvbi4iKTsKKyAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgPSA0MiIsICI0
MiIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQi
LCAiMCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5ib2R5LnNjcm9sbFRv
cCIsICI0MiIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5kb2N1bWVudEVs
ZW1lbnQuc2Nyb2xsTGVmdCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AiLCAiMCIpOworICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJ3aW5kb3cuc2Nyb2xsWCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUo
IndpbmRvdy5zY3JvbGxZIiwgIjQyIik7CisKKyAgICAgICAgICAgICAgICBkZWJ1ZygiIik7Cisg
ICAgICAgICAgICAgICAgZGVidWcoIkNoYW5nZSBzY3JvbGxYLCB0aGlzIHNob3VsZCBoYXZlIG5v
IGVmZmVjdCBvbiB0aGUgdmVydGljYWwgc2Nyb2xsaW5nIik7CisgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIndpbmRvdy5zY3JvbGxCeSgyMSwgMCkiLCAidW5kZWZpbmVkIik7CisgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCIsICIyMSIpOworICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCIsICI0MiIpOworICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVm
dCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5zY3JvbGxUb3AiLCAiMCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cu
c2Nyb2xsWCIsICIyMSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuc2Nyb2xs
WSIsICI0MiIpOworCisgICAgICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgICAg
IGRlYnVnKCJOb3cgd2UgY3JlYXRlIGEgYm9keSBlbGVtZW50LCBjb21wbGV0ZWx5IGRldGFjaGVk
IGZyb20gdGhlIERPTSB0cmVlLiBUaGlzIHNob3VsZCBub3QgY2hhbmdlIHRoZSBzY3JvbGwgcG9z
aXRpb24gaW4gYW55IHdheS4iKTsKKyAgICAgICAgICAgICAgICBmbG9hdGluZ0JvZHkgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdib2R5Jyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImZs
b2F0aW5nQm9keS5zY3JvbGxMZWZ0IiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgi
ZmxvYXRpbmdCb2R5LnNjcm9sbFRvcCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUo
ImRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCIsICIyMSIpOworICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCIsICI0MiIpOworICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCIsICIwIik7CisgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3Ai
LCAiMCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuc2Nyb2xsWCIsICIyMSIp
OworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuc2Nyb2xsWSIsICI0MiIpOworCisg
ICAgICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgICAgIGRlYnVnKCJTZXR0aW5n
IHRoZSBzY3JvbGwgcG9zaXRpb24gb24gdGhhdCBkZXRhY2hlZCBib2R5IGVsZW1lbnQgc2hvdWxk
IG5vdCBhZmZlY3QgdGhlIG1haW4gZnJhbWUgc2luY2UgaXQgaXMgbm90IHRoZSBmaXJzdCBib2R5
IGVsZW1lbnQgb2YgdGhlIGRvY3VtZW50LiIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJm
bG9hdGluZ0JvZHkuc2Nyb2xsVG9wID0gNTAwIiwgIjUwMCIpOworICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJmbG9hdGluZ0JvZHkuc2Nyb2xsTGVmdCIsICIwIik7CisgICAgICAgICAgICAgICAg
c2hvdWxkQmUoImZsb2F0aW5nQm9keS5zY3JvbGxUb3AiLCAiMCIpOworICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQiLCAiMjEiKTsKKyAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AiLCAiNDIiKTsKKyAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQiLCAi
MCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQu
c2Nyb2xsVG9wIiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgid2luZG93LnNjcm9s
bFgiLCAiMjEiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgid2luZG93LnNjcm9sbFkiLCAi
NDIiKTsKKworICAgICAgICAgICAgICAgIHNlY29uZFNpYmxpbmdCb2R5ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnYm9keScpOworICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5hcHBlbmRDaGlsZChzZWNvbmRTaWJsaW5nQm9keSk7CisgICAgICAgICAgICAgICAgZGVi
dWcoIiIpOworICAgICAgICAgICAgICAgIGRlYnVnKCJXZSBhZGQgYSBuZXcgYm9keSBlbGVtZW50
IGFmdGVyIHRoZSBmaXJzdCBib2R5IGVsZW1lbnQsIHRoaXMgc2hvdWxkIGhhdmUgbm8gaW1wYWN0
IG9uIHRoZSBzdGF0ZS4iKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgic2Vjb25kU2libGlu
Z0JvZHkuc2Nyb2xsTGVmdCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoInNlY29u
ZFNpYmxpbmdCb2R5LnNjcm9sbFRvcCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUo
ImRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCIsICIyMSIpOworICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCIsICI0MiIpOworICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCIsICIwIik7CisgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3Ai
LCAiMCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuc2Nyb2xsWCIsICIyMSIp
OworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuc2Nyb2xsWSIsICI0MiIpOworCisg
ICAgICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgICAgIGRlYnVnKCJTZXR0aW5n
IGEgXCJzY3JvbGxUb3BcIiBvbiBzZWNvbmRTaWJsaW5nQm9keSBzaG91bGQgbm90IGFmZmVjdCB0
aGUgbWFpbiBmcmFtZS4iKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgic2Vjb25kU2libGlu
Z0JvZHkuc2Nyb2xsVG9wID0gMzIxIiwgIjMyMSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJzZWNvbmRTaWJsaW5nQm9keS5zY3JvbGxMZWZ0IiwgIjAiKTsKKyAgICAgICAgICAgICAgICBz
aG91bGRCZSgic2Vjb25kU2libGluZ0JvZHkuc2Nyb2xsVG9wIiwgIjAiKTsKKyAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IiwgIjIxIik7CisgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIiwgIjQyIik7CisgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0
IiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuZG9jdW1lbnRFbGVt
ZW50LnNjcm9sbFRvcCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5z
Y3JvbGxYIiwgIjIxIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5zY3JvbGxZ
IiwgIjQyIik7CisKKyAgICAgICAgICAgICAgICBib2R5Q2hpbGRPZk1haW5Cb2R5ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnYm9keScpOworICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoYm9keUNoaWxkT2ZNYWluQm9keSk7CisgICAgICAgICAgICAgICAgZGVidWco
IiIpOworICAgICAgICAgICAgICAgIGRlYnVnKCJXZSBhZGQgYSBuZXcgYm9keSBlbGVtZW50IGlu
c2lkZSB0aGUgZmlyc3QgYm9keSBlbGVtZW50LCB0aGlzIHNob3VsZCBoYXZlIG5vIGltcGFjdCBv
biB0aGUgc3RhdGUuIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImJvZHlDaGlsZE9mTWFp
bkJvZHkuc2Nyb2xsTGVmdCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImJvZHlD
aGlsZE9mTWFpbkJvZHkuc2Nyb2xsVG9wIiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IiwgIjIxIik7CisgICAgICAgICAgICAgICAgc2hv
dWxkQmUoImRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIiwgIjQyIik7CisgICAgICAgICAgICAgICAg
c2hvdWxkQmUoImRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IiwgIjAiKTsKKyAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRv
cCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5zY3JvbGxYIiwgIjIx
Iik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5zY3JvbGxZIiwgIjQyIik7CisK
KyAgICAgICAgICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgICAgICAgICAgZGVidWcoIlNldHRp
bmcgYSBcInNjcm9sbFRvcFwiIG9uIGJvZHlDaGlsZE9mTWFpbkJvZHkgc2hvdWxkIG5vdCBhZmZl
Y3QgdGhlIG1haW4gZnJhbWUuIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImJvZHlDaGls
ZE9mTWFpbkJvZHkuc2Nyb2xsVG9wID0gNTciLCAiNTciKTsKKyAgICAgICAgICAgICAgICBzaG91
bGRCZSgiYm9keUNoaWxkT2ZNYWluQm9keS5zY3JvbGxMZWZ0IiwgIjAiKTsKKyAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiYm9keUNoaWxkT2ZNYWluQm9keS5zY3JvbGxUb3AiLCAiMCIpOworICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQiLCAiMjEiKTsK
KyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AiLCAiNDIi
KTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNj
cm9sbExlZnQiLCAiMCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5kb2N1
bWVudEVsZW1lbnQuc2Nyb2xsVG9wIiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgi
d2luZG93LnNjcm9sbFgiLCAiMjEiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgid2luZG93
LnNjcm9sbFkiLCAiNDIiKTsKKworICAgICAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAg
ICAgICAgICBkZWJ1ZygiTm93IHdlIGluc2VydCBhIG5ldyBib2R5IGVsZW1lbnQgKmJlZm9yZSog
dGhlIGV4aXN0aW5nIG9uZS4gSXQgd2lsbCByZXBsYWNlIHRoZSBleGlzdGluZyBlbGVtZW50IGFz
IHRoZSBmaXJzdCBib2R5IGVsZW1lbnQgb2YgdGhlIGRvY3VtZW50LiIpOworICAgICAgICAgICAg
ICAgIG9sZEJvZHlFbGVtZW50ID0gZG9jdW1lbnQuYm9keTsKKyAgICAgICAgICAgICAgICBuZXdN
YWluQm9keSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2JvZHknKTsKKyAgICAgICAgICAgICAg
ICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKG5ld01haW5Cb2R5LCBvbGRC
b2R5RWxlbWVudCk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5ib2R5
ID09PSBuZXdNYWluQm9keSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1l
bnQuYm9keSAhPT0gb2xkQm9keUVsZW1lbnQiKTsKKworICAgICAgICAgICAgICAgIGRlYnVnKCJT
aW5jZSB3ZSBhcmUgaW4gcXVpcmtzIG1vZGUsIHRoZSBuZXcgYm9keSBlbGVtZW50IGdldHMgdGhl
IHNjcm9sbCBwb3NpdGlvbiBmcm9tIHRoZSBmcmFtZSwgYW5kIHRoZSBvbGQgb25lIGxvc2UgaXRz
IHNjcm9sbCBwb3NpdGlvbi4iKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgib2xkQm9keUVs
ZW1lbnQuc2Nyb2xsTGVmdCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoIm9sZEJv
ZHlFbGVtZW50LnNjcm9sbFRvcCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRv
Y3VtZW50LmJvZHkuc2Nyb2xsTGVmdCIsICIyMSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCIsICI0MiIpOworICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCIsICIwIik7CisgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AiLCAi
MCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuc2Nyb2xsWCIsICIyMSIpOwor
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuc2Nyb2xsWSIsICI0MiIpOworCisgICAg
ICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgICAgIGRlYnVnKCJTY3JvbGxpbmcg
dGhhdCBuZXcgYm9keSBzaG91bGQgd29yayBhcyBleHBlY3RlZC4iKTsKKyAgICAgICAgICAgICAg
ICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgPSA2OCIsICI2OCIpOworICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJvbGRCb2R5RWxlbWVudC5zY3JvbGxUb3AgPSA4OTQiLCAiODk0
Iik7CisKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgib2xkQm9keUVsZW1lbnQuc2Nyb2xsTGVm
dCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoIm9sZEJvZHlFbGVtZW50LnNjcm9s
bFRvcCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmJvZHkuc2Ny
b2xsTGVmdCIsICIyMSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5ib2R5
LnNjcm9sbFRvcCIsICI2OCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5k
b2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxk
QmUoImRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AiLCAiMCIpOworICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuc2Nyb2xsWCIsICIyMSIpOworICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJ3aW5kb3cuc2Nyb2xsWSIsICI2OCIpOworCisgICAgICAgICAgICAgICAgZGVi
dWcoIiIpOworICAgICAgICAgICAgICAgIGRlYnVnKCJTY3JvbGxpbmcgdGhlIG1haW4gZnJhbWUg
c2hvdWxkIG5vdCByZXF1aXJlIGEgcmVuZGVyZXIuIik7CisgICAgICAgICAgICAgICAgc2hvdWxk
QmUoImRvY3VtZW50LmJvZHkuc3R5bGUuZGlzcGxheSA9ICdub25lJyIsICInbm9uZSciKTsKKyAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgPSA1NCIsICI1
NCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJvbGRCb2R5RWxlbWVudC5zY3JvbGxMZWZ0
IiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgib2xkQm9keUVsZW1lbnQuc2Nyb2xs
VG9wIiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuYm9keS5zY3Jv
bGxMZWZ0IiwgIjIxIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmJvZHku
c2Nyb2xsVG9wIiwgIjU0Iik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmRv
Y3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCIsICIwIik7CisgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoIndpbmRvdy5zY3JvbGxYIiwgIjIxIik7CisgICAgICAgICAgICAgICAg
c2hvdWxkQmUoIndpbmRvdy5zY3JvbGxZIiwgIjU0Iik7CisKKyAgICAgICAgICAgICAgICAvLyBG
aW5hbGx5LCBsZXQncyBjbGVhciB0aGUgc3RhdGUgdG8gbWFrZSB0aGlzIHNpbXBsZXIgZm9yIG1h
bnVhbCB0ZXN0aW5nLgorICAgICAgICAgICAgICAgIG5ld01haW5Cb2R5LnBhcmVudE5vZGUucmVt
b3ZlQ2hpbGQobmV3TWFpbkJvZHkpOworICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygw
LCAwKTsKKworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgfQor
ICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgorICAgICAgICA8ZGl2PjwvZGl2PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9ib2R5LXNjcm9sbFdp
ZHRoLWJhc2ljcy1xdWlya3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxl
bWVudC9ib2R5LXNjcm9sbFdpZHRoLWJhc2ljcy1xdWlya3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjExNTI0ZDc1ZTE4YjliZjE0OGU3YWFiNTA4NDcxYTJkYjBlODdjZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L2JvZHktc2Nyb2xsV2lkdGgtYmFz
aWNzLXF1aXJrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOSBAQAorVGVzdCB0aGUgInNjcm9s
bFdpZHRoIiBwcm9wZXJ0aWVzIG9uIHRoZSBib2R5IGVsZW1lbnQgaW4gcXVpcmtzIG1vZGUuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbml0aWFsIHZhbHVlcworUEFTUyBkb2N1
bWVudC5ib2R5LnNjcm9sbFdpZHRoIGlzIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxX
aWR0aAorCitOb3cgd2UgY3JlYXRlIGEgYm9keSBlbGVtZW50LCBpdCBzaG91bGQgbm90IGhhdmUg
YSBzY3JvbGxXaWR0aCBzaW5jZSBpdCBpcyBub3QgdGhlIGZpcnN0IGJvZHkgZWxlbWVudCBvZiB0
aGUgZG9jdW1lbnQuCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsV2lkdGggaXMgZG9jdW1lbnQu
ZG9jdW1lbnRFbGVtZW50LnNjcm9sbFdpZHRoCitQQVNTIGZsb2F0aW5nQm9keS5zY3JvbGxXaWR0
aCBpcyAwCisKK1dlIGFkZCBhIG5ldyBib2R5IGVsZW1lbnQgYWZ0ZXIgdGhlIGZpcnN0IGJvZHkg
ZWxlbWVudCwgdGhpcyBzaG91bGQgaGF2ZSBubyBpbXBhY3Qgb24gdGhlIHN0YXRlLgorUEFTUyBk
b2N1bWVudC5ib2R5LnNjcm9sbFdpZHRoIGlzIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3Jv
bGxXaWR0aAorUEFTUyBzZWNvbmRTaWJsaW5nQm9keS5zY3JvbGxXaWR0aCBpcyBzZWNvbmRTaWJs
aW5nQm9keS5jbGllbnRXaWR0aAorUEFTUyBkb2N1bWVudC5ib2R5LnNjcm9sbFdpZHRoIGlzIG5v
dCBzZWNvbmRTaWJsaW5nQm9keS5zY3JvbGxXaWR0aAorCitXZSBhZGQgYSBuZXcgYm9keSBlbGVt
ZW50IGluc2lkZSB0aGUgZmlyc3QgYm9keSBlbGVtZW50LCB0aGlzIHNob3VsZCBoYXZlIG5vIGlt
cGFjdCBvbiB0aGUgc3RhdGUuCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsV2lkdGggaXMgZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFdpZHRoCitQQVNTIGJvZHlDaGlsZE9mTWFpbkJv
ZHkuc2Nyb2xsV2lkdGggaXMgYm9keUNoaWxkT2ZNYWluQm9keS5jbGllbnRXaWR0aAorUEFTUyBk
b2N1bWVudC5ib2R5LnNjcm9sbFdpZHRoIGlzIG5vdCBib2R5Q2hpbGRPZk1haW5Cb2R5LnNjcm9s
bFdpZHRoCisKK0dldHRpbmcgdGhlIHNjcm9sbFdpZHRoIHNob3VsZCBub3QgcmVxdWlyZSBhIHJl
bmRlcmVyLgorUEFTUyBkb2N1bWVudC5ib2R5LnN0eWxlLmRpc3BsYXkgPSAnbm9uZScgaXMgJ25v
bmUnCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsV2lkdGggaXMgZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LnNjcm9sbFdpZHRoCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9i
b2R5LXNjcm9sbFdpZHRoLWJhc2ljcy1xdWlya3MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0VsZW1lbnQvYm9keS1zY3JvbGxXaWR0aC1iYXNpY3MtcXVpcmtzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzVhNzVjNzRlMjFmODdjOGFiNjFhZWY0OGZhZmEzMzJmNjJhMGMzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvYm9keS1zY3JvbGxXaWR0aC1iYXNpY3Mt
cXVpcmtzLmh0bWwKQEAgLTAsMCArMSw1OCBAQAorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgIGRpdiB7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiA5OTk5
cHg7CisgICAgICAgICAgICAgICAgd2lkdGg6IDk5OTlweDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgICAgICAgICBkZXNjcmlwdGlvbignVGVzdCB0aGUgInNjcm9sbFdpZHRoIiBwcm9wZXJ0
aWVzIG9uIHRoZSBib2R5IGVsZW1lbnQgaW4gcXVpcmtzIG1vZGUuJyk7CisKKyAgICAgICAgICAg
ICAgICBkZWJ1ZygiSW5pdGlhbCB2YWx1ZXMiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgi
ZG9jdW1lbnQuYm9keS5zY3JvbGxXaWR0aCIsICJkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Ny
b2xsV2lkdGgiKTsKKworICAgICAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAgICAg
ICBkZWJ1ZygiTm93IHdlIGNyZWF0ZSBhIGJvZHkgZWxlbWVudCwgaXQgc2hvdWxkIG5vdCBoYXZl
IGEgc2Nyb2xsV2lkdGggc2luY2UgaXQgaXMgbm90IHRoZSBmaXJzdCBib2R5IGVsZW1lbnQgb2Yg
dGhlIGRvY3VtZW50LiIpOworICAgICAgICAgICAgICAgIGZsb2F0aW5nQm9keSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2JvZHknKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1l
bnQuYm9keS5zY3JvbGxXaWR0aCIsICJkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsV2lk
dGgiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZmxvYXRpbmdCb2R5LnNjcm9sbFdpZHRo
IiwgIjAiKTsKKworICAgICAgICAgICAgICAgIHNlY29uZFNpYmxpbmdCb2R5ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnYm9keScpOworICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50
RWxlbWVudC5hcHBlbmRDaGlsZChzZWNvbmRTaWJsaW5nQm9keSk7CisgICAgICAgICAgICAgICAg
ZGVidWcoIiIpOworICAgICAgICAgICAgICAgIGRlYnVnKCJXZSBhZGQgYSBuZXcgYm9keSBlbGVt
ZW50IGFmdGVyIHRoZSBmaXJzdCBib2R5IGVsZW1lbnQsIHRoaXMgc2hvdWxkIGhhdmUgbm8gaW1w
YWN0IG9uIHRoZSBzdGF0ZS4iKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQu
Ym9keS5zY3JvbGxXaWR0aCIsICJkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsV2lkdGgi
KTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgic2Vjb25kU2libGluZ0JvZHkuc2Nyb2xsV2lk
dGgiLCAic2Vjb25kU2libGluZ0JvZHkuY2xpZW50V2lkdGgiKTsKKyAgICAgICAgICAgICAgICBz
aG91bGROb3RCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxXaWR0aCIsICJzZWNvbmRTaWJsaW5nQm9k
eS5zY3JvbGxXaWR0aCIpOworCisgICAgICAgICAgICAgICAgYm9keUNoaWxkT2ZNYWluQm9keSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2JvZHknKTsKKyAgICAgICAgICAgICAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGJvZHlDaGlsZE9mTWFpbkJvZHkpOworICAgICAgICAgICAgICAg
IGRlYnVnKCIiKTsKKyAgICAgICAgICAgICAgICBkZWJ1ZygiV2UgYWRkIGEgbmV3IGJvZHkgZWxl
bWVudCBpbnNpZGUgdGhlIGZpcnN0IGJvZHkgZWxlbWVudCwgdGhpcyBzaG91bGQgaGF2ZSBubyBp
bXBhY3Qgb24gdGhlIHN0YXRlLiIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVu
dC5ib2R5LnNjcm9sbFdpZHRoIiwgImRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxXaWR0
aCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJib2R5Q2hpbGRPZk1haW5Cb2R5LnNjcm9s
bFdpZHRoIiwgImJvZHlDaGlsZE9mTWFpbkJvZHkuY2xpZW50V2lkdGgiKTsKKyAgICAgICAgICAg
ICAgICBzaG91bGROb3RCZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxXaWR0aCIsICJib2R5Q2hpbGRP
Zk1haW5Cb2R5LnNjcm9sbFdpZHRoIik7CisKKyAgICAgICAgICAgICAgICBkZWJ1ZygiIik7Cisg
ICAgICAgICAgICAgICAgZGVidWcoIkdldHRpbmcgdGhlIHNjcm9sbFdpZHRoIHNob3VsZCBub3Qg
cmVxdWlyZSBhIHJlbmRlcmVyLiIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVu
dC5ib2R5LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSciLCAiJ25vbmUnIik7CisgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoImRvY3VtZW50LmJvZHkuc2Nyb2xsV2lkdGgiLCAiZG9jdW1lbnQuZG9jdW1l
bnRFbGVtZW50LnNjcm9sbFdpZHRoIik7CisKKyAgICAgICAgICAgICAgICAvLyBGaW5hbGx5LCBs
ZXQncyBjbGVhciB0aGUgc3RhdGUgdG8gbWFrZSB0aGlzIHNpbXBsZXIgZm9yIG1hbnVhbCB0ZXN0
aW5nLgorICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuZGlzcGxheSA9ICJibG9j
ayI7CisgICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKDAsIDApOworCisgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0Pgor
ICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgICAgIDxkaXY+
PC9kaXY+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9FbGVtZW50L2RldGFjaGVkLWJvZHktZWxlbWVudC1kb2VzLW5vdC1z
Y3JvbGwtbWFpbi1mcmFtZS13aXRoLXNjcm9sbExlZnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vRWxlbWVudC9kZXRhY2hlZC1ib2R5LWVsZW1lbnQtZG9lcy1ub3Qtc2Nyb2xs
LW1haW4tZnJhbWUtd2l0aC1zY3JvbGxMZWZ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYWUy
YmMzNTVmMmRjNTE0NmQwZDk1NGMxY2FiZjI1MjZjMDA0N2FjCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9kZXRhY2hlZC1ib2R5LWVsZW1lbnQtZG9lcy1u
b3Qtc2Nyb2xsLW1haW4tZnJhbWUtd2l0aC1zY3JvbGxMZWZ0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDMyIEBACitUZXN0cyB0aGF0LCBmb3IgUXVpcmtzIG1vZGUsIGNoYW5naW5nIHRoZSBzY3Jv
bGxUb3AgcHJvcGVydHkgb2YgYSBmYWtlIGJvZHkgZWxlbWVudCBkb2VzIG5vdCBzY3JvbGwgdGhl
IHZpZXdwb3J0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKK0luaXRpYWwgc3Rh
dGUuCitQQVNTIGRldGFjaGVkQm9keS5zY3JvbGxUb3AgaXMgMAorUEFTUyBkZXRhY2hlZEJvZHku
c2Nyb2xsTGVmdCBpcyAwCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wID0gMCBpcyAwCitQ
QVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCBpcyAwCitQQVNTIGRvY3VtZW50LmJvZHkuc2Ny
b2xsVG9wIGlzIDAKK1BBU1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgaXMg
MAorUEFTUyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIGlzIDAKK1BBU1Mgd2lu
ZG93LnNjcm9sbFggaXMgMAorUEFTUyB3aW5kb3cuc2Nyb2xsWSBpcyAwCisKK1NldHRpbmcgc2Ny
b2xsVG9wIG9uIHRoZSBkZXRhY2hlZCBib2R5IGVsZW1lbnQgc2hvdWxkIG5vdCBjaGFuZ2UgdGhl
IG1haW4gZnJhbWUncyBzY3JvbGwgcG9zaXRpb24uCitQQVNTIGRldGFjaGVkQm9keS5zY3JvbGxM
ZWZ0ID0gNTQyIGlzIDU0MgorUEFTUyBkZXRhY2hlZEJvZHkuc2Nyb2xsVG9wIGlzIDAKK1BBU1Mg
ZGV0YWNoZWRCb2R5LnNjcm9sbExlZnQgaXMgMAorUEFTUyBkb2N1bWVudC5ib2R5LnNjcm9sbFRv
cCA9IDAgaXMgMAorUEFTUyBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQgaXMgMAorUEFTUyBkb2N1
bWVudC5ib2R5LnNjcm9sbFRvcCBpcyAwCitQQVNTIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5z
Y3JvbGxMZWZ0IGlzIDAKK1BBU1MgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCBp
cyAwCitQQVNTIHdpbmRvdy5zY3JvbGxYIGlzIDAKK1BBU1Mgd2luZG93LnNjcm9sbFkgaXMgMAor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvZGV0YWNoZWQtYm9keS1lbGVtZW50
LWRvZXMtbm90LXNjcm9sbC1tYWluLWZyYW1lLXdpdGgtc2Nyb2xsTGVmdC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vRWxlbWVudC9kZXRhY2hlZC1ib2R5LWVsZW1lbnQtZG9lcy1ub3Qtc2Ny
b2xsLW1haW4tZnJhbWUtd2l0aC1zY3JvbGxMZWZ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmJkZmI5NTdk
NDkwMDM2YjcxNTUxZGExMGUyNDZkMTI3ZDFhZDc0MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvZGV0YWNoZWQtYm9keS1lbGVtZW50LWRvZXMtbm90LXNj
cm9sbC1tYWluLWZyYW1lLXdpdGgtc2Nyb2xsTGVmdC5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzxo
dG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBkaXYgeworICAg
ICAgICAgICAgICAgIGhlaWdodDogOTk5OXB4OworICAgICAgICAgICAgICAgIHdpZHRoOiA5OTk5
cHg7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0PgorICAgICAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgICAg
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24oJ1Rlc3Rz
IHRoYXQsIGZvciBRdWlya3MgbW9kZSwgY2hhbmdpbmcgdGhlIHNjcm9sbFRvcCBwcm9wZXJ0eSBv
ZiBhIGZha2UgYm9keSBlbGVtZW50IGRvZXMgbm90IHNjcm9sbCB0aGUgdmlld3BvcnQnKTsKKwor
ICAgICAgICAgICAgICAgIGRldGFjaGVkQm9keSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Jv
ZHknKTsKKworICAgICAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAgICAgICBkZWJ1
ZygiSW5pdGlhbCBzdGF0ZS4iKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZGV0YWNoZWRC
b2R5LnNjcm9sbFRvcCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRldGFjaGVk
Qm9keS5zY3JvbGxMZWZ0IiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1l
bnQuYm9keS5zY3JvbGxUb3AgPSAwIiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgi
ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AiLCAiMCIpOworICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCIsICIwIik7CisgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AiLCAi
MCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuc2Nyb2xsWCIsICIwIik7Cisg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5zY3JvbGxZIiwgIjAiKTsKKworICAgICAg
ICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAgICAgICBkZWJ1ZygiU2V0dGluZyBzY3Jv
bGxUb3Agb24gdGhlIGRldGFjaGVkIGJvZHkgZWxlbWVudCBzaG91bGQgbm90IGNoYW5nZSB0aGUg
bWFpbiBmcmFtZSdzIHNjcm9sbCBwb3NpdGlvbi4iKTsKKyAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiZGV0YWNoZWRCb2R5LnNjcm9sbExlZnQgPSA1NDIiLCAiNTQyIik7CisgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoImRldGFjaGVkQm9keS5zY3JvbGxUb3AiLCAiMCIpOworICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJkZXRhY2hlZEJvZHkuc2Nyb2xsTGVmdCIsICIwIik7CisgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wID0gMCIsICIwIik7CisgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCIsICIwIik7Cisg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIiwgIjAiKTsK
KyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9s
bExlZnQiLCAiMCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5kb2N1bWVu
dEVsZW1lbnQuc2Nyb2xsVG9wIiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgid2lu
ZG93LnNjcm9sbFgiLCAiMCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuc2Ny
b2xsWSIsICIwIik7CisKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KKyAgICAgICAgPGRpdj48L2Rpdj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvZGV0YWNo
ZWQtYm9keS1lbGVtZW50LWRvZXMtbm90LXNjcm9sbC1tYWluLWZyYW1lLXdpdGgtc2Nyb2xsVG9w
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0VsZW1lbnQvZGV0YWNoZWQtYm9k
eS1lbGVtZW50LWRvZXMtbm90LXNjcm9sbC1tYWluLWZyYW1lLXdpdGgtc2Nyb2xsVG9wLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kOGVlMTQ2NTViM2Q1NzViMGUxODg2YjBjNzFiYjAyYjc0NGVh
OGJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxlbWVudC9kZXRh
Y2hlZC1ib2R5LWVsZW1lbnQtZG9lcy1ub3Qtc2Nyb2xsLW1haW4tZnJhbWUtd2l0aC1zY3JvbGxU
b3AtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzEgQEAKK1Rlc3RzIHRoYXQsIGZvciBRdWlya3Mg
bW9kZSwgY2hhbmdpbmcgdGhlIHNjcm9sbFRvcCBwcm9wZXJ0eSBvZiBhIGZha2UgYm9keSBlbGVt
ZW50IGRvZXMgbm90IHNjcm9sbCB0aGUgdmlld3BvcnQKKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKKworSW5pdGlhbCBzdGF0ZS4KK1BBU1MgZGV0YWNoZWRCb2R5LnNjcm9sbFRvcCBp
cyAwCitQQVNTIGRldGFjaGVkQm9keS5zY3JvbGxMZWZ0IGlzIDAKK1BBU1MgZG9jdW1lbnQuYm9k
eS5zY3JvbGxUb3AgPSAwIGlzIDAKK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IGlzIDAK
K1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgaXMgMAorUEFTUyBkb2N1bWVudC5kb2N1bWVu
dEVsZW1lbnQuc2Nyb2xsTGVmdCBpcyAwCitQQVNTIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5z
Y3JvbGxUb3AgaXMgMAorUEFTUyB3aW5kb3cuc2Nyb2xsWCBpcyAwCitQQVNTIHdpbmRvdy5zY3Jv
bGxZIGlzIDAKKworU2V0dGluZyBzY3JvbGxUb3Agb24gdGhlIGRldGFjaGVkIGJvZHkgZWxlbWVu
dCBzaG91bGQgbm90IGNoYW5nZSB0aGUgbWFpbiBmcmFtZSdzIHNjcm9sbCBwb3NpdGlvbi4KK1BB
U1MgZGV0YWNoZWRCb2R5LnNjcm9sbFRvcCA9IDUwMCBpcyA1MDAKK1BBU1MgZG9jdW1lbnQuYm9k
eS5zY3JvbGxMZWZ0IGlzIDAKK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgaXMgMAorUEFT
UyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCBpcyAwCitQQVNTIGRvY3VtZW50
LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgaXMgMAorUEFTUyB3aW5kb3cuc2Nyb2xsWCBpcyAw
CitQQVNTIHdpbmRvdy5zY3JvbGxZIGlzIDAKK1BBU1MgZGV0YWNoZWRCb2R5LnNjcm9sbFRvcCBp
cyAwCitQQVNTIGRldGFjaGVkQm9keS5zY3JvbGxMZWZ0IGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9FbGVtZW50L2RldGFjaGVkLWJvZHktZWxlbWVudC1kb2VzLW5vdC1zY3JvbGwt
bWFpbi1mcmFtZS13aXRoLXNjcm9sbFRvcC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxl
bWVudC9kZXRhY2hlZC1ib2R5LWVsZW1lbnQtZG9lcy1ub3Qtc2Nyb2xsLW1haW4tZnJhbWUtd2l0
aC1zY3JvbGxUb3AuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNjRjNmMzYmVlMmFmMjYxYzZhYjA0ZTliN2Jh
YjJkZDc3N2Y1M2Q3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRWxl
bWVudC9kZXRhY2hlZC1ib2R5LWVsZW1lbnQtZG9lcy1ub3Qtc2Nyb2xsLW1haW4tZnJhbWUtd2l0
aC1zY3JvbGxUb3AuaHRtbApAQCAtMCwwICsxLDUwIEBACis8aHRtbD4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgZGl2IHsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDk5OTlweDsKKyAgICAgICAgICAgICAgICB3aWR0aDogOTk5OXB4OworICAgICAgICAgICAgfQor
ICAgICAgICA8L3N0eWxlPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0LCBmb3IgUXVpcmtzIG1v
ZGUsIGNoYW5naW5nIHRoZSBzY3JvbGxUb3AgcHJvcGVydHkgb2YgYSBmYWtlIGJvZHkgZWxlbWVu
dCBkb2VzIG5vdCBzY3JvbGwgdGhlIHZpZXdwb3J0Jyk7CisKKyAgICAgICAgICAgICAgICBkZXRh
Y2hlZEJvZHkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdib2R5Jyk7CisKKyAgICAgICAgICAg
ICAgICBkZWJ1ZygiIik7CisgICAgICAgICAgICAgICAgZGVidWcoIkluaXRpYWwgc3RhdGUuIik7
CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRldGFjaGVkQm9keS5zY3JvbGxUb3AiLCAiMCIp
OworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkZXRhY2hlZEJvZHkuc2Nyb2xsTGVmdCIsICIw
Iik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wID0g
MCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmJvZHkuc2Nyb2xs
TGVmdCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmJvZHkuc2Ny
b2xsVG9wIiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuZG9jdW1l
bnRFbGVtZW50LnNjcm9sbExlZnQiLCAiMCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJk
b2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIiwgIjAiKTsKKyAgICAgICAgICAgICAg
ICBzaG91bGRCZSgid2luZG93LnNjcm9sbFgiLCAiMCIpOworICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJ3aW5kb3cuc2Nyb2xsWSIsICIwIik7CisKKyAgICAgICAgICAgICAgICBkZWJ1ZygiIik7
CisgICAgICAgICAgICAgICAgZGVidWcoIlNldHRpbmcgc2Nyb2xsVG9wIG9uIHRoZSBkZXRhY2hl
ZCBib2R5IGVsZW1lbnQgc2hvdWxkIG5vdCBjaGFuZ2UgdGhlIG1haW4gZnJhbWUncyBzY3JvbGwg
cG9zaXRpb24uIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRldGFjaGVkQm9keS5zY3Jv
bGxUb3AgPSA1MDAiLCAiNTAwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50
LmJvZHkuc2Nyb2xsTGVmdCIsICIwIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImRvY3Vt
ZW50LmJvZHkuc2Nyb2xsVG9wIiwgIjAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQiLCAiMCIpOworICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIiwgIjAiKTsKKyAg
ICAgICAgICAgICAgICBzaG91bGRCZSgid2luZG93LnNjcm9sbFgiLCAiMCIpOworICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuc2Nyb2xsWSIsICIwIik7CisgICAgICAgICAgICAgICAg
c2hvdWxkQmUoImRldGFjaGVkQm9keS5zY3JvbGxUb3AiLCAiMCIpOworICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJkZXRhY2hlZEJvZHkuc2Nyb2xsTGVmdCIsICIwIik7CisKKyAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+Cisg
ICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKyAgICAgICAgPGRpdj48
L2Rpdj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>