<?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>51492</bug_id>
          
          <creation_ts>2010-12-22 13:42:00 -0800</creation_ts>
          <short_desc>Add WebGL lost context testing extension</short_desc>
          <delta_ts>2011-01-07 13:41:49 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>51494</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adrienne Walker">enne</reporter>
          <assigned_to name="Adrienne Walker">enne</assigned_to>
          <cc>amarinichev</cc>
    
    <cc>cmarrin</cc>
    
    <cc>enne</cc>
    
    <cc>eric</cc>
    
    <cc>kbr</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>325670</commentid>
    <comment_count>0</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2010-12-22 13:42:00 -0800</bug_when>
    <thetext>As there&apos;s currently no way to test a WebGL&apos;s implementation of context lost and restored events, add the WebGL extension proposed on the public_webgl mailing list for forcibly losing context.

(Once committed, I will update the WebGL extension registry and the set of Khronos conformance tests.  However, I wanted to get this reviewed first, as I&apos;m sure there will be changes needed.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325723</commentid>
    <comment_count>1</comment_count>
      <attachid>77263</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2010-12-22 15:11:24 -0800</bug_when>
    <thetext>Created attachment 77263
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325731</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-22 15:28:41 -0800</bug_when>
    <thetext>Attachment 77263 did not build on mac:
Build output: http://queues.webkit.org/results/7316113</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325793</commentid>
    <comment_count>3</comment_count>
      <attachid>77278</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2010-12-22 16:52:31 -0800</bug_when>
    <thetext>Created attachment 77278
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326138</commentid>
    <comment_count>4</comment_count>
      <attachid>77342</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2010-12-23 10:21:13 -0800</bug_when>
    <thetext>Created attachment 77342
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326150</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-23 10:40:41 -0800</bug_when>
    <thetext>Attachment 77342 did not build on mac:
Build output: http://queues.webkit.org/results/7210140</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326377</commentid>
    <comment_count>6</comment_count>
      <attachid>77342</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-12-23 17:10:24 -0800</bug_when>
    <thetext>Comment on attachment 77342
Patch

Can you look into the Mac build failure?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326391</commentid>
    <comment_count>7</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2010-12-23 17:32:56 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 77342 [details])
&gt; Can you look into the Mac build failure?

Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327335</commentid>
    <comment_count>8</comment_count>
      <attachid>77574</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2010-12-28 13:38:09 -0800</bug_when>
    <thetext>Created attachment 77574
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327772</commentid>
    <comment_count>9</comment_count>
      <attachid>77574</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-12-29 17:51:06 -0800</bug_when>
    <thetext>Comment on attachment 77574
Patch

Really strange to have all this Chromium-specific stuff. An IDL file with Chromium in its name? Is this really platform-specific?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329038</commentid>
    <comment_count>10</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-01-04 10:21:24 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 77574 [details])
&gt; Really strange to have all this Chromium-specific stuff. An IDL file with Chromium in its name? Is this really platform-specific?

No, it&apos;s not.  This patch implements a WebGL extension that is not necessarily browser-specific.  There are really two issues here:

1) What to call the WebGL extension (currently CHROMIUM_lose_context).
2) What to call the class that implements it (currently ChromiumLoseContext).

Chris Marrin suggested CHROMIUM_lose_context as an extension name on the public_webgl mailing list, so I went with that.  I named the class analogously to how the existing OESTextureFloat class is named, as that seemed like a reasonable approach.  So, that&apos;s how this patch ended up with a Chromium-named idl file.

I don&apos;t feel very strongly about what this extension should be named.  Thoughts from anybody else?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329089</commentid>
    <comment_count>11</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-01-04 11:05:21 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; I don&apos;t feel very strongly about what this extension should be named.  Thoughts from anybody else?

After some thought, since the extension will implicitly be supported in both Safari and Chromium, perhaps it should be called WEBKIT_lose_context. The primary disagreement on the WebGL mailing list was over making this an &quot;official&quot; extension with the WEBGL_ prefix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329213</commentid>
    <comment_count>12</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-01-04 14:20:23 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; I don&apos;t feel very strongly about what this extension should be named.  Thoughts from anybody else?
&gt; 
&gt; After some thought, since the extension will implicitly be supported in both Safari and Chromium, perhaps it should be called WEBKIT_lose_context. The primary disagreement on the WebGL mailing list was over making this an &quot;official&quot; extension with the WEBGL_ prefix.

That sounds great to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329889</commentid>
    <comment_count>13</comment_count>
      <attachid>78071</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-01-05 17:04:34 -0800</bug_when>
    <thetext>Created attachment 78071
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329893</commentid>
    <comment_count>14</comment_count>
      <attachid>78074</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-01-05 17:08:14 -0800</bug_when>
    <thetext>Created attachment 78074
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330346</commentid>
    <comment_count>15</comment_count>
      <attachid>78074</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-01-06 13:00:32 -0800</bug_when>
    <thetext>Comment on attachment 78074
Patch

Looks great. This will improve testability a great deal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330979</commentid>
    <comment_count>16</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-01-07 13:41:49 -0800</bug_when>
    <thetext>Committed r75271: &lt;http://trac.webkit.org/changeset/75271&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77263</attachid>
            <date>2010-12-22 15:11:24 -0800</date>
            <delta_ts>2010-12-22 16:52:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51492-20101222151123.patch</filename>
            <type>text/plain</type>
            <size>59554</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2Nzc5OTBlMTZiYzQzNDQxZDk2MWQ0ZDc1NGE2YWM3M2FhNDQwNGJlLi40ZTViZThi
NzI2NjdlOTlkOTFiMmFkMjFlNTdmNjU5MDUzYzRlYjIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTItMjIgIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgZm9yIFdl
YkdMJ3MgbG9zdCBjb250ZXh0IGV2ZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTUxNDkyCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9j
b250ZXh0LWxvc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93
ZWJnbC9jb250ZXh0LWxvc3QtcmVzdG9yZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0Lmh0bWw6IEFkZGVkLgorCiAy
MDEwLTEyLTIyICBLcml0aGlnYXNzcmVlIFNhbWJhbXVydGh5ICA8a3JpdGhpZ2Fzc3JlZS5zYW1i
YW11cnRoeUBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBD
aHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9j
b250ZXh0LWxvc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
Y29udGV4dC1sb3N0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lY2ZhNzQ3MjJmOGQ0ODJjYzI0
MDMwZTJiN2IzNzU3MzBkYjlkNjc3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4MyBA
QAorVGVzdHMgYmVoYXZpb3IgdW5kZXIgYSBsb3N0IGNvbnRleHQKKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitUZXN0IHZhbGlkIGNvbnRleHQKK1BBU1MgZ2wuaXNDb250ZXh0TG9zdCgp
IGlzIGZhbHNlCitQQVNTIGdsLmdldEVycm9yKCkgaXMgZ2wuTk9fRVJST1IKK1BBU1MgZ2wuZW5h
YmxlKGdsLkJMRU5EKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5pc0J1
ZmZlcihidWZmZXIpIGlzIHRydWUKK1BBU1MgZ2wuaXNFbmFibGVkKGdsLkJMRU5EKSBpcyB0cnVl
CitQQVNTIGdsLmlzRnJhbWVidWZmZXIoZnJhbWVidWZmZXIpIGlzIHRydWUKK1BBU1MgZ2wuaXNQ
cm9ncmFtKHByb2dyYW0pIGlzIHRydWUKK1BBU1MgZ2wuaXNSZW5kZXJidWZmZXIocmVuZGVyYnVm
ZmVyKSBpcyB0cnVlCitQQVNTIGdsLmlzU2hhZGVyKHNoYWRlcikgaXMgdHJ1ZQorUEFTUyBnbC5p
c1RleHR1cmUodGV4dHVyZSkgaXMgdHJ1ZQorCitMb3NlIGNvbnRleHQKKworVGVzdCBsb3N0IGNv
bnRleHQKK1BBU1MgZ2wuaXNDb250ZXh0TG9zdCgpIGlzIHRydWUKK1BBU1MgZ2wuZ2V0RXJyb3Io
KSBpcyBnbC5DT05URVhUX0xPU1RfV0VCR0wKK1BBU1MgZ2wuZ2V0RXJyb3IoKSBpcyBnbC5OT19F
UlJPUgorUEFTUyBnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSBpcyBn
bC5GUkFNRUJVRkZFUl9VTlNVUFBPUlRFRAorUEFTUyBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9n
cmFtLCAndV9tb2RlbFZpZXdQcm9qTWF0cml4JykgaXMgLTEKK1BBU1MgZ2wuZ2V0VmVydGV4QXR0
cmliT2Zmc2V0KDAsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfUE9JTlRFUikgaXMgMAorUEFTUyBn
bC5hY3RpdmVUZXh0dXJlKGdsLlRFWFRVUkUwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
LgorUEFTUyBnbC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgc2hhZGVyKSB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SLgorUEFTUyBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVy
KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5iaW5kRnJhbWVidWZmZXIo
Z2wuRlJBTUVCVUZGRVIsIGZyYW1lYnVmZmVyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
LgorUEFTUyBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgcmVuZGVyYnVmZmVy
KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5iaW5kVGV4dHVyZShnbC5U
RVhUVVJFXzJELCB0ZXh0dXJlKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBn
bC5ibGVuZENvbG9yKDEuMCwgMS4wLCAxLjAsIDEuMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUi4KK1BBU1MgZ2wuYmxlbmRFcXVhdGlvbihnbC5GVU5DX0FERCkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYmxlbmRFcXVhdGlvblNlcGFyYXRlKGdsLkZVTkNfQURE
LCBnbC5GVU5DX0FERCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYmxl
bmRGdW5jKGdsLk9ORSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYmxl
bmRGdW5jU2VwYXJhdGUoZ2wuT05FLCBnbC5PTkUpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IuCitQQVNTIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCAwLCBnbC5TVEFUSUNfRFJB
Vykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYnVmZmVyRGF0YShnbC5B
UlJBWV9CVUZGRVIsIGFycmF5QnVmZmVyVmlldywgZ2wuU1RBVElDX0RSQVcpIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBh
cnJheUJ1ZmZlciwgZ2wuU1RBVElDX0RSQVcpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CitQQVNTIGdsLmJ1ZmZlclN1YkRhdGEoZ2wuQVJSQVlfQlVGRlJFLCAwLCBhcnJheUJ1ZmZlclZp
ZXcpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmJ1ZmZlclN1YkRhdGEo
Z2wuQVJSQVlfQlVGRlJFLCAwLCBhcnJheUJ1ZmZlcikgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUi4KK1BBU1MgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuY2xlYXJDb2xvcigxLCAxLCAxLCAxKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5jbGVhckRlcHRoKDEpIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmNsZWFyU3RlbmNpbCgwKSB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SLgorUEFTUyBnbC5jb2xvck1hc2soMSwgMSwgMSwgMSkgd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuY29tcGlsZVNoYWRlcihzaGFkZXIpIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIGdsLlJHQkEsIDAsIDAsIDAsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IuCitQQVNTIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIDAs
IDAsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmN1bGxGYWNl
KGdsLkZST05UKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kZWxldGVC
dWZmZXIoYnVmZmVyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kZWxl
dGVGcmFtZWJ1ZmZlcihmcmFtZWJ1ZmZlcikgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wuZGVsZXRlUHJvZ3JhbShwcm9ncmFtKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgorUEFTUyBnbC5kZWxldGVSZW5kZXJidWZmZXIocmVuZGVyYnVmZmVyKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kZWxldGVTaGFkZXIoc2hhZGVyKSB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kZWxldGVUZXh0dXJlKHRleHR1cmUpIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmRlcHRoRnVuYyhnbC5ORVZFUikg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZGVwdGhNYXNrKDApIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmRlcHRoUmFuZ2UoMCwgMSkgd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZGV0YWNoU2hhZGVyKHByb2dyYW0sIHNo
YWRlcikgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZGlzYWJsZShnbC5C
TEVORCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZGlzYWJsZVZlcnRl
eEF0dHJpYkFycmF5KDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmRy
YXdBcnJheXMoZ2wuUE9JTlRTLCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgor
UEFTUyBnbC5kcmF3RWxlbWVudHMoZ2wuUE9JTlRTLCAwLCBnbC5VTlNJR05FRF9TSE9SVCwgMCkg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZW5hYmxlKGdsLkJMRU5EKSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJB
cnJheSgwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5maW5pc2goKSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5mbHVzaCgpIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZS
QU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCByZW5kZXJi
dWZmZXIpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmZyYW1lYnVmZmVy
VGV4dHVyZTJEKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuVEVYVFVS
RV8yRCwgdGV4dHVyZSwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wu
ZnJvbnRGYWNlKGdsLkNXKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5n
ZW5lcmF0ZU1pcG1hcChnbC5URVhUVVJFXzJEKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
LgorUEFTUyBnbC5oaW50KGdsLkdFTkVSQVRFX01JUE1BUF9ISU5ULCBnbC5GQVNURVNUKSB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5saW5lV2lkdGgoMCkgd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wubGlua1Byb2dyYW0ocHJvZ3JhbSkgd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wucGl4ZWxTdG9yZWkoZ2wuVU5QQUNLX0ZM
SVBfWV9XRUJHTCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wucG9s
eWdvbk9mZnNldCgwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5y
ZWFkUGl4ZWxzKDAsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGFycmF5QnVm
ZmVyVmlldykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wucmVuZGVyYnVm
ZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAwLCAwKSB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5zYW1wbGVDb3ZlcmFnZSgwLCAwKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5zY2lzc29yKDAsIDAsIDAsIDApIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnNoYWRlclNvdXJjZShzaGFkZXIsICcnKSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5zdGVuY2lsRnVuYyhnbC5ORVZF
UiwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuc3RlbmNpbEZ1
bmNTZXBhcmF0ZShnbC5GUk9OVCwgZ2wuTkVWRVIsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLnN0ZW5jaWxNYXNrKDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IuCitQQVNTIGdsLnN0ZW5jaWxNYXNrU2VwYXJhdGUoZ2wuRlJPTlQsIDApIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnN0ZW5jaWxPcChnbC5LRUVQLCBnbC5LRUVQ
LCBnbC5LRUVQKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5zdGVuY2ls
T3BTZXBhcmF0ZShnbC5GUk9OVCwgZ2wuS0VFUCwgZ2wuS0VFUCwgZ2wuS0VFUCkgd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LCBnbC5SR0JBLCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBhcnJheUJ1ZmZl
clZpZXcpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1h
Z2VEYXRhKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC50ZXhJbWFnZTJE
KGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGlt
YWdlKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC50ZXhJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGNhbnZh
cykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudGV4SW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCB2aWRlbykg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudGV4UGFyYW1ldGVyZihnbC5U
RVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwg
Z2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5ORUFSRVNUKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SLgorUEFTUyBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIDAs
IDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGFycmF5QnVmZmVyVmlldykgd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZURhdGEpIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8y
RCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2UpIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzKSB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAs
IDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVvKSB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMWYodW5pZm9ybUxvY2F0aW9uLCAwKSB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMWZ2KHVuaWZvcm1Mb2Nh
dGlvbiwgZmxvYXQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBn
bC51bmlmb3JtMWZ2KHVuaWZvcm1Mb2NhdGlvbiwgWzBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMWkodW5pZm9ybUxvY2F0aW9uLCAwKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMWl2KHVuaWZvcm1Mb2NhdGlvbiwg
aW50MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9y
bTFpdih1bmlmb3JtTG9jYXRpb24sIFswXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wudW5pZm9ybTJmKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybTJmdih1bmlmb3JtTG9jYXRpb24sIGZsb2F0
MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybTJm
dih1bmlmb3JtTG9jYXRpb24sIFswLCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wudW5pZm9ybTJpKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybTJpdih1bmlmb3JtTG9jYXRpb24sIGludDMy
YXJyYXkpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm0yaXYo
dW5pZm9ybUxvY2F0aW9uLCBbMCwgMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQ
QVNTIGdsLnVuaWZvcm0zZih1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDApIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm0zZnYodW5pZm9ybUxvY2F0aW9uLCBmbG9h
dDMyYXJyYXkpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm0z
ZnYodW5pZm9ybUxvY2F0aW9uLCBbMCwgMCwgMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IuCitQQVNTIGdsLnVuaWZvcm0zaSh1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDApIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm0zaXYodW5pZm9ybUxvY2F0aW9u
LCBpbnQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlm
b3JtM2l2KHVuaWZvcm1Mb2NhdGlvbiwgWzAsIDAsIDBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SLgorUEFTUyBnbC51bmlmb3JtNGYodW5pZm9ybUxvY2F0aW9uLCAwLCAwLCAwLCAwKSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtNGZ2KHVuaWZvcm1M
b2NhdGlvbiwgZmxvYXQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFT
UyBnbC51bmlmb3JtNGZ2KHVuaWZvcm1Mb2NhdGlvbiwgWzAsIDAsIDAsIDBdKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtNGkodW5pZm9ybUxvY2F0aW9uLCAw
LCAwLCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3Jt
NGl2KHVuaWZvcm1Mb2NhdGlvbiwgaW50MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUi4KK1BBU1MgZ2wudW5pZm9ybTRpdih1bmlmb3JtTG9jYXRpb24sIFswLCAwLCAwLCAwXSkg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybU1hdHJpeDJmdih1
bmlmb3JtTG9jYXRpb24sIGZhbHNlLCBmbG9hdDMyYXJyYXkpIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm1NYXRyaXgyZnYodW5pZm9ybUxvY2F0aW9uLCBmYWxz
ZSwgWzAsIDAsIDAsIDBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51
bmlmb3JtTWF0cml4M2Z2KHVuaWZvcm1Mb2NhdGlvbiwgZmFsc2UsIGZsb2F0MzJhcnJheSkgd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybU1hdHJpeDNmdih1bmlm
b3JtTG9jYXRpb24sIGZhbHNlLCBbMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMF0pIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm1NYXRyaXg0ZnYodW5pZm9ybUxv
Y2F0aW9uLCBmYWxzZSwgZmxvYXQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
LgorUEFTUyBnbC51bmlmb3JtTWF0cml4NGZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmFsc2UsIFswLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSkgd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudXNlUHJvZ3JhbShwcm9ncmFtKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC52YWxpZGF0ZVByb2dyYW0ocHJvZ3JhbSkgd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliMWYoMCwgMCkg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliMWZ2KDAs
IGZsb2F0MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVy
dGV4QXR0cmliMWZ2KDAsIFswXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1Mg
Z2wudmVydGV4QXR0cmliMmYoMCwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wudmVydGV4QXR0cmliMmZ2KDAsIGZsb2F0MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliMmZ2KDAsIFswLCAwXSkgd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliM2YoMCwgMCwgMCwg
MCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliM2Z2
KDAsIGZsb2F0MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wu
dmVydGV4QXR0cmliM2Z2KDAsIFswLCAwLCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KK1BBU1MgZ2wudmVydGV4QXR0cmliNGYoMCwgMCwgMCwgMCwgMCkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliNGZ2KDAsIGZsb2F0MzJhcnJheSkg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliNGZ2KDAs
IFswLCAwLCAwLCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVy
dGV4QXR0cmliUG9pbnRlcigwLCAwLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnZpZXdwb3J0KDAsIDAsIDAsIDApIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmNyZWF0ZUJ1ZmZlcigpIGlzIG51bGwKK1BB
U1MgZ2wuY3JlYXRlRnJhbWVidWZmZXIoKSBpcyBudWxsCitQQVNTIGdsLmNyZWF0ZVByb2dyYW0o
KSBpcyBudWxsCitQQVNTIGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIGlzIG51bGwKK1BBU1MgZ2wu
Y3JlYXRlU2hhZGVyKGdsLkdMX1ZFUlRFWF9TSEFERVIpIGlzIG51bGwKK1BBU1MgZ2wuY3JlYXRl
VGV4dHVyZSgpIGlzIG51bGwKK1BBU1MgZ2wuZ2V0QWN0aXZlQXR0cmliKHByb2dyYW0sIDApIGlz
IG51bGwKK1BBU1MgZ2wuZ2V0QWN0aXZlVW5pZm9ybShwcm9ncmFtLCAwKSBpcyBudWxsCitQQVNT
IGdsLmdldEF0dGFjaGVkU2hhZGVycyhwcm9ncmFtKSBpcyBudWxsCitQQVNTIGdsLmdldEJ1ZmZl
clBhcmFtZXRlcihnbC5BUlJBWV9CVUZGRVIsIGdsLkJVRkZFUl9TSVpFKSBpcyBudWxsCitQQVNT
IGdsLmdldENvbnRleHRBdHRyaWJ1dGVzKCkgaXMgbnVsbAorUEFTUyBnbC5nZXRGcmFtZWJ1ZmZl
ckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQw
LCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FKSBpcyBudWxsCitQQVNTIGds
LmdldFBhcmFtZXRlcihnbC5DVVJSRU5UX1BST0dSQU0pIGlzIG51bGwKK1BBU1MgZ2wuZ2V0UHJv
Z3JhbUluZm9Mb2cocHJvZ3JhbSkgaXMgbnVsbAorUEFTUyBnbC5nZXRQcm9ncmFtUGFyYW1ldGVy
KHByb2dyYW0sIGdsLkxJTktfU1RBVFVTKSBpcyBudWxsCitQQVNTIGdsLmdldFJlbmRlcmJ1ZmZl
clBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9XSURUSCkgaXMgbnVs
bAorUEFTUyBnbC5nZXRTaGFkZXJJbmZvTG9nKHNoYWRlcikgaXMgbnVsbAorUEFTUyBnbC5nZXRT
aGFkZXJQYXJhbWV0ZXIoc2hhZGVyLCBnbC5TSEFERVJfVFlQRSkgaXMgbnVsbAorUEFTUyBnbC5n
ZXRTaGFkZXJTb3VyY2Uoc2hhZGVyKSBpcyBudWxsCitQQVNTIGdsLmdldFRleFBhcmFtZXRlcihn
bC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUykgaXMgbnVsbAorUEFTUyBnbC5nZXRVbmlm
b3JtKHByb2dyYW0sIHVuaWZvcm1Mb2NhdGlvbikgaXMgbnVsbAorUEFTUyBnbC5nZXRVbmlmb3Jt
TG9jYXRpb24ocHJvZ3JhbSwgJ3ZQb3NpdGlvbicpIGlzIG51bGwKK1BBU1MgZ2wuZ2V0VmVydGV4
QXR0cmliKDAsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfQlVGRkVSX0JJTkRJTkcpIGlzIG51bGwK
K1BBU1MgZ2wuZ2V0U3VwcG9ydGVkRXh0ZW5zaW9ucygpIGlzIG51bGwKK1BBU1MgZ2wuZ2V0RXh0
ZW5zaW9uKCdDSFJPTUlVTV9sb3NlX2NvbnRleHQnKSBpcyBudWxsCitQQVNTIGdsLmlzQnVmZmVy
KGJ1ZmZlcikgaXMgZmFsc2UKK1BBU1MgZ2wuaXNFbmFibGVkKGdsLkJMRU5EKSBpcyBmYWxzZQor
UEFTUyBnbC5pc0ZyYW1lYnVmZmVyKGZyYW1lYnVmZmVyKSBpcyBmYWxzZQorUEFTUyBnbC5pc1By
b2dyYW0ocHJvZ3JhbSkgaXMgZmFsc2UKK1BBU1MgZ2wuaXNSZW5kZXJidWZmZXIocmVuZGVyYnVm
ZmVyKSBpcyBmYWxzZQorUEFTUyBnbC5pc1NoYWRlcihzaGFkZXIpIGlzIGZhbHNlCitQQVNTIGds
LmlzVGV4dHVyZSh0ZXh0dXJlKSBpcyBmYWxzZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5P
X0VSUk9SCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0
LXJlc3RvcmVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2Nv
bnRleHQtbG9zdC1yZXN0b3JlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ3NjAxOWIxYzZl
ZmI4MTIzNDU2MTgyNTg1MzhiYjQwYTEwMjY0NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC1yZXN0b3JlZC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzMSBAQAorVGVzdHMgYmVoYXZpb3IgdW5kZXIgYSByZXN0b3JlZCBjb250ZXh0
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworVGVzdCB2YWxpZCBjb250ZXh0CitQQVNT
IGdsLmlzQ29udGV4dExvc3QoKSBpcyBmYWxzZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5P
X0VSUk9SCitQQVNTIHNob3VsZEJlIDI1NSwxMCwyMAorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGds
Lk5PX0VSUk9SCisKK1Rlc3QgbG9zdCBjb250ZXh0CitQQVNTIGdsLmlzQ29udGV4dExvc3QoKSBp
cyB0cnVlCitQQVNTIGdsLmdldEVycm9yKCkgaXMgZ2wuQ09OVEVYVF9MT1NUX1dFQkdMCitQQVNT
IGdsLmdldEVycm9yKCkgaXMgZ2wuTk9fRVJST1IKKworVGVzdCByZXN0b3JlZCBjb250ZXh0CitQ
QVNTIGdsLmlzQ29udGV4dExvc3QoKSBpcyBmYWxzZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGds
Lk5PX0VSUk9SCitQQVNTIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpIHdh
cyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04uCitQQVNTIGdsLnVzZVByb2dyYW0o
cHJvZ3JhbSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTi4KK1BBU1MgZ2wu
YmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJ1ZmZlck9iamVjdHNbMF0pIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04uCitQQVNTIHNob3VsZEJlIDI1NSwxMCwyMAorUEFT
UyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCitQQVNTIGdsLmJpbmRUZXh0dXJlKGdsLlRF
WFRVUkVfMkQsIHRleHR1cmUpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGds
LnVzZVByb2dyYW0ocHJvZ3JhbSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1Mg
Z2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJ1ZmZlck9iamVjdHNbMF0pIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93
ZWJnbC9jb250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2NvbnRleHQtbG9zdC1yZXN0b3JlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlMDQ3YmJkMTMz
ZWU4NmEzYzczYTcwZDY3MGE5Y2MwODAyYjE3NWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbApAQCAtMCww
ICsxLDEzMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciB3dHUgPSBXZWJH
TFRlc3RVdGlsczsKK3ZhciBjYW52YXM7Cit2YXIgZ2w7Cit2YXIgc2hvdWxkR2VuZXJhdGVHTEVy
cm9yOwordmFyIGV4dGVuc2lvbl9uYW1lID0gIkNIUk9NSVVNX2xvc2VfY29udGV4dCI7Cit2YXIg
ZXh0ZW5zaW9uOwordmFyIGJ1ZmZlck9iamVjdHM7Cit2YXIgcHJvZ3JhbTsKK3ZhciB0ZXh0dXJl
OwordmFyIHRleENvbG9yID0gWzI1NSwgMTAsIDIwLCAyNTVdOworCitmdW5jdGlvbiBpbml0KCkK
K3sKKyAgICBpZiAod2luZG93LmluaXROb25LaHJvbm9zRnJhbWV3b3JrKSB7CisgICAgICAgIHdp
bmRvdy5pbml0Tm9uS2hyb25vc0ZyYW1ld29yayh0cnVlKTsKKyAgICB9CisKKyAgICBkZXNjcmlw
dGlvbigiVGVzdHMgYmVoYXZpb3IgdW5kZXIgYSByZXN0b3JlZCBjb250ZXh0Iik7CisKKyAgICBj
YW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7CisgICAgY2FudmFzLmFk
ZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dGxvc3QiLCB0ZXN0TG9zdENvbnRleHQpOworICAg
IGNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJ3ZWJnbGNvbnRleHRyZXN0b3JlZCIsIHRlc3RSZXN0
b3JlZENvbnRleHQpOworCisgICAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7Cisg
ICAgc2hvdWxkR2VuZXJhdGVHTEVycm9yID0gd3R1LnNob3VsZEdlbmVyYXRlR0xFcnJvcjsKKwor
ICAgIGV4dGVuc2lvbiA9IGdsLmdldEV4dGVuc2lvbihleHRlbnNpb25fbmFtZSk7CisgICAgaWYg
KCFleHRlbnNpb24pIHsKKyAgICAgICAgZGVidWcoZXh0ZW5zaW9uX25hbWUgKyAiIGV4dGVuc2lv
biBub3QgZm91bmQuIik7CisgICAgICAgIGZpbmlzaCgpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgdGVzdE9yaWdpbmFsQ29udGV4dCgpOworICAgIGV4dGVuc2lvbi5sb3NlQ29udGV4
dCgpOworfQorCitmdW5jdGlvbiB0ZXN0UmVuZGVyaW5nKCkKK3sKKyAgICBnbC5jbGVhckNvbG9y
KDAsIDAsIDAsIDI1NSk7CisgICAgZ2wuY29sb3JNYXNrKDEsIDEsIDEsIDApOworICAgIGdsLmNs
ZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKworICAgIHBy
b2dyYW0gPSB3dHUuc2V0dXBTaW1wbGVUZXh0dXJlUHJvZ3JhbShnbCk7CisgICAgYnVmZmVyT2Jq
ZWN0cyA9IHd0dS5zZXR1cFVuaXRRdWFkKGdsKTsKKyAgICB0ZXh0dXJlID0gd3R1LmNyZWF0ZUNv
bG9yZWRUZXh0dXJlKGdsLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQsIHRleENvbG9yKTsK
KworICAgIGdsLnVuaWZvcm0xaShnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInRleCIp
LCAwKTsKKyAgICB3dHUuZHJhd1F1YWQoZ2wsIFswLCAwLCAwLCAyNTVdKTsKKworICAgIHZhciBj
b21wYXJlID0gdGV4Q29sb3Iuc2xpY2UoMCwgMyk7CisgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChn
bCwgMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0LCBjb21wYXJlLCAic2hvdWxkQmUg
IiArIGNvbXBhcmUpOworCisgICAgc2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAiZ2wuTk9fRVJS
T1IiKTsKK30KKworZnVuY3Rpb24gdGVzdE9yaWdpbmFsQ29udGV4dCgpCit7CisgICAgZGVidWco
IlRlc3QgdmFsaWQgY29udGV4dCIpOworICAgIHNob3VsZEJlRmFsc2UoImdsLmlzQ29udGV4dExv
c3QoKSIpOworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7Cisg
ICAgdGVzdFJlbmRlcmluZygpOworICAgIGRlYnVnKCIiKTsKK30KKworZnVuY3Rpb24gdGVzdExv
c3RDb250ZXh0KCkKK3sKKyAgICBkZWJ1ZygiVGVzdCBsb3N0IGNvbnRleHQiKTsKKyAgICBzaG91
bGRCZVRydWUoImdsLmlzQ29udGV4dExvc3QoKSIpOworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJv
cigpIiwgImdsLkNPTlRFWFRfTE9TVF9XRUJHTCIpOworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJv
cigpIiwgImdsLk5PX0VSUk9SIik7CisgICAgZGVidWcoIiIpOworfQorCitmdW5jdGlvbiB0ZXN0
UmVzb3VyY2VzKGV4cGVjdGVkKQoreworICAgIHZhciB0ZXN0cyA9IFsKKyAgICAgICAgImdsLmJp
bmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpIiwKKyAgICAgICAgImdsLnVzZVByb2dy
YW0ocHJvZ3JhbSkiLAorICAgICAgICAiZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJ1
ZmZlck9iamVjdHNbMF0pIiwKKyAgICBdOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0
cy5sZW5ndGg7ICsraSkKKyAgICAgICAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBleHBlY3Rl
ZCwgdGVzdHNbaV0pOworfQorCitmdW5jdGlvbiB0ZXN0UmVzdG9yZWRDb250ZXh0KCkKK3sKKyAg
ICBkZWJ1ZygiVGVzdCByZXN0b3JlZCBjb250ZXh0Iik7CisgICAgc2hvdWxkQmVGYWxzZSgiZ2wu
aXNDb250ZXh0TG9zdCgpIik7CisgICAgc2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAiZ2wuTk9f
RVJST1IiKTsKKworICAgIC8vIFZhbGlkYXRlIHRoYXQgdXNpbmcgb2xkIHJlc291cmNlcyBmYWls
cy4KKyAgICB0ZXN0UmVzb3VyY2VzKGdsLklOVkFMSURfT1BFUkFUSU9OKTsKKworICAgIHRlc3RS
ZW5kZXJpbmcoKTsKKworICAgIC8vIFZhbGlkYXRlIG5ldyByZXNvdXJjZXMgY3JlYXRlZCBpbiB0
ZXN0UmVuZGVyaW5nKCkuCisgICAgdGVzdFJlc291cmNlcyhnbC5OT19FUlJPUik7CisgICAgZGVi
dWcoIiIpOworCisgICAgZmluaXNoKCk7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaCgpIHsKKyAgICBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAgIHZhciBlcGlsb2d1ZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworICAgIGVwaWxvZ3VlLm9ubG9hZCA9IGZ1bmN0aW9uKCkg
eworICAgICAgICBpZiAod2luZG93Lm5vbktocm9ub3NGcmFtZXdvcmtOb3RpZnlEb25lKQorICAg
ICAgICAgICAgd2luZG93Lm5vbktocm9ub3NGcmFtZXdvcmtOb3RpZnlEb25lKCk7CisgICAgfTsK
KyAgICBlcGlsb2d1ZS5zcmMgPSAiLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI7
CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlcGlsb2d1ZSk7Cit9CisKKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJpbml0KCkiPgorPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdp
ZHRoPSIxcHgiIGhlaWdodD0iMXB4Ij48L2NhbnZhcz4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzJjODk0YTljNDdhZTdmMzQyNWU3MTBmNzhkNzNjZDE1OGMwYjk5YgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC5odG1sCkBA
IC0wLDAgKzEsMzEyIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordmFyIHd0dTsK
K3ZhciBjYW52YXM7Cit2YXIgZ2w7Cit2YXIgc2hvdWxkR2VuZXJhdGVHTEVycm9yOwordmFyIGV4
dGVuc2lvbl9uYW1lID0gIkNIUk9NSVVNX2xvc2VfY29udGV4dCI7Cit2YXIgZXh0ZW5zaW9uOwor
Cit2YXIgYnVmZmVyOwordmFyIGZyYW1lYnVmZmVyOwordmFyIHByb2dyYW07Cit2YXIgcmVuZGVy
YnVmZmVyOwordmFyIHNoYWRlcjsKK3ZhciB0ZXh0dXJlOwordmFyIHVuaWZvcm1Mb2NhdGlvbjsK
K3ZhciBhcnJheUJ1ZmZlcjsKK3ZhciBhcnJheUJ1ZmZlclZpZXcKK3ZhciBpbWFnZTsKK3ZhciB2
aWRlbzsKK3ZhciBjYW52YXMyZDsKK3ZhciBjdHgyZDsKK3ZhciBpbWFnZURhdGE7Cit2YXIgZmxv
YXQzMmFycmF5OwordmFyIGludDMyYXJyYXk7CisKK2Z1bmN0aW9uIGluaXQoKQoreworICAgIHd0
dSA9IFdlYkdMVGVzdFV0aWxzOworICAgIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjYW52YXMiKTsKKyAgICBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzKTsKKyAgICBz
aG91bGRHZW5lcmF0ZUdMRXJyb3IgPSB3dHUuc2hvdWxkR2VuZXJhdGVHTEVycm9yOworCisgICAg
ZGVzY3JpcHRpb24oIlRlc3RzIGJlaGF2aW9yIHVuZGVyIGEgbG9zdCBjb250ZXh0Iik7CisKKyAg
ICBpZiAod2luZG93LmluaXROb25LaHJvbm9zRnJhbWV3b3JrKSB7CisgICAgICAgIHdpbmRvdy5p
bml0Tm9uS2hyb25vc0ZyYW1ld29yayh0cnVlKTsKKyAgICB9CisKKyAgICBleHRlbnNpb24gPSBn
bC5nZXRFeHRlbnNpb24oZXh0ZW5zaW9uX25hbWUpOworICAgIGlmICghZXh0ZW5zaW9uKSB7Cisg
ICAgICAgIGRlYnVnKGV4dGVuc2lvbl9uYW1lICsgIiBleHRlbnNpb24gbm90IGZvdW5kLiIpOwor
ICAgICAgICBmaW5pc2goKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGNhbnZhcy5h
ZGRFdmVudExpc3RlbmVyKCJ3ZWJnbGNvbnRleHRsb3N0IiwgdGVzdExvc3RDb250ZXh0KTsKKwor
ICAgIHRlc3RWYWxpZENvbnRleHQoKTsKKyAgICBsb3NlQ29udGV4dCgpOworfQorCitmdW5jdGlv
biBsb3NlQ29udGV4dCgpCit7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJMb3NlIGNvbnRl
eHQiKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBleHRlbnNpb24ubG9zZUNvbnRleHQoKTsKK30K
KworZnVuY3Rpb24gdGVzdFZhbGlkQ29udGV4dCgpCit7CisgICAgZGVidWcoIlRlc3QgdmFsaWQg
Y29udGV4dCIpOworCisgICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNDb250ZXh0TG9zdCgpIik7CisK
KyAgICBhcnJheUJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcig0KTsKKyAgICBhcnJheUJ1ZmZlclZp
ZXcgPSBuZXcgSW50OEFycmF5KGFycmF5QnVmZmVyKTsKKworICAgIC8vIEdlbmVyYXRlIHJlc291
cmNlcyBmb3IgdGVzdGluZy4KKyAgICBidWZmZXIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgICBn
bC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyKTsKKyAgICBmcmFtZWJ1ZmZlciA9
IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCk7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1F
QlVGRkVSLCBmcmFtZWJ1ZmZlcik7CisgICAgcHJvZ3JhbSA9IHd0dS5zZXR1cFNpbXBsZVRleHR1
cmVQcm9ncmFtKGdsKTsKKyAgICByZW5kZXJidWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIo
KTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgcmVuZGVyYnVmZmVy
KTsKKyAgICBzaGFkZXIgPSBnbC5jcmVhdGVTaGFkZXIoZ2wuVkVSVEVYX1NIQURFUik7CisgICAg
dGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhU
VVJFXzJELCB0ZXh0dXJlKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0RXJyb3IoKSIsICJnbC5OT19F
UlJPUiIpOworCisgICAgLy8gVGVzdCBpcyBxdWVyaWVzIHRoYXQgd2lsbCBsYXRlciBiZSBmYWxz
ZQorICAgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5lbmFibGUo
Z2wuQkxFTkQpIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc0J1ZmZlcihidWZmZXIpIik7Cisg
ICAgc2hvdWxkQmVUcnVlKCJnbC5pc0VuYWJsZWQoZ2wuQkxFTkQpIik7CisgICAgc2hvdWxkQmVU
cnVlKCJnbC5pc0ZyYW1lYnVmZmVyKGZyYW1lYnVmZmVyKSIpOworICAgIHNob3VsZEJlVHJ1ZSgi
Z2wuaXNQcm9ncmFtKHByb2dyYW0pIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc1JlbmRlcmJ1
ZmZlcihyZW5kZXJidWZmZXIpIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc1NoYWRlcihzaGFk
ZXIpIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc1RleHR1cmUodGV4dHVyZSkiKTsKK30KKwor
ZnVuY3Rpb24gdGVzdExvc3RDb250ZXh0KCkKK3sKKyAgICBkZWJ1ZygiVGVzdCBsb3N0IGNvbnRl
eHQiKTsKKyAgICAvLyBGdW5jdGlvbnMgd2l0aCBzcGVjaWFsIHJldHVybiB2YWx1ZXMuCisgICAg
c2hvdWxkQmVUcnVlKCJnbC5pc0NvbnRleHRMb3N0KCkiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0
RXJyb3IoKSIsICJnbC5DT05URVhUX0xPU1RfV0VCR0wiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0
RXJyb3IoKSIsICJnbC5OT19FUlJPUiIpOworICAgIHNob3VsZEJlKCJnbC5jaGVja0ZyYW1lYnVm
ZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSIsICJnbC5GUkFNRUJVRkZFUl9VTlNVUFBPUlRFRCIp
OworICAgIHNob3VsZEJlKCJnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAndV9tb2RlbFZp
ZXdQcm9qTWF0cml4JykiLCAiLTEiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0VmVydGV4QXR0cmli
T2Zmc2V0KDAsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfUE9JTlRFUikiLCAiMCIpOworCisgICAg
aW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWFnZSIpOworICAgIHZpZGVvID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgidmlkZW8iKTsKKyAgICBjYW52YXMyZCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImNhbnZhcyIpOworICAgIGN0eDJkID0gY2FudmFzMmQuZ2V0Q29udGV4dCgi
MmQiKTsKKyAgICBpbWFnZURhdGEgPSBjdHgyZC5jcmVhdGVJbWFnZURhdGEoMSwgMSk7CisgICAg
ZmxvYXQzMmFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSgxKTsKKyAgICBpbnQzMmFycmF5ID0gbmV3
IEludDMyQXJyYXkoMSk7CisKKyAgICAvLyBGdW5jdGlvbnMgcmV0dXJuaW5nIHZvaWQgc2hvdWxk
IHJldHVybiBpbW1lZGlhdGVseS4KKyAgICAvLyBUaGlzIGlzIHVudGVzdGFibGUsIGJ1dCB3ZSBj
YW4gYXQgbGVhc3QgYmUgc3VyZSB0aGV5IGNhdXNlIG5vIGVycm9ycworICAgIC8vIGFuZCB0aGUg
Y29kZXBhdGhzIGFyZSBleGVyY2lzZWQuCisgICAgdmFyIHZvaWRUZXN0cyA9IFsKKyAgICAgICAg
ImdsLmFjdGl2ZVRleHR1cmUoZ2wuVEVYVFVSRTApIiwKKyAgICAgICAgImdsLmF0dGFjaFNoYWRl
cihwcm9ncmFtLCBzaGFkZXIpIiwKKyAgICAgICAgImdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVG
RkVSLCBidWZmZXIpIiwKKyAgICAgICAgImdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZF
UiwgZnJhbWVidWZmZXIpIiwKKyAgICAgICAgImdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVS
QlVGRkVSLCByZW5kZXJidWZmZXIpIiwKKyAgICAgICAgImdsLmJpbmRUZXh0dXJlKGdsLlRFWFRV
UkVfMkQsIHRleHR1cmUpIiwKKyAgICAgICAgImdsLmJsZW5kQ29sb3IoMS4wLCAxLjAsIDEuMCwg
MS4wKSIsCisgICAgICAgICJnbC5ibGVuZEVxdWF0aW9uKGdsLkZVTkNfQUREKSIsCisgICAgICAg
ICJnbC5ibGVuZEVxdWF0aW9uU2VwYXJhdGUoZ2wuRlVOQ19BREQsIGdsLkZVTkNfQUREKSIsCisg
ICAgICAgICJnbC5ibGVuZEZ1bmMoZ2wuT05FKSIsCisgICAgICAgICJnbC5ibGVuZEZ1bmNTZXBh
cmF0ZShnbC5PTkUsIGdsLk9ORSkiLAorICAgICAgICAiZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9C
VUZGRVIsIDAsIGdsLlNUQVRJQ19EUkFXKSIsCisgICAgICAgICJnbC5idWZmZXJEYXRhKGdsLkFS
UkFZX0JVRkZFUiwgYXJyYXlCdWZmZXJWaWV3LCBnbC5TVEFUSUNfRFJBVykiLAorICAgICAgICAi
Z2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIGFycmF5QnVmZmVyLCBnbC5TVEFUSUNfRFJB
VykiLAorICAgICAgICAiZ2wuYnVmZmVyU3ViRGF0YShnbC5BUlJBWV9CVUZGUkUsIDAsIGFycmF5
QnVmZmVyVmlldykiLAorICAgICAgICAiZ2wuYnVmZmVyU3ViRGF0YShnbC5BUlJBWV9CVUZGUkUs
IDAsIGFycmF5QnVmZmVyKSIsCisgICAgICAgICJnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklU
KSIsCisgICAgICAgICJnbC5jbGVhckNvbG9yKDEsIDEsIDEsIDEpIiwKKyAgICAgICAgImdsLmNs
ZWFyRGVwdGgoMSkiLAorICAgICAgICAiZ2wuY2xlYXJTdGVuY2lsKDApIiwKKyAgICAgICAgImds
LmNvbG9yTWFzaygxLCAxLCAxLCAxKSIsCisgICAgICAgICJnbC5jb21waWxlU2hhZGVyKHNoYWRl
cikiLAorICAgICAgICAiZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdC
QSwgMCwgMCwgMCwgMCwgMCkiLAorICAgICAgICAiZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgMCwgMCwgMCwgMCwgMCwgMCkiLAorICAgICAgICAiZ2wuY3VsbEZhY2UoZ2wu
RlJPTlQpIiwKKyAgICAgICAgImdsLmRlbGV0ZUJ1ZmZlcihidWZmZXIpIiwKKyAgICAgICAgImds
LmRlbGV0ZUZyYW1lYnVmZmVyKGZyYW1lYnVmZmVyKSIsCisgICAgICAgICJnbC5kZWxldGVQcm9n
cmFtKHByb2dyYW0pIiwKKyAgICAgICAgImdsLmRlbGV0ZVJlbmRlcmJ1ZmZlcihyZW5kZXJidWZm
ZXIpIiwKKyAgICAgICAgImdsLmRlbGV0ZVNoYWRlcihzaGFkZXIpIiwKKyAgICAgICAgImdsLmRl
bGV0ZVRleHR1cmUodGV4dHVyZSkiLAorICAgICAgICAiZ2wuZGVwdGhGdW5jKGdsLk5FVkVSKSIs
CisgICAgICAgICJnbC5kZXB0aE1hc2soMCkiLAorICAgICAgICAiZ2wuZGVwdGhSYW5nZSgwLCAx
KSIsCisgICAgICAgICJnbC5kZXRhY2hTaGFkZXIocHJvZ3JhbSwgc2hhZGVyKSIsCisgICAgICAg
ICJnbC5kaXNhYmxlKGdsLkJMRU5EKSIsCisgICAgICAgICJnbC5kaXNhYmxlVmVydGV4QXR0cmli
QXJyYXkoMCkiLAorICAgICAgICAiZ2wuZHJhd0FycmF5cyhnbC5QT0lOVFMsIDAsIDApIiwKKyAg
ICAgICAgImdsLmRyYXdFbGVtZW50cyhnbC5QT0lOVFMsIDAsIGdsLlVOU0lHTkVEX1NIT1JULCAw
KSIsCisgICAgICAgICJnbC5lbmFibGUoZ2wuQkxFTkQpIiwKKyAgICAgICAgImdsLmVuYWJsZVZl
cnRleEF0dHJpYkFycmF5KDApIiwKKyAgICAgICAgImdsLmZpbmlzaCgpIiwKKyAgICAgICAgImds
LmZsdXNoKCkiLAorICAgICAgICAiZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVC
VUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIHJlbmRlcmJ1ZmZl
cikiLAorICAgICAgICAiZ2wuZnJhbWVidWZmZXJUZXh0dXJlMkQoZ2wuRlJBTUVCVUZGRVIsIGds
LkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5URVhUVVJFXzJELCB0ZXh0dXJlLCAwKSIsCisgICAgICAg
ICJnbC5mcm9udEZhY2UoZ2wuQ1cpIiwKKyAgICAgICAgImdsLmdlbmVyYXRlTWlwbWFwKGdsLlRF
WFRVUkVfMkQpIiwKKyAgICAgICAgImdsLmhpbnQoZ2wuR0VORVJBVEVfTUlQTUFQX0hJTlQsIGds
LkZBU1RFU1QpIiwKKyAgICAgICAgImdsLmxpbmVXaWR0aCgwKSIsCisgICAgICAgICJnbC5saW5r
UHJvZ3JhbShwcm9ncmFtKSIsCisgICAgICAgICJnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfRkxJ
UF9ZX1dFQkdMLCAwKSIsCisgICAgICAgICJnbC5wb2x5Z29uT2Zmc2V0KDAsIDApIiwKKyAgICAg
ICAgImdsLnJlYWRQaXhlbHMoMCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwg
YXJyYXlCdWZmZXJWaWV3KSIsCisgICAgICAgICJnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJF
TkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDAsIDApIiwKKyAgICAgICAgImdsLnNhbXBsZUNvdmVyYWdl
KDAsIDApIiwKKyAgICAgICAgImdsLnNjaXNzb3IoMCwgMCwgMCwgMCkiLAorICAgICAgICAiZ2wu
c2hhZGVyU291cmNlKHNoYWRlciwgJycpIiwKKyAgICAgICAgImdsLnN0ZW5jaWxGdW5jKGdsLk5F
VkVSLCAwLCAwKSIsCisgICAgICAgICJnbC5zdGVuY2lsRnVuY1NlcGFyYXRlKGdsLkZST05ULCBn
bC5ORVZFUiwgMCwgMCkiLAorICAgICAgICAiZ2wuc3RlbmNpbE1hc2soMCkiLAorICAgICAgICAi
Z2wuc3RlbmNpbE1hc2tTZXBhcmF0ZShnbC5GUk9OVCwgMCkiLAorICAgICAgICAiZ2wuc3RlbmNp
bE9wKGdsLktFRVAsIGdsLktFRVAsIGdsLktFRVApIiwKKyAgICAgICAgImdsLnN0ZW5jaWxPcFNl
cGFyYXRlKGdsLkZST05ULCBnbC5LRUVQLCBnbC5LRUVQLCBnbC5LRUVQKSIsCisgICAgICAgICJn
bC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsIDAsIDAsIGdsLlJHQkEs
IGdsLlVOU0lHTkVEX0JZVEUsIGFycmF5QnVmZmVyVmlldykiLAorICAgICAgICAiZ2wudGV4SW1h
Z2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRF
LCBpbWFnZURhdGEpIiwKKyAgICAgICAgImdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
Z2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2UpIiwKKyAgICAgICAgImds
LnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdO
RURfQllURSwgY2FudmFzKSIsCisgICAgICAgICJnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVvKSIsCisgICAgICAg
ICJnbC50ZXhQYXJhbWV0ZXJmKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwg
Z2wuTkVBUkVTVCkiLAorICAgICAgICAiZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBn
bC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpIiwKKyAgICAgICAgImdsLnRleFN1Yklt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURf
QllURSwgYXJyYXlCdWZmZXJWaWV3KSIsCisgICAgICAgICJnbC50ZXhTdWJJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltYWdlRGF0YSki
LAorICAgICAgICAiZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5S
R0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZSkiLAorICAgICAgICAiZ2wudGV4U3ViSW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjYW52
YXMpIiwKKyAgICAgICAgImdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwg
Z2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgdmlkZW8pIiwKKyAgICAgICAgImdsLnVuaWZvcm0x
Zih1bmlmb3JtTG9jYXRpb24sIDApIiwKKyAgICAgICAgImdsLnVuaWZvcm0xZnYodW5pZm9ybUxv
Y2F0aW9uLCBmbG9hdDMyYXJyYXkpIiwKKyAgICAgICAgImdsLnVuaWZvcm0xZnYodW5pZm9ybUxv
Y2F0aW9uLCBbMF0pIiwKKyAgICAgICAgImdsLnVuaWZvcm0xaSh1bmlmb3JtTG9jYXRpb24sIDAp
IiwKKyAgICAgICAgImdsLnVuaWZvcm0xaXYodW5pZm9ybUxvY2F0aW9uLCBpbnQzMmFycmF5KSIs
CisgICAgICAgICJnbC51bmlmb3JtMWl2KHVuaWZvcm1Mb2NhdGlvbiwgWzBdKSIsCisgICAgICAg
ICJnbC51bmlmb3JtMmYodW5pZm9ybUxvY2F0aW9uLCAwLCAwKSIsCisgICAgICAgICJnbC51bmlm
b3JtMmZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC51bmlm
b3JtMmZ2KHVuaWZvcm1Mb2NhdGlvbiwgWzAsIDBdKSIsCisgICAgICAgICJnbC51bmlmb3JtMmko
dW5pZm9ybUxvY2F0aW9uLCAwLCAwKSIsCisgICAgICAgICJnbC51bmlmb3JtMml2KHVuaWZvcm1M
b2NhdGlvbiwgaW50MzJhcnJheSkiLAorICAgICAgICAiZ2wudW5pZm9ybTJpdih1bmlmb3JtTG9j
YXRpb24sIFswLCAwXSkiLAorICAgICAgICAiZ2wudW5pZm9ybTNmKHVuaWZvcm1Mb2NhdGlvbiwg
MCwgMCwgMCkiLAorICAgICAgICAiZ2wudW5pZm9ybTNmdih1bmlmb3JtTG9jYXRpb24sIGZsb2F0
MzJhcnJheSkiLAorICAgICAgICAiZ2wudW5pZm9ybTNmdih1bmlmb3JtTG9jYXRpb24sIFswLCAw
LCAwXSkiLAorICAgICAgICAiZ2wudW5pZm9ybTNpKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCwgMCki
LAorICAgICAgICAiZ2wudW5pZm9ybTNpdih1bmlmb3JtTG9jYXRpb24sIGludDMyYXJyYXkpIiwK
KyAgICAgICAgImdsLnVuaWZvcm0zaXYodW5pZm9ybUxvY2F0aW9uLCBbMCwgMCwgMF0pIiwKKyAg
ICAgICAgImdsLnVuaWZvcm00Zih1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDAsIDApIiwKKyAgICAg
ICAgImdsLnVuaWZvcm00ZnYodW5pZm9ybUxvY2F0aW9uLCBmbG9hdDMyYXJyYXkpIiwKKyAgICAg
ICAgImdsLnVuaWZvcm00ZnYodW5pZm9ybUxvY2F0aW9uLCBbMCwgMCwgMCwgMF0pIiwKKyAgICAg
ICAgImdsLnVuaWZvcm00aSh1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDAsIDApIiwKKyAgICAgICAg
ImdsLnVuaWZvcm00aXYodW5pZm9ybUxvY2F0aW9uLCBpbnQzMmFycmF5KSIsCisgICAgICAgICJn
bC51bmlmb3JtNGl2KHVuaWZvcm1Mb2NhdGlvbiwgWzAsIDAsIDAsIDBdKSIsCisgICAgICAgICJn
bC51bmlmb3JtTWF0cml4MmZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmFsc2UsIGZsb2F0MzJhcnJheSki
LAorICAgICAgICAiZ2wudW5pZm9ybU1hdHJpeDJmdih1bmlmb3JtTG9jYXRpb24sIGZhbHNlLCBb
MCwgMCwgMCwgMF0pIiwKKyAgICAgICAgImdsLnVuaWZvcm1NYXRyaXgzZnYodW5pZm9ybUxvY2F0
aW9uLCBmYWxzZSwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC51bmlmb3JtTWF0cml4M2Z2
KHVuaWZvcm1Mb2NhdGlvbiwgZmFsc2UsIFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSkiLAor
ICAgICAgICAiZ2wudW5pZm9ybU1hdHJpeDRmdih1bmlmb3JtTG9jYXRpb24sIGZhbHNlLCBmbG9h
dDMyYXJyYXkpIiwKKyAgICAgICAgImdsLnVuaWZvcm1NYXRyaXg0ZnYodW5pZm9ybUxvY2F0aW9u
LCBmYWxzZSwgWzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDBd
KSIsCisgICAgICAgICJnbC51c2VQcm9ncmFtKHByb2dyYW0pIiwKKyAgICAgICAgImdsLnZhbGlk
YXRlUHJvZ3JhbShwcm9ncmFtKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIxZigwLCAwKSIs
CisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIxZnYoMCwgZmxvYXQzMmFycmF5KSIsCisgICAgICAg
ICJnbC52ZXJ0ZXhBdHRyaWIxZnYoMCwgWzBdKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIy
ZigwLCAwLCAwKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIyZnYoMCwgZmxvYXQzMmFycmF5
KSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIyZnYoMCwgWzAsIDBdKSIsCisgICAgICAgICJn
bC52ZXJ0ZXhBdHRyaWIzZigwLCAwLCAwLCAwKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIz
ZnYoMCwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIzZnYoMCwgWzAs
IDAsIDBdKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWI0ZigwLCAwLCAwLCAwLCAwKSIsCisg
ICAgICAgICJnbC52ZXJ0ZXhBdHRyaWI0ZnYoMCwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJn
bC52ZXJ0ZXhBdHRyaWI0ZnYoMCwgWzAsIDAsIDAsIDBdKSIsCisgICAgICAgICJnbC52ZXJ0ZXhB
dHRyaWJQb2ludGVyKDAsIDAsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCkiLAorICAgICAgICAiZ2wu
dmlld3BvcnQoMCwgMCwgMCwgMCkiLAorICAgIF07CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2
b2lkVGVzdHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGds
LCBnbC5OT19FUlJPUiwgdm9pZFRlc3RzW2ldKTsKKyAgICB9CisKKyAgICAvLyBGdW5jdGlvbnMg
cmV0dXJuIG51bGxhYmxlIHZhbHVlcyBzaG91bGQgYWxsIHJldHVybiBudWxsLgorICAgIHZhciBu
dWxsVGVzdHMgPSBbCisgICAgICAgICJnbC5jcmVhdGVCdWZmZXIoKSIsCisgICAgICAgICJnbC5j
cmVhdGVGcmFtZWJ1ZmZlcigpIiwKKyAgICAgICAgImdsLmNyZWF0ZVByb2dyYW0oKSIsCisgICAg
ICAgICJnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIsCisgICAgICAgICJnbC5jcmVhdGVTaGFkZXIo
Z2wuR0xfVkVSVEVYX1NIQURFUikiLAorICAgICAgICAiZ2wuY3JlYXRlVGV4dHVyZSgpIiwKKyAg
ICAgICAgImdsLmdldEFjdGl2ZUF0dHJpYihwcm9ncmFtLCAwKSIsCisgICAgICAgICJnbC5nZXRB
Y3RpdmVVbmlmb3JtKHByb2dyYW0sIDApIiwKKyAgICAgICAgImdsLmdldEF0dGFjaGVkU2hhZGVy
cyhwcm9ncmFtKSIsCisgICAgICAgICJnbC5nZXRCdWZmZXJQYXJhbWV0ZXIoZ2wuQVJSQVlfQlVG
RkVSLCBnbC5CVUZGRVJfU0laRSkiLAorICAgICAgICAiZ2wuZ2V0Q29udGV4dEF0dHJpYnV0ZXMo
KSIsCisgICAgICAgICJnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJB
TUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5U
X09CSkVDVF9OQU1FKSIsCisgICAgICAgICJnbC5nZXRQYXJhbWV0ZXIoZ2wuQ1VSUkVOVF9QUk9H
UkFNKSIsCisgICAgICAgICJnbC5nZXRQcm9ncmFtSW5mb0xvZyhwcm9ncmFtKSIsCisgICAgICAg
ICJnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2dyYW0sIGdsLkxJTktfU1RBVFVTKSIsCisgICAg
ICAgICJnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5E
RVJCVUZGRVJfV0lEVEgpIiwKKyAgICAgICAgImdsLmdldFNoYWRlckluZm9Mb2coc2hhZGVyKSIs
CisgICAgICAgICJnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc2hhZGVyLCBnbC5TSEFERVJfVFlQRSki
LAorICAgICAgICAiZ2wuZ2V0U2hhZGVyU291cmNlKHNoYWRlcikiLAorICAgICAgICAiZ2wuZ2V0
VGV4UGFyYW1ldGVyKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TKSIsCisgICAgICAg
ICJnbC5nZXRVbmlmb3JtKHByb2dyYW0sIHVuaWZvcm1Mb2NhdGlvbikiLAorICAgICAgICAiZ2wu
Z2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICd2UG9zaXRpb24nKSIsCisgICAgICAgICJnbC5n
ZXRWZXJ0ZXhBdHRyaWIoMCwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9CVUZGRVJfQklORElORyki
LAorICAgICAgICAiZ2wuZ2V0U3VwcG9ydGVkRXh0ZW5zaW9ucygpIiwKKyAgICAgICAgImdsLmdl
dEV4dGVuc2lvbignIiArIGV4dGVuc2lvbl9uYW1lICsgIicpIiwKKyAgICBdOworICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgbnVsbFRlc3RzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHNob3VsZEJl
TnVsbChudWxsVGVzdHNbaV0pOworICAgIH0KKworICAgIC8vICJJcyIgcXVlcmllcyBzaG91bGQg
YWxsIHJldHVybiBmYWxzZS4KKyAgICBzaG91bGRCZUZhbHNlKCJnbC5pc0J1ZmZlcihidWZmZXIp
Iik7CisgICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNFbmFibGVkKGdsLkJMRU5EKSIpOworICAgIHNo
b3VsZEJlRmFsc2UoImdsLmlzRnJhbWVidWZmZXIoZnJhbWVidWZmZXIpIik7CisgICAgc2hvdWxk
QmVGYWxzZSgiZ2wuaXNQcm9ncmFtKHByb2dyYW0pIik7CisgICAgc2hvdWxkQmVGYWxzZSgiZ2wu
aXNSZW5kZXJidWZmZXIocmVuZGVyYnVmZmVyKSIpOworICAgIHNob3VsZEJlRmFsc2UoImdsLmlz
U2hhZGVyKHNoYWRlcikiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJnbC5pc1RleHR1cmUodGV4dHVy
ZSkiKTsKKworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7CisK
KyAgICBmaW5pc2goKTsKK30KKworZnVuY3Rpb24gZmluaXNoKCkgeworICAgIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7CisgICAgdmFyIGVwaWxvZ3VlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgic2NyaXB0Iik7CisgICAgZXBpbG9ndWUub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAg
IGlmICh3aW5kb3cubm9uS2hyb25vc0ZyYW1ld29ya05vdGlmeURvbmUpCisgICAgICAgICAgICB3
aW5kb3cubm9uS2hyb25vc0ZyYW1ld29ya05vdGlmeURvbmUoKTsKKyAgICB9OworICAgIGVwaWxv
Z3VlLnNyYyA9ICIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIjsKKyAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGVwaWxvZ3VlKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHkgb25sb2FkPSJpbml0KCkiPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJjYW52YXMiPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggMzM0ZDU2YWI2YjIzYmM0NjIzZjAzYTFmY2UzZmM0YmZkOTE5YjFiOC4u
ZTUyZDRhNmVkMjcwODcxYzE0NmM3NjhkYWRmZGRjNjU4ZDQzOTk4MiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yODMs
NiArMjgzLDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgaHRtbC9jYW52YXMvQ2FudmFz
UGF0dGVybi5pZGwKICAgICBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRs
CiAgICAgaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5pZGwKKyAgICBodG1sL2Nh
bnZhcy9DaHJvbWl1bUxvc2VDb250ZXh0LmlkbAogICAgIGh0bWwvY2FudmFzL0RhdGFWaWV3Lmlk
bAogICAgIGh0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5pZGwKICAgICBodG1sL2NhbnZhcy9JbnQx
NkFycmF5LmlkbApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCBkYmE1NDQxMGZmOGZkYTI3NDE0OGE4ZjdmZmE1MDc1ZjZjOTI5ZjQ0Li42NTU3
OTMwZjMwZTZlZWZkZjgyNDRlNTJiZjk1ODBiMjk3OTI2NDg4IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEw
LTEyLTIyICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIENIUk9NSVVNX2xvc2VfY29u
dGV4dCBXZWJHTCBleHRlbnNpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01MTQ5MgorCisgICAgICAgIFRlc3RzOiBmYXN0L2NhbnZhcy93ZWJnbC9j
b250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9jYW52YXMvd2Vi
Z2wvY29udGV4dC1sb3N0Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAg
ICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdl
YkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKFdlYkNvcmU6OkpTV2ViR0xSZW5k
ZXJpbmdDb250ZXh0OjpnZXRTdXBwb3J0ZWRFeHRlbnNpb25zKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6dG9WOE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpWOFdlYkdMUmVuZGVyaW5n
Q29udGV4dDo6Z2V0U3VwcG9ydGVkRXh0ZW5zaW9uc0NhbGxiYWNrKToKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9DaHJvbWl1bUxvc2VDb250ZXh0LmNwcDogQ29waWVkIGZyb20gV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oLgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1Mb3Nl
Q29udGV4dDo6Q2hyb21pdW1Mb3NlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1
bUxvc2VDb250ZXh0Ojp+Q2hyb21pdW1Mb3NlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpD
aHJvbWl1bUxvc2VDb250ZXh0OjpnZXROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVt
TG9zZUNvbnRleHQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bUxvc2VDb250
ZXh0Ojpsb3NlQ29udGV4dCk6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29u
dGV4dC5oOiBDb3BpZWQgZnJvbSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgu
CisgICAgICAgICogaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5pZGw6IENvcGllZCBm
cm9tIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaC4KKyAgICAgICAgKiBodG1s
L2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OmdldEV4dGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OmdldFN1cHBvcnRlZEV4dGVuc2lvbnMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5k
ZXJpbmdDb250ZXh0Ojpmb3JjZUxvc2VDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdM
UmVuZGVyaW5nQ29udGV4dDo6Z2V0TnVtYmVyT2ZFeHRlbnNpb25zKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0RXh0ZW5zaW9uTnVtYmVyKToKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaDoKKwogMjAxMC0xMi0yMSAgUGF2
ZWwgUG9kaXZpbG92ICA8cG9kaXZpbG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBZdXJ5IFNlbWlraGF0c2t5LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGZiMTNhZmVhNzk3ZmI0
NzhhOWQ3NGY2ZTcwOWJjZGMxMjkwOGU2OGIuLjYxM2NiMDFmMDdhNzE5NTVlMDdiMTNjYjA3YzBm
MzQ3NGU1OGRlYWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTY4LDYgKzY4LDcgQEAgRE9NX0NMQVNT
RVMgPSBcCiAgICAgQXVkaW9QYXJhbSBcCiAgICAgQXVkaW9Qcm9jZXNzaW5nRXZlbnQgXAogICAg
IEF1ZGlvU291cmNlTm9kZSBcCisgICAgQ2hyb21pdW1Mb3NlQ29udGV4dCBcCiAgICAgQ29udm9s
dmVyTm9kZSBcCiAgICAgRGVsYXlOb2RlIFwKICAgICBIaWdoUGFzczJGaWx0ZXJOb2RlIFwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFt
CmluZGV4IDljZmJmM2JmNGUzMmQyNWFmYWQ2NTNlYzk4YWY1YzlhODQyNDhlNDUuLjJkYWQwNTFl
OWI1YjAxNGMwNmZhMTczNzVjMTZlNzQwOWU5MjU2MDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTQ1LDYgKzE0NSw4
IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0NEQVRBU2VjdGlvbi5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2hhcmFjdGVyRGF0
YS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDaGFyYWN0ZXJEYXRhLmggXAorCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDaHJvbWl1bUxvc2VDb250ZXh0LmNwcCBcCisJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0Nocm9taXVtTG9zZUNvbnRleHQuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0NsaWVudFJlY3QuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
Q2xpZW50UmVjdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2xpZW50UmVjdExpc3Qu
Y3BwIFwKQEAgLTE1NzIsNiArMTU3NCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29y
ZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmggXAogCVdlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzU3R5bGUuY3BwIFwKIAlXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxl
LmggXAorCVdlYkNvcmUvaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5jcHAgXAorCVdl
YkNvcmUvaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5oIFwKIAlXZWJDb3JlL2h0bWwv
Y2FudmFzL0Zsb2F0MzJBcnJheS5jcHAgXAogCVdlYkNvcmUvaHRtbC9jYW52YXMvRmxvYXQzMkFy
cmF5LmggXAogCVdlYkNvcmUvaHRtbC9jYW52YXMvSW50MTZBcnJheS5jcHAgXApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBmY2E4
Y2ZjNDJkMjRiNzE4OWRlOThhYWExZmY2ZWY5OTRjMjc0NTE4Li5mNWQ0MjQ3ZjEwM2JlMmRjNjFh
YzI4NWI4YTE5MzBkZDhmZWJhZDMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQor
KysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjA4LDYgKzIwOCw3IEBACiAgICAgICAgICAg
ICAnaHRtbC9jYW52YXMvQ2FudmFzUGl4ZWxBcnJheS5pZGwnLAogICAgICAgICAgICAgJ2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaWRsJywKICAgICAgICAgICAgICdodG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsJywKKyAgICAgICAgICAgICdodG1sL2Nh
bnZhcy9DaHJvbWl1bUxvc2VDb250ZXh0LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMv
RGF0YVZpZXcuaWRsJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRs
JywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9JbnQxNkFycmF5LmlkbCcsCkBAIC0xOTA3LDYg
KzE5MDgsOCBAQAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcCcsCiAg
ICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaCcsCiAgICAgICAgICAgICAnaHRt
bC9jYW52YXMvQ2hlY2tlZEludC5oJywKKyAgICAgICAgICAgICdodG1sL2NhbnZhcy9DaHJvbWl1
bUxvc2VDb250ZXh0LmNwcCcsCisgICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3Nl
Q29udGV4dC5oJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9EYXRhVmlldy5jcHAnLAogICAg
ICAgICAgICAgJ2h0bWwvY2FudmFzL0RhdGFWaWV3LmgnLAogICAgICAgICAgICAgJ2h0bWwvY2Fu
dmFzL0Zsb2F0MzJBcnJheS5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBi
L1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggYmMzZjU5NTIzODE1MTE4MTA0Yzg2YTM3YmRkZjgx
N2ZjZjlkOGU3NC4uNmJmNzlkNTk3YWI3Mjc2NWRkODgxMzU5MDdhZDM1YjM4MjQzYzJlMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBA
IC0xODQsNiArMTg0LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBmaWxlYXBpL01ldGFkYXRh
Q2FsbGJhY2suaWRsIFwKICAgICBodG1sL2NhbnZhcy9BcnJheUJ1ZmZlclZpZXcuaWRsIFwKICAg
ICBodG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5pZGwgXAorICAgIGh0bWwvY2FudmFzL0Nocm9taXVt
TG9zZUNvbnRleHQuaWRsIFwKICAgICBodG1sL2NhbnZhcy9EYXRhVmlldy5pZGwgXAogICAgIGh0
bWwvY2FudmFzL0ludDhBcnJheS5pZGwgXAogICAgIGh0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5p
ZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5w
cm8KaW5kZXggY2RjM2ExMjQ2Y2EwODcxYTE3ZmIwYmEyOGE3YzJkZTM0MmZlYjk5OS4uOGM5Njk3
OWY2NGE4MmZmNGM2YzZmOTI1MTE1NjI5YjQ3YWI5MDNkNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zNzc4LDYgKzM3NzgsNyBA
QCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfM0RfQ0FOVkFTPTEpIHsKIAogICAgIEhFQURFUlMg
Kz0gXAogICAgICAgICBodG1sL2NhbnZhcy9DYW52YXNDb250ZXh0QXR0cmlidXRlcy5oIFwKKyAg
ICAgICAgaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5oIFwKICAgICAgICAgaHRtbC9j
YW52YXMvV2ViR0xPYmplY3QuaCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5m
by5oIFwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaCBcCkBAIC0zODAyLDYgKzM4
MDMsNyBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfM0RfQ0FOVkFTPTEpIHsKICAgICB9CiAg
ICAgU09VUkNFUyArPSBcCiAgICAgICAgIGh0bWwvY2FudmFzL0NhbnZhc0NvbnRleHRBdHRyaWJ1
dGVzLmNwcCBcCisgICAgICAgIGh0bWwvY2FudmFzL0Nocm9taXVtTG9zZUNvbnRleHQuY3BwIFwK
ICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xPYmplY3QuY3BwIFwKICAgICAgICAgaHRtbC9jYW52
YXMvV2ViR0xCdWZmZXIuY3BwIFwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0QXR0
cmlidXRlcy5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCAwZWQ5MzIwODY3ODEyNTc4ZDU2YWI4ZDc2NTNiYmJhMmIzNmIxYzVhLi41OTE4NDI5MjY5
ODZkZWVmODM2YjlmNTllMzA5YjUyZjUyYjYxNTcyIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjgyNCw2ICsyODI0LDExIEBACiAJCTkzNjI2NDBCMERF
MTEzN0QwMDlENUEwMCAvKiBDU1NSZWZsZWN0aW9uRGlyZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzYyNjQwQTBERTExMzdEMDA5RDVBMDAg
LyogQ1NTUmVmbGVjdGlvbkRpcmVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTkzNjNCNjJDMEY4RThGRTAwMDgwMzgxMCAvKiBIaXN0b3J5
UHJvcGVydHlMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzNjNCNjJBMEY4RThGRTAwMDgwMzgxMCAvKiBIaXN0b3J5UHJvcGVydHlMaXN0LmNw
cCAqLzsgfTsKIAkJOTM2M0I2MkQwRjhFOEZFMDAwODAzODEwIC8qIEhpc3RvcnlQcm9wZXJ0eUxp
c3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNjNC
NjJCMEY4RThGRTAwMDgwMzgxMCAvKiBIaXN0b3J5UHJvcGVydHlMaXN0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTM3MkRBRkYxMkMxNzdCOTAw
QUQ2MDFFIC8qIENocm9taXVtTG9zZUNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM3MkRBRkMxMkMxNzdCOTAwQUQ2MDFFIC8qIENocm9t
aXVtTG9zZUNvbnRleHQuY3BwICovOyB9OworCQk5MzcyREIwMDEyQzE3N0I5MDBBRDYwMUUgLyog
Q2hyb21pdW1Mb3NlQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTM3MkRBRkQxMkMxNzdCOTAwQUQ2MDFFIC8qIENocm9taXVtTG9zZUNvbnRl
eHQuaCAqLzsgfTsKKwkJOTM3MkRCMDExMkMxNzdCOTAwQUQ2MDFFIC8qIENocm9taXVtTG9zZUNv
bnRleHQuaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5MzcyREFGRTEyQzE3N0I5MDBBRDYwMUUgLyogQ2hyb21pdW1Mb3NlQ29udGV4dC5pZGwgKi87
IH07CisJCTkzNzJEQzVGMTJDMTg3NDYwMEFENjAxRSAvKiBKU0Nocm9taXVtTG9zZUNvbnRleHQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM3MkRD
NUQxMkMxODc0NjAwQUQ2MDFFIC8qIEpTQ2hyb21pdW1Mb3NlQ29udGV4dC5jcHAgKi87IH07CisJ
CTkzNzJEQzYwMTJDMTg3NDYwMEFENjAxRSAvKiBKU0Nocm9taXVtTG9zZUNvbnRleHQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNzJEQzVFMTJDMTg3
NDYwMEFENjAxRSAvKiBKU0Nocm9taXVtTG9zZUNvbnRleHQuaCAqLzsgfTsKIAkJOTM3OTlFRjgw
QkYyNzQzNjAwRDBGMjMwIC8qIFJlbmRlcldvcmRCcmVhay5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5Mzc5OUVGNjBCRjI3NDM2MDBEMEYyMzAgLyog
UmVuZGVyV29yZEJyZWFrLmNwcCAqLzsgfTsKIAkJOTM3OTlFRjkwQkYyNzQzNjAwRDBGMjMwIC8q
IFJlbmRlcldvcmRCcmVhay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTM3OTlFRjcwQkYyNzQzNjAwRDBGMjMwIC8qIFJlbmRlcldvcmRCcmVhay5oICov
OyB9OwogCQk5MzgwRjQ3MzA5QTExQUI0MDAxRkRCMzQgLyogV2lkZ2V0LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzODBGNDcxMDlBMTFBQjQwMDFG
REIzNCAvKiBXaWRnZXQuY3BwICovOyB9OwpAQCAtOTE2Niw2ICs5MTcxLDExIEBACiAJCTkzNjNC
NjJBMEY4RThGRTAwMDgwMzgxMCAvKiBIaXN0b3J5UHJvcGVydHlMaXN0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhpc3RvcnlQcm9wZXJ0eUxpc3QuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzYzQjYyQjBGOEU4RkUwMDA4MDM4MTAgLyogSGlz
dG9yeVByb3BlcnR5TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIaXN0
b3J5UHJvcGVydHlMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzNkREMDNB
MDlDRUFDMjcwMDU2QUU4QyAvKiBSYW5nZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmFu
Z2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5MzcyREFGQzEyQzE3N0I5MDBB
RDYwMUUgLyogQ2hyb21pdW1Mb3NlQ29udGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBDaHJvbWl1bUxvc2VDb250ZXh0LmNwcDsgcGF0aCA9IGNhbnZhcy9DaHJv
bWl1bUxvc2VDb250ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTM3MkRB
RkQxMkMxNzdCOTAwQUQ2MDFFIC8qIENocm9taXVtTG9zZUNvbnRleHQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gQ2hyb21pdW1Mb3NlQ29udGV4dC5oOyBwYXRoID0gY2FudmFz
L0Nocm9taXVtTG9zZUNvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTM3
MkRBRkUxMkMxNzdCOTAwQUQ2MDFFIC8qIENocm9taXVtTG9zZUNvbnRleHQuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgbmFtZSA9IENocm9taXVtTG9zZUNvbnRleHQuaWRsOyBwYXRoID0gY2FudmFzL0No
cm9taXVtTG9zZUNvbnRleHQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5Mzcy
REM1RDEyQzE4NzQ2MDBBRDYwMUUgLyogSlNDaHJvbWl1bUxvc2VDb250ZXh0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEpTQ2hyb21pdW1Mb3NlQ29udGV4dC5jcHA7
IHBhdGggPSAuLi9XZWJLaXRCdWlsZC9EZWJ1Zy9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2hy
b21pdW1Mb3NlQ29udGV4dC5jcHA7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKKwkJOTM3
MkRDNUUxMkMxODc0NjAwQUQ2MDFFIC8qIEpTQ2hyb21pdW1Mb3NlQ29udGV4dC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBKU0Nocm9taXVtTG9zZUNvbnRleHQuaDsgcGF0aCA9
IC4uL1dlYktpdEJ1aWxkL0RlYnVnL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDaHJvbWl1bUxv
c2VDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJOTM3OTlFRjYwQkYy
NzQzNjAwRDBGMjMwIC8qIFJlbmRlcldvcmRCcmVhay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBSZW5kZXJXb3JkQnJlYWsuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5Mzc5OUVGNzBCRjI3NDM2MDBEMEYyMzAgLyogUmVuZGVyV29yZEJyZWFrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlcldvcmRCcmVhay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzgwRjQ3MTA5QTExQUI0MDAxRkRCMzQgLyogV2lk
Z2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXaWRnZXQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMwNjIsNiArMTMwNzIsOSBAQAogCQkJ
CTQ5NDg0RkI0MTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNHcmFkaWVudC5oICovLAogCQkJCTQ5
NDg0RkI1MTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNHcmFkaWVudC5pZGwgKi8sCiAJCQkJNDk0
ODRGQjYxMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc1BhdHRlcm4uY3BwICovLAorCQkJCTkzNzJE
QUZDMTJDMTc3QjkwMEFENjAxRSAvKiBDaHJvbWl1bUxvc2VDb250ZXh0LmNwcCAqLywKKwkJCQk5
MzcyREFGRDEyQzE3N0I5MDBBRDYwMUUgLyogQ2hyb21pdW1Mb3NlQ29udGV4dC5oICovLAorCQkJ
CTkzNzJEQUZFMTJDMTc3QjkwMEFENjAxRSAvKiBDaHJvbWl1bUxvc2VDb250ZXh0LmlkbCAqLywK
IAkJCQk0OTQ4NEZCNzEwMkNGMjNDMDAxODdERDMgLyogQ2FudmFzUGF0dGVybi5oICovLAogCQkJ
CTQ5NDg0RkI4MTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNQYXR0ZXJuLmlkbCAqLywKIAkJCQk0
OTQ4NEZCOTEwMkNGMjNDMDAxODdERDMgLyogQ2FudmFzUGl4ZWxBcnJheS5jcHAgKi8sCkBAIC0x
NTc5NSw2ICsxNTgwOCw4IEBACiAJCUE4M0I3OTA4MENDQUZGMkIwMDBCMDgyNSAvKiBIVE1MICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk5MzcyREM1RDEy
QzE4NzQ2MDBBRDYwMUUgLyogSlNDaHJvbWl1bUxvc2VDb250ZXh0LmNwcCAqLywKKwkJCQk5Mzcy
REM1RTEyQzE4NzQ2MDBBRDYwMUUgLyogSlNDaHJvbWl1bUxvc2VDb250ZXh0LmggKi8sCiAJCQkJ
NDlFRUNFRjIxMDUwNzBDNDAwMDk5RkFCIC8qIEpTQXJyYXlCdWZmZXIuY3BwICovLAogCQkJCTQ5
RUVDRUYzMTA1MDcwQzQwMDA5OUZBQiAvKiBKU0FycmF5QnVmZmVyLmggKi8sCiAJCQkJNDlFRUNG
MTkxMDUwNzJGMzAwMDk5RkFCIC8qIEpTQXJyYXlCdWZmZXJWaWV3LmNwcCAqLywKQEAgLTIyMjE4
LDYgKzIyMjMzLDggQEAKIAkJCQk2RUJGMEU0OTEyQTg5MjYxMDBEQjE3MDkgLyogT0VTVGV4dHVy
ZUZsb2F0LmggaW4gSGVhZGVycyAqLywKIAkJCQk2RUJGMEU1NTEyQTg5Mjk4MDBEQjE3MDkgLyog
V2ViR0xFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTZFQkYwRTc3MTJBOTg2ODgwMERC
MTcwOSAvKiBKU09FU1RleHR1cmVGbG9hdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTM3MkRCMDAx
MkMxNzdCOTAwQUQ2MDFFIC8qIENocm9taXVtTG9zZUNvbnRleHQuaCBpbiBIZWFkZXJzICovLAor
CQkJCTkzNzJEQzYwMTJDMTg3NDYwMEFENjAxRSAvKiBKU0Nocm9taXVtTG9zZUNvbnRleHQuaCBp
biBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpAQCAtMjIzNDAsNiArMjIzNTcsNyBAQAogCQkJCTg1MTM2Q0E4MEFFRDY2
NTkwMEY5MEEzRCAvKiB3ZXN0UmVzaXplQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJ
MUFCMUFFN0EwQzA1MUZERTAwMTM5RjRGIC8qIHpvb21JbkN1cnNvci5wbmcgaW4gUmVzb3VyY2Vz
ICovLAogCQkJCTFBQjFBRTdCMEMwNTFGREUwMDEzOUY0RiAvKiB6b29tT3V0Q3Vyc29yLnBuZyBp
biBSZXNvdXJjZXMgKi8sCisJCQkJOTM3MkRCMDExMkMxNzdCOTAwQUQ2MDFFIC8qIENocm9taXVt
TG9zZUNvbnRleHQuaWRsIGluIFJlc291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVw
bG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI0ODkwLDYgKzI0OTA4LDggQEAK
IAkJCQk2RUJGMEU0ODEyQTg5MjYxMDBEQjE3MDkgLyogT0VTVGV4dHVyZUZsb2F0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTZFQkYwRTU0MTJBODkyOTgwMERCMTcwOSAvKiBXZWJHTEV4dGVuc2lv
bi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RUJGMEU3NjEyQTk4Njg4MDBEQjE3MDkgLyogSlNP
RVNUZXh0dXJlRmxvYXQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTM3MkRBRkYxMkMxNzdCOTAw
QUQ2MDFFIC8qIENocm9taXVtTG9zZUNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTM3
MkRDNUYxMkMxODc0NjAwQUQ2MDFFIC8qIEpTQ2hyb21pdW1Mb3NlQ29udGV4dC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0g
MDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmlu
Z0NvbnRleHRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5n
Q29udGV4dEN1c3RvbS5jcHAKaW5kZXggZTE5NjNkYTVkZDE5ODM4Y2QwOWVkYjc4ZWViNWZiYzJi
MjhmYTQ2NC4uMWIxOGIzOWNiNjFmYjliM2IxODk4MjEyNjgwYThhNmY1MTMwNWE5ZCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5j
cHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3Rv
bS5jcHAKQEAgLTI5LDkgKzI5LDExIEBACiAKICNpbmNsdWRlICJKU1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5oIgogCisjaW5jbHVkZSAiQ2hyb21pdW1Mb3NlQ29udGV4dC5oIgogI2luY2x1ZGUgIkV4
Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJIVE1MQ2FudmFzRWxlbWVudC5oIgogI2luY2x1ZGUg
IkhUTUxJbWFnZUVsZW1lbnQuaCIKKyNpbmNsdWRlICJKU0Nocm9taXVtTG9zZUNvbnRleHQuaCIK
ICNpbmNsdWRlICJKU0hUTUxDYW52YXNFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNIVE1MSW1hZ2VF
bGVtZW50LmgiCiAjaW5jbHVkZSAiSlNJbWFnZURhdGEuaCIKQEAgLTE2OSw2ICsxNzEsOCBAQCBz
dGF0aWMgSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgV2ViR0xFeHRlbgogICAgIGlmICghZXh0ZW5zaW9uKQogICAgICAgICByZXR1
cm4ganNOdWxsKCk7CiAgICAgc3dpdGNoIChleHRlbnNpb24tPmdldE5hbWUoKSkgeworICAgIGNh
c2UgV2ViR0xFeHRlbnNpb246OkNocm9taXVtTG9zZUNvbnRleHROYW1lOgorICAgICAgICByZXR1
cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PENocm9taXVtTG9zZUNvbnRl
eHQqPihleHRlbnNpb24pKTsKICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNUZXh0dXJlRmxv
YXROYW1lOgogICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19j
YXN0PE9FU1RleHR1cmVGbG9hdCo+KGV4dGVuc2lvbikpOwogICAgIH0KQEAgLTMyMCw2ICszMjQs
OCBAQCBKU1ZhbHVlIEpTV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRTaGFkZXJQYXJhbWV0ZXIo
RXhlY1N0YXRlKiBleGVjKQogSlNWYWx1ZSBKU1dlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0U3Vw
cG9ydGVkRXh0ZW5zaW9ucyhFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgV2ViR0xSZW5kZXJpbmdD
b250ZXh0KiBjb250ZXh0ID0gc3RhdGljX2Nhc3Q8V2ViR0xSZW5kZXJpbmdDb250ZXh0Kj4oaW1w
bCgpKTsKKyAgICBpZiAoY29udGV4dC0+aXNDb250ZXh0TG9zdCgpKQorICAgICAgICByZXR1cm4g
anNOdWxsKCk7CiAgICAgVmVjdG9yPFN0cmluZz4gdmFsdWUgPSBjb250ZXh0LT5nZXRTdXBwb3J0
ZWRFeHRlbnNpb25zKCk7CiAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgbGlzdDsKICAgICBmb3Ig
KHNpemVfdCBpaSA9IDA7IGlpIDwgdmFsdWUuc2l6ZSgpOyArK2lpKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3Bw
IGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0
b20uY3BwCmluZGV4IDA0OGNlZjU3MzY2ZjYzYzdlMWE1YzZmNzZjMWY2YzQ0YmI5NmZiNTYuLmEw
OGQ2Yzk4NDRhOWJkNGVkN2M5ZDI4MGU4MGViOTczNjA2NWRhN2IgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAor
KysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1
c3RvbS5jcHAKQEAgLTM1LDM1ICszNSwzMyBAQAogI2luY2x1ZGUgIlY4V2ViR0xSZW5kZXJpbmdD
b250ZXh0LmgiCiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCi0KICNpbmNsdWRlICJOb3RJ
bXBsZW1lbnRlZC5oIgotCi0jaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KLQorI2luY2x1ZGUg
IlY4QXJyYXlCdWZmZXJWaWV3LmgiCiAjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCiAjaW5jbHVkZSAi
VjhCaW5kaW5nTWFjcm9zLmgiCi0jaW5jbHVkZSAiVjhBcnJheUJ1ZmZlclZpZXcuaCIKLSNpbmNs
dWRlICJWOFdlYkdMQnVmZmVyLmgiCi0jaW5jbHVkZSAiVjhJbnQ4QXJyYXkuaCIKKyNpbmNsdWRl
ICJWOENocm9taXVtTG9zZUNvbnRleHQuaCIKICNpbmNsdWRlICJWOEZsb2F0MzJBcnJheS5oIgot
I2luY2x1ZGUgIlY4V2ViR0xGcmFtZWJ1ZmZlci5oIgotI2luY2x1ZGUgIlY4SW50MzJBcnJheS5o
IgotI2luY2x1ZGUgIlY4V2ViR0xQcm9ncmFtLmgiCi0jaW5jbHVkZSAiVjhXZWJHTFJlbmRlcmJ1
ZmZlci5oIgotI2luY2x1ZGUgIlY4V2ViR0xTaGFkZXIuaCIKLSNpbmNsdWRlICJWOEludDE2QXJy
YXkuaCIKLSNpbmNsdWRlICJWOFdlYkdMVGV4dHVyZS5oIgotI2luY2x1ZGUgIlY4V2ViR0xVbmlm
b3JtTG9jYXRpb24uaCIKLSNpbmNsdWRlICJWOFVpbnQ4QXJyYXkuaCIKLSNpbmNsdWRlICJWOFVp
bnQzMkFycmF5LmgiCi0jaW5jbHVkZSAiVjhVaW50MTZBcnJheS5oIgogI2luY2x1ZGUgIlY4SFRN
TENhbnZhc0VsZW1lbnQuaCIKICNpbmNsdWRlICJWOEhUTUxJbWFnZUVsZW1lbnQuaCIKICNpbmNs
dWRlICJWOEhUTUxWaWRlb0VsZW1lbnQuaCIKICNpbmNsdWRlICJWOEltYWdlRGF0YS5oIgorI2lu
Y2x1ZGUgIlY4SW50MTZBcnJheS5oIgorI2luY2x1ZGUgIlY4SW50MzJBcnJheS5oIgorI2luY2x1
ZGUgIlY4SW50OEFycmF5LmgiCiAjaW5jbHVkZSAiVjhPRVNUZXh0dXJlRmxvYXQuaCIKICNpbmNs
dWRlICJWOFByb3h5LmgiCisjaW5jbHVkZSAiVjhVaW50MTZBcnJheS5oIgorI2luY2x1ZGUgIlY4
VWludDMyQXJyYXkuaCIKKyNpbmNsdWRlICJWOFVpbnQ4QXJyYXkuaCIKKyNpbmNsdWRlICJWOFdl
YkdMQnVmZmVyLmgiCisjaW5jbHVkZSAiVjhXZWJHTEZyYW1lYnVmZmVyLmgiCisjaW5jbHVkZSAi
VjhXZWJHTFByb2dyYW0uaCIKKyNpbmNsdWRlICJWOFdlYkdMUmVuZGVyYnVmZmVyLmgiCisjaW5j
bHVkZSAiVjhXZWJHTFNoYWRlci5oIgorI2luY2x1ZGUgIlY4V2ViR0xUZXh0dXJlLmgiCisjaW5j
bHVkZSAiVjhXZWJHTFVuaWZvcm1Mb2NhdGlvbi5oIgogI2luY2x1ZGUgIldlYkdMUmVuZGVyaW5n
Q29udGV4dC5oIgorI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMTU5LDYgKzE1Nyw5IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
dG9WOE9iamVjdChXZWJHTEV4dGVuc2lvbiogZXh0ZW5zaW9uLCB2ODo6SGFuZGxlPHY4CiAgICAg
ICAgIHJldHVybiB2ODo6TnVsbCgpOwogICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBleHRlbnNp
b25PYmplY3Q7CiAgICAgc3dpdGNoIChleHRlbnNpb24tPmdldE5hbWUoKSkgeworICAgIGNhc2Ug
V2ViR0xFeHRlbnNpb246OkNocm9taXVtTG9zZUNvbnRleHROYW1lOgorICAgICAgICBleHRlbnNp
b25PYmplY3QgPSB0b1Y4KHN0YXRpY19jYXN0PENocm9taXVtTG9zZUNvbnRleHQqPihleHRlbnNp
b24pKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVGV4dHVy
ZUZsb2F0TmFtZToKICAgICAgICAgZXh0ZW5zaW9uT2JqZWN0ID0gdG9WOChzdGF0aWNfY2FzdDxP
RVNUZXh0dXJlRmxvYXQqPihleHRlbnNpb24pKTsKICAgICAgICAgYnJlYWs7CkBAIC0zNzUsNiAr
Mzc2LDkgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpn
ZXRTdXBwb3J0ZWRFeHRlbnNpb25zQ2FsbGJhY2soY28KIHsKICAgICBJTkNfU1RBVFMoIkRPTS5X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0U3VwcG9ydGVkRXh0ZW5zaW9uc0NhbGxiYWNrKCkiKTsK
ICAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGltcCA9IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0
Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKKyAgICBpZiAoaW1wLT5pc0NvbnRleHRMb3N0KCkp
CisgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworCiAgICAgVmVjdG9yPFN0cmluZz4gdmFsdWUg
PSBpbXAtPmdldFN1cHBvcnRlZEV4dGVuc2lvbnMoKTsKICAgICB2ODo6TG9jYWw8djg6OkFycmF5
PiBhcnJheSA9IHY4OjpBcnJheTo6TmV3KHZhbHVlLnNpemUoKSk7CiAgICAgZm9yIChzaXplX3Qg
aWkgPSAwOyBpaSA8IHZhbHVlLnNpemUoKTsgKytpaSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5jcHAgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0No
cm9taXVtTG9zZUNvbnRleHQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1NjllYjVmMjMzZWJmZTdhMzJhYjRk
OGE4YmVjYzBjYzcxMGJmZTkKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFz
L0Nocm9taXVtTG9zZUNvbnRleHQuY3BwCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorCisjaW5jbHVkZSAiQ2hyb21p
dW1Mb3NlQ29udGV4dC5oIgorCisjaW5jbHVkZSAiV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ2hyb21pdW1Mb3NlQ29udGV4dDo6Q2hyb21pdW1Mb3Nl
Q29udGV4dChXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQpCisgICAgOiBXZWJHTEV4dGVu
c2lvbigpCisgICAgLCBtX2NvbnRleHQoY29udGV4dCkKK3sKK30KKworQ2hyb21pdW1Mb3NlQ29u
dGV4dDo6fkNocm9taXVtTG9zZUNvbnRleHQoKQoreworfQorCitXZWJHTEV4dGVuc2lvbjo6RXh0
ZW5zaW9uTmFtZSBDaHJvbWl1bUxvc2VDb250ZXh0OjpnZXROYW1lKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gQ2hyb21pdW1Mb3NlQ29udGV4dE5hbWU7Cit9CisKK1Bhc3NSZWZQdHI8Q2hyb21pdW1M
b3NlQ29udGV4dD4gQ2hyb21pdW1Mb3NlQ29udGV4dDo6Y3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29u
dGV4dCogY29udGV4dCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IENocm9taXVtTG9zZUNv
bnRleHQoY29udGV4dCkpOworfQorCit2b2lkIENocm9taXVtTG9zZUNvbnRleHQ6Omxvc2VDb250
ZXh0KCkKK3sKKyAgICBtX2NvbnRleHQtPmZvcmNlTG9zZUNvbnRleHQoKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5oIGIvV2ViQ29yZS9o
dG1sL2NhbnZhcy9DaHJvbWl1bUxvc2VDb250ZXh0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2FkNGFiMWU1NGZk
N2I4OTM0MDgzODcxMmQ2YWQ0MzVjMmJlOTcyYQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUv
aHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICog
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIENocm9taXVtTG9zZUNvbnRleHRfaAorI2RlZmluZSBDaHJvbWl1bUxvc2VDb250
ZXh0X2gKKworI2luY2x1ZGUgIldlYkdMRXh0ZW5zaW9uLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIFdlYkdMUmVuZGVyaW5nQ29udGV4dDsKKworY2xhc3MgQ2hyb21pdW1Mb3Nl
Q29udGV4dCA6IHB1YmxpYyBXZWJHTEV4dGVuc2lvbiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBh
c3NSZWZQdHI8Q2hyb21pdW1Mb3NlQ29udGV4dD4gY3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4
dCopOworCisgICAgdmlydHVhbCB+Q2hyb21pdW1Mb3NlQ29udGV4dCgpOworICAgIHZpcnR1YWwg
RXh0ZW5zaW9uTmFtZSBnZXROYW1lKCkgY29uc3Q7CisKKyAgICB2b2lkIGxvc2VDb250ZXh0KCk7
CisKK3ByaXZhdGU6CisgICAgQ2hyb21pdW1Mb3NlQ29udGV4dChXZWJHTFJlbmRlcmluZ0NvbnRl
eHQqKTsKKworICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dCogbV9jb250ZXh0OworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ2hyb21pdW1Mb3NlQ29udGV4dF9oCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL0Nocm9taXVtTG9zZUNvbnRleHQuaWRsIGIv
V2ViQ29yZS9odG1sL2NhbnZhcy9DaHJvbWl1bUxvc2VDb250ZXh0LmlkbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
ZjhmZTBjNjU4MDU1ZWViMTNmOTI2OTJlMzIxZTBiNGVjMTEzZGYxCi0tLSAvZGV2L251bGwKKysr
IGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DaHJvbWl1bUxvc2VDb250ZXh0LmlkbApAQCAtMCwwICsx
LDMwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworbW9kdWxlIGh0bWwgeworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9
M0RfQ0FOVkFTLCBPbWl0Q29uc3RydWN0b3JdIENocm9taXVtTG9zZUNvbnRleHQgeworICAgICAg
ICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkIGxvc2VDb250ZXh0KCk7CisgICAgfTsKK30KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaCBiL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaAppbmRleCAzZGYzYjczMmI3NDE4NTcxNDQzNWYx
MmQ3MWQ3NDRkZGI4ZWI4NDE5Li4yOTZhYjQxNmMwNzljZjQyM2NmYzI1MjI0NWNhYjA3ZGNjOTcz
YWIxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKKysr
IGIvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCkBAIC0zNCw3ICszNCw4IEBA
IGNsYXNzIFdlYkdMRXh0ZW5zaW9uIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViR0xFeHRlbnNpb24+
IHsKIHB1YmxpYzoKICAgICAvLyBFeHRlbnNpb24gbmFtZXMgYXJlIG5lZWRlZCB0byBwcm9wZXJs
eSB3cmFwIGluc3RhbmNlcyBpbiBKYXZhU2NyaXB0IG9iamVjdHMuCiAgICAgZW51bSBFeHRlbnNp
b25OYW1lIHsKLSAgICAgICAgT0VTVGV4dHVyZUZsb2F0TmFtZQorICAgICAgICBDaHJvbWl1bUxv
c2VDb250ZXh0TmFtZSwKKyAgICAgICAgT0VTVGV4dHVyZUZsb2F0TmFtZSwKICAgICB9OwogCiAg
ICAgdmlydHVhbCB+V2ViR0xFeHRlbnNpb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCA4Y2M0NTU1MGQ4OGZhOWY0NzI4ZWQzYjcwZmNi
NDk1MTFmZWNlMDdhLi44MTUwNzNhNDU1MmIwMDY4ODg0MTQ5YjA1ZmI2NjM5NDQ4ZmM1YjM4IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAK
KysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC0z
Miw2ICszMiw3IEBACiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKICNpbmNsdWRlICJDYW52YXNQ
aXhlbEFycmF5LmgiCiAjaW5jbHVkZSAiQ2hlY2tlZEludC5oIgorI2luY2x1ZGUgIkNocm9taXVt
TG9zZUNvbnRleHQuaCIKICNpbmNsdWRlICJDb25zb2xlLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93
LmgiCiAjaW5jbHVkZSAiRXh0ZW5zaW9uczNELmgiCkBAIC0xNDY2LDYgKzE0NjcsOSBAQCB1bnNp
Z25lZCBsb25nIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0RXJyb3IoKQogCiBXZWJHTEV4dGVu
c2lvbiogV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBu
YW1lKQogeworICAgIGlmIChpc0NvbnRleHRMb3N0KCkpCisgICAgICAgIHJldHVybiAwOworCiAg
ICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJPRVNfdGV4dHVyZV9mbG9hdCIpCiAgICAg
ICAgICYmIG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLT5zdXBwb3J0cygiR0xfT0VTX3RleHR1
cmVfZmxvYXQiKSkgewogICAgICAgICBpZiAoIW1fb2VzVGV4dHVyZUZsb2F0KSB7CkBAIC0xNDcz
LDYgKzE0NzcsMTAgQEAgV2ViR0xFeHRlbnNpb24qIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0
RXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgICAgIG1fb2VzVGV4dHVyZUZs
b2F0ID0gT0VTVGV4dHVyZUZsb2F0OjpjcmVhdGUoKTsKICAgICAgICAgfQogICAgICAgICByZXR1
cm4gbV9vZXNUZXh0dXJlRmxvYXQuZ2V0KCk7CisgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5n
Q2FzZShuYW1lLCAiQ0hST01JVU1fbG9zZV9jb250ZXh0IikpIHsKKyAgICAgICAgaWYgKCFtX2No
cm9taXVtTG9zZUNvbnRleHQpCisgICAgICAgICAgICBtX2Nocm9taXVtTG9zZUNvbnRleHQgPSBD
aHJvbWl1bUxvc2VDb250ZXh0OjpjcmVhdGUodGhpcyk7CisgICAgICAgIHJldHVybiBtX2Nocm9t
aXVtTG9zZUNvbnRleHQuZ2V0KCk7CiAgICAgfQogCiAgICAgcmV0dXJuIDA7CkBAIC0xODc4LDYg
KzE4ODYsNyBAQCBWZWN0b3I8U3RyaW5nPiBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFN1cHBv
cnRlZEV4dGVuc2lvbnMoKQogICAgIFZlY3RvcjxTdHJpbmc+IHJlc3VsdDsKICAgICBpZiAobV9j
b250ZXh0LT5nZXRFeHRlbnNpb25zKCktPnN1cHBvcnRzKCJHTF9PRVNfdGV4dHVyZV9mbG9hdCIp
KQogICAgICAgICByZXN1bHQuYXBwZW5kKCJPRVNfdGV4dHVyZV9mbG9hdCIpOworICAgIHJlc3Vs
dC5hcHBlbmQoIkNIUk9NSVVNX2xvc2VfY29udGV4dCIpOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKQEAgLTMzMDgsNiArMzMxNywxNiBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmll
d3BvcnQobG9uZyB4LCBsb25nIHksIHVuc2lnbmVkIGxvbmcgd2lkdGgsIHVuc2lnbgogICAgIGNs
ZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKK3ZvaWQgV2ViR0xSZW5kZXJpbmdD
b250ZXh0Ojpmb3JjZUxvc2VDb250ZXh0KCkKK3sKKyAgICBpZiAoaXNDb250ZXh0TG9zdCgpKSB7
CisgICAgICAgIG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6
OklOVkFMSURfT1BFUkFUSU9OKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fcmVz
dG9yZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKK30KKwogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6Omxvc2VDb250ZXh0KCkKIHsKICAgICBtX2NvbnRleHRMb3N0ID0gdHJ1ZTsKQEAgLTQxMjYs
MTEgKzQxNDUsMTYgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnJlc3RvcmVTdGF0ZXNB
ZnRlclZlcnRleEF0dHJpYjBTaW11bGF0aW9uKCkKIAogaW50IFdlYkdMUmVuZGVyaW5nQ29udGV4
dDo6Z2V0TnVtYmVyT2ZFeHRlbnNpb25zKCkKIHsKLSAgICByZXR1cm4gKG1fb2VzVGV4dHVyZUZs
b2F0ID8gMSA6IDApOworICAgIHJldHVybiAobV9jaHJvbWl1bUxvc2VDb250ZXh0ID8gMSA6IDAp
ICsgKG1fb2VzVGV4dHVyZUZsb2F0ID8gMSA6IDApOwogfQogCiBXZWJHTEV4dGVuc2lvbiogV2Vi
R0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb25OdW1iZXIoaW50IGkpCiB7CisgICAgaWYg
KG1fY2hyb21pdW1Mb3NlQ29udGV4dCkgeworICAgICAgICBpZiAoIWkpCisgICAgICAgICAgICBy
ZXR1cm4gbV9jaHJvbWl1bUxvc2VDb250ZXh0LmdldCgpOworICAgICAgICAtLWk7CisgICAgfQog
ICAgIGlmIChtX29lc1RleHR1cmVGbG9hdCkgewogICAgICAgICBpZiAoIWkpCiAgICAgICAgICAg
ICByZXR1cm4gbV9vZXNUZXh0dXJlRmxvYXQuZ2V0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuaAppbmRleCBmNGJkMDQ3ZTA5ZGRkYTliMjYxNDNkMDg4NzBj
ZjkyNTY4ZmQwZjU3Li4wNDdjZTFmZjJkOWMxM2MyNWVkMWFmZjNmZWExY2Q5YzYwOGE1MjcxIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCisr
KyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgKQEAgLTUxLDYg
KzUxLDcgQEAgY2xhc3MgV2ViR0xSZW5kZXJidWZmZXI7CiBjbGFzcyBXZWJHTFNoYWRlcjsKIGNs
YXNzIFdlYkdMVGV4dHVyZTsKIGNsYXNzIFdlYkdMVW5pZm9ybUxvY2F0aW9uOworY2xhc3MgQ2hy
b21pdW1Mb3NlQ29udGV4dDsKIGNsYXNzIEhUTUxJbWFnZUVsZW1lbnQ7CiBjbGFzcyBIVE1MVmlk
ZW9FbGVtZW50OwogY2xhc3MgSW1hZ2VCdWZmZXI7CkBAIC0yODQsNiArMjg1LDcgQEAgcHVibGlj
OgogCiAgICAgdm9pZCB2aWV3cG9ydChsb25nIHgsIGxvbmcgeSwgdW5zaWduZWQgbG9uZyB3aWR0
aCwgdW5zaWduZWQgbG9uZyBoZWlnaHQpOwogCisgICAgdm9pZCBmb3JjZUxvc2VDb250ZXh0KCk7
CiAgICAgdm9pZCBsb3NlQ29udGV4dCgpOwogICAgIHZvaWQgcmVzdG9yZUNvbnRleHQoKTsKIApA
QCAtNDY4LDYgKzQ3MCw3IEBAIHB1YmxpYzoKIAogICAgIC8vIEVuYWJsZWQgZXh0ZW5zaW9uIG9i
amVjdHMuCiAgICAgUmVmUHRyPE9FU1RleHR1cmVGbG9hdD4gbV9vZXNUZXh0dXJlRmxvYXQ7Cisg
ICAgUmVmUHRyPENocm9taXVtTG9zZUNvbnRleHQ+IG1fY2hyb21pdW1Mb3NlQ29udGV4dDsKIAog
ICAgIC8vIEhlbHBlcnMgZm9yIGdldFBhcmFtZXRlciBhbmQgb3RoZXJzCiAgICAgV2ViR0xHZXRJ
bmZvIGdldEJvb2xlYW5QYXJhbWV0ZXIodW5zaWduZWQgbG9uZyBwbmFtZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77278</attachid>
            <date>2010-12-22 16:52:31 -0800</date>
            <delta_ts>2010-12-23 10:21:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51492-20101222165230.patch</filename>
            <type>text/plain</type>
            <size>59625</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2Nzc5OTBlMTZiYzQzNDQxZDk2MWQ0ZDc1NGE2YWM3M2FhNDQwNGJlLi40ZTViZThi
NzI2NjdlOTlkOTFiMmFkMjFlNTdmNjU5MDUzYzRlYjIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTItMjIgIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgZm9yIFdl
YkdMJ3MgbG9zdCBjb250ZXh0IGV2ZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTUxNDkyCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9j
b250ZXh0LWxvc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93
ZWJnbC9jb250ZXh0LWxvc3QtcmVzdG9yZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0Lmh0bWw6IEFkZGVkLgorCiAy
MDEwLTEyLTIyICBLcml0aGlnYXNzcmVlIFNhbWJhbXVydGh5ICA8a3JpdGhpZ2Fzc3JlZS5zYW1i
YW11cnRoeUBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBD
aHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9j
b250ZXh0LWxvc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
Y29udGV4dC1sb3N0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lY2ZhNzQ3MjJmOGQ0ODJjYzI0
MDMwZTJiN2IzNzU3MzBkYjlkNjc3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4MyBA
QAorVGVzdHMgYmVoYXZpb3IgdW5kZXIgYSBsb3N0IGNvbnRleHQKKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitUZXN0IHZhbGlkIGNvbnRleHQKK1BBU1MgZ2wuaXNDb250ZXh0TG9zdCgp
IGlzIGZhbHNlCitQQVNTIGdsLmdldEVycm9yKCkgaXMgZ2wuTk9fRVJST1IKK1BBU1MgZ2wuZW5h
YmxlKGdsLkJMRU5EKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5pc0J1
ZmZlcihidWZmZXIpIGlzIHRydWUKK1BBU1MgZ2wuaXNFbmFibGVkKGdsLkJMRU5EKSBpcyB0cnVl
CitQQVNTIGdsLmlzRnJhbWVidWZmZXIoZnJhbWVidWZmZXIpIGlzIHRydWUKK1BBU1MgZ2wuaXNQ
cm9ncmFtKHByb2dyYW0pIGlzIHRydWUKK1BBU1MgZ2wuaXNSZW5kZXJidWZmZXIocmVuZGVyYnVm
ZmVyKSBpcyB0cnVlCitQQVNTIGdsLmlzU2hhZGVyKHNoYWRlcikgaXMgdHJ1ZQorUEFTUyBnbC5p
c1RleHR1cmUodGV4dHVyZSkgaXMgdHJ1ZQorCitMb3NlIGNvbnRleHQKKworVGVzdCBsb3N0IGNv
bnRleHQKK1BBU1MgZ2wuaXNDb250ZXh0TG9zdCgpIGlzIHRydWUKK1BBU1MgZ2wuZ2V0RXJyb3Io
KSBpcyBnbC5DT05URVhUX0xPU1RfV0VCR0wKK1BBU1MgZ2wuZ2V0RXJyb3IoKSBpcyBnbC5OT19F
UlJPUgorUEFTUyBnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSBpcyBn
bC5GUkFNRUJVRkZFUl9VTlNVUFBPUlRFRAorUEFTUyBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9n
cmFtLCAndV9tb2RlbFZpZXdQcm9qTWF0cml4JykgaXMgLTEKK1BBU1MgZ2wuZ2V0VmVydGV4QXR0
cmliT2Zmc2V0KDAsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfUE9JTlRFUikgaXMgMAorUEFTUyBn
bC5hY3RpdmVUZXh0dXJlKGdsLlRFWFRVUkUwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
LgorUEFTUyBnbC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgc2hhZGVyKSB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SLgorUEFTUyBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVy
KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5iaW5kRnJhbWVidWZmZXIo
Z2wuRlJBTUVCVUZGRVIsIGZyYW1lYnVmZmVyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
LgorUEFTUyBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgcmVuZGVyYnVmZmVy
KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5iaW5kVGV4dHVyZShnbC5U
RVhUVVJFXzJELCB0ZXh0dXJlKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBn
bC5ibGVuZENvbG9yKDEuMCwgMS4wLCAxLjAsIDEuMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUi4KK1BBU1MgZ2wuYmxlbmRFcXVhdGlvbihnbC5GVU5DX0FERCkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYmxlbmRFcXVhdGlvblNlcGFyYXRlKGdsLkZVTkNfQURE
LCBnbC5GVU5DX0FERCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYmxl
bmRGdW5jKGdsLk9ORSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYmxl
bmRGdW5jU2VwYXJhdGUoZ2wuT05FLCBnbC5PTkUpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IuCitQQVNTIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCAwLCBnbC5TVEFUSUNfRFJB
Vykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYnVmZmVyRGF0YShnbC5B
UlJBWV9CVUZGRVIsIGFycmF5QnVmZmVyVmlldywgZ2wuU1RBVElDX0RSQVcpIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBh
cnJheUJ1ZmZlciwgZ2wuU1RBVElDX0RSQVcpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CitQQVNTIGdsLmJ1ZmZlclN1YkRhdGEoZ2wuQVJSQVlfQlVGRlJFLCAwLCBhcnJheUJ1ZmZlclZp
ZXcpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmJ1ZmZlclN1YkRhdGEo
Z2wuQVJSQVlfQlVGRlJFLCAwLCBhcnJheUJ1ZmZlcikgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUi4KK1BBU1MgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuY2xlYXJDb2xvcigxLCAxLCAxLCAxKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5jbGVhckRlcHRoKDEpIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmNsZWFyU3RlbmNpbCgwKSB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SLgorUEFTUyBnbC5jb2xvck1hc2soMSwgMSwgMSwgMSkgd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuY29tcGlsZVNoYWRlcihzaGFkZXIpIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIGdsLlJHQkEsIDAsIDAsIDAsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IuCitQQVNTIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIDAs
IDAsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmN1bGxGYWNl
KGdsLkZST05UKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kZWxldGVC
dWZmZXIoYnVmZmVyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kZWxl
dGVGcmFtZWJ1ZmZlcihmcmFtZWJ1ZmZlcikgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wuZGVsZXRlUHJvZ3JhbShwcm9ncmFtKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgorUEFTUyBnbC5kZWxldGVSZW5kZXJidWZmZXIocmVuZGVyYnVmZmVyKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kZWxldGVTaGFkZXIoc2hhZGVyKSB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kZWxldGVUZXh0dXJlKHRleHR1cmUpIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmRlcHRoRnVuYyhnbC5ORVZFUikg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZGVwdGhNYXNrKDApIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmRlcHRoUmFuZ2UoMCwgMSkgd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZGV0YWNoU2hhZGVyKHByb2dyYW0sIHNo
YWRlcikgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZGlzYWJsZShnbC5C
TEVORCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZGlzYWJsZVZlcnRl
eEF0dHJpYkFycmF5KDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmRy
YXdBcnJheXMoZ2wuUE9JTlRTLCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgor
UEFTUyBnbC5kcmF3RWxlbWVudHMoZ2wuUE9JTlRTLCAwLCBnbC5VTlNJR05FRF9TSE9SVCwgMCkg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZW5hYmxlKGdsLkJMRU5EKSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJB
cnJheSgwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5maW5pc2goKSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5mbHVzaCgpIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZS
QU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCByZW5kZXJi
dWZmZXIpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmZyYW1lYnVmZmVy
VGV4dHVyZTJEKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuVEVYVFVS
RV8yRCwgdGV4dHVyZSwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wu
ZnJvbnRGYWNlKGdsLkNXKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5n
ZW5lcmF0ZU1pcG1hcChnbC5URVhUVVJFXzJEKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
LgorUEFTUyBnbC5oaW50KGdsLkdFTkVSQVRFX01JUE1BUF9ISU5ULCBnbC5GQVNURVNUKSB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5saW5lV2lkdGgoMCkgd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wubGlua1Byb2dyYW0ocHJvZ3JhbSkgd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wucGl4ZWxTdG9yZWkoZ2wuVU5QQUNLX0ZM
SVBfWV9XRUJHTCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wucG9s
eWdvbk9mZnNldCgwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5y
ZWFkUGl4ZWxzKDAsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGFycmF5QnVm
ZmVyVmlldykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wucmVuZGVyYnVm
ZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAwLCAwKSB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5zYW1wbGVDb3ZlcmFnZSgwLCAwKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5zY2lzc29yKDAsIDAsIDAsIDApIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnNoYWRlclNvdXJjZShzaGFkZXIsICcnKSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5zdGVuY2lsRnVuYyhnbC5ORVZF
UiwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuc3RlbmNpbEZ1
bmNTZXBhcmF0ZShnbC5GUk9OVCwgZ2wuTkVWRVIsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLnN0ZW5jaWxNYXNrKDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IuCitQQVNTIGdsLnN0ZW5jaWxNYXNrU2VwYXJhdGUoZ2wuRlJPTlQsIDApIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnN0ZW5jaWxPcChnbC5LRUVQLCBnbC5LRUVQ
LCBnbC5LRUVQKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5zdGVuY2ls
T3BTZXBhcmF0ZShnbC5GUk9OVCwgZ2wuS0VFUCwgZ2wuS0VFUCwgZ2wuS0VFUCkgd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LCBnbC5SR0JBLCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBhcnJheUJ1ZmZl
clZpZXcpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1h
Z2VEYXRhKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC50ZXhJbWFnZTJE
KGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGlt
YWdlKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC50ZXhJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGNhbnZh
cykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudGV4SW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCB2aWRlbykg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudGV4UGFyYW1ldGVyZihnbC5U
RVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwg
Z2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5ORUFSRVNUKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SLgorUEFTUyBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIDAs
IDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGFycmF5QnVmZmVyVmlldykgd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZURhdGEpIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8y
RCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2UpIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzKSB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAs
IDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVvKSB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMWYodW5pZm9ybUxvY2F0aW9uLCAwKSB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMWZ2KHVuaWZvcm1Mb2Nh
dGlvbiwgZmxvYXQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBn
bC51bmlmb3JtMWZ2KHVuaWZvcm1Mb2NhdGlvbiwgWzBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMWkodW5pZm9ybUxvY2F0aW9uLCAwKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMWl2KHVuaWZvcm1Mb2NhdGlvbiwg
aW50MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9y
bTFpdih1bmlmb3JtTG9jYXRpb24sIFswXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wudW5pZm9ybTJmKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybTJmdih1bmlmb3JtTG9jYXRpb24sIGZsb2F0
MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybTJm
dih1bmlmb3JtTG9jYXRpb24sIFswLCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wudW5pZm9ybTJpKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybTJpdih1bmlmb3JtTG9jYXRpb24sIGludDMy
YXJyYXkpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm0yaXYo
dW5pZm9ybUxvY2F0aW9uLCBbMCwgMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQ
QVNTIGdsLnVuaWZvcm0zZih1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDApIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm0zZnYodW5pZm9ybUxvY2F0aW9uLCBmbG9h
dDMyYXJyYXkpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm0z
ZnYodW5pZm9ybUxvY2F0aW9uLCBbMCwgMCwgMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IuCitQQVNTIGdsLnVuaWZvcm0zaSh1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDApIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm0zaXYodW5pZm9ybUxvY2F0aW9u
LCBpbnQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlm
b3JtM2l2KHVuaWZvcm1Mb2NhdGlvbiwgWzAsIDAsIDBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SLgorUEFTUyBnbC51bmlmb3JtNGYodW5pZm9ybUxvY2F0aW9uLCAwLCAwLCAwLCAwKSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtNGZ2KHVuaWZvcm1M
b2NhdGlvbiwgZmxvYXQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFT
UyBnbC51bmlmb3JtNGZ2KHVuaWZvcm1Mb2NhdGlvbiwgWzAsIDAsIDAsIDBdKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtNGkodW5pZm9ybUxvY2F0aW9uLCAw
LCAwLCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3Jt
NGl2KHVuaWZvcm1Mb2NhdGlvbiwgaW50MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUi4KK1BBU1MgZ2wudW5pZm9ybTRpdih1bmlmb3JtTG9jYXRpb24sIFswLCAwLCAwLCAwXSkg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybU1hdHJpeDJmdih1
bmlmb3JtTG9jYXRpb24sIGZhbHNlLCBmbG9hdDMyYXJyYXkpIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm1NYXRyaXgyZnYodW5pZm9ybUxvY2F0aW9uLCBmYWxz
ZSwgWzAsIDAsIDAsIDBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51
bmlmb3JtTWF0cml4M2Z2KHVuaWZvcm1Mb2NhdGlvbiwgZmFsc2UsIGZsb2F0MzJhcnJheSkgd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybU1hdHJpeDNmdih1bmlm
b3JtTG9jYXRpb24sIGZhbHNlLCBbMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMF0pIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm1NYXRyaXg0ZnYodW5pZm9ybUxv
Y2F0aW9uLCBmYWxzZSwgZmxvYXQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
LgorUEFTUyBnbC51bmlmb3JtTWF0cml4NGZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmFsc2UsIFswLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSkgd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudXNlUHJvZ3JhbShwcm9ncmFtKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC52YWxpZGF0ZVByb2dyYW0ocHJvZ3JhbSkgd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliMWYoMCwgMCkg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliMWZ2KDAs
IGZsb2F0MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVy
dGV4QXR0cmliMWZ2KDAsIFswXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1Mg
Z2wudmVydGV4QXR0cmliMmYoMCwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wudmVydGV4QXR0cmliMmZ2KDAsIGZsb2F0MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliMmZ2KDAsIFswLCAwXSkgd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliM2YoMCwgMCwgMCwg
MCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliM2Z2
KDAsIGZsb2F0MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wu
dmVydGV4QXR0cmliM2Z2KDAsIFswLCAwLCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KK1BBU1MgZ2wudmVydGV4QXR0cmliNGYoMCwgMCwgMCwgMCwgMCkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliNGZ2KDAsIGZsb2F0MzJhcnJheSkg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliNGZ2KDAs
IFswLCAwLCAwLCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVy
dGV4QXR0cmliUG9pbnRlcigwLCAwLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnZpZXdwb3J0KDAsIDAsIDAsIDApIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmNyZWF0ZUJ1ZmZlcigpIGlzIG51bGwKK1BB
U1MgZ2wuY3JlYXRlRnJhbWVidWZmZXIoKSBpcyBudWxsCitQQVNTIGdsLmNyZWF0ZVByb2dyYW0o
KSBpcyBudWxsCitQQVNTIGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIGlzIG51bGwKK1BBU1MgZ2wu
Y3JlYXRlU2hhZGVyKGdsLkdMX1ZFUlRFWF9TSEFERVIpIGlzIG51bGwKK1BBU1MgZ2wuY3JlYXRl
VGV4dHVyZSgpIGlzIG51bGwKK1BBU1MgZ2wuZ2V0QWN0aXZlQXR0cmliKHByb2dyYW0sIDApIGlz
IG51bGwKK1BBU1MgZ2wuZ2V0QWN0aXZlVW5pZm9ybShwcm9ncmFtLCAwKSBpcyBudWxsCitQQVNT
IGdsLmdldEF0dGFjaGVkU2hhZGVycyhwcm9ncmFtKSBpcyBudWxsCitQQVNTIGdsLmdldEJ1ZmZl
clBhcmFtZXRlcihnbC5BUlJBWV9CVUZGRVIsIGdsLkJVRkZFUl9TSVpFKSBpcyBudWxsCitQQVNT
IGdsLmdldENvbnRleHRBdHRyaWJ1dGVzKCkgaXMgbnVsbAorUEFTUyBnbC5nZXRGcmFtZWJ1ZmZl
ckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQw
LCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FKSBpcyBudWxsCitQQVNTIGds
LmdldFBhcmFtZXRlcihnbC5DVVJSRU5UX1BST0dSQU0pIGlzIG51bGwKK1BBU1MgZ2wuZ2V0UHJv
Z3JhbUluZm9Mb2cocHJvZ3JhbSkgaXMgbnVsbAorUEFTUyBnbC5nZXRQcm9ncmFtUGFyYW1ldGVy
KHByb2dyYW0sIGdsLkxJTktfU1RBVFVTKSBpcyBudWxsCitQQVNTIGdsLmdldFJlbmRlcmJ1ZmZl
clBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9XSURUSCkgaXMgbnVs
bAorUEFTUyBnbC5nZXRTaGFkZXJJbmZvTG9nKHNoYWRlcikgaXMgbnVsbAorUEFTUyBnbC5nZXRT
aGFkZXJQYXJhbWV0ZXIoc2hhZGVyLCBnbC5TSEFERVJfVFlQRSkgaXMgbnVsbAorUEFTUyBnbC5n
ZXRTaGFkZXJTb3VyY2Uoc2hhZGVyKSBpcyBudWxsCitQQVNTIGdsLmdldFRleFBhcmFtZXRlcihn
bC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUykgaXMgbnVsbAorUEFTUyBnbC5nZXRVbmlm
b3JtKHByb2dyYW0sIHVuaWZvcm1Mb2NhdGlvbikgaXMgbnVsbAorUEFTUyBnbC5nZXRVbmlmb3Jt
TG9jYXRpb24ocHJvZ3JhbSwgJ3ZQb3NpdGlvbicpIGlzIG51bGwKK1BBU1MgZ2wuZ2V0VmVydGV4
QXR0cmliKDAsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfQlVGRkVSX0JJTkRJTkcpIGlzIG51bGwK
K1BBU1MgZ2wuZ2V0U3VwcG9ydGVkRXh0ZW5zaW9ucygpIGlzIG51bGwKK1BBU1MgZ2wuZ2V0RXh0
ZW5zaW9uKCdDSFJPTUlVTV9sb3NlX2NvbnRleHQnKSBpcyBudWxsCitQQVNTIGdsLmlzQnVmZmVy
KGJ1ZmZlcikgaXMgZmFsc2UKK1BBU1MgZ2wuaXNFbmFibGVkKGdsLkJMRU5EKSBpcyBmYWxzZQor
UEFTUyBnbC5pc0ZyYW1lYnVmZmVyKGZyYW1lYnVmZmVyKSBpcyBmYWxzZQorUEFTUyBnbC5pc1By
b2dyYW0ocHJvZ3JhbSkgaXMgZmFsc2UKK1BBU1MgZ2wuaXNSZW5kZXJidWZmZXIocmVuZGVyYnVm
ZmVyKSBpcyBmYWxzZQorUEFTUyBnbC5pc1NoYWRlcihzaGFkZXIpIGlzIGZhbHNlCitQQVNTIGds
LmlzVGV4dHVyZSh0ZXh0dXJlKSBpcyBmYWxzZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5P
X0VSUk9SCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0
LXJlc3RvcmVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2Nv
bnRleHQtbG9zdC1yZXN0b3JlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ3NjAxOWIxYzZl
ZmI4MTIzNDU2MTgyNTg1MzhiYjQwYTEwMjY0NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC1yZXN0b3JlZC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzMSBAQAorVGVzdHMgYmVoYXZpb3IgdW5kZXIgYSByZXN0b3JlZCBjb250ZXh0
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworVGVzdCB2YWxpZCBjb250ZXh0CitQQVNT
IGdsLmlzQ29udGV4dExvc3QoKSBpcyBmYWxzZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5P
X0VSUk9SCitQQVNTIHNob3VsZEJlIDI1NSwxMCwyMAorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGds
Lk5PX0VSUk9SCisKK1Rlc3QgbG9zdCBjb250ZXh0CitQQVNTIGdsLmlzQ29udGV4dExvc3QoKSBp
cyB0cnVlCitQQVNTIGdsLmdldEVycm9yKCkgaXMgZ2wuQ09OVEVYVF9MT1NUX1dFQkdMCitQQVNT
IGdsLmdldEVycm9yKCkgaXMgZ2wuTk9fRVJST1IKKworVGVzdCByZXN0b3JlZCBjb250ZXh0CitQ
QVNTIGdsLmlzQ29udGV4dExvc3QoKSBpcyBmYWxzZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGds
Lk5PX0VSUk9SCitQQVNTIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpIHdh
cyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04uCitQQVNTIGdsLnVzZVByb2dyYW0o
cHJvZ3JhbSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTi4KK1BBU1MgZ2wu
YmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJ1ZmZlck9iamVjdHNbMF0pIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04uCitQQVNTIHNob3VsZEJlIDI1NSwxMCwyMAorUEFT
UyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCitQQVNTIGdsLmJpbmRUZXh0dXJlKGdsLlRF
WFRVUkVfMkQsIHRleHR1cmUpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGds
LnVzZVByb2dyYW0ocHJvZ3JhbSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1Mg
Z2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJ1ZmZlck9iamVjdHNbMF0pIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93
ZWJnbC9jb250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2NvbnRleHQtbG9zdC1yZXN0b3JlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlMDQ3YmJkMTMz
ZWU4NmEzYzczYTcwZDY3MGE5Y2MwODAyYjE3NWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbApAQCAtMCww
ICsxLDEzMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciB3dHUgPSBXZWJH
TFRlc3RVdGlsczsKK3ZhciBjYW52YXM7Cit2YXIgZ2w7Cit2YXIgc2hvdWxkR2VuZXJhdGVHTEVy
cm9yOwordmFyIGV4dGVuc2lvbl9uYW1lID0gIkNIUk9NSVVNX2xvc2VfY29udGV4dCI7Cit2YXIg
ZXh0ZW5zaW9uOwordmFyIGJ1ZmZlck9iamVjdHM7Cit2YXIgcHJvZ3JhbTsKK3ZhciB0ZXh0dXJl
OwordmFyIHRleENvbG9yID0gWzI1NSwgMTAsIDIwLCAyNTVdOworCitmdW5jdGlvbiBpbml0KCkK
K3sKKyAgICBpZiAod2luZG93LmluaXROb25LaHJvbm9zRnJhbWV3b3JrKSB7CisgICAgICAgIHdp
bmRvdy5pbml0Tm9uS2hyb25vc0ZyYW1ld29yayh0cnVlKTsKKyAgICB9CisKKyAgICBkZXNjcmlw
dGlvbigiVGVzdHMgYmVoYXZpb3IgdW5kZXIgYSByZXN0b3JlZCBjb250ZXh0Iik7CisKKyAgICBj
YW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7CisgICAgY2FudmFzLmFk
ZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dGxvc3QiLCB0ZXN0TG9zdENvbnRleHQpOworICAg
IGNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJ3ZWJnbGNvbnRleHRyZXN0b3JlZCIsIHRlc3RSZXN0
b3JlZENvbnRleHQpOworCisgICAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7Cisg
ICAgc2hvdWxkR2VuZXJhdGVHTEVycm9yID0gd3R1LnNob3VsZEdlbmVyYXRlR0xFcnJvcjsKKwor
ICAgIGV4dGVuc2lvbiA9IGdsLmdldEV4dGVuc2lvbihleHRlbnNpb25fbmFtZSk7CisgICAgaWYg
KCFleHRlbnNpb24pIHsKKyAgICAgICAgZGVidWcoZXh0ZW5zaW9uX25hbWUgKyAiIGV4dGVuc2lv
biBub3QgZm91bmQuIik7CisgICAgICAgIGZpbmlzaCgpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgdGVzdE9yaWdpbmFsQ29udGV4dCgpOworICAgIGV4dGVuc2lvbi5sb3NlQ29udGV4
dCgpOworfQorCitmdW5jdGlvbiB0ZXN0UmVuZGVyaW5nKCkKK3sKKyAgICBnbC5jbGVhckNvbG9y
KDAsIDAsIDAsIDI1NSk7CisgICAgZ2wuY29sb3JNYXNrKDEsIDEsIDEsIDApOworICAgIGdsLmNs
ZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKworICAgIHBy
b2dyYW0gPSB3dHUuc2V0dXBTaW1wbGVUZXh0dXJlUHJvZ3JhbShnbCk7CisgICAgYnVmZmVyT2Jq
ZWN0cyA9IHd0dS5zZXR1cFVuaXRRdWFkKGdsKTsKKyAgICB0ZXh0dXJlID0gd3R1LmNyZWF0ZUNv
bG9yZWRUZXh0dXJlKGdsLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQsIHRleENvbG9yKTsK
KworICAgIGdsLnVuaWZvcm0xaShnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInRleCIp
LCAwKTsKKyAgICB3dHUuZHJhd1F1YWQoZ2wsIFswLCAwLCAwLCAyNTVdKTsKKworICAgIHZhciBj
b21wYXJlID0gdGV4Q29sb3Iuc2xpY2UoMCwgMyk7CisgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChn
bCwgMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0LCBjb21wYXJlLCAic2hvdWxkQmUg
IiArIGNvbXBhcmUpOworCisgICAgc2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAiZ2wuTk9fRVJS
T1IiKTsKK30KKworZnVuY3Rpb24gdGVzdE9yaWdpbmFsQ29udGV4dCgpCit7CisgICAgZGVidWco
IlRlc3QgdmFsaWQgY29udGV4dCIpOworICAgIHNob3VsZEJlRmFsc2UoImdsLmlzQ29udGV4dExv
c3QoKSIpOworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7Cisg
ICAgdGVzdFJlbmRlcmluZygpOworICAgIGRlYnVnKCIiKTsKK30KKworZnVuY3Rpb24gdGVzdExv
c3RDb250ZXh0KCkKK3sKKyAgICBkZWJ1ZygiVGVzdCBsb3N0IGNvbnRleHQiKTsKKyAgICBzaG91
bGRCZVRydWUoImdsLmlzQ29udGV4dExvc3QoKSIpOworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJv
cigpIiwgImdsLkNPTlRFWFRfTE9TVF9XRUJHTCIpOworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJv
cigpIiwgImdsLk5PX0VSUk9SIik7CisgICAgZGVidWcoIiIpOworfQorCitmdW5jdGlvbiB0ZXN0
UmVzb3VyY2VzKGV4cGVjdGVkKQoreworICAgIHZhciB0ZXN0cyA9IFsKKyAgICAgICAgImdsLmJp
bmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpIiwKKyAgICAgICAgImdsLnVzZVByb2dy
YW0ocHJvZ3JhbSkiLAorICAgICAgICAiZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJ1
ZmZlck9iamVjdHNbMF0pIiwKKyAgICBdOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0
cy5sZW5ndGg7ICsraSkKKyAgICAgICAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBleHBlY3Rl
ZCwgdGVzdHNbaV0pOworfQorCitmdW5jdGlvbiB0ZXN0UmVzdG9yZWRDb250ZXh0KCkKK3sKKyAg
ICBkZWJ1ZygiVGVzdCByZXN0b3JlZCBjb250ZXh0Iik7CisgICAgc2hvdWxkQmVGYWxzZSgiZ2wu
aXNDb250ZXh0TG9zdCgpIik7CisgICAgc2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAiZ2wuTk9f
RVJST1IiKTsKKworICAgIC8vIFZhbGlkYXRlIHRoYXQgdXNpbmcgb2xkIHJlc291cmNlcyBmYWls
cy4KKyAgICB0ZXN0UmVzb3VyY2VzKGdsLklOVkFMSURfT1BFUkFUSU9OKTsKKworICAgIHRlc3RS
ZW5kZXJpbmcoKTsKKworICAgIC8vIFZhbGlkYXRlIG5ldyByZXNvdXJjZXMgY3JlYXRlZCBpbiB0
ZXN0UmVuZGVyaW5nKCkuCisgICAgdGVzdFJlc291cmNlcyhnbC5OT19FUlJPUik7CisgICAgZGVi
dWcoIiIpOworCisgICAgZmluaXNoKCk7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaCgpIHsKKyAgICBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAgIHZhciBlcGlsb2d1ZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworICAgIGVwaWxvZ3VlLm9ubG9hZCA9IGZ1bmN0aW9uKCkg
eworICAgICAgICBpZiAod2luZG93Lm5vbktocm9ub3NGcmFtZXdvcmtOb3RpZnlEb25lKQorICAg
ICAgICAgICAgd2luZG93Lm5vbktocm9ub3NGcmFtZXdvcmtOb3RpZnlEb25lKCk7CisgICAgfTsK
KyAgICBlcGlsb2d1ZS5zcmMgPSAiLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI7
CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlcGlsb2d1ZSk7Cit9CisKKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJpbml0KCkiPgorPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdp
ZHRoPSIxcHgiIGhlaWdodD0iMXB4Ij48L2NhbnZhcz4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzJjODk0YTljNDdhZTdmMzQyNWU3MTBmNzhkNzNjZDE1OGMwYjk5YgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC5odG1sCkBA
IC0wLDAgKzEsMzEyIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordmFyIHd0dTsK
K3ZhciBjYW52YXM7Cit2YXIgZ2w7Cit2YXIgc2hvdWxkR2VuZXJhdGVHTEVycm9yOwordmFyIGV4
dGVuc2lvbl9uYW1lID0gIkNIUk9NSVVNX2xvc2VfY29udGV4dCI7Cit2YXIgZXh0ZW5zaW9uOwor
Cit2YXIgYnVmZmVyOwordmFyIGZyYW1lYnVmZmVyOwordmFyIHByb2dyYW07Cit2YXIgcmVuZGVy
YnVmZmVyOwordmFyIHNoYWRlcjsKK3ZhciB0ZXh0dXJlOwordmFyIHVuaWZvcm1Mb2NhdGlvbjsK
K3ZhciBhcnJheUJ1ZmZlcjsKK3ZhciBhcnJheUJ1ZmZlclZpZXcKK3ZhciBpbWFnZTsKK3ZhciB2
aWRlbzsKK3ZhciBjYW52YXMyZDsKK3ZhciBjdHgyZDsKK3ZhciBpbWFnZURhdGE7Cit2YXIgZmxv
YXQzMmFycmF5OwordmFyIGludDMyYXJyYXk7CisKK2Z1bmN0aW9uIGluaXQoKQoreworICAgIHd0
dSA9IFdlYkdMVGVzdFV0aWxzOworICAgIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjYW52YXMiKTsKKyAgICBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzKTsKKyAgICBz
aG91bGRHZW5lcmF0ZUdMRXJyb3IgPSB3dHUuc2hvdWxkR2VuZXJhdGVHTEVycm9yOworCisgICAg
ZGVzY3JpcHRpb24oIlRlc3RzIGJlaGF2aW9yIHVuZGVyIGEgbG9zdCBjb250ZXh0Iik7CisKKyAg
ICBpZiAod2luZG93LmluaXROb25LaHJvbm9zRnJhbWV3b3JrKSB7CisgICAgICAgIHdpbmRvdy5p
bml0Tm9uS2hyb25vc0ZyYW1ld29yayh0cnVlKTsKKyAgICB9CisKKyAgICBleHRlbnNpb24gPSBn
bC5nZXRFeHRlbnNpb24oZXh0ZW5zaW9uX25hbWUpOworICAgIGlmICghZXh0ZW5zaW9uKSB7Cisg
ICAgICAgIGRlYnVnKGV4dGVuc2lvbl9uYW1lICsgIiBleHRlbnNpb24gbm90IGZvdW5kLiIpOwor
ICAgICAgICBmaW5pc2goKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGNhbnZhcy5h
ZGRFdmVudExpc3RlbmVyKCJ3ZWJnbGNvbnRleHRsb3N0IiwgdGVzdExvc3RDb250ZXh0KTsKKwor
ICAgIHRlc3RWYWxpZENvbnRleHQoKTsKKyAgICBsb3NlQ29udGV4dCgpOworfQorCitmdW5jdGlv
biBsb3NlQ29udGV4dCgpCit7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJMb3NlIGNvbnRl
eHQiKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBleHRlbnNpb24ubG9zZUNvbnRleHQoKTsKK30K
KworZnVuY3Rpb24gdGVzdFZhbGlkQ29udGV4dCgpCit7CisgICAgZGVidWcoIlRlc3QgdmFsaWQg
Y29udGV4dCIpOworCisgICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNDb250ZXh0TG9zdCgpIik7CisK
KyAgICBhcnJheUJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcig0KTsKKyAgICBhcnJheUJ1ZmZlclZp
ZXcgPSBuZXcgSW50OEFycmF5KGFycmF5QnVmZmVyKTsKKworICAgIC8vIEdlbmVyYXRlIHJlc291
cmNlcyBmb3IgdGVzdGluZy4KKyAgICBidWZmZXIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgICBn
bC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyKTsKKyAgICBmcmFtZWJ1ZmZlciA9
IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCk7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1F
QlVGRkVSLCBmcmFtZWJ1ZmZlcik7CisgICAgcHJvZ3JhbSA9IHd0dS5zZXR1cFNpbXBsZVRleHR1
cmVQcm9ncmFtKGdsKTsKKyAgICByZW5kZXJidWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIo
KTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgcmVuZGVyYnVmZmVy
KTsKKyAgICBzaGFkZXIgPSBnbC5jcmVhdGVTaGFkZXIoZ2wuVkVSVEVYX1NIQURFUik7CisgICAg
dGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhU
VVJFXzJELCB0ZXh0dXJlKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0RXJyb3IoKSIsICJnbC5OT19F
UlJPUiIpOworCisgICAgLy8gVGVzdCBpcyBxdWVyaWVzIHRoYXQgd2lsbCBsYXRlciBiZSBmYWxz
ZQorICAgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5lbmFibGUo
Z2wuQkxFTkQpIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc0J1ZmZlcihidWZmZXIpIik7Cisg
ICAgc2hvdWxkQmVUcnVlKCJnbC5pc0VuYWJsZWQoZ2wuQkxFTkQpIik7CisgICAgc2hvdWxkQmVU
cnVlKCJnbC5pc0ZyYW1lYnVmZmVyKGZyYW1lYnVmZmVyKSIpOworICAgIHNob3VsZEJlVHJ1ZSgi
Z2wuaXNQcm9ncmFtKHByb2dyYW0pIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc1JlbmRlcmJ1
ZmZlcihyZW5kZXJidWZmZXIpIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc1NoYWRlcihzaGFk
ZXIpIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc1RleHR1cmUodGV4dHVyZSkiKTsKK30KKwor
ZnVuY3Rpb24gdGVzdExvc3RDb250ZXh0KCkKK3sKKyAgICBkZWJ1ZygiVGVzdCBsb3N0IGNvbnRl
eHQiKTsKKyAgICAvLyBGdW5jdGlvbnMgd2l0aCBzcGVjaWFsIHJldHVybiB2YWx1ZXMuCisgICAg
c2hvdWxkQmVUcnVlKCJnbC5pc0NvbnRleHRMb3N0KCkiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0
RXJyb3IoKSIsICJnbC5DT05URVhUX0xPU1RfV0VCR0wiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0
RXJyb3IoKSIsICJnbC5OT19FUlJPUiIpOworICAgIHNob3VsZEJlKCJnbC5jaGVja0ZyYW1lYnVm
ZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSIsICJnbC5GUkFNRUJVRkZFUl9VTlNVUFBPUlRFRCIp
OworICAgIHNob3VsZEJlKCJnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAndV9tb2RlbFZp
ZXdQcm9qTWF0cml4JykiLCAiLTEiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0VmVydGV4QXR0cmli
T2Zmc2V0KDAsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfUE9JTlRFUikiLCAiMCIpOworCisgICAg
aW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWFnZSIpOworICAgIHZpZGVvID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgidmlkZW8iKTsKKyAgICBjYW52YXMyZCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImNhbnZhcyIpOworICAgIGN0eDJkID0gY2FudmFzMmQuZ2V0Q29udGV4dCgi
MmQiKTsKKyAgICBpbWFnZURhdGEgPSBjdHgyZC5jcmVhdGVJbWFnZURhdGEoMSwgMSk7CisgICAg
ZmxvYXQzMmFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSgxKTsKKyAgICBpbnQzMmFycmF5ID0gbmV3
IEludDMyQXJyYXkoMSk7CisKKyAgICAvLyBGdW5jdGlvbnMgcmV0dXJuaW5nIHZvaWQgc2hvdWxk
IHJldHVybiBpbW1lZGlhdGVseS4KKyAgICAvLyBUaGlzIGlzIHVudGVzdGFibGUsIGJ1dCB3ZSBj
YW4gYXQgbGVhc3QgYmUgc3VyZSB0aGV5IGNhdXNlIG5vIGVycm9ycworICAgIC8vIGFuZCB0aGUg
Y29kZXBhdGhzIGFyZSBleGVyY2lzZWQuCisgICAgdmFyIHZvaWRUZXN0cyA9IFsKKyAgICAgICAg
ImdsLmFjdGl2ZVRleHR1cmUoZ2wuVEVYVFVSRTApIiwKKyAgICAgICAgImdsLmF0dGFjaFNoYWRl
cihwcm9ncmFtLCBzaGFkZXIpIiwKKyAgICAgICAgImdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVG
RkVSLCBidWZmZXIpIiwKKyAgICAgICAgImdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZF
UiwgZnJhbWVidWZmZXIpIiwKKyAgICAgICAgImdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVS
QlVGRkVSLCByZW5kZXJidWZmZXIpIiwKKyAgICAgICAgImdsLmJpbmRUZXh0dXJlKGdsLlRFWFRV
UkVfMkQsIHRleHR1cmUpIiwKKyAgICAgICAgImdsLmJsZW5kQ29sb3IoMS4wLCAxLjAsIDEuMCwg
MS4wKSIsCisgICAgICAgICJnbC5ibGVuZEVxdWF0aW9uKGdsLkZVTkNfQUREKSIsCisgICAgICAg
ICJnbC5ibGVuZEVxdWF0aW9uU2VwYXJhdGUoZ2wuRlVOQ19BREQsIGdsLkZVTkNfQUREKSIsCisg
ICAgICAgICJnbC5ibGVuZEZ1bmMoZ2wuT05FKSIsCisgICAgICAgICJnbC5ibGVuZEZ1bmNTZXBh
cmF0ZShnbC5PTkUsIGdsLk9ORSkiLAorICAgICAgICAiZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9C
VUZGRVIsIDAsIGdsLlNUQVRJQ19EUkFXKSIsCisgICAgICAgICJnbC5idWZmZXJEYXRhKGdsLkFS
UkFZX0JVRkZFUiwgYXJyYXlCdWZmZXJWaWV3LCBnbC5TVEFUSUNfRFJBVykiLAorICAgICAgICAi
Z2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIGFycmF5QnVmZmVyLCBnbC5TVEFUSUNfRFJB
VykiLAorICAgICAgICAiZ2wuYnVmZmVyU3ViRGF0YShnbC5BUlJBWV9CVUZGUkUsIDAsIGFycmF5
QnVmZmVyVmlldykiLAorICAgICAgICAiZ2wuYnVmZmVyU3ViRGF0YShnbC5BUlJBWV9CVUZGUkUs
IDAsIGFycmF5QnVmZmVyKSIsCisgICAgICAgICJnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklU
KSIsCisgICAgICAgICJnbC5jbGVhckNvbG9yKDEsIDEsIDEsIDEpIiwKKyAgICAgICAgImdsLmNs
ZWFyRGVwdGgoMSkiLAorICAgICAgICAiZ2wuY2xlYXJTdGVuY2lsKDApIiwKKyAgICAgICAgImds
LmNvbG9yTWFzaygxLCAxLCAxLCAxKSIsCisgICAgICAgICJnbC5jb21waWxlU2hhZGVyKHNoYWRl
cikiLAorICAgICAgICAiZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdC
QSwgMCwgMCwgMCwgMCwgMCkiLAorICAgICAgICAiZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgMCwgMCwgMCwgMCwgMCwgMCkiLAorICAgICAgICAiZ2wuY3VsbEZhY2UoZ2wu
RlJPTlQpIiwKKyAgICAgICAgImdsLmRlbGV0ZUJ1ZmZlcihidWZmZXIpIiwKKyAgICAgICAgImds
LmRlbGV0ZUZyYW1lYnVmZmVyKGZyYW1lYnVmZmVyKSIsCisgICAgICAgICJnbC5kZWxldGVQcm9n
cmFtKHByb2dyYW0pIiwKKyAgICAgICAgImdsLmRlbGV0ZVJlbmRlcmJ1ZmZlcihyZW5kZXJidWZm
ZXIpIiwKKyAgICAgICAgImdsLmRlbGV0ZVNoYWRlcihzaGFkZXIpIiwKKyAgICAgICAgImdsLmRl
bGV0ZVRleHR1cmUodGV4dHVyZSkiLAorICAgICAgICAiZ2wuZGVwdGhGdW5jKGdsLk5FVkVSKSIs
CisgICAgICAgICJnbC5kZXB0aE1hc2soMCkiLAorICAgICAgICAiZ2wuZGVwdGhSYW5nZSgwLCAx
KSIsCisgICAgICAgICJnbC5kZXRhY2hTaGFkZXIocHJvZ3JhbSwgc2hhZGVyKSIsCisgICAgICAg
ICJnbC5kaXNhYmxlKGdsLkJMRU5EKSIsCisgICAgICAgICJnbC5kaXNhYmxlVmVydGV4QXR0cmli
QXJyYXkoMCkiLAorICAgICAgICAiZ2wuZHJhd0FycmF5cyhnbC5QT0lOVFMsIDAsIDApIiwKKyAg
ICAgICAgImdsLmRyYXdFbGVtZW50cyhnbC5QT0lOVFMsIDAsIGdsLlVOU0lHTkVEX1NIT1JULCAw
KSIsCisgICAgICAgICJnbC5lbmFibGUoZ2wuQkxFTkQpIiwKKyAgICAgICAgImdsLmVuYWJsZVZl
cnRleEF0dHJpYkFycmF5KDApIiwKKyAgICAgICAgImdsLmZpbmlzaCgpIiwKKyAgICAgICAgImds
LmZsdXNoKCkiLAorICAgICAgICAiZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVC
VUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIHJlbmRlcmJ1ZmZl
cikiLAorICAgICAgICAiZ2wuZnJhbWVidWZmZXJUZXh0dXJlMkQoZ2wuRlJBTUVCVUZGRVIsIGds
LkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5URVhUVVJFXzJELCB0ZXh0dXJlLCAwKSIsCisgICAgICAg
ICJnbC5mcm9udEZhY2UoZ2wuQ1cpIiwKKyAgICAgICAgImdsLmdlbmVyYXRlTWlwbWFwKGdsLlRF
WFRVUkVfMkQpIiwKKyAgICAgICAgImdsLmhpbnQoZ2wuR0VORVJBVEVfTUlQTUFQX0hJTlQsIGds
LkZBU1RFU1QpIiwKKyAgICAgICAgImdsLmxpbmVXaWR0aCgwKSIsCisgICAgICAgICJnbC5saW5r
UHJvZ3JhbShwcm9ncmFtKSIsCisgICAgICAgICJnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfRkxJ
UF9ZX1dFQkdMLCAwKSIsCisgICAgICAgICJnbC5wb2x5Z29uT2Zmc2V0KDAsIDApIiwKKyAgICAg
ICAgImdsLnJlYWRQaXhlbHMoMCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwg
YXJyYXlCdWZmZXJWaWV3KSIsCisgICAgICAgICJnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJF
TkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDAsIDApIiwKKyAgICAgICAgImdsLnNhbXBsZUNvdmVyYWdl
KDAsIDApIiwKKyAgICAgICAgImdsLnNjaXNzb3IoMCwgMCwgMCwgMCkiLAorICAgICAgICAiZ2wu
c2hhZGVyU291cmNlKHNoYWRlciwgJycpIiwKKyAgICAgICAgImdsLnN0ZW5jaWxGdW5jKGdsLk5F
VkVSLCAwLCAwKSIsCisgICAgICAgICJnbC5zdGVuY2lsRnVuY1NlcGFyYXRlKGdsLkZST05ULCBn
bC5ORVZFUiwgMCwgMCkiLAorICAgICAgICAiZ2wuc3RlbmNpbE1hc2soMCkiLAorICAgICAgICAi
Z2wuc3RlbmNpbE1hc2tTZXBhcmF0ZShnbC5GUk9OVCwgMCkiLAorICAgICAgICAiZ2wuc3RlbmNp
bE9wKGdsLktFRVAsIGdsLktFRVAsIGdsLktFRVApIiwKKyAgICAgICAgImdsLnN0ZW5jaWxPcFNl
cGFyYXRlKGdsLkZST05ULCBnbC5LRUVQLCBnbC5LRUVQLCBnbC5LRUVQKSIsCisgICAgICAgICJn
bC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsIDAsIDAsIGdsLlJHQkEs
IGdsLlVOU0lHTkVEX0JZVEUsIGFycmF5QnVmZmVyVmlldykiLAorICAgICAgICAiZ2wudGV4SW1h
Z2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRF
LCBpbWFnZURhdGEpIiwKKyAgICAgICAgImdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
Z2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2UpIiwKKyAgICAgICAgImds
LnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdO
RURfQllURSwgY2FudmFzKSIsCisgICAgICAgICJnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVvKSIsCisgICAgICAg
ICJnbC50ZXhQYXJhbWV0ZXJmKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwg
Z2wuTkVBUkVTVCkiLAorICAgICAgICAiZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBn
bC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpIiwKKyAgICAgICAgImdsLnRleFN1Yklt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURf
QllURSwgYXJyYXlCdWZmZXJWaWV3KSIsCisgICAgICAgICJnbC50ZXhTdWJJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltYWdlRGF0YSki
LAorICAgICAgICAiZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5S
R0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZSkiLAorICAgICAgICAiZ2wudGV4U3ViSW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjYW52
YXMpIiwKKyAgICAgICAgImdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwg
Z2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgdmlkZW8pIiwKKyAgICAgICAgImdsLnVuaWZvcm0x
Zih1bmlmb3JtTG9jYXRpb24sIDApIiwKKyAgICAgICAgImdsLnVuaWZvcm0xZnYodW5pZm9ybUxv
Y2F0aW9uLCBmbG9hdDMyYXJyYXkpIiwKKyAgICAgICAgImdsLnVuaWZvcm0xZnYodW5pZm9ybUxv
Y2F0aW9uLCBbMF0pIiwKKyAgICAgICAgImdsLnVuaWZvcm0xaSh1bmlmb3JtTG9jYXRpb24sIDAp
IiwKKyAgICAgICAgImdsLnVuaWZvcm0xaXYodW5pZm9ybUxvY2F0aW9uLCBpbnQzMmFycmF5KSIs
CisgICAgICAgICJnbC51bmlmb3JtMWl2KHVuaWZvcm1Mb2NhdGlvbiwgWzBdKSIsCisgICAgICAg
ICJnbC51bmlmb3JtMmYodW5pZm9ybUxvY2F0aW9uLCAwLCAwKSIsCisgICAgICAgICJnbC51bmlm
b3JtMmZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC51bmlm
b3JtMmZ2KHVuaWZvcm1Mb2NhdGlvbiwgWzAsIDBdKSIsCisgICAgICAgICJnbC51bmlmb3JtMmko
dW5pZm9ybUxvY2F0aW9uLCAwLCAwKSIsCisgICAgICAgICJnbC51bmlmb3JtMml2KHVuaWZvcm1M
b2NhdGlvbiwgaW50MzJhcnJheSkiLAorICAgICAgICAiZ2wudW5pZm9ybTJpdih1bmlmb3JtTG9j
YXRpb24sIFswLCAwXSkiLAorICAgICAgICAiZ2wudW5pZm9ybTNmKHVuaWZvcm1Mb2NhdGlvbiwg
MCwgMCwgMCkiLAorICAgICAgICAiZ2wudW5pZm9ybTNmdih1bmlmb3JtTG9jYXRpb24sIGZsb2F0
MzJhcnJheSkiLAorICAgICAgICAiZ2wudW5pZm9ybTNmdih1bmlmb3JtTG9jYXRpb24sIFswLCAw
LCAwXSkiLAorICAgICAgICAiZ2wudW5pZm9ybTNpKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCwgMCki
LAorICAgICAgICAiZ2wudW5pZm9ybTNpdih1bmlmb3JtTG9jYXRpb24sIGludDMyYXJyYXkpIiwK
KyAgICAgICAgImdsLnVuaWZvcm0zaXYodW5pZm9ybUxvY2F0aW9uLCBbMCwgMCwgMF0pIiwKKyAg
ICAgICAgImdsLnVuaWZvcm00Zih1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDAsIDApIiwKKyAgICAg
ICAgImdsLnVuaWZvcm00ZnYodW5pZm9ybUxvY2F0aW9uLCBmbG9hdDMyYXJyYXkpIiwKKyAgICAg
ICAgImdsLnVuaWZvcm00ZnYodW5pZm9ybUxvY2F0aW9uLCBbMCwgMCwgMCwgMF0pIiwKKyAgICAg
ICAgImdsLnVuaWZvcm00aSh1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDAsIDApIiwKKyAgICAgICAg
ImdsLnVuaWZvcm00aXYodW5pZm9ybUxvY2F0aW9uLCBpbnQzMmFycmF5KSIsCisgICAgICAgICJn
bC51bmlmb3JtNGl2KHVuaWZvcm1Mb2NhdGlvbiwgWzAsIDAsIDAsIDBdKSIsCisgICAgICAgICJn
bC51bmlmb3JtTWF0cml4MmZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmFsc2UsIGZsb2F0MzJhcnJheSki
LAorICAgICAgICAiZ2wudW5pZm9ybU1hdHJpeDJmdih1bmlmb3JtTG9jYXRpb24sIGZhbHNlLCBb
MCwgMCwgMCwgMF0pIiwKKyAgICAgICAgImdsLnVuaWZvcm1NYXRyaXgzZnYodW5pZm9ybUxvY2F0
aW9uLCBmYWxzZSwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC51bmlmb3JtTWF0cml4M2Z2
KHVuaWZvcm1Mb2NhdGlvbiwgZmFsc2UsIFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSkiLAor
ICAgICAgICAiZ2wudW5pZm9ybU1hdHJpeDRmdih1bmlmb3JtTG9jYXRpb24sIGZhbHNlLCBmbG9h
dDMyYXJyYXkpIiwKKyAgICAgICAgImdsLnVuaWZvcm1NYXRyaXg0ZnYodW5pZm9ybUxvY2F0aW9u
LCBmYWxzZSwgWzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDBd
KSIsCisgICAgICAgICJnbC51c2VQcm9ncmFtKHByb2dyYW0pIiwKKyAgICAgICAgImdsLnZhbGlk
YXRlUHJvZ3JhbShwcm9ncmFtKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIxZigwLCAwKSIs
CisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIxZnYoMCwgZmxvYXQzMmFycmF5KSIsCisgICAgICAg
ICJnbC52ZXJ0ZXhBdHRyaWIxZnYoMCwgWzBdKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIy
ZigwLCAwLCAwKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIyZnYoMCwgZmxvYXQzMmFycmF5
KSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIyZnYoMCwgWzAsIDBdKSIsCisgICAgICAgICJn
bC52ZXJ0ZXhBdHRyaWIzZigwLCAwLCAwLCAwKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIz
ZnYoMCwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIzZnYoMCwgWzAs
IDAsIDBdKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWI0ZigwLCAwLCAwLCAwLCAwKSIsCisg
ICAgICAgICJnbC52ZXJ0ZXhBdHRyaWI0ZnYoMCwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJn
bC52ZXJ0ZXhBdHRyaWI0ZnYoMCwgWzAsIDAsIDAsIDBdKSIsCisgICAgICAgICJnbC52ZXJ0ZXhB
dHRyaWJQb2ludGVyKDAsIDAsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCkiLAorICAgICAgICAiZ2wu
dmlld3BvcnQoMCwgMCwgMCwgMCkiLAorICAgIF07CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2
b2lkVGVzdHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGds
LCBnbC5OT19FUlJPUiwgdm9pZFRlc3RzW2ldKTsKKyAgICB9CisKKyAgICAvLyBGdW5jdGlvbnMg
cmV0dXJuIG51bGxhYmxlIHZhbHVlcyBzaG91bGQgYWxsIHJldHVybiBudWxsLgorICAgIHZhciBu
dWxsVGVzdHMgPSBbCisgICAgICAgICJnbC5jcmVhdGVCdWZmZXIoKSIsCisgICAgICAgICJnbC5j
cmVhdGVGcmFtZWJ1ZmZlcigpIiwKKyAgICAgICAgImdsLmNyZWF0ZVByb2dyYW0oKSIsCisgICAg
ICAgICJnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIsCisgICAgICAgICJnbC5jcmVhdGVTaGFkZXIo
Z2wuR0xfVkVSVEVYX1NIQURFUikiLAorICAgICAgICAiZ2wuY3JlYXRlVGV4dHVyZSgpIiwKKyAg
ICAgICAgImdsLmdldEFjdGl2ZUF0dHJpYihwcm9ncmFtLCAwKSIsCisgICAgICAgICJnbC5nZXRB
Y3RpdmVVbmlmb3JtKHByb2dyYW0sIDApIiwKKyAgICAgICAgImdsLmdldEF0dGFjaGVkU2hhZGVy
cyhwcm9ncmFtKSIsCisgICAgICAgICJnbC5nZXRCdWZmZXJQYXJhbWV0ZXIoZ2wuQVJSQVlfQlVG
RkVSLCBnbC5CVUZGRVJfU0laRSkiLAorICAgICAgICAiZ2wuZ2V0Q29udGV4dEF0dHJpYnV0ZXMo
KSIsCisgICAgICAgICJnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJB
TUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5U
X09CSkVDVF9OQU1FKSIsCisgICAgICAgICJnbC5nZXRQYXJhbWV0ZXIoZ2wuQ1VSUkVOVF9QUk9H
UkFNKSIsCisgICAgICAgICJnbC5nZXRQcm9ncmFtSW5mb0xvZyhwcm9ncmFtKSIsCisgICAgICAg
ICJnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2dyYW0sIGdsLkxJTktfU1RBVFVTKSIsCisgICAg
ICAgICJnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5E
RVJCVUZGRVJfV0lEVEgpIiwKKyAgICAgICAgImdsLmdldFNoYWRlckluZm9Mb2coc2hhZGVyKSIs
CisgICAgICAgICJnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc2hhZGVyLCBnbC5TSEFERVJfVFlQRSki
LAorICAgICAgICAiZ2wuZ2V0U2hhZGVyU291cmNlKHNoYWRlcikiLAorICAgICAgICAiZ2wuZ2V0
VGV4UGFyYW1ldGVyKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TKSIsCisgICAgICAg
ICJnbC5nZXRVbmlmb3JtKHByb2dyYW0sIHVuaWZvcm1Mb2NhdGlvbikiLAorICAgICAgICAiZ2wu
Z2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICd2UG9zaXRpb24nKSIsCisgICAgICAgICJnbC5n
ZXRWZXJ0ZXhBdHRyaWIoMCwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9CVUZGRVJfQklORElORyki
LAorICAgICAgICAiZ2wuZ2V0U3VwcG9ydGVkRXh0ZW5zaW9ucygpIiwKKyAgICAgICAgImdsLmdl
dEV4dGVuc2lvbignIiArIGV4dGVuc2lvbl9uYW1lICsgIicpIiwKKyAgICBdOworICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgbnVsbFRlc3RzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHNob3VsZEJl
TnVsbChudWxsVGVzdHNbaV0pOworICAgIH0KKworICAgIC8vICJJcyIgcXVlcmllcyBzaG91bGQg
YWxsIHJldHVybiBmYWxzZS4KKyAgICBzaG91bGRCZUZhbHNlKCJnbC5pc0J1ZmZlcihidWZmZXIp
Iik7CisgICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNFbmFibGVkKGdsLkJMRU5EKSIpOworICAgIHNo
b3VsZEJlRmFsc2UoImdsLmlzRnJhbWVidWZmZXIoZnJhbWVidWZmZXIpIik7CisgICAgc2hvdWxk
QmVGYWxzZSgiZ2wuaXNQcm9ncmFtKHByb2dyYW0pIik7CisgICAgc2hvdWxkQmVGYWxzZSgiZ2wu
aXNSZW5kZXJidWZmZXIocmVuZGVyYnVmZmVyKSIpOworICAgIHNob3VsZEJlRmFsc2UoImdsLmlz
U2hhZGVyKHNoYWRlcikiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJnbC5pc1RleHR1cmUodGV4dHVy
ZSkiKTsKKworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7CisK
KyAgICBmaW5pc2goKTsKK30KKworZnVuY3Rpb24gZmluaXNoKCkgeworICAgIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7CisgICAgdmFyIGVwaWxvZ3VlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgic2NyaXB0Iik7CisgICAgZXBpbG9ndWUub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAg
IGlmICh3aW5kb3cubm9uS2hyb25vc0ZyYW1ld29ya05vdGlmeURvbmUpCisgICAgICAgICAgICB3
aW5kb3cubm9uS2hyb25vc0ZyYW1ld29ya05vdGlmeURvbmUoKTsKKyAgICB9OworICAgIGVwaWxv
Z3VlLnNyYyA9ICIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIjsKKyAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGVwaWxvZ3VlKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHkgb25sb2FkPSJpbml0KCkiPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJjYW52YXMiPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggMzM0ZDU2YWI2YjIzYmM0NjIzZjAzYTFmY2UzZmM0YmZkOTE5YjFiOC4u
ZTUyZDRhNmVkMjcwODcxYzE0NmM3NjhkYWRmZGRjNjU4ZDQzOTk4MiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yODMs
NiArMjgzLDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgaHRtbC9jYW52YXMvQ2FudmFz
UGF0dGVybi5pZGwKICAgICBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRs
CiAgICAgaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5pZGwKKyAgICBodG1sL2Nh
bnZhcy9DaHJvbWl1bUxvc2VDb250ZXh0LmlkbAogICAgIGh0bWwvY2FudmFzL0RhdGFWaWV3Lmlk
bAogICAgIGh0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5pZGwKICAgICBodG1sL2NhbnZhcy9JbnQx
NkFycmF5LmlkbApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCBkYmE1NDQxMGZmOGZkYTI3NDE0OGE4ZjdmZmE1MDc1ZjZjOTI5ZjQ0Li42NTU3
OTMwZjMwZTZlZWZkZjgyNDRlNTJiZjk1ODBiMjk3OTI2NDg4IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEw
LTEyLTIyICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIENIUk9NSVVNX2xvc2VfY29u
dGV4dCBXZWJHTCBleHRlbnNpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01MTQ5MgorCisgICAgICAgIFRlc3RzOiBmYXN0L2NhbnZhcy93ZWJnbC9j
b250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9jYW52YXMvd2Vi
Z2wvY29udGV4dC1sb3N0Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAg
ICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdl
YkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKFdlYkNvcmU6OkpTV2ViR0xSZW5k
ZXJpbmdDb250ZXh0OjpnZXRTdXBwb3J0ZWRFeHRlbnNpb25zKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6dG9WOE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpWOFdlYkdMUmVuZGVyaW5n
Q29udGV4dDo6Z2V0U3VwcG9ydGVkRXh0ZW5zaW9uc0NhbGxiYWNrKToKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9DaHJvbWl1bUxvc2VDb250ZXh0LmNwcDogQ29waWVkIGZyb20gV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oLgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1Mb3Nl
Q29udGV4dDo6Q2hyb21pdW1Mb3NlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1
bUxvc2VDb250ZXh0Ojp+Q2hyb21pdW1Mb3NlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpD
aHJvbWl1bUxvc2VDb250ZXh0OjpnZXROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVt
TG9zZUNvbnRleHQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bUxvc2VDb250
ZXh0Ojpsb3NlQ29udGV4dCk6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29u
dGV4dC5oOiBDb3BpZWQgZnJvbSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgu
CisgICAgICAgICogaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5pZGw6IENvcGllZCBm
cm9tIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaC4KKyAgICAgICAgKiBodG1s
L2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OmdldEV4dGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OmdldFN1cHBvcnRlZEV4dGVuc2lvbnMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5k
ZXJpbmdDb250ZXh0Ojpmb3JjZUxvc2VDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdM
UmVuZGVyaW5nQ29udGV4dDo6Z2V0TnVtYmVyT2ZFeHRlbnNpb25zKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0RXh0ZW5zaW9uTnVtYmVyKToKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaDoKKwogMjAxMC0xMi0yMSAgUGF2
ZWwgUG9kaXZpbG92ICA8cG9kaXZpbG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBZdXJ5IFNlbWlraGF0c2t5LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGZiMTNhZmVhNzk3ZmI0
NzhhOWQ3NGY2ZTcwOWJjZGMxMjkwOGU2OGIuLjYxM2NiMDFmMDdhNzE5NTVlMDdiMTNjYjA3YzBm
MzQ3NGU1OGRlYWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTY4LDYgKzY4LDcgQEAgRE9NX0NMQVNT
RVMgPSBcCiAgICAgQXVkaW9QYXJhbSBcCiAgICAgQXVkaW9Qcm9jZXNzaW5nRXZlbnQgXAogICAg
IEF1ZGlvU291cmNlTm9kZSBcCisgICAgQ2hyb21pdW1Mb3NlQ29udGV4dCBcCiAgICAgQ29udm9s
dmVyTm9kZSBcCiAgICAgRGVsYXlOb2RlIFwKICAgICBIaWdoUGFzczJGaWx0ZXJOb2RlIFwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFt
CmluZGV4IDljZmJmM2JmNGUzMmQyNWFmYWQ2NTNlYzk4YWY1YzlhODQyNDhlNDUuLjJkYWQwNTFl
OWI1YjAxNGMwNmZhMTczNzVjMTZlNzQwOWU5MjU2MDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTQ1LDYgKzE0NSw4
IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0NEQVRBU2VjdGlvbi5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2hhcmFjdGVyRGF0
YS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDaGFyYWN0ZXJEYXRhLmggXAorCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDaHJvbWl1bUxvc2VDb250ZXh0LmNwcCBcCisJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0Nocm9taXVtTG9zZUNvbnRleHQuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0NsaWVudFJlY3QuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
Q2xpZW50UmVjdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2xpZW50UmVjdExpc3Qu
Y3BwIFwKQEAgLTE1NzIsNiArMTU3NCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29y
ZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmggXAogCVdlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzU3R5bGUuY3BwIFwKIAlXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxl
LmggXAorCVdlYkNvcmUvaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5jcHAgXAorCVdl
YkNvcmUvaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5oIFwKIAlXZWJDb3JlL2h0bWwv
Y2FudmFzL0Zsb2F0MzJBcnJheS5jcHAgXAogCVdlYkNvcmUvaHRtbC9jYW52YXMvRmxvYXQzMkFy
cmF5LmggXAogCVdlYkNvcmUvaHRtbC9jYW52YXMvSW50MTZBcnJheS5jcHAgXApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBmY2E4
Y2ZjNDJkMjRiNzE4OWRlOThhYWExZmY2ZWY5OTRjMjc0NTE4Li5mNWQ0MjQ3ZjEwM2JlMmRjNjFh
YzI4NWI4YTE5MzBkZDhmZWJhZDMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQor
KysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjA4LDYgKzIwOCw3IEBACiAgICAgICAgICAg
ICAnaHRtbC9jYW52YXMvQ2FudmFzUGl4ZWxBcnJheS5pZGwnLAogICAgICAgICAgICAgJ2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaWRsJywKICAgICAgICAgICAgICdodG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsJywKKyAgICAgICAgICAgICdodG1sL2Nh
bnZhcy9DaHJvbWl1bUxvc2VDb250ZXh0LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMv
RGF0YVZpZXcuaWRsJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRs
JywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9JbnQxNkFycmF5LmlkbCcsCkBAIC0xOTA3LDYg
KzE5MDgsOCBAQAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcCcsCiAg
ICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaCcsCiAgICAgICAgICAgICAnaHRt
bC9jYW52YXMvQ2hlY2tlZEludC5oJywKKyAgICAgICAgICAgICdodG1sL2NhbnZhcy9DaHJvbWl1
bUxvc2VDb250ZXh0LmNwcCcsCisgICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3Nl
Q29udGV4dC5oJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9EYXRhVmlldy5jcHAnLAogICAg
ICAgICAgICAgJ2h0bWwvY2FudmFzL0RhdGFWaWV3LmgnLAogICAgICAgICAgICAgJ2h0bWwvY2Fu
dmFzL0Zsb2F0MzJBcnJheS5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBi
L1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggYmMzZjU5NTIzODE1MTE4MTA0Yzg2YTM3YmRkZjgx
N2ZjZjlkOGU3NC4uNmJmNzlkNTk3YWI3Mjc2NWRkODgxMzU5MDdhZDM1YjM4MjQzYzJlMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBA
IC0xODQsNiArMTg0LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBmaWxlYXBpL01ldGFkYXRh
Q2FsbGJhY2suaWRsIFwKICAgICBodG1sL2NhbnZhcy9BcnJheUJ1ZmZlclZpZXcuaWRsIFwKICAg
ICBodG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5pZGwgXAorICAgIGh0bWwvY2FudmFzL0Nocm9taXVt
TG9zZUNvbnRleHQuaWRsIFwKICAgICBodG1sL2NhbnZhcy9EYXRhVmlldy5pZGwgXAogICAgIGh0
bWwvY2FudmFzL0ludDhBcnJheS5pZGwgXAogICAgIGh0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5p
ZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5w
cm8KaW5kZXggY2RjM2ExMjQ2Y2EwODcxYTE3ZmIwYmEyOGE3YzJkZTM0MmZlYjk5OS4uOGM5Njk3
OWY2NGE4MmZmNGM2YzZmOTI1MTE1NjI5YjQ3YWI5MDNkNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zNzc4LDYgKzM3NzgsNyBA
QCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfM0RfQ0FOVkFTPTEpIHsKIAogICAgIEhFQURFUlMg
Kz0gXAogICAgICAgICBodG1sL2NhbnZhcy9DYW52YXNDb250ZXh0QXR0cmlidXRlcy5oIFwKKyAg
ICAgICAgaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5oIFwKICAgICAgICAgaHRtbC9j
YW52YXMvV2ViR0xPYmplY3QuaCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5m
by5oIFwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaCBcCkBAIC0zODAyLDYgKzM4
MDMsNyBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfM0RfQ0FOVkFTPTEpIHsKICAgICB9CiAg
ICAgU09VUkNFUyArPSBcCiAgICAgICAgIGh0bWwvY2FudmFzL0NhbnZhc0NvbnRleHRBdHRyaWJ1
dGVzLmNwcCBcCisgICAgICAgIGh0bWwvY2FudmFzL0Nocm9taXVtTG9zZUNvbnRleHQuY3BwIFwK
ICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xPYmplY3QuY3BwIFwKICAgICAgICAgaHRtbC9jYW52
YXMvV2ViR0xCdWZmZXIuY3BwIFwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0QXR0
cmlidXRlcy5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCAwZWQ5MzIwODY3ODEyNTc4ZDU2YWI4ZDc2NTNiYmJhMmIzNmIxYzVhLi44ZjYzMGY4OTVi
MjViZTExYmJhZDNlYjI4Y2RiMDlkOWE4ZGNlMDhmIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjgyNCw2ICsyODI0LDEwIEBACiAJCTkzNjI2NDBCMERF
MTEzN0QwMDlENUEwMCAvKiBDU1NSZWZsZWN0aW9uRGlyZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzYyNjQwQTBERTExMzdEMDA5RDVBMDAg
LyogQ1NTUmVmbGVjdGlvbkRpcmVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTkzNjNCNjJDMEY4RThGRTAwMDgwMzgxMCAvKiBIaXN0b3J5
UHJvcGVydHlMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzNjNCNjJBMEY4RThGRTAwMDgwMzgxMCAvKiBIaXN0b3J5UHJvcGVydHlMaXN0LmNw
cCAqLzsgfTsKIAkJOTM2M0I2MkQwRjhFOEZFMDAwODAzODEwIC8qIEhpc3RvcnlQcm9wZXJ0eUxp
c3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNjNC
NjJCMEY4RThGRTAwMDgwMzgxMCAvKiBIaXN0b3J5UHJvcGVydHlMaXN0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTM3MkRBRkYxMkMxNzdCOTAw
QUQ2MDFFIC8qIENocm9taXVtTG9zZUNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM3MkRBRkMxMkMxNzdCOTAwQUQ2MDFFIC8qIENocm9t
aXVtTG9zZUNvbnRleHQuY3BwICovOyB9OworCQk5MzcyREIwMDEyQzE3N0I5MDBBRDYwMUUgLyog
Q2hyb21pdW1Mb3NlQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTM3MkRBRkQxMkMxNzdCOTAwQUQ2MDFFIC8qIENocm9taXVtTG9zZUNvbnRl
eHQuaCAqLzsgfTsKKwkJOTM3MkRDNUYxMkMxODc0NjAwQUQ2MDFFIC8qIEpTQ2hyb21pdW1Mb3Nl
Q29udGV4dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5MzcyREM1RDEyQzE4NzQ2MDBBRDYwMUUgLyogSlNDaHJvbWl1bUxvc2VDb250ZXh0LmNwcCAq
LzsgfTsKKwkJOTM3MkRDNjAxMkMxODc0NjAwQUQ2MDFFIC8qIEpTQ2hyb21pdW1Mb3NlQ29udGV4
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM3MkRD
NUUxMkMxODc0NjAwQUQ2MDFFIC8qIEpTQ2hyb21pdW1Mb3NlQ29udGV4dC5oICovOyB9OwogCQk5
Mzc5OUVGODBCRjI3NDM2MDBEMEYyMzAgLyogUmVuZGVyV29yZEJyZWFrLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNzk5RUY2MEJGMjc0MzYwMEQw
RjIzMCAvKiBSZW5kZXJXb3JkQnJlYWsuY3BwICovOyB9OwogCQk5Mzc5OUVGOTBCRjI3NDM2MDBE
MEYyMzAgLyogUmVuZGVyV29yZEJyZWFrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5Mzc5OUVGNzBCRjI3NDM2MDBEMEYyMzAgLyogUmVuZGVyV29yZEJy
ZWFrLmggKi87IH07CiAJCTkzODBGNDczMDlBMTFBQjQwMDFGREIzNCAvKiBXaWRnZXQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM4MEY0NzEwOUEx
MUFCNDAwMUZEQjM0IC8qIFdpZGdldC5jcHAgKi87IH07CkBAIC05MTY2LDYgKzkxNzAsMTEgQEAK
IAkJOTM2M0I2MkEwRjhFOEZFMDAwODAzODEwIC8qIEhpc3RvcnlQcm9wZXJ0eUxpc3QuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGlzdG9yeVByb3BlcnR5TGlzdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzNjNCNjJCMEY4RThGRTAwMDgwMzgx
MCAvKiBIaXN0b3J5UHJvcGVydHlMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEhpc3RvcnlQcm9wZXJ0eUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTM2REQwM0EwOUNFQUMyNzAwNTZBRThDIC8qIFJhbmdlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBSYW5nZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzNzJEQUZDMTJD
MTc3QjkwMEFENjAxRSAvKiBDaHJvbWl1bUxvc2VDb250ZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IENocm9taXVtTG9zZUNvbnRleHQuY3BwOyBwYXRoID0gY2Fu
dmFzL0Nocm9taXVtTG9zZUNvbnRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk5MzcyREFGRDEyQzE3N0I5MDBBRDYwMUUgLyogQ2hyb21pdW1Mb3NlQ29udGV4dC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBDaHJvbWl1bUxvc2VDb250ZXh0Lmg7IHBhdGgg
PSBjYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk5MzcyREFGRTEyQzE3N0I5MDBBRDYwMUUgLyogQ2hyb21pdW1Mb3NlQ29udGV4dC5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gQ2hyb21pdW1Mb3NlQ29udGV4dC5pZGw7IHBhdGggPSBj
YW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTkzNzJEQzVEMTJDMTg3NDYwMEFENjAxRSAvKiBKU0Nocm9taXVtTG9zZUNvbnRleHQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSlNDaHJvbWl1bUxvc2VDb250
ZXh0LmNwcDsgcGF0aCA9IC4uL1dlYktpdEJ1aWxkL0RlYnVnL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDaHJvbWl1bUxvc2VDb250ZXh0LmNwcDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9
OworCQk5MzcyREM1RTEyQzE4NzQ2MDBBRDYwMUUgLyogSlNDaHJvbWl1bUxvc2VDb250ZXh0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTQ2hyb21pdW1Mb3NlQ29udGV4dC5o
OyBwYXRoID0gLi4vV2ViS2l0QnVpbGQvRGVidWcvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0No
cm9taXVtTG9zZUNvbnRleHQuaDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwogCQk5Mzc5
OUVGNjBCRjI3NDM2MDBEMEYyMzAgLyogUmVuZGVyV29yZEJyZWFrLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlcldvcmRCcmVhay5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTkzNzk5RUY3MEJGMjc0MzYwMEQwRjIzMCAvKiBSZW5kZXJXb3Jk
QnJlYWsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyV29yZEJyZWFr
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzODBGNDcxMDlBMTFBQjQwMDFGREIz
NCAvKiBXaWRnZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdp
ZGdldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzA2Miw2ICsxMzA3MSw5
IEBACiAJCQkJNDk0ODRGQjQxMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc0dyYWRpZW50LmggKi8s
CiAJCQkJNDk0ODRGQjUxMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc0dyYWRpZW50LmlkbCAqLywK
IAkJCQk0OTQ4NEZCNjEwMkNGMjNDMDAxODdERDMgLyogQ2FudmFzUGF0dGVybi5jcHAgKi8sCisJ
CQkJOTM3MkRBRkMxMkMxNzdCOTAwQUQ2MDFFIC8qIENocm9taXVtTG9zZUNvbnRleHQuY3BwICov
LAorCQkJCTkzNzJEQUZEMTJDMTc3QjkwMEFENjAxRSAvKiBDaHJvbWl1bUxvc2VDb250ZXh0Lmgg
Ki8sCisJCQkJOTM3MkRBRkUxMkMxNzdCOTAwQUQ2MDFFIC8qIENocm9taXVtTG9zZUNvbnRleHQu
aWRsICovLAogCQkJCTQ5NDg0RkI3MTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNQYXR0ZXJuLmgg
Ki8sCiAJCQkJNDk0ODRGQjgxMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc1BhdHRlcm4uaWRsICov
LAogCQkJCTQ5NDg0RkI5MTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNQaXhlbEFycmF5LmNwcCAq
LywKQEAgLTE1Nzk1LDYgKzE1ODA3LDggQEAKIAkJQTgzQjc5MDgwQ0NBRkYyQjAwMEIwODI1IC8q
IEhUTUwgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTkz
NzJEQzVEMTJDMTg3NDYwMEFENjAxRSAvKiBKU0Nocm9taXVtTG9zZUNvbnRleHQuY3BwICovLAor
CQkJCTkzNzJEQzVFMTJDMTg3NDYwMEFENjAxRSAvKiBKU0Nocm9taXVtTG9zZUNvbnRleHQuaCAq
LywKIAkJCQk0OUVFQ0VGMjEwNTA3MEM0MDAwOTlGQUIgLyogSlNBcnJheUJ1ZmZlci5jcHAgKi8s
CiAJCQkJNDlFRUNFRjMxMDUwNzBDNDAwMDk5RkFCIC8qIEpTQXJyYXlCdWZmZXIuaCAqLywKIAkJ
CQk0OUVFQ0YxOTEwNTA3MkYzMDAwOTlGQUIgLyogSlNBcnJheUJ1ZmZlclZpZXcuY3BwICovLApA
QCAtMjIyMTgsNiArMjIyMzIsOCBAQAogCQkJCTZFQkYwRTQ5MTJBODkyNjEwMERCMTcwOSAvKiBP
RVNUZXh0dXJlRmxvYXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTZFQkYwRTU1MTJBODkyOTgwMERC
MTcwOSAvKiBXZWJHTEV4dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkVCRjBFNzcxMkE5
ODY4ODAwREIxNzA5IC8qIEpTT0VTVGV4dHVyZUZsb2F0LmggaW4gSGVhZGVycyAqLywKKwkJCQk5
MzcyREIwMDEyQzE3N0I5MDBBRDYwMUUgLyogQ2hyb21pdW1Mb3NlQ29udGV4dC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJOTM3MkRDNjAxMkMxODc0NjAwQUQ2MDFFIC8qIEpTQ2hyb21pdW1Mb3NlQ29u
dGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNDg5MCw2ICsyNDkwNiw4IEBACiAJCQkJNkVCRjBF
NDgxMkE4OTI2MTAwREIxNzA5IC8qIE9FU1RleHR1cmVGbG9hdC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk2RUJGMEU1NDEyQTg5Mjk4MDBEQjE3MDkgLyogV2ViR0xFeHRlbnNpb24uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNkVCRjBFNzYxMkE5ODY4ODAwREIxNzA5IC8qIEpTT0VTVGV4dHVyZUZs
b2F0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTkzNzJEQUZGMTJDMTc3QjkwMEFENjAxRSAvKiBD
aHJvbWl1bUxvc2VDb250ZXh0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTkzNzJEQzVGMTJDMTg3
NDYwMEFENjAxRSAvKiBKU0Nocm9taXVtTG9zZUNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3Vz
dG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0
b20uY3BwCmluZGV4IGUxOTYzZGE1ZGQxOTgzOGNkMDllZGI3OGVlYjVmYmMyYjI4ZmE0NjQuLjFi
MThiMzljYjYxZmI5YjNiMTg5ODIxMjY4MGE4YTZmNTEzMDVhOWQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCkBAIC0y
OSw5ICsyOSwxMSBAQAogCiAjaW5jbHVkZSAiSlNXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKIAor
I2luY2x1ZGUgIkNocm9taXVtTG9zZUNvbnRleHQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2Rl
LmgiCiAjaW5jbHVkZSAiSFRNTENhbnZhc0VsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MSW1hZ2VF
bGVtZW50LmgiCisjaW5jbHVkZSAiSlNDaHJvbWl1bUxvc2VDb250ZXh0LmgiCiAjaW5jbHVkZSAi
SlNIVE1MQ2FudmFzRWxlbWVudC5oIgogI2luY2x1ZGUgIkpTSFRNTEltYWdlRWxlbWVudC5oIgog
I2luY2x1ZGUgIkpTSW1hZ2VEYXRhLmgiCkBAIC0xNjksNiArMTcxLDggQEAgc3RhdGljIEpTVmFs
dWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFdlYkdMRXh0ZW4KICAgICBpZiAoIWV4dGVuc2lvbikKICAgICAgICAgcmV0dXJuIGpzTnVsbCgp
OwogICAgIHN3aXRjaCAoZXh0ZW5zaW9uLT5nZXROYW1lKCkpIHsKKyAgICBjYXNlIFdlYkdMRXh0
ZW5zaW9uOjpDaHJvbWl1bUxvc2VDb250ZXh0TmFtZToKKyAgICAgICAgcmV0dXJuIHRvSlMoZXhl
YywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxDaHJvbWl1bUxvc2VDb250ZXh0Kj4oZXh0ZW5z
aW9uKSk7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVGV4dHVyZUZsb2F0TmFtZToKICAg
ICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxPRVNUZXh0
dXJlRmxvYXQqPihleHRlbnNpb24pKTsKICAgICB9CkBAIC0zMjAsNiArMzI0LDggQEAgSlNWYWx1
ZSBKU1dlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0U2hhZGVyUGFyYW1ldGVyKEV4ZWNTdGF0ZSog
ZXhlYykKIEpTVmFsdWUgSlNXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFN1cHBvcnRlZEV4dGVu
c2lvbnMoRXhlY1N0YXRlKiBleGVjKQogewogICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29u
dGV4dCA9IHN0YXRpY19jYXN0PFdlYkdMUmVuZGVyaW5nQ29udGV4dCo+KGltcGwoKSk7CisgICAg
aWYgKGNvbnRleHQtPmlzQ29udGV4dExvc3QoKSkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwog
ICAgIFZlY3RvcjxTdHJpbmc+IHZhbHVlID0gY29udGV4dC0+Z2V0U3VwcG9ydGVkRXh0ZW5zaW9u
cygpOwogICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGxpc3Q7CiAgICAgZm9yIChzaXplX3QgaWkg
PSAwOyBpaSA8IHZhbHVlLnNpemUoKTsgKytpaSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCBiL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAppbmRl
eCAwNDhjZWY1NzM2NmY2M2M3ZTFhNWM2Zjc2YzFmNmM0NGJiOTZmYjU2Li5hMDhkNmM5ODQ0YTli
ZDRlZDdjOWQyODBlODBlYjk3MzYwNjVkYTdiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCkBA
IC0zNSwzNSArMzUsMzMgQEAKICNpbmNsdWRlICJWOFdlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgog
CiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgotCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQu
aCIKLQotI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0KKyNpbmNsdWRlICJWOEFycmF5QnVm
ZmVyVmlldy5oIgogI2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUgIlY4QmluZGluZ01h
Y3Jvcy5oIgotI2luY2x1ZGUgIlY4QXJyYXlCdWZmZXJWaWV3LmgiCi0jaW5jbHVkZSAiVjhXZWJH
TEJ1ZmZlci5oIgotI2luY2x1ZGUgIlY4SW50OEFycmF5LmgiCisjaW5jbHVkZSAiVjhDaHJvbWl1
bUxvc2VDb250ZXh0LmgiCiAjaW5jbHVkZSAiVjhGbG9hdDMyQXJyYXkuaCIKLSNpbmNsdWRlICJW
OFdlYkdMRnJhbWVidWZmZXIuaCIKLSNpbmNsdWRlICJWOEludDMyQXJyYXkuaCIKLSNpbmNsdWRl
ICJWOFdlYkdMUHJvZ3JhbS5oIgotI2luY2x1ZGUgIlY4V2ViR0xSZW5kZXJidWZmZXIuaCIKLSNp
bmNsdWRlICJWOFdlYkdMU2hhZGVyLmgiCi0jaW5jbHVkZSAiVjhJbnQxNkFycmF5LmgiCi0jaW5j
bHVkZSAiVjhXZWJHTFRleHR1cmUuaCIKLSNpbmNsdWRlICJWOFdlYkdMVW5pZm9ybUxvY2F0aW9u
LmgiCi0jaW5jbHVkZSAiVjhVaW50OEFycmF5LmgiCi0jaW5jbHVkZSAiVjhVaW50MzJBcnJheS5o
IgotI2luY2x1ZGUgIlY4VWludDE2QXJyYXkuaCIKICNpbmNsdWRlICJWOEhUTUxDYW52YXNFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiVjhIVE1MSW1hZ2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiVjhIVE1M
VmlkZW9FbGVtZW50LmgiCiAjaW5jbHVkZSAiVjhJbWFnZURhdGEuaCIKKyNpbmNsdWRlICJWOElu
dDE2QXJyYXkuaCIKKyNpbmNsdWRlICJWOEludDMyQXJyYXkuaCIKKyNpbmNsdWRlICJWOEludDhB
cnJheS5oIgogI2luY2x1ZGUgIlY4T0VTVGV4dHVyZUZsb2F0LmgiCiAjaW5jbHVkZSAiVjhQcm94
eS5oIgorI2luY2x1ZGUgIlY4VWludDE2QXJyYXkuaCIKKyNpbmNsdWRlICJWOFVpbnQzMkFycmF5
LmgiCisjaW5jbHVkZSAiVjhVaW50OEFycmF5LmgiCisjaW5jbHVkZSAiVjhXZWJHTEJ1ZmZlci5o
IgorI2luY2x1ZGUgIlY4V2ViR0xGcmFtZWJ1ZmZlci5oIgorI2luY2x1ZGUgIlY4V2ViR0xQcm9n
cmFtLmgiCisjaW5jbHVkZSAiVjhXZWJHTFJlbmRlcmJ1ZmZlci5oIgorI2luY2x1ZGUgIlY4V2Vi
R0xTaGFkZXIuaCIKKyNpbmNsdWRlICJWOFdlYkdMVGV4dHVyZS5oIgorI2luY2x1ZGUgIlY4V2Vi
R0xVbmlmb3JtTG9jYXRpb24uaCIKICNpbmNsdWRlICJXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIK
KyNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTE1OSw2ICsxNTcsOSBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjhPYmplY3Qo
V2ViR0xFeHRlbnNpb24qIGV4dGVuc2lvbiwgdjg6OkhhbmRsZTx2OAogICAgICAgICByZXR1cm4g
djg6Ok51bGwoKTsKICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZXh0ZW5zaW9uT2JqZWN0Owog
ICAgIHN3aXRjaCAoZXh0ZW5zaW9uLT5nZXROYW1lKCkpIHsKKyAgICBjYXNlIFdlYkdMRXh0ZW5z
aW9uOjpDaHJvbWl1bUxvc2VDb250ZXh0TmFtZToKKyAgICAgICAgZXh0ZW5zaW9uT2JqZWN0ID0g
dG9WOChzdGF0aWNfY2FzdDxDaHJvbWl1bUxvc2VDb250ZXh0Kj4oZXh0ZW5zaW9uKSk7CisgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1RleHR1cmVGbG9hdE5hbWU6
CiAgICAgICAgIGV4dGVuc2lvbk9iamVjdCA9IHRvVjgoc3RhdGljX2Nhc3Q8T0VTVGV4dHVyZUZs
b2F0Kj4oZXh0ZW5zaW9uKSk7CiAgICAgICAgIGJyZWFrOwpAQCAtMzc1LDYgKzM3Niw5IEBAIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0U3VwcG9ydGVk
RXh0ZW5zaW9uc0NhbGxiYWNrKGNvCiB7CiAgICAgSU5DX1NUQVRTKCJET00uV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmdldFN1cHBvcnRlZEV4dGVuc2lvbnNDYWxsYmFjaygpIik7CiAgICAgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0KiBpbXAgPSBWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dG9OYXRpdmUo
YXJncy5Ib2xkZXIoKSk7CisgICAgaWYgKGltcC0+aXNDb250ZXh0TG9zdCgpKQorICAgICAgICBy
ZXR1cm4gdjg6Ok51bGwoKTsKKwogICAgIFZlY3RvcjxTdHJpbmc+IHZhbHVlID0gaW1wLT5nZXRT
dXBwb3J0ZWRFeHRlbnNpb25zKCk7CiAgICAgdjg6OkxvY2FsPHY4OjpBcnJheT4gYXJyYXkgPSB2
ODo6QXJyYXk6Ok5ldyh2YWx1ZS5zaXplKCkpOwogICAgIGZvciAoc2l6ZV90IGlpID0gMDsgaWkg
PCB2YWx1ZS5zaXplKCk7ICsraWkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL0No
cm9taXVtTG9zZUNvbnRleHQuY3BwIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DaHJvbWl1bUxvc2VD
b250ZXh0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNTY5ZWI1ZjIzM2ViZmU3YTMyYWI0ZDhhOGJlY2MwY2M3
MTBiZmU5Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DaHJvbWl1bUxv
c2VDb250ZXh0LmNwcApAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
KyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorCisjaWYgRU5BQkxFKDNEX0NBTlZBUykKKworI2luY2x1ZGUgIkNocm9taXVtTG9zZUNvbnRl
eHQuaCIKKworI2luY2x1ZGUgIldlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK0Nocm9taXVtTG9zZUNvbnRleHQ6OkNocm9taXVtTG9zZUNvbnRleHQoV2Vi
R0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0KQorICAgIDogV2ViR0xFeHRlbnNpb24oKQorICAg
ICwgbV9jb250ZXh0KGNvbnRleHQpCit7Cit9CisKK0Nocm9taXVtTG9zZUNvbnRleHQ6On5DaHJv
bWl1bUxvc2VDb250ZXh0KCkKK3sKK30KKworV2ViR0xFeHRlbnNpb246OkV4dGVuc2lvbk5hbWUg
Q2hyb21pdW1Mb3NlQ29udGV4dDo6Z2V0TmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIENocm9t
aXVtTG9zZUNvbnRleHROYW1lOworfQorCitQYXNzUmVmUHRyPENocm9taXVtTG9zZUNvbnRleHQ+
IENocm9taXVtTG9zZUNvbnRleHQ6OmNyZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRl
eHQpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDaHJvbWl1bUxvc2VDb250ZXh0KGNvbnRl
eHQpKTsKK30KKwordm9pZCBDaHJvbWl1bUxvc2VDb250ZXh0Ojpsb3NlQ29udGV4dCgpCit7Cisg
ICAgbV9jb250ZXh0LT5mb3JjZUxvc2VDb250ZXh0KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0Nocm9taXVtTG9zZUNvbnRleHQuaCBiL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2hyb21pdW1Mb3NlQ29udGV4dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhZDRhYjFlNTRmZDdiODkzNDA4Mzg3
MTJkNmFkNDM1YzJiZTk3MmEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFz
L0Nocm9taXVtTG9zZUNvbnRleHQuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBD
aHJvbWl1bUxvc2VDb250ZXh0X2gKKyNkZWZpbmUgQ2hyb21pdW1Mb3NlQ29udGV4dF9oCisKKyNp
bmNsdWRlICJXZWJHTEV4dGVuc2lvbi5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBXZWJHTFJlbmRlcmluZ0NvbnRleHQ7CisKK2NsYXNzIENocm9taXVtTG9zZUNvbnRleHQgOiBw
dWJsaWMgV2ViR0xFeHRlbnNpb24geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENo
cm9taXVtTG9zZUNvbnRleHQ+IGNyZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqKTsKKworICAg
IHZpcnR1YWwgfkNocm9taXVtTG9zZUNvbnRleHQoKTsKKyAgICB2aXJ0dWFsIEV4dGVuc2lvbk5h
bWUgZ2V0TmFtZSgpIGNvbnN0OworCisgICAgdm9pZCBsb3NlQ29udGV4dCgpOworCitwcml2YXRl
OgorICAgIENocm9taXVtTG9zZUNvbnRleHQoV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CisKKyAg
ICBXZWJHTFJlbmRlcmluZ0NvbnRleHQqIG1fY29udGV4dDsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIENocm9taXVtTG9zZUNvbnRleHRfaApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL2NhbnZhcy9DaHJvbWl1bUxvc2VDb250ZXh0LmlkbCBiL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmY4ZmUwYzY1ODA1
NWVlYjEzZjkyNjkyZTMyMWUwYjRlYzExM2RmMQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUv
aHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5pZGwKQEAgLTAsMCArMSwzMCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisg
KiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKK21vZHVsZSBodG1sIHsKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPTNEX0NBTlZBUywg
T21pdENvbnN0cnVjdG9yXSBDaHJvbWl1bUxvc2VDb250ZXh0IHsKKyAgICAgICAgW1N0cmljdFR5
cGVDaGVja2luZ10gdm9pZCBsb3NlQ29udGV4dCgpOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmggYi9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMRXh0ZW5zaW9uLmgKaW5kZXggM2RmM2I3MzJiNzQxODU3MTQ0MzVmMTJkNzFkNzQ0ZGRi
OGViODQxOS4uMjk2YWI0MTZjMDc5Y2Y0MjNjZmMyNTIyNDVjYWIwN2RjYzk3M2FiMSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCisrKyBiL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaApAQCAtMzQsNyArMzQsOCBAQCBjbGFzcyBXZWJH
TEV4dGVuc2lvbiA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdMRXh0ZW5zaW9uPiB7CiBwdWJsaWM6
CiAgICAgLy8gRXh0ZW5zaW9uIG5hbWVzIGFyZSBuZWVkZWQgdG8gcHJvcGVybHkgd3JhcCBpbnN0
YW5jZXMgaW4gSmF2YVNjcmlwdCBvYmplY3RzLgogICAgIGVudW0gRXh0ZW5zaW9uTmFtZSB7Ci0g
ICAgICAgIE9FU1RleHR1cmVGbG9hdE5hbWUKKyAgICAgICAgQ2hyb21pdW1Mb3NlQ29udGV4dE5h
bWUsCisgICAgICAgIE9FU1RleHR1cmVGbG9hdE5hbWUsCiAgICAgfTsKIAogICAgIHZpcnR1YWwg
fldlYkdMRXh0ZW5zaW9uKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5jcHAgYi9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5n
Q29udGV4dC5jcHAKaW5kZXggNjU3NjllMWEyOTA0MzRjNzIzOGNlZDZmODljZmI2MDRhZWIxNmU5
Ny4uODE1MDczYTQ1NTJiMDA2ODg4NDE0OWIwNWZiNjYzOTQ0OGZjNWIzOCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtMzIsNiArMzIsNyBA
QAogI2luY2x1ZGUgIkNhY2hlZEltYWdlLmgiCiAjaW5jbHVkZSAiQ2FudmFzUGl4ZWxBcnJheS5o
IgogI2luY2x1ZGUgIkNoZWNrZWRJbnQuaCIKKyNpbmNsdWRlICJDaHJvbWl1bUxvc2VDb250ZXh0
LmgiCiAjaW5jbHVkZSAiQ29uc29sZS5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1
ZGUgIkV4dGVuc2lvbnMzRC5oIgpAQCAtMTQwLDYgKzE0MSw3IEBAIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dDo6V2ViR0xSZW5kZXJpbmdDb250ZXh0KEhUTUxDYW52YXNFbGVtZW50KiBwYXNzZWRDYW52
YXMsIFBhCiAKIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojppbml0aWFsaXplTmV3Q29udGV4
dCgpCiB7CisgICAgQVNTRVJUKCFtX2NvbnRleHRMb3N0KTsKICAgICBtX25lZWRzVXBkYXRlID0g
dHJ1ZTsKICAgICBtX21hcmtlZENhbnZhc0RpcnR5ID0gZmFsc2U7CiAgICAgbV9hY3RpdmVUZXh0
dXJlVW5pdCA9IDA7CkBAIC0xNDY1LDYgKzE0NjcsOSBAQCB1bnNpZ25lZCBsb25nIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6Z2V0RXJyb3IoKQogCiBXZWJHTEV4dGVuc2lvbiogV2ViR0xSZW5kZXJp
bmdDb250ZXh0OjpnZXRFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBuYW1lKQogeworICAgIGlmIChp
c0NvbnRleHRMb3N0KCkpCisgICAgICAgIHJldHVybiAwOworCiAgICAgaWYgKGVxdWFsSWdub3Jp
bmdDYXNlKG5hbWUsICJPRVNfdGV4dHVyZV9mbG9hdCIpCiAgICAgICAgICYmIG1fY29udGV4dC0+
Z2V0RXh0ZW5zaW9ucygpLT5zdXBwb3J0cygiR0xfT0VTX3RleHR1cmVfZmxvYXQiKSkgewogICAg
ICAgICBpZiAoIW1fb2VzVGV4dHVyZUZsb2F0KSB7CkBAIC0xNDcyLDYgKzE0NzcsMTAgQEAgV2Vi
R0xFeHRlbnNpb24qIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0RXh0ZW5zaW9uKGNvbnN0IFN0
cmluZyYgbmFtZSkKICAgICAgICAgICAgIG1fb2VzVGV4dHVyZUZsb2F0ID0gT0VTVGV4dHVyZUZs
b2F0OjpjcmVhdGUoKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gbV9vZXNUZXh0dXJlRmxv
YXQuZ2V0KCk7CisgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAiQ0hST01J
VU1fbG9zZV9jb250ZXh0IikpIHsKKyAgICAgICAgaWYgKCFtX2Nocm9taXVtTG9zZUNvbnRleHQp
CisgICAgICAgICAgICBtX2Nocm9taXVtTG9zZUNvbnRleHQgPSBDaHJvbWl1bUxvc2VDb250ZXh0
OjpjcmVhdGUodGhpcyk7CisgICAgICAgIHJldHVybiBtX2Nocm9taXVtTG9zZUNvbnRleHQuZ2V0
KCk7CiAgICAgfQogCiAgICAgcmV0dXJuIDA7CkBAIC0xODc3LDYgKzE4ODYsNyBAQCBWZWN0b3I8
U3RyaW5nPiBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFN1cHBvcnRlZEV4dGVuc2lvbnMoKQog
ICAgIFZlY3RvcjxTdHJpbmc+IHJlc3VsdDsKICAgICBpZiAobV9jb250ZXh0LT5nZXRFeHRlbnNp
b25zKCktPnN1cHBvcnRzKCJHTF9PRVNfdGV4dHVyZV9mbG9hdCIpKQogICAgICAgICByZXN1bHQu
YXBwZW5kKCJPRVNfdGV4dHVyZV9mbG9hdCIpOworICAgIHJlc3VsdC5hcHBlbmQoIkNIUk9NSVVN
X2xvc2VfY29udGV4dCIpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTMzMDcsNiArMzMx
NywxNiBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmlld3BvcnQobG9uZyB4LCBsb25n
IHksIHVuc2lnbmVkIGxvbmcgd2lkdGgsIHVuc2lnbgogICAgIGNsZWFudXBBZnRlckdyYXBoaWNz
Q2FsbChmYWxzZSk7CiB9CiAKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpmb3JjZUxvc2VD
b250ZXh0KCkKK3sKKyAgICBpZiAoaXNDb250ZXh0TG9zdCgpKSB7CisgICAgICAgIG1fY29udGV4
dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9O
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKK30KKwogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6Omxvc2VDb250ZXh0KCkK
IHsKICAgICBtX2NvbnRleHRMb3N0ID0gdHJ1ZTsKQEAgLTMzMzMsOCArMzM1Myw4IEBAIHZvaWQg
V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpyZXN0b3JlQ29udGV4dCgpCiAgICAgICAgIHJldHVybjsK
IAogICAgIG1fY29udGV4dCA9IGNvbnRleHQ7Ci0gICAgaW5pdGlhbGl6ZU5ld0NvbnRleHQoKTsK
ICAgICBtX2NvbnRleHRMb3N0ID0gZmFsc2U7CisgICAgaW5pdGlhbGl6ZU5ld0NvbnRleHQoKTsK
ICAgICBjYW52YXMoKS0+ZGlzcGF0Y2hFdmVudChXZWJHTENvbnRleHRFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS53ZWJnbGNvbnRleHRyZXN0b3JlZEV2ZW50LCBmYWxzZSwgdHJ1ZSwgIiIpKTsK
IH0KIApAQCAtNDEyNSwxMSArNDE0NSwxNiBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6
cmVzdG9yZVN0YXRlc0FmdGVyVmVydGV4QXR0cmliMFNpbXVsYXRpb24oKQogCiBpbnQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0OjpnZXROdW1iZXJPZkV4dGVuc2lvbnMoKQogewotICAgIHJldHVybiAo
bV9vZXNUZXh0dXJlRmxvYXQgPyAxIDogMCk7CisgICAgcmV0dXJuIChtX2Nocm9taXVtTG9zZUNv
bnRleHQgPyAxIDogMCkgKyAobV9vZXNUZXh0dXJlRmxvYXQgPyAxIDogMCk7CiB9CiAKIFdlYkdM
RXh0ZW5zaW9uKiBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEV4dGVuc2lvbk51bWJlcihpbnQg
aSkKIHsKKyAgICBpZiAobV9jaHJvbWl1bUxvc2VDb250ZXh0KSB7CisgICAgICAgIGlmICghaSkK
KyAgICAgICAgICAgIHJldHVybiBtX2Nocm9taXVtTG9zZUNvbnRleHQuZ2V0KCk7CisgICAgICAg
IC0taTsKKyAgICB9CiAgICAgaWYgKG1fb2VzVGV4dHVyZUZsb2F0KSB7CiAgICAgICAgIGlmICgh
aSkKICAgICAgICAgICAgIHJldHVybiBtX29lc1RleHR1cmVGbG9hdC5nZXQoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmggYi9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IGY0YmQwNDdlMDlkZGRh
OWIyNjE0M2QwODg3MGNmOTI1NjhmZDBmNTcuLjA0N2NlMWZmMmQ5YzEzYzI1ZWQxYWZmM2ZlYTFj
ZDljNjA4YTUyNzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmgKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuaApAQCAtNTEsNiArNTEsNyBAQCBjbGFzcyBXZWJHTFJlbmRlcmJ1ZmZlcjsKIGNsYXNzIFdl
YkdMU2hhZGVyOwogY2xhc3MgV2ViR0xUZXh0dXJlOwogY2xhc3MgV2ViR0xVbmlmb3JtTG9jYXRp
b247CitjbGFzcyBDaHJvbWl1bUxvc2VDb250ZXh0OwogY2xhc3MgSFRNTEltYWdlRWxlbWVudDsK
IGNsYXNzIEhUTUxWaWRlb0VsZW1lbnQ7CiBjbGFzcyBJbWFnZUJ1ZmZlcjsKQEAgLTI4NCw2ICsy
ODUsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHZpZXdwb3J0KGxvbmcgeCwgbG9uZyB5LCB1bnNp
Z25lZCBsb25nIHdpZHRoLCB1bnNpZ25lZCBsb25nIGhlaWdodCk7CiAKKyAgICB2b2lkIGZvcmNl
TG9zZUNvbnRleHQoKTsKICAgICB2b2lkIGxvc2VDb250ZXh0KCk7CiAgICAgdm9pZCByZXN0b3Jl
Q29udGV4dCgpOwogCkBAIC00NjgsNiArNDcwLDcgQEAgcHVibGljOgogCiAgICAgLy8gRW5hYmxl
ZCBleHRlbnNpb24gb2JqZWN0cy4KICAgICBSZWZQdHI8T0VTVGV4dHVyZUZsb2F0PiBtX29lc1Rl
eHR1cmVGbG9hdDsKKyAgICBSZWZQdHI8Q2hyb21pdW1Mb3NlQ29udGV4dD4gbV9jaHJvbWl1bUxv
c2VDb250ZXh0OwogCiAgICAgLy8gSGVscGVycyBmb3IgZ2V0UGFyYW1ldGVyIGFuZCBvdGhlcnMK
ICAgICBXZWJHTEdldEluZm8gZ2V0Qm9vbGVhblBhcmFtZXRlcih1bnNpZ25lZCBsb25nIHBuYW1l
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77342</attachid>
            <date>2010-12-23 10:21:13 -0800</date>
            <delta_ts>2010-12-28 13:38:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51492-20101223102112.patch</filename>
            <type>text/plain</type>
            <size>59979</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4OTU0MjRiYjZjM2ExM2NmY2ZjYWYxMDE0ZWU2NWIzYTI4MmZiMDM4Li5iM2Y4NTRj
M2EzMzY3ZDA5OGM0MzZiMDBlMGQ1ZjU5YzE4ZTczNzYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTItMjIgIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgZm9yIFdl
YkdMJ3MgbG9zdCBjb250ZXh0IGV2ZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTUxNDkyCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9j
b250ZXh0LWxvc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93
ZWJnbC9jb250ZXh0LWxvc3QtcmVzdG9yZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0Lmh0bWw6IEFkZGVkLgorCiAy
MDEwLTEyLTIzICBKZXNzaWUgQmVybGluICA8amJlcmxpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkIFdpbmRvd3MtWFAtc3BlY2lmaWMgKGZhaWxpbmcpIGV4cGVjdGVkIHJlc3VsdHMgZm9yCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lY2ZhNzQ3MjJmOGQ0ODJjYzI0MDMwZTJiN2IzNzU3MzBk
YjlkNjc3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
Y29udGV4dC1sb3N0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4MyBAQAorVGVzdHMgYmVoYXZp
b3IgdW5kZXIgYSBsb3N0IGNvbnRleHQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitU
ZXN0IHZhbGlkIGNvbnRleHQKK1BBU1MgZ2wuaXNDb250ZXh0TG9zdCgpIGlzIGZhbHNlCitQQVNT
IGdsLmdldEVycm9yKCkgaXMgZ2wuTk9fRVJST1IKK1BBU1MgZ2wuZW5hYmxlKGdsLkJMRU5EKSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5pc0J1ZmZlcihidWZmZXIpIGlz
IHRydWUKK1BBU1MgZ2wuaXNFbmFibGVkKGdsLkJMRU5EKSBpcyB0cnVlCitQQVNTIGdsLmlzRnJh
bWVidWZmZXIoZnJhbWVidWZmZXIpIGlzIHRydWUKK1BBU1MgZ2wuaXNQcm9ncmFtKHByb2dyYW0p
IGlzIHRydWUKK1BBU1MgZ2wuaXNSZW5kZXJidWZmZXIocmVuZGVyYnVmZmVyKSBpcyB0cnVlCitQ
QVNTIGdsLmlzU2hhZGVyKHNoYWRlcikgaXMgdHJ1ZQorUEFTUyBnbC5pc1RleHR1cmUodGV4dHVy
ZSkgaXMgdHJ1ZQorCitMb3NlIGNvbnRleHQKKworVGVzdCBsb3N0IGNvbnRleHQKK1BBU1MgZ2wu
aXNDb250ZXh0TG9zdCgpIGlzIHRydWUKK1BBU1MgZ2wuZ2V0RXJyb3IoKSBpcyBnbC5DT05URVhU
X0xPU1RfV0VCR0wKK1BBU1MgZ2wuZ2V0RXJyb3IoKSBpcyBnbC5OT19FUlJPUgorUEFTUyBnbC5j
aGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSBpcyBnbC5GUkFNRUJVRkZFUl9V
TlNVUFBPUlRFRAorUEFTUyBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAndV9tb2RlbFZp
ZXdQcm9qTWF0cml4JykgaXMgLTEKK1BBU1MgZ2wuZ2V0VmVydGV4QXR0cmliT2Zmc2V0KDAsIGds
LlZFUlRFWF9BVFRSSUJfQVJSQVlfUE9JTlRFUikgaXMgMAorUEFTUyBnbC5hY3RpdmVUZXh0dXJl
KGdsLlRFWFRVUkUwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5hdHRh
Y2hTaGFkZXIocHJvZ3JhbSwgc2hhZGVyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgor
UEFTUyBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyKSB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIs
IGZyYW1lYnVmZmVyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5iaW5k
UmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgcmVuZGVyYnVmZmVyKSB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0
dXJlKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5ibGVuZENvbG9yKDEu
MCwgMS4wLCAxLjAsIDEuMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wu
YmxlbmRFcXVhdGlvbihnbC5GVU5DX0FERCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wuYmxlbmRFcXVhdGlvblNlcGFyYXRlKGdsLkZVTkNfQURELCBnbC5GVU5DX0FERCkg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYmxlbmRGdW5jKGdsLk9ORSkg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYmxlbmRGdW5jU2VwYXJhdGUo
Z2wuT05FLCBnbC5PTkUpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmJ1
ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCAwLCBnbC5TVEFUSUNfRFJBVykgd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIGFy
cmF5QnVmZmVyVmlldywgZ2wuU1RBVElDX0RSQVcpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IuCitQQVNTIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBhcnJheUJ1ZmZlciwgZ2wu
U1RBVElDX0RSQVcpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmJ1ZmZl
clN1YkRhdGEoZ2wuQVJSQVlfQlVGRlJFLCAwLCBhcnJheUJ1ZmZlclZpZXcpIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmJ1ZmZlclN1YkRhdGEoZ2wuQVJSQVlfQlVGRlJF
LCAwLCBhcnJheUJ1ZmZlcikgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wu
Y2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wuY2xlYXJDb2xvcigxLCAxLCAxLCAxKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgorUEFTUyBnbC5jbGVhckRlcHRoKDEpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CitQQVNTIGdsLmNsZWFyU3RlbmNpbCgwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgor
UEFTUyBnbC5jb2xvck1hc2soMSwgMSwgMSwgMSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KK1BBU1MgZ2wuY29tcGlsZVNoYWRlcihzaGFkZXIpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IuCitQQVNTIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEs
IDAsIDAsIDAsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmNv
cHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIDAsIDAsIDAsIDApIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmN1bGxGYWNlKGdsLkZST05UKSB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kZWxldGVCdWZmZXIoYnVmZmVyKSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kZWxldGVGcmFtZWJ1ZmZlcihm
cmFtZWJ1ZmZlcikgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZGVsZXRl
UHJvZ3JhbShwcm9ncmFtKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5k
ZWxldGVSZW5kZXJidWZmZXIocmVuZGVyYnVmZmVyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgorUEFTUyBnbC5kZWxldGVTaGFkZXIoc2hhZGVyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SLgorUEFTUyBnbC5kZWxldGVUZXh0dXJlKHRleHR1cmUpIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IuCitQQVNTIGdsLmRlcHRoRnVuYyhnbC5ORVZFUikgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZGVwdGhNYXNrKDApIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLmRlcHRoUmFuZ2UoMCwgMSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUi4KK1BBU1MgZ2wuZGV0YWNoU2hhZGVyKHByb2dyYW0sIHNoYWRlcikgd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZGlzYWJsZShnbC5CTEVORCkgd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KDAp
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmRyYXdBcnJheXMoZ2wuUE9J
TlRTLCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kcmF3RWxl
bWVudHMoZ2wuUE9JTlRTLCAwLCBnbC5VTlNJR05FRF9TSE9SVCwgMCkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZW5hYmxlKGdsLkJMRU5EKSB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SLgorUEFTUyBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKSB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5maW5pc2goKSB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SLgorUEFTUyBnbC5mbHVzaCgpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IuCitQQVNTIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBnbC5D
T0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCByZW5kZXJidWZmZXIpIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmZyYW1lYnVmZmVyVGV4dHVyZTJEKGdsLkZS
QU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuVEVYVFVSRV8yRCwgdGV4dHVyZSwg
MCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZnJvbnRGYWNlKGdsLkNX
KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5nZW5lcmF0ZU1pcG1hcChn
bC5URVhUVVJFXzJEKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5oaW50
KGdsLkdFTkVSQVRFX01JUE1BUF9ISU5ULCBnbC5GQVNURVNUKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC5saW5lV2lkdGgoMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUi4KK1BBU1MgZ2wubGlua1Byb2dyYW0ocHJvZ3JhbSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUi4KK1BBU1MgZ2wucGl4ZWxTdG9yZWkoZ2wuVU5QQUNLX0ZMSVBfWV9XRUJHTCwgMCkg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wucG9seWdvbk9mZnNldCgwLCAw
KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5yZWFkUGl4ZWxzKDAsIDAs
IDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGFycmF5QnVmZmVyVmlldykgd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5S
RU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
LgorUEFTUyBnbC5zYW1wbGVDb3ZlcmFnZSgwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgorUEFTUyBnbC5zY2lzc29yKDAsIDAsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IuCitQQVNTIGdsLnNoYWRlclNvdXJjZShzaGFkZXIsICcnKSB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SLgorUEFTUyBnbC5zdGVuY2lsRnVuYyhnbC5ORVZFUiwgMCwgMCkgd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuc3RlbmNpbEZ1bmNTZXBhcmF0ZShnbC5G
Uk9OVCwgZ2wuTkVWRVIsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNT
IGdsLnN0ZW5jaWxNYXNrKDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGds
LnN0ZW5jaWxNYXNrU2VwYXJhdGUoZ2wuRlJPTlQsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IuCitQQVNTIGdsLnN0ZW5jaWxPcChnbC5LRUVQLCBnbC5LRUVQLCBnbC5LRUVQKSB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5zdGVuY2lsT3BTZXBhcmF0ZShnbC5G
Uk9OVCwgZ2wuS0VFUCwgZ2wuS0VFUCwgZ2wuS0VFUCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUi4KK1BBU1MgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLCAw
LCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBhcnJheUJ1ZmZlclZpZXcpIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2VEYXRhKSB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltYWdlKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAs
IGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGNhbnZhcykgd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBn
bC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCB2aWRlbykgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudGV4UGFyYW1ldGVyZihnbC5URVhUVVJFXzJELCBnbC5U
RVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IuCitQQVNTIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5f
RklMVEVSLCBnbC5ORUFSRVNUKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBn
bC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIDAsIDAsIGdsLlJHQkEsIGds
LlVOU0lHTkVEX0JZVEUsIGFycmF5QnVmZmVyVmlldykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUi4KK1BBU1MgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5S
R0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZURhdGEpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IuCitQQVNTIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2UpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IuCitQQVNTIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdC
QSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
LgorUEFTUyBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIGdsLlJHQkEs
IGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVvKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgor
UEFTUyBnbC51bmlmb3JtMWYodW5pZm9ybUxvY2F0aW9uLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMWZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmxvYXQzMmFy
cmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMWZ2KHVu
aWZvcm1Mb2NhdGlvbiwgWzBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBn
bC51bmlmb3JtMWkodW5pZm9ybUxvY2F0aW9uLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgorUEFTUyBnbC51bmlmb3JtMWl2KHVuaWZvcm1Mb2NhdGlvbiwgaW50MzJhcnJheSkgd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybTFpdih1bmlmb3JtTG9j
YXRpb24sIFswXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9y
bTJmKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wudW5pZm9ybTJmdih1bmlmb3JtTG9jYXRpb24sIGZsb2F0MzJhcnJheSkgd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybTJmdih1bmlmb3JtTG9jYXRp
b24sIFswLCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9y
bTJpKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wudW5pZm9ybTJpdih1bmlmb3JtTG9jYXRpb24sIGludDMyYXJyYXkpIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm0yaXYodW5pZm9ybUxvY2F0aW9u
LCBbMCwgMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm0z
Zih1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CitQQVNTIGdsLnVuaWZvcm0zZnYodW5pZm9ybUxvY2F0aW9uLCBmbG9hdDMyYXJyYXkpIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm0zZnYodW5pZm9ybUxvY2F0
aW9uLCBbMCwgMCwgMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVu
aWZvcm0zaSh1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IuCitQQVNTIGdsLnVuaWZvcm0zaXYodW5pZm9ybUxvY2F0aW9uLCBpbnQzMmFycmF5KSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtM2l2KHVuaWZvcm1M
b2NhdGlvbiwgWzAsIDAsIDBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBn
bC51bmlmb3JtNGYodW5pZm9ybUxvY2F0aW9uLCAwLCAwLCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtNGZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmxvYXQz
MmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtNGZ2
KHVuaWZvcm1Mb2NhdGlvbiwgWzAsIDAsIDAsIDBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgorUEFTUyBnbC51bmlmb3JtNGkodW5pZm9ybUxvY2F0aW9uLCAwLCAwLCAwLCAwKSB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtNGl2KHVuaWZvcm1Mb2Nh
dGlvbiwgaW50MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wu
dW5pZm9ybTRpdih1bmlmb3JtTG9jYXRpb24sIFswLCAwLCAwLCAwXSkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybU1hdHJpeDJmdih1bmlmb3JtTG9jYXRpb24s
IGZhbHNlLCBmbG9hdDMyYXJyYXkpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNT
IGdsLnVuaWZvcm1NYXRyaXgyZnYodW5pZm9ybUxvY2F0aW9uLCBmYWxzZSwgWzAsIDAsIDAsIDBd
KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtTWF0cml4M2Z2
KHVuaWZvcm1Mb2NhdGlvbiwgZmFsc2UsIGZsb2F0MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybU1hdHJpeDNmdih1bmlmb3JtTG9jYXRpb24sIGZh
bHNlLCBbMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IuCitQQVNTIGdsLnVuaWZvcm1NYXRyaXg0ZnYodW5pZm9ybUxvY2F0aW9uLCBmYWxzZSwg
ZmxvYXQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlm
b3JtTWF0cml4NGZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmFsc2UsIFswLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KK1BBU1MgZ2wudXNlUHJvZ3JhbShwcm9ncmFtKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgorUEFTUyBnbC52YWxpZGF0ZVByb2dyYW0ocHJvZ3JhbSkgd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliMWYoMCwgMCkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliMWZ2KDAsIGZsb2F0MzJhcnJheSkg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliMWZ2KDAs
IFswXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmli
MmYoMCwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4
QXR0cmliMmZ2KDAsIGZsb2F0MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wudmVydGV4QXR0cmliMmZ2KDAsIFswLCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliM2YoMCwgMCwgMCwgMCkgd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliM2Z2KDAsIGZsb2F0MzJhcnJh
eSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliM2Z2
KDAsIFswLCAwLCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVy
dGV4QXR0cmliNGYoMCwgMCwgMCwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wudmVydGV4QXR0cmliNGZ2KDAsIGZsb2F0MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliNGZ2KDAsIFswLCAwLCAwLCAwXSkg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliUG9pbnRl
cigwLCAwLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IuCitQQVNTIGdsLnZpZXdwb3J0KDAsIDAsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IuCitQQVNTIGdsLmNyZWF0ZUJ1ZmZlcigpIGlzIG51bGwKK1BBU1MgZ2wuY3JlYXRlRnJh
bWVidWZmZXIoKSBpcyBudWxsCitQQVNTIGdsLmNyZWF0ZVByb2dyYW0oKSBpcyBudWxsCitQQVNT
IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIGlzIG51bGwKK1BBU1MgZ2wuY3JlYXRlU2hhZGVyKGds
LkdMX1ZFUlRFWF9TSEFERVIpIGlzIG51bGwKK1BBU1MgZ2wuY3JlYXRlVGV4dHVyZSgpIGlzIG51
bGwKK1BBU1MgZ2wuZ2V0QWN0aXZlQXR0cmliKHByb2dyYW0sIDApIGlzIG51bGwKK1BBU1MgZ2wu
Z2V0QWN0aXZlVW5pZm9ybShwcm9ncmFtLCAwKSBpcyBudWxsCitQQVNTIGdsLmdldEF0dGFjaGVk
U2hhZGVycyhwcm9ncmFtKSBpcyBudWxsCitQQVNTIGdsLmdldEJ1ZmZlclBhcmFtZXRlcihnbC5B
UlJBWV9CVUZGRVIsIGdsLkJVRkZFUl9TSVpFKSBpcyBudWxsCitQQVNTIGdsLmdldENvbnRleHRB
dHRyaWJ1dGVzKCkgaXMgbnVsbAorUEFTUyBnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJh
bWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5GUkFNRUJVRkZF
Ul9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FKSBpcyBudWxsCitQQVNTIGdsLmdldFBhcmFtZXRlcihn
bC5DVVJSRU5UX1BST0dSQU0pIGlzIG51bGwKK1BBU1MgZ2wuZ2V0UHJvZ3JhbUluZm9Mb2cocHJv
Z3JhbSkgaXMgbnVsbAorUEFTUyBnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2dyYW0sIGdsLkxJ
TktfU1RBVFVTKSBpcyBudWxsCitQQVNTIGdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5S
RU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9XSURUSCkgaXMgbnVsbAorUEFTUyBnbC5nZXRT
aGFkZXJJbmZvTG9nKHNoYWRlcikgaXMgbnVsbAorUEFTUyBnbC5nZXRTaGFkZXJQYXJhbWV0ZXIo
c2hhZGVyLCBnbC5TSEFERVJfVFlQRSkgaXMgbnVsbAorUEFTUyBnbC5nZXRTaGFkZXJTb3VyY2Uo
c2hhZGVyKSBpcyBudWxsCitQQVNTIGdsLmdldFRleFBhcmFtZXRlcihnbC5URVhUVVJFXzJELCBn
bC5URVhUVVJFX1dSQVBfUykgaXMgbnVsbAorUEFTUyBnbC5nZXRVbmlmb3JtKHByb2dyYW0sIHVu
aWZvcm1Mb2NhdGlvbikgaXMgbnVsbAorUEFTUyBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3Jh
bSwgJ3ZQb3NpdGlvbicpIGlzIG51bGwKK1BBU1MgZ2wuZ2V0VmVydGV4QXR0cmliKDAsIGdsLlZF
UlRFWF9BVFRSSUJfQVJSQVlfQlVGRkVSX0JJTkRJTkcpIGlzIG51bGwKK1BBU1MgZ2wuZ2V0U3Vw
cG9ydGVkRXh0ZW5zaW9ucygpIGlzIG51bGwKK1BBU1MgZ2wuZ2V0RXh0ZW5zaW9uKCdDSFJPTUlV
TV9sb3NlX2NvbnRleHQnKSBpcyBudWxsCitQQVNTIGdsLmlzQnVmZmVyKGJ1ZmZlcikgaXMgZmFs
c2UKK1BBU1MgZ2wuaXNFbmFibGVkKGdsLkJMRU5EKSBpcyBmYWxzZQorUEFTUyBnbC5pc0ZyYW1l
YnVmZmVyKGZyYW1lYnVmZmVyKSBpcyBmYWxzZQorUEFTUyBnbC5pc1Byb2dyYW0ocHJvZ3JhbSkg
aXMgZmFsc2UKK1BBU1MgZ2wuaXNSZW5kZXJidWZmZXIocmVuZGVyYnVmZmVyKSBpcyBmYWxzZQor
UEFTUyBnbC5pc1NoYWRlcihzaGFkZXIpIGlzIGZhbHNlCitQQVNTIGdsLmlzVGV4dHVyZSh0ZXh0
dXJlKSBpcyBmYWxzZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0LXJlc3RvcmVkLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC1yZXN0
b3JlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ3NjAxOWIxYzZlZmI4MTIzNDU2MTgyNTg1
MzhiYjQwYTEwMjY0NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2NvbnRleHQtbG9zdC1yZXN0b3JlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMSBA
QAorVGVzdHMgYmVoYXZpb3IgdW5kZXIgYSByZXN0b3JlZCBjb250ZXh0CisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworVGVzdCB2YWxpZCBjb250ZXh0CitQQVNTIGdsLmlzQ29udGV4dExv
c3QoKSBpcyBmYWxzZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCitQQVNTIHNo
b3VsZEJlIDI1NSwxMCwyMAorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCisKK1Rl
c3QgbG9zdCBjb250ZXh0CitQQVNTIGdsLmlzQ29udGV4dExvc3QoKSBpcyB0cnVlCitQQVNTIGds
LmdldEVycm9yKCkgaXMgZ2wuQ09OVEVYVF9MT1NUX1dFQkdMCitQQVNTIGdsLmdldEVycm9yKCkg
aXMgZ2wuTk9fRVJST1IKKworVGVzdCByZXN0b3JlZCBjb250ZXh0CitQQVNTIGdsLmlzQ29udGV4
dExvc3QoKSBpcyBmYWxzZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCitQQVNT
IGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpIHdhcyBleHBlY3RlZCB2YWx1
ZTogSU5WQUxJRF9PUEVSQVRJT04uCitQQVNTIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSkgd2FzIGV4
cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTi4KK1BBU1MgZ2wuYmluZEJ1ZmZlcihnbC5B
UlJBWV9CVUZGRVIsIGJ1ZmZlck9iamVjdHNbMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJ
RF9PUEVSQVRJT04uCitQQVNTIHNob3VsZEJlIDI1NSwxMCwyMAorUEFTUyBnbC5nZXRFcnJvcigp
IGlzIGdsLk5PX0VSUk9SCitQQVNTIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1
cmUpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVzZVByb2dyYW0ocHJv
Z3JhbSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYmluZEJ1ZmZlcihn
bC5BUlJBWV9CVUZGRVIsIGJ1ZmZlck9iamVjdHNbMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IuCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxv
c3QtcmVzdG9yZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQt
bG9zdC1yZXN0b3JlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlMDQ3YmJkMTMzZWU4NmEzYzczYTcwZDY3
MGE5Y2MwODAyYjE3NWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC9jb250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbApAQCAtMCwwICsxLDEzMCBAQAorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRp
bHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3Zh
ciBjYW52YXM7Cit2YXIgZ2w7Cit2YXIgc2hvdWxkR2VuZXJhdGVHTEVycm9yOwordmFyIGV4dGVu
c2lvbl9uYW1lID0gIkNIUk9NSVVNX2xvc2VfY29udGV4dCI7Cit2YXIgZXh0ZW5zaW9uOwordmFy
IGJ1ZmZlck9iamVjdHM7Cit2YXIgcHJvZ3JhbTsKK3ZhciB0ZXh0dXJlOwordmFyIHRleENvbG9y
ID0gWzI1NSwgMTAsIDIwLCAyNTVdOworCitmdW5jdGlvbiBpbml0KCkKK3sKKyAgICBpZiAod2lu
ZG93LmluaXROb25LaHJvbm9zRnJhbWV3b3JrKSB7CisgICAgICAgIHdpbmRvdy5pbml0Tm9uS2hy
b25vc0ZyYW1ld29yayh0cnVlKTsKKyAgICB9CisKKyAgICBkZXNjcmlwdGlvbigiVGVzdHMgYmVo
YXZpb3IgdW5kZXIgYSByZXN0b3JlZCBjb250ZXh0Iik7CisKKyAgICBjYW52YXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7CisgICAgY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIo
IndlYmdsY29udGV4dGxvc3QiLCB0ZXN0TG9zdENvbnRleHQpOworICAgIGNhbnZhcy5hZGRFdmVu
dExpc3RlbmVyKCJ3ZWJnbGNvbnRleHRyZXN0b3JlZCIsIHRlc3RSZXN0b3JlZENvbnRleHQpOwor
CisgICAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7CisgICAgc2hvdWxkR2VuZXJh
dGVHTEVycm9yID0gd3R1LnNob3VsZEdlbmVyYXRlR0xFcnJvcjsKKworICAgIGV4dGVuc2lvbiA9
IGdsLmdldEV4dGVuc2lvbihleHRlbnNpb25fbmFtZSk7CisgICAgaWYgKCFleHRlbnNpb24pIHsK
KyAgICAgICAgZGVidWcoZXh0ZW5zaW9uX25hbWUgKyAiIGV4dGVuc2lvbiBub3QgZm91bmQuIik7
CisgICAgICAgIGZpbmlzaCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgdGVzdE9y
aWdpbmFsQ29udGV4dCgpOworICAgIGV4dGVuc2lvbi5sb3NlQ29udGV4dCgpOworfQorCitmdW5j
dGlvbiB0ZXN0UmVuZGVyaW5nKCkKK3sKKyAgICBnbC5jbGVhckNvbG9yKDAsIDAsIDAsIDI1NSk7
CisgICAgZ2wuY29sb3JNYXNrKDEsIDEsIDEsIDApOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JV
RkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKworICAgIHByb2dyYW0gPSB3dHUuc2V0
dXBTaW1wbGVUZXh0dXJlUHJvZ3JhbShnbCk7CisgICAgYnVmZmVyT2JqZWN0cyA9IHd0dS5zZXR1
cFVuaXRRdWFkKGdsKTsKKyAgICB0ZXh0dXJlID0gd3R1LmNyZWF0ZUNvbG9yZWRUZXh0dXJlKGds
LCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQsIHRleENvbG9yKTsKKworICAgIGdsLnVuaWZv
cm0xaShnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInRleCIpLCAwKTsKKyAgICB3dHUu
ZHJhd1F1YWQoZ2wsIFswLCAwLCAwLCAyNTVdKTsKKworICAgIHZhciBjb21wYXJlID0gdGV4Q29s
b3Iuc2xpY2UoMCwgMyk7CisgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwgY2FudmFz
LndpZHRoLCBjYW52YXMuaGVpZ2h0LCBjb21wYXJlLCAic2hvdWxkQmUgIiArIGNvbXBhcmUpOwor
CisgICAgc2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAiZ2wuTk9fRVJST1IiKTsKK30KKworZnVu
Y3Rpb24gdGVzdE9yaWdpbmFsQ29udGV4dCgpCit7CisgICAgZGVidWcoIlRlc3QgdmFsaWQgY29u
dGV4dCIpOworICAgIHNob3VsZEJlRmFsc2UoImdsLmlzQ29udGV4dExvc3QoKSIpOworICAgIHNo
b3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7CisgICAgdGVzdFJlbmRlcmlu
ZygpOworICAgIGRlYnVnKCIiKTsKK30KKworZnVuY3Rpb24gdGVzdExvc3RDb250ZXh0KCkKK3sK
KyAgICBkZWJ1ZygiVGVzdCBsb3N0IGNvbnRleHQiKTsKKyAgICBzaG91bGRCZVRydWUoImdsLmlz
Q29udGV4dExvc3QoKSIpOworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLkNPTlRF
WFRfTE9TVF9XRUJHTCIpOworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VS
Uk9SIik7CisgICAgZGVidWcoIiIpOworfQorCitmdW5jdGlvbiB0ZXN0UmVzb3VyY2VzKGV4cGVj
dGVkKQoreworICAgIHZhciB0ZXN0cyA9IFsKKyAgICAgICAgImdsLmJpbmRUZXh0dXJlKGdsLlRF
WFRVUkVfMkQsIHRleHR1cmUpIiwKKyAgICAgICAgImdsLnVzZVByb2dyYW0ocHJvZ3JhbSkiLAor
ICAgICAgICAiZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJ1ZmZlck9iamVjdHNbMF0p
IiwKKyAgICBdOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7ICsraSkK
KyAgICAgICAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBleHBlY3RlZCwgdGVzdHNbaV0pOwor
fQorCitmdW5jdGlvbiB0ZXN0UmVzdG9yZWRDb250ZXh0KCkKK3sKKyAgICBkZWJ1ZygiVGVzdCBy
ZXN0b3JlZCBjb250ZXh0Iik7CisgICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNDb250ZXh0TG9zdCgp
Iik7CisgICAgc2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAiZ2wuTk9fRVJST1IiKTsKKworICAg
IC8vIFZhbGlkYXRlIHRoYXQgdXNpbmcgb2xkIHJlc291cmNlcyBmYWlscy4KKyAgICB0ZXN0UmVz
b3VyY2VzKGdsLklOVkFMSURfT1BFUkFUSU9OKTsKKworICAgIHRlc3RSZW5kZXJpbmcoKTsKKwor
ICAgIC8vIFZhbGlkYXRlIG5ldyByZXNvdXJjZXMgY3JlYXRlZCBpbiB0ZXN0UmVuZGVyaW5nKCku
CisgICAgdGVzdFJlc291cmNlcyhnbC5OT19FUlJPUik7CisgICAgZGVidWcoIiIpOworCisgICAg
ZmluaXNoKCk7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaCgpIHsKKyAgICBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOworICAgIHZhciBlcGlsb2d1ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNj
cmlwdCIpOworICAgIGVwaWxvZ3VlLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAo
d2luZG93Lm5vbktocm9ub3NGcmFtZXdvcmtOb3RpZnlEb25lKQorICAgICAgICAgICAgd2luZG93
Lm5vbktocm9ub3NGcmFtZXdvcmtOb3RpZnlEb25lKCk7CisgICAgfTsKKyAgICBlcGlsb2d1ZS5z
cmMgPSAiLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI7CisgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChlcGlsb2d1ZSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJpbml0KCkiPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSIxcHgiIGhlaWdo
dD0iMXB4Ij48L2NhbnZhcz4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzJjODk0YTljNDdh
ZTdmMzQyNWU3MTBmNzhkNzNjZDE1OGMwYjk5YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC5odG1sCkBAIC0wLDAgKzEsMzEyIEBA
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93
ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVz
dC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordmFyIHd0dTsKK3ZhciBjYW52YXM7Cit2
YXIgZ2w7Cit2YXIgc2hvdWxkR2VuZXJhdGVHTEVycm9yOwordmFyIGV4dGVuc2lvbl9uYW1lID0g
IkNIUk9NSVVNX2xvc2VfY29udGV4dCI7Cit2YXIgZXh0ZW5zaW9uOworCit2YXIgYnVmZmVyOwor
dmFyIGZyYW1lYnVmZmVyOwordmFyIHByb2dyYW07Cit2YXIgcmVuZGVyYnVmZmVyOwordmFyIHNo
YWRlcjsKK3ZhciB0ZXh0dXJlOwordmFyIHVuaWZvcm1Mb2NhdGlvbjsKK3ZhciBhcnJheUJ1ZmZl
cjsKK3ZhciBhcnJheUJ1ZmZlclZpZXcKK3ZhciBpbWFnZTsKK3ZhciB2aWRlbzsKK3ZhciBjYW52
YXMyZDsKK3ZhciBjdHgyZDsKK3ZhciBpbWFnZURhdGE7Cit2YXIgZmxvYXQzMmFycmF5OwordmFy
IGludDMyYXJyYXk7CisKK2Z1bmN0aW9uIGluaXQoKQoreworICAgIHd0dSA9IFdlYkdMVGVzdFV0
aWxzOworICAgIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKKyAg
ICBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzKTsKKyAgICBzaG91bGRHZW5lcmF0ZUdM
RXJyb3IgPSB3dHUuc2hvdWxkR2VuZXJhdGVHTEVycm9yOworCisgICAgZGVzY3JpcHRpb24oIlRl
c3RzIGJlaGF2aW9yIHVuZGVyIGEgbG9zdCBjb250ZXh0Iik7CisKKyAgICBpZiAod2luZG93Lmlu
aXROb25LaHJvbm9zRnJhbWV3b3JrKSB7CisgICAgICAgIHdpbmRvdy5pbml0Tm9uS2hyb25vc0Zy
YW1ld29yayh0cnVlKTsKKyAgICB9CisKKyAgICBleHRlbnNpb24gPSBnbC5nZXRFeHRlbnNpb24o
ZXh0ZW5zaW9uX25hbWUpOworICAgIGlmICghZXh0ZW5zaW9uKSB7CisgICAgICAgIGRlYnVnKGV4
dGVuc2lvbl9uYW1lICsgIiBleHRlbnNpb24gbm90IGZvdW5kLiIpOworICAgICAgICBmaW5pc2go
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGNhbnZhcy5hZGRFdmVudExpc3RlbmVy
KCJ3ZWJnbGNvbnRleHRsb3N0IiwgdGVzdExvc3RDb250ZXh0KTsKKworICAgIHRlc3RWYWxpZENv
bnRleHQoKTsKKyAgICBsb3NlQ29udGV4dCgpOworfQorCitmdW5jdGlvbiBsb3NlQ29udGV4dCgp
Cit7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJMb3NlIGNvbnRleHQiKTsKKyAgICBkZWJ1
ZygiIik7CisKKyAgICBleHRlbnNpb24ubG9zZUNvbnRleHQoKTsKK30KKworZnVuY3Rpb24gdGVz
dFZhbGlkQ29udGV4dCgpCit7CisgICAgZGVidWcoIlRlc3QgdmFsaWQgY29udGV4dCIpOworCisg
ICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNDb250ZXh0TG9zdCgpIik7CisKKyAgICBhcnJheUJ1ZmZl
ciA9IG5ldyBBcnJheUJ1ZmZlcig0KTsKKyAgICBhcnJheUJ1ZmZlclZpZXcgPSBuZXcgSW50OEFy
cmF5KGFycmF5QnVmZmVyKTsKKworICAgIC8vIEdlbmVyYXRlIHJlc291cmNlcyBmb3IgdGVzdGlu
Zy4KKyAgICBidWZmZXIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgICBnbC5iaW5kQnVmZmVyKGds
LkFSUkFZX0JVRkZFUiwgYnVmZmVyKTsKKyAgICBmcmFtZWJ1ZmZlciA9IGdsLmNyZWF0ZUZyYW1l
YnVmZmVyKCk7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmcmFtZWJ1
ZmZlcik7CisgICAgcHJvZ3JhbSA9IHd0dS5zZXR1cFNpbXBsZVRleHR1cmVQcm9ncmFtKGdsKTsK
KyAgICByZW5kZXJidWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKTsKKyAgICBnbC5iaW5k
UmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgcmVuZGVyYnVmZmVyKTsKKyAgICBzaGFkZXIg
PSBnbC5jcmVhdGVTaGFkZXIoZ2wuVkVSVEVYX1NIQURFUik7CisgICAgdGV4dHVyZSA9IGdsLmNy
ZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJl
KTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0RXJyb3IoKSIsICJnbC5OT19FUlJPUiIpOworCisgICAg
Ly8gVGVzdCBpcyBxdWVyaWVzIHRoYXQgd2lsbCBsYXRlciBiZSBmYWxzZQorICAgIHNob3VsZEdl
bmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5lbmFibGUoZ2wuQkxFTkQpIik7Cisg
ICAgc2hvdWxkQmVUcnVlKCJnbC5pc0J1ZmZlcihidWZmZXIpIik7CisgICAgc2hvdWxkQmVUcnVl
KCJnbC5pc0VuYWJsZWQoZ2wuQkxFTkQpIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc0ZyYW1l
YnVmZmVyKGZyYW1lYnVmZmVyKSIpOworICAgIHNob3VsZEJlVHJ1ZSgiZ2wuaXNQcm9ncmFtKHBy
b2dyYW0pIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc1JlbmRlcmJ1ZmZlcihyZW5kZXJidWZm
ZXIpIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc1NoYWRlcihzaGFkZXIpIik7CisgICAgc2hv
dWxkQmVUcnVlKCJnbC5pc1RleHR1cmUodGV4dHVyZSkiKTsKK30KKworZnVuY3Rpb24gdGVzdExv
c3RDb250ZXh0KCkKK3sKKyAgICBkZWJ1ZygiVGVzdCBsb3N0IGNvbnRleHQiKTsKKyAgICAvLyBG
dW5jdGlvbnMgd2l0aCBzcGVjaWFsIHJldHVybiB2YWx1ZXMuCisgICAgc2hvdWxkQmVUcnVlKCJn
bC5pc0NvbnRleHRMb3N0KCkiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0RXJyb3IoKSIsICJnbC5D
T05URVhUX0xPU1RfV0VCR0wiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0RXJyb3IoKSIsICJnbC5O
T19FUlJPUiIpOworICAgIHNob3VsZEJlKCJnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZS
QU1FQlVGRkVSKSIsICJnbC5GUkFNRUJVRkZFUl9VTlNVUFBPUlRFRCIpOworICAgIHNob3VsZEJl
KCJnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAndV9tb2RlbFZpZXdQcm9qTWF0cml4Jyki
LCAiLTEiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0VmVydGV4QXR0cmliT2Zmc2V0KDAsIGdsLlZF
UlRFWF9BVFRSSUJfQVJSQVlfUE9JTlRFUikiLCAiMCIpOworCisgICAgaW1hZ2UgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJpbWFnZSIpOworICAgIHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgidmlkZW8iKTsKKyAgICBjYW52YXMyZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNh
bnZhcyIpOworICAgIGN0eDJkID0gY2FudmFzMmQuZ2V0Q29udGV4dCgiMmQiKTsKKyAgICBpbWFn
ZURhdGEgPSBjdHgyZC5jcmVhdGVJbWFnZURhdGEoMSwgMSk7CisgICAgZmxvYXQzMmFycmF5ID0g
bmV3IEZsb2F0MzJBcnJheSgxKTsKKyAgICBpbnQzMmFycmF5ID0gbmV3IEludDMyQXJyYXkoMSk7
CisKKyAgICAvLyBGdW5jdGlvbnMgcmV0dXJuaW5nIHZvaWQgc2hvdWxkIHJldHVybiBpbW1lZGlh
dGVseS4KKyAgICAvLyBUaGlzIGlzIHVudGVzdGFibGUsIGJ1dCB3ZSBjYW4gYXQgbGVhc3QgYmUg
c3VyZSB0aGV5IGNhdXNlIG5vIGVycm9ycworICAgIC8vIGFuZCB0aGUgY29kZXBhdGhzIGFyZSBl
eGVyY2lzZWQuCisgICAgdmFyIHZvaWRUZXN0cyA9IFsKKyAgICAgICAgImdsLmFjdGl2ZVRleHR1
cmUoZ2wuVEVYVFVSRTApIiwKKyAgICAgICAgImdsLmF0dGFjaFNoYWRlcihwcm9ncmFtLCBzaGFk
ZXIpIiwKKyAgICAgICAgImdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWZmZXIpIiwK
KyAgICAgICAgImdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZnJhbWVidWZmZXIp
IiwKKyAgICAgICAgImdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCByZW5kZXJi
dWZmZXIpIiwKKyAgICAgICAgImdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUp
IiwKKyAgICAgICAgImdsLmJsZW5kQ29sb3IoMS4wLCAxLjAsIDEuMCwgMS4wKSIsCisgICAgICAg
ICJnbC5ibGVuZEVxdWF0aW9uKGdsLkZVTkNfQUREKSIsCisgICAgICAgICJnbC5ibGVuZEVxdWF0
aW9uU2VwYXJhdGUoZ2wuRlVOQ19BREQsIGdsLkZVTkNfQUREKSIsCisgICAgICAgICJnbC5ibGVu
ZEZ1bmMoZ2wuT05FKSIsCisgICAgICAgICJnbC5ibGVuZEZ1bmNTZXBhcmF0ZShnbC5PTkUsIGds
Lk9ORSkiLAorICAgICAgICAiZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIDAsIGdsLlNU
QVRJQ19EUkFXKSIsCisgICAgICAgICJnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgYXJy
YXlCdWZmZXJWaWV3LCBnbC5TVEFUSUNfRFJBVykiLAorICAgICAgICAiZ2wuYnVmZmVyRGF0YShn
bC5BUlJBWV9CVUZGRVIsIGFycmF5QnVmZmVyLCBnbC5TVEFUSUNfRFJBVykiLAorICAgICAgICAi
Z2wuYnVmZmVyU3ViRGF0YShnbC5BUlJBWV9CVUZGUkUsIDAsIGFycmF5QnVmZmVyVmlldykiLAor
ICAgICAgICAiZ2wuYnVmZmVyU3ViRGF0YShnbC5BUlJBWV9CVUZGUkUsIDAsIGFycmF5QnVmZmVy
KSIsCisgICAgICAgICJnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKSIsCisgICAgICAgICJn
bC5jbGVhckNvbG9yKDEsIDEsIDEsIDEpIiwKKyAgICAgICAgImdsLmNsZWFyRGVwdGgoMSkiLAor
ICAgICAgICAiZ2wuY2xlYXJTdGVuY2lsKDApIiwKKyAgICAgICAgImdsLmNvbG9yTWFzaygxLCAx
LCAxLCAxKSIsCisgICAgICAgICJnbC5jb21waWxlU2hhZGVyKHNoYWRlcikiLAorICAgICAgICAi
Z2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwgMCwgMCwgMCwg
MCkiLAorICAgICAgICAiZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCkiLAorICAgICAgICAiZ2wuY3VsbEZhY2UoZ2wuRlJPTlQpIiwKKyAgICAg
ICAgImdsLmRlbGV0ZUJ1ZmZlcihidWZmZXIpIiwKKyAgICAgICAgImdsLmRlbGV0ZUZyYW1lYnVm
ZmVyKGZyYW1lYnVmZmVyKSIsCisgICAgICAgICJnbC5kZWxldGVQcm9ncmFtKHByb2dyYW0pIiwK
KyAgICAgICAgImdsLmRlbGV0ZVJlbmRlcmJ1ZmZlcihyZW5kZXJidWZmZXIpIiwKKyAgICAgICAg
ImdsLmRlbGV0ZVNoYWRlcihzaGFkZXIpIiwKKyAgICAgICAgImdsLmRlbGV0ZVRleHR1cmUodGV4
dHVyZSkiLAorICAgICAgICAiZ2wuZGVwdGhGdW5jKGdsLk5FVkVSKSIsCisgICAgICAgICJnbC5k
ZXB0aE1hc2soMCkiLAorICAgICAgICAiZ2wuZGVwdGhSYW5nZSgwLCAxKSIsCisgICAgICAgICJn
bC5kZXRhY2hTaGFkZXIocHJvZ3JhbSwgc2hhZGVyKSIsCisgICAgICAgICJnbC5kaXNhYmxlKGds
LkJMRU5EKSIsCisgICAgICAgICJnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoMCkiLAorICAg
ICAgICAiZ2wuZHJhd0FycmF5cyhnbC5QT0lOVFMsIDAsIDApIiwKKyAgICAgICAgImdsLmRyYXdF
bGVtZW50cyhnbC5QT0lOVFMsIDAsIGdsLlVOU0lHTkVEX1NIT1JULCAwKSIsCisgICAgICAgICJn
bC5lbmFibGUoZ2wuQkxFTkQpIiwKKyAgICAgICAgImdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5
KDApIiwKKyAgICAgICAgImdsLmZpbmlzaCgpIiwKKyAgICAgICAgImdsLmZsdXNoKCkiLAorICAg
ICAgICAiZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9S
X0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIHJlbmRlcmJ1ZmZlcikiLAorICAgICAgICAi
Z2wuZnJhbWVidWZmZXJUZXh0dXJlMkQoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1F
TlQwLCBnbC5URVhUVVJFXzJELCB0ZXh0dXJlLCAwKSIsCisgICAgICAgICJnbC5mcm9udEZhY2Uo
Z2wuQ1cpIiwKKyAgICAgICAgImdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfMkQpIiwKKyAg
ICAgICAgImdsLmhpbnQoZ2wuR0VORVJBVEVfTUlQTUFQX0hJTlQsIGdsLkZBU1RFU1QpIiwKKyAg
ICAgICAgImdsLmxpbmVXaWR0aCgwKSIsCisgICAgICAgICJnbC5saW5rUHJvZ3JhbShwcm9ncmFt
KSIsCisgICAgICAgICJnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfRkxJUF9ZX1dFQkdMLCAwKSIs
CisgICAgICAgICJnbC5wb2x5Z29uT2Zmc2V0KDAsIDApIiwKKyAgICAgICAgImdsLnJlYWRQaXhl
bHMoMCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYXJyYXlCdWZmZXJWaWV3
KSIsCisgICAgICAgICJnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wu
UkdCQTQsIDAsIDApIiwKKyAgICAgICAgImdsLnNhbXBsZUNvdmVyYWdlKDAsIDApIiwKKyAgICAg
ICAgImdsLnNjaXNzb3IoMCwgMCwgMCwgMCkiLAorICAgICAgICAiZ2wuc2hhZGVyU291cmNlKHNo
YWRlciwgJycpIiwKKyAgICAgICAgImdsLnN0ZW5jaWxGdW5jKGdsLk5FVkVSLCAwLCAwKSIsCisg
ICAgICAgICJnbC5zdGVuY2lsRnVuY1NlcGFyYXRlKGdsLkZST05ULCBnbC5ORVZFUiwgMCwgMCki
LAorICAgICAgICAiZ2wuc3RlbmNpbE1hc2soMCkiLAorICAgICAgICAiZ2wuc3RlbmNpbE1hc2tT
ZXBhcmF0ZShnbC5GUk9OVCwgMCkiLAorICAgICAgICAiZ2wuc3RlbmNpbE9wKGdsLktFRVAsIGds
LktFRVAsIGdsLktFRVApIiwKKyAgICAgICAgImdsLnN0ZW5jaWxPcFNlcGFyYXRlKGdsLkZST05U
LCBnbC5LRUVQLCBnbC5LRUVQLCBnbC5LRUVQKSIsCisgICAgICAgICJnbC50ZXhJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsIGFycmF5QnVmZmVyVmlldykiLAorICAgICAgICAiZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZURhdGEpIiwK
KyAgICAgICAgImdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdC
QSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2UpIiwKKyAgICAgICAgImdsLnRleEltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFz
KSIsCisgICAgICAgICJnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVvKSIsCisgICAgICAgICJnbC50ZXhQYXJhbWV0
ZXJmKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVTVCkiLAor
ICAgICAgICAiZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9G
SUxURVIsIGdsLk5FQVJFU1QpIiwKKyAgICAgICAgImdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVS
RV8yRCwgMCwgMCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYXJyYXlCdWZm
ZXJWaWV3KSIsCisgICAgICAgICJnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAs
IDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltYWdlRGF0YSkiLAorICAgICAgICAiZ2wu
dGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05F
RF9CWVRFLCBpbWFnZSkiLAorICAgICAgICAiZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjYW52YXMpIiwKKyAgICAgICAg
ImdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5T
SUdORURfQllURSwgdmlkZW8pIiwKKyAgICAgICAgImdsLnVuaWZvcm0xZih1bmlmb3JtTG9jYXRp
b24sIDApIiwKKyAgICAgICAgImdsLnVuaWZvcm0xZnYodW5pZm9ybUxvY2F0aW9uLCBmbG9hdDMy
YXJyYXkpIiwKKyAgICAgICAgImdsLnVuaWZvcm0xZnYodW5pZm9ybUxvY2F0aW9uLCBbMF0pIiwK
KyAgICAgICAgImdsLnVuaWZvcm0xaSh1bmlmb3JtTG9jYXRpb24sIDApIiwKKyAgICAgICAgImds
LnVuaWZvcm0xaXYodW5pZm9ybUxvY2F0aW9uLCBpbnQzMmFycmF5KSIsCisgICAgICAgICJnbC51
bmlmb3JtMWl2KHVuaWZvcm1Mb2NhdGlvbiwgWzBdKSIsCisgICAgICAgICJnbC51bmlmb3JtMmYo
dW5pZm9ybUxvY2F0aW9uLCAwLCAwKSIsCisgICAgICAgICJnbC51bmlmb3JtMmZ2KHVuaWZvcm1M
b2NhdGlvbiwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC51bmlmb3JtMmZ2KHVuaWZvcm1M
b2NhdGlvbiwgWzAsIDBdKSIsCisgICAgICAgICJnbC51bmlmb3JtMmkodW5pZm9ybUxvY2F0aW9u
LCAwLCAwKSIsCisgICAgICAgICJnbC51bmlmb3JtMml2KHVuaWZvcm1Mb2NhdGlvbiwgaW50MzJh
cnJheSkiLAorICAgICAgICAiZ2wudW5pZm9ybTJpdih1bmlmb3JtTG9jYXRpb24sIFswLCAwXSki
LAorICAgICAgICAiZ2wudW5pZm9ybTNmKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCwgMCkiLAorICAg
ICAgICAiZ2wudW5pZm9ybTNmdih1bmlmb3JtTG9jYXRpb24sIGZsb2F0MzJhcnJheSkiLAorICAg
ICAgICAiZ2wudW5pZm9ybTNmdih1bmlmb3JtTG9jYXRpb24sIFswLCAwLCAwXSkiLAorICAgICAg
ICAiZ2wudW5pZm9ybTNpKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCwgMCkiLAorICAgICAgICAiZ2wu
dW5pZm9ybTNpdih1bmlmb3JtTG9jYXRpb24sIGludDMyYXJyYXkpIiwKKyAgICAgICAgImdsLnVu
aWZvcm0zaXYodW5pZm9ybUxvY2F0aW9uLCBbMCwgMCwgMF0pIiwKKyAgICAgICAgImdsLnVuaWZv
cm00Zih1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDAsIDApIiwKKyAgICAgICAgImdsLnVuaWZvcm00
ZnYodW5pZm9ybUxvY2F0aW9uLCBmbG9hdDMyYXJyYXkpIiwKKyAgICAgICAgImdsLnVuaWZvcm00
ZnYodW5pZm9ybUxvY2F0aW9uLCBbMCwgMCwgMCwgMF0pIiwKKyAgICAgICAgImdsLnVuaWZvcm00
aSh1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDAsIDApIiwKKyAgICAgICAgImdsLnVuaWZvcm00aXYo
dW5pZm9ybUxvY2F0aW9uLCBpbnQzMmFycmF5KSIsCisgICAgICAgICJnbC51bmlmb3JtNGl2KHVu
aWZvcm1Mb2NhdGlvbiwgWzAsIDAsIDAsIDBdKSIsCisgICAgICAgICJnbC51bmlmb3JtTWF0cml4
MmZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmFsc2UsIGZsb2F0MzJhcnJheSkiLAorICAgICAgICAiZ2wu
dW5pZm9ybU1hdHJpeDJmdih1bmlmb3JtTG9jYXRpb24sIGZhbHNlLCBbMCwgMCwgMCwgMF0pIiwK
KyAgICAgICAgImdsLnVuaWZvcm1NYXRyaXgzZnYodW5pZm9ybUxvY2F0aW9uLCBmYWxzZSwgZmxv
YXQzMmFycmF5KSIsCisgICAgICAgICJnbC51bmlmb3JtTWF0cml4M2Z2KHVuaWZvcm1Mb2NhdGlv
biwgZmFsc2UsIFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSkiLAorICAgICAgICAiZ2wudW5p
Zm9ybU1hdHJpeDRmdih1bmlmb3JtTG9jYXRpb24sIGZhbHNlLCBmbG9hdDMyYXJyYXkpIiwKKyAg
ICAgICAgImdsLnVuaWZvcm1NYXRyaXg0ZnYodW5pZm9ybUxvY2F0aW9uLCBmYWxzZSwgWzAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDBdKSIsCisgICAgICAgICJn
bC51c2VQcm9ncmFtKHByb2dyYW0pIiwKKyAgICAgICAgImdsLnZhbGlkYXRlUHJvZ3JhbShwcm9n
cmFtKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIxZigwLCAwKSIsCisgICAgICAgICJnbC52
ZXJ0ZXhBdHRyaWIxZnYoMCwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRy
aWIxZnYoMCwgWzBdKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIyZigwLCAwLCAwKSIsCisg
ICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIyZnYoMCwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJn
bC52ZXJ0ZXhBdHRyaWIyZnYoMCwgWzAsIDBdKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIz
ZigwLCAwLCAwLCAwKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIzZnYoMCwgZmxvYXQzMmFy
cmF5KSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIzZnYoMCwgWzAsIDAsIDBdKSIsCisgICAg
ICAgICJnbC52ZXJ0ZXhBdHRyaWI0ZigwLCAwLCAwLCAwLCAwKSIsCisgICAgICAgICJnbC52ZXJ0
ZXhBdHRyaWI0ZnYoMCwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWI0
ZnYoMCwgWzAsIDAsIDAsIDBdKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAs
IDAsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCkiLAorICAgICAgICAiZ2wudmlld3BvcnQoMCwgMCwg
MCwgMCkiLAorICAgIF07CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2b2lkVGVzdHMubGVuZ3Ro
OyArK2kpIHsKKyAgICAgICAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwg
dm9pZFRlc3RzW2ldKTsKKyAgICB9CisKKyAgICAvLyBGdW5jdGlvbnMgcmV0dXJuIG51bGxhYmxl
IHZhbHVlcyBzaG91bGQgYWxsIHJldHVybiBudWxsLgorICAgIHZhciBudWxsVGVzdHMgPSBbCisg
ICAgICAgICJnbC5jcmVhdGVCdWZmZXIoKSIsCisgICAgICAgICJnbC5jcmVhdGVGcmFtZWJ1ZmZl
cigpIiwKKyAgICAgICAgImdsLmNyZWF0ZVByb2dyYW0oKSIsCisgICAgICAgICJnbC5jcmVhdGVS
ZW5kZXJidWZmZXIoKSIsCisgICAgICAgICJnbC5jcmVhdGVTaGFkZXIoZ2wuR0xfVkVSVEVYX1NI
QURFUikiLAorICAgICAgICAiZ2wuY3JlYXRlVGV4dHVyZSgpIiwKKyAgICAgICAgImdsLmdldEFj
dGl2ZUF0dHJpYihwcm9ncmFtLCAwKSIsCisgICAgICAgICJnbC5nZXRBY3RpdmVVbmlmb3JtKHBy
b2dyYW0sIDApIiwKKyAgICAgICAgImdsLmdldEF0dGFjaGVkU2hhZGVycyhwcm9ncmFtKSIsCisg
ICAgICAgICJnbC5nZXRCdWZmZXJQYXJhbWV0ZXIoZ2wuQVJSQVlfQlVGRkVSLCBnbC5CVUZGRVJf
U0laRSkiLAorICAgICAgICAiZ2wuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKSIsCisgICAgICAgICJn
bC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNP
TE9SX0FUVEFDSE1FTlQwLCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FKSIs
CisgICAgICAgICJnbC5nZXRQYXJhbWV0ZXIoZ2wuQ1VSUkVOVF9QUk9HUkFNKSIsCisgICAgICAg
ICJnbC5nZXRQcm9ncmFtSW5mb0xvZyhwcm9ncmFtKSIsCisgICAgICAgICJnbC5nZXRQcm9ncmFt
UGFyYW1ldGVyKHByb2dyYW0sIGdsLkxJTktfU1RBVFVTKSIsCisgICAgICAgICJnbC5nZXRSZW5k
ZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfV0lEVEgp
IiwKKyAgICAgICAgImdsLmdldFNoYWRlckluZm9Mb2coc2hhZGVyKSIsCisgICAgICAgICJnbC5n
ZXRTaGFkZXJQYXJhbWV0ZXIoc2hhZGVyLCBnbC5TSEFERVJfVFlQRSkiLAorICAgICAgICAiZ2wu
Z2V0U2hhZGVyU291cmNlKHNoYWRlcikiLAorICAgICAgICAiZ2wuZ2V0VGV4UGFyYW1ldGVyKGds
LlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TKSIsCisgICAgICAgICJnbC5nZXRVbmlmb3Jt
KHByb2dyYW0sIHVuaWZvcm1Mb2NhdGlvbikiLAorICAgICAgICAiZ2wuZ2V0VW5pZm9ybUxvY2F0
aW9uKHByb2dyYW0sICd2UG9zaXRpb24nKSIsCisgICAgICAgICJnbC5nZXRWZXJ0ZXhBdHRyaWIo
MCwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9CVUZGRVJfQklORElORykiLAorICAgICAgICAiZ2wu
Z2V0U3VwcG9ydGVkRXh0ZW5zaW9ucygpIiwKKyAgICAgICAgImdsLmdldEV4dGVuc2lvbignIiAr
IGV4dGVuc2lvbl9uYW1lICsgIicpIiwKKyAgICBdOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
bnVsbFRlc3RzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHNob3VsZEJlTnVsbChudWxsVGVzdHNb
aV0pOworICAgIH0KKworICAgIC8vICJJcyIgcXVlcmllcyBzaG91bGQgYWxsIHJldHVybiBmYWxz
ZS4KKyAgICBzaG91bGRCZUZhbHNlKCJnbC5pc0J1ZmZlcihidWZmZXIpIik7CisgICAgc2hvdWxk
QmVGYWxzZSgiZ2wuaXNFbmFibGVkKGdsLkJMRU5EKSIpOworICAgIHNob3VsZEJlRmFsc2UoImds
LmlzRnJhbWVidWZmZXIoZnJhbWVidWZmZXIpIik7CisgICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNQ
cm9ncmFtKHByb2dyYW0pIik7CisgICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNSZW5kZXJidWZmZXIo
cmVuZGVyYnVmZmVyKSIpOworICAgIHNob3VsZEJlRmFsc2UoImdsLmlzU2hhZGVyKHNoYWRlciki
KTsKKyAgICBzaG91bGRCZUZhbHNlKCJnbC5pc1RleHR1cmUodGV4dHVyZSkiKTsKKworICAgIHNo
b3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7CisKKyAgICBmaW5pc2goKTsK
K30KKworZnVuY3Rpb24gZmluaXNoKCkgeworICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CisgICAgdmFyIGVwaWxvZ3VlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Cisg
ICAgZXBpbG9ndWUub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICh3aW5kb3cubm9u
S2hyb25vc0ZyYW1ld29ya05vdGlmeURvbmUpCisgICAgICAgICAgICB3aW5kb3cubm9uS2hyb25v
c0ZyYW1ld29ya05vdGlmeURvbmUoKTsKKyAgICB9OworICAgIGVwaWxvZ3VlLnNyYyA9ICIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIjsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGVwaWxvZ3VlKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJp
bml0KCkiPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8Y2FudmFzIGlkPSJjYW52YXMiPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXgg
MzM0ZDU2YWI2YjIzYmM0NjIzZjAzYTFmY2UzZmM0YmZkOTE5YjFiOC4uZTUyZDRhNmVkMjcwODcx
YzE0NmM3NjhkYWRmZGRjNjU4ZDQzOTk4MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAorKysgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yODMsNiArMjgzLDcgQEAgU0VU
KFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5pZGwKICAg
ICBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsCiAgICAgaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5pZGwKKyAgICBodG1sL2NhbnZhcy9DaHJvbWl1bUxv
c2VDb250ZXh0LmlkbAogICAgIGh0bWwvY2FudmFzL0RhdGFWaWV3LmlkbAogICAgIGh0bWwvY2Fu
dmFzL0Zsb2F0MzJBcnJheS5pZGwKICAgICBodG1sL2NhbnZhcy9JbnQxNkFycmF5LmlkbApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4YTVl
ZjhkZDhkZmMyNTM1MWQ4MDk1MDg3MzUxY2M2Y2UxNGVlZTZkLi5hYjEwMTFiZGUwMThjZjZkNjBl
ZmIwMTIxZDgzMDNhZDliMmQxMWQxIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEwLTEyLTIyICBBZHJpZW5u
ZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIENIUk9NSVVNX2xvc2VfY29udGV4dCBXZWJHTCBleHRl
bnNpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
MTQ5MgorCisgICAgICAgIFRlc3RzOiBmYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtcmVz
dG9yZWQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0
Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5n
eXBpOgorICAgICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjp0b0pTKToKKyAgICAgICAgKFdlYkNvcmU6OkpTV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpn
ZXRTdXBwb3J0ZWRFeHRlbnNpb25zKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhX
ZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOE9i
amVjdCk6CisgICAgICAgIChXZWJDb3JlOjpWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0U3Vw
cG9ydGVkRXh0ZW5zaW9uc0NhbGxiYWNrKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DaHJvbWl1
bUxvc2VDb250ZXh0LmNwcDogQ29waWVkIGZyb20gV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4
dGVuc2lvbi5oLgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1Mb3NlQ29udGV4dDo6Q2hyb21p
dW1Mb3NlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bUxvc2VDb250ZXh0Ojp+
Q2hyb21pdW1Mb3NlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bUxvc2VDb250
ZXh0OjpnZXROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVtTG9zZUNvbnRleHQ6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bUxvc2VDb250ZXh0Ojpsb3NlQ29udGV4
dCk6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5oOiBDb3BpZWQg
ZnJvbSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmguCisgICAgICAgICogaHRt
bC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5pZGw6IENvcGllZCBmcm9tIFdlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTEV4
dGVuc2lvbi5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OldlYkdMUmVuZGVy
aW5nQ29udGV4dFJlc3RvcmVUaW1lcjo6ZmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0OjpnZXRTdXBwb3J0ZWRFeHRlbnNpb25zKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Zm9yY2VMb3N0Q29udGV4dCk6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6Om9uTG9zdENvbnRleHQpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXROdW1iZXJPZkV4dGVuc2lvbnMpOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb25OdW1i
ZXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oOgorCiAy
MDEwLTEyLTIzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZmIxM2FmZWE3OTdmYjQ3
OGE5ZDc0ZjZlNzA5YmNkYzEyOTA4ZTY4Yi4uNjEzY2IwMWYwN2E3MTk1NWUwN2IxM2NiMDdjMGYz
NDc0ZTU4ZGVhZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBi
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNjgsNiArNjgsNyBAQCBET01fQ0xBU1NF
UyA9IFwKICAgICBBdWRpb1BhcmFtIFwKICAgICBBdWRpb1Byb2Nlc3NpbmdFdmVudCBcCiAgICAg
QXVkaW9Tb3VyY2VOb2RlIFwKKyAgICBDaHJvbWl1bUxvc2VDb250ZXh0IFwKICAgICBDb252b2x2
ZXJOb2RlIFwKICAgICBEZWxheU5vZGUgXAogICAgIEhpZ2hQYXNzMkZpbHRlck5vZGUgXApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0K
aW5kZXggZjEwOGY4NjE5ZGIwZTQzMzhjMWJmM2MxZjBhN2JmMjc2ZGRhNDAwZi4uNDIxNzA1MDg4
MWY1NGE2MjhmZDY5MzAzOGNiNDc2YzU4ZTU0Mjk3MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0xNDUsNiArMTQ1LDgg
QEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
Q0RBVEFTZWN0aW9uLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDaGFyYWN0ZXJEYXRh
LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NoYXJhY3RlckRhdGEuaCBcCisJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Nocm9taXVtTG9zZUNvbnRleHQuY3BwIFwKKwlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQ2hyb21pdW1Mb3NlQ29udGV4dC5oIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQ2xpZW50UmVjdC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlND
bGllbnRSZWN0LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDbGllbnRSZWN0TGlzdC5j
cHAgXApAQCAtMTU3Myw2ICsxNTc1LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBcCiAJV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNTdHlsZS5jcHAgXAogCVdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUu
aCBcCisJV2ViQ29yZS9odG1sL2NhbnZhcy9DaHJvbWl1bUxvc2VDb250ZXh0LmNwcCBcCisJV2Vi
Q29yZS9odG1sL2NhbnZhcy9DaHJvbWl1bUxvc2VDb250ZXh0LmggXAogCVdlYkNvcmUvaHRtbC9j
YW52YXMvRGF0YVZpZXcuY3BwIFwKIAlXZWJDb3JlL2h0bWwvY2FudmFzL0RhdGFWaWV3LmggXAog
CVdlYkNvcmUvaHRtbC9jYW52YXMvRmxvYXQzMkFycmF5LmNwcCBcCmRpZmYgLS1naXQgYS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGZjYThjZmM0MmQy
NGI3MTg5ZGU5OGFhYTFmZjZlZjk5NGMyNzQ1MTguLmY1ZDQyNDdmMTAzYmUyZGM2MWFjMjg1Yjhh
MTkzMGRkOGZlYmFkMzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dl
YkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yMDgsNiArMjA4LDcgQEAKICAgICAgICAgICAgICdodG1s
L2NhbnZhcy9DYW52YXNQaXhlbEFycmF5LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwnLAorICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0No
cm9taXVtTG9zZUNvbnRleHQuaWRsJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9EYXRhVmll
dy5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5pZGwnLAogICAg
ICAgICAgICAgJ2h0bWwvY2FudmFzL0ludDE2QXJyYXkuaWRsJywKQEAgLTE5MDcsNiArMTkwOCw4
IEBACiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuY3BwJywKICAgICAgICAg
ICAgICdodG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oJywKICAgICAgICAgICAgICdodG1sL2NhbnZh
cy9DaGVja2VkSW50LmgnLAorICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0Nocm9taXVtTG9zZUNv
bnRleHQuY3BwJywKKyAgICAgICAgICAgICdodG1sL2NhbnZhcy9DaHJvbWl1bUxvc2VDb250ZXh0
LmgnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0RhdGFWaWV3LmNwcCcsCiAgICAgICAgICAg
ICAnaHRtbC9jYW52YXMvRGF0YVZpZXcuaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRmxv
YXQzMkFycmF5LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29y
ZS9XZWJDb3JlLnByaQppbmRleCBiYzNmNTk1MjM4MTUxMTgxMDRjODZhMzdiZGRmODE3ZmNmOWQ4
ZTc0Li42YmY3OWQ1OTdhYjcyNzY1ZGQ4ODEzNTkwN2FkMzViMzgyNDNjMmUzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTE4NCw2
ICsxODQsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGZpbGVhcGkvTWV0YWRhdGFDYWxsYmFj
ay5pZGwgXAogICAgIGh0bWwvY2FudmFzL0FycmF5QnVmZmVyVmlldy5pZGwgXAogICAgIGh0bWwv
Y2FudmFzL0FycmF5QnVmZmVyLmlkbCBcCisgICAgaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29u
dGV4dC5pZGwgXAogICAgIGh0bWwvY2FudmFzL0RhdGFWaWV3LmlkbCBcCiAgICAgaHRtbC9jYW52
YXMvSW50OEFycmF5LmlkbCBcCiAgICAgaHRtbC9jYW52YXMvRmxvYXQzMkFycmF5LmlkbCBcCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRl
eCBjZGMzYTEyNDZjYTA4NzFhMTdmYjBiYTI4YTdjMmRlMzQyZmViOTk5Li44Yzk2OTc5ZjY0YTgy
ZmY0YzZjNmY5MjUxMTU2MjliNDdhYjkwM2Q1IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
cHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTM3NzgsNiArMzc3OCw3IEBAIGNvbnRh
aW5zKERFRklORVMsIEVOQUJMRV8zRF9DQU5WQVM9MSkgewogCiAgICAgSEVBREVSUyArPSBcCiAg
ICAgICAgIGh0bWwvY2FudmFzL0NhbnZhc0NvbnRleHRBdHRyaWJ1dGVzLmggXAorICAgICAgICBo
dG1sL2NhbnZhcy9DaHJvbWl1bUxvc2VDb250ZXh0LmggXAogICAgICAgICBodG1sL2NhbnZhcy9X
ZWJHTE9iamVjdC5oIFwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xBY3RpdmVJbmZvLmggXAog
ICAgICAgICBodG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5oIFwKQEAgLTM4MDIsNiArMzgwMyw3IEBA
IGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV8zRF9DQU5WQVM9MSkgewogICAgIH0KICAgICBTT1VS
Q0VTICs9IFwKICAgICAgICAgaHRtbC9jYW52YXMvQ2FudmFzQ29udGV4dEF0dHJpYnV0ZXMuY3Bw
IFwKKyAgICAgICAgaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5jcHAgXAogICAgICAg
ICBodG1sL2NhbnZhcy9XZWJHTE9iamVjdC5jcHAgXAogICAgICAgICBodG1sL2NhbnZhcy9XZWJH
TEJ1ZmZlci5jcHAgXAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTENvbnRleHRBdHRyaWJ1dGVz
LmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDJh
ODM5OWM2Nzc5YzRjNTZlZGU4ZTFmZjU3NmRkNjVjYjFmZGNhZWEuLjBhNTczZmIzOThhMTA3YTYx
ZWY3MTlhZTYxMGMwOWE4NzQ0ZjA0NWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0yODI0LDYgKzI4MjQsMTAgQEAKIAkJOTM2MjY0MEIwREUxMTM3RDAw
OUQ1QTAwIC8qIENTU1JlZmxlY3Rpb25EaXJlY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNjI2NDBBMERFMTEzN0QwMDlENUEwMCAvKiBDU1NS
ZWZsZWN0aW9uRGlyZWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJOTM2M0I2MkMwRjhFOEZFMDAwODAzODEwIC8qIEhpc3RvcnlQcm9wZXJ0
eUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTM2M0I2MkEwRjhFOEZFMDAwODAzODEwIC8qIEhpc3RvcnlQcm9wZXJ0eUxpc3QuY3BwICovOyB9
OwogCQk5MzYzQjYyRDBGOEU4RkUwMDA4MDM4MTAgLyogSGlzdG9yeVByb3BlcnR5TGlzdC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM2M0I2MkIwRjhF
OEZFMDAwODAzODEwIC8qIEhpc3RvcnlQcm9wZXJ0eUxpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5MzcyREFGRjEyQzE3N0I5MDBBRDYwMUUg
LyogQ2hyb21pdW1Mb3NlQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5MzcyREFGQzEyQzE3N0I5MDBBRDYwMUUgLyogQ2hyb21pdW1Mb3Nl
Q29udGV4dC5jcHAgKi87IH07CisJCTkzNzJEQjAwMTJDMTc3QjkwMEFENjAxRSAvKiBDaHJvbWl1
bUxvc2VDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5MzcyREFGRDEyQzE3N0I5MDBBRDYwMUUgLyogQ2hyb21pdW1Mb3NlQ29udGV4dC5oICov
OyB9OworCQk5MzcyREM1RjEyQzE4NzQ2MDBBRDYwMUUgLyogSlNDaHJvbWl1bUxvc2VDb250ZXh0
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNzJE
QzVEMTJDMTg3NDYwMEFENjAxRSAvKiBKU0Nocm9taXVtTG9zZUNvbnRleHQuY3BwICovOyB9Owor
CQk5MzcyREM2MDEyQzE4NzQ2MDBBRDYwMUUgLyogSlNDaHJvbWl1bUxvc2VDb250ZXh0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzcyREM1RTEyQzE4
NzQ2MDBBRDYwMUUgLyogSlNDaHJvbWl1bUxvc2VDb250ZXh0LmggKi87IH07CiAJCTkzNzk5RUY4
MEJGMjc0MzYwMEQwRjIzMCAvKiBSZW5kZXJXb3JkQnJlYWsuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM3OTlFRjYwQkYyNzQzNjAwRDBGMjMwIC8q
IFJlbmRlcldvcmRCcmVhay5jcHAgKi87IH07CiAJCTkzNzk5RUY5MEJGMjc0MzYwMEQwRjIzMCAv
KiBSZW5kZXJXb3JkQnJlYWsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzNzk5RUY3MEJGMjc0MzYwMEQwRjIzMCAvKiBSZW5kZXJXb3JkQnJlYWsuaCAq
LzsgfTsKIAkJOTM4MEY0NzMwOUExMUFCNDAwMUZEQjM0IC8qIFdpZGdldC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzgwRjQ3MTA5QTExQUI0MDAx
RkRCMzQgLyogV2lkZ2V0LmNwcCAqLzsgfTsKQEAgLTkxNjYsNiArOTE3MCwxMSBAQAogCQk5MzYz
QjYyQTBGOEU4RkUwMDA4MDM4MTAgLyogSGlzdG9yeVByb3BlcnR5TGlzdC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIaXN0b3J5UHJvcGVydHlMaXN0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTM2M0I2MkIwRjhFOEZFMDAwODAzODEwIC8qIEhp
c3RvcnlQcm9wZXJ0eUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGlz
dG9yeVByb3BlcnR5TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzZERDAz
QTA5Q0VBQzI3MDA1NkFFOEMgLyogUmFuZ2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJh
bmdlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTM3MkRBRkMxMkMxNzdCOTAw
QUQ2MDFFIC8qIENocm9taXVtTG9zZUNvbnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gQ2hyb21pdW1Mb3NlQ29udGV4dC5jcHA7IHBhdGggPSBjYW52YXMvQ2hy
b21pdW1Mb3NlQ29udGV4dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzNzJE
QUZEMTJDMTc3QjkwMEFENjAxRSAvKiBDaHJvbWl1bUxvc2VDb250ZXh0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IENocm9taXVtTG9zZUNvbnRleHQuaDsgcGF0aCA9IGNhbnZh
cy9DaHJvbWl1bUxvc2VDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkz
NzJEQUZFMTJDMTc3QjkwMEFENjAxRSAvKiBDaHJvbWl1bUxvc2VDb250ZXh0LmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IG5hbWUgPSBDaHJvbWl1bUxvc2VDb250ZXh0LmlkbDsgcGF0aCA9IGNhbnZhcy9D
aHJvbWl1bUxvc2VDb250ZXh0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTM3
MkRDNUQxMkMxODc0NjAwQUQ2MDFFIC8qIEpTQ2hyb21pdW1Mb3NlQ29udGV4dC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBKU0Nocm9taXVtTG9zZUNvbnRleHQuY3Bw
OyBwYXRoID0gLi4vV2ViS2l0QnVpbGQvRGVidWcvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0No
cm9taXVtTG9zZUNvbnRleHQuY3BwOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CisJCTkz
NzJEQzVFMTJDMTg3NDYwMEFENjAxRSAvKiBKU0Nocm9taXVtTG9zZUNvbnRleHQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSlNDaHJvbWl1bUxvc2VDb250ZXh0Lmg7IHBhdGgg
PSAuLi9XZWJLaXRCdWlsZC9EZWJ1Zy9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2hyb21pdW1M
b3NlQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CiAJCTkzNzk5RUY2MEJG
Mjc0MzYwMEQwRjIzMCAvKiBSZW5kZXJXb3JkQnJlYWsuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyV29yZEJyZWFrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTM3OTlFRjcwQkYyNzQzNjAwRDBGMjMwIC8qIFJlbmRlcldvcmRCcmVhay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJXb3JkQnJlYWsuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTM4MEY0NzEwOUExMUFCNDAwMUZEQjM0IC8qIFdp
ZGdldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2lkZ2V0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMDYyLDYgKzEzMDcxLDkgQEAKIAkJ
CQk0OTQ4NEZCNDEwMkNGMjNDMDAxODdERDMgLyogQ2FudmFzR3JhZGllbnQuaCAqLywKIAkJCQk0
OTQ4NEZCNTEwMkNGMjNDMDAxODdERDMgLyogQ2FudmFzR3JhZGllbnQuaWRsICovLAogCQkJCTQ5
NDg0RkI2MTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNQYXR0ZXJuLmNwcCAqLywKKwkJCQk5Mzcy
REFGQzEyQzE3N0I5MDBBRDYwMUUgLyogQ2hyb21pdW1Mb3NlQ29udGV4dC5jcHAgKi8sCisJCQkJ
OTM3MkRBRkQxMkMxNzdCOTAwQUQ2MDFFIC8qIENocm9taXVtTG9zZUNvbnRleHQuaCAqLywKKwkJ
CQk5MzcyREFGRTEyQzE3N0I5MDBBRDYwMUUgLyogQ2hyb21pdW1Mb3NlQ29udGV4dC5pZGwgKi8s
CiAJCQkJNDk0ODRGQjcxMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc1BhdHRlcm4uaCAqLywKIAkJ
CQk0OTQ4NEZCODEwMkNGMjNDMDAxODdERDMgLyogQ2FudmFzUGF0dGVybi5pZGwgKi8sCiAJCQkJ
NDk0ODRGQjkxMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc1BpeGVsQXJyYXkuY3BwICovLApAQCAt
MTU3OTUsNiArMTU4MDcsOCBAQAogCQlBODNCNzkwODBDQ0FGRjJCMDAwQjA4MjUgLyogSFRNTCAq
LyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJOTM3MkRDNUQx
MkMxODc0NjAwQUQ2MDFFIC8qIEpTQ2hyb21pdW1Mb3NlQ29udGV4dC5jcHAgKi8sCisJCQkJOTM3
MkRDNUUxMkMxODc0NjAwQUQ2MDFFIC8qIEpTQ2hyb21pdW1Mb3NlQ29udGV4dC5oICovLAogCQkJ
CTQ5RUVDRUYyMTA1MDcwQzQwMDA5OUZBQiAvKiBKU0FycmF5QnVmZmVyLmNwcCAqLywKIAkJCQk0
OUVFQ0VGMzEwNTA3MEM0MDAwOTlGQUIgLyogSlNBcnJheUJ1ZmZlci5oICovLAogCQkJCTQ5RUVD
RjE5MTA1MDcyRjMwMDA5OUZBQiAvKiBKU0FycmF5QnVmZmVyVmlldy5jcHAgKi8sCkBAIC0yMjIx
OCw2ICsyMjIzMiw4IEBACiAJCQkJNkVCRjBFNDkxMkE4OTI2MTAwREIxNzA5IC8qIE9FU1RleHR1
cmVGbG9hdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkVCRjBFNTUxMkE4OTI5ODAwREIxNzA5IC8q
IFdlYkdMRXh0ZW5zaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RUJGMEU3NzEyQTk4Njg4MDBE
QjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzNzJEQjAw
MTJDMTc3QjkwMEFENjAxRSAvKiBDaHJvbWl1bUxvc2VDb250ZXh0LmggaW4gSGVhZGVycyAqLywK
KwkJCQk5MzcyREM2MDEyQzE4NzQ2MDBBRDYwMUUgLyogSlNDaHJvbWl1bUxvc2VDb250ZXh0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKQEAgLTI0ODkwLDYgKzI0OTA2LDggQEAKIAkJCQk2RUJGMEU0ODEyQTg5
MjYxMDBEQjE3MDkgLyogT0VTVGV4dHVyZUZsb2F0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTZF
QkYwRTU0MTJBODkyOTgwMERCMTcwOSAvKiBXZWJHTEV4dGVuc2lvbi5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk2RUJGMEU3NjEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJOTM3MkRBRkYxMkMxNzdCOTAwQUQ2MDFFIC8qIENocm9taXVt
TG9zZUNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTM3MkRDNUYxMkMxODc0NjAwQUQ2
MDFFIC8qIEpTQ2hyb21pdW1Mb3NlQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3Bw
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAK
aW5kZXggZTE5NjNkYTVkZDE5ODM4Y2QwOWVkYjc4ZWViNWZiYzJiMjhmYTQ2NC4uMWIxOGIzOWNi
NjFmYjliM2IxODk4MjEyNjgwYThhNmY1MTMwNWE5ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKQEAgLTI5LDkgKzI5
LDExIEBACiAKICNpbmNsdWRlICJKU1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgogCisjaW5jbHVk
ZSAiQ2hyb21pdW1Mb3NlQ29udGV4dC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNp
bmNsdWRlICJIVE1MQ2FudmFzRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQu
aCIKKyNpbmNsdWRlICJKU0Nocm9taXVtTG9zZUNvbnRleHQuaCIKICNpbmNsdWRlICJKU0hUTUxD
YW52YXNFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNIVE1MSW1hZ2VFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSlNJbWFnZURhdGEuaCIKQEAgLTE2OSw2ICsxNzEsOCBAQCBzdGF0aWMgSlNWYWx1ZSB0b0pT
KEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgV2ViR0xF
eHRlbgogICAgIGlmICghZXh0ZW5zaW9uKQogICAgICAgICByZXR1cm4ganNOdWxsKCk7CiAgICAg
c3dpdGNoIChleHRlbnNpb24tPmdldE5hbWUoKSkgeworICAgIGNhc2UgV2ViR0xFeHRlbnNpb246
OkNocm9taXVtTG9zZUNvbnRleHROYW1lOgorICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9i
YWxPYmplY3QsIHN0YXRpY19jYXN0PENocm9taXVtTG9zZUNvbnRleHQqPihleHRlbnNpb24pKTsK
ICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNUZXh0dXJlRmxvYXROYW1lOgogICAgICAgICBy
ZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PE9FU1RleHR1cmVGbG9h
dCo+KGV4dGVuc2lvbikpOwogICAgIH0KQEAgLTMyMCw2ICszMjQsOCBAQCBKU1ZhbHVlIEpTV2Vi
R0xSZW5kZXJpbmdDb250ZXh0OjpnZXRTaGFkZXJQYXJhbWV0ZXIoRXhlY1N0YXRlKiBleGVjKQog
SlNWYWx1ZSBKU1dlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0U3VwcG9ydGVkRXh0ZW5zaW9ucyhF
eGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0ID0g
c3RhdGljX2Nhc3Q8V2ViR0xSZW5kZXJpbmdDb250ZXh0Kj4oaW1wbCgpKTsKKyAgICBpZiAoY29u
dGV4dC0+aXNDb250ZXh0TG9zdCgpKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CiAgICAgVmVj
dG9yPFN0cmluZz4gdmFsdWUgPSBjb250ZXh0LT5nZXRTdXBwb3J0ZWRFeHRlbnNpb25zKCk7CiAg
ICAgTWFya2VkQXJndW1lbnRCdWZmZXIgbGlzdDsKICAgICBmb3IgKHNpemVfdCBpaSA9IDA7IGlp
IDwgdmFsdWUuc2l6ZSgpOyArK2lpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCmluZGV4IDA0OGNl
ZjU3MzY2ZjYzYzdlMWE1YzZmNzZjMWY2YzQ0YmI5NmZiNTYuLmEwOGQ2Yzk4NDRhOWJkNGVkN2M5
ZDI4MGU4MGViOTczNjA2NWRhN2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAorKysgYi9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKQEAgLTM1LDM1
ICszNSwzMyBAQAogI2luY2x1ZGUgIlY4V2ViR0xSZW5kZXJpbmdDb250ZXh0LmgiCiAKICNpbmNs
dWRlICJFeGNlcHRpb25Db2RlLmgiCi0KICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotCi0j
aW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KLQorI2luY2x1ZGUgIlY4QXJyYXlCdWZmZXJWaWV3
LmgiCiAjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCiAjaW5jbHVkZSAiVjhCaW5kaW5nTWFjcm9zLmgi
Ci0jaW5jbHVkZSAiVjhBcnJheUJ1ZmZlclZpZXcuaCIKLSNpbmNsdWRlICJWOFdlYkdMQnVmZmVy
LmgiCi0jaW5jbHVkZSAiVjhJbnQ4QXJyYXkuaCIKKyNpbmNsdWRlICJWOENocm9taXVtTG9zZUNv
bnRleHQuaCIKICNpbmNsdWRlICJWOEZsb2F0MzJBcnJheS5oIgotI2luY2x1ZGUgIlY4V2ViR0xG
cmFtZWJ1ZmZlci5oIgotI2luY2x1ZGUgIlY4SW50MzJBcnJheS5oIgotI2luY2x1ZGUgIlY4V2Vi
R0xQcm9ncmFtLmgiCi0jaW5jbHVkZSAiVjhXZWJHTFJlbmRlcmJ1ZmZlci5oIgotI2luY2x1ZGUg
IlY4V2ViR0xTaGFkZXIuaCIKLSNpbmNsdWRlICJWOEludDE2QXJyYXkuaCIKLSNpbmNsdWRlICJW
OFdlYkdMVGV4dHVyZS5oIgotI2luY2x1ZGUgIlY4V2ViR0xVbmlmb3JtTG9jYXRpb24uaCIKLSNp
bmNsdWRlICJWOFVpbnQ4QXJyYXkuaCIKLSNpbmNsdWRlICJWOFVpbnQzMkFycmF5LmgiCi0jaW5j
bHVkZSAiVjhVaW50MTZBcnJheS5oIgogI2luY2x1ZGUgIlY4SFRNTENhbnZhc0VsZW1lbnQuaCIK
ICNpbmNsdWRlICJWOEhUTUxJbWFnZUVsZW1lbnQuaCIKICNpbmNsdWRlICJWOEhUTUxWaWRlb0Vs
ZW1lbnQuaCIKICNpbmNsdWRlICJWOEltYWdlRGF0YS5oIgorI2luY2x1ZGUgIlY4SW50MTZBcnJh
eS5oIgorI2luY2x1ZGUgIlY4SW50MzJBcnJheS5oIgorI2luY2x1ZGUgIlY4SW50OEFycmF5Lmgi
CiAjaW5jbHVkZSAiVjhPRVNUZXh0dXJlRmxvYXQuaCIKICNpbmNsdWRlICJWOFByb3h5LmgiCisj
aW5jbHVkZSAiVjhVaW50MTZBcnJheS5oIgorI2luY2x1ZGUgIlY4VWludDMyQXJyYXkuaCIKKyNp
bmNsdWRlICJWOFVpbnQ4QXJyYXkuaCIKKyNpbmNsdWRlICJWOFdlYkdMQnVmZmVyLmgiCisjaW5j
bHVkZSAiVjhXZWJHTEZyYW1lYnVmZmVyLmgiCisjaW5jbHVkZSAiVjhXZWJHTFByb2dyYW0uaCIK
KyNpbmNsdWRlICJWOFdlYkdMUmVuZGVyYnVmZmVyLmgiCisjaW5jbHVkZSAiVjhXZWJHTFNoYWRl
ci5oIgorI2luY2x1ZGUgIlY4V2ViR0xUZXh0dXJlLmgiCisjaW5jbHVkZSAiVjhXZWJHTFVuaWZv
cm1Mb2NhdGlvbi5oIgogI2luY2x1ZGUgIldlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgorI2luY2x1
ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTU5LDYg
KzE1Nyw5IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOE9iamVjdChXZWJHTEV4
dGVuc2lvbiogZXh0ZW5zaW9uLCB2ODo6SGFuZGxlPHY4CiAgICAgICAgIHJldHVybiB2ODo6TnVs
bCgpOwogICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBleHRlbnNpb25PYmplY3Q7CiAgICAgc3dp
dGNoIChleHRlbnNpb24tPmdldE5hbWUoKSkgeworICAgIGNhc2UgV2ViR0xFeHRlbnNpb246OkNo
cm9taXVtTG9zZUNvbnRleHROYW1lOgorICAgICAgICBleHRlbnNpb25PYmplY3QgPSB0b1Y4KHN0
YXRpY19jYXN0PENocm9taXVtTG9zZUNvbnRleHQqPihleHRlbnNpb24pKTsKKyAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVGV4dHVyZUZsb2F0TmFtZToKICAgICAg
ICAgZXh0ZW5zaW9uT2JqZWN0ID0gdG9WOChzdGF0aWNfY2FzdDxPRVNUZXh0dXJlRmxvYXQqPihl
eHRlbnNpb24pKTsKICAgICAgICAgYnJlYWs7CkBAIC0zNzUsNiArMzc2LDkgQEAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRTdXBwb3J0ZWRFeHRlbnNp
b25zQ2FsbGJhY2soY28KIHsKICAgICBJTkNfU1RBVFMoIkRPTS5XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuZ2V0U3VwcG9ydGVkRXh0ZW5zaW9uc0NhbGxiYWNrKCkiKTsKICAgICBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQqIGltcCA9IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0b05hdGl2ZShhcmdzLkhv
bGRlcigpKTsKKyAgICBpZiAoaW1wLT5pc0NvbnRleHRMb3N0KCkpCisgICAgICAgIHJldHVybiB2
ODo6TnVsbCgpOworCiAgICAgVmVjdG9yPFN0cmluZz4gdmFsdWUgPSBpbXAtPmdldFN1cHBvcnRl
ZEV4dGVuc2lvbnMoKTsKICAgICB2ODo6TG9jYWw8djg6OkFycmF5PiBhcnJheSA9IHY4OjpBcnJh
eTo6TmV3KHZhbHVlLnNpemUoKSk7CiAgICAgZm9yIChzaXplX3QgaWkgPSAwOyBpaSA8IHZhbHVl
LnNpemUoKTsgKytpaSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2hyb21pdW1M
b3NlQ29udGV4dC5jcHAgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0Nocm9taXVtTG9zZUNvbnRleHQu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFmNmFjMDRhZjkwZTM1MjQ5MDgyZmE0N2QyODIyNWQxZjE4MmM3MzUK
LS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0Nocm9taXVtTG9zZUNvbnRl
eHQuY3BwCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNp
ZiBFTkFCTEUoM0RfQ0FOVkFTKQorCisjaW5jbHVkZSAiQ2hyb21pdW1Mb3NlQ29udGV4dC5oIgor
CisjaW5jbHVkZSAiV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworQ2hyb21pdW1Mb3NlQ29udGV4dDo6Q2hyb21pdW1Mb3NlQ29udGV4dChXZWJHTFJlbmRl
cmluZ0NvbnRleHQqIGNvbnRleHQpCisgICAgOiBXZWJHTEV4dGVuc2lvbigpCisgICAgLCBtX2Nv
bnRleHQoY29udGV4dCkKK3sKK30KKworQ2hyb21pdW1Mb3NlQ29udGV4dDo6fkNocm9taXVtTG9z
ZUNvbnRleHQoKQoreworfQorCitXZWJHTEV4dGVuc2lvbjo6RXh0ZW5zaW9uTmFtZSBDaHJvbWl1
bUxvc2VDb250ZXh0OjpnZXROYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gQ2hyb21pdW1Mb3Nl
Q29udGV4dE5hbWU7Cit9CisKK1Bhc3NSZWZQdHI8Q2hyb21pdW1Mb3NlQ29udGV4dD4gQ2hyb21p
dW1Mb3NlQ29udGV4dDo6Y3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCkKK3sK
KyAgICByZXR1cm4gYWRvcHRSZWYobmV3IENocm9taXVtTG9zZUNvbnRleHQoY29udGV4dCkpOwor
fQorCit2b2lkIENocm9taXVtTG9zZUNvbnRleHQ6Omxvc2VDb250ZXh0KCkKK3sKKyAgICBtX2Nv
bnRleHQtPmZvcmNlTG9zdENvbnRleHQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5oIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DaHJvbWl1
bUxvc2VDb250ZXh0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2FkNGFiMWU1NGZkN2I4OTM0MDgzODcxMmQ2YWQ0
MzVjMmJlOTcyYQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2hyb21p
dW1Mb3NlQ29udGV4dC5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIENocm9taXVt
TG9zZUNvbnRleHRfaAorI2RlZmluZSBDaHJvbWl1bUxvc2VDb250ZXh0X2gKKworI2luY2x1ZGUg
IldlYkdMRXh0ZW5zaW9uLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYkdM
UmVuZGVyaW5nQ29udGV4dDsKKworY2xhc3MgQ2hyb21pdW1Mb3NlQ29udGV4dCA6IHB1YmxpYyBX
ZWJHTEV4dGVuc2lvbiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2hyb21pdW1M
b3NlQ29udGV4dD4gY3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOworCisgICAgdmlydHVh
bCB+Q2hyb21pdW1Mb3NlQ29udGV4dCgpOworICAgIHZpcnR1YWwgRXh0ZW5zaW9uTmFtZSBnZXRO
YW1lKCkgY29uc3Q7CisKKyAgICB2b2lkIGxvc2VDb250ZXh0KCk7CisKK3ByaXZhdGU6CisgICAg
Q2hyb21pdW1Mb3NlQ29udGV4dChXZWJHTFJlbmRlcmluZ0NvbnRleHQqKTsKKworICAgIFdlYkdM
UmVuZGVyaW5nQ29udGV4dCogbV9jb250ZXh0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gQ2hyb21pdW1Mb3NlQ29udGV4dF9oCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0Nocm9taXVtTG9zZUNvbnRleHQuaWRsIGIvV2ViQ29yZS9odG1sL2NhbnZh
cy9DaHJvbWl1bUxvc2VDb250ZXh0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZjhmZTBjNjU4MDU1ZWViMTNm
OTI2OTJlMzIxZTBiNGVjMTEzZGYxCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DaHJvbWl1bUxvc2VDb250ZXh0LmlkbApAQCAtMCwwICsxLDMwIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQg
SVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAq
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
CisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9k
dWxlIGh0bWwgeworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLCBPbWl0Q29u
c3RydWN0b3JdIENocm9taXVtTG9zZUNvbnRleHQgeworICAgICAgICBbU3RyaWN0VHlwZUNoZWNr
aW5nXSB2b2lkIGxvc2VDb250ZXh0KCk7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xF
eHRlbnNpb24uaAppbmRleCAzZGYzYjczMmI3NDE4NTcxNDQzNWYxMmQ3MWQ3NDRkZGI4ZWI4NDE5
Li4yOTZhYjQxNmMwNzljZjQyM2NmYzI1MjI0NWNhYjA3ZGNjOTczYWIxIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKKysrIGIvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTEV4dGVuc2lvbi5oCkBAIC0zNCw3ICszNCw4IEBAIGNsYXNzIFdlYkdMRXh0ZW5z
aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViR0xFeHRlbnNpb24+IHsKIHB1YmxpYzoKICAgICAv
LyBFeHRlbnNpb24gbmFtZXMgYXJlIG5lZWRlZCB0byBwcm9wZXJseSB3cmFwIGluc3RhbmNlcyBp
biBKYXZhU2NyaXB0IG9iamVjdHMuCiAgICAgZW51bSBFeHRlbnNpb25OYW1lIHsKLSAgICAgICAg
T0VTVGV4dHVyZUZsb2F0TmFtZQorICAgICAgICBDaHJvbWl1bUxvc2VDb250ZXh0TmFtZSwKKyAg
ICAgICAgT0VTVGV4dHVyZUZsb2F0TmFtZSwKICAgICB9OwogCiAgICAgdmlydHVhbCB+V2ViR0xF
eHRlbnNpb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmNwcCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmNwcAppbmRleCBjYTI2YmEzMjE2M2IyMjc2NjExZmExNDNjNmJhNjc3OGQ1MWFkOTBkLi5lZDEx
MTM3OWFiNjUwMjI2MjExZTAxMWE1OGNiMWQxMzI1Y2Y1ZTRjIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5j
bHVkZSAiQ2FjaGVkSW1hZ2UuaCIKICNpbmNsdWRlICJDYW52YXNQaXhlbEFycmF5LmgiCiAjaW5j
bHVkZSAiQ2hlY2tlZEludC5oIgorI2luY2x1ZGUgIkNocm9taXVtTG9zZUNvbnRleHQuaCIKICNp
bmNsdWRlICJDb25zb2xlLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRXh0
ZW5zaW9uczNELmgiCkBAIC05MiwxMSArOTMsMTEgQEAgcHJpdmF0ZToKIHZvaWQgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0OjpXZWJHTFJlbmRlcmluZ0NvbnRleHRSZXN0b3JlVGltZXI6OmZpcmVkKCkK
IHsKICAgICAvLyBUaW1lciBpcyBzdGFydGVkIHdoZW4gbV9jb250ZXh0TG9zdCBpcyBmYWxzZS4g
IEl0IHdpbGwgZmlyc3QgY2FsbAotICAgIC8vIGxvc2VDb250ZXh0LCB3aGljaCB3aWxsIHNldCBt
X2NvbnRleHRMb3N0IHRvIHRydWUuICBUaGVuIGl0IHdpbGwga2VlcAorICAgIC8vIG9uTG9zdENv
bnRleHQsIHdoaWNoIHdpbGwgc2V0IG1fY29udGV4dExvc3QgdG8gdHJ1ZS4gIFRoZW4gaXQgd2ls
bCBrZWVwCiAgICAgLy8gY2FsbGluZyByZXN0b3JlQ29udGV4dCBhbmQgcmVzY2hlZHVsZSBpdHNl
bGYgdW50aWwgbV9jb250ZXh0TG9zdCBpcyBiYWNrCiAgICAgLy8gdG8gZmFsc2UuCiAgICAgaWYg
KCFtX2NvbnRleHQtPm1fY29udGV4dExvc3QpIHsKLSAgICAgICAgbV9jb250ZXh0LT5sb3NlQ29u
dGV4dCgpOworICAgICAgICBtX2NvbnRleHQtPm9uTG9zdENvbnRleHQoKTsKICAgICAgICAgc3Rh
cnRPbmVTaG90KHNlY29uZHNCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzKTsKICAgICB9IGVsc2Ugewog
ICAgICAgICAvLyBUaGUgcmVuZGVyaW5nIGNvbnRleHQgaXMgbm90IHJlc3RvcmVkIGlmIHRoZXJl
IGlzIG5vIGhhbmRsZXIgZm9yCkBAIC0xNDU4LDYgKzE0NTksOSBAQCB1bnNpZ25lZCBsb25nIFdl
YkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0RXJyb3IoKQogCiBXZWJHTEV4dGVuc2lvbiogV2ViR0xS
ZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBuYW1lKQogeworICAg
IGlmIChpc0NvbnRleHRMb3N0KCkpCisgICAgICAgIHJldHVybiAwOworCiAgICAgaWYgKGVxdWFs
SWdub3JpbmdDYXNlKG5hbWUsICJPRVNfdGV4dHVyZV9mbG9hdCIpCiAgICAgICAgICYmIG1fY29u
dGV4dC0+Z2V0RXh0ZW5zaW9ucygpLT5zdXBwb3J0cygiR0xfT0VTX3RleHR1cmVfZmxvYXQiKSkg
ewogICAgICAgICBpZiAoIW1fb2VzVGV4dHVyZUZsb2F0KSB7CkBAIC0xNDY1LDYgKzE0NjksMTAg
QEAgV2ViR0xFeHRlbnNpb24qIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0RXh0ZW5zaW9uKGNv
bnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgICAgIG1fb2VzVGV4dHVyZUZsb2F0ID0gT0VTVGV4
dHVyZUZsb2F0OjpjcmVhdGUoKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gbV9vZXNUZXh0
dXJlRmxvYXQuZ2V0KCk7CisgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAi
Q0hST01JVU1fbG9zZV9jb250ZXh0IikpIHsKKyAgICAgICAgaWYgKCFtX2Nocm9taXVtTG9zZUNv
bnRleHQpCisgICAgICAgICAgICBtX2Nocm9taXVtTG9zZUNvbnRleHQgPSBDaHJvbWl1bUxvc2VD
b250ZXh0OjpjcmVhdGUodGhpcyk7CisgICAgICAgIHJldHVybiBtX2Nocm9taXVtTG9zZUNvbnRl
eHQuZ2V0KCk7CiAgICAgfQogCiAgICAgcmV0dXJuIDA7CkBAIC0xODcwLDYgKzE4NzgsNyBAQCBW
ZWN0b3I8U3RyaW5nPiBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFN1cHBvcnRlZEV4dGVuc2lv
bnMoKQogICAgIFZlY3RvcjxTdHJpbmc+IHJlc3VsdDsKICAgICBpZiAobV9jb250ZXh0LT5nZXRF
eHRlbnNpb25zKCktPnN1cHBvcnRzKCJHTF9PRVNfdGV4dHVyZV9mbG9hdCIpKQogICAgICAgICBy
ZXN1bHQuYXBwZW5kKCJPRVNfdGV4dHVyZV9mbG9hdCIpOworICAgIHJlc3VsdC5hcHBlbmQoIkNI
Uk9NSVVNX2xvc2VfY29udGV4dCIpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTMzMDAs
NyArMzMwOSwxNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmlld3BvcnQobG9uZyB4
LCBsb25nIHksIHVuc2lnbmVkIGxvbmcgd2lkdGgsIHVuc2lnbgogICAgIGNsZWFudXBBZnRlckdy
YXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKLXZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpsb3Nl
Q29udGV4dCgpCit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Zm9yY2VMb3N0Q29udGV4dCgp
Cit7CisgICAgaWYgKGlzQ29udGV4dExvc3QoKSkgeworICAgICAgICBtX2NvbnRleHQtPnN5bnRo
ZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTik7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QoMCk7
Cit9CisKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpvbkxvc3RDb250ZXh0KCkKIHsKICAg
ICBtX2NvbnRleHRMb3N0ID0gdHJ1ZTsKIApAQCAtNDEyNywxMSArNDE0NiwxNiBAQCB2b2lkIFdl
YkdMUmVuZGVyaW5nQ29udGV4dDo6cmVzdG9yZVN0YXRlc0FmdGVyVmVydGV4QXR0cmliMFNpbXVs
YXRpb24oKQogCiBpbnQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXROdW1iZXJPZkV4dGVuc2lv
bnMoKQogewotICAgIHJldHVybiAobV9vZXNUZXh0dXJlRmxvYXQgPyAxIDogMCk7CisgICAgcmV0
dXJuIChtX2Nocm9taXVtTG9zZUNvbnRleHQgPyAxIDogMCkgKyAobV9vZXNUZXh0dXJlRmxvYXQg
PyAxIDogMCk7CiB9CiAKIFdlYkdMRXh0ZW5zaW9uKiBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6Omdl
dEV4dGVuc2lvbk51bWJlcihpbnQgaSkKIHsKKyAgICBpZiAobV9jaHJvbWl1bUxvc2VDb250ZXh0
KSB7CisgICAgICAgIGlmICghaSkKKyAgICAgICAgICAgIHJldHVybiBtX2Nocm9taXVtTG9zZUNv
bnRleHQuZ2V0KCk7CisgICAgICAgIC0taTsKKyAgICB9CiAgICAgaWYgKG1fb2VzVGV4dHVyZUZs
b2F0KSB7CiAgICAgICAgIGlmICghaSkKICAgICAgICAgICAgIHJldHVybiBtX29lc1RleHR1cmVG
bG9hdC5nZXQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmggYi9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5o
CmluZGV4IGI2OTM4NDRkYTU0NGM1NDQ2ZDU1YmRmMDMwYzkzYWM0YjJiOTViN2QuLjc5ZGEzZjBj
ZTk0Y2Y1OGJjNzk2OGMwZjZhNTM5OTI5ZDIyZGFhMTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaApAQCAtNTEsNiArNTEsNyBAQCBjbGFzcyBXZWJHTFJl
bmRlcmJ1ZmZlcjsKIGNsYXNzIFdlYkdMU2hhZGVyOwogY2xhc3MgV2ViR0xUZXh0dXJlOwogY2xh
c3MgV2ViR0xVbmlmb3JtTG9jYXRpb247CitjbGFzcyBDaHJvbWl1bUxvc2VDb250ZXh0OwogY2xh
c3MgSFRNTEltYWdlRWxlbWVudDsKIGNsYXNzIEhUTUxWaWRlb0VsZW1lbnQ7CiBjbGFzcyBJbWFn
ZUJ1ZmZlcjsKQEAgLTI4NCw3ICsyODUsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHZpZXdwb3J0
KGxvbmcgeCwgbG9uZyB5LCB1bnNpZ25lZCBsb25nIHdpZHRoLCB1bnNpZ25lZCBsb25nIGhlaWdo
dCk7CiAKLSAgICB2b2lkIGxvc2VDb250ZXh0KCk7CisgICAgdm9pZCBmb3JjZUxvc3RDb250ZXh0
KCk7CisgICAgdm9pZCBvbkxvc3RDb250ZXh0KCk7CiAgICAgdm9pZCByZXN0b3JlQ29udGV4dCgp
OwogCiAgICAgR3JhcGhpY3NDb250ZXh0M0QqIGdyYXBoaWNzQ29udGV4dDNEKCkgY29uc3QgeyBy
ZXR1cm4gbV9jb250ZXh0LmdldCgpOyB9CkBAIC00NjgsNiArNDcwLDcgQEAgcHVibGljOgogCiAg
ICAgLy8gRW5hYmxlZCBleHRlbnNpb24gb2JqZWN0cy4KICAgICBSZWZQdHI8T0VTVGV4dHVyZUZs
b2F0PiBtX29lc1RleHR1cmVGbG9hdDsKKyAgICBSZWZQdHI8Q2hyb21pdW1Mb3NlQ29udGV4dD4g
bV9jaHJvbWl1bUxvc2VDb250ZXh0OwogCiAgICAgLy8gSGVscGVycyBmb3IgZ2V0UGFyYW1ldGVy
IGFuZCBvdGhlcnMKICAgICBXZWJHTEdldEluZm8gZ2V0Qm9vbGVhblBhcmFtZXRlcih1bnNpZ25l
ZCBsb25nIHBuYW1lKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77574</attachid>
            <date>2010-12-28 13:38:09 -0800</date>
            <delta_ts>2011-01-05 17:04:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51492-20101228133808.patch</filename>
            <type>text/plain</type>
            <size>59838</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NTJiZmNlNWU1ZmJiMmYyNDlhYmUxODJkYmE5NDNlZTI3OGM0N2U0Li5iZTM5ODg3
Zjg2MmVkODdlOTIxMWU2YmMyNDZkNTA2OWYyZGQ4NjUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTItMjIgIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgZm9yIFdl
YkdMJ3MgbG9zdCBjb250ZXh0IGV2ZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTUxNDkyCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9j
b250ZXh0LWxvc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93
ZWJnbC9jb250ZXh0LWxvc3QtcmVzdG9yZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0Lmh0bWw6IEFkZGVkLgorCiAy
MDEwLTEyLTI4ICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCBDaHJvbWl1bSB0ZXN0IGV4cGVjdGF0aW9ucyB1cGRhdGUuIENvYWxlc2NlIFdl
YkdMCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxv
c3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1s
b3N0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lY2ZhNzQ3MjJmOGQ0ODJjYzI0MDMwZTJiN2Iz
NzU3MzBkYjlkNjc3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
d2ViZ2wvY29udGV4dC1sb3N0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4MyBAQAorVGVzdHMg
YmVoYXZpb3IgdW5kZXIgYSBsb3N0IGNvbnRleHQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitUZXN0IHZhbGlkIGNvbnRleHQKK1BBU1MgZ2wuaXNDb250ZXh0TG9zdCgpIGlzIGZhbHNl
CitQQVNTIGdsLmdldEVycm9yKCkgaXMgZ2wuTk9fRVJST1IKK1BBU1MgZ2wuZW5hYmxlKGdsLkJM
RU5EKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5pc0J1ZmZlcihidWZm
ZXIpIGlzIHRydWUKK1BBU1MgZ2wuaXNFbmFibGVkKGdsLkJMRU5EKSBpcyB0cnVlCitQQVNTIGds
LmlzRnJhbWVidWZmZXIoZnJhbWVidWZmZXIpIGlzIHRydWUKK1BBU1MgZ2wuaXNQcm9ncmFtKHBy
b2dyYW0pIGlzIHRydWUKK1BBU1MgZ2wuaXNSZW5kZXJidWZmZXIocmVuZGVyYnVmZmVyKSBpcyB0
cnVlCitQQVNTIGdsLmlzU2hhZGVyKHNoYWRlcikgaXMgdHJ1ZQorUEFTUyBnbC5pc1RleHR1cmUo
dGV4dHVyZSkgaXMgdHJ1ZQorCitMb3NlIGNvbnRleHQKKworVGVzdCBsb3N0IGNvbnRleHQKK1BB
U1MgZ2wuaXNDb250ZXh0TG9zdCgpIGlzIHRydWUKK1BBU1MgZ2wuZ2V0RXJyb3IoKSBpcyBnbC5D
T05URVhUX0xPU1RfV0VCR0wKK1BBU1MgZ2wuZ2V0RXJyb3IoKSBpcyBnbC5OT19FUlJPUgorUEFT
UyBnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSBpcyBnbC5GUkFNRUJV
RkZFUl9VTlNVUFBPUlRFRAorUEFTUyBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAndV9t
b2RlbFZpZXdQcm9qTWF0cml4JykgaXMgLTEKK1BBU1MgZ2wuZ2V0VmVydGV4QXR0cmliT2Zmc2V0
KDAsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfUE9JTlRFUikgaXMgMAorUEFTUyBnbC5hY3RpdmVU
ZXh0dXJlKGdsLlRFWFRVUkUwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBn
bC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgc2hhZGVyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgorUEFTUyBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyKSB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVC
VUZGRVIsIGZyYW1lYnVmZmVyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBn
bC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgcmVuZGVyYnVmZmVyKSB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJE
LCB0ZXh0dXJlKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5ibGVuZENv
bG9yKDEuMCwgMS4wLCAxLjAsIDEuMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BB
U1MgZ2wuYmxlbmRFcXVhdGlvbihnbC5GVU5DX0FERCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUi4KK1BBU1MgZ2wuYmxlbmRFcXVhdGlvblNlcGFyYXRlKGdsLkZVTkNfQURELCBnbC5GVU5D
X0FERCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYmxlbmRGdW5jKGds
Lk9ORSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYmxlbmRGdW5jU2Vw
YXJhdGUoZ2wuT05FLCBnbC5PTkUpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNT
IGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCAwLCBnbC5TVEFUSUNfRFJBVykgd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZG
RVIsIGFycmF5QnVmZmVyVmlldywgZ2wuU1RBVElDX0RSQVcpIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBhcnJheUJ1ZmZl
ciwgZ2wuU1RBVElDX0RSQVcpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGds
LmJ1ZmZlclN1YkRhdGEoZ2wuQVJSQVlfQlVGRlJFLCAwLCBhcnJheUJ1ZmZlclZpZXcpIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmJ1ZmZlclN1YkRhdGEoZ2wuQVJSQVlf
QlVGRlJFLCAwLCBhcnJheUJ1ZmZlcikgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BB
U1MgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUi4KK1BBU1MgZ2wuY2xlYXJDb2xvcigxLCAxLCAxLCAxKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC5jbGVhckRlcHRoKDEpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IuCitQQVNTIGdsLmNsZWFyU3RlbmNpbCgwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgorUEFTUyBnbC5jb2xvck1hc2soMSwgMSwgMSwgMSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUi4KK1BBU1MgZ2wuY29tcGlsZVNoYWRlcihzaGFkZXIpIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IuCitQQVNTIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGds
LlJHQkEsIDAsIDAsIDAsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNT
IGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIDAsIDAsIDAsIDAp
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmN1bGxGYWNlKGdsLkZST05U
KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kZWxldGVCdWZmZXIoYnVm
ZmVyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kZWxldGVGcmFtZWJ1
ZmZlcihmcmFtZWJ1ZmZlcikgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wu
ZGVsZXRlUHJvZ3JhbShwcm9ncmFtKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFT
UyBnbC5kZWxldGVSZW5kZXJidWZmZXIocmVuZGVyYnVmZmVyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC5kZWxldGVTaGFkZXIoc2hhZGVyKSB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kZWxldGVUZXh0dXJlKHRleHR1cmUpIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmRlcHRoRnVuYyhnbC5ORVZFUikgd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZGVwdGhNYXNrKDApIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmRlcHRoUmFuZ2UoMCwgMSkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZGV0YWNoU2hhZGVyKHByb2dyYW0sIHNoYWRlcikgd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZGlzYWJsZShnbC5CTEVORCkgd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFy
cmF5KDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmRyYXdBcnJheXMo
Z2wuUE9JTlRTLCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5k
cmF3RWxlbWVudHMoZ2wuUE9JTlRTLCAwLCBnbC5VTlNJR05FRF9TSE9SVCwgMCkgd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZW5hYmxlKGdsLkJMRU5EKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5maW5pc2goKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5mbHVzaCgpIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVS
LCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCByZW5kZXJidWZmZXIpIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmZyYW1lYnVmZmVyVGV4dHVyZTJE
KGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuVEVYVFVSRV8yRCwgdGV4
dHVyZSwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZnJvbnRGYWNl
KGdsLkNXKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5nZW5lcmF0ZU1p
cG1hcChnbC5URVhUVVJFXzJEKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBn
bC5oaW50KGdsLkdFTkVSQVRFX01JUE1BUF9ISU5ULCBnbC5GQVNURVNUKSB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5saW5lV2lkdGgoMCkgd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUi4KK1BBU1MgZ2wubGlua1Byb2dyYW0ocHJvZ3JhbSkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wucGl4ZWxTdG9yZWkoZ2wuVU5QQUNLX0ZMSVBfWV9XRUJH
TCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wucG9seWdvbk9mZnNl
dCgwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5yZWFkUGl4ZWxz
KDAsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGFycmF5QnVmZmVyVmlldykg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wucmVuZGVyYnVmZmVyU3RvcmFn
ZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SLgorUEFTUyBnbC5zYW1wbGVDb3ZlcmFnZSgwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC5zY2lzc29yKDAsIDAsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IuCitQQVNTIGdsLnNoYWRlclNvdXJjZShzaGFkZXIsICcnKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5zdGVuY2lsRnVuYyhnbC5ORVZFUiwgMCwgMCkg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuc3RlbmNpbEZ1bmNTZXBhcmF0
ZShnbC5GUk9OVCwgZ2wuTkVWRVIsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CitQQVNTIGdsLnN0ZW5jaWxNYXNrKDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQ
QVNTIGdsLnN0ZW5jaWxNYXNrU2VwYXJhdGUoZ2wuRlJPTlQsIDApIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IuCitQQVNTIGdsLnN0ZW5jaWxPcChnbC5LRUVQLCBnbC5LRUVQLCBnbC5LRUVQ
KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5zdGVuY2lsT3BTZXBhcmF0
ZShnbC5GUk9OVCwgZ2wuS0VFUCwgZ2wuS0VFUCwgZ2wuS0VFUCkgd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUi4KK1BBU1MgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JB
LCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBhcnJheUJ1ZmZlclZpZXcpIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVS
RV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2VEYXRhKSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC50ZXhJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltYWdlKSB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGNhbnZhcykgd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCB2aWRlbykgd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudGV4UGFyYW1ldGVyZihnbC5URVhUVVJFXzJE
LCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVS
RV9NSU5fRklMVEVSLCBnbC5ORUFSRVNUKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgor
UEFTUyBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIDAsIDAsIGdsLlJH
QkEsIGdsLlVOU0lHTkVEX0JZVEUsIGFycmF5QnVmZmVyVmlldykgd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUi4KK1BBU1MgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAw
LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZURhdGEpIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IuCitQQVNTIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwg
MCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2UpIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwg
Z2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SLgorUEFTUyBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVvKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgorUEFTUyBnbC51bmlmb3JtMWYodW5pZm9ybUxvY2F0aW9uLCAwKSB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMWZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmxv
YXQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3Jt
MWZ2KHVuaWZvcm1Mb2NhdGlvbiwgWzBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgor
UEFTUyBnbC51bmlmb3JtMWkodW5pZm9ybUxvY2F0aW9uLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMWl2KHVuaWZvcm1Mb2NhdGlvbiwgaW50MzJhcnJh
eSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybTFpdih1bmlm
b3JtTG9jYXRpb24sIFswXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wu
dW5pZm9ybTJmKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUi4KK1BBU1MgZ2wudW5pZm9ybTJmdih1bmlmb3JtTG9jYXRpb24sIGZsb2F0MzJhcnJheSkg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybTJmdih1bmlmb3Jt
TG9jYXRpb24sIFswLCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wu
dW5pZm9ybTJpKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUi4KK1BBU1MgZ2wudW5pZm9ybTJpdih1bmlmb3JtTG9jYXRpb24sIGludDMyYXJyYXkpIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm0yaXYodW5pZm9ybUxv
Y2F0aW9uLCBbMCwgMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVu
aWZvcm0zZih1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IuCitQQVNTIGdsLnVuaWZvcm0zZnYodW5pZm9ybUxvY2F0aW9uLCBmbG9hdDMyYXJyYXkp
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm0zZnYodW5pZm9y
bUxvY2F0aW9uLCBbMCwgMCwgMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNT
IGdsLnVuaWZvcm0zaSh1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm0zaXYodW5pZm9ybUxvY2F0aW9uLCBpbnQzMmFy
cmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtM2l2KHVu
aWZvcm1Mb2NhdGlvbiwgWzAsIDAsIDBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgor
UEFTUyBnbC51bmlmb3JtNGYodW5pZm9ybUxvY2F0aW9uLCAwLCAwLCAwLCAwKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtNGZ2KHVuaWZvcm1Mb2NhdGlvbiwg
ZmxvYXQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlm
b3JtNGZ2KHVuaWZvcm1Mb2NhdGlvbiwgWzAsIDAsIDAsIDBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtNGkodW5pZm9ybUxvY2F0aW9uLCAwLCAwLCAwLCAw
KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtNGl2KHVuaWZv
cm1Mb2NhdGlvbiwgaW50MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BB
U1MgZ2wudW5pZm9ybTRpdih1bmlmb3JtTG9jYXRpb24sIFswLCAwLCAwLCAwXSkgd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybU1hdHJpeDJmdih1bmlmb3JtTG9j
YXRpb24sIGZhbHNlLCBmbG9hdDMyYXJyYXkpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CitQQVNTIGdsLnVuaWZvcm1NYXRyaXgyZnYodW5pZm9ybUxvY2F0aW9uLCBmYWxzZSwgWzAsIDAs
IDAsIDBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtTWF0
cml4M2Z2KHVuaWZvcm1Mb2NhdGlvbiwgZmFsc2UsIGZsb2F0MzJhcnJheSkgd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybU1hdHJpeDNmdih1bmlmb3JtTG9jYXRp
b24sIGZhbHNlLCBbMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMF0pIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm1NYXRyaXg0ZnYodW5pZm9ybUxvY2F0aW9uLCBm
YWxzZSwgZmxvYXQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBn
bC51bmlmb3JtTWF0cml4NGZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmFsc2UsIFswLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUi4KK1BBU1MgZ2wudXNlUHJvZ3JhbShwcm9ncmFtKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC52YWxpZGF0ZVByb2dyYW0ocHJvZ3JhbSkgd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliMWYoMCwgMCkgd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliMWZ2KDAsIGZsb2F0MzJh
cnJheSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmli
MWZ2KDAsIFswXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4
QXR0cmliMmYoMCwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wu
dmVydGV4QXR0cmliMmZ2KDAsIGZsb2F0MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliMmZ2KDAsIFswLCAwXSkgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliM2YoMCwgMCwgMCwgMCkgd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliM2Z2KDAsIGZsb2F0
MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0
cmliM2Z2KDAsIFswLCAwLCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1Mg
Z2wudmVydGV4QXR0cmliNGYoMCwgMCwgMCwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliNGZ2KDAsIGZsb2F0MzJhcnJheSkgd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmliNGZ2KDAsIFswLCAwLCAw
LCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudmVydGV4QXR0cmli
UG9pbnRlcigwLCAwLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLnZpZXdwb3J0KDAsIDAsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IuCitQQVNTIGdsLmNyZWF0ZUJ1ZmZlcigpIGlzIG51bGwKK1BBU1MgZ2wuY3Jl
YXRlRnJhbWVidWZmZXIoKSBpcyBudWxsCitQQVNTIGdsLmNyZWF0ZVByb2dyYW0oKSBpcyBudWxs
CitQQVNTIGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIGlzIG51bGwKK1BBU1MgZ2wuY3JlYXRlU2hh
ZGVyKGdsLkdMX1ZFUlRFWF9TSEFERVIpIGlzIG51bGwKK1BBU1MgZ2wuY3JlYXRlVGV4dHVyZSgp
IGlzIG51bGwKK1BBU1MgZ2wuZ2V0QWN0aXZlQXR0cmliKHByb2dyYW0sIDApIGlzIG51bGwKK1BB
U1MgZ2wuZ2V0QWN0aXZlVW5pZm9ybShwcm9ncmFtLCAwKSBpcyBudWxsCitQQVNTIGdsLmdldEF0
dGFjaGVkU2hhZGVycyhwcm9ncmFtKSBpcyBudWxsCitQQVNTIGdsLmdldEJ1ZmZlclBhcmFtZXRl
cihnbC5BUlJBWV9CVUZGRVIsIGdsLkJVRkZFUl9TSVpFKSBpcyBudWxsCitQQVNTIGdsLmdldENv
bnRleHRBdHRyaWJ1dGVzKCkgaXMgbnVsbAorUEFTUyBnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1l
bnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5GUkFN
RUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FKSBpcyBudWxsCitQQVNTIGdsLmdldFBhcmFt
ZXRlcihnbC5DVVJSRU5UX1BST0dSQU0pIGlzIG51bGwKK1BBU1MgZ2wuZ2V0UHJvZ3JhbUluZm9M
b2cocHJvZ3JhbSkgaXMgbnVsbAorUEFTUyBnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2dyYW0s
IGdsLkxJTktfU1RBVFVTKSBpcyBudWxsCitQQVNTIGdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRl
cihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9XSURUSCkgaXMgbnVsbAorUEFTUyBn
bC5nZXRTaGFkZXJJbmZvTG9nKHNoYWRlcikgaXMgbnVsbAorUEFTUyBnbC5nZXRTaGFkZXJQYXJh
bWV0ZXIoc2hhZGVyLCBnbC5TSEFERVJfVFlQRSkgaXMgbnVsbAorUEFTUyBnbC5nZXRTaGFkZXJT
b3VyY2Uoc2hhZGVyKSBpcyBudWxsCitQQVNTIGdsLmdldFRleFBhcmFtZXRlcihnbC5URVhUVVJF
XzJELCBnbC5URVhUVVJFX1dSQVBfUykgaXMgbnVsbAorUEFTUyBnbC5nZXRVbmlmb3JtKHByb2dy
YW0sIHVuaWZvcm1Mb2NhdGlvbikgaXMgbnVsbAorUEFTUyBnbC5nZXRVbmlmb3JtTG9jYXRpb24o
cHJvZ3JhbSwgJ3ZQb3NpdGlvbicpIGlzIG51bGwKK1BBU1MgZ2wuZ2V0VmVydGV4QXR0cmliKDAs
IGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfQlVGRkVSX0JJTkRJTkcpIGlzIG51bGwKK1BBU1MgZ2wu
Z2V0U3VwcG9ydGVkRXh0ZW5zaW9ucygpIGlzIG51bGwKK1BBU1MgZ2wuZ2V0RXh0ZW5zaW9uKCdD
SFJPTUlVTV9sb3NlX2NvbnRleHQnKSBpcyBudWxsCitQQVNTIGdsLmlzQnVmZmVyKGJ1ZmZlcikg
aXMgZmFsc2UKK1BBU1MgZ2wuaXNFbmFibGVkKGdsLkJMRU5EKSBpcyBmYWxzZQorUEFTUyBnbC5p
c0ZyYW1lYnVmZmVyKGZyYW1lYnVmZmVyKSBpcyBmYWxzZQorUEFTUyBnbC5pc1Byb2dyYW0ocHJv
Z3JhbSkgaXMgZmFsc2UKK1BBU1MgZ2wuaXNSZW5kZXJidWZmZXIocmVuZGVyYnVmZmVyKSBpcyBm
YWxzZQorUEFTUyBnbC5pc1NoYWRlcihzaGFkZXIpIGlzIGZhbHNlCitQQVNTIGdsLmlzVGV4dHVy
ZSh0ZXh0dXJlKSBpcyBmYWxzZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0LXJlc3RvcmVk
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9z
dC1yZXN0b3JlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ3NjAxOWIxYzZlZmI4MTIzNDU2
MTgyNTg1MzhiYjQwYTEwMjY0NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC1yZXN0b3JlZC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzMSBAQAorVGVzdHMgYmVoYXZpb3IgdW5kZXIgYSByZXN0b3JlZCBjb250ZXh0CisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworVGVzdCB2YWxpZCBjb250ZXh0CitQQVNTIGdsLmlzQ29u
dGV4dExvc3QoKSBpcyBmYWxzZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCitQ
QVNTIHNob3VsZEJlIDI1NSwxMCwyMAorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9S
CisKK1Rlc3QgbG9zdCBjb250ZXh0CitQQVNTIGdsLmlzQ29udGV4dExvc3QoKSBpcyB0cnVlCitQ
QVNTIGdsLmdldEVycm9yKCkgaXMgZ2wuQ09OVEVYVF9MT1NUX1dFQkdMCitQQVNTIGdsLmdldEVy
cm9yKCkgaXMgZ2wuTk9fRVJST1IKKworVGVzdCByZXN0b3JlZCBjb250ZXh0CitQQVNTIGdsLmlz
Q29udGV4dExvc3QoKSBpcyBmYWxzZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9S
CitQQVNTIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04uCitQQVNTIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSkg
d2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTi4KK1BBU1MgZ2wuYmluZEJ1ZmZl
cihnbC5BUlJBWV9CVUZGRVIsIGJ1ZmZlck9iamVjdHNbMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTog
SU5WQUxJRF9PUEVSQVRJT04uCitQQVNTIHNob3VsZEJlIDI1NSwxMCwyMAorUEFTUyBnbC5nZXRF
cnJvcigpIGlzIGdsLk5PX0VSUk9SCitQQVNTIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQs
IHRleHR1cmUpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVzZVByb2dy
YW0ocHJvZ3JhbSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYmluZEJ1
ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJ1ZmZlck9iamVjdHNbMF0pIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IuCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250
ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2Nv
bnRleHQtbG9zdC1yZXN0b3JlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlMDQ3YmJkMTMzZWU4NmEzYzcz
YTcwZDY3MGE5Y2MwODAyYjE3NWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbApAQCAtMCwwICsxLDEzMCBA
QAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
d2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRl
c3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGls
czsKK3ZhciBjYW52YXM7Cit2YXIgZ2w7Cit2YXIgc2hvdWxkR2VuZXJhdGVHTEVycm9yOwordmFy
IGV4dGVuc2lvbl9uYW1lID0gIkNIUk9NSVVNX2xvc2VfY29udGV4dCI7Cit2YXIgZXh0ZW5zaW9u
OwordmFyIGJ1ZmZlck9iamVjdHM7Cit2YXIgcHJvZ3JhbTsKK3ZhciB0ZXh0dXJlOwordmFyIHRl
eENvbG9yID0gWzI1NSwgMTAsIDIwLCAyNTVdOworCitmdW5jdGlvbiBpbml0KCkKK3sKKyAgICBp
ZiAod2luZG93LmluaXROb25LaHJvbm9zRnJhbWV3b3JrKSB7CisgICAgICAgIHdpbmRvdy5pbml0
Tm9uS2hyb25vc0ZyYW1ld29yayh0cnVlKTsKKyAgICB9CisKKyAgICBkZXNjcmlwdGlvbigiVGVz
dHMgYmVoYXZpb3IgdW5kZXIgYSByZXN0b3JlZCBjb250ZXh0Iik7CisKKyAgICBjYW52YXMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7CisgICAgY2FudmFzLmFkZEV2ZW50TGlz
dGVuZXIoIndlYmdsY29udGV4dGxvc3QiLCB0ZXN0TG9zdENvbnRleHQpOworICAgIGNhbnZhcy5h
ZGRFdmVudExpc3RlbmVyKCJ3ZWJnbGNvbnRleHRyZXN0b3JlZCIsIHRlc3RSZXN0b3JlZENvbnRl
eHQpOworCisgICAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7CisgICAgc2hvdWxk
R2VuZXJhdGVHTEVycm9yID0gd3R1LnNob3VsZEdlbmVyYXRlR0xFcnJvcjsKKworICAgIGV4dGVu
c2lvbiA9IGdsLmdldEV4dGVuc2lvbihleHRlbnNpb25fbmFtZSk7CisgICAgaWYgKCFleHRlbnNp
b24pIHsKKyAgICAgICAgZGVidWcoZXh0ZW5zaW9uX25hbWUgKyAiIGV4dGVuc2lvbiBub3QgZm91
bmQuIik7CisgICAgICAgIGZpbmlzaCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
dGVzdE9yaWdpbmFsQ29udGV4dCgpOworICAgIGV4dGVuc2lvbi5sb3NlQ29udGV4dCgpOworfQor
CitmdW5jdGlvbiB0ZXN0UmVuZGVyaW5nKCkKK3sKKyAgICBnbC5jbGVhckNvbG9yKDAsIDAsIDAs
IDI1NSk7CisgICAgZ2wuY29sb3JNYXNrKDEsIDEsIDEsIDApOworICAgIGdsLmNsZWFyKGdsLkNP
TE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKworICAgIHByb2dyYW0gPSB3
dHUuc2V0dXBTaW1wbGVUZXh0dXJlUHJvZ3JhbShnbCk7CisgICAgYnVmZmVyT2JqZWN0cyA9IHd0
dS5zZXR1cFVuaXRRdWFkKGdsKTsKKyAgICB0ZXh0dXJlID0gd3R1LmNyZWF0ZUNvbG9yZWRUZXh0
dXJlKGdsLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQsIHRleENvbG9yKTsKKworICAgIGds
LnVuaWZvcm0xaShnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInRleCIpLCAwKTsKKyAg
ICB3dHUuZHJhd1F1YWQoZ2wsIFswLCAwLCAwLCAyNTVdKTsKKworICAgIHZhciBjb21wYXJlID0g
dGV4Q29sb3Iuc2xpY2UoMCwgMyk7CisgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwg
Y2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0LCBjb21wYXJlLCAic2hvdWxkQmUgIiArIGNvbXBh
cmUpOworCisgICAgc2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAiZ2wuTk9fRVJST1IiKTsKK30K
KworZnVuY3Rpb24gdGVzdE9yaWdpbmFsQ29udGV4dCgpCit7CisgICAgZGVidWcoIlRlc3QgdmFs
aWQgY29udGV4dCIpOworICAgIHNob3VsZEJlRmFsc2UoImdsLmlzQ29udGV4dExvc3QoKSIpOwor
ICAgIHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7CisgICAgdGVzdFJl
bmRlcmluZygpOworICAgIGRlYnVnKCIiKTsKK30KKworZnVuY3Rpb24gdGVzdExvc3RDb250ZXh0
KCkKK3sKKyAgICBkZWJ1ZygiVGVzdCBsb3N0IGNvbnRleHQiKTsKKyAgICBzaG91bGRCZVRydWUo
ImdsLmlzQ29udGV4dExvc3QoKSIpOworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImds
LkNPTlRFWFRfTE9TVF9XRUJHTCIpOworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImds
Lk5PX0VSUk9SIik7CisgICAgZGVidWcoIiIpOworfQorCitmdW5jdGlvbiB0ZXN0UmVzb3VyY2Vz
KGV4cGVjdGVkKQoreworICAgIHZhciB0ZXN0cyA9IFsKKyAgICAgICAgImdsLmJpbmRUZXh0dXJl
KGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpIiwKKyAgICAgICAgImdsLnVzZVByb2dyYW0ocHJvZ3Jh
bSkiLAorICAgICAgICAiZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJ1ZmZlck9iamVj
dHNbMF0pIiwKKyAgICBdOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7
ICsraSkKKyAgICAgICAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBleHBlY3RlZCwgdGVzdHNb
aV0pOworfQorCitmdW5jdGlvbiB0ZXN0UmVzdG9yZWRDb250ZXh0KCkKK3sKKyAgICBkZWJ1Zygi
VGVzdCByZXN0b3JlZCBjb250ZXh0Iik7CisgICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNDb250ZXh0
TG9zdCgpIik7CisgICAgc2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAiZ2wuTk9fRVJST1IiKTsK
KworICAgIC8vIFZhbGlkYXRlIHRoYXQgdXNpbmcgb2xkIHJlc291cmNlcyBmYWlscy4KKyAgICB0
ZXN0UmVzb3VyY2VzKGdsLklOVkFMSURfT1BFUkFUSU9OKTsKKworICAgIHRlc3RSZW5kZXJpbmco
KTsKKworICAgIC8vIFZhbGlkYXRlIG5ldyByZXNvdXJjZXMgY3JlYXRlZCBpbiB0ZXN0UmVuZGVy
aW5nKCkuCisgICAgdGVzdFJlc291cmNlcyhnbC5OT19FUlJPUik7CisgICAgZGVidWcoIiIpOwor
CisgICAgZmluaXNoKCk7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaCgpIHsKKyAgICBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworICAgIHZhciBlcGlsb2d1ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInNjcmlwdCIpOworICAgIGVwaWxvZ3VlLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAg
ICBpZiAod2luZG93Lm5vbktocm9ub3NGcmFtZXdvcmtOb3RpZnlEb25lKQorICAgICAgICAgICAg
d2luZG93Lm5vbktocm9ub3NGcmFtZXdvcmtOb3RpZnlEb25lKCk7CisgICAgfTsKKyAgICBlcGls
b2d1ZS5zcmMgPSAiLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI7CisgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChlcGlsb2d1ZSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSJpbml0KCkiPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSIxcHgi
IGhlaWdodD0iMXB4Ij48L2NhbnZhcz4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzJjODk0
YTljNDdhZTdmMzQyNWU3MTBmNzhkNzNjZDE1OGMwYjk5YgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC5odG1sCkBAIC0wLDAgKzEs
MzEyIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2Vi
Z2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordmFyIHd0dTsKK3ZhciBjYW52
YXM7Cit2YXIgZ2w7Cit2YXIgc2hvdWxkR2VuZXJhdGVHTEVycm9yOwordmFyIGV4dGVuc2lvbl9u
YW1lID0gIkNIUk9NSVVNX2xvc2VfY29udGV4dCI7Cit2YXIgZXh0ZW5zaW9uOworCit2YXIgYnVm
ZmVyOwordmFyIGZyYW1lYnVmZmVyOwordmFyIHByb2dyYW07Cit2YXIgcmVuZGVyYnVmZmVyOwor
dmFyIHNoYWRlcjsKK3ZhciB0ZXh0dXJlOwordmFyIHVuaWZvcm1Mb2NhdGlvbjsKK3ZhciBhcnJh
eUJ1ZmZlcjsKK3ZhciBhcnJheUJ1ZmZlclZpZXcKK3ZhciBpbWFnZTsKK3ZhciB2aWRlbzsKK3Zh
ciBjYW52YXMyZDsKK3ZhciBjdHgyZDsKK3ZhciBpbWFnZURhdGE7Cit2YXIgZmxvYXQzMmFycmF5
OwordmFyIGludDMyYXJyYXk7CisKK2Z1bmN0aW9uIGluaXQoKQoreworICAgIHd0dSA9IFdlYkdM
VGVzdFV0aWxzOworICAgIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMi
KTsKKyAgICBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzKTsKKyAgICBzaG91bGRHZW5l
cmF0ZUdMRXJyb3IgPSB3dHUuc2hvdWxkR2VuZXJhdGVHTEVycm9yOworCisgICAgZGVzY3JpcHRp
b24oIlRlc3RzIGJlaGF2aW9yIHVuZGVyIGEgbG9zdCBjb250ZXh0Iik7CisKKyAgICBpZiAod2lu
ZG93LmluaXROb25LaHJvbm9zRnJhbWV3b3JrKSB7CisgICAgICAgIHdpbmRvdy5pbml0Tm9uS2hy
b25vc0ZyYW1ld29yayh0cnVlKTsKKyAgICB9CisKKyAgICBleHRlbnNpb24gPSBnbC5nZXRFeHRl
bnNpb24oZXh0ZW5zaW9uX25hbWUpOworICAgIGlmICghZXh0ZW5zaW9uKSB7CisgICAgICAgIGRl
YnVnKGV4dGVuc2lvbl9uYW1lICsgIiBleHRlbnNpb24gbm90IGZvdW5kLiIpOworICAgICAgICBm
aW5pc2goKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGNhbnZhcy5hZGRFdmVudExp
c3RlbmVyKCJ3ZWJnbGNvbnRleHRsb3N0IiwgdGVzdExvc3RDb250ZXh0KTsKKworICAgIHRlc3RW
YWxpZENvbnRleHQoKTsKKyAgICBsb3NlQ29udGV4dCgpOworfQorCitmdW5jdGlvbiBsb3NlQ29u
dGV4dCgpCit7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJMb3NlIGNvbnRleHQiKTsKKyAg
ICBkZWJ1ZygiIik7CisKKyAgICBleHRlbnNpb24ubG9zZUNvbnRleHQoKTsKK30KKworZnVuY3Rp
b24gdGVzdFZhbGlkQ29udGV4dCgpCit7CisgICAgZGVidWcoIlRlc3QgdmFsaWQgY29udGV4dCIp
OworCisgICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNDb250ZXh0TG9zdCgpIik7CisKKyAgICBhcnJh
eUJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcig0KTsKKyAgICBhcnJheUJ1ZmZlclZpZXcgPSBuZXcg
SW50OEFycmF5KGFycmF5QnVmZmVyKTsKKworICAgIC8vIEdlbmVyYXRlIHJlc291cmNlcyBmb3Ig
dGVzdGluZy4KKyAgICBidWZmZXIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgICBnbC5iaW5kQnVm
ZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyKTsKKyAgICBmcmFtZWJ1ZmZlciA9IGdsLmNyZWF0
ZUZyYW1lYnVmZmVyKCk7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBm
cmFtZWJ1ZmZlcik7CisgICAgcHJvZ3JhbSA9IHd0dS5zZXR1cFNpbXBsZVRleHR1cmVQcm9ncmFt
KGdsKTsKKyAgICByZW5kZXJidWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKTsKKyAgICBn
bC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgcmVuZGVyYnVmZmVyKTsKKyAgICBz
aGFkZXIgPSBnbC5jcmVhdGVTaGFkZXIoZ2wuVkVSVEVYX1NIQURFUik7CisgICAgdGV4dHVyZSA9
IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0
ZXh0dXJlKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0RXJyb3IoKSIsICJnbC5OT19FUlJPUiIpOwor
CisgICAgLy8gVGVzdCBpcyBxdWVyaWVzIHRoYXQgd2lsbCBsYXRlciBiZSBmYWxzZQorICAgIHNo
b3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5lbmFibGUoZ2wuQkxFTkQp
Iik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc0J1ZmZlcihidWZmZXIpIik7CisgICAgc2hvdWxk
QmVUcnVlKCJnbC5pc0VuYWJsZWQoZ2wuQkxFTkQpIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5p
c0ZyYW1lYnVmZmVyKGZyYW1lYnVmZmVyKSIpOworICAgIHNob3VsZEJlVHJ1ZSgiZ2wuaXNQcm9n
cmFtKHByb2dyYW0pIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc1JlbmRlcmJ1ZmZlcihyZW5k
ZXJidWZmZXIpIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc1NoYWRlcihzaGFkZXIpIik7Cisg
ICAgc2hvdWxkQmVUcnVlKCJnbC5pc1RleHR1cmUodGV4dHVyZSkiKTsKK30KKworZnVuY3Rpb24g
dGVzdExvc3RDb250ZXh0KCkKK3sKKyAgICBkZWJ1ZygiVGVzdCBsb3N0IGNvbnRleHQiKTsKKyAg
ICAvLyBGdW5jdGlvbnMgd2l0aCBzcGVjaWFsIHJldHVybiB2YWx1ZXMuCisgICAgc2hvdWxkQmVU
cnVlKCJnbC5pc0NvbnRleHRMb3N0KCkiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0RXJyb3IoKSIs
ICJnbC5DT05URVhUX0xPU1RfV0VCR0wiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0RXJyb3IoKSIs
ICJnbC5OT19FUlJPUiIpOworICAgIHNob3VsZEJlKCJnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVz
KGdsLkZSQU1FQlVGRkVSKSIsICJnbC5GUkFNRUJVRkZFUl9VTlNVUFBPUlRFRCIpOworICAgIHNo
b3VsZEJlKCJnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAndV9tb2RlbFZpZXdQcm9qTWF0
cml4JykiLCAiLTEiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0VmVydGV4QXR0cmliT2Zmc2V0KDAs
IGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfUE9JTlRFUikiLCAiMCIpOworCisgICAgaW1hZ2UgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWFnZSIpOworICAgIHZpZGVvID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgidmlkZW8iKTsKKyAgICBjYW52YXMyZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImNhbnZhcyIpOworICAgIGN0eDJkID0gY2FudmFzMmQuZ2V0Q29udGV4dCgiMmQiKTsKKyAg
ICBpbWFnZURhdGEgPSBjdHgyZC5jcmVhdGVJbWFnZURhdGEoMSwgMSk7CisgICAgZmxvYXQzMmFy
cmF5ID0gbmV3IEZsb2F0MzJBcnJheSgxKTsKKyAgICBpbnQzMmFycmF5ID0gbmV3IEludDMyQXJy
YXkoMSk7CisKKyAgICAvLyBGdW5jdGlvbnMgcmV0dXJuaW5nIHZvaWQgc2hvdWxkIHJldHVybiBp
bW1lZGlhdGVseS4KKyAgICAvLyBUaGlzIGlzIHVudGVzdGFibGUsIGJ1dCB3ZSBjYW4gYXQgbGVh
c3QgYmUgc3VyZSB0aGV5IGNhdXNlIG5vIGVycm9ycworICAgIC8vIGFuZCB0aGUgY29kZXBhdGhz
IGFyZSBleGVyY2lzZWQuCisgICAgdmFyIHZvaWRUZXN0cyA9IFsKKyAgICAgICAgImdsLmFjdGl2
ZVRleHR1cmUoZ2wuVEVYVFVSRTApIiwKKyAgICAgICAgImdsLmF0dGFjaFNoYWRlcihwcm9ncmFt
LCBzaGFkZXIpIiwKKyAgICAgICAgImdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWZm
ZXIpIiwKKyAgICAgICAgImdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZnJhbWVi
dWZmZXIpIiwKKyAgICAgICAgImdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBy
ZW5kZXJidWZmZXIpIiwKKyAgICAgICAgImdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRl
eHR1cmUpIiwKKyAgICAgICAgImdsLmJsZW5kQ29sb3IoMS4wLCAxLjAsIDEuMCwgMS4wKSIsCisg
ICAgICAgICJnbC5ibGVuZEVxdWF0aW9uKGdsLkZVTkNfQUREKSIsCisgICAgICAgICJnbC5ibGVu
ZEVxdWF0aW9uU2VwYXJhdGUoZ2wuRlVOQ19BREQsIGdsLkZVTkNfQUREKSIsCisgICAgICAgICJn
bC5ibGVuZEZ1bmMoZ2wuT05FKSIsCisgICAgICAgICJnbC5ibGVuZEZ1bmNTZXBhcmF0ZShnbC5P
TkUsIGdsLk9ORSkiLAorICAgICAgICAiZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIDAs
IGdsLlNUQVRJQ19EUkFXKSIsCisgICAgICAgICJnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZF
UiwgYXJyYXlCdWZmZXJWaWV3LCBnbC5TVEFUSUNfRFJBVykiLAorICAgICAgICAiZ2wuYnVmZmVy
RGF0YShnbC5BUlJBWV9CVUZGRVIsIGFycmF5QnVmZmVyLCBnbC5TVEFUSUNfRFJBVykiLAorICAg
ICAgICAiZ2wuYnVmZmVyU3ViRGF0YShnbC5BUlJBWV9CVUZGUkUsIDAsIGFycmF5QnVmZmVyVmll
dykiLAorICAgICAgICAiZ2wuYnVmZmVyU3ViRGF0YShnbC5BUlJBWV9CVUZGUkUsIDAsIGFycmF5
QnVmZmVyKSIsCisgICAgICAgICJnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKSIsCisgICAg
ICAgICJnbC5jbGVhckNvbG9yKDEsIDEsIDEsIDEpIiwKKyAgICAgICAgImdsLmNsZWFyRGVwdGgo
MSkiLAorICAgICAgICAiZ2wuY2xlYXJTdGVuY2lsKDApIiwKKyAgICAgICAgImdsLmNvbG9yTWFz
aygxLCAxLCAxLCAxKSIsCisgICAgICAgICJnbC5jb21waWxlU2hhZGVyKHNoYWRlcikiLAorICAg
ICAgICAiZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwgMCwg
MCwgMCwgMCkiLAorICAgICAgICAiZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCkiLAorICAgICAgICAiZ2wuY3VsbEZhY2UoZ2wuRlJPTlQpIiwK
KyAgICAgICAgImdsLmRlbGV0ZUJ1ZmZlcihidWZmZXIpIiwKKyAgICAgICAgImdsLmRlbGV0ZUZy
YW1lYnVmZmVyKGZyYW1lYnVmZmVyKSIsCisgICAgICAgICJnbC5kZWxldGVQcm9ncmFtKHByb2dy
YW0pIiwKKyAgICAgICAgImdsLmRlbGV0ZVJlbmRlcmJ1ZmZlcihyZW5kZXJidWZmZXIpIiwKKyAg
ICAgICAgImdsLmRlbGV0ZVNoYWRlcihzaGFkZXIpIiwKKyAgICAgICAgImdsLmRlbGV0ZVRleHR1
cmUodGV4dHVyZSkiLAorICAgICAgICAiZ2wuZGVwdGhGdW5jKGdsLk5FVkVSKSIsCisgICAgICAg
ICJnbC5kZXB0aE1hc2soMCkiLAorICAgICAgICAiZ2wuZGVwdGhSYW5nZSgwLCAxKSIsCisgICAg
ICAgICJnbC5kZXRhY2hTaGFkZXIocHJvZ3JhbSwgc2hhZGVyKSIsCisgICAgICAgICJnbC5kaXNh
YmxlKGdsLkJMRU5EKSIsCisgICAgICAgICJnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoMCki
LAorICAgICAgICAiZ2wuZHJhd0FycmF5cyhnbC5QT0lOVFMsIDAsIDApIiwKKyAgICAgICAgImds
LmRyYXdFbGVtZW50cyhnbC5QT0lOVFMsIDAsIGdsLlVOU0lHTkVEX1NIT1JULCAwKSIsCisgICAg
ICAgICJnbC5lbmFibGUoZ2wuQkxFTkQpIiwKKyAgICAgICAgImdsLmVuYWJsZVZlcnRleEF0dHJp
YkFycmF5KDApIiwKKyAgICAgICAgImdsLmZpbmlzaCgpIiwKKyAgICAgICAgImdsLmZsdXNoKCki
LAorICAgICAgICAiZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGds
LkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIHJlbmRlcmJ1ZmZlcikiLAorICAg
ICAgICAiZ2wuZnJhbWVidWZmZXJUZXh0dXJlMkQoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FU
VEFDSE1FTlQwLCBnbC5URVhUVVJFXzJELCB0ZXh0dXJlLCAwKSIsCisgICAgICAgICJnbC5mcm9u
dEZhY2UoZ2wuQ1cpIiwKKyAgICAgICAgImdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfMkQp
IiwKKyAgICAgICAgImdsLmhpbnQoZ2wuR0VORVJBVEVfTUlQTUFQX0hJTlQsIGdsLkZBU1RFU1Qp
IiwKKyAgICAgICAgImdsLmxpbmVXaWR0aCgwKSIsCisgICAgICAgICJnbC5saW5rUHJvZ3JhbShw
cm9ncmFtKSIsCisgICAgICAgICJnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfRkxJUF9ZX1dFQkdM
LCAwKSIsCisgICAgICAgICJnbC5wb2x5Z29uT2Zmc2V0KDAsIDApIiwKKyAgICAgICAgImdsLnJl
YWRQaXhlbHMoMCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYXJyYXlCdWZm
ZXJWaWV3KSIsCisgICAgICAgICJnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZF
UiwgZ2wuUkdCQTQsIDAsIDApIiwKKyAgICAgICAgImdsLnNhbXBsZUNvdmVyYWdlKDAsIDApIiwK
KyAgICAgICAgImdsLnNjaXNzb3IoMCwgMCwgMCwgMCkiLAorICAgICAgICAiZ2wuc2hhZGVyU291
cmNlKHNoYWRlciwgJycpIiwKKyAgICAgICAgImdsLnN0ZW5jaWxGdW5jKGdsLk5FVkVSLCAwLCAw
KSIsCisgICAgICAgICJnbC5zdGVuY2lsRnVuY1NlcGFyYXRlKGdsLkZST05ULCBnbC5ORVZFUiwg
MCwgMCkiLAorICAgICAgICAiZ2wuc3RlbmNpbE1hc2soMCkiLAorICAgICAgICAiZ2wuc3RlbmNp
bE1hc2tTZXBhcmF0ZShnbC5GUk9OVCwgMCkiLAorICAgICAgICAiZ2wuc3RlbmNpbE9wKGdsLktF
RVAsIGdsLktFRVAsIGdsLktFRVApIiwKKyAgICAgICAgImdsLnN0ZW5jaWxPcFNlcGFyYXRlKGds
LkZST05ULCBnbC5LRUVQLCBnbC5LRUVQLCBnbC5LRUVQKSIsCisgICAgICAgICJnbC50ZXhJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lH
TkVEX0JZVEUsIGFycmF5QnVmZmVyVmlldykiLAorICAgICAgICAiZ2wudGV4SW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZURh
dGEpIiwKKyAgICAgICAgImdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwg
Z2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2UpIiwKKyAgICAgICAgImdsLnRleEltYWdl
MkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwg
Y2FudmFzKSIsCisgICAgICAgICJnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJH
QkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVvKSIsCisgICAgICAgICJnbC50ZXhQ
YXJhbWV0ZXJmKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVT
VCkiLAorICAgICAgICAiZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJF
X01JTl9GSUxURVIsIGdsLk5FQVJFU1QpIiwKKyAgICAgICAgImdsLnRleFN1YkltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgMCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYXJy
YXlCdWZmZXJWaWV3KSIsCisgICAgICAgICJnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltYWdlRGF0YSkiLAorICAgICAg
ICAiZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5V
TlNJR05FRF9CWVRFLCBpbWFnZSkiLAorICAgICAgICAiZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjYW52YXMpIiwKKyAg
ICAgICAgImdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwg
Z2wuVU5TSUdORURfQllURSwgdmlkZW8pIiwKKyAgICAgICAgImdsLnVuaWZvcm0xZih1bmlmb3Jt
TG9jYXRpb24sIDApIiwKKyAgICAgICAgImdsLnVuaWZvcm0xZnYodW5pZm9ybUxvY2F0aW9uLCBm
bG9hdDMyYXJyYXkpIiwKKyAgICAgICAgImdsLnVuaWZvcm0xZnYodW5pZm9ybUxvY2F0aW9uLCBb
MF0pIiwKKyAgICAgICAgImdsLnVuaWZvcm0xaSh1bmlmb3JtTG9jYXRpb24sIDApIiwKKyAgICAg
ICAgImdsLnVuaWZvcm0xaXYodW5pZm9ybUxvY2F0aW9uLCBpbnQzMmFycmF5KSIsCisgICAgICAg
ICJnbC51bmlmb3JtMWl2KHVuaWZvcm1Mb2NhdGlvbiwgWzBdKSIsCisgICAgICAgICJnbC51bmlm
b3JtMmYodW5pZm9ybUxvY2F0aW9uLCAwLCAwKSIsCisgICAgICAgICJnbC51bmlmb3JtMmZ2KHVu
aWZvcm1Mb2NhdGlvbiwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC51bmlmb3JtMmZ2KHVu
aWZvcm1Mb2NhdGlvbiwgWzAsIDBdKSIsCisgICAgICAgICJnbC51bmlmb3JtMmkodW5pZm9ybUxv
Y2F0aW9uLCAwLCAwKSIsCisgICAgICAgICJnbC51bmlmb3JtMml2KHVuaWZvcm1Mb2NhdGlvbiwg
aW50MzJhcnJheSkiLAorICAgICAgICAiZ2wudW5pZm9ybTJpdih1bmlmb3JtTG9jYXRpb24sIFsw
LCAwXSkiLAorICAgICAgICAiZ2wudW5pZm9ybTNmKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCwgMCki
LAorICAgICAgICAiZ2wudW5pZm9ybTNmdih1bmlmb3JtTG9jYXRpb24sIGZsb2F0MzJhcnJheSki
LAorICAgICAgICAiZ2wudW5pZm9ybTNmdih1bmlmb3JtTG9jYXRpb24sIFswLCAwLCAwXSkiLAor
ICAgICAgICAiZ2wudW5pZm9ybTNpKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCwgMCkiLAorICAgICAg
ICAiZ2wudW5pZm9ybTNpdih1bmlmb3JtTG9jYXRpb24sIGludDMyYXJyYXkpIiwKKyAgICAgICAg
ImdsLnVuaWZvcm0zaXYodW5pZm9ybUxvY2F0aW9uLCBbMCwgMCwgMF0pIiwKKyAgICAgICAgImds
LnVuaWZvcm00Zih1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDAsIDApIiwKKyAgICAgICAgImdsLnVu
aWZvcm00ZnYodW5pZm9ybUxvY2F0aW9uLCBmbG9hdDMyYXJyYXkpIiwKKyAgICAgICAgImdsLnVu
aWZvcm00ZnYodW5pZm9ybUxvY2F0aW9uLCBbMCwgMCwgMCwgMF0pIiwKKyAgICAgICAgImdsLnVu
aWZvcm00aSh1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDAsIDApIiwKKyAgICAgICAgImdsLnVuaWZv
cm00aXYodW5pZm9ybUxvY2F0aW9uLCBpbnQzMmFycmF5KSIsCisgICAgICAgICJnbC51bmlmb3Jt
NGl2KHVuaWZvcm1Mb2NhdGlvbiwgWzAsIDAsIDAsIDBdKSIsCisgICAgICAgICJnbC51bmlmb3Jt
TWF0cml4MmZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmFsc2UsIGZsb2F0MzJhcnJheSkiLAorICAgICAg
ICAiZ2wudW5pZm9ybU1hdHJpeDJmdih1bmlmb3JtTG9jYXRpb24sIGZhbHNlLCBbMCwgMCwgMCwg
MF0pIiwKKyAgICAgICAgImdsLnVuaWZvcm1NYXRyaXgzZnYodW5pZm9ybUxvY2F0aW9uLCBmYWxz
ZSwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC51bmlmb3JtTWF0cml4M2Z2KHVuaWZvcm1M
b2NhdGlvbiwgZmFsc2UsIFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSkiLAorICAgICAgICAi
Z2wudW5pZm9ybU1hdHJpeDRmdih1bmlmb3JtTG9jYXRpb24sIGZhbHNlLCBmbG9hdDMyYXJyYXkp
IiwKKyAgICAgICAgImdsLnVuaWZvcm1NYXRyaXg0ZnYodW5pZm9ybUxvY2F0aW9uLCBmYWxzZSwg
WzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDBdKSIsCisgICAg
ICAgICJnbC51c2VQcm9ncmFtKHByb2dyYW0pIiwKKyAgICAgICAgImdsLnZhbGlkYXRlUHJvZ3Jh
bShwcm9ncmFtKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIxZigwLCAwKSIsCisgICAgICAg
ICJnbC52ZXJ0ZXhBdHRyaWIxZnYoMCwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC52ZXJ0
ZXhBdHRyaWIxZnYoMCwgWzBdKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIyZigwLCAwLCAw
KSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIyZnYoMCwgZmxvYXQzMmFycmF5KSIsCisgICAg
ICAgICJnbC52ZXJ0ZXhBdHRyaWIyZnYoMCwgWzAsIDBdKSIsCisgICAgICAgICJnbC52ZXJ0ZXhB
dHRyaWIzZigwLCAwLCAwLCAwKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIzZnYoMCwgZmxv
YXQzMmFycmF5KSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIzZnYoMCwgWzAsIDAsIDBdKSIs
CisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWI0ZigwLCAwLCAwLCAwLCAwKSIsCisgICAgICAgICJn
bC52ZXJ0ZXhBdHRyaWI0ZnYoMCwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC52ZXJ0ZXhB
dHRyaWI0ZnYoMCwgWzAsIDAsIDAsIDBdKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWJQb2lu
dGVyKDAsIDAsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCkiLAorICAgICAgICAiZ2wudmlld3BvcnQo
MCwgMCwgMCwgMCkiLAorICAgIF07CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2b2lkVGVzdHMu
bGVuZ3RoOyArK2kpIHsKKyAgICAgICAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19F
UlJPUiwgdm9pZFRlc3RzW2ldKTsKKyAgICB9CisKKyAgICAvLyBGdW5jdGlvbnMgcmV0dXJuIG51
bGxhYmxlIHZhbHVlcyBzaG91bGQgYWxsIHJldHVybiBudWxsLgorICAgIHZhciBudWxsVGVzdHMg
PSBbCisgICAgICAgICJnbC5jcmVhdGVCdWZmZXIoKSIsCisgICAgICAgICJnbC5jcmVhdGVGcmFt
ZWJ1ZmZlcigpIiwKKyAgICAgICAgImdsLmNyZWF0ZVByb2dyYW0oKSIsCisgICAgICAgICJnbC5j
cmVhdGVSZW5kZXJidWZmZXIoKSIsCisgICAgICAgICJnbC5jcmVhdGVTaGFkZXIoZ2wuR0xfVkVS
VEVYX1NIQURFUikiLAorICAgICAgICAiZ2wuY3JlYXRlVGV4dHVyZSgpIiwKKyAgICAgICAgImds
LmdldEFjdGl2ZUF0dHJpYihwcm9ncmFtLCAwKSIsCisgICAgICAgICJnbC5nZXRBY3RpdmVVbmlm
b3JtKHByb2dyYW0sIDApIiwKKyAgICAgICAgImdsLmdldEF0dGFjaGVkU2hhZGVycyhwcm9ncmFt
KSIsCisgICAgICAgICJnbC5nZXRCdWZmZXJQYXJhbWV0ZXIoZ2wuQVJSQVlfQlVGRkVSLCBnbC5C
VUZGRVJfU0laRSkiLAorICAgICAgICAiZ2wuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKSIsCisgICAg
ICAgICJnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIs
IGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9O
QU1FKSIsCisgICAgICAgICJnbC5nZXRQYXJhbWV0ZXIoZ2wuQ1VSUkVOVF9QUk9HUkFNKSIsCisg
ICAgICAgICJnbC5nZXRQcm9ncmFtSW5mb0xvZyhwcm9ncmFtKSIsCisgICAgICAgICJnbC5nZXRQ
cm9ncmFtUGFyYW1ldGVyKHByb2dyYW0sIGdsLkxJTktfU1RBVFVTKSIsCisgICAgICAgICJnbC5n
ZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJf
V0lEVEgpIiwKKyAgICAgICAgImdsLmdldFNoYWRlckluZm9Mb2coc2hhZGVyKSIsCisgICAgICAg
ICJnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc2hhZGVyLCBnbC5TSEFERVJfVFlQRSkiLAorICAgICAg
ICAiZ2wuZ2V0U2hhZGVyU291cmNlKHNoYWRlcikiLAorICAgICAgICAiZ2wuZ2V0VGV4UGFyYW1l
dGVyKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TKSIsCisgICAgICAgICJnbC5nZXRV
bmlmb3JtKHByb2dyYW0sIHVuaWZvcm1Mb2NhdGlvbikiLAorICAgICAgICAiZ2wuZ2V0VW5pZm9y
bUxvY2F0aW9uKHByb2dyYW0sICd2UG9zaXRpb24nKSIsCisgICAgICAgICJnbC5nZXRWZXJ0ZXhB
dHRyaWIoMCwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9CVUZGRVJfQklORElORykiLAorICAgICAg
ICAiZ2wuZ2V0U3VwcG9ydGVkRXh0ZW5zaW9ucygpIiwKKyAgICAgICAgImdsLmdldEV4dGVuc2lv
bignIiArIGV4dGVuc2lvbl9uYW1lICsgIicpIiwKKyAgICBdOworICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgbnVsbFRlc3RzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHNob3VsZEJlTnVsbChudWxs
VGVzdHNbaV0pOworICAgIH0KKworICAgIC8vICJJcyIgcXVlcmllcyBzaG91bGQgYWxsIHJldHVy
biBmYWxzZS4KKyAgICBzaG91bGRCZUZhbHNlKCJnbC5pc0J1ZmZlcihidWZmZXIpIik7CisgICAg
c2hvdWxkQmVGYWxzZSgiZ2wuaXNFbmFibGVkKGdsLkJMRU5EKSIpOworICAgIHNob3VsZEJlRmFs
c2UoImdsLmlzRnJhbWVidWZmZXIoZnJhbWVidWZmZXIpIik7CisgICAgc2hvdWxkQmVGYWxzZSgi
Z2wuaXNQcm9ncmFtKHByb2dyYW0pIik7CisgICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNSZW5kZXJi
dWZmZXIocmVuZGVyYnVmZmVyKSIpOworICAgIHNob3VsZEJlRmFsc2UoImdsLmlzU2hhZGVyKHNo
YWRlcikiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJnbC5pc1RleHR1cmUodGV4dHVyZSkiKTsKKwor
ICAgIHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7CisKKyAgICBmaW5p
c2goKTsKK30KKworZnVuY3Rpb24gZmluaXNoKCkgeworICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7CisgICAgdmFyIGVwaWxvZ3VlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0
Iik7CisgICAgZXBpbG9ndWUub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICh3aW5k
b3cubm9uS2hyb25vc0ZyYW1ld29ya05vdGlmeURvbmUpCisgICAgICAgICAgICB3aW5kb3cubm9u
S2hyb25vc0ZyYW1ld29ya05vdGlmeURvbmUoKTsKKyAgICB9OworICAgIGVwaWxvZ3VlLnNyYyA9
ICIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIjsKKyAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGVwaWxvZ3VlKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJpbml0KCkiPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJjYW52YXMiPgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
aW5kZXggN2M2ZTNlNTlhNGQ0NWZkZjk5YTIyYWY0MDJmOTlhMjhiZDQzMWE1MC4uNzZmNWJlZTBh
MjhkZmE2N2M4MGY5YmI2N2Q5OGM5ZTg3Mzg5ZTZmZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yODMsNiArMjgzLDcg
QEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5p
ZGwKICAgICBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsCiAgICAgaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5pZGwKKyAgICBodG1sL2NhbnZhcy9DaHJv
bWl1bUxvc2VDb250ZXh0LmlkbAogICAgIGh0bWwvY2FudmFzL0RhdGFWaWV3LmlkbAogICAgIGh0
bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5pZGwKICAgICBodG1sL2NhbnZhcy9JbnQxNkFycmF5Lmlk
bApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBjMDg3YWQ2NDZiYTQwNGE5ZDRhMWE1NTE4MTdhOGFkYTZiNzQyNDUwLi45NmJhOTJlYWZmMWY0
ZWY2MWU5MjQ5YWY3MTJhMmI2OGQxZTVjMDI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEwLTEyLTIyICBB
ZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIENIUk9NSVVNX2xvc2VfY29udGV4dCBXZWJH
TCBleHRlbnNpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01MTQ5MgorCisgICAgICAgIFRlc3RzOiBmYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxv
c3QtcmVzdG9yZWQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4
dC1sb3N0Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2Vi
Q29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJv
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKFdlYkNvcmU6OkpTV2ViR0xSZW5kZXJpbmdDb250
ZXh0OjpnZXRTdXBwb3J0ZWRFeHRlbnNpb25zKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0
b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
dG9WOE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6
Z2V0U3VwcG9ydGVkRXh0ZW5zaW9uc0NhbGxiYWNrKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9D
aHJvbWl1bUxvc2VDb250ZXh0LmNwcDogQ29waWVkIGZyb20gV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTEV4dGVuc2lvbi5oLgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1Mb3NlQ29udGV4dDo6
Q2hyb21pdW1Mb3NlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bUxvc2VDb250
ZXh0Ojp+Q2hyb21pdW1Mb3NlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bUxv
c2VDb250ZXh0OjpnZXROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVtTG9zZUNvbnRl
eHQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bUxvc2VDb250ZXh0Ojpsb3Nl
Q29udGV4dCk6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5oOiBD
b3BpZWQgZnJvbSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmguCisgICAgICAg
ICogaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5pZGw6IENvcGllZCBmcm9tIFdlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9X
ZWJHTEV4dGVuc2lvbi5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OldlYkdM
UmVuZGVyaW5nQ29udGV4dFJlc3RvcmVUaW1lcjo6ZmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRTdXBwb3J0ZWRFeHRlbnNpb25zKToKKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Zm9yY2VMb3N0Q29udGV4dCk6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6Om9uTG9zdENvbnRleHQpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXROdW1iZXJPZkV4dGVuc2lv
bnMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNp
b25OdW1iZXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5o
OgorCiAyMDEwLTEyLTI4ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRl
eCBmYjEzYWZlYTc5N2ZiNDc4YTlkNzRmNmU3MDliY2RjMTI5MDhlNjhiLi42MTNjYjAxZjA3YTcx
OTU1ZTA3YjEzY2IwN2MwZjM0NzRlNThkZWFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC02OCw2ICs2
OCw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIEF1ZGlvUGFyYW0gXAogICAgIEF1ZGlvUHJvY2Vz
c2luZ0V2ZW50IFwKICAgICBBdWRpb1NvdXJjZU5vZGUgXAorICAgIENocm9taXVtTG9zZUNvbnRl
eHQgXAogICAgIENvbnZvbHZlck5vZGUgXAogICAgIERlbGF5Tm9kZSBcCiAgICAgSGlnaFBhc3My
RmlsdGVyTm9kZSBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQppbmRleCBmMTA4Zjg2MTlkYjBlNDMzOGMxYmYzYzFmMGE3YmYyNzZk
ZGE0MDBmLi40MjE3MDUwODgxZjU0YTYyOGZkNjkzMDM4Y2I0NzZjNThlNTQyOTcwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0K
QEAgLTE0NSw2ICsxNDUsOCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNDREFUQVNlY3Rpb24uaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0NoYXJhY3RlckRhdGEuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2hhcmFj
dGVyRGF0YS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2hyb21pdW1Mb3NlQ29udGV4
dC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDaHJvbWl1bUxvc2VDb250ZXh0Lmgg
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDbGllbnRSZWN0LmNwcCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0NsaWVudFJlY3QuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0NsaWVudFJlY3RMaXN0LmNwcCBcCkBAIC0xNTczLDYgKzE1NzUsOCBAQCB3ZWJjb3JlX3NvdXJj
ZXMgKz0gXAogCVdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oIFwK
IAlXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcCBcCiAJV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNTdHlsZS5oIFwKKwlXZWJDb3JlL2h0bWwvY2FudmFzL0Nocm9taXVtTG9zZUNv
bnRleHQuY3BwIFwKKwlXZWJDb3JlL2h0bWwvY2FudmFzL0Nocm9taXVtTG9zZUNvbnRleHQuaCBc
CiAJV2ViQ29yZS9odG1sL2NhbnZhcy9EYXRhVmlldy5jcHAgXAogCVdlYkNvcmUvaHRtbC9jYW52
YXMvRGF0YVZpZXcuaCBcCiAJV2ViQ29yZS9odG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuY3BwIFwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
aW5kZXggZjYyZDg4MzUxODA2MjFkMDEwMGQ1MDg3ZDg5MDYxNmU3MzlmNjhjMC4uZmQyYTU0Mjlj
MDJjMjVlNDEyNWIxZTI4MGEwZTU1NDhhZGRmODA3MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIwOCw2ICsyMDgsNyBAQAog
ICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc1BpeGVsQXJyYXkuaWRsJywKICAgICAgICAg
ICAgICdodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmlkbCcsCiAgICAgICAgICAg
ICAnaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbCcsCisgICAgICAgICAg
ICAnaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5pZGwnLAogICAgICAgICAgICAgJ2h0
bWwvY2FudmFzL0RhdGFWaWV3LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRmxvYXQz
MkFycmF5LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvSW50MTZBcnJheS5pZGwnLApA
QCAtMTkwNSw2ICsxOTA2LDggQEAKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9DYW52YXNTdHls
ZS5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmgnLAogICAgICAg
ICAgICAgJ2h0bWwvY2FudmFzL0NoZWNrZWRJbnQuaCcsCisgICAgICAgICAgICAnaHRtbC9jYW52
YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5jcHAnLAorICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0No
cm9taXVtTG9zZUNvbnRleHQuaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRGF0YVZpZXcu
Y3BwJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9EYXRhVmlldy5oJywKICAgICAgICAgICAg
ICdodG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2Vi
Q29yZS5wcmkgYi9XZWJDb3JlL1dlYkNvcmUucHJpCmluZGV4IGJjM2Y1OTUyMzgxNTExODEwNGM4
NmEzN2JkZGY4MTdmY2Y5ZDhlNzQuLjZiZjc5ZDU5N2FiNzI3NjVkZDg4MTM1OTA3YWQzNWIzODI0
M2MyZTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcmkKKysrIGIvV2ViQ29yZS9XZWJD
b3JlLnByaQpAQCAtMTg0LDYgKzE4NCw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgZmlsZWFw
aS9NZXRhZGF0YUNhbGxiYWNrLmlkbCBcCiAgICAgaHRtbC9jYW52YXMvQXJyYXlCdWZmZXJWaWV3
LmlkbCBcCiAgICAgaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuaWRsIFwKKyAgICBodG1sL2NhbnZh
cy9DaHJvbWl1bUxvc2VDb250ZXh0LmlkbCBcCiAgICAgaHRtbC9jYW52YXMvRGF0YVZpZXcuaWRs
IFwKICAgICBodG1sL2NhbnZhcy9JbnQ4QXJyYXkuaWRsIFwKICAgICBodG1sL2NhbnZhcy9GbG9h
dDMyQXJyYXkuaWRsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3Jl
L1dlYkNvcmUucHJvCmluZGV4IGFhYzc2MGEyYjcyZDgxODQ4YTdjODI0ODNjNDI5YWJkOGQ5MDY5
NjkuLmY0M2Q1NDdhNDQyNDJjNjE4ZTYwN2UwOTExY2M0YjU0ZWI5Y2QwZjkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMzc3OSw2
ICszNzc5LDcgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFXzNEX0NBTlZBUz0xKSB7CiAKICAg
ICBIRUFERVJTICs9IFwKICAgICAgICAgaHRtbC9jYW52YXMvQ2FudmFzQ29udGV4dEF0dHJpYnV0
ZXMuaCBcCisgICAgICAgIGh0bWwvY2FudmFzL0Nocm9taXVtTG9zZUNvbnRleHQuaCBcCiAgICAg
ICAgIGh0bWwvY2FudmFzL1dlYkdMT2JqZWN0LmggXAogICAgICAgICBodG1sL2NhbnZhcy9XZWJH
TEFjdGl2ZUluZm8uaCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmggXApAQCAt
MzgwMyw2ICszODA0LDcgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFXzNEX0NBTlZBUz0xKSB7
CiAgICAgfQogICAgIFNPVVJDRVMgKz0gXAogICAgICAgICBodG1sL2NhbnZhcy9DYW52YXNDb250
ZXh0QXR0cmlidXRlcy5jcHAgXAorICAgICAgICBodG1sL2NhbnZhcy9DaHJvbWl1bUxvc2VDb250
ZXh0LmNwcCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMT2JqZWN0LmNwcCBcCiAgICAgICAg
IGh0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmNwcCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdM
Q29udGV4dEF0dHJpYnV0ZXMuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggMTFkNmY2N2U3N2M5NWU3M2U4N2Q2MGJmYmRkMTZhNTlkYzVhOWE0Mi4u
NWU3MmVlYmYyZmQ3YjFhZjE0N2UwMDMyN2E5ZTdkMWMzYmRkMjQ3OSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI4MjQsNiArMjgyNCwxMCBAQAogCQk5
MzYyNjQwQjBERTExMzdEMDA5RDVBMDAgLyogQ1NTUmVmbGVjdGlvbkRpcmVjdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM2MjY0MEEwREUxMTM3
RDAwOUQ1QTAwIC8qIENTU1JlZmxlY3Rpb25EaXJlY3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5MzYzQjYyQzBGOEU4RkUwMDA4MDM4MTAg
LyogSGlzdG9yeVByb3BlcnR5TGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5MzYzQjYyQTBGOEU4RkUwMDA4MDM4MTAgLyogSGlzdG9yeVByb3Bl
cnR5TGlzdC5jcHAgKi87IH07CiAJCTkzNjNCNjJEMEY4RThGRTAwMDgwMzgxMCAvKiBIaXN0b3J5
UHJvcGVydHlMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5MzYzQjYyQjBGOEU4RkUwMDA4MDM4MTAgLyogSGlzdG9yeVByb3BlcnR5TGlzdC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTkzNzJEQUZG
MTJDMTc3QjkwMEFENjAxRSAvKiBDaHJvbWl1bUxvc2VDb250ZXh0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNzJEQUZDMTJDMTc3QjkwMEFENjAx
RSAvKiBDaHJvbWl1bUxvc2VDb250ZXh0LmNwcCAqLzsgfTsKKwkJOTM3MkRCMDAxMkMxNzdCOTAw
QUQ2MDFFIC8qIENocm9taXVtTG9zZUNvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNzJEQUZEMTJDMTc3QjkwMEFENjAxRSAvKiBDaHJvbWl1
bUxvc2VDb250ZXh0LmggKi87IH07CisJCTkzNzJEQzVGMTJDMTg3NDYwMEFENjAxRSAvKiBKU0No
cm9taXVtTG9zZUNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTM3MkRDNUQxMkMxODc0NjAwQUQ2MDFFIC8qIEpTQ2hyb21pdW1Mb3NlQ29u
dGV4dC5jcHAgKi87IH07CisJCTkzNzJEQzYwMTJDMTg3NDYwMEFENjAxRSAvKiBKU0Nocm9taXVt
TG9zZUNvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkzNzJEQzVFMTJDMTg3NDYwMEFENjAxRSAvKiBKU0Nocm9taXVtTG9zZUNvbnRleHQuaCAq
LzsgfTsKIAkJOTM3OTlFRjgwQkYyNzQzNjAwRDBGMjMwIC8qIFJlbmRlcldvcmRCcmVhay5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5Mzc5OUVGNjBC
RjI3NDM2MDBEMEYyMzAgLyogUmVuZGVyV29yZEJyZWFrLmNwcCAqLzsgfTsKIAkJOTM3OTlFRjkw
QkYyNzQzNjAwRDBGMjMwIC8qIFJlbmRlcldvcmRCcmVhay5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM3OTlFRjcwQkYyNzQzNjAwRDBGMjMwIC8qIFJl
bmRlcldvcmRCcmVhay5oICovOyB9OwogCQk5MzgwRjQ3MzA5QTExQUI0MDAxRkRCMzQgLyogV2lk
Z2V0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
ODBGNDcxMDlBMTFBQjQwMDFGREIzNCAvKiBXaWRnZXQuY3BwICovOyB9OwpAQCAtOTE2Nyw2ICs5
MTcxLDExIEBACiAJCTkzNjNCNjJBMEY4RThGRTAwMDgwMzgxMCAvKiBIaXN0b3J5UHJvcGVydHlM
aXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhpc3RvcnlQcm9w
ZXJ0eUxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzYzQjYyQjBGOEU4
RkUwMDA4MDM4MTAgLyogSGlzdG9yeVByb3BlcnR5TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBIaXN0b3J5UHJvcGVydHlMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTkzNkREMDNBMDlDRUFDMjcwMDU2QUU4QyAvKiBSYW5nZS5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gUmFuZ2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
MzcyREFGQzEyQzE3N0I5MDBBRDYwMUUgLyogQ2hyb21pdW1Mb3NlQ29udGV4dC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBDaHJvbWl1bUxvc2VDb250ZXh0LmNwcDsg
cGF0aCA9IGNhbnZhcy9DaHJvbWl1bUxvc2VDb250ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTM3MkRBRkQxMkMxNzdCOTAwQUQ2MDFFIC8qIENocm9taXVtTG9zZUNvbnRl
eHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQ2hyb21pdW1Mb3NlQ29udGV4
dC5oOyBwYXRoID0gY2FudmFzL0Nocm9taXVtTG9zZUNvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOTM3MkRBRkUxMkMxNzdCOTAwQUQ2MDFFIC8qIENocm9taXVtTG9zZUNv
bnRleHQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IENocm9taXVtTG9zZUNvbnRleHQuaWRs
OyBwYXRoID0gY2FudmFzL0Nocm9taXVtTG9zZUNvbnRleHQuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk5MzcyREM1RDEyQzE4NzQ2MDBBRDYwMUUgLyogSlNDaHJvbWl1bUxvc2VD
b250ZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ2hyb21p
dW1Mb3NlQ29udGV4dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzNzJEQzVF
MTJDMTg3NDYwMEFENjAxRSAvKiBKU0Nocm9taXVtTG9zZUNvbnRleHQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDaHJvbWl1bUxvc2VDb250ZXh0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTkzNzk5RUY2MEJGMjc0MzYwMEQwRjIzMCAvKiBSZW5kZXJXb3Jk
QnJlYWsuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyV29y
ZEJyZWFrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTM3OTlFRjcwQkYyNzQz
NjAwRDBGMjMwIC8qIFJlbmRlcldvcmRCcmVhay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBSZW5kZXJXb3JkQnJlYWsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTM4MEY0NzEwOUExMUFCNDAwMUZEQjM0IC8qIFdpZGdldC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2lkZ2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTEzMDY0LDYgKzEzMDczLDkgQEAKIAkJCQk0OTQ4NEZCNDEwMkNGMjNDMDAxODdERDMg
LyogQ2FudmFzR3JhZGllbnQuaCAqLywKIAkJCQk0OTQ4NEZCNTEwMkNGMjNDMDAxODdERDMgLyog
Q2FudmFzR3JhZGllbnQuaWRsICovLAogCQkJCTQ5NDg0RkI2MTAyQ0YyM0MwMDE4N0REMyAvKiBD
YW52YXNQYXR0ZXJuLmNwcCAqLywKKwkJCQk5MzcyREFGQzEyQzE3N0I5MDBBRDYwMUUgLyogQ2hy
b21pdW1Mb3NlQ29udGV4dC5jcHAgKi8sCisJCQkJOTM3MkRBRkQxMkMxNzdCOTAwQUQ2MDFFIC8q
IENocm9taXVtTG9zZUNvbnRleHQuaCAqLywKKwkJCQk5MzcyREFGRTEyQzE3N0I5MDBBRDYwMUUg
LyogQ2hyb21pdW1Mb3NlQ29udGV4dC5pZGwgKi8sCiAJCQkJNDk0ODRGQjcxMDJDRjIzQzAwMTg3
REQzIC8qIENhbnZhc1BhdHRlcm4uaCAqLywKIAkJCQk0OTQ4NEZCODEwMkNGMjNDMDAxODdERDMg
LyogQ2FudmFzUGF0dGVybi5pZGwgKi8sCiAJCQkJNDk0ODRGQjkxMDJDRjIzQzAwMTg3REQzIC8q
IENhbnZhc1BpeGVsQXJyYXkuY3BwICovLApAQCAtMTU3OTgsNiArMTU4MTAsOCBAQAogCQlBODNC
NzkwODBDQ0FGRjJCMDAwQjA4MjUgLyogSFRNTCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCisJCQkJOTM3MkRDNUQxMkMxODc0NjAwQUQ2MDFFIC8qIEpTQ2hyb21p
dW1Mb3NlQ29udGV4dC5jcHAgKi8sCisJCQkJOTM3MkRDNUUxMkMxODc0NjAwQUQ2MDFFIC8qIEpT
Q2hyb21pdW1Mb3NlQ29udGV4dC5oICovLAogCQkJCTQ5RUVDRUYyMTA1MDcwQzQwMDA5OUZBQiAv
KiBKU0FycmF5QnVmZmVyLmNwcCAqLywKIAkJCQk0OUVFQ0VGMzEwNTA3MEM0MDAwOTlGQUIgLyog
SlNBcnJheUJ1ZmZlci5oICovLAogCQkJCTQ5RUVDRjE5MTA1MDcyRjMwMDA5OUZBQiAvKiBKU0Fy
cmF5QnVmZmVyVmlldy5jcHAgKi8sCkBAIC0yMjIyMiw2ICsyMjIzNiw4IEBACiAJCQkJNkVCRjBF
NDkxMkE4OTI2MTAwREIxNzA5IC8qIE9FU1RleHR1cmVGbG9hdC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNkVCRjBFNTUxMkE4OTI5ODAwREIxNzA5IC8qIFdlYkdMRXh0ZW5zaW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk2RUJGMEU3NzEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQu
aCBpbiBIZWFkZXJzICovLAorCQkJCTkzNzJEQjAwMTJDMTc3QjkwMEFENjAxRSAvKiBDaHJvbWl1
bUxvc2VDb250ZXh0LmggaW4gSGVhZGVycyAqLywKKwkJCQk5MzcyREM2MDEyQzE4NzQ2MDBBRDYw
MUUgLyogSlNDaHJvbWl1bUxvc2VDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI0ODk0LDYg
KzI0OTEwLDggQEAKIAkJCQk2RUJGMEU0ODEyQTg5MjYxMDBEQjE3MDkgLyogT0VTVGV4dHVyZUZs
b2F0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTZFQkYwRTU0MTJBODkyOTgwMERCMTcwOSAvKiBX
ZWJHTEV4dGVuc2lvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RUJGMEU3NjEyQTk4Njg4MDBE
QjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTM3MkRB
RkYxMkMxNzdCOTAwQUQ2MDFFIC8qIENocm9taXVtTG9zZUNvbnRleHQuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJOTM3MkRDNUYxMkMxODc0NjAwQUQ2MDFFIC8qIEpTQ2hyb21pdW1Mb3NlQ29udGV4
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
ZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dl
YkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKaW5kZXggZTE5NjNkYTVkZDE5ODM4Y2QwOWVk
Yjc4ZWViNWZiYzJiMjhmYTQ2NC4uMWIxOGIzOWNiNjFmYjliM2IxODk4MjEyNjgwYThhNmY1MTMw
NWE5ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5n
Q29udGV4dEN1c3RvbS5jcHAKQEAgLTI5LDkgKzI5LDExIEBACiAKICNpbmNsdWRlICJKU1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5oIgogCisjaW5jbHVkZSAiQ2hyb21pdW1Mb3NlQ29udGV4dC5oIgog
I2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJIVE1MQ2FudmFzRWxlbWVudC5o
IgogI2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIKKyNpbmNsdWRlICJKU0Nocm9taXVtTG9z
ZUNvbnRleHQuaCIKICNpbmNsdWRlICJKU0hUTUxDYW52YXNFbGVtZW50LmgiCiAjaW5jbHVkZSAi
SlNIVE1MSW1hZ2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNJbWFnZURhdGEuaCIKQEAgLTE2OSw2
ICsxNzEsOCBAQCBzdGF0aWMgSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgV2ViR0xFeHRlbgogICAgIGlmICghZXh0ZW5zaW9uKQog
ICAgICAgICByZXR1cm4ganNOdWxsKCk7CiAgICAgc3dpdGNoIChleHRlbnNpb24tPmdldE5hbWUo
KSkgeworICAgIGNhc2UgV2ViR0xFeHRlbnNpb246OkNocm9taXVtTG9zZUNvbnRleHROYW1lOgor
ICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PENocm9t
aXVtTG9zZUNvbnRleHQqPihleHRlbnNpb24pKTsKICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpP
RVNUZXh0dXJlRmxvYXROYW1lOgogICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmpl
Y3QsIHN0YXRpY19jYXN0PE9FU1RleHR1cmVGbG9hdCo+KGV4dGVuc2lvbikpOwogICAgIH0KQEAg
LTMyMCw2ICszMjQsOCBAQCBKU1ZhbHVlIEpTV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRTaGFk
ZXJQYXJhbWV0ZXIoRXhlY1N0YXRlKiBleGVjKQogSlNWYWx1ZSBKU1dlYkdMUmVuZGVyaW5nQ29u
dGV4dDo6Z2V0U3VwcG9ydGVkRXh0ZW5zaW9ucyhFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0ID0gc3RhdGljX2Nhc3Q8V2ViR0xSZW5kZXJpbmdD
b250ZXh0Kj4oaW1wbCgpKTsKKyAgICBpZiAoY29udGV4dC0+aXNDb250ZXh0TG9zdCgpKQorICAg
ICAgICByZXR1cm4ganNOdWxsKCk7CiAgICAgVmVjdG9yPFN0cmluZz4gdmFsdWUgPSBjb250ZXh0
LT5nZXRTdXBwb3J0ZWRFeHRlbnNpb25zKCk7CiAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgbGlz
dDsKICAgICBmb3IgKHNpemVfdCBpaSA9IDA7IGlpIDwgdmFsdWUuc2l6ZSgpOyArK2lpKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRl
eHRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmlu
Z0NvbnRleHRDdXN0b20uY3BwCmluZGV4IDA0OGNlZjU3MzY2ZjYzYzdlMWE1YzZmNzZjMWY2YzQ0
YmI5NmZiNTYuLmEwOGQ2Yzk4NDRhOWJkNGVkN2M5ZDI4MGU4MGViOTczNjA2NWRhN2IgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0
Q3VzdG9tLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVy
aW5nQ29udGV4dEN1c3RvbS5jcHAKQEAgLTM1LDM1ICszNSwzMyBAQAogI2luY2x1ZGUgIlY4V2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmgiCiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCi0KICNp
bmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotCi0jaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4K
LQorI2luY2x1ZGUgIlY4QXJyYXlCdWZmZXJWaWV3LmgiCiAjaW5jbHVkZSAiVjhCaW5kaW5nLmgi
CiAjaW5jbHVkZSAiVjhCaW5kaW5nTWFjcm9zLmgiCi0jaW5jbHVkZSAiVjhBcnJheUJ1ZmZlclZp
ZXcuaCIKLSNpbmNsdWRlICJWOFdlYkdMQnVmZmVyLmgiCi0jaW5jbHVkZSAiVjhJbnQ4QXJyYXku
aCIKKyNpbmNsdWRlICJWOENocm9taXVtTG9zZUNvbnRleHQuaCIKICNpbmNsdWRlICJWOEZsb2F0
MzJBcnJheS5oIgotI2luY2x1ZGUgIlY4V2ViR0xGcmFtZWJ1ZmZlci5oIgotI2luY2x1ZGUgIlY4
SW50MzJBcnJheS5oIgotI2luY2x1ZGUgIlY4V2ViR0xQcm9ncmFtLmgiCi0jaW5jbHVkZSAiVjhX
ZWJHTFJlbmRlcmJ1ZmZlci5oIgotI2luY2x1ZGUgIlY4V2ViR0xTaGFkZXIuaCIKLSNpbmNsdWRl
ICJWOEludDE2QXJyYXkuaCIKLSNpbmNsdWRlICJWOFdlYkdMVGV4dHVyZS5oIgotI2luY2x1ZGUg
IlY4V2ViR0xVbmlmb3JtTG9jYXRpb24uaCIKLSNpbmNsdWRlICJWOFVpbnQ4QXJyYXkuaCIKLSNp
bmNsdWRlICJWOFVpbnQzMkFycmF5LmgiCi0jaW5jbHVkZSAiVjhVaW50MTZBcnJheS5oIgogI2lu
Y2x1ZGUgIlY4SFRNTENhbnZhc0VsZW1lbnQuaCIKICNpbmNsdWRlICJWOEhUTUxJbWFnZUVsZW1l
bnQuaCIKICNpbmNsdWRlICJWOEhUTUxWaWRlb0VsZW1lbnQuaCIKICNpbmNsdWRlICJWOEltYWdl
RGF0YS5oIgorI2luY2x1ZGUgIlY4SW50MTZBcnJheS5oIgorI2luY2x1ZGUgIlY4SW50MzJBcnJh
eS5oIgorI2luY2x1ZGUgIlY4SW50OEFycmF5LmgiCiAjaW5jbHVkZSAiVjhPRVNUZXh0dXJlRmxv
YXQuaCIKICNpbmNsdWRlICJWOFByb3h5LmgiCisjaW5jbHVkZSAiVjhVaW50MTZBcnJheS5oIgor
I2luY2x1ZGUgIlY4VWludDMyQXJyYXkuaCIKKyNpbmNsdWRlICJWOFVpbnQ4QXJyYXkuaCIKKyNp
bmNsdWRlICJWOFdlYkdMQnVmZmVyLmgiCisjaW5jbHVkZSAiVjhXZWJHTEZyYW1lYnVmZmVyLmgi
CisjaW5jbHVkZSAiVjhXZWJHTFByb2dyYW0uaCIKKyNpbmNsdWRlICJWOFdlYkdMUmVuZGVyYnVm
ZmVyLmgiCisjaW5jbHVkZSAiVjhXZWJHTFNoYWRlci5oIgorI2luY2x1ZGUgIlY4V2ViR0xUZXh0
dXJlLmgiCisjaW5jbHVkZSAiVjhXZWJHTFVuaWZvcm1Mb2NhdGlvbi5oIgogI2luY2x1ZGUgIldl
YkdMUmVuZGVyaW5nQ29udGV4dC5oIgorI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTU5LDYgKzE1Nyw5IEBAIHN0YXRpYyB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gdG9WOE9iamVjdChXZWJHTEV4dGVuc2lvbiogZXh0ZW5zaW9uLCB2ODo6SGFu
ZGxlPHY4CiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwogICAgIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBleHRlbnNpb25PYmplY3Q7CiAgICAgc3dpdGNoIChleHRlbnNpb24tPmdldE5hbWUoKSkg
eworICAgIGNhc2UgV2ViR0xFeHRlbnNpb246OkNocm9taXVtTG9zZUNvbnRleHROYW1lOgorICAg
ICAgICBleHRlbnNpb25PYmplY3QgPSB0b1Y4KHN0YXRpY19jYXN0PENocm9taXVtTG9zZUNvbnRl
eHQqPihleHRlbnNpb24pKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lv
bjo6T0VTVGV4dHVyZUZsb2F0TmFtZToKICAgICAgICAgZXh0ZW5zaW9uT2JqZWN0ID0gdG9WOChz
dGF0aWNfY2FzdDxPRVNUZXh0dXJlRmxvYXQqPihleHRlbnNpb24pKTsKICAgICAgICAgYnJlYWs7
CkBAIC0zNzUsNiArMzc2LDkgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViR0xSZW5kZXJp
bmdDb250ZXh0OjpnZXRTdXBwb3J0ZWRFeHRlbnNpb25zQ2FsbGJhY2soY28KIHsKICAgICBJTkNf
U1RBVFMoIkRPTS5XZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0U3VwcG9ydGVkRXh0ZW5zaW9uc0Nh
bGxiYWNrKCkiKTsKICAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGltcCA9IFY4V2ViR0xSZW5k
ZXJpbmdDb250ZXh0Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKKyAgICBpZiAoaW1wLT5pc0Nv
bnRleHRMb3N0KCkpCisgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworCiAgICAgVmVjdG9yPFN0
cmluZz4gdmFsdWUgPSBpbXAtPmdldFN1cHBvcnRlZEV4dGVuc2lvbnMoKTsKICAgICB2ODo6TG9j
YWw8djg6OkFycmF5PiBhcnJheSA9IHY4OjpBcnJheTo6TmV3KHZhbHVlLnNpemUoKSk7CiAgICAg
Zm9yIChzaXplX3QgaWkgPSAwOyBpaSA8IHZhbHVlLnNpemUoKTsgKytpaSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5jcHAgYi9XZWJDb3JlL2h0
bWwvY2FudmFzL0Nocm9taXVtTG9zZUNvbnRleHQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmNmFjMDRhZjkw
ZTM1MjQ5MDgyZmE0N2QyODIyNWQxZjE4MmM3MzUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3Jl
L2h0bWwvY2FudmFzL0Nocm9taXVtTG9zZUNvbnRleHQuY3BwCkBAIC0wLDAgKzEsNjMgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAor
ICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorCisjaW5j
bHVkZSAiQ2hyb21pdW1Mb3NlQ29udGV4dC5oIgorCisjaW5jbHVkZSAiV2ViR0xSZW5kZXJpbmdD
b250ZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ2hyb21pdW1Mb3NlQ29udGV4dDo6
Q2hyb21pdW1Mb3NlQ29udGV4dChXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQpCisgICAg
OiBXZWJHTEV4dGVuc2lvbigpCisgICAgLCBtX2NvbnRleHQoY29udGV4dCkKK3sKK30KKworQ2hy
b21pdW1Mb3NlQ29udGV4dDo6fkNocm9taXVtTG9zZUNvbnRleHQoKQoreworfQorCitXZWJHTEV4
dGVuc2lvbjo6RXh0ZW5zaW9uTmFtZSBDaHJvbWl1bUxvc2VDb250ZXh0OjpnZXROYW1lKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gQ2hyb21pdW1Mb3NlQ29udGV4dE5hbWU7Cit9CisKK1Bhc3NSZWZQ
dHI8Q2hyb21pdW1Mb3NlQ29udGV4dD4gQ2hyb21pdW1Mb3NlQ29udGV4dDo6Y3JlYXRlKFdlYkdM
UmVuZGVyaW5nQ29udGV4dCogY29udGV4dCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IENo
cm9taXVtTG9zZUNvbnRleHQoY29udGV4dCkpOworfQorCit2b2lkIENocm9taXVtTG9zZUNvbnRl
eHQ6Omxvc2VDb250ZXh0KCkKK3sKKyAgICBtX2NvbnRleHQtPmZvcmNlTG9zdENvbnRleHQoKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZB
UykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5o
IGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DaHJvbWl1bUxvc2VDb250ZXh0LmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2FkNGFiMWU1NGZkN2I4OTM0MDgzODcxMmQ2YWQ0MzVjMmJlOTcyYQotLS0gL2Rldi9udWxsCisr
KyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2hyb21pdW1Mb3NlQ29udGV4dC5oCkBAIC0wLDAgKzEs
NTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICog
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIENocm9taXVtTG9zZUNvbnRleHRfaAorI2RlZmluZSBDaHJv
bWl1bUxvc2VDb250ZXh0X2gKKworI2luY2x1ZGUgIldlYkdMRXh0ZW5zaW9uLmgiCisjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYkdMUmVuZGVyaW5nQ29udGV4dDsKKworY2xhc3Mg
Q2hyb21pdW1Mb3NlQ29udGV4dCA6IHB1YmxpYyBXZWJHTEV4dGVuc2lvbiB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8Q2hyb21pdW1Mb3NlQ29udGV4dD4gY3JlYXRlKFdlYkdMUmVu
ZGVyaW5nQ29udGV4dCopOworCisgICAgdmlydHVhbCB+Q2hyb21pdW1Mb3NlQ29udGV4dCgpOwor
ICAgIHZpcnR1YWwgRXh0ZW5zaW9uTmFtZSBnZXROYW1lKCkgY29uc3Q7CisKKyAgICB2b2lkIGxv
c2VDb250ZXh0KCk7CisKK3ByaXZhdGU6CisgICAgQ2hyb21pdW1Mb3NlQ29udGV4dChXZWJHTFJl
bmRlcmluZ0NvbnRleHQqKTsKKworICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dCogbV9jb250ZXh0
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ2hyb21pdW1Mb3Nl
Q29udGV4dF9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL0Nocm9taXVtTG9zZUNv
bnRleHQuaWRsIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DaHJvbWl1bUxvc2VDb250ZXh0LmlkbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iZjhmZTBjNjU4MDU1ZWViMTNmOTI2OTJlMzIxZTBiNGVjMTEzZGYxCi0tLSAv
ZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DaHJvbWl1bUxvc2VDb250ZXh0Lmlk
bApAQCAtMCwwICsxLDMwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIGh0bWwgeworICAgIGludGVyZmFjZSBb
Q29uZGl0aW9uYWw9M0RfQ0FOVkFTLCBPbWl0Q29uc3RydWN0b3JdIENocm9taXVtTG9zZUNvbnRl
eHQgeworICAgICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkIGxvc2VDb250ZXh0KCk7Cisg
ICAgfTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24u
aCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaAppbmRleCAzZGYzYjczMmI3
NDE4NTcxNDQzNWYxMmQ3MWQ3NDRkZGI4ZWI4NDE5Li4yOTZhYjQxNmMwNzljZjQyM2NmYzI1MjI0
NWNhYjA3ZGNjOTczYWIxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0
ZW5zaW9uLmgKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCkBAIC0z
NCw3ICszNCw4IEBAIGNsYXNzIFdlYkdMRXh0ZW5zaW9uIDogcHVibGljIFJlZkNvdW50ZWQ8V2Vi
R0xFeHRlbnNpb24+IHsKIHB1YmxpYzoKICAgICAvLyBFeHRlbnNpb24gbmFtZXMgYXJlIG5lZWRl
ZCB0byBwcm9wZXJseSB3cmFwIGluc3RhbmNlcyBpbiBKYXZhU2NyaXB0IG9iamVjdHMuCiAgICAg
ZW51bSBFeHRlbnNpb25OYW1lIHsKLSAgICAgICAgT0VTVGV4dHVyZUZsb2F0TmFtZQorICAgICAg
ICBDaHJvbWl1bUxvc2VDb250ZXh0TmFtZSwKKyAgICAgICAgT0VTVGV4dHVyZUZsb2F0TmFtZSwK
ICAgICB9OwogCiAgICAgdmlydHVhbCB+V2ViR0xFeHRlbnNpb24oKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCBjYTI2YmEzMjE2M2IyMjc2
NjExZmExNDNjNmJhNjc3OGQ1MWFkOTBkLi5lZDExMTM3OWFiNjUwMjI2MjExZTAxMWE1OGNiMWQx
MzI1Y2Y1ZTRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5n
Q29udGV4dC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKICNpbmNs
dWRlICJDYW52YXNQaXhlbEFycmF5LmgiCiAjaW5jbHVkZSAiQ2hlY2tlZEludC5oIgorI2luY2x1
ZGUgIkNocm9taXVtTG9zZUNvbnRleHQuaCIKICNpbmNsdWRlICJDb25zb2xlLmgiCiAjaW5jbHVk
ZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRXh0ZW5zaW9uczNELmgiCkBAIC05MiwxMSArOTMs
MTEgQEAgcHJpdmF0ZToKIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpXZWJHTFJlbmRlcmlu
Z0NvbnRleHRSZXN0b3JlVGltZXI6OmZpcmVkKCkKIHsKICAgICAvLyBUaW1lciBpcyBzdGFydGVk
IHdoZW4gbV9jb250ZXh0TG9zdCBpcyBmYWxzZS4gIEl0IHdpbGwgZmlyc3QgY2FsbAotICAgIC8v
IGxvc2VDb250ZXh0LCB3aGljaCB3aWxsIHNldCBtX2NvbnRleHRMb3N0IHRvIHRydWUuICBUaGVu
IGl0IHdpbGwga2VlcAorICAgIC8vIG9uTG9zdENvbnRleHQsIHdoaWNoIHdpbGwgc2V0IG1fY29u
dGV4dExvc3QgdG8gdHJ1ZS4gIFRoZW4gaXQgd2lsbCBrZWVwCiAgICAgLy8gY2FsbGluZyByZXN0
b3JlQ29udGV4dCBhbmQgcmVzY2hlZHVsZSBpdHNlbGYgdW50aWwgbV9jb250ZXh0TG9zdCBpcyBi
YWNrCiAgICAgLy8gdG8gZmFsc2UuCiAgICAgaWYgKCFtX2NvbnRleHQtPm1fY29udGV4dExvc3Qp
IHsKLSAgICAgICAgbV9jb250ZXh0LT5sb3NlQ29udGV4dCgpOworICAgICAgICBtX2NvbnRleHQt
Pm9uTG9zdENvbnRleHQoKTsKICAgICAgICAgc3RhcnRPbmVTaG90KHNlY29uZHNCZXR3ZWVuUmVz
dG9yZUF0dGVtcHRzKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBUaGUgcmVuZGVyaW5nIGNv
bnRleHQgaXMgbm90IHJlc3RvcmVkIGlmIHRoZXJlIGlzIG5vIGhhbmRsZXIgZm9yCkBAIC0xNDU4
LDYgKzE0NTksOSBAQCB1bnNpZ25lZCBsb25nIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0RXJy
b3IoKQogCiBXZWJHTEV4dGVuc2lvbiogV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNp
b24oY29uc3QgU3RyaW5nJiBuYW1lKQogeworICAgIGlmIChpc0NvbnRleHRMb3N0KCkpCisgICAg
ICAgIHJldHVybiAwOworCiAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJPRVNfdGV4
dHVyZV9mbG9hdCIpCiAgICAgICAgICYmIG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLT5zdXBw
b3J0cygiR0xfT0VTX3RleHR1cmVfZmxvYXQiKSkgewogICAgICAgICBpZiAoIW1fb2VzVGV4dHVy
ZUZsb2F0KSB7CkBAIC0xNDY1LDYgKzE0NjksMTAgQEAgV2ViR0xFeHRlbnNpb24qIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6Z2V0RXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAg
ICAgIG1fb2VzVGV4dHVyZUZsb2F0ID0gT0VTVGV4dHVyZUZsb2F0OjpjcmVhdGUoKTsKICAgICAg
ICAgfQogICAgICAgICByZXR1cm4gbV9vZXNUZXh0dXJlRmxvYXQuZ2V0KCk7CisgICAgfSBlbHNl
IGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAiQ0hST01JVU1fbG9zZV9jb250ZXh0IikpIHsK
KyAgICAgICAgaWYgKCFtX2Nocm9taXVtTG9zZUNvbnRleHQpCisgICAgICAgICAgICBtX2Nocm9t
aXVtTG9zZUNvbnRleHQgPSBDaHJvbWl1bUxvc2VDb250ZXh0OjpjcmVhdGUodGhpcyk7CisgICAg
ICAgIHJldHVybiBtX2Nocm9taXVtTG9zZUNvbnRleHQuZ2V0KCk7CiAgICAgfQogCiAgICAgcmV0
dXJuIDA7CkBAIC0xODcwLDYgKzE4NzgsNyBAQCBWZWN0b3I8U3RyaW5nPiBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OmdldFN1cHBvcnRlZEV4dGVuc2lvbnMoKQogICAgIFZlY3RvcjxTdHJpbmc+IHJl
c3VsdDsKICAgICBpZiAobV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCktPnN1cHBvcnRzKCJHTF9P
RVNfdGV4dHVyZV9mbG9hdCIpKQogICAgICAgICByZXN1bHQuYXBwZW5kKCJPRVNfdGV4dHVyZV9m
bG9hdCIpOworICAgIHJlc3VsdC5hcHBlbmQoIkNIUk9NSVVNX2xvc2VfY29udGV4dCIpOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTMzMDAsNyArMzMwOSwxNyBAQCB2b2lkIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6dmlld3BvcnQobG9uZyB4LCBsb25nIHksIHVuc2lnbmVkIGxvbmcgd2lk
dGgsIHVuc2lnbgogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKLXZv
aWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpsb3NlQ29udGV4dCgpCit2b2lkIFdlYkdMUmVuZGVy
aW5nQ29udGV4dDo6Zm9yY2VMb3N0Q29udGV4dCgpCit7CisgICAgaWYgKGlzQ29udGV4dExvc3Qo
KSkgeworICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4
dDNEOjpJTlZBTElEX09QRVJBVElPTik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBt
X3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QoMCk7Cit9CisKK3ZvaWQgV2ViR0xSZW5kZXJpbmdD
b250ZXh0Ojpvbkxvc3RDb250ZXh0KCkKIHsKICAgICBtX2NvbnRleHRMb3N0ID0gdHJ1ZTsKIApA
QCAtNDEyNywxMSArNDE0NiwxNiBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6cmVzdG9y
ZVN0YXRlc0FmdGVyVmVydGV4QXR0cmliMFNpbXVsYXRpb24oKQogCiBpbnQgV2ViR0xSZW5kZXJp
bmdDb250ZXh0OjpnZXROdW1iZXJPZkV4dGVuc2lvbnMoKQogewotICAgIHJldHVybiAobV9vZXNU
ZXh0dXJlRmxvYXQgPyAxIDogMCk7CisgICAgcmV0dXJuIChtX2Nocm9taXVtTG9zZUNvbnRleHQg
PyAxIDogMCkgKyAobV9vZXNUZXh0dXJlRmxvYXQgPyAxIDogMCk7CiB9CiAKIFdlYkdMRXh0ZW5z
aW9uKiBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEV4dGVuc2lvbk51bWJlcihpbnQgaSkKIHsK
KyAgICBpZiAobV9jaHJvbWl1bUxvc2VDb250ZXh0KSB7CisgICAgICAgIGlmICghaSkKKyAgICAg
ICAgICAgIHJldHVybiBtX2Nocm9taXVtTG9zZUNvbnRleHQuZ2V0KCk7CisgICAgICAgIC0taTsK
KyAgICB9CiAgICAgaWYgKG1fb2VzVGV4dHVyZUZsb2F0KSB7CiAgICAgICAgIGlmICghaSkKICAg
ICAgICAgICAgIHJldHVybiBtX29lc1RleHR1cmVGbG9hdC5nZXQoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmggYi9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IGI2OTM4NDRkYTU0NGM1NDQ2ZDU1
YmRmMDMwYzkzYWM0YjJiOTViN2QuLjc5ZGEzZjBjZTk0Y2Y1OGJjNzk2OGMwZjZhNTM5OTI5ZDIy
ZGFhMTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0LmgKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaApA
QCAtNTEsNiArNTEsNyBAQCBjbGFzcyBXZWJHTFJlbmRlcmJ1ZmZlcjsKIGNsYXNzIFdlYkdMU2hh
ZGVyOwogY2xhc3MgV2ViR0xUZXh0dXJlOwogY2xhc3MgV2ViR0xVbmlmb3JtTG9jYXRpb247Citj
bGFzcyBDaHJvbWl1bUxvc2VDb250ZXh0OwogY2xhc3MgSFRNTEltYWdlRWxlbWVudDsKIGNsYXNz
IEhUTUxWaWRlb0VsZW1lbnQ7CiBjbGFzcyBJbWFnZUJ1ZmZlcjsKQEAgLTI4NCw3ICsyODUsOCBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHZpZXdwb3J0KGxvbmcgeCwgbG9uZyB5LCB1bnNpZ25lZCBs
b25nIHdpZHRoLCB1bnNpZ25lZCBsb25nIGhlaWdodCk7CiAKLSAgICB2b2lkIGxvc2VDb250ZXh0
KCk7CisgICAgdm9pZCBmb3JjZUxvc3RDb250ZXh0KCk7CisgICAgdm9pZCBvbkxvc3RDb250ZXh0
KCk7CiAgICAgdm9pZCByZXN0b3JlQ29udGV4dCgpOwogCiAgICAgR3JhcGhpY3NDb250ZXh0M0Qq
IGdyYXBoaWNzQ29udGV4dDNEKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0LmdldCgpOyB9CkBA
IC00NjgsNiArNDcwLDcgQEAgcHVibGljOgogCiAgICAgLy8gRW5hYmxlZCBleHRlbnNpb24gb2Jq
ZWN0cy4KICAgICBSZWZQdHI8T0VTVGV4dHVyZUZsb2F0PiBtX29lc1RleHR1cmVGbG9hdDsKKyAg
ICBSZWZQdHI8Q2hyb21pdW1Mb3NlQ29udGV4dD4gbV9jaHJvbWl1bUxvc2VDb250ZXh0OwogCiAg
ICAgLy8gSGVscGVycyBmb3IgZ2V0UGFyYW1ldGVyIGFuZCBvdGhlcnMKICAgICBXZWJHTEdldElu
Zm8gZ2V0Qm9vbGVhblBhcmFtZXRlcih1bnNpZ25lZCBsb25nIHBuYW1lKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78071</attachid>
            <date>2011-01-05 17:04:34 -0800</date>
            <delta_ts>2011-01-05 17:08:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51492-20110105170433.patch</filename>
            <type>text/plain</type>
            <size>61488</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxMDE3N2RjYzYyYThhYWYzOWY5YmU2MGIzZDdmMmQwZDM0MjJiMGE4Li4zNThiOTZm
NmY2OWQxOGY0OGNiNDRkZjE4MzE2ZmZmNzM5MmQ5YzA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTEtMDEtMDUgIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgZm9yIFdl
YkdMJ3MgbG9zdCBjb250ZXh0IGV2ZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTUxNDkyCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9j
b250ZXh0LWxvc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93
ZWJnbC9jb250ZXh0LWxvc3QtcmVzdG9yZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0Lmh0bWw6IEFkZGVkLgorCiAy
MDExLTAxLTA0ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBV
bnJldmlld2VkLCB0ZXN0IGV4cGVjdGF0aW9uIHVwZGF0ZS4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY1MTNlNjhhMGU5ODcyYTJkNmEwYTUyMTZhNTMyYzgwYTllZjhkZTYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTg1IEBACitUZXN0cyBiZWhhdmlvciB1bmRlciBhIGxvc3QgY29u
dGV4dAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1Rlc3QgdmFsaWQgY29udGV4dAor
UEFTUyBnbC5pc0NvbnRleHRMb3N0KCkgaXMgZmFsc2UKK1BBU1MgZ2wuZ2V0RXJyb3IoKSBpcyBn
bC5OT19FUlJPUgorUEFTUyBnbC5lbmFibGUoZ2wuQkxFTkQpIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLmlzQnVmZmVyKGJ1ZmZlcikgaXMgdHJ1ZQorUEFTUyBnbC5pc0Vu
YWJsZWQoZ2wuQkxFTkQpIGlzIHRydWUKK1BBU1MgZ2wuaXNGcmFtZWJ1ZmZlcihmcmFtZWJ1ZmZl
cikgaXMgdHJ1ZQorUEFTUyBnbC5pc1Byb2dyYW0ocHJvZ3JhbSkgaXMgdHJ1ZQorUEFTUyBnbC5p
c1JlbmRlcmJ1ZmZlcihyZW5kZXJidWZmZXIpIGlzIHRydWUKK1BBU1MgZ2wuaXNTaGFkZXIoc2hh
ZGVyKSBpcyB0cnVlCitQQVNTIGdsLmlzVGV4dHVyZSh0ZXh0dXJlKSBpcyB0cnVlCisKK0xvc2Ug
Y29udGV4dAorUEFTUyBleHRlbnNpb24ubG9zZUNvbnRleHQoKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorCitUZXN0IGxvc3QgY29udGV4dAorUEFTUyBnbC5pc0NvbnRleHRMb3N0KCkg
aXMgdHJ1ZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLkNPTlRFWFRfTE9TVF9XRUJHTAorUEFT
UyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCitQQVNTIGdsLmNoZWNrRnJhbWVidWZmZXJT
dGF0dXMoZ2wuRlJBTUVCVUZGRVIpIGlzIGdsLkZSQU1FQlVGRkVSX1VOU1VQUE9SVEVECitQQVNT
IGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICd1X21vZGVsVmlld1Byb2pNYXRyaXgnKSBp
cyAtMQorUEFTUyBnbC5nZXRWZXJ0ZXhBdHRyaWJPZmZzZXQoMCwgZ2wuVkVSVEVYX0FUVFJJQl9B
UlJBWV9QT0lOVEVSKSBpcyAwCitQQVNTIGV4dGVuc2lvbi5sb3NlQ29udGV4dCgpIHdhcyBleHBl
Y3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04uCitQQVNTIGdsLmFjdGl2ZVRleHR1cmUoZ2wu
VEVYVFVSRTApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmF0dGFjaFNo
YWRlcihwcm9ncmFtLCBzaGFkZXIpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNT
IGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWZmZXIpIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IuCitQQVNTIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZnJh
bWVidWZmZXIpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmJpbmRSZW5k
ZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCByZW5kZXJidWZmZXIpIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IuCitQQVNTIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUp
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmJsZW5kQ29sb3IoMS4wLCAx
LjAsIDEuMCwgMS4wKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5ibGVu
ZEVxdWF0aW9uKGdsLkZVTkNfQUREKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFT
UyBnbC5ibGVuZEVxdWF0aW9uU2VwYXJhdGUoZ2wuRlVOQ19BREQsIGdsLkZVTkNfQUREKSB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5ibGVuZEZ1bmMoZ2wuT05FKSB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5ibGVuZEZ1bmNTZXBhcmF0ZShnbC5P
TkUsIGdsLk9ORSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYnVmZmVy
RGF0YShnbC5BUlJBWV9CVUZGRVIsIDAsIGdsLlNUQVRJQ19EUkFXKSB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SLgorUEFTUyBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgYXJyYXlC
dWZmZXJWaWV3LCBnbC5TVEFUSUNfRFJBVykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIGFycmF5QnVmZmVyLCBnbC5TVEFU
SUNfRFJBVykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYnVmZmVyU3Vi
RGF0YShnbC5BUlJBWV9CVUZGUkUsIDAsIGFycmF5QnVmZmVyVmlldykgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYnVmZmVyU3ViRGF0YShnbC5BUlJBWV9CVUZGUkUsIDAs
IGFycmF5QnVmZmVyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5jbGVh
cihnbC5DT0xPUl9CVUZGRVJfQklUKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFT
UyBnbC5jbGVhckNvbG9yKDEsIDEsIDEsIDEpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CitQQVNTIGdsLmNsZWFyRGVwdGgoMSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BB
U1MgZ2wuY2xlYXJTdGVuY2lsKDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNT
IGdsLmNvbG9yTWFzaygxLCAxLCAxLCAxKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgor
UEFTUyBnbC5jb21waWxlU2hhZGVyKHNoYWRlcikgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KK1BBU1MgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwg
MCwgMCwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuY29weVRl
eFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgMCwgMCwgMCwgMCkgd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuY3VsbEZhY2UoZ2wuRlJPTlQpIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmRlbGV0ZUJ1ZmZlcihidWZmZXIpIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmRlbGV0ZUZyYW1lYnVmZmVyKGZyYW1l
YnVmZmVyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kZWxldGVQcm9n
cmFtKHByb2dyYW0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmRlbGV0
ZVJlbmRlcmJ1ZmZlcihyZW5kZXJidWZmZXIpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CitQQVNTIGdsLmRlbGV0ZVNoYWRlcihzaGFkZXIpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IuCitQQVNTIGdsLmRlbGV0ZVRleHR1cmUodGV4dHVyZSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUi4KK1BBU1MgZ2wuZGVwdGhGdW5jKGdsLk5FVkVSKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC5kZXB0aE1hc2soMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUi4KK1BBU1MgZ2wuZGVwdGhSYW5nZSgwLCAxKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgorUEFTUyBnbC5kZXRhY2hTaGFkZXIocHJvZ3JhbSwgc2hhZGVyKSB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kaXNhYmxlKGdsLkJMRU5EKSB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoMCkgd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZHJhd0FycmF5cyhnbC5QT0lOVFMs
IDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmRyYXdFbGVtZW50
cyhnbC5QT0lOVFMsIDAsIGdsLlVOU0lHTkVEX1NIT1JULCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC5lbmFibGUoZ2wuQkxFTkQpIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmZpbmlzaCgpIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLmZsdXNoKCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9S
X0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIHJlbmRlcmJ1ZmZlcikgd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZnJhbWVidWZmZXJUZXh0dXJlMkQoZ2wuRlJBTUVC
VUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5URVhUVVJFXzJELCB0ZXh0dXJlLCAwKSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5mcm9udEZhY2UoZ2wuQ1cpIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRF
WFRVUkVfMkQpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmhpbnQoZ2wu
R0VORVJBVEVfTUlQTUFQX0hJTlQsIGdsLkZBU1RFU1QpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IuCitQQVNTIGdsLmxpbmVXaWR0aCgwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
LgorUEFTUyBnbC5saW5rUHJvZ3JhbShwcm9ncmFtKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgorUEFTUyBnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfRkxJUF9ZX1dFQkdMLCAwKSB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5wb2x5Z29uT2Zmc2V0KDAsIDApIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnJlYWRQaXhlbHMoMCwgMCwgMCwg
MCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYXJyYXlCdWZmZXJWaWV3KSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRF
UkJVRkZFUiwgZ2wuUkdCQTQsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQ
QVNTIGdsLnNhbXBsZUNvdmVyYWdlKDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CitQQVNTIGdsLnNjaXNzb3IoMCwgMCwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KK1BBU1MgZ2wuc2hhZGVyU291cmNlKHNoYWRlciwgJycpIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLnN0ZW5jaWxGdW5jKGdsLk5FVkVSLCAwLCAwKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5zdGVuY2lsRnVuY1NlcGFyYXRlKGdsLkZST05U
LCBnbC5ORVZFUiwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wu
c3RlbmNpbE1hc2soMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuc3Rl
bmNpbE1hc2tTZXBhcmF0ZShnbC5GUk9OVCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KK1BBU1MgZ2wuc3RlbmNpbE9wKGdsLktFRVAsIGdsLktFRVAsIGdsLktFRVApIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnN0ZW5jaWxPcFNlcGFyYXRlKGdsLkZST05U
LCBnbC5LRUVQLCBnbC5LRUVQLCBnbC5LRUVQKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
LgorUEFTUyBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsIDAsIDAs
IGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGFycmF5QnVmZmVyVmlldykgd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBn
bC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZURhdGEpIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
Z2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2UpIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wu
UkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzKSB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SLgorUEFTUyBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJH
QkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVvKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC50ZXhQYXJhbWV0ZXJmKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRV
UkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVTVCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxU
RVIsIGdsLk5FQVJFU1QpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnRl
eFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5T
SUdORURfQllURSwgYXJyYXlCdWZmZXJWaWV3KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
LgorUEFTUyBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIGdsLlJHQkEs
IGdsLlVOU0lHTkVEX0JZVEUsIGltYWdlRGF0YSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KK1BBU1MgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JB
LCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBn
bC5VTlNJR05FRF9CWVRFLCBjYW52YXMpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQ
QVNTIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wu
VU5TSUdORURfQllURSwgdmlkZW8pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNT
IGdsLnVuaWZvcm0xZih1bmlmb3JtTG9jYXRpb24sIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IuCitQQVNTIGdsLnVuaWZvcm0xZnYodW5pZm9ybUxvY2F0aW9uLCBmbG9hdDMyYXJyYXkp
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm0xZnYodW5pZm9y
bUxvY2F0aW9uLCBbMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVu
aWZvcm0xaSh1bmlmb3JtTG9jYXRpb24sIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CitQQVNTIGdsLnVuaWZvcm0xaXYodW5pZm9ybUxvY2F0aW9uLCBpbnQzMmFycmF5KSB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMWl2KHVuaWZvcm1Mb2NhdGlv
biwgWzBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMmYo
dW5pZm9ybUxvY2F0aW9uLCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFT
UyBnbC51bmlmb3JtMmZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmxvYXQzMmFycmF5KSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMmZ2KHVuaWZvcm1Mb2NhdGlvbiwg
WzAsIDBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMmko
dW5pZm9ybUxvY2F0aW9uLCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFT
UyBnbC51bmlmb3JtMml2KHVuaWZvcm1Mb2NhdGlvbiwgaW50MzJhcnJheSkgd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybTJpdih1bmlmb3JtTG9jYXRpb24sIFsw
LCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybTNmKHVu
aWZvcm1Mb2NhdGlvbiwgMCwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BB
U1MgZ2wudW5pZm9ybTNmdih1bmlmb3JtTG9jYXRpb24sIGZsb2F0MzJhcnJheSkgd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybTNmdih1bmlmb3JtTG9jYXRpb24s
IFswLCAwLCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9y
bTNpKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KK1BBU1MgZ2wudW5pZm9ybTNpdih1bmlmb3JtTG9jYXRpb24sIGludDMyYXJyYXkpIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm0zaXYodW5pZm9ybUxvY2F0
aW9uLCBbMCwgMCwgMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVu
aWZvcm00Zih1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm00ZnYodW5pZm9ybUxvY2F0aW9uLCBmbG9hdDMyYXJy
YXkpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm00ZnYodW5p
Zm9ybUxvY2F0aW9uLCBbMCwgMCwgMCwgMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CitQQVNTIGdsLnVuaWZvcm00aSh1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDAsIDApIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm00aXYodW5pZm9ybUxvY2F0aW9u
LCBpbnQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlm
b3JtNGl2KHVuaWZvcm1Mb2NhdGlvbiwgWzAsIDAsIDAsIDBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtTWF0cml4MmZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmFs
c2UsIGZsb2F0MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wu
dW5pZm9ybU1hdHJpeDJmdih1bmlmb3JtTG9jYXRpb24sIGZhbHNlLCBbMCwgMCwgMCwgMF0pIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm1NYXRyaXgzZnYodW5p
Zm9ybUxvY2F0aW9uLCBmYWxzZSwgZmxvYXQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SLgorUEFTUyBnbC51bmlmb3JtTWF0cml4M2Z2KHVuaWZvcm1Mb2NhdGlvbiwgZmFsc2Us
IFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KK1BBU1MgZ2wudW5pZm9ybU1hdHJpeDRmdih1bmlmb3JtTG9jYXRpb24sIGZhbHNlLCBmbG9h
dDMyYXJyYXkpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm1N
YXRyaXg0ZnYodW5pZm9ybUxvY2F0aW9uLCBmYWxzZSwgWzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgor
UEFTUyBnbC51c2VQcm9ncmFtKHByb2dyYW0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CitQQVNTIGdsLnZhbGlkYXRlUHJvZ3JhbShwcm9ncmFtKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRyaWIxZigwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRyaWIxZnYoMCwgZmxvYXQzMmFycmF5KSB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRyaWIxZnYoMCwgWzBd
KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRyaWIyZigw
LCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRy
aWIyZnYoMCwgZmxvYXQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFT
UyBnbC52ZXJ0ZXhBdHRyaWIyZnYoMCwgWzAsIDBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRyaWIzZigwLCAwLCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRyaWIzZnYoMCwgZmxvYXQzMmFycmF5KSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRyaWIzZnYoMCwg
WzAsIDAsIDBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhB
dHRyaWI0ZigwLCAwLCAwLCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFT
UyBnbC52ZXJ0ZXhBdHRyaWI0ZnYoMCwgZmxvYXQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRyaWI0ZnYoMCwgWzAsIDAsIDAsIDBdKSB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAs
IDAsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wudmlld3BvcnQoMCwgMCwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KK1BBU1MgZ2wuY3JlYXRlQnVmZmVyKCkgaXMgbnVsbAorUEFTUyBnbC5jcmVhdGVGcmFtZWJ1
ZmZlcigpIGlzIG51bGwKK1BBU1MgZ2wuY3JlYXRlUHJvZ3JhbSgpIGlzIG51bGwKK1BBU1MgZ2wu
Y3JlYXRlUmVuZGVyYnVmZmVyKCkgaXMgbnVsbAorUEFTUyBnbC5jcmVhdGVTaGFkZXIoZ2wuR0xf
VkVSVEVYX1NIQURFUikgaXMgbnVsbAorUEFTUyBnbC5jcmVhdGVUZXh0dXJlKCkgaXMgbnVsbAor
UEFTUyBnbC5nZXRBY3RpdmVBdHRyaWIocHJvZ3JhbSwgMCkgaXMgbnVsbAorUEFTUyBnbC5nZXRB
Y3RpdmVVbmlmb3JtKHByb2dyYW0sIDApIGlzIG51bGwKK1BBU1MgZ2wuZ2V0QXR0YWNoZWRTaGFk
ZXJzKHByb2dyYW0pIGlzIG51bGwKK1BBU1MgZ2wuZ2V0QnVmZmVyUGFyYW1ldGVyKGdsLkFSUkFZ
X0JVRkZFUiwgZ2wuQlVGRkVSX1NJWkUpIGlzIG51bGwKK1BBU1MgZ2wuZ2V0Q29udGV4dEF0dHJp
YnV0ZXMoKSBpcyBudWxsCitQQVNTIGdsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRl
cihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLkZSQU1FQlVGRkVSX0FU
VEFDSE1FTlRfT0JKRUNUX05BTUUpIGlzIG51bGwKK1BBU1MgZ2wuZ2V0UGFyYW1ldGVyKGdsLkNV
UlJFTlRfUFJPR1JBTSkgaXMgbnVsbAorUEFTUyBnbC5nZXRQcm9ncmFtSW5mb0xvZyhwcm9ncmFt
KSBpcyBudWxsCitQQVNTIGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZ3JhbSwgZ2wuTElOS19T
VEFUVVMpIGlzIG51bGwKK1BBU1MgZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRF
UkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX1dJRFRIKSBpcyBudWxsCitQQVNTIGdsLmdldFNoYWRl
ckluZm9Mb2coc2hhZGVyKSBpcyBudWxsCitQQVNTIGdsLmdldFNoYWRlclBhcmFtZXRlcihzaGFk
ZXIsIGdsLlNIQURFUl9UWVBFKSBpcyBudWxsCitQQVNTIGdsLmdldFNoYWRlclNvdXJjZShzaGFk
ZXIpIGlzIG51bGwKK1BBU1MgZ2wuZ2V0VGV4UGFyYW1ldGVyKGdsLlRFWFRVUkVfMkQsIGdsLlRF
WFRVUkVfV1JBUF9TKSBpcyBudWxsCitQQVNTIGdsLmdldFVuaWZvcm0ocHJvZ3JhbSwgdW5pZm9y
bUxvY2F0aW9uKSBpcyBudWxsCitQQVNTIGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAn
dlBvc2l0aW9uJykgaXMgbnVsbAorUEFTUyBnbC5nZXRWZXJ0ZXhBdHRyaWIoMCwgZ2wuVkVSVEVY
X0FUVFJJQl9BUlJBWV9CVUZGRVJfQklORElORykgaXMgbnVsbAorUEFTUyBnbC5nZXRTdXBwb3J0
ZWRFeHRlbnNpb25zKCkgaXMgbnVsbAorUEFTUyBnbC5nZXRFeHRlbnNpb24oJ1dFQktJVF9sb3Nl
X2NvbnRleHQnKSBpcyBudWxsCitQQVNTIGdsLmlzQnVmZmVyKGJ1ZmZlcikgaXMgZmFsc2UKK1BB
U1MgZ2wuaXNFbmFibGVkKGdsLkJMRU5EKSBpcyBmYWxzZQorUEFTUyBnbC5pc0ZyYW1lYnVmZmVy
KGZyYW1lYnVmZmVyKSBpcyBmYWxzZQorUEFTUyBnbC5pc1Byb2dyYW0ocHJvZ3JhbSkgaXMgZmFs
c2UKK1BBU1MgZ2wuaXNSZW5kZXJidWZmZXIocmVuZGVyYnVmZmVyKSBpcyBmYWxzZQorUEFTUyBn
bC5pc1NoYWRlcihzaGFkZXIpIGlzIGZhbHNlCitQQVNTIGdsLmlzVGV4dHVyZSh0ZXh0dXJlKSBp
cyBmYWxzZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0LXJlc3RvcmVkLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC1yZXN0b3JlZC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ3NjAxOWIxYzZlZmI4MTIzNDU2MTgyNTg1MzhiYjQw
YTEwMjY0NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L2NvbnRleHQtbG9zdC1yZXN0b3JlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMSBAQAorVGVz
dHMgYmVoYXZpb3IgdW5kZXIgYSByZXN0b3JlZCBjb250ZXh0CisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworVGVzdCB2YWxpZCBjb250ZXh0CitQQVNTIGdsLmlzQ29udGV4dExvc3QoKSBp
cyBmYWxzZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCitQQVNTIHNob3VsZEJl
IDI1NSwxMCwyMAorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCisKK1Rlc3QgbG9z
dCBjb250ZXh0CitQQVNTIGdsLmlzQ29udGV4dExvc3QoKSBpcyB0cnVlCitQQVNTIGdsLmdldEVy
cm9yKCkgaXMgZ2wuQ09OVEVYVF9MT1NUX1dFQkdMCitQQVNTIGdsLmdldEVycm9yKCkgaXMgZ2wu
Tk9fRVJST1IKKworVGVzdCByZXN0b3JlZCBjb250ZXh0CitQQVNTIGdsLmlzQ29udGV4dExvc3Qo
KSBpcyBmYWxzZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCitQQVNTIGdsLmJp
bmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5W
QUxJRF9PUEVSQVRJT04uCitQQVNTIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSkgd2FzIGV4cGVjdGVk
IHZhbHVlOiBJTlZBTElEX09QRVJBVElPTi4KK1BBU1MgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9C
VUZGRVIsIGJ1ZmZlck9iamVjdHNbMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVS
QVRJT04uCitQQVNTIHNob3VsZEJlIDI1NSwxMCwyMAorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGds
Lk5PX0VSUk9SCitQQVNTIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSkg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYmluZEJ1ZmZlcihnbC5BUlJB
WV9CVUZGRVIsIGJ1ZmZlck9iamVjdHNbMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtcmVz
dG9yZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC1y
ZXN0b3JlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk3NTY4MzYzMzYzMmJkYWU5ZjQ4NjQ3MTdlNDM1MWRm
ODRlNWJkZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC9jb250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbApAQCAtMCwwICsxLDEzMCBAQAorPGh0bWw+Cis8
aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBjYW52
YXM7Cit2YXIgZ2w7Cit2YXIgc2hvdWxkR2VuZXJhdGVHTEVycm9yOwordmFyIGV4dGVuc2lvbl9u
YW1lID0gIldFQktJVF9sb3NlX2NvbnRleHQiOwordmFyIGV4dGVuc2lvbjsKK3ZhciBidWZmZXJP
YmplY3RzOwordmFyIHByb2dyYW07Cit2YXIgdGV4dHVyZTsKK3ZhciB0ZXhDb2xvciA9IFsyNTUs
IDEwLCAyMCwgMjU1XTsKKworZnVuY3Rpb24gaW5pdCgpCit7CisgICAgaWYgKHdpbmRvdy5pbml0
Tm9uS2hyb25vc0ZyYW1ld29yaykgeworICAgICAgICB3aW5kb3cuaW5pdE5vbktocm9ub3NGcmFt
ZXdvcmsodHJ1ZSk7CisgICAgfQorCisgICAgZGVzY3JpcHRpb24oIlRlc3RzIGJlaGF2aW9yIHVu
ZGVyIGEgcmVzdG9yZWQgY29udGV4dCIpOworCisgICAgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNhbnZhcyIpOworICAgIGNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJ3ZWJnbGNv
bnRleHRsb3N0IiwgdGVzdExvc3RDb250ZXh0KTsKKyAgICBjYW52YXMuYWRkRXZlbnRMaXN0ZW5l
cigid2ViZ2xjb250ZXh0cmVzdG9yZWQiLCB0ZXN0UmVzdG9yZWRDb250ZXh0KTsKKworICAgIGds
ID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOworICAgIHNob3VsZEdlbmVyYXRlR0xFcnJv
ciA9IHd0dS5zaG91bGRHZW5lcmF0ZUdMRXJyb3I7CisKKyAgICBleHRlbnNpb24gPSBnbC5nZXRF
eHRlbnNpb24oZXh0ZW5zaW9uX25hbWUpOworICAgIGlmICghZXh0ZW5zaW9uKSB7CisgICAgICAg
IGRlYnVnKGV4dGVuc2lvbl9uYW1lICsgIiBleHRlbnNpb24gbm90IGZvdW5kLiIpOworICAgICAg
ICBmaW5pc2goKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHRlc3RPcmlnaW5hbENv
bnRleHQoKTsKKyAgICBleHRlbnNpb24ubG9zZUNvbnRleHQoKTsKK30KKworZnVuY3Rpb24gdGVz
dFJlbmRlcmluZygpCit7CisgICAgZ2wuY2xlYXJDb2xvcigwLCAwLCAwLCAyNTUpOworICAgIGds
LmNvbG9yTWFzaygxLCAxLCAxLCAwKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklU
IHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisKKyAgICBwcm9ncmFtID0gd3R1LnNldHVwU2ltcGxl
VGV4dHVyZVByb2dyYW0oZ2wpOworICAgIGJ1ZmZlck9iamVjdHMgPSB3dHUuc2V0dXBVbml0UXVh
ZChnbCk7CisgICAgdGV4dHVyZSA9IHd0dS5jcmVhdGVDb2xvcmVkVGV4dHVyZShnbCwgY2FudmFz
LndpZHRoLCBjYW52YXMuaGVpZ2h0LCB0ZXhDb2xvcik7CisKKyAgICBnbC51bmlmb3JtMWkoZ2wu
Z2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ0ZXgiKSwgMCk7CisgICAgd3R1LmRyYXdRdWFk
KGdsLCBbMCwgMCwgMCwgMjU1XSk7CisKKyAgICB2YXIgY29tcGFyZSA9IHRleENvbG9yLnNsaWNl
KDAsIDMpOworICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDAsIGNhbnZhcy53aWR0aCwg
Y2FudmFzLmhlaWdodCwgY29tcGFyZSwgInNob3VsZEJlICIgKyBjb21wYXJlKTsKKworICAgIHNo
b3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7Cit9CisKK2Z1bmN0aW9uIHRl
c3RPcmlnaW5hbENvbnRleHQoKQoreworICAgIGRlYnVnKCJUZXN0IHZhbGlkIGNvbnRleHQiKTsK
KyAgICBzaG91bGRCZUZhbHNlKCJnbC5pc0NvbnRleHRMb3N0KCkiKTsKKyAgICBzaG91bGRCZSgi
Z2wuZ2V0RXJyb3IoKSIsICJnbC5OT19FUlJPUiIpOworICAgIHRlc3RSZW5kZXJpbmcoKTsKKyAg
ICBkZWJ1ZygiIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RMb3N0Q29udGV4dCgpCit7CisgICAgZGVi
dWcoIlRlc3QgbG9zdCBjb250ZXh0Iik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc0NvbnRleHRM
b3N0KCkiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0RXJyb3IoKSIsICJnbC5DT05URVhUX0xPU1Rf
V0VCR0wiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0RXJyb3IoKSIsICJnbC5OT19FUlJPUiIpOwor
ICAgIGRlYnVnKCIiKTsKK30KKworZnVuY3Rpb24gdGVzdFJlc291cmNlcyhleHBlY3RlZCkKK3sK
KyAgICB2YXIgdGVzdHMgPSBbCisgICAgICAgICJnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJE
LCB0ZXh0dXJlKSIsCisgICAgICAgICJnbC51c2VQcm9ncmFtKHByb2dyYW0pIiwKKyAgICAgICAg
ImdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWZmZXJPYmplY3RzWzBdKSIsCisgICAg
XTsKKworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGVzdHMubGVuZ3RoOyArK2kpCisgICAgICAg
IHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZXhwZWN0ZWQsIHRlc3RzW2ldKTsKK30KKworZnVu
Y3Rpb24gdGVzdFJlc3RvcmVkQ29udGV4dCgpCit7CisgICAgZGVidWcoIlRlc3QgcmVzdG9yZWQg
Y29udGV4dCIpOworICAgIHNob3VsZEJlRmFsc2UoImdsLmlzQ29udGV4dExvc3QoKSIpOworICAg
IHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7CisKKyAgICAvLyBWYWxp
ZGF0ZSB0aGF0IHVzaW5nIG9sZCByZXNvdXJjZXMgZmFpbHMuCisgICAgdGVzdFJlc291cmNlcyhn
bC5JTlZBTElEX09QRVJBVElPTik7CisKKyAgICB0ZXN0UmVuZGVyaW5nKCk7CisKKyAgICAvLyBW
YWxpZGF0ZSBuZXcgcmVzb3VyY2VzIGNyZWF0ZWQgaW4gdGVzdFJlbmRlcmluZygpLgorICAgIHRl
c3RSZXNvdXJjZXMoZ2wuTk9fRVJST1IpOworICAgIGRlYnVnKCIiKTsKKworICAgIGZpbmlzaCgp
OworfQorCitmdW5jdGlvbiBmaW5pc2goKSB7CisgICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKyAgICB2YXIgZXBpbG9ndWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsK
KyAgICBlcGlsb2d1ZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5u
b25LaHJvbm9zRnJhbWV3b3JrTm90aWZ5RG9uZSkKKyAgICAgICAgICAgIHdpbmRvdy5ub25LaHJv
bm9zRnJhbWV3b3JrTm90aWZ5RG9uZSgpOworICAgIH07CisgICAgZXBpbG9ndWUuc3JjID0gIi4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiOworICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoZXBpbG9ndWUpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9h
ZD0iaW5pdCgpIj4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iMXB4IiBoZWlnaHQ9IjFweCI+
PC9jYW52YXM+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2NvbnRleHQtbG9zdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU3ZDE1MzMwZjllZTcyZDA3NTZk
NDY5ZTQ2MzllNjkzNWZkMWExNTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QuaHRtbApAQCAtMCwwICsxLDMxNSBAQAorPGh0bWw+
Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciB3dHU7Cit2YXIgY2FudmFzOwordmFyIGdsOwor
dmFyIHNob3VsZEdlbmVyYXRlR0xFcnJvcjsKK3ZhciBleHRlbnNpb25fbmFtZSA9ICJXRUJLSVRf
bG9zZV9jb250ZXh0IjsKK3ZhciBleHRlbnNpb247CisKK3ZhciBidWZmZXI7Cit2YXIgZnJhbWVi
dWZmZXI7Cit2YXIgcHJvZ3JhbTsKK3ZhciByZW5kZXJidWZmZXI7Cit2YXIgc2hhZGVyOwordmFy
IHRleHR1cmU7Cit2YXIgdW5pZm9ybUxvY2F0aW9uOwordmFyIGFycmF5QnVmZmVyOwordmFyIGFy
cmF5QnVmZmVyVmlldwordmFyIGltYWdlOwordmFyIHZpZGVvOwordmFyIGNhbnZhczJkOwordmFy
IGN0eDJkOwordmFyIGltYWdlRGF0YTsKK3ZhciBmbG9hdDMyYXJyYXk7Cit2YXIgaW50MzJhcnJh
eTsKKworZnVuY3Rpb24gaW5pdCgpCit7CisgICAgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisgICAg
Y2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOworICAgIGdsID0gd3R1
LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOworICAgIHNob3VsZEdlbmVyYXRlR0xFcnJvciA9IHd0
dS5zaG91bGRHZW5lcmF0ZUdMRXJyb3I7CisKKyAgICBkZXNjcmlwdGlvbigiVGVzdHMgYmVoYXZp
b3IgdW5kZXIgYSBsb3N0IGNvbnRleHQiKTsKKworICAgIGlmICh3aW5kb3cuaW5pdE5vbktocm9u
b3NGcmFtZXdvcmspIHsKKyAgICAgICAgd2luZG93LmluaXROb25LaHJvbm9zRnJhbWV3b3JrKHRy
dWUpOworICAgIH0KKworICAgIGV4dGVuc2lvbiA9IGdsLmdldEV4dGVuc2lvbihleHRlbnNpb25f
bmFtZSk7CisgICAgaWYgKCFleHRlbnNpb24pIHsKKyAgICAgICAgZGVidWcoZXh0ZW5zaW9uX25h
bWUgKyAiIGV4dGVuc2lvbiBub3QgZm91bmQuIik7CisgICAgICAgIGZpbmlzaCgpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29u
dGV4dGxvc3QiLCB0ZXN0TG9zdENvbnRleHQpOworCisgICAgdGVzdFZhbGlkQ29udGV4dCgpOwor
ICAgIGxvc2VDb250ZXh0KCk7Cit9CisKK2Z1bmN0aW9uIGxvc2VDb250ZXh0KCkKK3sKKyAgICBk
ZWJ1ZygiIik7CisgICAgZGVidWcoIkxvc2UgY29udGV4dCIpOworICAgIHNob3VsZEdlbmVyYXRl
R0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJleHRlbnNpb24ubG9zZUNvbnRleHQoKSIpOworICAg
IGRlYnVnKCIiKTsKK30KKworZnVuY3Rpb24gdGVzdFZhbGlkQ29udGV4dCgpCit7CisgICAgZGVi
dWcoIlRlc3QgdmFsaWQgY29udGV4dCIpOworCisgICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNDb250
ZXh0TG9zdCgpIik7CisKKyAgICBhcnJheUJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcig0KTsKKyAg
ICBhcnJheUJ1ZmZlclZpZXcgPSBuZXcgSW50OEFycmF5KGFycmF5QnVmZmVyKTsKKworICAgIC8v
IEdlbmVyYXRlIHJlc291cmNlcyBmb3IgdGVzdGluZy4KKyAgICBidWZmZXIgPSBnbC5jcmVhdGVC
dWZmZXIoKTsKKyAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyKTsKKyAg
ICBmcmFtZWJ1ZmZlciA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCk7CisgICAgZ2wuYmluZEZyYW1l
YnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmcmFtZWJ1ZmZlcik7CisgICAgcHJvZ3JhbSA9IHd0dS5z
ZXR1cFNpbXBsZVRleHR1cmVQcm9ncmFtKGdsKTsKKyAgICByZW5kZXJidWZmZXIgPSBnbC5jcmVh
dGVSZW5kZXJidWZmZXIoKTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZF
UiwgcmVuZGVyYnVmZmVyKTsKKyAgICBzaGFkZXIgPSBnbC5jcmVhdGVTaGFkZXIoZ2wuVkVSVEVY
X1NIQURFUik7CisgICAgdGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5k
VGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0RXJy
b3IoKSIsICJnbC5OT19FUlJPUiIpOworCisgICAgLy8gVGVzdCBpcyBxdWVyaWVzIHRoYXQgd2ls
bCBsYXRlciBiZSBmYWxzZQorICAgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJS
T1IsICJnbC5lbmFibGUoZ2wuQkxFTkQpIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc0J1ZmZl
cihidWZmZXIpIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc0VuYWJsZWQoZ2wuQkxFTkQpIik7
CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc0ZyYW1lYnVmZmVyKGZyYW1lYnVmZmVyKSIpOworICAg
IHNob3VsZEJlVHJ1ZSgiZ2wuaXNQcm9ncmFtKHByb2dyYW0pIik7CisgICAgc2hvdWxkQmVUcnVl
KCJnbC5pc1JlbmRlcmJ1ZmZlcihyZW5kZXJidWZmZXIpIik7CisgICAgc2hvdWxkQmVUcnVlKCJn
bC5pc1NoYWRlcihzaGFkZXIpIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc1RleHR1cmUodGV4
dHVyZSkiKTsKK30KKworZnVuY3Rpb24gdGVzdExvc3RDb250ZXh0KCkKK3sKKyAgICBkZWJ1Zygi
VGVzdCBsb3N0IGNvbnRleHQiKTsKKworICAgIC8vIEZ1bmN0aW9ucyB3aXRoIHNwZWNpYWwgcmV0
dXJuIHZhbHVlcy4KKyAgICBzaG91bGRCZVRydWUoImdsLmlzQ29udGV4dExvc3QoKSIpOworICAg
IHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLkNPTlRFWFRfTE9TVF9XRUJHTCIpOworICAg
IHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7CisgICAgc2hvdWxkQmUo
ImdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpIiwgImdsLkZSQU1FQlVG
RkVSX1VOU1VQUE9SVEVEIik7CisgICAgc2hvdWxkQmUoImdsLmdldEF0dHJpYkxvY2F0aW9uKHBy
b2dyYW0sICd1X21vZGVsVmlld1Byb2pNYXRyaXgnKSIsICItMSIpOworICAgIHNob3VsZEJlKCJn
bC5nZXRWZXJ0ZXhBdHRyaWJPZmZzZXQoMCwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9QT0lOVEVS
KSIsICIwIik7CisKKyAgICAvLyBUZXN0IHRoZSBleHRlbnNpb24gaXRzZWxmLgorICAgIHNob3Vs
ZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJleHRlbnNpb24ubG9z
ZUNvbnRleHQoKSIpOworCisgICAgaW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWFn
ZSIpOworICAgIHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmlkZW8iKTsKKyAgICBj
YW52YXMyZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOworICAgIGN0eDJkID0g
Y2FudmFzMmQuZ2V0Q29udGV4dCgiMmQiKTsKKyAgICBpbWFnZURhdGEgPSBjdHgyZC5jcmVhdGVJ
bWFnZURhdGEoMSwgMSk7CisgICAgZmxvYXQzMmFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSgxKTsK
KyAgICBpbnQzMmFycmF5ID0gbmV3IEludDMyQXJyYXkoMSk7CisKKyAgICAvLyBGdW5jdGlvbnMg
cmV0dXJuaW5nIHZvaWQgc2hvdWxkIHJldHVybiBpbW1lZGlhdGVseS4KKyAgICAvLyBUaGlzIGlz
IHVudGVzdGFibGUsIGJ1dCB3ZSBjYW4gYXQgbGVhc3QgYmUgc3VyZSB0aGV5IGNhdXNlIG5vIGVy
cm9ycworICAgIC8vIGFuZCB0aGUgY29kZXBhdGhzIGFyZSBleGVyY2lzZWQuCisgICAgdmFyIHZv
aWRUZXN0cyA9IFsKKyAgICAgICAgImdsLmFjdGl2ZVRleHR1cmUoZ2wuVEVYVFVSRTApIiwKKyAg
ICAgICAgImdsLmF0dGFjaFNoYWRlcihwcm9ncmFtLCBzaGFkZXIpIiwKKyAgICAgICAgImdsLmJp
bmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWZmZXIpIiwKKyAgICAgICAgImdsLmJpbmRGcmFt
ZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZnJhbWVidWZmZXIpIiwKKyAgICAgICAgImdsLmJpbmRS
ZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCByZW5kZXJidWZmZXIpIiwKKyAgICAgICAgImds
LmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpIiwKKyAgICAgICAgImdsLmJsZW5k
Q29sb3IoMS4wLCAxLjAsIDEuMCwgMS4wKSIsCisgICAgICAgICJnbC5ibGVuZEVxdWF0aW9uKGds
LkZVTkNfQUREKSIsCisgICAgICAgICJnbC5ibGVuZEVxdWF0aW9uU2VwYXJhdGUoZ2wuRlVOQ19B
REQsIGdsLkZVTkNfQUREKSIsCisgICAgICAgICJnbC5ibGVuZEZ1bmMoZ2wuT05FKSIsCisgICAg
ICAgICJnbC5ibGVuZEZ1bmNTZXBhcmF0ZShnbC5PTkUsIGdsLk9ORSkiLAorICAgICAgICAiZ2wu
YnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIDAsIGdsLlNUQVRJQ19EUkFXKSIsCisgICAgICAg
ICJnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgYXJyYXlCdWZmZXJWaWV3LCBnbC5TVEFU
SUNfRFJBVykiLAorICAgICAgICAiZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIGFycmF5
QnVmZmVyLCBnbC5TVEFUSUNfRFJBVykiLAorICAgICAgICAiZ2wuYnVmZmVyU3ViRGF0YShnbC5B
UlJBWV9CVUZGUkUsIDAsIGFycmF5QnVmZmVyVmlldykiLAorICAgICAgICAiZ2wuYnVmZmVyU3Vi
RGF0YShnbC5BUlJBWV9CVUZGUkUsIDAsIGFycmF5QnVmZmVyKSIsCisgICAgICAgICJnbC5jbGVh
cihnbC5DT0xPUl9CVUZGRVJfQklUKSIsCisgICAgICAgICJnbC5jbGVhckNvbG9yKDEsIDEsIDEs
IDEpIiwKKyAgICAgICAgImdsLmNsZWFyRGVwdGgoMSkiLAorICAgICAgICAiZ2wuY2xlYXJTdGVu
Y2lsKDApIiwKKyAgICAgICAgImdsLmNvbG9yTWFzaygxLCAxLCAxLCAxKSIsCisgICAgICAgICJn
bC5jb21waWxlU2hhZGVyKHNoYWRlcikiLAorICAgICAgICAiZ2wuY29weVRleEltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwgMCwgMCwgMCwgMCkiLAorICAgICAgICAiZ2wuY29w
eVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgMCwgMCwgMCwgMCkiLAorICAg
ICAgICAiZ2wuY3VsbEZhY2UoZ2wuRlJPTlQpIiwKKyAgICAgICAgImdsLmRlbGV0ZUJ1ZmZlcihi
dWZmZXIpIiwKKyAgICAgICAgImdsLmRlbGV0ZUZyYW1lYnVmZmVyKGZyYW1lYnVmZmVyKSIsCisg
ICAgICAgICJnbC5kZWxldGVQcm9ncmFtKHByb2dyYW0pIiwKKyAgICAgICAgImdsLmRlbGV0ZVJl
bmRlcmJ1ZmZlcihyZW5kZXJidWZmZXIpIiwKKyAgICAgICAgImdsLmRlbGV0ZVNoYWRlcihzaGFk
ZXIpIiwKKyAgICAgICAgImdsLmRlbGV0ZVRleHR1cmUodGV4dHVyZSkiLAorICAgICAgICAiZ2wu
ZGVwdGhGdW5jKGdsLk5FVkVSKSIsCisgICAgICAgICJnbC5kZXB0aE1hc2soMCkiLAorICAgICAg
ICAiZ2wuZGVwdGhSYW5nZSgwLCAxKSIsCisgICAgICAgICJnbC5kZXRhY2hTaGFkZXIocHJvZ3Jh
bSwgc2hhZGVyKSIsCisgICAgICAgICJnbC5kaXNhYmxlKGdsLkJMRU5EKSIsCisgICAgICAgICJn
bC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoMCkiLAorICAgICAgICAiZ2wuZHJhd0FycmF5cyhn
bC5QT0lOVFMsIDAsIDApIiwKKyAgICAgICAgImdsLmRyYXdFbGVtZW50cyhnbC5QT0lOVFMsIDAs
IGdsLlVOU0lHTkVEX1NIT1JULCAwKSIsCisgICAgICAgICJnbC5lbmFibGUoZ2wuQkxFTkQpIiwK
KyAgICAgICAgImdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApIiwKKyAgICAgICAgImdsLmZp
bmlzaCgpIiwKKyAgICAgICAgImdsLmZsdXNoKCkiLAorICAgICAgICAiZ2wuZnJhbWVidWZmZXJS
ZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5E
RVJCVUZGRVIsIHJlbmRlcmJ1ZmZlcikiLAorICAgICAgICAiZ2wuZnJhbWVidWZmZXJUZXh0dXJl
MkQoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5URVhUVVJFXzJELCB0
ZXh0dXJlLCAwKSIsCisgICAgICAgICJnbC5mcm9udEZhY2UoZ2wuQ1cpIiwKKyAgICAgICAgImds
LmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfMkQpIiwKKyAgICAgICAgImdsLmhpbnQoZ2wuR0VO
RVJBVEVfTUlQTUFQX0hJTlQsIGdsLkZBU1RFU1QpIiwKKyAgICAgICAgImdsLmxpbmVXaWR0aCgw
KSIsCisgICAgICAgICJnbC5saW5rUHJvZ3JhbShwcm9ncmFtKSIsCisgICAgICAgICJnbC5waXhl
bFN0b3JlaShnbC5VTlBBQ0tfRkxJUF9ZX1dFQkdMLCAwKSIsCisgICAgICAgICJnbC5wb2x5Z29u
T2Zmc2V0KDAsIDApIiwKKyAgICAgICAgImdsLnJlYWRQaXhlbHMoMCwgMCwgMCwgMCwgZ2wuUkdC
QSwgZ2wuVU5TSUdORURfQllURSwgYXJyYXlCdWZmZXJWaWV3KSIsCisgICAgICAgICJnbC5yZW5k
ZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDAsIDApIiwKKyAgICAg
ICAgImdsLnNhbXBsZUNvdmVyYWdlKDAsIDApIiwKKyAgICAgICAgImdsLnNjaXNzb3IoMCwgMCwg
MCwgMCkiLAorICAgICAgICAiZ2wuc2hhZGVyU291cmNlKHNoYWRlciwgJycpIiwKKyAgICAgICAg
ImdsLnN0ZW5jaWxGdW5jKGdsLk5FVkVSLCAwLCAwKSIsCisgICAgICAgICJnbC5zdGVuY2lsRnVu
Y1NlcGFyYXRlKGdsLkZST05ULCBnbC5ORVZFUiwgMCwgMCkiLAorICAgICAgICAiZ2wuc3RlbmNp
bE1hc2soMCkiLAorICAgICAgICAiZ2wuc3RlbmNpbE1hc2tTZXBhcmF0ZShnbC5GUk9OVCwgMCki
LAorICAgICAgICAiZ2wuc3RlbmNpbE9wKGdsLktFRVAsIGdsLktFRVAsIGdsLktFRVApIiwKKyAg
ICAgICAgImdsLnN0ZW5jaWxPcFNlcGFyYXRlKGdsLkZST05ULCBnbC5LRUVQLCBnbC5LRUVQLCBn
bC5LRUVQKSIsCisgICAgICAgICJnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJH
QkEsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGFycmF5QnVmZmVyVmlldyki
LAorICAgICAgICAiZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5S
R0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZURhdGEpIiwKKyAgICAgICAgImdsLnRleEltYWdl
MkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwg
aW1hZ2UpIiwKKyAgICAgICAgImdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdC
QSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzKSIsCisgICAgICAgICJnbC50ZXhJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsIHZpZGVvKSIsCisgICAgICAgICJnbC50ZXhQYXJhbWV0ZXJmKGdsLlRFWFRVUkVfMkQsIGds
LlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVTVCkiLAorICAgICAgICAiZ2wudGV4UGFyYW1l
dGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpIiwK
KyAgICAgICAgImdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgMCwgMCwg
Z2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYXJyYXlCdWZmZXJWaWV3KSIsCisgICAgICAgICJn
bC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lH
TkVEX0JZVEUsIGltYWdlRGF0YSkiLAorICAgICAgICAiZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZSkiLAorICAg
ICAgICAiZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBn
bC5VTlNJR05FRF9CWVRFLCBjYW52YXMpIiwKKyAgICAgICAgImdsLnRleFN1YkltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgdmlkZW8pIiwK
KyAgICAgICAgImdsLnVuaWZvcm0xZih1bmlmb3JtTG9jYXRpb24sIDApIiwKKyAgICAgICAgImds
LnVuaWZvcm0xZnYodW5pZm9ybUxvY2F0aW9uLCBmbG9hdDMyYXJyYXkpIiwKKyAgICAgICAgImds
LnVuaWZvcm0xZnYodW5pZm9ybUxvY2F0aW9uLCBbMF0pIiwKKyAgICAgICAgImdsLnVuaWZvcm0x
aSh1bmlmb3JtTG9jYXRpb24sIDApIiwKKyAgICAgICAgImdsLnVuaWZvcm0xaXYodW5pZm9ybUxv
Y2F0aW9uLCBpbnQzMmFycmF5KSIsCisgICAgICAgICJnbC51bmlmb3JtMWl2KHVuaWZvcm1Mb2Nh
dGlvbiwgWzBdKSIsCisgICAgICAgICJnbC51bmlmb3JtMmYodW5pZm9ybUxvY2F0aW9uLCAwLCAw
KSIsCisgICAgICAgICJnbC51bmlmb3JtMmZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmxvYXQzMmFycmF5
KSIsCisgICAgICAgICJnbC51bmlmb3JtMmZ2KHVuaWZvcm1Mb2NhdGlvbiwgWzAsIDBdKSIsCisg
ICAgICAgICJnbC51bmlmb3JtMmkodW5pZm9ybUxvY2F0aW9uLCAwLCAwKSIsCisgICAgICAgICJn
bC51bmlmb3JtMml2KHVuaWZvcm1Mb2NhdGlvbiwgaW50MzJhcnJheSkiLAorICAgICAgICAiZ2wu
dW5pZm9ybTJpdih1bmlmb3JtTG9jYXRpb24sIFswLCAwXSkiLAorICAgICAgICAiZ2wudW5pZm9y
bTNmKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCwgMCkiLAorICAgICAgICAiZ2wudW5pZm9ybTNmdih1
bmlmb3JtTG9jYXRpb24sIGZsb2F0MzJhcnJheSkiLAorICAgICAgICAiZ2wudW5pZm9ybTNmdih1
bmlmb3JtTG9jYXRpb24sIFswLCAwLCAwXSkiLAorICAgICAgICAiZ2wudW5pZm9ybTNpKHVuaWZv
cm1Mb2NhdGlvbiwgMCwgMCwgMCkiLAorICAgICAgICAiZ2wudW5pZm9ybTNpdih1bmlmb3JtTG9j
YXRpb24sIGludDMyYXJyYXkpIiwKKyAgICAgICAgImdsLnVuaWZvcm0zaXYodW5pZm9ybUxvY2F0
aW9uLCBbMCwgMCwgMF0pIiwKKyAgICAgICAgImdsLnVuaWZvcm00Zih1bmlmb3JtTG9jYXRpb24s
IDAsIDAsIDAsIDApIiwKKyAgICAgICAgImdsLnVuaWZvcm00ZnYodW5pZm9ybUxvY2F0aW9uLCBm
bG9hdDMyYXJyYXkpIiwKKyAgICAgICAgImdsLnVuaWZvcm00ZnYodW5pZm9ybUxvY2F0aW9uLCBb
MCwgMCwgMCwgMF0pIiwKKyAgICAgICAgImdsLnVuaWZvcm00aSh1bmlmb3JtTG9jYXRpb24sIDAs
IDAsIDAsIDApIiwKKyAgICAgICAgImdsLnVuaWZvcm00aXYodW5pZm9ybUxvY2F0aW9uLCBpbnQz
MmFycmF5KSIsCisgICAgICAgICJnbC51bmlmb3JtNGl2KHVuaWZvcm1Mb2NhdGlvbiwgWzAsIDAs
IDAsIDBdKSIsCisgICAgICAgICJnbC51bmlmb3JtTWF0cml4MmZ2KHVuaWZvcm1Mb2NhdGlvbiwg
ZmFsc2UsIGZsb2F0MzJhcnJheSkiLAorICAgICAgICAiZ2wudW5pZm9ybU1hdHJpeDJmdih1bmlm
b3JtTG9jYXRpb24sIGZhbHNlLCBbMCwgMCwgMCwgMF0pIiwKKyAgICAgICAgImdsLnVuaWZvcm1N
YXRyaXgzZnYodW5pZm9ybUxvY2F0aW9uLCBmYWxzZSwgZmxvYXQzMmFycmF5KSIsCisgICAgICAg
ICJnbC51bmlmb3JtTWF0cml4M2Z2KHVuaWZvcm1Mb2NhdGlvbiwgZmFsc2UsIFswLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwXSkiLAorICAgICAgICAiZ2wudW5pZm9ybU1hdHJpeDRmdih1bmlmb3Jt
TG9jYXRpb24sIGZhbHNlLCBmbG9hdDMyYXJyYXkpIiwKKyAgICAgICAgImdsLnVuaWZvcm1NYXRy
aXg0ZnYodW5pZm9ybUxvY2F0aW9uLCBmYWxzZSwgWzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDBdKSIsCisgICAgICAgICJnbC51c2VQcm9ncmFtKHByb2dyYW0p
IiwKKyAgICAgICAgImdsLnZhbGlkYXRlUHJvZ3JhbShwcm9ncmFtKSIsCisgICAgICAgICJnbC52
ZXJ0ZXhBdHRyaWIxZigwLCAwKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIxZnYoMCwgZmxv
YXQzMmFycmF5KSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIxZnYoMCwgWzBdKSIsCisgICAg
ICAgICJnbC52ZXJ0ZXhBdHRyaWIyZigwLCAwLCAwKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRy
aWIyZnYoMCwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIyZnYoMCwg
WzAsIDBdKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIzZigwLCAwLCAwLCAwKSIsCisgICAg
ICAgICJnbC52ZXJ0ZXhBdHRyaWIzZnYoMCwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC52
ZXJ0ZXhBdHRyaWIzZnYoMCwgWzAsIDAsIDBdKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWI0
ZigwLCAwLCAwLCAwLCAwKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWI0ZnYoMCwgZmxvYXQz
MmFycmF5KSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWI0ZnYoMCwgWzAsIDAsIDAsIDBdKSIs
CisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDAsIGdsLkZMT0FULCBmYWxzZSwg
MCwgMCkiLAorICAgICAgICAiZ2wudmlld3BvcnQoMCwgMCwgMCwgMCkiLAorICAgIF07CisgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCB2b2lkVGVzdHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgc2hv
dWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgdm9pZFRlc3RzW2ldKTsKKyAgICB9
CisKKyAgICAvLyBGdW5jdGlvbnMgcmV0dXJuIG51bGxhYmxlIHZhbHVlcyBzaG91bGQgYWxsIHJl
dHVybiBudWxsLgorICAgIHZhciBudWxsVGVzdHMgPSBbCisgICAgICAgICJnbC5jcmVhdGVCdWZm
ZXIoKSIsCisgICAgICAgICJnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpIiwKKyAgICAgICAgImdsLmNy
ZWF0ZVByb2dyYW0oKSIsCisgICAgICAgICJnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIsCisgICAg
ICAgICJnbC5jcmVhdGVTaGFkZXIoZ2wuR0xfVkVSVEVYX1NIQURFUikiLAorICAgICAgICAiZ2wu
Y3JlYXRlVGV4dHVyZSgpIiwKKyAgICAgICAgImdsLmdldEFjdGl2ZUF0dHJpYihwcm9ncmFtLCAw
KSIsCisgICAgICAgICJnbC5nZXRBY3RpdmVVbmlmb3JtKHByb2dyYW0sIDApIiwKKyAgICAgICAg
ImdsLmdldEF0dGFjaGVkU2hhZGVycyhwcm9ncmFtKSIsCisgICAgICAgICJnbC5nZXRCdWZmZXJQ
YXJhbWV0ZXIoZ2wuQVJSQVlfQlVGRkVSLCBnbC5CVUZGRVJfU0laRSkiLAorICAgICAgICAiZ2wu
Z2V0Q29udGV4dEF0dHJpYnV0ZXMoKSIsCisgICAgICAgICJnbC5nZXRGcmFtZWJ1ZmZlckF0dGFj
aG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5G
UkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FKSIsCisgICAgICAgICJnbC5nZXRQYXJh
bWV0ZXIoZ2wuQ1VSUkVOVF9QUk9HUkFNKSIsCisgICAgICAgICJnbC5nZXRQcm9ncmFtSW5mb0xv
Zyhwcm9ncmFtKSIsCisgICAgICAgICJnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2dyYW0sIGds
LkxJTktfU1RBVFVTKSIsCisgICAgICAgICJnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wu
UkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfV0lEVEgpIiwKKyAgICAgICAgImdsLmdldFNo
YWRlckluZm9Mb2coc2hhZGVyKSIsCisgICAgICAgICJnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc2hh
ZGVyLCBnbC5TSEFERVJfVFlQRSkiLAorICAgICAgICAiZ2wuZ2V0U2hhZGVyU291cmNlKHNoYWRl
cikiLAorICAgICAgICAiZ2wuZ2V0VGV4UGFyYW1ldGVyKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRV
UkVfV1JBUF9TKSIsCisgICAgICAgICJnbC5nZXRVbmlmb3JtKHByb2dyYW0sIHVuaWZvcm1Mb2Nh
dGlvbikiLAorICAgICAgICAiZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICd2UG9zaXRp
b24nKSIsCisgICAgICAgICJnbC5nZXRWZXJ0ZXhBdHRyaWIoMCwgZ2wuVkVSVEVYX0FUVFJJQl9B
UlJBWV9CVUZGRVJfQklORElORykiLAorICAgICAgICAiZ2wuZ2V0U3VwcG9ydGVkRXh0ZW5zaW9u
cygpIiwKKyAgICAgICAgImdsLmdldEV4dGVuc2lvbignIiArIGV4dGVuc2lvbl9uYW1lICsgIicp
IiwKKyAgICBdOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVsbFRlc3RzLmxlbmd0aDsgKytp
KSB7CisgICAgICAgIHNob3VsZEJlTnVsbChudWxsVGVzdHNbaV0pOworICAgIH0KKworICAgIC8v
ICJJcyIgcXVlcmllcyBzaG91bGQgYWxsIHJldHVybiBmYWxzZS4KKyAgICBzaG91bGRCZUZhbHNl
KCJnbC5pc0J1ZmZlcihidWZmZXIpIik7CisgICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNFbmFibGVk
KGdsLkJMRU5EKSIpOworICAgIHNob3VsZEJlRmFsc2UoImdsLmlzRnJhbWVidWZmZXIoZnJhbWVi
dWZmZXIpIik7CisgICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNQcm9ncmFtKHByb2dyYW0pIik7Cisg
ICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNSZW5kZXJidWZmZXIocmVuZGVyYnVmZmVyKSIpOworICAg
IHNob3VsZEJlRmFsc2UoImdsLmlzU2hhZGVyKHNoYWRlcikiKTsKKyAgICBzaG91bGRCZUZhbHNl
KCJnbC5pc1RleHR1cmUodGV4dHVyZSkiKTsKKworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJvcigp
IiwgImdsLk5PX0VSUk9SIik7CisKKyAgICBmaW5pc2goKTsKK30KKworZnVuY3Rpb24gZmluaXNo
KCkgeworICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgICAgdmFyIGVwaWxvZ3VlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAgZXBpbG9ndWUub25sb2FkID0g
ZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICh3aW5kb3cubm9uS2hyb25vc0ZyYW1ld29ya05vdGlm
eURvbmUpCisgICAgICAgICAgICB3aW5kb3cubm9uS2hyb25vc0ZyYW1ld29ya05vdGlmeURvbmUo
KTsKKyAgICB9OworICAgIGVwaWxvZ3VlLnNyYyA9ICIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIjsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVwaWxvZ3VlKTsKK30K
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJpbml0KCkiPgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJj
YW52YXMiPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYjk1MGU4ZmEwMjdmZWVkMTkxNzk1
ZDU5OWRiMTg0N2IzNmU1MGUzZS4uMDM1NDQ2ZmI5ZDBlYzViNTg0MTEzN2E5Yzk1ZTEwNjRmNDFm
NDlmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC0zMDMsNiArMzAzLDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAg
ICAgaHRtbC9jYW52YXMvV2ViR0xTaGFkZXIuaWRsCiAgICAgaHRtbC9jYW52YXMvV2ViR0xUZXh0
dXJlLmlkbAogICAgIGh0bWwvY2FudmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9uLmlkbAorICAgIGh0
bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0LmlkbAogCiAgICAgaW5zcGVjdG9yL0luamVjdGVk
U2NyaXB0SG9zdC5pZGwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2
NDEyY2M1YTFiYmU3YWJhZjdkOGVhZDQ1Y2I1ZjQyMmExZjBjNzFhLi5mYzEzMTZjMjE5Yjg1ZDU1
OTZjYzJlYzAzZDJmM2VkZDJhNzg1ODE3IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDExLTAxLTA1ICBBZHJp
ZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIENIUk9NSVVNX2xvc2VfY29udGV4dCBXZWJHTCBl
eHRlbnNpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01MTQ5MgorCisgICAgICAgIFRlc3RzOiBmYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3Qt
cmVzdG9yZWQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1s
b3N0Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29y
ZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgor
ICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKFdlYkNvcmU6OkpTV2ViR0xSZW5kZXJpbmdDb250ZXh0
OjpnZXRTdXBwb3J0ZWRFeHRlbnNpb25zKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20v
VjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9W
OE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0
U3VwcG9ydGVkRXh0ZW5zaW9uc0NhbGxiYWNrKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJH
TEV4dGVuc2lvbi5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OldlYkdMUmVu
ZGVyaW5nQ29udGV4dFJlc3RvcmVUaW1lcjo6ZmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0xSZW5kZXJpbmdDb250ZXh0OjpnZXRTdXBwb3J0ZWRFeHRlbnNpb25zKToKKyAgICAgICAgKFdl
YkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Zm9yY2VMb3N0Q29udGV4dCk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6Om9uTG9zdENvbnRleHQpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXROdW1iZXJPZkV4dGVuc2lvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb25O
dW1iZXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oOgor
ICAgICAgICAqIGh0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0LmNwcDogQ29waWVkIGZyb20g
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oLgorICAgICAgICAoV2ViQ29yZTo6
V2ViS2l0TG9zZUNvbnRleHQ6OldlYktpdExvc2VDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OldlYktpdExvc2VDb250ZXh0Ojp+V2ViS2l0TG9zZUNvbnRleHQpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViS2l0TG9zZUNvbnRleHQ6OmdldE5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0
TG9zZUNvbnRleHQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRMb3NlQ29udGV4
dDo6bG9zZUNvbnRleHQpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0
Lmg6IENvcGllZCBmcm9tIFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaC4KKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJLaXRMb3NlQ29udGV4dC5pZGw6IENvcGllZCBmcm9tIFdl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaC4KKwogMjAxMS0wMS0wNCAgU2hlcmlm
ZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgcm9sbGluZyBvdXQgcjc0OTkyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGZiMTNhZmVhNzk3ZmI0
NzhhOWQ3NGY2ZTcwOWJjZGMxMjkwOGU2OGIuLmViYjkyYjFhYWUxYzVlMjA3M2M5MTljOGU3ZDE4
OTJlZTdjYTQ1NzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTUwOCw2ICs1MDgsNyBAQCBET01fQ0xB
U1NFUyA9IFwKICAgICBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlIFwKICAgICBXZWJLaXRDU1NNYXRy
aXggXAogICAgIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlIFwKKyAgICBXZWJLaXRMb3NlQ29udGV4
dCBcCiAgICAgV2ViS2l0UG9pbnQgXAogICAgIFdlYktpdFRyYW5zaXRpb25FdmVudCBcCiAgICAg
V2ViU29ja2V0IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmFtCmluZGV4IDExZWI5YzU3YTBmNzhiOWZhZmE5ZDVlNmY3ODJmZmNhZTRk
MGYyZmMuLjRjNzVhODRlY2Y0NjY3OTc4N2RlY2JiMDYzMDg1ZTc5MjA1MmZmNTUgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpA
QCAtNTkxLDYgKzU5MSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1dlYktpdENTU01hdHJpeC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dlYktpdExvc2VDb250ZXh0LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dl
YktpdExvc2VDb250ZXh0LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRQb2lu
dC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRQb2ludC5oIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBcCkBAIC0xNTY1
LDYgKzE1NjcsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvaHRtbC9jYW52YXMv
SW50OEFycmF5LmggXAogCVdlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmNwcCBc
CiAJV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaCBcCisJV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJLaXRMb3NlQ29udGV4dC5jcHAgXAorCVdlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
S2l0TG9zZUNvbnRleHQuaCBcCiAJV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MTZBcnJheS5jcHAg
XAogCVdlYkNvcmUvaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaCBcCiAJV2ViQ29yZS9odG1sL2Nh
bnZhcy9VaW50MzJBcnJheS5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkg
Yi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBkZmJmODZlNjhmMmFjZGEwNjhkYmFhYjFjMDE1
OGE3NWE0YjIyZWYwLi45NmM5ZTk5MWYxY2VjMTcyNmZiOWI5NjhjZjlmM2IzM2JiMjZmZjQ2IDEw
MDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQpAQCAtMjI4LDYgKzIyOCw3IEBACiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2ViR0xTaGFk
ZXIuaWRsJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9XZWJHTFRleHR1cmUuaWRsJywKICAg
ICAgICAgICAgICdodG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5pZGwnLAorICAgICAg
ICAgICAgJ2h0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0LmlkbCcsCiAgICAgICAgICAgICAn
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5pZGwnLAogICAgICAgICAgICAgJ2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSmF2
YVNjcmlwdENhbGxGcmFtZS5pZGwnLApAQCAtMTk0OCw2ICsxOTQ5LDggQEAKICAgICAgICAgICAg
ICdodG1sL2NhbnZhcy9XZWJHTFRleHR1cmUuaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMv
V2ViR0xVbmlmb3JtTG9jYXRpb24uY3BwJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9XZWJH
TFVuaWZvcm1Mb2NhdGlvbi5oJywKKyAgICAgICAgICAgICdodG1sL2NhbnZhcy9XZWJLaXRMb3Nl
Q29udGV4dC5jcHAnLAorICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0
LmgnLAogICAgICAgICAgICAgJ2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmNwcCcsCiAg
ICAgICAgICAgICAnaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaCcsCiAgICAgICAgICAg
ICAnaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3BwJywKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS5wcmkgYi9XZWJDb3JlL1dlYkNvcmUucHJpCmluZGV4IGJjM2Y1OTUyMzgx
NTExODEwNGM4NmEzN2JkZGY4MTdmY2Y5ZDhlNzQuLmQxMTE5MjQ4Yzg0ZWFhZWNkYmViMDgzMzY1
ZmUyZWM0ZGNmODdlZDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcmkKKysrIGIvV2Vi
Q29yZS9XZWJDb3JlLnByaQpAQCAtMjA0LDYgKzIwNCw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAg
ICAgaHRtbC9jYW52YXMvSW50MTZBcnJheS5pZGwgXAogICAgIGh0bWwvY2FudmFzL1dlYkdMVGV4
dHVyZS5pZGwgXAogICAgIGh0bWwvY2FudmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9uLmlkbCBcCisg
ICAgaHRtbC9jYW52YXMvV2ViS2l0TG9zZUNvbnRleHQuaWRsIFwKICAgICBodG1sL2NhbnZhcy9V
aW50OEFycmF5LmlkbCBcCiAgICAgaHRtbC9jYW52YXMvVWludDMyQXJyYXkuaWRsIFwKICAgICBo
dG1sL2NhbnZhcy9VaW50MTZBcnJheS5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
LnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggOGExNWZlYzA3ZWQxNzkzOWQyMGQ5MjU3
NzJiODkzODE1OTE3YzEyYS4uMDVhN2QzYjg3Yjk0ZDQwYTBmMzA4NjNjMmU4MjJkMThhZDJlNzk5
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUu
cHJvCkBAIC0zNzkzLDYgKzM3OTMsNyBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfM0RfQ0FO
VkFTPTEpIHsKICAgICAgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmggXAogICAgICAg
ICBodG1sL2NhbnZhcy9XZWJHTFRleHR1cmUuaCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdM
VW5pZm9ybUxvY2F0aW9uLmggXAorICAgICAgICBodG1sL2NhbnZhcy9XZWJLaXRMb3NlQ29udGV4
dC5oIFwKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmggXAogICAgICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oIFwKICAgICAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvcXQvRXh0ZW5zaW9uczNEUXQuaApAQCAtMzgxNiw2ICszODE3LDcgQEAgY29u
dGFpbnMoREVGSU5FUywgRU5BQkxFXzNEX0NBTlZBUz0xKSB7CiAgICAgICAgIGh0bWwvY2FudmFz
L09FU1RleHR1cmVGbG9hdC5jcHAgXAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTFRleHR1cmUu
Y3BwIFwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xVbmlmb3JtTG9jYXRpb24uY3BwIFwKKyAg
ICAgICAgaHRtbC9jYW52YXMvV2ViS2l0TG9zZUNvbnRleHQuY3BwIFwKICAgICAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuY3BwIFwKICAgICAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvcXQvRXh0ZW5zaW9uczNEUXQuY3BwIFwKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggNTUxOTA0MzFmM2UwMzcyMjQwY2JmYzg2MmUwNjkxNGM1NWI2YWM4
NC4uZWM5NmQ2Yjc1NzAzMjVmZDU3MGRkODQ4Yjk4OTdiZjdkNzM1ODllNyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI5NjAsNiArMjk2MCwxMCBAQAog
CQk5M0YxOUIxNTA4MjQ1RTU5MDAxRTlBQkMgLyogQ29jb2EuZnJhbWV3b3JrIGluIEZyYW1ld29y
a3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjVDMjg2OTUwMjg0NkRDRDAx
ODYzNUNBIC8qIENvY29hLmZyYW1ld29yayAqLzsgfTsKIAkJOTNGMTlCMTYwODI0NUU1OTAwMUU5
QUJDIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY4MjE2Mjk5MDI5RjRGQjUwMTAwMDEzMSAvKiBKYXZh
U2NyaXB0Q29yZS5mcmFtZXdvcmsgKi87IH07CiAJCTkzRjE5QjE3MDgyNDVFNTkwMDFFOUFCQyAv
KiBsaWJpY3Vjb3JlLmR5bGliIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTNGMUQzMUEwNTU4Q0M1QzAwODIxQkMwIC8qIGxpYmljdWNvcmUuZHlsaWIg
Ki87IH07CisJCTkzRjFENUJBMTJENTMyQzQwMDgzMkJFQyAvKiBXZWJLaXRMb3NlQ29udGV4dC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0YxRDVC
NzEyRDUzMkM0MDA4MzJCRUMgLyogV2ViS2l0TG9zZUNvbnRleHQuY3BwICovOyB9OworCQk5M0Yx
RDVCQjEyRDUzMkM0MDA4MzJCRUMgLyogV2ViS2l0TG9zZUNvbnRleHQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzRjFENUI4MTJENTMyQzQwMDgzMkJF
QyAvKiBXZWJLaXRMb3NlQ29udGV4dC5oICovOyB9OworCQk5M0YxRDVDMDEyRDUzMzU2MDA4MzJC
RUMgLyogSlNXZWJLaXRMb3NlQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5M0YxRDVCRTEyRDUzMzU2MDA4MzJCRUMgLyogSlNXZWJLaXRM
b3NlQ29udGV4dC5jcHAgKi87IH07CisJCTkzRjFENUMxMTJENTMzNTYwMDgzMkJFQyAvKiBKU1dl
YktpdExvc2VDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5M0YxRDVCRjEyRDUzMzU2MDA4MzJCRUMgLyogSlNXZWJLaXRMb3NlQ29udGV4dC5o
ICovOyB9OwogCQk5M0Y2RjFFRDEyN0Y3MEIxMDA1NUNCMDYgLyogV2ViR0xDb250ZXh0RXZlbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNGNkYx
RUExMjdGNzBCMTAwNTVDQjA2IC8qIFdlYkdMQ29udGV4dEV2ZW50LmNwcCAqLzsgfTsKIAkJOTNG
NkYxRUUxMjdGNzBCMTAwNTVDQjA2IC8qIFdlYkdMQ29udGV4dEV2ZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0Y2RjFFQjEyN0Y3MEIxMDA1NUNC
MDYgLyogV2ViR0xDb250ZXh0RXZlbnQuaCAqLzsgfTsKIAkJOTNGOTI1NDMwRjdFRjVCODAwN0Uz
N0M5IC8qIENoZWNrZWRSYWRpb0J1dHRvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkzRjkyNTQxMEY3RUY1QjgwMDdFMzdDOSAvKiBDaGVja2VkUmFk
aW9CdXR0b25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKQEAgLTc5MjUsNiArNzkyOSw4IEBACiAJCTZFQkYwRTUzMTJBODkyOTgwMERCMTcwOSAvKiBX
ZWJHTEV4dGVuc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJHTEV4
dGVuc2lvbi5oOyBwYXRoID0gY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTZFQkYwRTc0MTJBOTg2ODgwMERCMTcwOSAvKiBKU09FU1RleHR1cmVG
bG9hdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU09FU1RleHR1
cmVGbG9hdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZFQkYwRTc1MTJBOTg2
ODgwMERCMTcwOSAvKiBKU09FU1RleHR1cmVGbG9hdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU09FU1RleHR1cmVGbG9hdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk5M0YxRDVCRTEyRDUzMzU2MDA4MzJCRUMgLyogSlNXZWJLaXRMb3NlQ29udGV4dC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBKU1dlYktpdExvc2VDb250ZXh0
LmNwcDsgcGF0aCA9IEpTV2ViS2l0TG9zZUNvbnRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk5M0YxRDVCRjEyRDUzMzU2MDA4MzJCRUMgLyogSlNXZWJLaXRMb3NlQ29udGV4
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBKU1dlYktpdExvc2VDb250ZXh0
Lmg7IHBhdGggPSBKU1dlYktpdExvc2VDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTZFRThBNzcwMTBGODAzRjMwMDVBNEEyNCAvKiBKU1dlYkdMQ29udGV4dEF0dHJpYnV0
ZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNXZWJHTENvbnRl
eHRBdHRyaWJ1dGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkVFOEE3NzEx
MEY4MDNGMzAwNUE0QTI0IC8qIEpTV2ViR0xDb250ZXh0QXR0cmlidXRlcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzI2MjZFMDEwRUYwMjJGRTAwQTA3RTIwIC8qIEZvbnRG
YXN0UGF0aC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGb250RmFz
dFBhdGguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTI5Nyw2ICs5MzAzLDkg
QEAKIAkJOTNGMTlCMTkwODI0NUU1OTAwMUU5QUJDIC8qIEluZm8ucGxpc3QgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQucGxpc3QueG1sOyBwYXRoID0gSW5mby5wbGlzdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
dGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCTkzRjE5QjFBMDgyNDVFNUEwMDFFOUFC
QyAvKiBXZWJDb3JlLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBs
aWNpdEZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0
aCA9IFdlYkNvcmUuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9
OwogCQk5M0YxRDMxQTA1NThDQzVDMDA4MjFCQzAgLyogbGliaWN1Y29yZS5keWxpYiAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9ICJjb21waWxlZC5tYWNo
LW8uZHlsaWIiOyBuYW1lID0gbGliaWN1Y29yZS5keWxpYjsgcGF0aCA9IC91c3IvbGliL2xpYmlj
dWNvcmUuZHlsaWI7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CisJCTkzRjFENUI3MTJE
NTMyQzQwMDgzMkJFQyAvKiBXZWJLaXRMb3NlQ29udGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJLaXRMb3NlQ29udGV4dC5jcHA7IHBhdGggPSBjYW52YXMv
V2ViS2l0TG9zZUNvbnRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0Yx
RDVCODEyRDUzMkM0MDA4MzJCRUMgLyogV2ViS2l0TG9zZUNvbnRleHQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViS2l0TG9zZUNvbnRleHQuaDsgcGF0aCA9IGNhbnZhcy9X
ZWJLaXRMb3NlQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5M0YxRDVC
OTEyRDUzMkM0MDA4MzJCRUMgLyogV2ViS2l0TG9zZUNvbnRleHQuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgbmFtZSA9IFdlYktpdExvc2VDb250ZXh0LmlkbDsgcGF0aCA9IGNhbnZhcy9XZWJLaXRMb3Nl
Q29udGV4dC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzRjZGMUVBMTI3Rjcw
QjEwMDU1Q0IwNiAvKiBXZWJHTENvbnRleHRFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBXZWJHTENvbnRleHRFdmVudC5jcHA7IHBhdGggPSBjYW52YXMvV2Vi
R0xDb250ZXh0RXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0Y2RjFF
QjEyN0Y3MEIxMDA1NUNCMDYgLyogV2ViR0xDb250ZXh0RXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gV2ViR0xDb250ZXh0RXZlbnQuaDsgcGF0aCA9IGNhbnZhcy9XZWJH
TENvbnRleHRFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0Y2RjFFQzEy
N0Y3MEIxMDA1NUNCMDYgLyogV2ViR0xDb250ZXh0RXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
bmFtZSA9IFdlYkdMQ29udGV4dEV2ZW50LmlkbDsgcGF0aCA9IGNhbnZhcy9XZWJHTENvbnRleHRF
dmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzA4OCw2ICsxMzA5Nyw5
IEBACiAJCTQ5NDg0RkFFMTAyQ0YwMUUwMDE4N0REMyAvKiBjYW52YXMgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTkzRjFENUI3MTJENTMyQzQwMDgzMkJF
QyAvKiBXZWJLaXRMb3NlQ29udGV4dC5jcHAgKi8sCisJCQkJOTNGMUQ1QjgxMkQ1MzJDNDAwODMy
QkVDIC8qIFdlYktpdExvc2VDb250ZXh0LmggKi8sCisJCQkJOTNGMUQ1QjkxMkQ1MzJDNDAwODMy
QkVDIC8qIFdlYktpdExvc2VDb250ZXh0LmlkbCAqLywKIAkJCQk0OUVFQ0RDQTEwNTAzQzIzMDAw
OTlGQUIgLyogQXJyYXlCdWZmZXIuY3BwICovLAogCQkJCTQ5RUVDRENCMTA1MDNDMjMwMDA5OUZB
QiAvKiBBcnJheUJ1ZmZlci5oICovLAogCQkJCTQ5RUVDRENDMTA1MDNDMjMwMDA5OUZBQiAvKiBB
cnJheUJ1ZmZlci5pZGwgKi8sCkBAIC0xNTgzNCw2ICsxNTg0Niw4IEBACiAJCUE4M0I3OTA4MEND
QUZGMkIwMDBCMDgyNSAvKiBIVE1MICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGls
ZHJlbiA9ICgKKwkJCQk5M0YxRDVCRTEyRDUzMzU2MDA4MzJCRUMgLyogSlNXZWJLaXRMb3NlQ29u
dGV4dC5jcHAgKi8sCisJCQkJOTNGMUQ1QkYxMkQ1MzM1NjAwODMyQkVDIC8qIEpTV2ViS2l0TG9z
ZUNvbnRleHQuaCAqLywKIAkJCQk0OUVFQ0VGMjEwNTA3MEM0MDAwOTlGQUIgLyogSlNBcnJheUJ1
ZmZlci5jcHAgKi8sCiAJCQkJNDlFRUNFRjMxMDUwNzBDNDAwMDk5RkFCIC8qIEpTQXJyYXlCdWZm
ZXIuaCAqLywKIAkJCQk0OUVFQ0YxOTEwNTA3MkYzMDAwOTlGQUIgLyogSlNBcnJheUJ1ZmZlclZp
ZXcuY3BwICovLApAQCAtMjIyODEsNiArMjIyOTUsOCBAQAogCQkJCTdFRTY4NDZEMTJEMjZFMzgw
MEU3OTQxNSAvKiBSZXNvdXJjZVJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTdFRTY4NDZG
MTJEMjZFMzgwMEU3OTQxNSAvKiBSZXNvdXJjZVJlcXVlc3RDRk5ldC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJN0VFNjg0NzAxMkQyNkUzODAwRTc5NDE1IC8qIFJlc291cmNlUmVzcG9uc2UuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTkzRjFENUJCMTJENTMyQzQwMDgzMkJFQyAvKiBXZWJLaXRMb3NlQ29u
dGV4dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTNGMUQ1QzExMkQ1MzM1NjAwODMyQkVDIC8qIEpT
V2ViS2l0TG9zZUNvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjQ5NjIsNiArMjQ5NzgsOCBA
QAogCQkJCTdFRTY4NDZFMTJEMjZFMzgwMEU3OTQxNSAvKiBSZXNvdXJjZVJlcXVlc3RDRk5ldC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk3RUU2ODQ3MTEyRDI2RTM4MDBFNzk0MTUgLyogUmVzb3Vy
Y2VSZXNwb25zZUNGTmV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdFRTY4NDc1MTJEMjZFNzAw
MEU3OTQxNSAvKiBSZXNvdXJjZUxvYWRlckNGTmV0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTkz
RjFENUJBMTJENTMyQzQwMDgzMkJFQyAvKiBXZWJLaXRMb3NlQ29udGV4dC5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk5M0YxRDVDMDEyRDUzMzU2MDA4MzJCRUMgLyogSlNXZWJLaXRMb3NlQ29udGV4
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
ZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dl
YkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKaW5kZXggZTE5NjNkYTVkZDE5ODM4Y2QwOWVk
Yjc4ZWViNWZiYzJiMjhmYTQ2NC4uZWQ0YTljYTdmZjkzMTA0MGM5YjNlN2Q5NDZkNjE1ZmFhZWY0
ZTk3MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5n
Q29udGV4dEN1c3RvbS5jcHAKQEAgLTI5LDkgKzI5LDExIEBACiAKICNpbmNsdWRlICJKU1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5oIgogCisjaW5jbHVkZSAiV2ViS2l0TG9zZUNvbnRleHQuaCIKICNp
bmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiSFRNTENhbnZhc0VsZW1lbnQuaCIK
ICNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCisjaW5jbHVkZSAiSlNXZWJLaXRMb3NlQ29u
dGV4dC5oIgogI2luY2x1ZGUgIkpTSFRNTENhbnZhc0VsZW1lbnQuaCIKICNpbmNsdWRlICJKU0hU
TUxJbWFnZUVsZW1lbnQuaCIKICNpbmNsdWRlICJKU0ltYWdlRGF0YS5oIgpAQCAtMTY5LDYgKzE3
MSw4IEBAIHN0YXRpYyBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBXZWJHTEV4dGVuCiAgICAgaWYgKCFleHRlbnNpb24pCiAgICAg
ICAgIHJldHVybiBqc051bGwoKTsKICAgICBzd2l0Y2ggKGV4dGVuc2lvbi0+Z2V0TmFtZSgpKSB7
CisgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6V2ViS2l0TG9zZUNvbnRleHROYW1lOgorICAgICAg
ICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PFdlYktpdExvc2VD
b250ZXh0Kj4oZXh0ZW5zaW9uKSk7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVGV4dHVy
ZUZsb2F0TmFtZToKICAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0
aWNfY2FzdDxPRVNUZXh0dXJlRmxvYXQqPihleHRlbnNpb24pKTsKICAgICB9CkBAIC0zMjAsNiAr
MzI0LDggQEAgSlNWYWx1ZSBKU1dlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0U2hhZGVyUGFyYW1l
dGVyKEV4ZWNTdGF0ZSogZXhlYykKIEpTVmFsdWUgSlNXZWJHTFJlbmRlcmluZ0NvbnRleHQ6Omdl
dFN1cHBvcnRlZEV4dGVuc2lvbnMoRXhlY1N0YXRlKiBleGVjKQogewogICAgIFdlYkdMUmVuZGVy
aW5nQ29udGV4dCogY29udGV4dCA9IHN0YXRpY19jYXN0PFdlYkdMUmVuZGVyaW5nQ29udGV4dCo+
KGltcGwoKSk7CisgICAgaWYgKGNvbnRleHQtPmlzQ29udGV4dExvc3QoKSkKKyAgICAgICAgcmV0
dXJuIGpzTnVsbCgpOwogICAgIFZlY3RvcjxTdHJpbmc+IHZhbHVlID0gY29udGV4dC0+Z2V0U3Vw
cG9ydGVkRXh0ZW5zaW9ucygpOwogICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGxpc3Q7CiAgICAg
Zm9yIChzaXplX3QgaWkgPSAwOyBpaSA8IHZhbHVlLnNpemUoKTsgKytpaSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9t
LmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0
Q3VzdG9tLmNwcAppbmRleCAwNDhjZWY1NzM2NmY2M2M3ZTFhNWM2Zjc2YzFmNmM0NGJiOTZmYjU2
Li43MGRmN2MxYzA2ZjM5YzE0YmVhYjhjMTJlOWFjNTZjYjE4OGQ1YTcwIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5j
cHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRl
eHRDdXN0b20uY3BwCkBAIC0zNSwzNSArMzUsMzMgQEAKICNpbmNsdWRlICJWOFdlYkdMUmVuZGVy
aW5nQ29udGV4dC5oIgogCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgotCiAjaW5jbHVkZSAi
Tm90SW1wbGVtZW50ZWQuaCIKLQotI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0KKyNpbmNs
dWRlICJWOEFycmF5QnVmZmVyVmlldy5oIgogI2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1
ZGUgIlY4QmluZGluZ01hY3Jvcy5oIgotI2luY2x1ZGUgIlY4QXJyYXlCdWZmZXJWaWV3LmgiCi0j
aW5jbHVkZSAiVjhXZWJHTEJ1ZmZlci5oIgotI2luY2x1ZGUgIlY4SW50OEFycmF5LmgiCisjaW5j
bHVkZSAiVjhXZWJLaXRMb3NlQ29udGV4dC5oIgogI2luY2x1ZGUgIlY4RmxvYXQzMkFycmF5Lmgi
Ci0jaW5jbHVkZSAiVjhXZWJHTEZyYW1lYnVmZmVyLmgiCi0jaW5jbHVkZSAiVjhJbnQzMkFycmF5
LmgiCi0jaW5jbHVkZSAiVjhXZWJHTFByb2dyYW0uaCIKLSNpbmNsdWRlICJWOFdlYkdMUmVuZGVy
YnVmZmVyLmgiCi0jaW5jbHVkZSAiVjhXZWJHTFNoYWRlci5oIgotI2luY2x1ZGUgIlY4SW50MTZB
cnJheS5oIgotI2luY2x1ZGUgIlY4V2ViR0xUZXh0dXJlLmgiCi0jaW5jbHVkZSAiVjhXZWJHTFVu
aWZvcm1Mb2NhdGlvbi5oIgotI2luY2x1ZGUgIlY4VWludDhBcnJheS5oIgotI2luY2x1ZGUgIlY4
VWludDMyQXJyYXkuaCIKLSNpbmNsdWRlICJWOFVpbnQxNkFycmF5LmgiCiAjaW5jbHVkZSAiVjhI
VE1MQ2FudmFzRWxlbWVudC5oIgogI2luY2x1ZGUgIlY4SFRNTEltYWdlRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIlY4SFRNTFZpZGVvRWxlbWVudC5oIgogI2luY2x1ZGUgIlY4SW1hZ2VEYXRhLmgiCisj
aW5jbHVkZSAiVjhJbnQxNkFycmF5LmgiCisjaW5jbHVkZSAiVjhJbnQzMkFycmF5LmgiCisjaW5j
bHVkZSAiVjhJbnQ4QXJyYXkuaCIKICNpbmNsdWRlICJWOE9FU1RleHR1cmVGbG9hdC5oIgogI2lu
Y2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRlICJWOFVpbnQxNkFycmF5LmgiCisjaW5jbHVkZSAi
VjhVaW50MzJBcnJheS5oIgorI2luY2x1ZGUgIlY4VWludDhBcnJheS5oIgorI2luY2x1ZGUgIlY4
V2ViR0xCdWZmZXIuaCIKKyNpbmNsdWRlICJWOFdlYkdMRnJhbWVidWZmZXIuaCIKKyNpbmNsdWRl
ICJWOFdlYkdMUHJvZ3JhbS5oIgorI2luY2x1ZGUgIlY4V2ViR0xSZW5kZXJidWZmZXIuaCIKKyNp
bmNsdWRlICJWOFdlYkdMU2hhZGVyLmgiCisjaW5jbHVkZSAiVjhXZWJHTFRleHR1cmUuaCIKKyNp
bmNsdWRlICJWOFdlYkdMVW5pZm9ybUxvY2F0aW9uLmgiCiAjaW5jbHVkZSAiV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmgiCisjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC0xNTksNiArMTU3LDkgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiB0b1Y4T2JqZWN0KFdlYkdMRXh0ZW5zaW9uKiBleHRlbnNpb24sIHY4OjpIYW5kbGU8djgKICAg
ICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CiAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGV4dGVu
c2lvbk9iamVjdDsKICAgICBzd2l0Y2ggKGV4dGVuc2lvbi0+Z2V0TmFtZSgpKSB7CisgICAgY2Fz
ZSBXZWJHTEV4dGVuc2lvbjo6V2ViS2l0TG9zZUNvbnRleHROYW1lOgorICAgICAgICBleHRlbnNp
b25PYmplY3QgPSB0b1Y4KHN0YXRpY19jYXN0PFdlYktpdExvc2VDb250ZXh0Kj4oZXh0ZW5zaW9u
KSk7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1RleHR1cmVG
bG9hdE5hbWU6CiAgICAgICAgIGV4dGVuc2lvbk9iamVjdCA9IHRvVjgoc3RhdGljX2Nhc3Q8T0VT
VGV4dHVyZUZsb2F0Kj4oZXh0ZW5zaW9uKSk7CiAgICAgICAgIGJyZWFrOwpAQCAtMzc1LDYgKzM3
Niw5IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0
U3VwcG9ydGVkRXh0ZW5zaW9uc0NhbGxiYWNrKGNvCiB7CiAgICAgSU5DX1NUQVRTKCJET00uV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmdldFN1cHBvcnRlZEV4dGVuc2lvbnNDYWxsYmFjaygpIik7CiAg
ICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBpbXAgPSBWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6
dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CisgICAgaWYgKGltcC0+aXNDb250ZXh0TG9zdCgpKQor
ICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKwogICAgIFZlY3RvcjxTdHJpbmc+IHZhbHVlID0g
aW1wLT5nZXRTdXBwb3J0ZWRFeHRlbnNpb25zKCk7CiAgICAgdjg6OkxvY2FsPHY4OjpBcnJheT4g
YXJyYXkgPSB2ODo6QXJyYXk6Ok5ldyh2YWx1ZS5zaXplKCkpOwogICAgIGZvciAoc2l6ZV90IGlp
ID0gMDsgaWkgPCB2YWx1ZS5zaXplKCk7ICsraWkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMRXh0ZW5zaW9uLmggYi9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5z
aW9uLmgKaW5kZXggM2RmM2I3MzJiNzQxODU3MTQ0MzVmMTJkNzFkNzQ0ZGRiOGViODQxOS4uZjJk
NmI3YmViYjNiZDlhNGY5YTlmN2NlNjc2NDgxMmUwNGZiOTM0NSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xFeHRlbnNpb24uaApAQCAtMzQsNyArMzQsOCBAQCBjbGFzcyBXZWJHTEV4dGVuc2lvbiA6
IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdMRXh0ZW5zaW9uPiB7CiBwdWJsaWM6CiAgICAgLy8gRXh0
ZW5zaW9uIG5hbWVzIGFyZSBuZWVkZWQgdG8gcHJvcGVybHkgd3JhcCBpbnN0YW5jZXMgaW4gSmF2
YVNjcmlwdCBvYmplY3RzLgogICAgIGVudW0gRXh0ZW5zaW9uTmFtZSB7Ci0gICAgICAgIE9FU1Rl
eHR1cmVGbG9hdE5hbWUKKyAgICAgICAgV2ViS2l0TG9zZUNvbnRleHROYW1lLAorICAgICAgICBP
RVNUZXh0dXJlRmxvYXROYW1lLAogICAgIH07CiAKICAgICB2aXJ0dWFsIH5XZWJHTEV4dGVuc2lv
bigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuY3BwIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCmlu
ZGV4IGQwYzUzOTc4YWJjNWYwNjFhMDhhNzA5NmVmNTJmZTFiMmMwMGExZDEuLjQ0NWU0ZGQ0ZTJm
MGJlZTk1ZTNkZTY0MDViNGNlNmVjZTAxYTdiYTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJD
YWNoZWRJbWFnZS5oIgogI2luY2x1ZGUgIkNhbnZhc1BpeGVsQXJyYXkuaCIKICNpbmNsdWRlICJD
aGVja2VkSW50LmgiCisjaW5jbHVkZSAiV2ViS2l0TG9zZUNvbnRleHQuaCIKICNpbmNsdWRlICJD
b25zb2xlLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRXh0ZW5zaW9uczNE
LmgiCkBAIC0xMTAsMTEgKzExMSwxMSBAQCBwcml2YXRlOgogdm9pZCBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OldlYkdMUmVuZGVyaW5nQ29udGV4dFJlc3RvcmVUaW1lcjo6ZmlyZWQoKQogewogICAg
IC8vIFRpbWVyIGlzIHN0YXJ0ZWQgd2hlbiBtX2NvbnRleHRMb3N0IGlzIGZhbHNlLiAgSXQgd2ls
bCBmaXJzdCBjYWxsCi0gICAgLy8gbG9zZUNvbnRleHQsIHdoaWNoIHdpbGwgc2V0IG1fY29udGV4
dExvc3QgdG8gdHJ1ZS4gIFRoZW4gaXQgd2lsbCBrZWVwCisgICAgLy8gb25Mb3N0Q29udGV4dCwg
d2hpY2ggd2lsbCBzZXQgbV9jb250ZXh0TG9zdCB0byB0cnVlLiAgVGhlbiBpdCB3aWxsIGtlZXAK
ICAgICAvLyBjYWxsaW5nIHJlc3RvcmVDb250ZXh0IGFuZCByZXNjaGVkdWxlIGl0c2VsZiB1bnRp
bCBtX2NvbnRleHRMb3N0IGlzIGJhY2sKICAgICAvLyB0byBmYWxzZS4KICAgICBpZiAoIW1fY29u
dGV4dC0+bV9jb250ZXh0TG9zdCkgewotICAgICAgICBtX2NvbnRleHQtPmxvc2VDb250ZXh0KCk7
CisgICAgICAgIG1fY29udGV4dC0+b25Mb3N0Q29udGV4dCgpOwogICAgICAgICBzdGFydE9uZVNo
b3Qoc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMpOwogICAgIH0gZWxzZSB7CiAgICAgICAg
IC8vIFRoZSByZW5kZXJpbmcgY29udGV4dCBpcyBub3QgcmVzdG9yZWQgaWYgdGhlcmUgaXMgbm8g
aGFuZGxlciBmb3IKQEAgLTE1MDIsNiArMTUwMyw5IEBAIHVuc2lnbmVkIGxvbmcgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0OjpnZXRFcnJvcigpCiAKIFdlYkdMRXh0ZW5zaW9uKiBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OmdldEV4dGVuc2lvbihjb25zdCBTdHJpbmcmIG5hbWUpCiB7CisgICAgaWYgKGlz
Q29udGV4dExvc3QoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKICAgICBpZiAoZXF1YWxJZ25vcmlu
Z0Nhc2UobmFtZSwgIk9FU190ZXh0dXJlX2Zsb2F0IikKICAgICAgICAgJiYgbV9jb250ZXh0LT5n
ZXRFeHRlbnNpb25zKCktPnN1cHBvcnRzKCJHTF9PRVNfdGV4dHVyZV9mbG9hdCIpKSB7CiAgICAg
ICAgIGlmICghbV9vZXNUZXh0dXJlRmxvYXQpIHsKQEAgLTE1MDksNiArMTUxMywxMCBAQCBXZWJH
TEV4dGVuc2lvbiogV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24oY29uc3QgU3Ry
aW5nJiBuYW1lKQogICAgICAgICAgICAgbV9vZXNUZXh0dXJlRmxvYXQgPSBPRVNUZXh0dXJlRmxv
YXQ6OmNyZWF0ZSgpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBtX29lc1RleHR1cmVGbG9h
dC5nZXQoKTsKKyAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJXRUJLSVRf
bG9zZV9jb250ZXh0IikpIHsKKyAgICAgICAgaWYgKCFtX3dlYmtpdExvc2VDb250ZXh0KQorICAg
ICAgICAgICAgbV93ZWJraXRMb3NlQ29udGV4dCA9IFdlYktpdExvc2VDb250ZXh0OjpjcmVhdGUo
dGhpcyk7CisgICAgICAgIHJldHVybiBtX3dlYmtpdExvc2VDb250ZXh0LmdldCgpOwogICAgIH0K
IAogICAgIHJldHVybiAwOwpAQCAtMTkxNCw2ICsxOTIyLDcgQEAgVmVjdG9yPFN0cmluZz4gV2Vi
R0xSZW5kZXJpbmdDb250ZXh0OjpnZXRTdXBwb3J0ZWRFeHRlbnNpb25zKCkKICAgICBWZWN0b3I8
U3RyaW5nPiByZXN1bHQ7CiAgICAgaWYgKG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLT5zdXBw
b3J0cygiR0xfT0VTX3RleHR1cmVfZmxvYXQiKSkKICAgICAgICAgcmVzdWx0LmFwcGVuZCgiT0VT
X3RleHR1cmVfZmxvYXQiKTsKKyAgICByZXN1bHQuYXBwZW5kKCJXRUJLSVRfbG9zZV9jb250ZXh0
Iik7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMzM3Myw3ICszMzgyLDE3IEBAIHZvaWQg
V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2aWV3cG9ydChsb25nIHgsIGxvbmcgeSwgbG9uZyB3aWR0
aCwgbG9uZyBoZWlnaHQpCiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0K
IAotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6Omxvc2VDb250ZXh0KCkKK3ZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0Ojpmb3JjZUxvc3RDb250ZXh0KCkKK3sKKyAgICBpZiAoaXNDb250ZXh0
TG9zdCgpKSB7CisgICAgICAgIG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3ND
b250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKK30KKwordm9pZCBXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6Om9uTG9zdENvbnRleHQoKQogewogICAgIG1fY29udGV4dExvc3QgPSB0cnVl
OwogCkBAIC00MjE5LDExICs0MjM4LDE2IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpy
ZXN0b3JlU3RhdGVzQWZ0ZXJWZXJ0ZXhBdHRyaWIwU2ltdWxhdGlvbigpCiAKIGludCBXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OmdldE51bWJlck9mRXh0ZW5zaW9ucygpCiB7Ci0gICAgcmV0dXJuICht
X29lc1RleHR1cmVGbG9hdCA/IDEgOiAwKTsKKyAgICByZXR1cm4gKG1fd2Via2l0TG9zZUNvbnRl
eHQgPyAxIDogMCkgKyAobV9vZXNUZXh0dXJlRmxvYXQgPyAxIDogMCk7CiB9CiAKIFdlYkdMRXh0
ZW5zaW9uKiBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEV4dGVuc2lvbk51bWJlcihpbnQgaSkK
IHsKKyAgICBpZiAobV93ZWJraXRMb3NlQ29udGV4dCkgeworICAgICAgICBpZiAoIWkpCisgICAg
ICAgICAgICByZXR1cm4gbV93ZWJraXRMb3NlQ29udGV4dC5nZXQoKTsKKyAgICAgICAgLS1pOwor
ICAgIH0KICAgICBpZiAobV9vZXNUZXh0dXJlRmxvYXQpIHsKICAgICAgICAgaWYgKCFpKQogICAg
ICAgICAgICAgcmV0dXJuIG1fb2VzVGV4dHVyZUZsb2F0LmdldCgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaCBiL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgKaW5kZXggMWU4NjdkNmY3YTIxMzZkZjQ5MWRl
MTIzNzQ0NDA3ZTljNjQ4NWMzMS4uMzA3YTRkNTQwNjE3MjYwMjVhNDRhZTk0NjhmNDA4NGM5MjQ2
NmEzZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuaAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCkBA
IC01MSw2ICs1MSw3IEBAIGNsYXNzIFdlYkdMUmVuZGVyYnVmZmVyOwogY2xhc3MgV2ViR0xTaGFk
ZXI7CiBjbGFzcyBXZWJHTFRleHR1cmU7CiBjbGFzcyBXZWJHTFVuaWZvcm1Mb2NhdGlvbjsKK2Ns
YXNzIFdlYktpdExvc2VDb250ZXh0OwogY2xhc3MgSFRNTEltYWdlRWxlbWVudDsKIGNsYXNzIEhU
TUxWaWRlb0VsZW1lbnQ7CiBjbGFzcyBJbWFnZUJ1ZmZlcjsKQEAgLTI4NCw3ICsyODUsOCBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIHZpZXdwb3J0KGxvbmcgeCwgbG9uZyB5LCBsb25nIHdpZHRoLCBs
b25nIGhlaWdodCk7CiAKLSAgICB2b2lkIGxvc2VDb250ZXh0KCk7CisgICAgdm9pZCBmb3JjZUxv
c3RDb250ZXh0KCk7CisgICAgdm9pZCBvbkxvc3RDb250ZXh0KCk7CiAgICAgdm9pZCByZXN0b3Jl
Q29udGV4dCgpOwogCiAgICAgR3JhcGhpY3NDb250ZXh0M0QqIGdyYXBoaWNzQ29udGV4dDNEKCkg
Y29uc3QgeyByZXR1cm4gbV9jb250ZXh0LmdldCgpOyB9CkBAIC00NjgsNiArNDcwLDcgQEAgcHVi
bGljOgogCiAgICAgLy8gRW5hYmxlZCBleHRlbnNpb24gb2JqZWN0cy4KICAgICBSZWZQdHI8T0VT
VGV4dHVyZUZsb2F0PiBtX29lc1RleHR1cmVGbG9hdDsKKyAgICBSZWZQdHI8V2ViS2l0TG9zZUNv
bnRleHQ+IG1fd2Via2l0TG9zZUNvbnRleHQ7CiAKICAgICAvLyBIZWxwZXJzIGZvciBnZXRQYXJh
bWV0ZXIgYW5kIG90aGVycwogICAgIFdlYkdMR2V0SW5mbyBnZXRCb29sZWFuUGFyYW1ldGVyKHVu
c2lnbmVkIGxvbmcgcG5hbWUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJL
aXRMb3NlQ29udGV4dC5jcHAgYi9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jN2RkMDc4OTRkYzJiMjkzM2Q2MDIzOTA2YzgyYWI0ZGY2NjY4ZGVi
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJLaXRMb3NlQ29udGV4
dC5jcHAKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lm
IEVOQUJMRSgzRF9DQU5WQVMpCisKKyNpbmNsdWRlICJXZWJLaXRMb3NlQ29udGV4dC5oIgorCisj
aW5jbHVkZSAiV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworV2ViS2l0TG9zZUNvbnRleHQ6OldlYktpdExvc2VDb250ZXh0KFdlYkdMUmVuZGVyaW5nQ29u
dGV4dCogY29udGV4dCkKKyAgICA6IFdlYkdMRXh0ZW5zaW9uKCkKKyAgICAsIG1fY29udGV4dChj
b250ZXh0KQoreworfQorCitXZWJLaXRMb3NlQ29udGV4dDo6fldlYktpdExvc2VDb250ZXh0KCkK
K3sKK30KKworV2ViR0xFeHRlbnNpb246OkV4dGVuc2lvbk5hbWUgV2ViS2l0TG9zZUNvbnRleHQ6
OmdldE5hbWUoKSBjb25zdAoreworICAgIHJldHVybiBXZWJLaXRMb3NlQ29udGV4dE5hbWU7Cit9
CisKK1Bhc3NSZWZQdHI8V2ViS2l0TG9zZUNvbnRleHQ+IFdlYktpdExvc2VDb250ZXh0OjpjcmVh
dGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0KQoreworICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgV2ViS2l0TG9zZUNvbnRleHQoY29udGV4dCkpOworfQorCit2b2lkIFdlYktpdExvc2VD
b250ZXh0Ojpsb3NlQ29udGV4dCgpCit7CisgICAgbV9jb250ZXh0LT5mb3JjZUxvc3RDb250ZXh0
KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRSgzRF9D
QU5WQVMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0
LmggYi9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0LmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTI1ZTA4NDlmMmM0ZTBlZGJjYmU5OWE2MGNjYWE5Njg3YjM4NDIyNAotLS0gL2Rldi9udWxsCisr
KyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViS2l0TG9zZUNvbnRleHQuaApAQCAtMCwwICsxLDU0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBXZWJLaXRMb3NlQ29udGV4dF9oCisjZGVmaW5lIFdlYktpdExv
c2VDb250ZXh0X2gKKworI2luY2x1ZGUgIldlYkdMRXh0ZW5zaW9uLmgiCisjaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIFdlYkdMUmVuZGVyaW5nQ29udGV4dDsKKworY2xhc3MgV2ViS2l0
TG9zZUNvbnRleHQgOiBwdWJsaWMgV2ViR0xFeHRlbnNpb24geworcHVibGljOgorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFdlYktpdExvc2VDb250ZXh0PiBjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250
ZXh0Kik7CisKKyAgICB2aXJ0dWFsIH5XZWJLaXRMb3NlQ29udGV4dCgpOworICAgIHZpcnR1YWwg
RXh0ZW5zaW9uTmFtZSBnZXROYW1lKCkgY29uc3Q7CisKKyAgICB2b2lkIGxvc2VDb250ZXh0KCk7
CisKK3ByaXZhdGU6CisgICAgV2ViS2l0TG9zZUNvbnRleHQoV2ViR0xSZW5kZXJpbmdDb250ZXh0
Kik7CisKKyAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHQqIG1fY29udGV4dDsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFdlYktpdExvc2VDb250ZXh0X2gKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViS2l0TG9zZUNvbnRleHQuaWRsIGIvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJLaXRMb3NlQ29udGV4dC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQxYWE0YWZm
MWRkN2NjMTU1ZWZmZGIxMjA0YmUyMWU1NjZkZGEyYQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViS2l0TG9zZUNvbnRleHQuaWRsCkBAIC0wLDAgKzEsMzAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAor
ICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCittb2R1bGUgaHRtbCB7CisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD0zRF9DQU5WQVMs
IE9taXRDb25zdHJ1Y3Rvcl0gV2ViS2l0TG9zZUNvbnRleHQgeworICAgICAgICBbU3RyaWN0VHlw
ZUNoZWNraW5nXSB2b2lkIGxvc2VDb250ZXh0KCk7CisgICAgfTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78074</attachid>
            <date>2011-01-05 17:08:14 -0800</date>
            <delta_ts>2011-01-06 13:00:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51492-20110105170813.patch</filename>
            <type>text/plain</type>
            <size>61486</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxMDE3N2RjYzYyYThhYWYzOWY5YmU2MGIzZDdmMmQwZDM0MjJiMGE4Li4zNThiOTZm
NmY2OWQxOGY0OGNiNDRkZjE4MzE2ZmZmNzM5MmQ5YzA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTEtMDEtMDUgIEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgZm9yIFdl
YkdMJ3MgbG9zdCBjb250ZXh0IGV2ZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTUxNDkyCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9j
b250ZXh0LWxvc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93
ZWJnbC9jb250ZXh0LWxvc3QtcmVzdG9yZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0Lmh0bWw6IEFkZGVkLgorCiAy
MDExLTAxLTA0ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBV
bnJldmlld2VkLCB0ZXN0IGV4cGVjdGF0aW9uIHVwZGF0ZS4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY1MTNlNjhhMGU5ODcyYTJkNmEwYTUyMTZhNTMyYzgwYTllZjhkZTYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTg1IEBACitUZXN0cyBiZWhhdmlvciB1bmRlciBhIGxvc3QgY29u
dGV4dAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1Rlc3QgdmFsaWQgY29udGV4dAor
UEFTUyBnbC5pc0NvbnRleHRMb3N0KCkgaXMgZmFsc2UKK1BBU1MgZ2wuZ2V0RXJyb3IoKSBpcyBn
bC5OT19FUlJPUgorUEFTUyBnbC5lbmFibGUoZ2wuQkxFTkQpIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLmlzQnVmZmVyKGJ1ZmZlcikgaXMgdHJ1ZQorUEFTUyBnbC5pc0Vu
YWJsZWQoZ2wuQkxFTkQpIGlzIHRydWUKK1BBU1MgZ2wuaXNGcmFtZWJ1ZmZlcihmcmFtZWJ1ZmZl
cikgaXMgdHJ1ZQorUEFTUyBnbC5pc1Byb2dyYW0ocHJvZ3JhbSkgaXMgdHJ1ZQorUEFTUyBnbC5p
c1JlbmRlcmJ1ZmZlcihyZW5kZXJidWZmZXIpIGlzIHRydWUKK1BBU1MgZ2wuaXNTaGFkZXIoc2hh
ZGVyKSBpcyB0cnVlCitQQVNTIGdsLmlzVGV4dHVyZSh0ZXh0dXJlKSBpcyB0cnVlCisKK0xvc2Ug
Y29udGV4dAorUEFTUyBleHRlbnNpb24ubG9zZUNvbnRleHQoKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorCitUZXN0IGxvc3QgY29udGV4dAorUEFTUyBnbC5pc0NvbnRleHRMb3N0KCkg
aXMgdHJ1ZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLkNPTlRFWFRfTE9TVF9XRUJHTAorUEFT
UyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCitQQVNTIGdsLmNoZWNrRnJhbWVidWZmZXJT
dGF0dXMoZ2wuRlJBTUVCVUZGRVIpIGlzIGdsLkZSQU1FQlVGRkVSX1VOU1VQUE9SVEVECitQQVNT
IGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICd1X21vZGVsVmlld1Byb2pNYXRyaXgnKSBp
cyAtMQorUEFTUyBnbC5nZXRWZXJ0ZXhBdHRyaWJPZmZzZXQoMCwgZ2wuVkVSVEVYX0FUVFJJQl9B
UlJBWV9QT0lOVEVSKSBpcyAwCitQQVNTIGV4dGVuc2lvbi5sb3NlQ29udGV4dCgpIHdhcyBleHBl
Y3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04uCitQQVNTIGdsLmFjdGl2ZVRleHR1cmUoZ2wu
VEVYVFVSRTApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmF0dGFjaFNo
YWRlcihwcm9ncmFtLCBzaGFkZXIpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNT
IGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWZmZXIpIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IuCitQQVNTIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZnJh
bWVidWZmZXIpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmJpbmRSZW5k
ZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCByZW5kZXJidWZmZXIpIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IuCitQQVNTIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUp
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmJsZW5kQ29sb3IoMS4wLCAx
LjAsIDEuMCwgMS4wKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5ibGVu
ZEVxdWF0aW9uKGdsLkZVTkNfQUREKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFT
UyBnbC5ibGVuZEVxdWF0aW9uU2VwYXJhdGUoZ2wuRlVOQ19BREQsIGdsLkZVTkNfQUREKSB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5ibGVuZEZ1bmMoZ2wuT05FKSB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5ibGVuZEZ1bmNTZXBhcmF0ZShnbC5P
TkUsIGdsLk9ORSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYnVmZmVy
RGF0YShnbC5BUlJBWV9CVUZGRVIsIDAsIGdsLlNUQVRJQ19EUkFXKSB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SLgorUEFTUyBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgYXJyYXlC
dWZmZXJWaWV3LCBnbC5TVEFUSUNfRFJBVykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIGFycmF5QnVmZmVyLCBnbC5TVEFU
SUNfRFJBVykgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYnVmZmVyU3Vi
RGF0YShnbC5BUlJBWV9CVUZGUkUsIDAsIGFycmF5QnVmZmVyVmlldykgd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYnVmZmVyU3ViRGF0YShnbC5BUlJBWV9CVUZGUkUsIDAs
IGFycmF5QnVmZmVyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5jbGVh
cihnbC5DT0xPUl9CVUZGRVJfQklUKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFT
UyBnbC5jbGVhckNvbG9yKDEsIDEsIDEsIDEpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CitQQVNTIGdsLmNsZWFyRGVwdGgoMSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BB
U1MgZ2wuY2xlYXJTdGVuY2lsKDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNT
IGdsLmNvbG9yTWFzaygxLCAxLCAxLCAxKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgor
UEFTUyBnbC5jb21waWxlU2hhZGVyKHNoYWRlcikgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KK1BBU1MgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwg
MCwgMCwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuY29weVRl
eFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgMCwgMCwgMCwgMCkgd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuY3VsbEZhY2UoZ2wuRlJPTlQpIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmRlbGV0ZUJ1ZmZlcihidWZmZXIpIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmRlbGV0ZUZyYW1lYnVmZmVyKGZyYW1l
YnVmZmVyKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kZWxldGVQcm9n
cmFtKHByb2dyYW0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmRlbGV0
ZVJlbmRlcmJ1ZmZlcihyZW5kZXJidWZmZXIpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CitQQVNTIGdsLmRlbGV0ZVNoYWRlcihzaGFkZXIpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IuCitQQVNTIGdsLmRlbGV0ZVRleHR1cmUodGV4dHVyZSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUi4KK1BBU1MgZ2wuZGVwdGhGdW5jKGdsLk5FVkVSKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC5kZXB0aE1hc2soMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUi4KK1BBU1MgZ2wuZGVwdGhSYW5nZSgwLCAxKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgorUEFTUyBnbC5kZXRhY2hTaGFkZXIocHJvZ3JhbSwgc2hhZGVyKSB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kaXNhYmxlKGdsLkJMRU5EKSB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoMCkgd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZHJhd0FycmF5cyhnbC5QT0lOVFMs
IDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmRyYXdFbGVtZW50
cyhnbC5QT0lOVFMsIDAsIGdsLlVOU0lHTkVEX1NIT1JULCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC5lbmFibGUoZ2wuQkxFTkQpIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmZpbmlzaCgpIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLmZsdXNoKCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9S
X0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIHJlbmRlcmJ1ZmZlcikgd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuZnJhbWVidWZmZXJUZXh0dXJlMkQoZ2wuRlJBTUVC
VUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5URVhUVVJFXzJELCB0ZXh0dXJlLCAwKSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5mcm9udEZhY2UoZ2wuQ1cpIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRF
WFRVUkVfMkQpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLmhpbnQoZ2wu
R0VORVJBVEVfTUlQTUFQX0hJTlQsIGdsLkZBU1RFU1QpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IuCitQQVNTIGdsLmxpbmVXaWR0aCgwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
LgorUEFTUyBnbC5saW5rUHJvZ3JhbShwcm9ncmFtKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgorUEFTUyBnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfRkxJUF9ZX1dFQkdMLCAwKSB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5wb2x5Z29uT2Zmc2V0KDAsIDApIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnJlYWRQaXhlbHMoMCwgMCwgMCwg
MCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYXJyYXlCdWZmZXJWaWV3KSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRF
UkJVRkZFUiwgZ2wuUkdCQTQsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQ
QVNTIGdsLnNhbXBsZUNvdmVyYWdlKDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CitQQVNTIGdsLnNjaXNzb3IoMCwgMCwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KK1BBU1MgZ2wuc2hhZGVyU291cmNlKHNoYWRlciwgJycpIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLnN0ZW5jaWxGdW5jKGdsLk5FVkVSLCAwLCAwKSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC5zdGVuY2lsRnVuY1NlcGFyYXRlKGdsLkZST05U
LCBnbC5ORVZFUiwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wu
c3RlbmNpbE1hc2soMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuc3Rl
bmNpbE1hc2tTZXBhcmF0ZShnbC5GUk9OVCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KK1BBU1MgZ2wuc3RlbmNpbE9wKGdsLktFRVAsIGdsLktFRVAsIGdsLktFRVApIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnN0ZW5jaWxPcFNlcGFyYXRlKGdsLkZST05U
LCBnbC5LRUVQLCBnbC5LRUVQLCBnbC5LRUVQKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
LgorUEFTUyBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsIDAsIDAs
IGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGFycmF5QnVmZmVyVmlldykgd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBn
bC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZURhdGEpIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
Z2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2UpIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wu
UkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzKSB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SLgorUEFTUyBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJH
QkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVvKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC50ZXhQYXJhbWV0ZXJmKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRV
UkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVTVCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxU
RVIsIGdsLk5FQVJFU1QpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnRl
eFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5T
SUdORURfQllURSwgYXJyYXlCdWZmZXJWaWV3KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
LgorUEFTUyBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIGdsLlJHQkEs
IGdsLlVOU0lHTkVEX0JZVEUsIGltYWdlRGF0YSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KK1BBU1MgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JB
LCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBn
bC5VTlNJR05FRF9CWVRFLCBjYW52YXMpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQ
QVNTIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wu
VU5TSUdORURfQllURSwgdmlkZW8pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNT
IGdsLnVuaWZvcm0xZih1bmlmb3JtTG9jYXRpb24sIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IuCitQQVNTIGdsLnVuaWZvcm0xZnYodW5pZm9ybUxvY2F0aW9uLCBmbG9hdDMyYXJyYXkp
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm0xZnYodW5pZm9y
bUxvY2F0aW9uLCBbMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVu
aWZvcm0xaSh1bmlmb3JtTG9jYXRpb24sIDApIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CitQQVNTIGdsLnVuaWZvcm0xaXYodW5pZm9ybUxvY2F0aW9uLCBpbnQzMmFycmF5KSB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMWl2KHVuaWZvcm1Mb2NhdGlv
biwgWzBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMmYo
dW5pZm9ybUxvY2F0aW9uLCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFT
UyBnbC51bmlmb3JtMmZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmxvYXQzMmFycmF5KSB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMmZ2KHVuaWZvcm1Mb2NhdGlvbiwg
WzAsIDBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtMmko
dW5pZm9ybUxvY2F0aW9uLCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFT
UyBnbC51bmlmb3JtMml2KHVuaWZvcm1Mb2NhdGlvbiwgaW50MzJhcnJheSkgd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybTJpdih1bmlmb3JtTG9jYXRpb24sIFsw
LCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybTNmKHVu
aWZvcm1Mb2NhdGlvbiwgMCwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BB
U1MgZ2wudW5pZm9ybTNmdih1bmlmb3JtTG9jYXRpb24sIGZsb2F0MzJhcnJheSkgd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9ybTNmdih1bmlmb3JtTG9jYXRpb24s
IFswLCAwLCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wudW5pZm9y
bTNpKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KK1BBU1MgZ2wudW5pZm9ybTNpdih1bmlmb3JtTG9jYXRpb24sIGludDMyYXJyYXkpIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm0zaXYodW5pZm9ybUxvY2F0
aW9uLCBbMCwgMCwgMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVu
aWZvcm00Zih1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDAsIDApIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm00ZnYodW5pZm9ybUxvY2F0aW9uLCBmbG9hdDMyYXJy
YXkpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm00ZnYodW5p
Zm9ybUxvY2F0aW9uLCBbMCwgMCwgMCwgMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CitQQVNTIGdsLnVuaWZvcm00aSh1bmlmb3JtTG9jYXRpb24sIDAsIDAsIDAsIDApIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm00aXYodW5pZm9ybUxvY2F0aW9u
LCBpbnQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC51bmlm
b3JtNGl2KHVuaWZvcm1Mb2NhdGlvbiwgWzAsIDAsIDAsIDBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC51bmlmb3JtTWF0cml4MmZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmFs
c2UsIGZsb2F0MzJhcnJheSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wu
dW5pZm9ybU1hdHJpeDJmdih1bmlmb3JtTG9jYXRpb24sIGZhbHNlLCBbMCwgMCwgMCwgMF0pIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm1NYXRyaXgzZnYodW5p
Zm9ybUxvY2F0aW9uLCBmYWxzZSwgZmxvYXQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SLgorUEFTUyBnbC51bmlmb3JtTWF0cml4M2Z2KHVuaWZvcm1Mb2NhdGlvbiwgZmFsc2Us
IFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KK1BBU1MgZ2wudW5pZm9ybU1hdHJpeDRmdih1bmlmb3JtTG9jYXRpb24sIGZhbHNlLCBmbG9h
dDMyYXJyYXkpIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVuaWZvcm1N
YXRyaXg0ZnYodW5pZm9ybUxvY2F0aW9uLCBmYWxzZSwgWzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgor
UEFTUyBnbC51c2VQcm9ncmFtKHByb2dyYW0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CitQQVNTIGdsLnZhbGlkYXRlUHJvZ3JhbShwcm9ncmFtKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRyaWIxZigwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRyaWIxZnYoMCwgZmxvYXQzMmFycmF5KSB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRyaWIxZnYoMCwgWzBd
KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRyaWIyZigw
LCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRy
aWIyZnYoMCwgZmxvYXQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFT
UyBnbC52ZXJ0ZXhBdHRyaWIyZnYoMCwgWzAsIDBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRyaWIzZigwLCAwLCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRyaWIzZnYoMCwgZmxvYXQzMmFycmF5KSB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRyaWIzZnYoMCwg
WzAsIDAsIDBdKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhB
dHRyaWI0ZigwLCAwLCAwLCAwLCAwKSB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFT
UyBnbC52ZXJ0ZXhBdHRyaWI0ZnYoMCwgZmxvYXQzMmFycmF5KSB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRyaWI0ZnYoMCwgWzAsIDAsIDAsIDBdKSB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SLgorUEFTUyBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAs
IDAsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4K
K1BBU1MgZ2wudmlld3BvcnQoMCwgMCwgMCwgMCkgd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
Ui4KK1BBU1MgZ2wuY3JlYXRlQnVmZmVyKCkgaXMgbnVsbAorUEFTUyBnbC5jcmVhdGVGcmFtZWJ1
ZmZlcigpIGlzIG51bGwKK1BBU1MgZ2wuY3JlYXRlUHJvZ3JhbSgpIGlzIG51bGwKK1BBU1MgZ2wu
Y3JlYXRlUmVuZGVyYnVmZmVyKCkgaXMgbnVsbAorUEFTUyBnbC5jcmVhdGVTaGFkZXIoZ2wuR0xf
VkVSVEVYX1NIQURFUikgaXMgbnVsbAorUEFTUyBnbC5jcmVhdGVUZXh0dXJlKCkgaXMgbnVsbAor
UEFTUyBnbC5nZXRBY3RpdmVBdHRyaWIocHJvZ3JhbSwgMCkgaXMgbnVsbAorUEFTUyBnbC5nZXRB
Y3RpdmVVbmlmb3JtKHByb2dyYW0sIDApIGlzIG51bGwKK1BBU1MgZ2wuZ2V0QXR0YWNoZWRTaGFk
ZXJzKHByb2dyYW0pIGlzIG51bGwKK1BBU1MgZ2wuZ2V0QnVmZmVyUGFyYW1ldGVyKGdsLkFSUkFZ
X0JVRkZFUiwgZ2wuQlVGRkVSX1NJWkUpIGlzIG51bGwKK1BBU1MgZ2wuZ2V0Q29udGV4dEF0dHJp
YnV0ZXMoKSBpcyBudWxsCitQQVNTIGdsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRl
cihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLkZSQU1FQlVGRkVSX0FU
VEFDSE1FTlRfT0JKRUNUX05BTUUpIGlzIG51bGwKK1BBU1MgZ2wuZ2V0UGFyYW1ldGVyKGdsLkNV
UlJFTlRfUFJPR1JBTSkgaXMgbnVsbAorUEFTUyBnbC5nZXRQcm9ncmFtSW5mb0xvZyhwcm9ncmFt
KSBpcyBudWxsCitQQVNTIGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZ3JhbSwgZ2wuTElOS19T
VEFUVVMpIGlzIG51bGwKK1BBU1MgZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRF
UkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX1dJRFRIKSBpcyBudWxsCitQQVNTIGdsLmdldFNoYWRl
ckluZm9Mb2coc2hhZGVyKSBpcyBudWxsCitQQVNTIGdsLmdldFNoYWRlclBhcmFtZXRlcihzaGFk
ZXIsIGdsLlNIQURFUl9UWVBFKSBpcyBudWxsCitQQVNTIGdsLmdldFNoYWRlclNvdXJjZShzaGFk
ZXIpIGlzIG51bGwKK1BBU1MgZ2wuZ2V0VGV4UGFyYW1ldGVyKGdsLlRFWFRVUkVfMkQsIGdsLlRF
WFRVUkVfV1JBUF9TKSBpcyBudWxsCitQQVNTIGdsLmdldFVuaWZvcm0ocHJvZ3JhbSwgdW5pZm9y
bUxvY2F0aW9uKSBpcyBudWxsCitQQVNTIGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAn
dlBvc2l0aW9uJykgaXMgbnVsbAorUEFTUyBnbC5nZXRWZXJ0ZXhBdHRyaWIoMCwgZ2wuVkVSVEVY
X0FUVFJJQl9BUlJBWV9CVUZGRVJfQklORElORykgaXMgbnVsbAorUEFTUyBnbC5nZXRTdXBwb3J0
ZWRFeHRlbnNpb25zKCkgaXMgbnVsbAorUEFTUyBnbC5nZXRFeHRlbnNpb24oJ1dFQktJVF9sb3Nl
X2NvbnRleHQnKSBpcyBudWxsCitQQVNTIGdsLmlzQnVmZmVyKGJ1ZmZlcikgaXMgZmFsc2UKK1BB
U1MgZ2wuaXNFbmFibGVkKGdsLkJMRU5EKSBpcyBmYWxzZQorUEFTUyBnbC5pc0ZyYW1lYnVmZmVy
KGZyYW1lYnVmZmVyKSBpcyBmYWxzZQorUEFTUyBnbC5pc1Byb2dyYW0ocHJvZ3JhbSkgaXMgZmFs
c2UKK1BBU1MgZ2wuaXNSZW5kZXJidWZmZXIocmVuZGVyYnVmZmVyKSBpcyBmYWxzZQorUEFTUyBn
bC5pc1NoYWRlcihzaGFkZXIpIGlzIGZhbHNlCitQQVNTIGdsLmlzVGV4dHVyZSh0ZXh0dXJlKSBp
cyBmYWxzZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0LXJlc3RvcmVkLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC1yZXN0b3JlZC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ3NjAxOWIxYzZlZmI4MTIzNDU2MTgyNTg1MzhiYjQw
YTEwMjY0NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L2NvbnRleHQtbG9zdC1yZXN0b3JlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMSBAQAorVGVz
dHMgYmVoYXZpb3IgdW5kZXIgYSByZXN0b3JlZCBjb250ZXh0CisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworVGVzdCB2YWxpZCBjb250ZXh0CitQQVNTIGdsLmlzQ29udGV4dExvc3QoKSBp
cyBmYWxzZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCitQQVNTIHNob3VsZEJl
IDI1NSwxMCwyMAorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCisKK1Rlc3QgbG9z
dCBjb250ZXh0CitQQVNTIGdsLmlzQ29udGV4dExvc3QoKSBpcyB0cnVlCitQQVNTIGdsLmdldEVy
cm9yKCkgaXMgZ2wuQ09OVEVYVF9MT1NUX1dFQkdMCitQQVNTIGdsLmdldEVycm9yKCkgaXMgZ2wu
Tk9fRVJST1IKKworVGVzdCByZXN0b3JlZCBjb250ZXh0CitQQVNTIGdsLmlzQ29udGV4dExvc3Qo
KSBpcyBmYWxzZQorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGdsLk5PX0VSUk9SCitQQVNTIGdsLmJp
bmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5W
QUxJRF9PUEVSQVRJT04uCitQQVNTIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSkgd2FzIGV4cGVjdGVk
IHZhbHVlOiBJTlZBTElEX09QRVJBVElPTi4KK1BBU1MgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9C
VUZGRVIsIGJ1ZmZlck9iamVjdHNbMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVS
QVRJT04uCitQQVNTIHNob3VsZEJlIDI1NSwxMCwyMAorUEFTUyBnbC5nZXRFcnJvcigpIGlzIGds
Lk5PX0VSUk9SCitQQVNTIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IuCitQQVNTIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSkg
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUi4KK1BBU1MgZ2wuYmluZEJ1ZmZlcihnbC5BUlJB
WV9CVUZGRVIsIGJ1ZmZlck9iamVjdHNbMF0pIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Iu
CisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtcmVz
dG9yZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC1y
ZXN0b3JlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk3NTY4MzYzMzYzMmJkYWU5ZjQ4NjQ3MTdlNDM1MWRm
ODRlNWJkZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC9jb250ZXh0LWxvc3QtcmVzdG9yZWQuaHRtbApAQCAtMCwwICsxLDEzMCBAQAorPGh0bWw+Cis8
aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBjYW52
YXM7Cit2YXIgZ2w7Cit2YXIgc2hvdWxkR2VuZXJhdGVHTEVycm9yOwordmFyIGV4dGVuc2lvbl9u
YW1lID0gIldFQktJVF9sb3NlX2NvbnRleHQiOwordmFyIGV4dGVuc2lvbjsKK3ZhciBidWZmZXJP
YmplY3RzOwordmFyIHByb2dyYW07Cit2YXIgdGV4dHVyZTsKK3ZhciB0ZXhDb2xvciA9IFsyNTUs
IDEwLCAyMCwgMjU1XTsKKworZnVuY3Rpb24gaW5pdCgpCit7CisgICAgaWYgKHdpbmRvdy5pbml0
Tm9uS2hyb25vc0ZyYW1ld29yaykgeworICAgICAgICB3aW5kb3cuaW5pdE5vbktocm9ub3NGcmFt
ZXdvcmsodHJ1ZSk7CisgICAgfQorCisgICAgZGVzY3JpcHRpb24oIlRlc3RzIGJlaGF2aW9yIHVu
ZGVyIGEgcmVzdG9yZWQgY29udGV4dCIpOworCisgICAgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNhbnZhcyIpOworICAgIGNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJ3ZWJnbGNv
bnRleHRsb3N0IiwgdGVzdExvc3RDb250ZXh0KTsKKyAgICBjYW52YXMuYWRkRXZlbnRMaXN0ZW5l
cigid2ViZ2xjb250ZXh0cmVzdG9yZWQiLCB0ZXN0UmVzdG9yZWRDb250ZXh0KTsKKworICAgIGds
ID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOworICAgIHNob3VsZEdlbmVyYXRlR0xFcnJv
ciA9IHd0dS5zaG91bGRHZW5lcmF0ZUdMRXJyb3I7CisKKyAgICBleHRlbnNpb24gPSBnbC5nZXRF
eHRlbnNpb24oZXh0ZW5zaW9uX25hbWUpOworICAgIGlmICghZXh0ZW5zaW9uKSB7CisgICAgICAg
IGRlYnVnKGV4dGVuc2lvbl9uYW1lICsgIiBleHRlbnNpb24gbm90IGZvdW5kLiIpOworICAgICAg
ICBmaW5pc2goKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHRlc3RPcmlnaW5hbENv
bnRleHQoKTsKKyAgICBleHRlbnNpb24ubG9zZUNvbnRleHQoKTsKK30KKworZnVuY3Rpb24gdGVz
dFJlbmRlcmluZygpCit7CisgICAgZ2wuY2xlYXJDb2xvcigwLCAwLCAwLCAyNTUpOworICAgIGds
LmNvbG9yTWFzaygxLCAxLCAxLCAwKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklU
IHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisKKyAgICBwcm9ncmFtID0gd3R1LnNldHVwU2ltcGxl
VGV4dHVyZVByb2dyYW0oZ2wpOworICAgIGJ1ZmZlck9iamVjdHMgPSB3dHUuc2V0dXBVbml0UXVh
ZChnbCk7CisgICAgdGV4dHVyZSA9IHd0dS5jcmVhdGVDb2xvcmVkVGV4dHVyZShnbCwgY2FudmFz
LndpZHRoLCBjYW52YXMuaGVpZ2h0LCB0ZXhDb2xvcik7CisKKyAgICBnbC51bmlmb3JtMWkoZ2wu
Z2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ0ZXgiKSwgMCk7CisgICAgd3R1LmRyYXdRdWFk
KGdsLCBbMCwgMCwgMCwgMjU1XSk7CisKKyAgICB2YXIgY29tcGFyZSA9IHRleENvbG9yLnNsaWNl
KDAsIDMpOworICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDAsIGNhbnZhcy53aWR0aCwg
Y2FudmFzLmhlaWdodCwgY29tcGFyZSwgInNob3VsZEJlICIgKyBjb21wYXJlKTsKKworICAgIHNo
b3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7Cit9CisKK2Z1bmN0aW9uIHRl
c3RPcmlnaW5hbENvbnRleHQoKQoreworICAgIGRlYnVnKCJUZXN0IHZhbGlkIGNvbnRleHQiKTsK
KyAgICBzaG91bGRCZUZhbHNlKCJnbC5pc0NvbnRleHRMb3N0KCkiKTsKKyAgICBzaG91bGRCZSgi
Z2wuZ2V0RXJyb3IoKSIsICJnbC5OT19FUlJPUiIpOworICAgIHRlc3RSZW5kZXJpbmcoKTsKKyAg
ICBkZWJ1ZygiIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RMb3N0Q29udGV4dCgpCit7CisgICAgZGVi
dWcoIlRlc3QgbG9zdCBjb250ZXh0Iik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc0NvbnRleHRM
b3N0KCkiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0RXJyb3IoKSIsICJnbC5DT05URVhUX0xPU1Rf
V0VCR0wiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0RXJyb3IoKSIsICJnbC5OT19FUlJPUiIpOwor
ICAgIGRlYnVnKCIiKTsKK30KKworZnVuY3Rpb24gdGVzdFJlc291cmNlcyhleHBlY3RlZCkKK3sK
KyAgICB2YXIgdGVzdHMgPSBbCisgICAgICAgICJnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJE
LCB0ZXh0dXJlKSIsCisgICAgICAgICJnbC51c2VQcm9ncmFtKHByb2dyYW0pIiwKKyAgICAgICAg
ImdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWZmZXJPYmplY3RzWzBdKSIsCisgICAg
XTsKKworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGVzdHMubGVuZ3RoOyArK2kpCisgICAgICAg
IHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZXhwZWN0ZWQsIHRlc3RzW2ldKTsKK30KKworZnVu
Y3Rpb24gdGVzdFJlc3RvcmVkQ29udGV4dCgpCit7CisgICAgZGVidWcoIlRlc3QgcmVzdG9yZWQg
Y29udGV4dCIpOworICAgIHNob3VsZEJlRmFsc2UoImdsLmlzQ29udGV4dExvc3QoKSIpOworICAg
IHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7CisKKyAgICAvLyBWYWxp
ZGF0ZSB0aGF0IHVzaW5nIG9sZCByZXNvdXJjZXMgZmFpbHMuCisgICAgdGVzdFJlc291cmNlcyhn
bC5JTlZBTElEX09QRVJBVElPTik7CisKKyAgICB0ZXN0UmVuZGVyaW5nKCk7CisKKyAgICAvLyBW
YWxpZGF0ZSBuZXcgcmVzb3VyY2VzIGNyZWF0ZWQgaW4gdGVzdFJlbmRlcmluZygpLgorICAgIHRl
c3RSZXNvdXJjZXMoZ2wuTk9fRVJST1IpOworICAgIGRlYnVnKCIiKTsKKworICAgIGZpbmlzaCgp
OworfQorCitmdW5jdGlvbiBmaW5pc2goKSB7CisgICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKyAgICB2YXIgZXBpbG9ndWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsK
KyAgICBlcGlsb2d1ZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5u
b25LaHJvbm9zRnJhbWV3b3JrTm90aWZ5RG9uZSkKKyAgICAgICAgICAgIHdpbmRvdy5ub25LaHJv
bm9zRnJhbWV3b3JrTm90aWZ5RG9uZSgpOworICAgIH07CisgICAgZXBpbG9ndWUuc3JjID0gIi4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiOworICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoZXBpbG9ndWUpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9h
ZD0iaW5pdCgpIj4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iMXB4IiBoZWlnaHQ9IjFweCI+
PC9jYW52YXM+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2NvbnRleHQtbG9zdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU3ZDE1MzMwZjllZTcyZDA3NTZk
NDY5ZTQ2MzllNjkzNWZkMWExNTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QuaHRtbApAQCAtMCwwICsxLDMxNSBAQAorPGh0bWw+
Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciB3dHU7Cit2YXIgY2FudmFzOwordmFyIGdsOwor
dmFyIHNob3VsZEdlbmVyYXRlR0xFcnJvcjsKK3ZhciBleHRlbnNpb25fbmFtZSA9ICJXRUJLSVRf
bG9zZV9jb250ZXh0IjsKK3ZhciBleHRlbnNpb247CisKK3ZhciBidWZmZXI7Cit2YXIgZnJhbWVi
dWZmZXI7Cit2YXIgcHJvZ3JhbTsKK3ZhciByZW5kZXJidWZmZXI7Cit2YXIgc2hhZGVyOwordmFy
IHRleHR1cmU7Cit2YXIgdW5pZm9ybUxvY2F0aW9uOwordmFyIGFycmF5QnVmZmVyOwordmFyIGFy
cmF5QnVmZmVyVmlldwordmFyIGltYWdlOwordmFyIHZpZGVvOwordmFyIGNhbnZhczJkOwordmFy
IGN0eDJkOwordmFyIGltYWdlRGF0YTsKK3ZhciBmbG9hdDMyYXJyYXk7Cit2YXIgaW50MzJhcnJh
eTsKKworZnVuY3Rpb24gaW5pdCgpCit7CisgICAgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisgICAg
Y2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOworICAgIGdsID0gd3R1
LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOworICAgIHNob3VsZEdlbmVyYXRlR0xFcnJvciA9IHd0
dS5zaG91bGRHZW5lcmF0ZUdMRXJyb3I7CisKKyAgICBkZXNjcmlwdGlvbigiVGVzdHMgYmVoYXZp
b3IgdW5kZXIgYSBsb3N0IGNvbnRleHQiKTsKKworICAgIGlmICh3aW5kb3cuaW5pdE5vbktocm9u
b3NGcmFtZXdvcmspIHsKKyAgICAgICAgd2luZG93LmluaXROb25LaHJvbm9zRnJhbWV3b3JrKHRy
dWUpOworICAgIH0KKworICAgIGV4dGVuc2lvbiA9IGdsLmdldEV4dGVuc2lvbihleHRlbnNpb25f
bmFtZSk7CisgICAgaWYgKCFleHRlbnNpb24pIHsKKyAgICAgICAgZGVidWcoZXh0ZW5zaW9uX25h
bWUgKyAiIGV4dGVuc2lvbiBub3QgZm91bmQuIik7CisgICAgICAgIGZpbmlzaCgpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29u
dGV4dGxvc3QiLCB0ZXN0TG9zdENvbnRleHQpOworCisgICAgdGVzdFZhbGlkQ29udGV4dCgpOwor
ICAgIGxvc2VDb250ZXh0KCk7Cit9CisKK2Z1bmN0aW9uIGxvc2VDb250ZXh0KCkKK3sKKyAgICBk
ZWJ1ZygiIik7CisgICAgZGVidWcoIkxvc2UgY29udGV4dCIpOworICAgIHNob3VsZEdlbmVyYXRl
R0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJleHRlbnNpb24ubG9zZUNvbnRleHQoKSIpOworICAg
IGRlYnVnKCIiKTsKK30KKworZnVuY3Rpb24gdGVzdFZhbGlkQ29udGV4dCgpCit7CisgICAgZGVi
dWcoIlRlc3QgdmFsaWQgY29udGV4dCIpOworCisgICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNDb250
ZXh0TG9zdCgpIik7CisKKyAgICBhcnJheUJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcig0KTsKKyAg
ICBhcnJheUJ1ZmZlclZpZXcgPSBuZXcgSW50OEFycmF5KGFycmF5QnVmZmVyKTsKKworICAgIC8v
IEdlbmVyYXRlIHJlc291cmNlcyBmb3IgdGVzdGluZy4KKyAgICBidWZmZXIgPSBnbC5jcmVhdGVC
dWZmZXIoKTsKKyAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyKTsKKyAg
ICBmcmFtZWJ1ZmZlciA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCk7CisgICAgZ2wuYmluZEZyYW1l
YnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmcmFtZWJ1ZmZlcik7CisgICAgcHJvZ3JhbSA9IHd0dS5z
ZXR1cFNpbXBsZVRleHR1cmVQcm9ncmFtKGdsKTsKKyAgICByZW5kZXJidWZmZXIgPSBnbC5jcmVh
dGVSZW5kZXJidWZmZXIoKTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZF
UiwgcmVuZGVyYnVmZmVyKTsKKyAgICBzaGFkZXIgPSBnbC5jcmVhdGVTaGFkZXIoZ2wuVkVSVEVY
X1NIQURFUik7CisgICAgdGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5k
VGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0RXJy
b3IoKSIsICJnbC5OT19FUlJPUiIpOworCisgICAgLy8gVGVzdCBpcyBxdWVyaWVzIHRoYXQgd2ls
bCBsYXRlciBiZSBmYWxzZQorICAgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJS
T1IsICJnbC5lbmFibGUoZ2wuQkxFTkQpIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc0J1ZmZl
cihidWZmZXIpIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc0VuYWJsZWQoZ2wuQkxFTkQpIik7
CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc0ZyYW1lYnVmZmVyKGZyYW1lYnVmZmVyKSIpOworICAg
IHNob3VsZEJlVHJ1ZSgiZ2wuaXNQcm9ncmFtKHByb2dyYW0pIik7CisgICAgc2hvdWxkQmVUcnVl
KCJnbC5pc1JlbmRlcmJ1ZmZlcihyZW5kZXJidWZmZXIpIik7CisgICAgc2hvdWxkQmVUcnVlKCJn
bC5pc1NoYWRlcihzaGFkZXIpIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbC5pc1RleHR1cmUodGV4
dHVyZSkiKTsKK30KKworZnVuY3Rpb24gdGVzdExvc3RDb250ZXh0KCkKK3sKKyAgICBkZWJ1Zygi
VGVzdCBsb3N0IGNvbnRleHQiKTsKKworICAgIC8vIEZ1bmN0aW9ucyB3aXRoIHNwZWNpYWwgcmV0
dXJuIHZhbHVlcy4KKyAgICBzaG91bGRCZVRydWUoImdsLmlzQ29udGV4dExvc3QoKSIpOworICAg
IHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLkNPTlRFWFRfTE9TVF9XRUJHTCIpOworICAg
IHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7CisgICAgc2hvdWxkQmUo
ImdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpIiwgImdsLkZSQU1FQlVG
RkVSX1VOU1VQUE9SVEVEIik7CisgICAgc2hvdWxkQmUoImdsLmdldEF0dHJpYkxvY2F0aW9uKHBy
b2dyYW0sICd1X21vZGVsVmlld1Byb2pNYXRyaXgnKSIsICItMSIpOworICAgIHNob3VsZEJlKCJn
bC5nZXRWZXJ0ZXhBdHRyaWJPZmZzZXQoMCwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9QT0lOVEVS
KSIsICIwIik7CisKKyAgICAvLyBUZXN0IHRoZSBleHRlbnNpb24gaXRzZWxmLgorICAgIHNob3Vs
ZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJleHRlbnNpb24ubG9z
ZUNvbnRleHQoKSIpOworCisgICAgaW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWFn
ZSIpOworICAgIHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmlkZW8iKTsKKyAgICBj
YW52YXMyZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOworICAgIGN0eDJkID0g
Y2FudmFzMmQuZ2V0Q29udGV4dCgiMmQiKTsKKyAgICBpbWFnZURhdGEgPSBjdHgyZC5jcmVhdGVJ
bWFnZURhdGEoMSwgMSk7CisgICAgZmxvYXQzMmFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSgxKTsK
KyAgICBpbnQzMmFycmF5ID0gbmV3IEludDMyQXJyYXkoMSk7CisKKyAgICAvLyBGdW5jdGlvbnMg
cmV0dXJuaW5nIHZvaWQgc2hvdWxkIHJldHVybiBpbW1lZGlhdGVseS4KKyAgICAvLyBUaGlzIGlz
IHVudGVzdGFibGUsIGJ1dCB3ZSBjYW4gYXQgbGVhc3QgYmUgc3VyZSB0aGV5IGNhdXNlIG5vIGVy
cm9ycworICAgIC8vIGFuZCB0aGUgY29kZXBhdGhzIGFyZSBleGVyY2lzZWQuCisgICAgdmFyIHZv
aWRUZXN0cyA9IFsKKyAgICAgICAgImdsLmFjdGl2ZVRleHR1cmUoZ2wuVEVYVFVSRTApIiwKKyAg
ICAgICAgImdsLmF0dGFjaFNoYWRlcihwcm9ncmFtLCBzaGFkZXIpIiwKKyAgICAgICAgImdsLmJp
bmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWZmZXIpIiwKKyAgICAgICAgImdsLmJpbmRGcmFt
ZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZnJhbWVidWZmZXIpIiwKKyAgICAgICAgImdsLmJpbmRS
ZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCByZW5kZXJidWZmZXIpIiwKKyAgICAgICAgImds
LmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpIiwKKyAgICAgICAgImdsLmJsZW5k
Q29sb3IoMS4wLCAxLjAsIDEuMCwgMS4wKSIsCisgICAgICAgICJnbC5ibGVuZEVxdWF0aW9uKGds
LkZVTkNfQUREKSIsCisgICAgICAgICJnbC5ibGVuZEVxdWF0aW9uU2VwYXJhdGUoZ2wuRlVOQ19B
REQsIGdsLkZVTkNfQUREKSIsCisgICAgICAgICJnbC5ibGVuZEZ1bmMoZ2wuT05FKSIsCisgICAg
ICAgICJnbC5ibGVuZEZ1bmNTZXBhcmF0ZShnbC5PTkUsIGdsLk9ORSkiLAorICAgICAgICAiZ2wu
YnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIDAsIGdsLlNUQVRJQ19EUkFXKSIsCisgICAgICAg
ICJnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgYXJyYXlCdWZmZXJWaWV3LCBnbC5TVEFU
SUNfRFJBVykiLAorICAgICAgICAiZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIGFycmF5
QnVmZmVyLCBnbC5TVEFUSUNfRFJBVykiLAorICAgICAgICAiZ2wuYnVmZmVyU3ViRGF0YShnbC5B
UlJBWV9CVUZGUkUsIDAsIGFycmF5QnVmZmVyVmlldykiLAorICAgICAgICAiZ2wuYnVmZmVyU3Vi
RGF0YShnbC5BUlJBWV9CVUZGUkUsIDAsIGFycmF5QnVmZmVyKSIsCisgICAgICAgICJnbC5jbGVh
cihnbC5DT0xPUl9CVUZGRVJfQklUKSIsCisgICAgICAgICJnbC5jbGVhckNvbG9yKDEsIDEsIDEs
IDEpIiwKKyAgICAgICAgImdsLmNsZWFyRGVwdGgoMSkiLAorICAgICAgICAiZ2wuY2xlYXJTdGVu
Y2lsKDApIiwKKyAgICAgICAgImdsLmNvbG9yTWFzaygxLCAxLCAxLCAxKSIsCisgICAgICAgICJn
bC5jb21waWxlU2hhZGVyKHNoYWRlcikiLAorICAgICAgICAiZ2wuY29weVRleEltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwgMCwgMCwgMCwgMCkiLAorICAgICAgICAiZ2wuY29w
eVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgMCwgMCwgMCwgMCkiLAorICAg
ICAgICAiZ2wuY3VsbEZhY2UoZ2wuRlJPTlQpIiwKKyAgICAgICAgImdsLmRlbGV0ZUJ1ZmZlcihi
dWZmZXIpIiwKKyAgICAgICAgImdsLmRlbGV0ZUZyYW1lYnVmZmVyKGZyYW1lYnVmZmVyKSIsCisg
ICAgICAgICJnbC5kZWxldGVQcm9ncmFtKHByb2dyYW0pIiwKKyAgICAgICAgImdsLmRlbGV0ZVJl
bmRlcmJ1ZmZlcihyZW5kZXJidWZmZXIpIiwKKyAgICAgICAgImdsLmRlbGV0ZVNoYWRlcihzaGFk
ZXIpIiwKKyAgICAgICAgImdsLmRlbGV0ZVRleHR1cmUodGV4dHVyZSkiLAorICAgICAgICAiZ2wu
ZGVwdGhGdW5jKGdsLk5FVkVSKSIsCisgICAgICAgICJnbC5kZXB0aE1hc2soMCkiLAorICAgICAg
ICAiZ2wuZGVwdGhSYW5nZSgwLCAxKSIsCisgICAgICAgICJnbC5kZXRhY2hTaGFkZXIocHJvZ3Jh
bSwgc2hhZGVyKSIsCisgICAgICAgICJnbC5kaXNhYmxlKGdsLkJMRU5EKSIsCisgICAgICAgICJn
bC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoMCkiLAorICAgICAgICAiZ2wuZHJhd0FycmF5cyhn
bC5QT0lOVFMsIDAsIDApIiwKKyAgICAgICAgImdsLmRyYXdFbGVtZW50cyhnbC5QT0lOVFMsIDAs
IGdsLlVOU0lHTkVEX1NIT1JULCAwKSIsCisgICAgICAgICJnbC5lbmFibGUoZ2wuQkxFTkQpIiwK
KyAgICAgICAgImdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApIiwKKyAgICAgICAgImdsLmZp
bmlzaCgpIiwKKyAgICAgICAgImdsLmZsdXNoKCkiLAorICAgICAgICAiZ2wuZnJhbWVidWZmZXJS
ZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5E
RVJCVUZGRVIsIHJlbmRlcmJ1ZmZlcikiLAorICAgICAgICAiZ2wuZnJhbWVidWZmZXJUZXh0dXJl
MkQoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5URVhUVVJFXzJELCB0
ZXh0dXJlLCAwKSIsCisgICAgICAgICJnbC5mcm9udEZhY2UoZ2wuQ1cpIiwKKyAgICAgICAgImds
LmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfMkQpIiwKKyAgICAgICAgImdsLmhpbnQoZ2wuR0VO
RVJBVEVfTUlQTUFQX0hJTlQsIGdsLkZBU1RFU1QpIiwKKyAgICAgICAgImdsLmxpbmVXaWR0aCgw
KSIsCisgICAgICAgICJnbC5saW5rUHJvZ3JhbShwcm9ncmFtKSIsCisgICAgICAgICJnbC5waXhl
bFN0b3JlaShnbC5VTlBBQ0tfRkxJUF9ZX1dFQkdMLCAwKSIsCisgICAgICAgICJnbC5wb2x5Z29u
T2Zmc2V0KDAsIDApIiwKKyAgICAgICAgImdsLnJlYWRQaXhlbHMoMCwgMCwgMCwgMCwgZ2wuUkdC
QSwgZ2wuVU5TSUdORURfQllURSwgYXJyYXlCdWZmZXJWaWV3KSIsCisgICAgICAgICJnbC5yZW5k
ZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDAsIDApIiwKKyAgICAg
ICAgImdsLnNhbXBsZUNvdmVyYWdlKDAsIDApIiwKKyAgICAgICAgImdsLnNjaXNzb3IoMCwgMCwg
MCwgMCkiLAorICAgICAgICAiZ2wuc2hhZGVyU291cmNlKHNoYWRlciwgJycpIiwKKyAgICAgICAg
ImdsLnN0ZW5jaWxGdW5jKGdsLk5FVkVSLCAwLCAwKSIsCisgICAgICAgICJnbC5zdGVuY2lsRnVu
Y1NlcGFyYXRlKGdsLkZST05ULCBnbC5ORVZFUiwgMCwgMCkiLAorICAgICAgICAiZ2wuc3RlbmNp
bE1hc2soMCkiLAorICAgICAgICAiZ2wuc3RlbmNpbE1hc2tTZXBhcmF0ZShnbC5GUk9OVCwgMCki
LAorICAgICAgICAiZ2wuc3RlbmNpbE9wKGdsLktFRVAsIGdsLktFRVAsIGdsLktFRVApIiwKKyAg
ICAgICAgImdsLnN0ZW5jaWxPcFNlcGFyYXRlKGdsLkZST05ULCBnbC5LRUVQLCBnbC5LRUVQLCBn
bC5LRUVQKSIsCisgICAgICAgICJnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJH
QkEsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGFycmF5QnVmZmVyVmlldyki
LAorICAgICAgICAiZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5S
R0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZURhdGEpIiwKKyAgICAgICAgImdsLnRleEltYWdl
MkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwg
aW1hZ2UpIiwKKyAgICAgICAgImdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdC
QSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzKSIsCisgICAgICAgICJnbC50ZXhJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsIHZpZGVvKSIsCisgICAgICAgICJnbC50ZXhQYXJhbWV0ZXJmKGdsLlRFWFRVUkVfMkQsIGds
LlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVTVCkiLAorICAgICAgICAiZ2wudGV4UGFyYW1l
dGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpIiwK
KyAgICAgICAgImdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgMCwgMCwg
Z2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYXJyYXlCdWZmZXJWaWV3KSIsCisgICAgICAgICJn
bC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lH
TkVEX0JZVEUsIGltYWdlRGF0YSkiLAorICAgICAgICAiZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWFnZSkiLAorICAg
ICAgICAiZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBn
bC5VTlNJR05FRF9CWVRFLCBjYW52YXMpIiwKKyAgICAgICAgImdsLnRleFN1YkltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgdmlkZW8pIiwK
KyAgICAgICAgImdsLnVuaWZvcm0xZih1bmlmb3JtTG9jYXRpb24sIDApIiwKKyAgICAgICAgImds
LnVuaWZvcm0xZnYodW5pZm9ybUxvY2F0aW9uLCBmbG9hdDMyYXJyYXkpIiwKKyAgICAgICAgImds
LnVuaWZvcm0xZnYodW5pZm9ybUxvY2F0aW9uLCBbMF0pIiwKKyAgICAgICAgImdsLnVuaWZvcm0x
aSh1bmlmb3JtTG9jYXRpb24sIDApIiwKKyAgICAgICAgImdsLnVuaWZvcm0xaXYodW5pZm9ybUxv
Y2F0aW9uLCBpbnQzMmFycmF5KSIsCisgICAgICAgICJnbC51bmlmb3JtMWl2KHVuaWZvcm1Mb2Nh
dGlvbiwgWzBdKSIsCisgICAgICAgICJnbC51bmlmb3JtMmYodW5pZm9ybUxvY2F0aW9uLCAwLCAw
KSIsCisgICAgICAgICJnbC51bmlmb3JtMmZ2KHVuaWZvcm1Mb2NhdGlvbiwgZmxvYXQzMmFycmF5
KSIsCisgICAgICAgICJnbC51bmlmb3JtMmZ2KHVuaWZvcm1Mb2NhdGlvbiwgWzAsIDBdKSIsCisg
ICAgICAgICJnbC51bmlmb3JtMmkodW5pZm9ybUxvY2F0aW9uLCAwLCAwKSIsCisgICAgICAgICJn
bC51bmlmb3JtMml2KHVuaWZvcm1Mb2NhdGlvbiwgaW50MzJhcnJheSkiLAorICAgICAgICAiZ2wu
dW5pZm9ybTJpdih1bmlmb3JtTG9jYXRpb24sIFswLCAwXSkiLAorICAgICAgICAiZ2wudW5pZm9y
bTNmKHVuaWZvcm1Mb2NhdGlvbiwgMCwgMCwgMCkiLAorICAgICAgICAiZ2wudW5pZm9ybTNmdih1
bmlmb3JtTG9jYXRpb24sIGZsb2F0MzJhcnJheSkiLAorICAgICAgICAiZ2wudW5pZm9ybTNmdih1
bmlmb3JtTG9jYXRpb24sIFswLCAwLCAwXSkiLAorICAgICAgICAiZ2wudW5pZm9ybTNpKHVuaWZv
cm1Mb2NhdGlvbiwgMCwgMCwgMCkiLAorICAgICAgICAiZ2wudW5pZm9ybTNpdih1bmlmb3JtTG9j
YXRpb24sIGludDMyYXJyYXkpIiwKKyAgICAgICAgImdsLnVuaWZvcm0zaXYodW5pZm9ybUxvY2F0
aW9uLCBbMCwgMCwgMF0pIiwKKyAgICAgICAgImdsLnVuaWZvcm00Zih1bmlmb3JtTG9jYXRpb24s
IDAsIDAsIDAsIDApIiwKKyAgICAgICAgImdsLnVuaWZvcm00ZnYodW5pZm9ybUxvY2F0aW9uLCBm
bG9hdDMyYXJyYXkpIiwKKyAgICAgICAgImdsLnVuaWZvcm00ZnYodW5pZm9ybUxvY2F0aW9uLCBb
MCwgMCwgMCwgMF0pIiwKKyAgICAgICAgImdsLnVuaWZvcm00aSh1bmlmb3JtTG9jYXRpb24sIDAs
IDAsIDAsIDApIiwKKyAgICAgICAgImdsLnVuaWZvcm00aXYodW5pZm9ybUxvY2F0aW9uLCBpbnQz
MmFycmF5KSIsCisgICAgICAgICJnbC51bmlmb3JtNGl2KHVuaWZvcm1Mb2NhdGlvbiwgWzAsIDAs
IDAsIDBdKSIsCisgICAgICAgICJnbC51bmlmb3JtTWF0cml4MmZ2KHVuaWZvcm1Mb2NhdGlvbiwg
ZmFsc2UsIGZsb2F0MzJhcnJheSkiLAorICAgICAgICAiZ2wudW5pZm9ybU1hdHJpeDJmdih1bmlm
b3JtTG9jYXRpb24sIGZhbHNlLCBbMCwgMCwgMCwgMF0pIiwKKyAgICAgICAgImdsLnVuaWZvcm1N
YXRyaXgzZnYodW5pZm9ybUxvY2F0aW9uLCBmYWxzZSwgZmxvYXQzMmFycmF5KSIsCisgICAgICAg
ICJnbC51bmlmb3JtTWF0cml4M2Z2KHVuaWZvcm1Mb2NhdGlvbiwgZmFsc2UsIFswLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwXSkiLAorICAgICAgICAiZ2wudW5pZm9ybU1hdHJpeDRmdih1bmlmb3Jt
TG9jYXRpb24sIGZhbHNlLCBmbG9hdDMyYXJyYXkpIiwKKyAgICAgICAgImdsLnVuaWZvcm1NYXRy
aXg0ZnYodW5pZm9ybUxvY2F0aW9uLCBmYWxzZSwgWzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDBdKSIsCisgICAgICAgICJnbC51c2VQcm9ncmFtKHByb2dyYW0p
IiwKKyAgICAgICAgImdsLnZhbGlkYXRlUHJvZ3JhbShwcm9ncmFtKSIsCisgICAgICAgICJnbC52
ZXJ0ZXhBdHRyaWIxZigwLCAwKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIxZnYoMCwgZmxv
YXQzMmFycmF5KSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIxZnYoMCwgWzBdKSIsCisgICAg
ICAgICJnbC52ZXJ0ZXhBdHRyaWIyZigwLCAwLCAwKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRy
aWIyZnYoMCwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIyZnYoMCwg
WzAsIDBdKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWIzZigwLCAwLCAwLCAwKSIsCisgICAg
ICAgICJnbC52ZXJ0ZXhBdHRyaWIzZnYoMCwgZmxvYXQzMmFycmF5KSIsCisgICAgICAgICJnbC52
ZXJ0ZXhBdHRyaWIzZnYoMCwgWzAsIDAsIDBdKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWI0
ZigwLCAwLCAwLCAwLCAwKSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWI0ZnYoMCwgZmxvYXQz
MmFycmF5KSIsCisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWI0ZnYoMCwgWzAsIDAsIDAsIDBdKSIs
CisgICAgICAgICJnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDAsIGdsLkZMT0FULCBmYWxzZSwg
MCwgMCkiLAorICAgICAgICAiZ2wudmlld3BvcnQoMCwgMCwgMCwgMCkiLAorICAgIF07CisgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCB2b2lkVGVzdHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgc2hv
dWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgdm9pZFRlc3RzW2ldKTsKKyAgICB9
CisKKyAgICAvLyBGdW5jdGlvbnMgcmV0dXJuIG51bGxhYmxlIHZhbHVlcyBzaG91bGQgYWxsIHJl
dHVybiBudWxsLgorICAgIHZhciBudWxsVGVzdHMgPSBbCisgICAgICAgICJnbC5jcmVhdGVCdWZm
ZXIoKSIsCisgICAgICAgICJnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpIiwKKyAgICAgICAgImdsLmNy
ZWF0ZVByb2dyYW0oKSIsCisgICAgICAgICJnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIsCisgICAg
ICAgICJnbC5jcmVhdGVTaGFkZXIoZ2wuR0xfVkVSVEVYX1NIQURFUikiLAorICAgICAgICAiZ2wu
Y3JlYXRlVGV4dHVyZSgpIiwKKyAgICAgICAgImdsLmdldEFjdGl2ZUF0dHJpYihwcm9ncmFtLCAw
KSIsCisgICAgICAgICJnbC5nZXRBY3RpdmVVbmlmb3JtKHByb2dyYW0sIDApIiwKKyAgICAgICAg
ImdsLmdldEF0dGFjaGVkU2hhZGVycyhwcm9ncmFtKSIsCisgICAgICAgICJnbC5nZXRCdWZmZXJQ
YXJhbWV0ZXIoZ2wuQVJSQVlfQlVGRkVSLCBnbC5CVUZGRVJfU0laRSkiLAorICAgICAgICAiZ2wu
Z2V0Q29udGV4dEF0dHJpYnV0ZXMoKSIsCisgICAgICAgICJnbC5nZXRGcmFtZWJ1ZmZlckF0dGFj
aG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5G
UkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FKSIsCisgICAgICAgICJnbC5nZXRQYXJh
bWV0ZXIoZ2wuQ1VSUkVOVF9QUk9HUkFNKSIsCisgICAgICAgICJnbC5nZXRQcm9ncmFtSW5mb0xv
Zyhwcm9ncmFtKSIsCisgICAgICAgICJnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2dyYW0sIGds
LkxJTktfU1RBVFVTKSIsCisgICAgICAgICJnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wu
UkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfV0lEVEgpIiwKKyAgICAgICAgImdsLmdldFNo
YWRlckluZm9Mb2coc2hhZGVyKSIsCisgICAgICAgICJnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc2hh
ZGVyLCBnbC5TSEFERVJfVFlQRSkiLAorICAgICAgICAiZ2wuZ2V0U2hhZGVyU291cmNlKHNoYWRl
cikiLAorICAgICAgICAiZ2wuZ2V0VGV4UGFyYW1ldGVyKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRV
UkVfV1JBUF9TKSIsCisgICAgICAgICJnbC5nZXRVbmlmb3JtKHByb2dyYW0sIHVuaWZvcm1Mb2Nh
dGlvbikiLAorICAgICAgICAiZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICd2UG9zaXRp
b24nKSIsCisgICAgICAgICJnbC5nZXRWZXJ0ZXhBdHRyaWIoMCwgZ2wuVkVSVEVYX0FUVFJJQl9B
UlJBWV9CVUZGRVJfQklORElORykiLAorICAgICAgICAiZ2wuZ2V0U3VwcG9ydGVkRXh0ZW5zaW9u
cygpIiwKKyAgICAgICAgImdsLmdldEV4dGVuc2lvbignIiArIGV4dGVuc2lvbl9uYW1lICsgIicp
IiwKKyAgICBdOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVsbFRlc3RzLmxlbmd0aDsgKytp
KSB7CisgICAgICAgIHNob3VsZEJlTnVsbChudWxsVGVzdHNbaV0pOworICAgIH0KKworICAgIC8v
ICJJcyIgcXVlcmllcyBzaG91bGQgYWxsIHJldHVybiBmYWxzZS4KKyAgICBzaG91bGRCZUZhbHNl
KCJnbC5pc0J1ZmZlcihidWZmZXIpIik7CisgICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNFbmFibGVk
KGdsLkJMRU5EKSIpOworICAgIHNob3VsZEJlRmFsc2UoImdsLmlzRnJhbWVidWZmZXIoZnJhbWVi
dWZmZXIpIik7CisgICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNQcm9ncmFtKHByb2dyYW0pIik7Cisg
ICAgc2hvdWxkQmVGYWxzZSgiZ2wuaXNSZW5kZXJidWZmZXIocmVuZGVyYnVmZmVyKSIpOworICAg
IHNob3VsZEJlRmFsc2UoImdsLmlzU2hhZGVyKHNoYWRlcikiKTsKKyAgICBzaG91bGRCZUZhbHNl
KCJnbC5pc1RleHR1cmUodGV4dHVyZSkiKTsKKworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJvcigp
IiwgImdsLk5PX0VSUk9SIik7CisKKyAgICBmaW5pc2goKTsKK30KKworZnVuY3Rpb24gZmluaXNo
KCkgeworICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgICAgdmFyIGVwaWxvZ3VlID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAgZXBpbG9ndWUub25sb2FkID0g
ZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICh3aW5kb3cubm9uS2hyb25vc0ZyYW1ld29ya05vdGlm
eURvbmUpCisgICAgICAgICAgICB3aW5kb3cubm9uS2hyb25vc0ZyYW1ld29ya05vdGlmeURvbmUo
KTsKKyAgICB9OworICAgIGVwaWxvZ3VlLnNyYyA9ICIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIjsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVwaWxvZ3VlKTsKK30K
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJpbml0KCkiPgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJj
YW52YXMiPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYjk1MGU4ZmEwMjdmZWVkMTkxNzk1
ZDU5OWRiMTg0N2IzNmU1MGUzZS4uMDM1NDQ2ZmI5ZDBlYzViNTg0MTEzN2E5Yzk1ZTEwNjRmNDFm
NDlmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC0zMDMsNiArMzAzLDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAg
ICAgaHRtbC9jYW52YXMvV2ViR0xTaGFkZXIuaWRsCiAgICAgaHRtbC9jYW52YXMvV2ViR0xUZXh0
dXJlLmlkbAogICAgIGh0bWwvY2FudmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9uLmlkbAorICAgIGh0
bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0LmlkbAogCiAgICAgaW5zcGVjdG9yL0luamVjdGVk
U2NyaXB0SG9zdC5pZGwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2
NDEyY2M1YTFiYmU3YWJhZjdkOGVhZDQ1Y2I1ZjQyMmExZjBjNzFhLi43M2Q3NGJhYzdlMjgwZmE0
ZDNkOWNmNzUwNDZhZmVhNGQ5Y2ZjMjEwIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDExLTAxLTA1ICBBZHJp
ZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFdFQktJVF9sb3NlX2NvbnRleHQgV2ViR0wgZXh0
ZW5zaW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTE0OTIKKworICAgICAgICBUZXN0czogZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0LXJl
c3RvcmVkLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9z
dC5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6dG9KUyk6CisgICAgICAgIChXZWJDb3JlOjpKU1dlYkdMUmVuZGVyaW5nQ29udGV4dDo6
Z2V0U3VwcG9ydGVkRXh0ZW5zaW9ucyk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjhP
YmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6VjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFN1
cHBvcnRlZEV4dGVuc2lvbnNDYWxsYmFjayk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xF
eHRlbnNpb24uaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpXZWJHTFJlbmRl
cmluZ0NvbnRleHRSZXN0b3JlVGltZXI6OmZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdM
UmVuZGVyaW5nQ29udGV4dDo6Z2V0RXh0ZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdM
UmVuZGVyaW5nQ29udGV4dDo6Z2V0U3VwcG9ydGVkRXh0ZW5zaW9ucyk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmZvcmNlTG9zdENvbnRleHQpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpvbkxvc3RDb250ZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0TnVtYmVyT2ZFeHRlbnNpb25zKToK
KyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0RXh0ZW5zaW9uTnVt
YmVyKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaDoKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJLaXRMb3NlQ29udGV4dC5jcHA6IENvcGllZCBmcm9tIFdl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaC4KKyAgICAgICAgKFdlYkNvcmU6Oldl
YktpdExvc2VDb250ZXh0OjpXZWJLaXRMb3NlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJLaXRMb3NlQ29udGV4dDo6fldlYktpdExvc2VDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OldlYktpdExvc2VDb250ZXh0OjpnZXROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdExv
c2VDb250ZXh0OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TG9zZUNvbnRleHQ6
Omxvc2VDb250ZXh0KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJLaXRMb3NlQ29udGV4dC5o
OiBDb3BpZWQgZnJvbSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmguCisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViS2l0TG9zZUNvbnRleHQuaWRsOiBDb3BpZWQgZnJvbSBXZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmguCisKIDIwMTEtMDEtMDQgIFNoZXJpZmYg
Qm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHI3NDk5Mi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBmYjEzYWZlYTc5N2ZiNDc4
YTlkNzRmNmU3MDliY2RjMTI5MDhlNjhiLi5lYmI5MmIxYWFlMWM1ZTIwNzNjOTE5YzhlN2QxODky
ZWU3Y2E0NTcxIDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC01MDgsNiArNTA4LDcgQEAgRE9NX0NMQVNT
RVMgPSBcCiAgICAgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZSBcCiAgICAgV2ViS2l0Q1NTTWF0cml4
IFwKICAgICBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZSBcCisgICAgV2ViS2l0TG9zZUNvbnRleHQg
XAogICAgIFdlYktpdFBvaW50IFwKICAgICBXZWJLaXRUcmFuc2l0aW9uRXZlbnQgXAogICAgIFdl
YlNvY2tldCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQppbmRleCAxMWViOWM1N2EwZjc4YjlmYWZhOWQ1ZTZmNzgyZmZjYWU0ZDBm
MmZjLi40Yzc1YTg0ZWNmNDY2Nzk3ODdkZWNiYjA2MzA4NWU3OTIwNTJmZjU1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAg
LTU5MSw2ICs1OTEsOCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXZWJLaXRDU1NNYXRyaXguaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNXZWJLaXRMb3NlQ29udGV4dC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJL
aXRMb3NlQ29udGV4dC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0UG9pbnQu
Y3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0UG9pbnQuaCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAgXApAQCAtMTU2NSw2
ICsxNTY3LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2h0bWwvY2FudmFzL0lu
dDhBcnJheS5oIFwKIAlXZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5jcHAgXAog
CVdlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmggXAorCVdlYkNvcmUvaHRtbC9j
YW52YXMvV2ViS2l0TG9zZUNvbnRleHQuY3BwIFwKKwlXZWJDb3JlL2h0bWwvY2FudmFzL1dlYktp
dExvc2VDb250ZXh0LmggXAogCVdlYkNvcmUvaHRtbC9jYW52YXMvVWludDE2QXJyYXkuY3BwIFwK
IAlXZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQxNkFycmF5LmggXAogCVdlYkNvcmUvaHRtbC9jYW52
YXMvVWludDMyQXJyYXkuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggZGZiZjg2ZTY4ZjJhY2RhMDY4ZGJhYWIxYzAxNThh
NzVhNGIyMmVmMC4uOTZjOWU5OTFmMWNlYzE3MjZmYjliOTY4Y2Y5ZjNiMzNiYjI2ZmY0NiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
QEAgLTIyOCw2ICsyMjgsNyBAQAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMU2hhZGVy
LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmlkbCcsCiAgICAg
ICAgICAgICAnaHRtbC9jYW52YXMvV2ViR0xVbmlmb3JtTG9jYXRpb24uaWRsJywKKyAgICAgICAg
ICAgICdodG1sL2NhbnZhcy9XZWJLaXRMb3NlQ29udGV4dC5pZGwnLAogICAgICAgICAgICAgJ2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaWRsJywKICAgICAgICAgICAgICdpbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0phdmFT
Y3JpcHRDYWxsRnJhbWUuaWRsJywKQEAgLTE5NDgsNiArMTk0OSw4IEBACiAgICAgICAgICAgICAn
aHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmgnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dl
YkdMVW5pZm9ybUxvY2F0aW9uLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2ViR0xV
bmlmb3JtTG9jYXRpb24uaCcsCisgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2ViS2l0TG9zZUNv
bnRleHQuY3BwJywKKyAgICAgICAgICAgICdodG1sL2NhbnZhcy9XZWJLaXRMb3NlQ29udGV4dC5o
JywKICAgICAgICAgICAgICdodG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5jcHAnLAogICAg
ICAgICAgICAgJ2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgnLAogICAgICAgICAgICAg
J2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcCcsCmRpZmYgLS1naXQgYS9XZWJD
b3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCBiYzNmNTk1MjM4MTUx
MTgxMDRjODZhMzdiZGRmODE3ZmNmOWQ4ZTc0Li5kMTExOTI0OGM4NGVhYWVjZGJlYjA4MzM2NWZl
MmVjNGRjZjg3ZWQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNv
cmUvV2ViQ29yZS5wcmkKQEAgLTIwNCw2ICsyMDQsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAg
IGh0bWwvY2FudmFzL0ludDE2QXJyYXkuaWRsIFwKICAgICBodG1sL2NhbnZhcy9XZWJHTFRleHR1
cmUuaWRsIFwKICAgICBodG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5pZGwgXAorICAg
IGh0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0LmlkbCBcCiAgICAgaHRtbC9jYW52YXMvVWlu
dDhBcnJheS5pZGwgXAogICAgIGh0bWwvY2FudmFzL1VpbnQzMkFycmF5LmlkbCBcCiAgICAgaHRt
bC9jYW52YXMvVWludDE2QXJyYXkuaWRsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5w
cm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDhhMTVmZWMwN2VkMTc5MzlkMjBkOTI1Nzcy
Yjg5MzgxNTkxN2MxMmEuLjA1YTdkM2I4N2I5NGQ0MGEwZjMwODYzYzJlODIyZDE4YWQyZTc5OWIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBy
bwpAQCAtMzc5Myw2ICszNzkzLDcgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFXzNEX0NBTlZB
Uz0xKSB7CiAgICAgICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5oIFwKICAgICAgICAg
aHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmggXAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTFVu
aWZvcm1Mb2NhdGlvbi5oIFwKKyAgICAgICAgaHRtbC9jYW52YXMvV2ViS2l0TG9zZUNvbnRleHQu
aCBcCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oIFwKICAgICAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaCBcCiAgICAgICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL3F0L0V4dGVuc2lvbnMzRFF0LmgKQEAgLTM4MTYsNiArMzgxNyw3IEBAIGNvbnRh
aW5zKERFRklORVMsIEVOQUJMRV8zRF9DQU5WQVM9MSkgewogICAgICAgICBodG1sL2NhbnZhcy9P
RVNUZXh0dXJlRmxvYXQuY3BwIFwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmNw
cCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9uLmNwcCBcCisgICAg
ICAgIGh0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0LmNwcCBcCiAgICAgICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcCBcCiAgICAgICAgIHBsYXRmb3JtL2dyYXBo
aWNzL3F0L0V4dGVuc2lvbnMzRFF0LmNwcCBcCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL3F0
L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDU1MTkwNDMxZjNlMDM3MjI0MGNiZmM4NjJlMDY5MTRjNTViNmFjODQu
LmVjOTZkNmI3NTcwMzI1ZmQ1NzBkZDg0OGI5ODk3YmY3ZDczNTg5ZTcgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yOTYwLDYgKzI5NjAsMTAgQEAKIAkJ
OTNGMTlCMTUwODI0NUU1OTAwMUU5QUJDIC8qIENvY29hLmZyYW1ld29yayBpbiBGcmFtZXdvcmtz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1QzI4Njk1MDI4NDZEQ0QwMTg2
MzVDQSAvKiBDb2NvYS5mcmFtZXdvcmsgKi87IH07CiAJCTkzRjE5QjE2MDgyNDVFNTkwMDFFOUFC
QyAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGODIxNjI5OTAyOUY0RkI1MDEwMDAxMzEgLyogSmF2YVNj
cmlwdENvcmUuZnJhbWV3b3JrICovOyB9OwogCQk5M0YxOUIxNzA4MjQ1RTU5MDAxRTlBQkMgLyog
bGliaWN1Y29yZS5keWxpYiBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzRjFEMzFBMDU1OENDNUMwMDgyMUJDMCAvKiBsaWJpY3Vjb3JlLmR5bGliICov
OyB9OworCQk5M0YxRDVCQTEyRDUzMkM0MDA4MzJCRUMgLyogV2ViS2l0TG9zZUNvbnRleHQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNGMUQ1Qjcx
MkQ1MzJDNDAwODMyQkVDIC8qIFdlYktpdExvc2VDb250ZXh0LmNwcCAqLzsgfTsKKwkJOTNGMUQ1
QkIxMkQ1MzJDNDAwODMyQkVDIC8qIFdlYktpdExvc2VDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0YxRDVCODEyRDUzMkM0MDA4MzJCRUMg
LyogV2ViS2l0TG9zZUNvbnRleHQuaCAqLzsgfTsKKwkJOTNGMUQ1QzAxMkQ1MzM1NjAwODMyQkVD
IC8qIEpTV2ViS2l0TG9zZUNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTNGMUQ1QkUxMkQ1MzM1NjAwODMyQkVDIC8qIEpTV2ViS2l0TG9z
ZUNvbnRleHQuY3BwICovOyB9OworCQk5M0YxRDVDMTEyRDUzMzU2MDA4MzJCRUMgLyogSlNXZWJL
aXRMb3NlQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTNGMUQ1QkYxMkQ1MzM1NjAwODMyQkVDIC8qIEpTV2ViS2l0TG9zZUNvbnRleHQuaCAq
LzsgfTsKIAkJOTNGNkYxRUQxMjdGNzBCMTAwNTVDQjA2IC8qIFdlYkdMQ29udGV4dEV2ZW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzRjZGMUVB
MTI3RjcwQjEwMDU1Q0IwNiAvKiBXZWJHTENvbnRleHRFdmVudC5jcHAgKi87IH07CiAJCTkzRjZG
MUVFMTI3RjcwQjEwMDU1Q0IwNiAvKiBXZWJHTENvbnRleHRFdmVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNGNkYxRUIxMjdGNzBCMTAwNTVDQjA2
IC8qIFdlYkdMQ29udGV4dEV2ZW50LmggKi87IH07CiAJCTkzRjkyNTQzMEY3RUY1QjgwMDdFMzdD
OSAvKiBDaGVja2VkUmFkaW9CdXR0b25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5M0Y5MjU0MTBGN0VGNUI4MDA3RTM3QzkgLyogQ2hlY2tlZFJhZGlv
QnV0dG9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CkBAIC03OTI1LDYgKzc5MjksOCBAQAogCQk2RUJGMEU1MzEyQTg5Mjk4MDBEQjE3MDkgLyogV2Vi
R0xFeHRlbnNpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViR0xFeHRl
bnNpb24uaDsgcGF0aCA9IGNhbnZhcy9XZWJHTEV4dGVuc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk2RUJGMEU3NDEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxv
YXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNPRVNUZXh0dXJl
RmxvYXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RUJGMEU3NTEyQTk4Njg4
MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNPRVNUZXh0dXJlRmxvYXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJOTNGMUQ1QkUxMkQ1MzM1NjAwODMyQkVDIC8qIEpTV2ViS2l0TG9zZUNvbnRleHQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSlNXZWJLaXRMb3NlQ29udGV4dC5j
cHA7IHBhdGggPSBKU1dlYktpdExvc2VDb250ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOTNGMUQ1QkYxMkQ1MzM1NjAwODMyQkVDIC8qIEpTV2ViS2l0TG9zZUNvbnRleHQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSlNXZWJLaXRMb3NlQ29udGV4dC5o
OyBwYXRoID0gSlNXZWJLaXRMb3NlQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk2RUU4QTc3MDEwRjgwM0YzMDA1QTRBMjQgLyogSlNXZWJHTENvbnRleHRBdHRyaWJ1dGVz
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViR0xDb250ZXh0
QXR0cmlidXRlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZFRThBNzcxMTBG
ODAzRjMwMDVBNEEyNCAvKiBKU1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWJHTENvbnRleHRBdHRyaWJ1dGVzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyNjI2RTAxMEVGMDIyRkUwMEEwN0UyMCAvKiBGb250RmFz
dFBhdGguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9udEZhc3RQ
YXRoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTkyOTcsNiArOTMwMyw5IEBA
CiAJCTkzRjE5QjE5MDgyNDVFNTkwMDFFOUFCQyAvKiBJbmZvLnBsaXN0ICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
LnBsaXN0LnhtbDsgcGF0aCA9IEluZm8ucGxpc3Q7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRh
YldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQk5M0YxOUIxQTA4MjQ1RTVBMDAxRTlBQkMg
LyogV2ViQ29yZS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGlj
aXRGaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGgg
PSBXZWJDb3JlLmZyYW1ld29yazsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsK
IAkJOTNGMUQzMUEwNTU4Q0M1QzAwODIxQkMwIC8qIGxpYmljdWNvcmUuZHlsaWIgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1v
LmR5bGliIjsgbmFtZSA9IGxpYmljdWNvcmUuZHlsaWI7IHBhdGggPSAvdXNyL2xpYi9saWJpY3Vj
b3JlLmR5bGliOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OworCQk5M0YxRDVCNzEyRDUz
MkM0MDA4MzJCRUMgLyogV2ViS2l0TG9zZUNvbnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gV2ViS2l0TG9zZUNvbnRleHQuY3BwOyBwYXRoID0gY2FudmFzL1dl
YktpdExvc2VDb250ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNGMUQ1
QjgxMkQ1MzJDNDAwODMyQkVDIC8qIFdlYktpdExvc2VDb250ZXh0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IFdlYktpdExvc2VDb250ZXh0Lmg7IHBhdGggPSBjYW52YXMvV2Vi
S2l0TG9zZUNvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTNGMUQ1Qjkx
MkQ1MzJDNDAwODMyQkVDIC8qIFdlYktpdExvc2VDb250ZXh0LmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IG5hbWUgPSBXZWJLaXRMb3NlQ29udGV4dC5pZGw7IHBhdGggPSBjYW52YXMvV2ViS2l0TG9zZUNv
bnRleHQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0Y2RjFFQTEyN0Y3MEIx
MDA1NUNCMDYgLyogV2ViR0xDb250ZXh0RXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gV2ViR0xDb250ZXh0RXZlbnQuY3BwOyBwYXRoID0gY2FudmFzL1dlYkdM
Q29udGV4dEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNGNkYxRUIx
MjdGNzBCMTAwNTVDQjA2IC8qIFdlYkdMQ29udGV4dEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IFdlYkdMQ29udGV4dEV2ZW50Lmg7IHBhdGggPSBjYW52YXMvV2ViR0xD
b250ZXh0RXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNGNkYxRUMxMjdG
NzBCMTAwNTVDQjA2IC8qIFdlYkdMQ29udGV4dEV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5h
bWUgPSBXZWJHTENvbnRleHRFdmVudC5pZGw7IHBhdGggPSBjYW52YXMvV2ViR0xDb250ZXh0RXZl
bnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMwODgsNiArMTMwOTcsOSBA
QAogCQk0OTQ4NEZBRTEwMkNGMDFFMDAxODdERDMgLyogY2FudmFzICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk5M0YxRDVCNzEyRDUzMkM0MDA4MzJCRUMg
LyogV2ViS2l0TG9zZUNvbnRleHQuY3BwICovLAorCQkJCTkzRjFENUI4MTJENTMyQzQwMDgzMkJF
QyAvKiBXZWJLaXRMb3NlQ29udGV4dC5oICovLAorCQkJCTkzRjFENUI5MTJENTMyQzQwMDgzMkJF
QyAvKiBXZWJLaXRMb3NlQ29udGV4dC5pZGwgKi8sCiAJCQkJNDlFRUNEQ0ExMDUwM0MyMzAwMDk5
RkFCIC8qIEFycmF5QnVmZmVyLmNwcCAqLywKIAkJCQk0OUVFQ0RDQjEwNTAzQzIzMDAwOTlGQUIg
LyogQXJyYXlCdWZmZXIuaCAqLywKIAkJCQk0OUVFQ0RDQzEwNTAzQzIzMDAwOTlGQUIgLyogQXJy
YXlCdWZmZXIuaWRsICovLApAQCAtMTU4MzQsNiArMTU4NDYsOCBAQAogCQlBODNCNzkwODBDQ0FG
RjJCMDAwQjA4MjUgLyogSFRNTCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCisJCQkJOTNGMUQ1QkUxMkQ1MzM1NjAwODMyQkVDIC8qIEpTV2ViS2l0TG9zZUNvbnRl
eHQuY3BwICovLAorCQkJCTkzRjFENUJGMTJENTMzNTYwMDgzMkJFQyAvKiBKU1dlYktpdExvc2VD
b250ZXh0LmggKi8sCiAJCQkJNDlFRUNFRjIxMDUwNzBDNDAwMDk5RkFCIC8qIEpTQXJyYXlCdWZm
ZXIuY3BwICovLAogCQkJCTQ5RUVDRUYzMTA1MDcwQzQwMDA5OUZBQiAvKiBKU0FycmF5QnVmZmVy
LmggKi8sCiAJCQkJNDlFRUNGMTkxMDUwNzJGMzAwMDk5RkFCIC8qIEpTQXJyYXlCdWZmZXJWaWV3
LmNwcCAqLywKQEAgLTIyMjgxLDYgKzIyMjk1LDggQEAKIAkJCQk3RUU2ODQ2RDEyRDI2RTM4MDBF
Nzk0MTUgLyogUmVzb3VyY2VSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk3RUU2ODQ2RjEy
RDI2RTM4MDBFNzk0MTUgLyogUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTdFRTY4NDcwMTJEMjZFMzgwMEU3OTQxNSAvKiBSZXNvdXJjZVJlc3BvbnNlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk5M0YxRDVCQjEyRDUzMkM0MDA4MzJCRUMgLyogV2ViS2l0TG9zZUNvbnRl
eHQuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzRjFENUMxMTJENTMzNTYwMDgzMkJFQyAvKiBKU1dl
YktpdExvc2VDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVw
bG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI0OTYyLDYgKzI0OTc4LDggQEAK
IAkJCQk3RUU2ODQ2RTEyRDI2RTM4MDBFNzk0MTUgLyogUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJN0VFNjg0NzExMkQyNkUzODAwRTc5NDE1IC8qIFJlc291cmNl
UmVzcG9uc2VDRk5ldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3RUU2ODQ3NTEyRDI2RTcwMDBF
Nzk0MTUgLyogUmVzb3VyY2VMb2FkZXJDRk5ldC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5M0Yx
RDVCQTEyRDUzMkM0MDA4MzJCRUMgLyogV2ViS2l0TG9zZUNvbnRleHQuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJOTNGMUQ1QzAxMkQ1MzM1NjAwODMyQkVDIC8qIEpTV2ViS2l0TG9zZUNvbnRleHQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJH
TFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCmluZGV4IGUxOTYzZGE1ZGQxOTgzOGNkMDllZGI3
OGVlYjVmYmMyYjI4ZmE0NjQuLmVkNGE5Y2E3ZmY5MzEwNDBjOWIzZTdkOTQ2ZDYxNWZhYWVmNGU5
NzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRl
eHRDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0Nv
bnRleHRDdXN0b20uY3BwCkBAIC0yOSw5ICsyOSwxMSBAQAogCiAjaW5jbHVkZSAiSlNXZWJHTFJl
bmRlcmluZ0NvbnRleHQuaCIKIAorI2luY2x1ZGUgIldlYktpdExvc2VDb250ZXh0LmgiCiAjaW5j
bHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkhUTUxDYW52YXNFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSFRNTEltYWdlRWxlbWVudC5oIgorI2luY2x1ZGUgIkpTV2ViS2l0TG9zZUNvbnRl
eHQuaCIKICNpbmNsdWRlICJKU0hUTUxDYW52YXNFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNIVE1M
SW1hZ2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNJbWFnZURhdGEuaCIKQEAgLTE2OSw2ICsxNzEs
OCBAQCBzdGF0aWMgSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgV2ViR0xFeHRlbgogICAgIGlmICghZXh0ZW5zaW9uKQogICAgICAg
ICByZXR1cm4ganNOdWxsKCk7CiAgICAgc3dpdGNoIChleHRlbnNpb24tPmdldE5hbWUoKSkgewor
ICAgIGNhc2UgV2ViR0xFeHRlbnNpb246OldlYktpdExvc2VDb250ZXh0TmFtZToKKyAgICAgICAg
cmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxXZWJLaXRMb3NlQ29u
dGV4dCo+KGV4dGVuc2lvbikpOwogICAgIGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1RleHR1cmVG
bG9hdE5hbWU6CiAgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGlj
X2Nhc3Q8T0VTVGV4dHVyZUZsb2F0Kj4oZXh0ZW5zaW9uKSk7CiAgICAgfQpAQCAtMzIwLDYgKzMy
NCw4IEBAIEpTVmFsdWUgSlNXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFNoYWRlclBhcmFtZXRl
cihFeGVjU3RhdGUqIGV4ZWMpCiBKU1ZhbHVlIEpTV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRT
dXBwb3J0ZWRFeHRlbnNpb25zKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQqIGNvbnRleHQgPSBzdGF0aWNfY2FzdDxXZWJHTFJlbmRlcmluZ0NvbnRleHQqPihp
bXBsKCkpOworICAgIGlmIChjb250ZXh0LT5pc0NvbnRleHRMb3N0KCkpCisgICAgICAgIHJldHVy
biBqc051bGwoKTsKICAgICBWZWN0b3I8U3RyaW5nPiB2YWx1ZSA9IGNvbnRleHQtPmdldFN1cHBv
cnRlZEV4dGVuc2lvbnMoKTsKICAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBsaXN0OwogICAgIGZv
ciAoc2l6ZV90IGlpID0gMDsgaWkgPCB2YWx1ZS5zaXplKCk7ICsraWkpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5j
cHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1
c3RvbS5jcHAKaW5kZXggMDQ4Y2VmNTczNjZmNjNjN2UxYTVjNmY3NmMxZjZjNDRiYjk2ZmI1Ni4u
NzBkZjdjMWMwNmYzOWMxNGJlYWI4YzEyZTlhYzU2Y2IxODhkNWE3MCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3Bw
CisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0
Q3VzdG9tLmNwcApAQCAtMzUsMzUgKzM1LDMzIEBACiAjaW5jbHVkZSAiVjhXZWJHTFJlbmRlcmlu
Z0NvbnRleHQuaCIKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKLQogI2luY2x1ZGUgIk5v
dEltcGxlbWVudGVkLmgiCi0KLSNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgotCisjaW5jbHVk
ZSAiVjhBcnJheUJ1ZmZlclZpZXcuaCIKICNpbmNsdWRlICJWOEJpbmRpbmcuaCIKICNpbmNsdWRl
ICJWOEJpbmRpbmdNYWNyb3MuaCIKLSNpbmNsdWRlICJWOEFycmF5QnVmZmVyVmlldy5oIgotI2lu
Y2x1ZGUgIlY4V2ViR0xCdWZmZXIuaCIKLSNpbmNsdWRlICJWOEludDhBcnJheS5oIgorI2luY2x1
ZGUgIlY4V2ViS2l0TG9zZUNvbnRleHQuaCIKICNpbmNsdWRlICJWOEZsb2F0MzJBcnJheS5oIgot
I2luY2x1ZGUgIlY4V2ViR0xGcmFtZWJ1ZmZlci5oIgotI2luY2x1ZGUgIlY4SW50MzJBcnJheS5o
IgotI2luY2x1ZGUgIlY4V2ViR0xQcm9ncmFtLmgiCi0jaW5jbHVkZSAiVjhXZWJHTFJlbmRlcmJ1
ZmZlci5oIgotI2luY2x1ZGUgIlY4V2ViR0xTaGFkZXIuaCIKLSNpbmNsdWRlICJWOEludDE2QXJy
YXkuaCIKLSNpbmNsdWRlICJWOFdlYkdMVGV4dHVyZS5oIgotI2luY2x1ZGUgIlY4V2ViR0xVbmlm
b3JtTG9jYXRpb24uaCIKLSNpbmNsdWRlICJWOFVpbnQ4QXJyYXkuaCIKLSNpbmNsdWRlICJWOFVp
bnQzMkFycmF5LmgiCi0jaW5jbHVkZSAiVjhVaW50MTZBcnJheS5oIgogI2luY2x1ZGUgIlY4SFRN
TENhbnZhc0VsZW1lbnQuaCIKICNpbmNsdWRlICJWOEhUTUxJbWFnZUVsZW1lbnQuaCIKICNpbmNs
dWRlICJWOEhUTUxWaWRlb0VsZW1lbnQuaCIKICNpbmNsdWRlICJWOEltYWdlRGF0YS5oIgorI2lu
Y2x1ZGUgIlY4SW50MTZBcnJheS5oIgorI2luY2x1ZGUgIlY4SW50MzJBcnJheS5oIgorI2luY2x1
ZGUgIlY4SW50OEFycmF5LmgiCiAjaW5jbHVkZSAiVjhPRVNUZXh0dXJlRmxvYXQuaCIKICNpbmNs
dWRlICJWOFByb3h5LmgiCisjaW5jbHVkZSAiVjhVaW50MTZBcnJheS5oIgorI2luY2x1ZGUgIlY4
VWludDMyQXJyYXkuaCIKKyNpbmNsdWRlICJWOFVpbnQ4QXJyYXkuaCIKKyNpbmNsdWRlICJWOFdl
YkdMQnVmZmVyLmgiCisjaW5jbHVkZSAiVjhXZWJHTEZyYW1lYnVmZmVyLmgiCisjaW5jbHVkZSAi
VjhXZWJHTFByb2dyYW0uaCIKKyNpbmNsdWRlICJWOFdlYkdMUmVuZGVyYnVmZmVyLmgiCisjaW5j
bHVkZSAiVjhXZWJHTFNoYWRlci5oIgorI2luY2x1ZGUgIlY4V2ViR0xUZXh0dXJlLmgiCisjaW5j
bHVkZSAiVjhXZWJHTFVuaWZvcm1Mb2NhdGlvbi5oIgogI2luY2x1ZGUgIldlYkdMUmVuZGVyaW5n
Q29udGV4dC5oIgorI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMTU5LDYgKzE1Nyw5IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
dG9WOE9iamVjdChXZWJHTEV4dGVuc2lvbiogZXh0ZW5zaW9uLCB2ODo6SGFuZGxlPHY4CiAgICAg
ICAgIHJldHVybiB2ODo6TnVsbCgpOwogICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBleHRlbnNp
b25PYmplY3Q7CiAgICAgc3dpdGNoIChleHRlbnNpb24tPmdldE5hbWUoKSkgeworICAgIGNhc2Ug
V2ViR0xFeHRlbnNpb246OldlYktpdExvc2VDb250ZXh0TmFtZToKKyAgICAgICAgZXh0ZW5zaW9u
T2JqZWN0ID0gdG9WOChzdGF0aWNfY2FzdDxXZWJLaXRMb3NlQ29udGV4dCo+KGV4dGVuc2lvbikp
OworICAgICAgICBicmVhazsKICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNUZXh0dXJlRmxv
YXROYW1lOgogICAgICAgICBleHRlbnNpb25PYmplY3QgPSB0b1Y4KHN0YXRpY19jYXN0PE9FU1Rl
eHR1cmVGbG9hdCo+KGV4dGVuc2lvbikpOwogICAgICAgICBicmVhazsKQEAgLTM3NSw2ICszNzYs
OSBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFN1
cHBvcnRlZEV4dGVuc2lvbnNDYWxsYmFjayhjbwogewogICAgIElOQ19TVEFUUygiRE9NLldlYkdM
UmVuZGVyaW5nQ29udGV4dC5nZXRTdXBwb3J0ZWRFeHRlbnNpb25zQ2FsbGJhY2soKSIpOwogICAg
IFdlYkdMUmVuZGVyaW5nQ29udGV4dCogaW1wID0gVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRv
TmF0aXZlKGFyZ3MuSG9sZGVyKCkpOworICAgIGlmIChpbXAtPmlzQ29udGV4dExvc3QoKSkKKyAg
ICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisKICAgICBWZWN0b3I8U3RyaW5nPiB2YWx1ZSA9IGlt
cC0+Z2V0U3VwcG9ydGVkRXh0ZW5zaW9ucygpOwogICAgIHY4OjpMb2NhbDx2ODo6QXJyYXk+IGFy
cmF5ID0gdjg6OkFycmF5OjpOZXcodmFsdWUuc2l6ZSgpKTsKICAgICBmb3IgKHNpemVfdCBpaSA9
IDA7IGlpIDwgdmFsdWUuc2l6ZSgpOyArK2lpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTEV4dGVuc2lvbi5oIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lv
bi5oCmluZGV4IDNkZjNiNzMyYjc0MTg1NzE0NDM1ZjEyZDcxZDc0NGRkYjhlYjg0MTkuLmYyZDZi
N2JlYmIzYmQ5YTRmOWE5ZjdjZTY3NjQ4MTJlMDRmYjkzNDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMRXh0ZW5zaW9uLmgKQEAgLTM0LDcgKzM0LDggQEAgY2xhc3MgV2ViR0xFeHRlbnNpb24gOiBw
dWJsaWMgUmVmQ291bnRlZDxXZWJHTEV4dGVuc2lvbj4gewogcHVibGljOgogICAgIC8vIEV4dGVu
c2lvbiBuYW1lcyBhcmUgbmVlZGVkIHRvIHByb3Blcmx5IHdyYXAgaW5zdGFuY2VzIGluIEphdmFT
Y3JpcHQgb2JqZWN0cy4KICAgICBlbnVtIEV4dGVuc2lvbk5hbWUgewotICAgICAgICBPRVNUZXh0
dXJlRmxvYXROYW1lCisgICAgICAgIFdlYktpdExvc2VDb250ZXh0TmFtZSwKKyAgICAgICAgT0VT
VGV4dHVyZUZsb2F0TmFtZSwKICAgICB9OwogCiAgICAgdmlydHVhbCB+V2ViR0xFeHRlbnNpb24o
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmNwcCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRl
eCBkMGM1Mzk3OGFiYzVmMDYxYTA4YTcwOTZlZjUyZmUxYjJjMDBhMWQxLi40NDVlNGRkNGUyZjBi
ZWU5NWUzZGU2NDA1YjRjZTZlY2UwMWE3YmEwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiQ2Fj
aGVkSW1hZ2UuaCIKICNpbmNsdWRlICJDYW52YXNQaXhlbEFycmF5LmgiCiAjaW5jbHVkZSAiQ2hl
Y2tlZEludC5oIgorI2luY2x1ZGUgIldlYktpdExvc2VDb250ZXh0LmgiCiAjaW5jbHVkZSAiQ29u
c29sZS5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkV4dGVuc2lvbnMzRC5o
IgpAQCAtMTEwLDExICsxMTEsMTEgQEAgcHJpdmF0ZToKIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0OjpXZWJHTFJlbmRlcmluZ0NvbnRleHRSZXN0b3JlVGltZXI6OmZpcmVkKCkKIHsKICAgICAv
LyBUaW1lciBpcyBzdGFydGVkIHdoZW4gbV9jb250ZXh0TG9zdCBpcyBmYWxzZS4gIEl0IHdpbGwg
Zmlyc3QgY2FsbAotICAgIC8vIGxvc2VDb250ZXh0LCB3aGljaCB3aWxsIHNldCBtX2NvbnRleHRM
b3N0IHRvIHRydWUuICBUaGVuIGl0IHdpbGwga2VlcAorICAgIC8vIG9uTG9zdENvbnRleHQsIHdo
aWNoIHdpbGwgc2V0IG1fY29udGV4dExvc3QgdG8gdHJ1ZS4gIFRoZW4gaXQgd2lsbCBrZWVwCiAg
ICAgLy8gY2FsbGluZyByZXN0b3JlQ29udGV4dCBhbmQgcmVzY2hlZHVsZSBpdHNlbGYgdW50aWwg
bV9jb250ZXh0TG9zdCBpcyBiYWNrCiAgICAgLy8gdG8gZmFsc2UuCiAgICAgaWYgKCFtX2NvbnRl
eHQtPm1fY29udGV4dExvc3QpIHsKLSAgICAgICAgbV9jb250ZXh0LT5sb3NlQ29udGV4dCgpOwor
ICAgICAgICBtX2NvbnRleHQtPm9uTG9zdENvbnRleHQoKTsKICAgICAgICAgc3RhcnRPbmVTaG90
KHNlY29uZHNCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzKTsKICAgICB9IGVsc2UgewogICAgICAgICAv
LyBUaGUgcmVuZGVyaW5nIGNvbnRleHQgaXMgbm90IHJlc3RvcmVkIGlmIHRoZXJlIGlzIG5vIGhh
bmRsZXIgZm9yCkBAIC0xNTAyLDYgKzE1MDMsOSBAQCB1bnNpZ25lZCBsb25nIFdlYkdMUmVuZGVy
aW5nQ29udGV4dDo6Z2V0RXJyb3IoKQogCiBXZWJHTEV4dGVuc2lvbiogV2ViR0xSZW5kZXJpbmdD
b250ZXh0OjpnZXRFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBuYW1lKQogeworICAgIGlmIChpc0Nv
bnRleHRMb3N0KCkpCisgICAgICAgIHJldHVybiAwOworCiAgICAgaWYgKGVxdWFsSWdub3JpbmdD
YXNlKG5hbWUsICJPRVNfdGV4dHVyZV9mbG9hdCIpCiAgICAgICAgICYmIG1fY29udGV4dC0+Z2V0
RXh0ZW5zaW9ucygpLT5zdXBwb3J0cygiR0xfT0VTX3RleHR1cmVfZmxvYXQiKSkgewogICAgICAg
ICBpZiAoIW1fb2VzVGV4dHVyZUZsb2F0KSB7CkBAIC0xNTA5LDYgKzE1MTMsMTAgQEAgV2ViR0xF
eHRlbnNpb24qIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0RXh0ZW5zaW9uKGNvbnN0IFN0cmlu
ZyYgbmFtZSkKICAgICAgICAgICAgIG1fb2VzVGV4dHVyZUZsb2F0ID0gT0VTVGV4dHVyZUZsb2F0
OjpjcmVhdGUoKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gbV9vZXNUZXh0dXJlRmxvYXQu
Z2V0KCk7CisgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAiV0VCS0lUX2xv
c2VfY29udGV4dCIpKSB7CisgICAgICAgIGlmICghbV93ZWJraXRMb3NlQ29udGV4dCkKKyAgICAg
ICAgICAgIG1fd2Via2l0TG9zZUNvbnRleHQgPSBXZWJLaXRMb3NlQ29udGV4dDo6Y3JlYXRlKHRo
aXMpOworICAgICAgICByZXR1cm4gbV93ZWJraXRMb3NlQ29udGV4dC5nZXQoKTsKICAgICB9CiAK
ICAgICByZXR1cm4gMDsKQEAgLTE5MTQsNiArMTkyMiw3IEBAIFZlY3RvcjxTdHJpbmc+IFdlYkdM
UmVuZGVyaW5nQ29udGV4dDo6Z2V0U3VwcG9ydGVkRXh0ZW5zaW9ucygpCiAgICAgVmVjdG9yPFN0
cmluZz4gcmVzdWx0OwogICAgIGlmIChtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS0+c3VwcG9y
dHMoIkdMX09FU190ZXh0dXJlX2Zsb2F0IikpCiAgICAgICAgIHJlc3VsdC5hcHBlbmQoIk9FU190
ZXh0dXJlX2Zsb2F0Iik7CisgICAgcmVzdWx0LmFwcGVuZCgiV0VCS0lUX2xvc2VfY29udGV4dCIp
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTMzNzMsNyArMzM4MiwxNyBAQCB2b2lkIFdl
YkdMUmVuZGVyaW5nQ29udGV4dDo6dmlld3BvcnQobG9uZyB4LCBsb25nIHksIGxvbmcgd2lkdGgs
IGxvbmcgaGVpZ2h0KQogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAK
LXZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpsb3NlQ29udGV4dCgpCit2b2lkIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6Zm9yY2VMb3N0Q29udGV4dCgpCit7CisgICAgaWYgKGlzQ29udGV4dExv
c3QoKSkgeworICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29u
dGV4dDNEOjpJTlZBTElEX09QRVJBVElPTik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QoMCk7Cit9CisKK3ZvaWQgV2ViR0xSZW5kZXJp
bmdDb250ZXh0Ojpvbkxvc3RDb250ZXh0KCkKIHsKICAgICBtX2NvbnRleHRMb3N0ID0gdHJ1ZTsK
IApAQCAtNDIxOSwxMSArNDIzOCwxNiBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6cmVz
dG9yZVN0YXRlc0FmdGVyVmVydGV4QXR0cmliMFNpbXVsYXRpb24oKQogCiBpbnQgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0OjpnZXROdW1iZXJPZkV4dGVuc2lvbnMoKQogewotICAgIHJldHVybiAobV9v
ZXNUZXh0dXJlRmxvYXQgPyAxIDogMCk7CisgICAgcmV0dXJuIChtX3dlYmtpdExvc2VDb250ZXh0
ID8gMSA6IDApICsgKG1fb2VzVGV4dHVyZUZsb2F0ID8gMSA6IDApOwogfQogCiBXZWJHTEV4dGVu
c2lvbiogV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb25OdW1iZXIoaW50IGkpCiB7
CisgICAgaWYgKG1fd2Via2l0TG9zZUNvbnRleHQpIHsKKyAgICAgICAgaWYgKCFpKQorICAgICAg
ICAgICAgcmV0dXJuIG1fd2Via2l0TG9zZUNvbnRleHQuZ2V0KCk7CisgICAgICAgIC0taTsKKyAg
ICB9CiAgICAgaWYgKG1fb2VzVGV4dHVyZUZsb2F0KSB7CiAgICAgICAgIGlmICghaSkKICAgICAg
ICAgICAgIHJldHVybiBtX29lc1RleHR1cmVGbG9hdC5nZXQoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmggYi9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IDFlODY3ZDZmN2EyMTM2ZGY0OTFkZTEy
Mzc0NDQwN2U5YzY0ODVjMzEuLjMwN2E0ZDU0MDYxNzI2MDI1YTQ0YWU5NDY4ZjQwODRjOTI0NjZh
M2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmgKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaApAQCAt
NTEsNiArNTEsNyBAQCBjbGFzcyBXZWJHTFJlbmRlcmJ1ZmZlcjsKIGNsYXNzIFdlYkdMU2hhZGVy
OwogY2xhc3MgV2ViR0xUZXh0dXJlOwogY2xhc3MgV2ViR0xVbmlmb3JtTG9jYXRpb247CitjbGFz
cyBXZWJLaXRMb3NlQ29udGV4dDsKIGNsYXNzIEhUTUxJbWFnZUVsZW1lbnQ7CiBjbGFzcyBIVE1M
VmlkZW9FbGVtZW50OwogY2xhc3MgSW1hZ2VCdWZmZXI7CkBAIC0yODQsNyArMjg1LDggQEAgcHVi
bGljOgogCiAgICAgdm9pZCB2aWV3cG9ydChsb25nIHgsIGxvbmcgeSwgbG9uZyB3aWR0aCwgbG9u
ZyBoZWlnaHQpOwogCi0gICAgdm9pZCBsb3NlQ29udGV4dCgpOworICAgIHZvaWQgZm9yY2VMb3N0
Q29udGV4dCgpOworICAgIHZvaWQgb25Mb3N0Q29udGV4dCgpOwogICAgIHZvaWQgcmVzdG9yZUNv
bnRleHQoKTsKIAogICAgIEdyYXBoaWNzQ29udGV4dDNEKiBncmFwaGljc0NvbnRleHQzRCgpIGNv
bnN0IHsgcmV0dXJuIG1fY29udGV4dC5nZXQoKTsgfQpAQCAtNDY4LDYgKzQ3MCw3IEBAIHB1Ymxp
YzoKIAogICAgIC8vIEVuYWJsZWQgZXh0ZW5zaW9uIG9iamVjdHMuCiAgICAgUmVmUHRyPE9FU1Rl
eHR1cmVGbG9hdD4gbV9vZXNUZXh0dXJlRmxvYXQ7CisgICAgUmVmUHRyPFdlYktpdExvc2VDb250
ZXh0PiBtX3dlYmtpdExvc2VDb250ZXh0OwogCiAgICAgLy8gSGVscGVycyBmb3IgZ2V0UGFyYW1l
dGVyIGFuZCBvdGhlcnMKICAgICBXZWJHTEdldEluZm8gZ2V0Qm9vbGVhblBhcmFtZXRlcih1bnNp
Z25lZCBsb25nIHBuYW1lKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViS2l0
TG9zZUNvbnRleHQuY3BwIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJLaXRMb3NlQ29udGV4dC5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzdkZDA3ODk0ZGMyYjI5MzNkNjAyMzkwNmM4MmFiNGRmNjY2OGRlYgot
LS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViS2l0TG9zZUNvbnRleHQu
Y3BwCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
KyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBF
TkFCTEUoM0RfQ0FOVkFTKQorCisjaW5jbHVkZSAiV2ViS2l0TG9zZUNvbnRleHQuaCIKKworI2lu
Y2x1ZGUgIldlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K1dlYktpdExvc2VDb250ZXh0OjpXZWJLaXRMb3NlQ29udGV4dChXZWJHTFJlbmRlcmluZ0NvbnRl
eHQqIGNvbnRleHQpCisgICAgOiBXZWJHTEV4dGVuc2lvbigpCisgICAgLCBtX2NvbnRleHQoY29u
dGV4dCkKK3sKK30KKworV2ViS2l0TG9zZUNvbnRleHQ6On5XZWJLaXRMb3NlQ29udGV4dCgpCit7
Cit9CisKK1dlYkdMRXh0ZW5zaW9uOjpFeHRlbnNpb25OYW1lIFdlYktpdExvc2VDb250ZXh0Ojpn
ZXROYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gV2ViS2l0TG9zZUNvbnRleHROYW1lOworfQor
CitQYXNzUmVmUHRyPFdlYktpdExvc2VDb250ZXh0PiBXZWJLaXRMb3NlQ29udGV4dDo6Y3JlYXRl
KFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFdlYktpdExvc2VDb250ZXh0KGNvbnRleHQpKTsKK30KKwordm9pZCBXZWJLaXRMb3NlQ29u
dGV4dDo6bG9zZUNvbnRleHQoKQoreworICAgIG1fY29udGV4dC0+Zm9yY2VMb3N0Q29udGV4dCgp
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FO
VkFTKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJLaXRMb3NlQ29udGV4dC5o
IGIvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJLaXRMb3NlQ29udGV4dC5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUy
NWUwODQ5ZjJjNGUwZWRiY2JlOTlhNjBjY2FhOTY4N2IzODQyMjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0LmgKQEAgLTAsMCArMSw1NCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAq
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgV2ViS2l0TG9zZUNvbnRleHRfaAorI2RlZmluZSBXZWJLaXRMb3Nl
Q29udGV4dF9oCisKKyNpbmNsdWRlICJXZWJHTEV4dGVuc2lvbi5oIgorI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBXZWJHTFJlbmRlcmluZ0NvbnRleHQ7CisKK2NsYXNzIFdlYktpdExv
c2VDb250ZXh0IDogcHVibGljIFdlYkdMRXh0ZW5zaW9uIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxXZWJLaXRMb3NlQ29udGV4dD4gY3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4
dCopOworCisgICAgdmlydHVhbCB+V2ViS2l0TG9zZUNvbnRleHQoKTsKKyAgICB2aXJ0dWFsIEV4
dGVuc2lvbk5hbWUgZ2V0TmFtZSgpIGNvbnN0OworCisgICAgdm9pZCBsb3NlQ29udGV4dCgpOwor
Citwcml2YXRlOgorICAgIFdlYktpdExvc2VDb250ZXh0KFdlYkdMUmVuZGVyaW5nQ29udGV4dCop
OworCisgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBtX2NvbnRleHQ7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBXZWJLaXRMb3NlQ29udGV4dF9oCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0LmlkbCBiL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViS2l0TG9zZUNvbnRleHQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0MWFhNGFmZjFk
ZDdjYzE1NWVmZmRiMTIwNGJlMjFlNTY2ZGRhMmEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0LmlkbApAQCAtMCwwICsxLDMwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAq
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworbW9kdWxlIGh0bWwgeworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLCBP
bWl0Q29uc3RydWN0b3JdIFdlYktpdExvc2VDb250ZXh0IHsKKyAgICAgICAgW1N0cmljdFR5cGVD
aGVja2luZ10gdm9pZCBsb3NlQ29udGV4dCgpOworICAgIH07Cit9Cg==
</data>
<flag name="review"
          id="69331"
          type_id="1"
          status="+"
          setter="kbr"
    />
          </attachment>
      

    </bug>

</bugzilla>