<?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>163296</bug_id>
          
          <creation_ts>2016-10-11 14:05:11 -0700</creation_ts>
          <short_desc>select.options may return too many option elements</short_desc>
          <delta_ts>2016-10-12 14:18:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>https://html.spec.whatwg.org/#concept-select-option-list</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>163358</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1238996</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-11 14:05:11 -0700</bug_when>
    <thetext>select.options may return too many option elements. We&apos;re only supposed to return the option element children of the select element, and the option element children of all the optgroup element children of the select element, in tree order:
- https://html.spec.whatwg.org/#dom-select-options
- https://html.spec.whatwg.org/#concept-select-option-list

Firefox and Chrome agrees with the specification. However, WebKit returns all the option elements that are descendants of the select element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239050</commentid>
    <comment_count>1</comment_count>
      <attachid>291305</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-11 15:34:40 -0700</bug_when>
    <thetext>Created attachment 291305
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239074</commentid>
    <comment_count>2</comment_count>
      <attachid>291305</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-11 16:22:01 -0700</bug_when>
    <thetext>Comment on attachment 291305
Patch

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

&gt; Source/WebCore/html/HTMLOptionsCollection.cpp:85
&gt; +        if (is&lt;HTMLOptGroupElement&gt;(*child)) {
&gt; +            if (auto* firstOptionChild = childrenOfType&lt;HTMLOptionElement&gt;(*child).first())

I don&apos;t think this is quite correct. opgroup needs to be a child of select:
https://html.spec.whatwg.org/#concept-select-option-list

&gt; Source/WebCore/html/HTMLOptionsCollection.cpp:101
&gt; +HTMLOptionElement* HTMLOptionsCollection::customElementAfter(Element* element) const

I think it&apos;s better to just check the parent being either the root HTMLSelectElement or HTMLOptGroupElement,
and if it&apos;s HTMLOptGroupElement, then its parent is the root HTMLSelectElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239080</commentid>
    <comment_count>3</comment_count>
      <attachid>291313</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-11 16:26:38 -0700</bug_when>
    <thetext>Created attachment 291313
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239084</commentid>
    <comment_count>4</comment_count>
      <attachid>291313</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-11 16:29:03 -0700</bug_when>
    <thetext>Comment on attachment 291313
Patch

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

&gt; Source/WebCore/html/HTMLOptionsCollection.h:76
&gt; +    if (element.parentNode() == &amp;selectElement())

Can we store parentNode in a local variable instead of calling it thrice?

&gt; Source/WebCore/html/HTMLOptionsCollection.h:79
&gt; +    return element.parentNode()-&gt;hasTagName(optgroupTag) &amp;&amp; element.parentNode()-&gt;parentNode() == &amp;selectElement();

Should we null check parentNode()? I guess we&apos;re guaranteed to be traversing descendent which is not equal to the root so it can never be null?
But we should at least add ASSERT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239091</commentid>
    <comment_count>5</comment_count>
      <attachid>291316</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-11 16:35:37 -0700</bug_when>
    <thetext>Created attachment 291316
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239093</commentid>
    <comment_count>6</comment_count>
      <attachid>291317</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-11 16:39:09 -0700</bug_when>
    <thetext>Created attachment 291317
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239094</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-11 16:41:19 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 291313 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=291313&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLOptionsCollection.h:76
&gt; &gt; +    if (element.parentNode() == &amp;selectElement())
&gt; 
&gt; Can we store parentNode in a local variable instead of calling it thrice?
&gt; 
&gt; &gt; Source/WebCore/html/HTMLOptionsCollection.h:79
&gt; &gt; +    return element.parentNode()-&gt;hasTagName(optgroupTag) &amp;&amp; element.parentNode()-&gt;parentNode() == &amp;selectElement();
&gt; 
&gt; Should we null check parentNode()? I guess we&apos;re guaranteed to be traversing
&gt; descendent which is not equal to the root so it can never be null?
&gt; But we should at least add ASSERT?

I added an assertion even though it would crash anyway if it were null when referencing it. If we encounter an option element while traversing the descendants of a select element, and if its parent is not a select element then the descendant necessarily has a grand-parent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239111</commentid>
    <comment_count>8</comment_count>
      <attachid>291317</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-11 17:28:31 -0700</bug_when>
    <thetext>Comment on attachment 291317
Patch

Clearing flags on attachment: 291317

Committed r207181: &lt;http://trac.webkit.org/changeset/207181&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239112</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-11 17:28:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239491</commentid>
    <comment_count>10</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2016-10-12 13:59:16 -0700</bug_when>
    <thetext>HTMLSelectElement::recalcListItems should be updated too.  It picks up OPTION children of a nested OPTGROUP.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239492</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-12 14:00:10 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; HTMLSelectElement::recalcListItems should be updated too.  It picks up
&gt; OPTION children of a nested OPTGROUP.

Thanks for letting me know Tamura. I&apos;ll fix in a follow-up.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291305</attachid>
            <date>2016-10-11 15:34:40 -0700</date>
            <delta_ts>2016-10-11 16:26:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163296-20161011153117.patch</filename>
            <type>text/plain</type>
            <size>50701</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3MTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzMyZjE1MzNiOWZlMmRk
MzRmMzMzMTYzZWFmMzY0NTQ0OGY0YTFjOS4uZDgzMTg1ZjRhNWUyODA0NDU1MzE4ZDUyZjBkY2I5
NTZmODdmYjk3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE2LTEwLTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgc2VsZWN0Lm9wdGlvbnMgbWF5
IHJldHVybiB0b28gbWFueSBvcHRpb24gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzI5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIHNlbGVjdC5vcHRpb25zIG1heSByZXR1cm4gdG9vIG1h
bnkgb3B0aW9uIGVsZW1lbnRzLiBXZSdyZSBvbmx5IHN1cHBvc2VkCisgICAgICAgIHRvIHJldHVy
biB0aGUgb3B0aW9uIGVsZW1lbnQgY2hpbGRyZW4gb2YgdGhlIHNlbGVjdCBlbGVtZW50LCBhbmQg
dGhlCisgICAgICAgIG9wdGlvbiBlbGVtZW50IGNoaWxkcmVuIG9mIGFsbCB0aGUgb3B0Z3JvdXAg
ZWxlbWVudCBjaGlsZHJlbiBvZiB0aGUKKyAgICAgICAgc2VsZWN0IGVsZW1lbnQsIGluIHRyZWUg
b3JkZXI6CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jZG9tLXNlbGVj
dC1vcHRpb25zCisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jY29uY2Vw
dC1zZWxlY3Qtb3B0aW9uLWxpc3QKKworICAgICAgICBGaXJlZm94IGFuZCBDaHJvbWUgYWdyZWVz
IHdpdGggdGhlIHNwZWNpZmljYXRpb24uIEhvd2V2ZXIsIFdlYktpdCB3YXMKKyAgICAgICAgcmV0
dXJuaW5nIGFsbCB0aGUgb3B0aW9uIGVsZW1lbnRzIHRoYXQgYXJlIGRlc2NlbmRhbnRzIG9mIHRo
ZSBzZWxlY3QKKyAgICAgICAgZWxlbWVudC4KKworICAgICAgICBUZXN0OiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZh
Y2VzL2NvbGxlY3Rpb25zL2h0bWxvcHRpb25zY29sbGVjdGlvbi5odG1sCisKKyAgICAgICAgKiBo
dG1sL0NvbGxlY3Rpb25UeXBlLmg6CisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpuZXh0T3B0
aW9uRWxlbWVudEZyb21TZWxlY3RFbGVtZW50Q2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6bmV4
dE9wdEdyb3VwQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdGlvbnNDb2xsZWN0aW9u
OjpjdXN0b21FbGVtZW50QWZ0ZXIpOgorICAgICAgICAqIGh0bWwvSFRNTE9wdGlvbnNDb2xsZWN0
aW9uLmg6CisKIDIwMTYtMTAtMTAgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+
CiAKICAgICAgICAgW1dpbl1bRGlyZWN0MkRdIEFkZCBpbml0aWFsIFBhdHRlcm4gaGFuZGxpbmcg
aW1wbGVtZW50YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlv
blR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvblR5cGUuaAppbmRleCBkNzZh
OTAyYmFiZTU0YWU0ODdmOWE3OTkyNDdmNTU2ZmRkMjhlY2I2Li5hNWJlZDM1MjFmN2Y5MjdmNTcy
YmQ2MTcyMzFjYmFkMTkzMmYyZGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Nv
bGxlY3Rpb25UeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uVHlwZS5o
CkBAIC05Myw2ICs5MywxMSBAQCBzdHJ1Y3QgQ29sbGVjdGlvblR5cGVUcmFpdHM8Rm9ybUNvbnRy
b2xzPiB7CiAgICAgc3RhdGljIGNvbnN0IENvbGxlY3Rpb25UcmF2ZXJzYWxUeXBlIHRyYXZlcnNh
bFR5cGUgPSBDb2xsZWN0aW9uVHJhdmVyc2FsVHlwZTo6Q3VzdG9tRm9yd2FyZE9ubHk7CiB9Owog
Cit0ZW1wbGF0ZTw+CitzdHJ1Y3QgQ29sbGVjdGlvblR5cGVUcmFpdHM8U2VsZWN0T3B0aW9ucz4g
eworICAgIHN0YXRpYyBjb25zdCBDb2xsZWN0aW9uVHJhdmVyc2FsVHlwZSB0cmF2ZXJzYWxUeXBl
ID0gQ29sbGVjdGlvblRyYXZlcnNhbFR5cGU6OkN1c3RvbUZvcndhcmRPbmx5OworfTsKKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE9wdGlvbnNDb2xsZWN0aW9uLmNwcAppbmRleCA3NzAwYTI0YzQwMWI0N2RhZTYxYWNkNjc0NDlm
M2ZjYTY2OGQ1YjI5Li4xZmY0YzljYWM4YmRmZGVjNzgyZmRjNWRiNTFiMzMwNGQ3YWFiZTFlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uY3BwCkBAIC0y
Miw2ICsyMiw3IEBACiAjaW5jbHVkZSAiSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmgiCiAKICNpbmNs
dWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiSFRNTE9wdEdyb3VwRWxlbWVudC5oIgog
I2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTcxLDQgKzcyLDQ0IEBAIHZvaWQgSFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpzZXRMZW5ndGgodW5z
aWduZWQgbGVuZ3RoLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBzZWxlY3RFbGVtZW50KCkuc2V0
TGVuZ3RoKGxlbmd0aCwgZWMpOwogfQogCitpbmxpbmUgSFRNTE9wdGlvbkVsZW1lbnQqIEhUTUxP
cHRpb25zQ29sbGVjdGlvbjo6bmV4dE9wdGlvbkVsZW1lbnRGcm9tU2VsZWN0RWxlbWVudENoaWxk
KEhUTUxFbGVtZW50KiBlbGVtZW50KSBjb25zdAoreworICAgIEFTU0VSVCghZWxlbWVudCB8fCBl
bGVtZW50LT5wYXJlbnRFbGVtZW50KCkgPT0gJnNlbGVjdEVsZW1lbnQoKSk7CisKKyAgICBhdXRv
IHNlbGVjdENoaWxkcmVuID0gY2hpbGRyZW5PZlR5cGU8SFRNTEVsZW1lbnQ+KHNlbGVjdEVsZW1l
bnQoKSk7CisgICAgYXV0byBjaGlsZCA9IGVsZW1lbnQgPyArK3NlbGVjdENoaWxkcmVuLmJlZ2lu
QXQoKmVsZW1lbnQpIDogc2VsZWN0Q2hpbGRyZW4uYmVnaW4oKTsKKyAgICBmb3IgKDsgY2hpbGQg
IT0gc2VsZWN0Q2hpbGRyZW4uZW5kKCk7ICsrY2hpbGQpIHsKKyAgICAgICAgaWYgKGlzPEhUTUxP
cHRpb25FbGVtZW50PigqY2hpbGQpKQorICAgICAgICAgICAgcmV0dXJuIGRvd25jYXN0PEhUTUxP
cHRpb25FbGVtZW50PigmKmNoaWxkKTsKKyAgICAgICAgaWYgKGlzPEhUTUxPcHRHcm91cEVsZW1l
bnQ+KCpjaGlsZCkpIHsKKyAgICAgICAgICAgIGlmIChhdXRvKiBmaXJzdE9wdGlvbkNoaWxkID0g
Y2hpbGRyZW5PZlR5cGU8SFRNTE9wdGlvbkVsZW1lbnQ+KCpjaGlsZCkuZmlyc3QoKSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gZmlyc3RPcHRpb25DaGlsZDsKKyAgICAgICAgfQorICAgIH0KKyAg
ICByZXR1cm4gbnVsbHB0cjsKK30KKworc3RhdGljIGlubGluZSBIVE1MT3B0aW9uRWxlbWVudCog
bmV4dE9wdEdyb3VwQ2hpbGQoSFRNTE9wdEdyb3VwRWxlbWVudCYgcGFyZW50LCBIVE1MT3B0aW9u
RWxlbWVudCYgY3VycmVudENoaWxkKQoreworICAgIGF1dG8gb3B0Z3JvdXBPcHRpb25zID0gY2hp
bGRyZW5PZlR5cGU8SFRNTE9wdGlvbkVsZW1lbnQ+KHBhcmVudCk7CisgICAgYXV0byBvcHRncm91
cE9wdGlvbiA9IG9wdGdyb3VwT3B0aW9ucy5iZWdpbkF0KGN1cnJlbnRDaGlsZCk7CisgICAgaWYg
KCsrb3B0Z3JvdXBPcHRpb24gIT0gb3B0Z3JvdXBPcHRpb25zLmVuZCgpKQorICAgICAgICByZXR1
cm4gJipvcHRncm91cE9wdGlvbjsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSFRNTE9wdGlv
bkVsZW1lbnQqIEhUTUxPcHRpb25zQ29sbGVjdGlvbjo6Y3VzdG9tRWxlbWVudEFmdGVyKEVsZW1l
bnQqIGVsZW1lbnQpIGNvbnN0Cit7CisgICAgaWYgKCFlbGVtZW50IHx8IGVsZW1lbnQtPnBhcmVu
dE5vZGUoKSA9PSAmc2VsZWN0RWxlbWVudCgpKQorICAgICAgICByZXR1cm4gbmV4dE9wdGlvbkVs
ZW1lbnRGcm9tU2VsZWN0RWxlbWVudENoaWxkKGRvd25jYXN0PEhUTUxFbGVtZW50PihlbGVtZW50
KSk7CisKKyAgICAvLyBDdXJyZW50bHkgZXhwbG9yaW5nIGFuIG9wdGdyb3VwJ3MgY2hpbGRyZW4s
IGNoZWNrIGlmIHRoZSBvcHRncm91cCBoYXMgYW5vdGhlciBvcHRpb24gY2hpbGQuCisgICAgYXV0
byYgb3B0Z3JvdXAgPSBkb3duY2FzdDxIVE1MT3B0R3JvdXBFbGVtZW50PigqZWxlbWVudC0+cGFy
ZW50Tm9kZSgpKTsKKyAgICBpZiAoYXV0byogb3B0aW9uID0gbmV4dE9wdEdyb3VwQ2hpbGQob3B0
Z3JvdXAsIGRvd25jYXN0PEhUTUxPcHRpb25FbGVtZW50PigqZWxlbWVudCkpKQorICAgICAgICBy
ZXR1cm4gb3B0aW9uOworCisgICAgLy8gT3RoZXJ3aXNlLCBnbyBiYWNrIHVwIHRvIGV4cGxvcmUg
dGhlIG9wdGdyb3VwJ3Mgc2libGluZ3MuCisgICAgcmV0dXJuIG5leHRPcHRpb25FbGVtZW50RnJv
bVNlbGVjdEVsZW1lbnRDaGlsZCgmb3B0Z3JvdXApOworfQorCiB9IC8vbmFtZXNwYWNlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaAppbmRleCA5Y2RhMjhlMGNl
N2NkNGUzYjViZDBmMzViNWFhZDkwM2M4NjIwNzgzLi45ZDhlZWRkYmIzYzVmYTY3ZDUwOGIzN2Vh
Yjk2ZjM2ZTJkMzY2ZDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRp
b25zQ29sbGVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xs
ZWN0aW9uLmgKQEAgLTM1LDggKzM1LDcgQEAgY2xhc3MgSFRNTE9wdGlvbnNDb2xsZWN0aW9uIGZp
bmFsIDogcHVibGljIENhY2hlZEhUTUxDb2xsZWN0aW9uPEhUTUxPcHRpb25zQ29sbGUKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUmVmPEhUTUxPcHRpb25zQ29sbGVjdGlvbj4gY3JlYXRlKEhUTUxTZWxl
Y3RFbGVtZW50JiwgQ29sbGVjdGlvblR5cGUpOwogCi0gICAgSFRNTFNlbGVjdEVsZW1lbnQmIHNl
bGVjdEVsZW1lbnQoKSB7IHJldHVybiBkb3duY2FzdDxIVE1MU2VsZWN0RWxlbWVudD4ob3duZXJO
b2RlKCkpOyB9Ci0gICAgY29uc3QgSFRNTFNlbGVjdEVsZW1lbnQmIHNlbGVjdEVsZW1lbnQoKSBj
b25zdCB7IHJldHVybiBkb3duY2FzdDxIVE1MU2VsZWN0RWxlbWVudD4ob3duZXJOb2RlKCkpOyB9
CisgICAgSFRNTFNlbGVjdEVsZW1lbnQmIHNlbGVjdEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBk
b3duY2FzdDxIVE1MU2VsZWN0RWxlbWVudD4ob3duZXJOb2RlKCkpOyB9CiAKICAgICBIVE1MT3B0
aW9uRWxlbWVudCogaXRlbSh1bnNpZ25lZCBvZmZzZXQpIGNvbnN0IGZpbmFsOwogICAgIEhUTUxP
cHRpb25FbGVtZW50KiBuYW1lZEl0ZW0oY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKSBjb25zdCBm
aW5hbDsKQEAgLTUyLDEwICs1MSwxMSBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRMZW5ndGgodW5zaWduZWQsIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIC8vIEZvciBDYWNo
ZWRIVE1MQ29sbGVjdGlvbi4KLSAgICBib29sIGVsZW1lbnRNYXRjaGVzKEVsZW1lbnQmKSBjb25z
dDsKKyAgICBXRUJDT1JFX0VYUE9SVCBIVE1MT3B0aW9uRWxlbWVudCogY3VzdG9tRWxlbWVudEFm
dGVyKEVsZW1lbnQqKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBIVE1MT3B0aW9u
c0NvbGxlY3Rpb24oSFRNTFNlbGVjdEVsZW1lbnQmKTsKKyAgICBIVE1MT3B0aW9uRWxlbWVudCog
bmV4dE9wdGlvbkVsZW1lbnRGcm9tU2VsZWN0RWxlbWVudENoaWxkKEhUTUxFbGVtZW50KikgY29u
c3Q7CiB9OwogCiBpbmxpbmUgSFRNTE9wdGlvbkVsZW1lbnQqIEhUTUxPcHRpb25zQ29sbGVjdGlv
bjo6aXRlbSh1bnNpZ25lZCBvZmZzZXQpIGNvbnN0CkBAIC02OCwxMSArNjgsNiBAQCBpbmxpbmUg
SFRNTE9wdGlvbkVsZW1lbnQqIEhUTUxPcHRpb25zQ29sbGVjdGlvbjo6bmFtZWRJdGVtKGNvbnN0
IEF0b21pY1N0cmluZyYgbgogICAgIHJldHVybiBkb3duY2FzdDxIVE1MT3B0aW9uRWxlbWVudD4o
Q2FjaGVkSFRNTENvbGxlY3Rpb248SFRNTE9wdGlvbnNDb2xsZWN0aW9uLCBDb2xsZWN0aW9uVHlw
ZVRyYWl0czxTZWxlY3RPcHRpb25zPjo6dHJhdmVyc2FsVHlwZT46Om5hbWVkSXRlbShuYW1lKSk7
CiB9CiAKLWlubGluZSBib29sIEhUTUxPcHRpb25zQ29sbGVjdGlvbjo6ZWxlbWVudE1hdGNoZXMo
RWxlbWVudCYgZWxlbWVudCkgY29uc3QKLXsKLSAgICByZXR1cm4gZWxlbWVudC5oYXNUYWdOYW1l
KEhUTUxOYW1lczo6b3B0aW9uVGFnKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiBT
UEVDSUFMSVpFX1RZUEVfVFJBSVRTX0hUTUxDT0xMRUNUSU9OKEhUTUxPcHRpb25zQ29sbGVjdGlv
biwgU2VsZWN0T3B0aW9ucykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDhiNWE5
NTNiNGQ0ODYyYTA3NDdjOWExNTJmNmJiNTAxOTlmOGY4NWQuLjZlNDY4YjFkMjFjZjllZmViYTUy
YjM2OGYzMTdiZTExM2U5ZGQ1YjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDM0IEBACisyMDE2LTEwLTExICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CisKKyAgICAgICAgc2VsZWN0Lm9wdGlvbnMgbWF5IHJldHVybiB0b28gbWFueSBvcHRpb24gZWxl
bWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
MzI5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElt
cG9ydCBodG1sL2luZnJhc3RydWN0dXJlIHdlYi1wbGF0Zm9ybS10ZXN0cyBmcm9tIHVwc3RyZWFt
LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29t
bW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2NvbnRhaW5zLmpzb246IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20t
aW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9odG1sYWxsY29sbGVjdGlvbi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2Nv
bW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9odG1sYWxsY29sbGVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9j
b21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbGZvcm1jb250cm9sc2NvbGxlY3Rp
b24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbGZv
cm1jb250cm9sc2NvbGxlY3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rp
b25zL2h0bWxvcHRpb25zY29sbGVjdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJm
YWNlcy9jb2xsZWN0aW9ucy9odG1sb3B0aW9uc2NvbGxlY3Rpb24uaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1p
bnRlcmZhY2VzL2NvbGxlY3Rpb25zL3JhZGlvbm9kZWxpc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24t
ZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvcmFkaW9ub2RlbGlzdC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9t
LWludGVyZmFjZXMvY29sbGVjdGlvbnMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRh
eGVzL2RhdGVzLWFuZC10aW1lcy9jb250YWlucy5qc29uOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhlcy9k
YXRlcy1hbmQtdGltZXMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRheGVzL251bWJl
cnMvY29udGFpbnMuanNvbjogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLW1pY3Jvc3ludGF4ZXMvbnVtYmVycy93M2MtaW1wb3J0
LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1
Y3R1cmUvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzL2V4dGVuc2liaWxpdHkvZm9yZWlnbi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJh
c3RydWN0dXJlL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy9leHRlbnNpYmlsaXR5L2ZvcmVpZ24u
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1
Y3R1cmUvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzL2V4dGVuc2liaWxpdHkvdzNjLWltcG9ydC5s
b2c6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0
dXJlL3Rlcm1pbm9sb2d5L3BsdWdpbnMvc2FtcGxlLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvdGVybWlub2xvZ3kvcGx1Z2lucy90
ZXh0LXBsYWluLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvdGVybWlub2xvZ3kvcGx1Z2lucy90ZXh0LXBsYWluLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0
dXJlL3Rlcm1pbm9sb2d5L3BsdWdpbnMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorCiAyMDE2LTEw
LTExICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbRmV0Y2gg
QVBJXSBTdXBwb3J0IFJlcXVlc3QgY2FjaGUgbW9kZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1v
bi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9jb250YWlucy5qc29uIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1v
bi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9jb250YWlucy5qc29uCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIz
MGYxZDBkNTMzMzM1YzExY2Q4M2NlNzkzMWM0MGQ3OGMyYzAwNTkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFz
dHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2NvbnRhaW5zLmpzb24K
QEAgLTAsMCArMSwxNCBAQAorWworICAgIHsKKyAgICAgICAgImlkIjogImh0bWxhbGxjb2xsZWN0
aW9uIiwKKyAgICAgICAgIm9yaWdpbmFsX2lkIjogImh0bWxhbGxjb2xsZWN0aW9uIgorICAgIH0s
CisgICAgeworICAgICAgICAiaWQiOiAiaHRtbGZvcm1jb250cm9sc2NvbGxlY3Rpb24iLAorICAg
ICAgICAib3JpZ2luYWxfaWQiOiAiaHRtbGZvcm1jb250cm9sc2NvbGxlY3Rpb24iCisgICAgfSwK
KyAgICB7CisgICAgICAgICJpZCI6ICJodG1sb3B0aW9uc2NvbGxlY3Rpb24iLAorICAgICAgICAi
b3JpZ2luYWxfaWQiOiAiaHRtbG9wdGlvbnNjb2xsZWN0aW9uIgorICAgIH0KK10KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZh
Y2VzL2NvbGxlY3Rpb25zL2h0bWxhbGxjb2xsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9j
b21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbGFsbGNvbGxlY3Rpb24tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjE0Y2JiYTg2ZDQ1MWRmMTUzZGMwMGRkYzk5YjQyYmFlZDJhY2Q4
NjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxl
Y3Rpb25zL2h0bWxhbGxjb2xsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACisK
KworUEFTUyBUZXN0IGZvciBIVE1MQWxsQ29sbGVjdGlvbiBzaXplIAorUEFTUyBUZXN0IGxvb2t1
cCBieSBpbmRleCB1c2luZyAoKSAKK1BBU1MgVGVzdCBsb29rdXAgYnkgaW5kZXggdXNpbmcgW10g
CitQQVNTIFRlc3QgbG9va3VwIElNRyBieSBuYW1lIAorUEFTUyBUZXN0IGxvb2t1cCBJTUcgYnkg
bmFtZWRJdGVtICAKK1BBU1MgVGVzdCBsb29rdXAgSU1HIGluIGNvbGxlY3Rpb24gdXNpbmcgKCkg
CitQQVNTIFRlc3QgbG9va3VwIElNRyBpbiBjb2xsZWN0aW9uIHVzaW5nIFtdIAorUEFTUyBUZXN0
IGxvb2t1cCBJTUcgaW4gY29sbGVjdGlvbiB1c2luZyAuIAorRkFJTCBUZXN0IGxvb2t1cCB0YWdz
IGluIGNvbGxlY3Rpb24gdXNpbmcgLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAi
dGFncyIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK1BBU1MgU2hvdWxkIGZpbmQgcm9v
dCBlbGVtZW50IHRvbyAKK0ZBSUwgU2hvdWxkIGZpbmQgYm90aCBhbmNob3JzIGFuZCBwcm9kdWNl
IGEgbGlzdCB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnZG9jdW1lbnQu
YWxsWyJmb28iXS5sZW5ndGgnKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRl
cmZhY2VzL2NvbGxlY3Rpb25zL2h0bWxhbGxjb2xsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9u
LWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0bWxhbGxjb2xsZWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOWNlOGVjMzUwZDFmYjkxYTNlNTRlNjcyM2RmZmI2YjdkM2E1Mjc1NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbGFs
bGNvbGxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1s
IGlkPSJyb290Ij4KKzxoZWFkPgorPHRpdGxlPkhUTUxBbGxDb2xsZWN0aW9uIFRlc3RzPC90aXRs
ZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iRGFuIERydXRhIiBocmVmPSJtYWlsdG86ZGFu
LmRydXRhQGF0dC5jb20iLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iMi43LjIuMSAtIENvbW1v
biBJbmZyYXN0cnVjdHVyZS9Db21tb24gRE9NIEludGVyZmFjZXMvQ29sbGVjdGlvbnMvSFRNTEFs
bENvbGxlY3Rpb24iLz4KKzxtZXRhIG5hbWU9ImZsYWdzIiBjb250ZW50PSJUT0tFTlMiIC8+Cis8
bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IlRFU1QgQVNTRVJUSU9OIi8+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBp
ZD0idGFncyI+Cis8aW1nIHNyYz0iLi4vLi4vLi4vLi4vaW1hZ2VzL2dyZWVuLnBuZyIgbmFtZT0i
cGljdHVyZSI+Cis8YSBuYW1lPSJmb28iPjwvYT4KKzxhIG5hbWU9ImZvbyI+PC9hPgorPHNjcmlw
dD4KK3Rlc3QoZnVuY3Rpb24oKXsgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5hbGwubGVuZ3RoLDE0
KX0sICJUZXN0IGZvciBIVE1MQWxsQ29sbGVjdGlvbiBzaXplIik7CisKK3Rlc3QoZnVuY3Rpb24o
KXsgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5hbGwuaXRlbSgwKS50YWdOYW1lLCJIVE1MIil9LCAi
VGVzdCBsb29rdXAgYnkgaW5kZXggdXNpbmcgKCkiKTsKKwordGVzdChmdW5jdGlvbigpeyBhc3Nl
cnRfZXF1YWxzKGRvY3VtZW50LmFsbFswXS50YWdOYW1lLCJIVE1MIil9LCAiVGVzdCBsb29rdXAg
YnkgaW5kZXggdXNpbmcgW10iKTsKKwordGVzdChmdW5jdGlvbigpeyBhc3NlcnRfZXF1YWxzKGRv
Y3VtZW50LmFsbC5pdGVtKCJwaWN0dXJlIikubm9kZU5hbWUsIklNRyIpfSwgIlRlc3QgbG9va3Vw
IElNRyBieSBuYW1lIik7CisKK3Rlc3QoZnVuY3Rpb24oKXsgYXNzZXJ0X2VxdWFscyhkb2N1bWVu
dC5hbGwubmFtZWRJdGVtKCJwaWN0dXJlIikubm9kZU5hbWUsIklNRyIpfSwgIlRlc3QgbG9va3Vw
IElNRyBieSBuYW1lZEl0ZW0gIik7CisKK3Rlc3QoZnVuY3Rpb24oKXsgYXNzZXJ0X2VxdWFscyhk
b2N1bWVudC5hbGwoInBpY3R1cmUiKS5ub2RlTmFtZSwiSU1HIil9LCAiVGVzdCBsb29rdXAgSU1H
IGluIGNvbGxlY3Rpb24gdXNpbmcgKCkiKTsKKwordGVzdChmdW5jdGlvbigpeyBhc3NlcnRfZXF1
YWxzKGRvY3VtZW50LmFsbFsicGljdHVyZSJdLm5vZGVOYW1lLCJJTUciKX0sICJUZXN0IGxvb2t1
cCBJTUcgaW4gY29sbGVjdGlvbiB1c2luZyBbXSIpOworCit0ZXN0KGZ1bmN0aW9uKCl7IGFzc2Vy
dF9lcXVhbHMoZG9jdW1lbnQuYWxsLnBpY3R1cmUubm9kZU5hbWUsIklNRyIpfSwgIlRlc3QgbG9v
a3VwIElNRyBpbiBjb2xsZWN0aW9uIHVzaW5nIC4iKTsKKwordGVzdChmdW5jdGlvbigpeyBhc3Nl
cnRfZXF1YWxzKGRvY3VtZW50LmFsbC50YWdzLmlkLCJ0YWdzIil9LCAiVGVzdCBsb29rdXAgdGFn
cyBpbiBjb2xsZWN0aW9uIHVzaW5nIC4iKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0
X2VxdWFscyhkb2N1bWVudC5hbGxbInJvb3QiXSwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KTsK
K30sICJTaG91bGQgZmluZCByb290IGVsZW1lbnQgdG9vIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7
CisgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuYWxsWyJmb28iXS5sZW5ndGgsIDIpOworfSwgIlNo
b3VsZCBmaW5kIGJvdGggYW5jaG9ycyBhbmQgcHJvZHVjZSBhIGxpc3QiKTsKKwordGVzdAorPC9z
Y3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJh
c3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9odG1sZm9ybWNvbnRy
b2xzY29sbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2Vz
L2NvbGxlY3Rpb25zL2h0bWxmb3JtY29udHJvbHNjb2xsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41MDJiNDIwZjljZDdlYjY1ZWIxODUwOWViZGY5OTNmYTM5MTk0ODE5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9odG1s
Zm9ybWNvbnRyb2xzY29sbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMiBAQAorCitQ
QVNTIFRoZSBsZW5ndGggYXR0cmlidXRlIG11c3QgcmV0dXJuIHRoZSBudW1iZXIgb2YgZWxlbWVu
dHMgaW4gdGhlIGZvcm0gCitQQVNTIEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uLml0ZW0oaW5k
ZXgpIG11c3QgcmV0dXJuIHRoZSBpbmRleGVkIGl0ZW0gCitQQVNTIEhUTUxGb3JtQ29udHJvbHND
b2xsZWN0aW9uW2luZGV4XSBtdXN0IHJldHVybiB0aGUgaW5kZXhlZCBpdGVtIAorUEFTUyBIVE1M
Rm9ybUNvbnRyb2xzQ29sbGVjdGlvbiBpcyBub3QgY2FsbGFibGUgCitQQVNTIEhUTUxGb3JtQ29u
dHJvbHNDb2xsZWN0aW9uW25hbWVdIG11c3QgcmV0dXJuIHRoZSBuYW1lZCBpdGVtIAorUEFTUyBI
VE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5uYW1lZEl0ZW0obmFtZSkgbXVzdCByZXR1cm4gdGhl
IG5hbWVkIGl0ZW0gCitQQVNTIFRoZSBuYW1lZEl0ZW0obmFtZSkgbXVzdCByZXR1cm4gYW4gRWxl
bWVudCAKK1BBU1MgVGhlIG5hbWVkSXRlbShuYW1lKSBtdXN0IHJldHVybiBSYWRpb05vZGVMaXN0
IAorUEFTUyBUaGUgbmFtZWRJdGVtKG5hbWUpIG11c3QgcmV0dXJuIG51bGwgaWYgdGhlIG5hbWUg
aXMgZW1wdHkgCitQQVNTIFRoZSBuYW1lZEl0ZW0obmFtZSkgbXVzdCByZXR1cm4gbnVsbCBpZiB0
aGVyZSBpcyBubyBtYXRjaGVkIGVsZW1lbnQgCitQQVNTIENvbnRyb2xzIGNhbiBiZSBpbmRleGVk
IGJ5IGlkIG9yIG5hbWUgYXR0cmlidXRlIAorUEFTUyBUaGUgbmFtZWRJdGVtKG5hbWUpIG11c3Qg
cmV0dXJuIHRoZSBpdGVtcyB3aXRoIGlkIG9yIG5hbWUgYXR0cmlidXRlIAorUEFTUyBUaGUgSFRN
TEZvcm1Db250cm9sc0NvbGxlY3Rpb24gaW50ZXJmYWNlIGlzIHVzZWQgZm9yIGNvbGxlY3Rpb25z
IG9mIGxpc3RlZCBlbGVtZW50cyBpbiBmb3JtIGVsZW1lbnQgCitQQVNTIFRoZSBIVE1MRm9ybUNv
bnRyb2xzQ29sbGVjdGlvbiBpbnRlcmZhY2UgaXMgdXNlZCBmb3IgY29sbGVjdGlvbnMgb2YgbGlz
dGVkIGVsZW1lbnRzIGluIGZpZWxkc2V0IGVsZW1lbnQgCitQQVNTIFRoZSBjb250cm9scyBpbiB0
aGUgZm9ybSBlbGVtZW50IG11c3QgYmUgc29ydGVkIGluIHRyZWUgb3JkZXIgCisgIAorCisgIAor
ICAKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rp
b25zL2h0bWxmb3JtY29udHJvbHNjb2xsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1p
bnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0bWxmb3JtY29udHJvbHNjb2xsZWN0aW9uLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOGM4ZTFkYmMxYmY5YTlhOWY5ZDM4NTFlNWEyYWFjOGM4NjQ5OTlkNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRt
bGZvcm1jb250cm9sc2NvbGxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDExNiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+SFRNTCBUZXN0OiB0aGUgSFRN
TEZvcm1Db250cm9sc0NvbGxlY3Rpb24gaW50ZXJmYWNlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0
aG9yIiB0aXRsZT0iSW50ZWwiIGhyZWY9Imh0dHA6Ly93d3cuaW50ZWwuY29tLyI+Cis8bGluayBy
ZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL211
bHRpcGFnZS9jb21tb24tZG9tLWludGVyZmFjZXMuaHRtbCNodG1sZm9ybWNvbnRyb2xzY29sbGVj
dGlvbiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGZvcm0gaWQ9ImYxIj4KKyAgPGlucHV0IHR5cGU9InJh
ZGlvIiBpZD0icjEiPgorICA8a2V5Z2VuIGlkPSJrZyIgbmFtZT0ia2V5Ij48L2tleWdlbj4KKzwv
Zm9ybT4KKzxmb3JtIGlkPSJmMiI+CisgIDx0YWJsZT4KKyAgICA8dHI+CisgICAgICA8dGQ+Cisg
ICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNiIj4KKyAgICAgICAgPGlucHV0IHR5
cGU9ImNoZWNrYm94IiBuYW1lPSJjYiI+CisgICAgICA8L3RkPgorICAgIDwvdHI+CisgICAgPHRy
PgorICAgICAgPHRkPgorICAgICAgICA8YnV0dG9uIGlkPSJidG4iPjwvYnV0dG9uPgorICAgICAg
ICA8YnV0dG9uIG5hbWU9ImJ0biI+PC9idXR0b24+CisgICAgICA8L3RkPgorICAgIDwvdHI+Cisg
IDwvdGFibGU+Cis8L2Zvcm0+CisKKzxzY3JpcHQ+CisKK3ZhciBjb2xsMSwgY29sbDIsIHJkbzsK
Kworc2V0dXAoZnVuY3Rpb24gKCkgeworICByZG8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cjEiKTsKKyAgY29sbDEgPSBkb2N1bWVudC5mb3Jtc1swXS5lbGVtZW50czsKKyAgY29sbDIgPSBk
b2N1bWVudC5mb3Jtc1sxXS5lbGVtZW50czsKK30pOworCisvL2xlbmd0aAordGVzdChmdW5jdGlv
biAoKSB7CisgIGFzc2VydF9lcXVhbHMoY29sbDEubGVuZ3RoLCAyLCAiVGhlIGxlbmd0aCBhdHRy
aWJ1dGUgaXMgaW5jb3JyZWN0LiIpOworICBhc3NlcnRfZXF1YWxzKGNvbGwyLmxlbmd0aCwgNCwg
IlRoZSBsZW5ndGggYXR0cmlidXRlIGlzIGluY29ycmVjdC4iKTsKK30sICJUaGUgbGVuZ3RoIGF0
dHJpYnV0ZSBtdXN0IHJldHVybiB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBmb3JtIik7
CisKKy8vZ2V0dGVyIC0gaW5kZXgKK3Rlc3QoZnVuY3Rpb24gKCkgeworICBhc3NlcnRfZXF1YWxz
KGNvbGwxLml0ZW0oMCksIHJkbywgIkhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uLml0ZW0oaW5k
ZXgpIHNob3VsZCByZXR1cm4gdGhlICdpbnB1dCcgZWxlbWVudCBpbiByYWRpbyBzdGF0dXMuIik7
Cit9LCAiSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24uaXRlbShpbmRleCkgbXVzdCByZXR1cm4g
dGhlIGluZGV4ZWQgaXRlbSIpOworCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgYXNzZXJ0X2VxdWFs
cyhjb2xsMVswXSwgcmRvLCAiSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb25baW5kZXhdIHNob3Vs
ZCByZXR1cm4gdGhlICdpbnB1dCcgZWxlbWVudCBpbiByYWRpbyBzdGF0dXMuIik7Cit9LCAiSFRN
TEZvcm1Db250cm9sc0NvbGxlY3Rpb25baW5kZXhdIG11c3QgcmV0dXJuIHRoZSBpbmRleGVkIGl0
ZW0iKTsKKworLy9nZXR0ZXIgLSBuYW1lCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgYXNzZXJ0X3Ro
cm93cyhUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7IGNvbGwxKCJyMSIpIH0pOworfSwgIkhUTUxG
b3JtQ29udHJvbHNDb2xsZWN0aW9uIGlzIG5vdCBjYWxsYWJsZSIpOworCit0ZXN0KGZ1bmN0aW9u
ICgpIHsKKyAgYXNzZXJ0X2VxdWFscyhjb2xsMVsicjEiXSwgcmRvLCAiSFRNTEZvcm1Db250cm9s
c0NvbGxlY3Rpb25bbmFtZV0gc2hvdWxkIHJldHVybiB0aGUgJ2lucHV0JyBlbGVtZW50IGluIHJh
ZGlvIHN0YXR1cy4iKTsKK30sICJIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbltuYW1lXSBtdXN0
IHJldHVybiB0aGUgbmFtZWQgaXRlbSIpOworCisvL2dldHRlciAtIG5hbWVkSXRlbQordGVzdChm
dW5jdGlvbiAoKSB7CisgIGFzc2VydF9lcXVhbHMoY29sbDEubmFtZWRJdGVtKCJyMSIpLCByZG8s
ICJIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5uYW1lZEl0ZW0obmFtZSkgc2hvdWxkIHJldHVy
biB0aGUgJ2lucHV0JyBlbGVtZW50IGluIHJhZGlvIHN0YXR1cy4iKTsKK30sICJIVE1MRm9ybUNv
bnRyb2xzQ29sbGVjdGlvbi5uYW1lZEl0ZW0obmFtZSkgbXVzdCByZXR1cm4gdGhlIG5hbWVkIGl0
ZW0iKTsKKwordGVzdChmdW5jdGlvbiAoKSB7CisgIGFzc2VydF90cnVlKGNvbGwxLm5hbWVkSXRl
bSgicjEiKSBpbnN0YW5jZW9mIEVsZW1lbnQsICJDYW4gbm90IHJldHVybiAnRWxlbWVudCcgb2Jq
ZWN0LiIpOworfSwgIlRoZSBuYW1lZEl0ZW0obmFtZSkgbXVzdCByZXR1cm4gYW4gRWxlbWVudCIp
OworCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgYXNzZXJ0X3RydWUoY29sbDIubmFtZWRJdGVtKCJj
YiIpIGluc3RhbmNlb2YgUmFkaW9Ob2RlTGlzdCwgIkNhbiBub3QgcmV0dXJuICdSYWRpb05vZGVM
aXN0JyBvYmplY3QuIik7Cit9LCAiVGhlIG5hbWVkSXRlbShuYW1lKSBtdXN0IHJldHVybiBSYWRp
b05vZGVMaXN0Iik7CisKK3Rlc3QoZnVuY3Rpb24gKCkgeworICBhc3NlcnRfZXF1YWxzKGNvbGwx
Lm5hbWVkSXRlbSgiIiksIG51bGwsICJUaGUgcmV0dXJuIHZhbHVlIG9mIG5hbWVkSXRlbSgpIHNo
b3VsZCBiZSBudWxsLiIpOworfSwgIlRoZSBuYW1lZEl0ZW0obmFtZSkgbXVzdCByZXR1cm4gbnVs
bCBpZiB0aGUgbmFtZSBpcyBlbXB0eSIpOworCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgYXNzZXJ0
X2VxdWFscyhjb2xsMS5uYW1lZEl0ZW0oInRlc3QiKSwgbnVsbCwgIlRoZSByZXR1cm4gdmFsdWUg
b2YgbmFtZWRJdGVtKCkgc2hvdWxkIGJlIG51bGwuIik7Cit9LCAiVGhlIG5hbWVkSXRlbShuYW1l
KSBtdXN0IHJldHVybiBudWxsIGlmIHRoZXJlIGlzIG5vIG1hdGNoZWQgZWxlbWVudCIpOworCit0
ZXN0KGZ1bmN0aW9uICgpIHsKKyAgYXNzZXJ0X2VxdWFscyhjb2xsMS5uYW1lZEl0ZW0oImtnIiks
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJrZyIpLCAiQ29udHJvbHMgY2FuIGJlIG5hbWVkIGJ5
ICdpZCcgYXR0cmlidXRlLiIpOworICBhc3NlcnRfZXF1YWxzKGNvbGwxLm5hbWVkSXRlbSgia2V5
IiksIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJrZyIpLCAiQ29udHJvbHMgY2FuIGJlIG5hbWVk
IGJ5ICduYW1lJyBhdHRyaWJ1dGUuIik7Cit9LCAiQ29udHJvbHMgY2FuIGJlIGluZGV4ZWQgYnkg
aWQgb3IgbmFtZSBhdHRyaWJ1dGUiKTsKKwordGVzdChmdW5jdGlvbiAoKSB7CisgIGFzc2VydF9l
cXVhbHMoY29sbDIubmFtZWRJdGVtKCJidG4iKS5sZW5ndGgsIDIsICJUaGUgbGVuZ3RoIGF0dHJp
YnV0ZSBzaG91bGQgYmUgMi4iKTsKK30sICJUaGUgbmFtZWRJdGVtKG5hbWUpIG11c3QgcmV0dXJu
IHRoZSBpdGVtcyB3aXRoIGlkIG9yIG5hbWUgYXR0cmlidXRlIik7CisKKy8vdmFyaW91cyBjb250
cm9scyBpbiBmaWVsZHNldCBhbmQgZm9ybQordmFyIGNvbnRhaW5lcnMgPSBbImZvcm0iLCAiZmll
bGRzZXQiXSwKKyAgICBjb250cm9scyA9IFsiYnV0dG9uIiwgImZpZWxkc2V0IiwgImlucHV0Iiwg
ImtleWdlbiIsICJvYmplY3QiLCAib3V0cHV0IiwgInNlbGVjdCIsICJ0ZXh0YXJlYSJdOworZm9y
ICh2YXIgbSA9IDA7IG0gPCBjb250YWluZXJzLmxlbmd0aDsgbSsrKSB7CisgIHRlc3QoZnVuY3Rp
b24gKCkgeworICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGNvbnRh
aW5lcnNbbV0pOworICAgIHZhciBsZW4gPSBjb250cm9scy5sZW5ndGg7CisgICAgZm9yICh2YXIg
biA9IDA7IG4gPCBsZW47IG4rKykKKyAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KGNvbnRyb2xzW25dKSk7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChjb250YWluZXIpOworICAgIGFzc2VydF9lcXVhbHMoY29udGFpbmVyLmVsZW1lbnRzLmxl
bmd0aCwgbGVuLCAiVGhlIGxlbmd0aCBzaG91bGQgYmUgIiArIGxlbiArICIuIik7CisgIH0sICJU
aGUgSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24gaW50ZXJmYWNlIGlzIHVzZWQgZm9yIGNvbGxl
Y3Rpb25zIG9mIGxpc3RlZCBlbGVtZW50cyBpbiAiICsgY29udGFpbmVyc1ttXSArICIgZWxlbWVu
dCIpOworfQorCisvL0NoZWNrIHRoZSBjb250cm9scycgb3JkZXIKK3Rlc3QoZnVuY3Rpb24gKCkg
eworICB2YXIgb3B0ID0gZG9jdW1lbnQuZm9ybXNbMV0uaW5zZXJ0QmVmb3JlKGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoIm91dHB1dCIpLCBkb2N1bWVudC5mb3Jtc1sxXS5maXJzdENoaWxkKTsKKyAg
YXNzZXJ0X2FycmF5X2VxdWFscyhkb2N1bWVudC5mb3Jtc1sxXS5lbGVtZW50cywKKyAgICAgICAg
ICAgICAgICAgICAgICBbb3B0LCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQi
KVsxXSwgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMl0sCisgICAgICAg
ICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJ1dHRvbiIpWzBd
LCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYnV0dG9uIilbMV1dKTsKK30sICJUaGUg
Y29udHJvbHMgaW4gdGhlIGZvcm0gZWxlbWVudCBtdXN0IGJlIHNvcnRlZCBpbiB0cmVlIG9yZGVy
Iik7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNl
cy9jb2xsZWN0aW9ucy9odG1sb3B0aW9uc2NvbGxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJl
L2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9odG1sb3B0aW9uc2NvbGxlY3Rpb24t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllMWVlMjg0OGIyZGFmNGZiODRiNDAzM2I1NjdmNzNj
NmIxOGZkZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2Vz
L2NvbGxlY3Rpb25zL2h0bWxvcHRpb25zY29sbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwyNyBAQAorICAKKworUEFTUyBPcmlnaW5hbCBsZW5ndGggCitQQVNTIFNldHRpbmcgbGVuZ3Ro
IHRvIG9yaWdpbmFsIHZhbHVlIGhhcyBubyBlZmZlY3QgCitQQVNTIFNldHRpbmcgbGVuZ3RoIHRv
IHNob3J0ZXIgdmFsdWUgCitQQVNTIFNldHRpbmcgbGVuZ3RoIHRvIGxvbmdlciB2YWx1ZSAKK1BB
U1MgSW5zZXJ0IDxwPjxvcHRpb24+Njwvb3B0aW9uPjwvcD4gaW50byA8c2VsZWN0PiAKK1BBU1Mg
SW5zZXJ0IDxzZWxlY3Q+PG9wdGlvbj42PC9vcHRpb24+PC9zZWxlY3Q+IGludG8gPHNlbGVjdD4g
CitQQVNTIEluc2VydCA8b3B0Z3JvdXA+PG9wdGlvbj42PC9vcHRpb24+PC9vcHRncm91cD4gaW50
byA8c2VsZWN0PiAKK1BBU1MgSW5zZXJ0IDxvcHRncm91cD48b3B0Z3JvdXA+PG9wdGlvbj42PC9v
cHRpb24+PC9vcHRncm91cD48L29wdGdyb3VwPiBpbnRvIDxzZWxlY3Q+IAorUEFTUyBuYW1lZEl0
ZW0gaWQgYXR0cmlidXRlIAorUEFTUyBuYW1lZEl0ZW0gbmFtZSBhdHRyaWJ1dGUgCitQQVNTIG5h
bWVkSXRlbSBkb2Vzbid0IG1hdGNoIGFueXRoaW5nIAorUEFTUyBuYW1lZEl0ZW0gbXVsdGlwbGUg
SURzIAorUEFTUyBuYW1lZEl0ZW0gbXVsdGlwbGUgbmFtZXMgCitQQVNTIG5hbWVkSXRlbSBtdWx0
aXBsZSBuYW1lIGFuZCBJRCAKK1BBU1MgbmFtZWRJdGVtIG11bHRpcGxlIG5hbWUgYW5kIElEIHdp
dGggbXVsdGlwbGUgYXR0cmlidXRlcyAKK1BBU1MgbmFtZWRJdGVtIGlkIGF0dHJpYnV0ZSBtdWx0
aXBsZSBhdHRyaWJ1dGVzIG9uZSBlbGVtZW50IAorUEFTUyBuYW1lZEl0ZW0gbmFtZSBhdHRyaWJ1
dGUgbXVsdGlwbGUgYXR0cmlidXRlcyBvbmUgZWxlbWVudCAKK1BBU1MgSFRNTE9wdGlvbnNDb2xs
ZWN0aW9uIFtpbmRleF0gbWV0aG9kIHJldHVybiB0aGUgaXRlbSB3aXRoIGluZGV4IAorUEFTUyBI
VE1MT3B0aW9uc0NvbGxlY3Rpb24gW25hbWVdIG1ldGhvZCByZXR1cm4gdGhlIGl0ZW0gd2l0aCBu
YW1lIAorUEFTUyBIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaXRlbShpbmRleCkgbWV0aG9kIHJldHVy
biB0aGUgaXRlbSB3aXRoIGluZGV4IAorUEFTUyBIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaXRlbShu
YW1lKSBtZXRob2QgcmV0dXJuIHRoZSBpdGVtIHdpdGggaW5kZXggMCAKK1BBU1MgSFRNTE9wdGlv
bnNDb2xsZWN0aW9uLmFkZCBtZXRob2QgaW5zZXJ0IEhUTUxPcHRpb25FbGVtZW50IE9wdGlvbiBl
bGVtZW50IAorUEFTUyBIVE1MT3B0aW9uc0NvbGxlY3Rpb24ucmVtb3ZlIG1ldGhvZCByZW1vdmUg
T3B0aW9uIGVsZW1lbnQgYnkgaW5kZXggCitGQUlMIEFkZCBub24tb3B0aW9uIHRvIGNvbGxlY3Rp
b24gYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHtiX29wdHMuYWRkKGFkZCk7
fSIgZGlkIG5vdCB0aHJvdworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZh
Y2VzL2NvbGxlY3Rpb25zL2h0bWxvcHRpb25zY29sbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1v
bi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9odG1sb3B0aW9uc2NvbGxlY3Rpb24uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hYmU3NmU4MjMxMGVlZmMyMTdmY2QwODA2NzZiZmYwMTMxNzdhYWQzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9o
dG1sb3B0aW9uc2NvbGxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDIxNiBAQAorPCFkb2N0eXBlIGh0
bWw+Cis8dGl0bGU+SFRNTE9wdGlvbnNDb2xsZWN0aW9uPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI2h0bWxvcHRpb25zY29s
bGVjdGlvbi0wIj4KKzxzZWxlY3QgaWQ9YT4KKyAgPG9wdGlvbj4xPC9vcHRpb24+CisgIDxvcHRp
b24+Mjwvb3B0aW9uPgorICA8b3B0aW9uPjM8L29wdGlvbj4KKzwhLS0gTm90ZSB3aGl0ZXNwYWNl
IGlzIGltcG9ydGFudCAtLT4KKyAgPG9wdGlvbj40PC9vcHRpb24+CisgIDxvcHRpb24+NTwvb3B0
aW9uPgorPC9zZWxlY3Q+CisKKzxzZWxlY3QgaWQ9Yj4KKyAgPG9wdGlvbiBpZD1iMT4xPC9vcHRp
b24+CisgIDxvcHRpb24gbmFtZT1iMj4yPC9vcHRpb24+CisgIDxvcHRpb24gaWQ9YjM+Mzwvb3B0
aW9uPgorICA8b3B0aW9uIGlkPWIzPjQ8L29wdGlvbj4KKyAgPG9wdGlvbiBuYW1lPWI0PjU8L29w
dGlvbj4KKyAgPG9wdGlvbiBuYW1lPWI0PjY8L29wdGlvbj4KKyAgPG9wdGlvbiBpZD1iNT43PC9v
cHRpb24+CisgIDxvcHRpb24gbmFtZT1iNT44PC9vcHRpb24+CisgIDxvcHRpb24gaWQ9YjYgbmFt
ZT1iNz45PC9vcHRpb24+CisgIDxvcHRpb24gaWQ9YjYgbmFtZT1iNj4xMDwvb3B0aW9uPgorICA8
b3B0aW9uIGlkPWI4IG5hbWU9Yjk+MTE8L29wdGlvbj4KKzwvc2VsZWN0PgorCis8c2NyaXB0Pgor
dmFyIGE7Cit2YXIgYV9vcHRzOwordmFyIGFfb3JpZ2luYWxfaW5uZXJIVE1MOwordmFyIGI7Cit2
YXIgYl9vcHRzOworCitzZXR1cChmdW5jdGlvbigpIHsKKyAgYSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJhIik7CisgIGFfb3B0cyA9IGEub3B0aW9uczsKKyAgYV9vcmlnaW5hbF9pbm5lckhU
TUwgPSBhLmlubmVySFRNTDsKKyAgYS5pbm5lckhUTUwgPSBhX29yaWdpbmFsX2lubmVySFRNTDsK
KyAgYiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJiIik7CisgIGJfb3B0cyA9IGIub3B0aW9u
czsKKyAgYl9vcmlnaW5hbF9pbm5lckhUTUwgPSBiLmlubmVySFRNTDsKKyAgYi5pbm5lckhUTUwg
PSBiX29yaWdpbmFsX2lubmVySFRNTDsKK30pCisKK2Z1bmN0aW9uIGFzc2VydF92YWx1ZXNfZXF1
YWxzKGNvbGwsIGV4cGVjdGVkX3ZhbHVlcywgbWVzc2FnZSkgeworICBhY3R1YWwgPSBbXTsKKyAg
Zm9yICh2YXIgaT0wOyBpPGNvbGwubGVuZ3RoOyBpKyspIHsKKyAgICBhY3R1YWwucHVzaChjb2xs
W2ldLnZhbHVlKTsKKyAgfQorICBhc3NlcnRfYXJyYXlfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWRf
dmFsdWVzLCBtZXNzYWdlKTsKK30KKwordGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X2VxdWFs
cyg1LCBhX29wdHMubGVuZ3RoKTsKK30sICJPcmlnaW5hbCBsZW5ndGgiKTsKKwordGVzdChmdW5j
dGlvbigpIHsKKyAgYS5pbm5lckhUTUwgPSBhX29yaWdpbmFsX2lubmVySFRNTDsKKyAgYV9vcHRz
LnZhbHVlID0gIjMiOworICBhX29wdHMubGVuZ3RoID0gNTsKKyAgYXNzZXJ0X2VxdWFscyhhX29w
dHMubGVuZ3RoLCA1KTsKKyAgYXNzZXJ0X2VxdWFscyhhX29wdHMudmFsdWUsICIzIik7Cit9LCAi
U2V0dGluZyBsZW5ndGggdG8gb3JpZ2luYWwgdmFsdWUgaGFzIG5vIGVmZmVjdCIpOworCit0ZXN0
KGZ1bmN0aW9uKCkgeworICBhLmlubmVySFRNTCA9IGFfb3JpZ2luYWxfaW5uZXJIVE1MOworICBh
LnZhbHVlID0gMzsKKyAgYV9vcHRzLmxlbmd0aCA9IDM7CisgIGFzc2VydF9lcXVhbHMoMywgYV9v
cHRzLmxlbmd0aCwgIkNvcnJlY3QgbGVuZ3RoIik7CisgIGFzc2VydF92YWx1ZXNfZXF1YWxzKGFf
b3B0cywgWyIxIiwiMiIsIjMiXSwgIkNvcnJlY3QgZWxlbWVudHMgcmVtYWluIikKKyAgYXNzZXJ0
X2VxdWFscyhhX29wdHMudmFsdWUsICIzIiwgIkNvcnJlY3QgdmFsdWUgc2V0Iik7CisgIGFzc2Vy
dF9lcXVhbHMoYS5jaGlsZE5vZGVzLmxlbmd0aCwgMTEsICJDb3JyZWN0IG51bWJlciBvZiBjaGls
ZCBub2RlcyIpCit9LCAiU2V0dGluZyBsZW5ndGggdG8gc2hvcnRlciB2YWx1ZSIpOworCit0ZXN0
KGZ1bmN0aW9uKCkgeworICBhLmlubmVySFRNTCA9IGFfb3JpZ2luYWxfaW5uZXJIVE1MOworICBh
LnZhbHVlID0gMzsKKyAgYV9vcHRzLmxlbmd0aCA9IDc7CisgIGFzc2VydF9lcXVhbHMoYV9vcHRz
Lmxlbmd0aCwgNywgIkNvcnJlY3QgbGVuZ3RoIik7CisgIGFzc2VydF92YWx1ZXNfZXF1YWxzKGFf
b3B0cywgWyIxIiwiMiIsIjMiLCI0IiwiNSIsIiIsIiJdLCAiQ29ycmVjdCBlbGVtZW50cyBpbnNl
cnRlZCIpCisgIGFzc2VydF9lcXVhbHMoYS52YWx1ZSwgIjMiLCAiQ29ycmVjdCB2YWx1ZSBzZXQi
KTsKKyAgYXNzZXJ0X2VxdWFscyhhLmNoaWxkTm9kZXMubGVuZ3RoLCAxNSwgIkNvcnJlY3QgbnVt
YmVyIG9mIGNoaWxkIG5vZGVzIikKK30sICJTZXR0aW5nIGxlbmd0aCB0byBsb25nZXIgdmFsdWUi
KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgYS5pbm5lckhUTUwgPSBhX29yaWdpbmFsX2lubmVy
SFRNTDsKKyAgdmFyIG5ld0NoaWxkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpOworICB2
YXIgbmV3T3B0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIik7CisgIG5ld09w
dGlvbi50ZXh0Q29udGVudCA9ICI2IjsKKyAgbmV3Q2hpbGQuYXBwZW5kQ2hpbGQobmV3T3B0aW9u
KTsKKyAgYS5hcHBlbmRDaGlsZChuZXdDaGlsZCk7CisgIGEudmFsdWUgPSAzOworICBhc3NlcnRf
ZXF1YWxzKGFfb3B0cy5sZW5ndGgsIDUsICJDb3JyZWN0IGxlbmd0aCIpOworICBhc3NlcnRfdmFs
dWVzX2VxdWFscyhhX29wdHMsIFsiMSIsIjIiLCIzIiwiNCIsIjUiXSwgIkNvcnJlY3QgZWxlbWVu
dHMgaW5zZXJ0ZWQiKQorICBhc3NlcnRfZXF1YWxzKGEudmFsdWUsICIzIiwgIkNvcnJlY3QgdmFs
dWUgc2V0Iik7Cit9LCAiSW5zZXJ0IDxwPjxvcHRpb24+Njwvb3B0aW9uPjwvcD4gaW50byA8c2Vs
ZWN0PiIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBhLmlubmVySFRNTCA9IGFfb3JpZ2luYWxf
aW5uZXJIVE1MOworICB2YXIgbmV3Q2hpbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzZWxl
Y3QiKTsKKyAgdmFyIG5ld09wdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIp
OworICBuZXdPcHRpb24udGV4dENvbnRlbnQgPSAiNiI7CisgIG5ld0NoaWxkLmFwcGVuZENoaWxk
KG5ld09wdGlvbik7CisgIGEuYXBwZW5kQ2hpbGQobmV3Q2hpbGQpOworICBhLnZhbHVlID0gMzsK
KyAgYXNzZXJ0X2VxdWFscyhhX29wdHMubGVuZ3RoLCA1LCAiQ29ycmVjdCBsZW5ndGgiKTsKKyAg
YXNzZXJ0X3ZhbHVlc19lcXVhbHMoYV9vcHRzLCBbIjEiLCIyIiwiMyIsIjQiLCI1Il0sICJDb3Jy
ZWN0IGVsZW1lbnRzIGluc2VydGVkIikKKyAgYXNzZXJ0X2VxdWFscyhhLnZhbHVlLCAiMyIsICJD
b3JyZWN0IHZhbHVlIHNldCIpOworfSwgIkluc2VydCA8c2VsZWN0PjxvcHRpb24+Njwvb3B0aW9u
Pjwvc2VsZWN0PiBpbnRvIDxzZWxlY3Q+Iik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIC8vVGhp
cyB0ZXN0cyB0aGUgc3BlYyBidXQgaXQgaXMgcHJvYmFibHkgd3JvbmcgaGVyZTsgc2VlIGJ1ZyAx
MjY2NQorICBhLmlubmVySFRNTCA9IGFfb3JpZ2luYWxfaW5uZXJIVE1MOworICB2YXIgbmV3Q2hp
bGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRncm91cCIpOworICB2YXIgbmV3T3B0aW9u
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIik7CisgIG5ld09wdGlvbi50ZXh0Q29u
dGVudCA9ICI2IjsKKyAgbmV3Q2hpbGQuYXBwZW5kQ2hpbGQobmV3T3B0aW9uKTsKKyAgYS5hcHBl
bmRDaGlsZChuZXdDaGlsZCk7CisgIGEudmFsdWUgPSAzOworICBhc3NlcnRfZXF1YWxzKGFfb3B0
cy5sZW5ndGgsIDYsICJDb3JyZWN0IGxlbmd0aCIpOworICBhc3NlcnRfdmFsdWVzX2VxdWFscyhh
X29wdHMsIFsiMSIsIjIiLCIzIiwiNCIsIjUiLCAiNiJdLCAiQ29ycmVjdCBlbGVtZW50cyBpbnNl
cnRlZCIpCisgIGFzc2VydF9lcXVhbHMoYS52YWx1ZSwgIjMiLCAiQ29ycmVjdCB2YWx1ZSBzZXQi
KTsKK30sICJJbnNlcnQgPG9wdGdyb3VwPjxvcHRpb24+Njwvb3B0aW9uPjwvb3B0Z3JvdXA+IGlu
dG8gPHNlbGVjdD4iKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgYS5pbm5lckhUTUwgPSBhX29y
aWdpbmFsX2lubmVySFRNTDsKKyAgdmFyIG5ld0NoaWxkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgib3B0Z3JvdXAiKTsKKyAgdmFyIG5ld0NoaWxkMSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
Im9wdGdyb3VwIik7CisgIHZhciBuZXdPcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJv
cHRpb24iKTsKKyAgbmV3T3B0aW9uLnRleHRDb250ZW50ID0gIjYiOworICBuZXdDaGlsZC5hcHBl
bmRDaGlsZChuZXdDaGlsZDEpOworICBuZXdDaGlsZDEuYXBwZW5kQ2hpbGQobmV3T3B0aW9uKTsK
KyAgYS5hcHBlbmRDaGlsZChuZXdDaGlsZCk7CisgIGEudmFsdWUgPSAzOworICBhc3NlcnRfZXF1
YWxzKGFfb3B0cy5sZW5ndGgsIDUsICJDb3JyZWN0IGxlbmd0aCIpOworICBhc3NlcnRfdmFsdWVz
X2VxdWFscyhhX29wdHMsIFsiMSIsIjIiLCIzIiwiNCIsIjUiXSwgIkNvcnJlY3QgZWxlbWVudHMg
aW5zZXJ0ZWQiKQorICBhc3NlcnRfZXF1YWxzKGEudmFsdWUsICIzIiwgIkNvcnJlY3QgdmFsdWUg
c2V0Iik7Cit9LCAiSW5zZXJ0IDxvcHRncm91cD48b3B0Z3JvdXA+PG9wdGlvbj42PC9vcHRpb24+
PC9vcHRncm91cD48L29wdGdyb3VwPiBpbnRvIDxzZWxlY3Q+Iik7CisKK3Rlc3QoZnVuY3Rpb24o
KSB7CisgIGFzc2VydF9lcXVhbHMoYl9vcHRzLm5hbWVkSXRlbSgiYjEiKS52YWx1ZSwgIjEiKTsK
K30sICJuYW1lZEl0ZW0gaWQgYXR0cmlidXRlIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFz
c2VydF9lcXVhbHMoYl9vcHRzLm5hbWVkSXRlbSgiYjIiKS52YWx1ZSwgIjIiKTsKK30sICJuYW1l
ZEl0ZW0gbmFtZSBhdHRyaWJ1dGUiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X2Vx
dWFscyhiX29wdHMubmFtZWRJdGVtKCJjIiksIG51bGwpOworfSwgIm5hbWVkSXRlbSBkb2Vzbid0
IG1hdGNoIGFueXRoaW5nIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVhbHMo
Yl9vcHRzLm5hbWVkSXRlbSgiYjMiKS52YWx1ZSwgIjMiKTsKK30sICJuYW1lZEl0ZW0gbXVsdGlw
bGUgSURzIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVhbHMoYl9vcHRzLm5h
bWVkSXRlbSgiYjQiKS52YWx1ZSwgIjUiKTsKK30sICJuYW1lZEl0ZW0gbXVsdGlwbGUgbmFtZXMi
KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X2VxdWFscyhiX29wdHMubmFtZWRJdGVt
KCJiNSIpLnZhbHVlLCAiNyIpOworfSwgIm5hbWVkSXRlbSBtdWx0aXBsZSBuYW1lIGFuZCBJRCIp
OworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfZXF1YWxzKGJfb3B0cy5uYW1lZEl0ZW0o
ImI2IikudmFsdWUsICI5Iik7Cit9LCAibmFtZWRJdGVtIG11bHRpcGxlIG5hbWUgYW5kIElEIHdp
dGggbXVsdGlwbGUgYXR0cmlidXRlcyIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRf
ZXF1YWxzKGJfb3B0cy5uYW1lZEl0ZW0oImI4IikudmFsdWUsICIxMSIpOworfSwgIm5hbWVkSXRl
bSBpZCBhdHRyaWJ1dGUgbXVsdGlwbGUgYXR0cmlidXRlcyBvbmUgZWxlbWVudCIpOworCit0ZXN0
KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfZXF1YWxzKGJfb3B0cy5uYW1lZEl0ZW0oImI5IikudmFs
dWUsICIxMSIpOworfSwgIm5hbWVkSXRlbSBuYW1lIGF0dHJpYnV0ZSBtdWx0aXBsZSBhdHRyaWJ1
dGVzIG9uZSBlbGVtZW50Iik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF90cnVlKGJf
b3B0c1swXSBpbnN0YW5jZW9mIEhUTUxPcHRpb25FbGVtZW50KTsKKyAgYXNzZXJ0X2VxdWFscyhi
X29wdHNbMF0uaW5uZXJIVE1MLCAiMSIpOworfSwgICJIVE1MT3B0aW9uc0NvbGxlY3Rpb24gW2lu
ZGV4XSBtZXRob2QgcmV0dXJuIHRoZSBpdGVtIHdpdGggaW5kZXgiKTsKKwordGVzdChmdW5jdGlv
bigpIHsKKyAgYXNzZXJ0X3RydWUoYl9vcHRzWyJiMiJdIGluc3RhbmNlb2YgSFRNTE9wdGlvbkVs
ZW1lbnQpOworICBhc3NlcnRfZXF1YWxzKGJfb3B0c1siYjIiXS5pbm5lckhUTUwsICIyIik7Cit9
LCAgIkhUTUxPcHRpb25zQ29sbGVjdGlvbiBbbmFtZV0gbWV0aG9kIHJldHVybiB0aGUgaXRlbSB3
aXRoIG5hbWUiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X3RydWUoYl9vcHRzLml0
ZW0oMCkgaW5zdGFuY2VvZiBIVE1MT3B0aW9uRWxlbWVudCk7CisgIGFzc2VydF9lcXVhbHMoYl9v
cHRzLml0ZW0oMCkuaW5uZXJIVE1MLCAiMSIpOworfSwgICJIVE1MT3B0aW9uc0NvbGxlY3Rpb24u
aXRlbShpbmRleCkgbWV0aG9kIHJldHVybiB0aGUgaXRlbSB3aXRoIGluZGV4Iik7CisKK3Rlc3Qo
ZnVuY3Rpb24oKSB7CisgIGFzc2VydF90cnVlKGJfb3B0cy5pdGVtKCJiMiIpIGluc3RhbmNlb2Yg
SFRNTE9wdGlvbkVsZW1lbnQpOworICBhc3NlcnRfZXF1YWxzKGJfb3B0cy5pdGVtKCJiMiIpLmlu
bmVySFRNTCwgIjEiKTsKK30sICAiSFRNTE9wdGlvbnNDb2xsZWN0aW9uLml0ZW0obmFtZSkgbWV0
aG9kIHJldHVybiB0aGUgaXRlbSB3aXRoIGluZGV4IDAiKTsKKwordGVzdChmdW5jdGlvbigpIHsK
KyAgdmFyIGJfb3B0c19sZW5ndGggPSBiX29wdHMubGVuZ3RoOworICBiX29wdHMuYWRkKG5ldyBP
cHRpb24oIjIiLCAiMiIpKTsKKyAgYXNzZXJ0X2VxdWFscyhiX29wdHNbYl9vcHRzX2xlbmd0aF0u
dmFsdWUsICIyIik7Cit9LCAiSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmFkZCBtZXRob2QgaW5zZXJ0
IEhUTUxPcHRpb25FbGVtZW50IE9wdGlvbiBlbGVtZW50Iik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7
CisgIHZhciBiX29wdHNfbGVuZ3RoID0gYl9vcHRzLmxlbmd0aDsKKyAgYl9vcHRzLnJlbW92ZSgw
KTsKKyAgYXNzZXJ0X2VxdWFscyhiX29wdHMubGVuZ3RoLCBiX29wdHNfbGVuZ3RoIC0gMSk7Cit9
LCAiSFRNTE9wdGlvbnNDb2xsZWN0aW9uLnJlbW92ZSBtZXRob2QgcmVtb3ZlIE9wdGlvbiBlbGVt
ZW50IGJ5IGluZGV4Iik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZhciBhZGQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJwIik7CisgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBm
dW5jdGlvbigpIHtiX29wdHMuYWRkKGFkZCk7fSk7Cit9LCAiQWRkIG5vbi1vcHRpb24gdG8gY29s
bGVjdGlvbiIpOworCis8L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3Ry
dWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9yYWRpb25vZGVsaXN0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvcmFk
aW9ub2RlbGlzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY5OTEyMmY4MWZjZWU3YzUwMDZj
NjNiYjlkYmRjNTUyZDkxNDIzMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9t
LWludGVyZmFjZXMvY29sbGVjdGlvbnMvcmFkaW9ub2RlbGlzdC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw3IEBACisKK1BBU1MgVGhlIHZhbHVlIGF0dHJpYnV0ZSBzaG91bGQgYmUgZW1wdHkgaWYg
bm8gZWxlbWVudCBpcyBjaGVja2VkIAorUEFTUyBUaGUgUmFkaW9Ob2RlTGlzdC52YWx1ZSBtdXN0
IGJlIHRoZSBmaXJzdCBjaGVja2VkIHJhZGlvIGJ1dHRvbidzIHZhbHVlIAorUEFTUyBDaGVjayB0
aGUgUmFkaW9Ob2RlTGlzdC52YWx1ZSBvbiBnZXR0aW5nIAorUEFTUyBDaGVjayB0aGUgUmFkaW9O
b2RlTGlzdC52YWx1ZSBvbiBzZXR0aW5nIAorUEFTUyBDaGVjayB0aGUgUmFkaW9Ob2RlTGlzdC52
YWx1ZSBvbiBzZXR0aW5nIHRvICdvbicgCisgICAgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9u
LWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL3JhZGlvbm9kZWxpc3QuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9j
b21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvcmFkaW9ub2RlbGlzdC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmZjNzBkNzE3MmMzNzcxMTFkZDE3ZmViY2VhZTg5MzEzOTI1YWFiODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL3JhZGlv
bm9kZWxpc3QuaHRtbApAQCAtMCwwICsxLDc4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5IVE1MIFRlc3Q6IHRoZSBSYWRpb05vZGVMaXN0IGludGVy
ZmFjZTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRw
Oi8vd3d3LmludGVsLmNvbS8iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2h0bWwu
c3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9tdWx0aXBhZ2UvY29tbW9uLWRvbS1pbnRlcmZhY2Vz
Lmh0bWwjcmFkaW9ub2RlbGlzdCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGZvcm0gPgorICA8aW5wdXQg
dHlwZT0iY2hlY2tib3giIG5hbWU9InJkbyIgdmFsdWU9IjAiIGlkPSJyMCIgY2hlY2tlZD4KKyAg
PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJyZG8iIGlkPSJyMSI+CisgIDxpbnB1dCB0eXBlPSJy
YWRpbyIgbmFtZT0icmRvIiBpZD0icjIiIHZhbHVlPSIyIj4KKzwvZm9ybT4KKzxzY3JpcHQ+CisK
K3ZhciByZG9MaXN0OworCitzZXR1cChmdW5jdGlvbiAoKSB7CisgIHJkb0xpc3QgPSBkb2N1bWVu
dC5mb3Jtc1swXS5lbGVtZW50cy5uYW1lZEl0ZW0oInJkbyIpOworfSk7CisKKy8vb24gZ2V0dGlu
ZwordGVzdChmdW5jdGlvbiAoKSB7CisgIGFzc2VydF9lcXVhbHMocmRvTGlzdC52YWx1ZSwgIiIs
ICJUaGUgdmFsdWUgYXR0cmlidXRlIHNob3VsZCBiZSBlbXB0eS4iKTsKK30sICJUaGUgdmFsdWUg
YXR0cmlidXRlIHNob3VsZCBiZSBlbXB0eSBpZiBubyBlbGVtZW50IGlzIGNoZWNrZWQiKTsKKwor
dGVzdChmdW5jdGlvbiAoKSB7CisgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyMiIpLmNoZWNr
ZWQgPSB0cnVlOworICBhc3NlcnRfZXF1YWxzKHJkb0xpc3QudmFsdWUsICIyIiwgIlRoZSB2YWx1
ZSBhdHRyaWJ1dGUgc2hvdWxkIGJlIDIuIik7Cit9LCAiVGhlIFJhZGlvTm9kZUxpc3QudmFsdWUg
bXVzdCBiZSB0aGUgZmlyc3QgY2hlY2tlZCByYWRpbyBidXR0b24ncyB2YWx1ZSIpOworCit0ZXN0
KGZ1bmN0aW9uICgpIHsKKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInIxIikuY2hlY2tlZCA9
IHRydWU7CisgIGFzc2VydF9lcXVhbHMocmRvTGlzdC52YWx1ZSwgIm9uIiwgIlRoZSB2YWx1ZSBh
dHRyaWJ1dGUgc2hvdWxkIGJlIG9uLiIpOworCisgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJy
MSIpLnZhbHVlID0gMTsKKyAgYXNzZXJ0X2VxdWFscyhyZG9MaXN0LnZhbHVlLCAiMSIsICJUaGUg
dmFsdWUgYXR0cmlidXRlIHNob3VsZCBiZSAxLiIpOworfSwgIkNoZWNrIHRoZSBSYWRpb05vZGVM
aXN0LnZhbHVlIG9uIGdldHRpbmciKTsKKworLy9vbiBzZXR0aW5nCit0ZXN0KGZ1bmN0aW9uICgp
IHsKKyAgYXNzZXJ0X2VxdWFscyhyZG9MaXN0LnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicjEiKS52YWx1ZSwKKyAgICAgICAgICAgICAgICAiVGhlIHZhbHVlIGF0dHJpYnV0ZSBzaG91
bGQgYmUgZXF1YWwgdG8gdGhlIGZpcnN0IGNoZWNrZWQgcmFkaW8gaW5wdXQgZWxlbWVudCdzIHZh
bHVlLiIpOworICBhc3NlcnRfZmFsc2UoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInIyIikuY2hl
Y2tlZCwKKyAgICAgICAgICAgICAgICJUaGUgc2Vjb25kIHJhZGlvIGlucHV0IGVsZW1lbnQgc2hv
dWxkIG5vdCBiZSBjaGVja2VkLiIpOworCisgIHJkb0xpc3QudmFsdWUgPSAiMiI7CisgIGFzc2Vy
dF9lcXVhbHMocmRvTGlzdC52YWx1ZSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInIyIikudmFs
dWUsCisgICAgICAgICAgICAgICAgIlRoZSB2YWx1ZSBhdHRyaWJ1dGUgc2hvdWxkIGJlIGVxdWFs
IHRvIHRoZSBzZWNvbmQgcmFkaW8gaW5wdXQgZWxlbWVudCdzIHZhbHVlLiIpOworICBhc3NlcnRf
dHJ1ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicjIiKS5jaGVja2VkLAorICAgICAgICAgICAg
ICAiVGhlIHNlY29uZCByYWRpbyBpbnB1dCBlbGVtZW50IHNob3VsZCBiZSBjaGVja2VkLiIpOwor
CisgIC8vRG8gbm90aGluZyBpZiBubyBlbGVtZW50J3MgdmFsdWUgaXMgZXF1YWwgdG8gbmV3IHZh
bHVlLgorICByZG9MaXN0LnZhbHVlID0gIjMiOworICBhc3NlcnRfZXF1YWxzKHJkb0xpc3QudmFs
dWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyMiIpLnZhbHVlLAorICAgICAgICAgICAgICAg
ICJUaGUgdmFsdWUgYXR0cmlidXRlIHNob3VsZCBiZSB0aGUgc2Vjb25kIHJhZGlvIGlucHV0IGVs
ZW1lbnQncyB2YWx1ZS4iKTsKKyAgYXNzZXJ0X3RydWUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InIyIikuY2hlY2tlZCwKKyAgICAgICAgICAgICAgIlRoZSBzZWNvbmQgcmFkaW8gaW5wdXQgZWxl
bWVudCBzaG91bGQgYmUgY2hlY2tlZC4iKTsKK30sICJDaGVjayB0aGUgUmFkaW9Ob2RlTGlzdC52
YWx1ZSBvbiBzZXR0aW5nIik7CisKKy8vc2V0dGluZyB0byBvbiwgc3BlY2lmaWMgY2FzZQordGVz
dChmdW5jdGlvbiAoKSB7CisgIHJkb0xpc3QudmFsdWUgPSAib24iOworICBhc3NlcnRfZXF1YWxz
KHJkb0xpc3QudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyMiIpLnZhbHVlLAorICAg
ICAgICAgICAgICAgICJUaGUgdmFsdWUgYXR0cmlidXRlIHNob3VsZCBiZSB0aGUgc2Vjb25kIHJh
ZGlvIGlucHV0IGVsZW1lbnQncyB2YWx1ZS4iKTsKKyAgYXNzZXJ0X3RydWUoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInIyIikuY2hlY2tlZCwKKyAgICAgICAgICAgICAgIlRoZSBzZWNvbmQgcmFk
aW8gaW5wdXQgZWxlbWVudCBzaG91bGQgYmUgY2hlY2tlZC4iKTsKKworICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicjEiKS5yZW1vdmVBdHRyaWJ1dGUoInZhbHVlIik7CisgIHJkb0xpc3QudmFs
dWUgPSAib24iOworICBhc3NlcnRfZXF1YWxzKHJkb0xpc3QudmFsdWUsIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJyMSIpLnZhbHVlLAorICAgICAgICAgICAgICAgICJUaGUgdmFsdWUgYXR0cmli
dXRlIHNob3VsZCBiZSB0aGUgZmlyc3QgcmFkaW8gaW5wdXQgZWxlbWVudCdzIHZhbHVlLiIpOwor
ICBhc3NlcnRfdHJ1ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicjEiKS5jaGVja2VkLAorICAg
ICAgICAgICAgICAiVGhlIGZpcnN0IHJhZGlvIGlucHV0IGVsZW1lbnQgc2hvdWxkIGJlIGNoZWNr
ZWQuIik7Cit9LCAiQ2hlY2sgdGhlIFJhZGlvTm9kZUxpc3QudmFsdWUgb24gc2V0dGluZyB0byAn
b24nIik7CisKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRl
cmZhY2VzL2NvbGxlY3Rpb25zL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50
ZXJmYWNlcy9jb2xsZWN0aW9ucy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYTRmZjBkMjli
ZWFiZTdiODM5N2QzOTUyZjlhOTUzN2Q0ZjI1YTJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJl
L2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy93M2MtaW1wb3J0LmxvZwpAQCAtMCww
ICsxLDIyIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9t
IHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkg
aW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NT
IG9yIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CisJaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRv
b2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8g
Tk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3Bl
cnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyBy
ZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9m
IGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvY29udGFp
bnMuanNvbgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbGFs
bGNvbGxlY3Rpb24uaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlv
bnMvaHRtbGZvcm1jb250cm9sc2NvbGxlY3Rpb24uaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWlu
dGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbG9wdGlvbnNjb2xsZWN0aW9uLmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUv
Y29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL3JhZGlvbm9kZWxpc3QuaHRtbApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2luZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRheGVzL2RhdGVzLWFuZC10aW1lcy9jb250
YWlucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRheGVzL2RhdGVzLWFuZC10aW1lcy9j
b250YWlucy5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViZTMxZWI0OGYxOWEyNDkzODZhODVmMGQyNjBkMGVl
N2Y1NWM2OTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLW1pY3Jvc3ludGF4ZXMv
ZGF0ZXMtYW5kLXRpbWVzL2NvbnRhaW5zLmpzb24KQEAgLTAsMCArMSw0MiBAQAorWworICAgIHsK
KyAgICAgICAgImlkIjogIm1vbnRocyIsCisgICAgICAgICJvcmlnaW5hbF9pZCI6ICJtb250aHMi
CisgICAgfSwKKyAgICB7CisgICAgICAgICJpZCI6ICJkYXRlcyIsCisgICAgICAgICJvcmlnaW5h
bF9pZCI6ICJkYXRlcyIKKyAgICB9LAorICAgIHsKKyAgICAgICAgImlkIjogInllYXJsZXNzLWRh
dGVzIiwKKyAgICAgICAgIm9yaWdpbmFsX2lkIjogInllYXJsZXNzLWRhdGVzIgorICAgIH0sCisg
ICAgeworICAgICAgICAiaWQiOiAidGltZXMiLAorICAgICAgICAib3JpZ2luYWxfaWQiOiAidGlt
ZXMiCisgICAgfSwKKyAgICB7CisgICAgICAgICJpZCI6ICJsb2NhbC1kYXRlcy1hbmQtdGltZXMi
LAorICAgICAgICAib3JpZ2luYWxfaWQiOiAibG9jYWwtZGF0ZXMtYW5kLXRpbWVzIgorICAgIH0s
CisgICAgeworICAgICAgICAiaWQiOiAidGltZS16b25lcyIsCisgICAgICAgICJvcmlnaW5hbF9p
ZCI6ICJ0aW1lLXpvbmVzIgorICAgIH0sCisgICAgeworICAgICAgICAiaWQiOiAiZ2xvYmFsLWRh
dGVzLWFuZC10aW1lcyIsCisgICAgICAgICJvcmlnaW5hbF9pZCI6ICJnbG9iYWwtZGF0ZXMtYW5k
LXRpbWVzIgorICAgIH0sCisgICAgeworICAgICAgICAiaWQiOiAid2Vla3MiLAorICAgICAgICAi
b3JpZ2luYWxfaWQiOiAid2Vla3MiCisgICAgfSwKKyAgICB7CisgICAgICAgICJpZCI6ICJkdXJh
dGlvbnMiLAorICAgICAgICAib3JpZ2luYWxfaWQiOiAiZHVyYXRpb25zIgorICAgIH0sCisgICAg
eworICAgICAgICAiaWQiOiAidmFndWVyLW1vbWVudHMtaW4tdGltZSIsCisgICAgICAgICJvcmln
aW5hbF9pZCI6ICJ2YWd1ZXItbW9tZW50cy1pbi10aW1lIgorICAgIH0KK10KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLW1pY3Jvc3ludGF4ZXMv
ZGF0ZXMtYW5kLXRpbWVzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRh
eGVzL2RhdGVzLWFuZC10aW1lcy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NDliZWMxMTVl
OWYzZjMyNTFmMmRhZTk0MGIzNTIyNjUzNDQ4MDQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJl
L2NvbW1vbi1taWNyb3N5bnRheGVzL2RhdGVzLWFuZC10aW1lcy93M2MtaW1wb3J0LmxvZwpAQCAt
MCwwICsxLDE4IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBm
cm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0
bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0Mg
Q1NTIG9yIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CisJ
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhl
IFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKwor
RG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1By
b3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVl
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0
IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhlcy9kYXRlcy1hbmQtdGltZXMv
Y29udGFpbnMuanNvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRheGVzL251
bWJlcnMvY29udGFpbnMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhlcy9udW1iZXJz
L2NvbnRhaW5zLmpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzlhNmVhMDA1ODgzZjBmNjU0NTYzYWQ3YjdiYmFi
MWJkMDdiNTQ5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhl
cy9udW1iZXJzL2NvbnRhaW5zLmpzb24KQEAgLTAsMCArMSwyNiBAQAorWworICAgIHsKKyAgICAg
ICAgImlkIjogInNpZ25lZC1pbnRlZ2VycyIsCisgICAgICAgICJvcmlnaW5hbF9pZCI6ICJzaWdu
ZWQtaW50ZWdlcnMiCisgICAgfSwKKyAgICB7CisgICAgICAgICJpZCI6ICJub24tbmVnYXRpdmUt
aW50ZWdlcnMiLAorICAgICAgICAib3JpZ2luYWxfaWQiOiAibm9uLW5lZ2F0aXZlLWludGVnZXJz
IgorICAgIH0sCisgICAgeworICAgICAgICAiaWQiOiAiZmxvYXRpbmctcG9pbnQtbnVtYmVycyIs
CisgICAgICAgICJvcmlnaW5hbF9pZCI6ICJmbG9hdGluZy1wb2ludC1udW1iZXJzIgorICAgIH0s
CisgICAgeworICAgICAgICAiaWQiOiAicGVyY2VudGFnZXMtYW5kLWRpbWVuc2lvbnMiLAorICAg
ICAgICAib3JpZ2luYWxfaWQiOiAicGVyY2VudGFnZXMtYW5kLWRpbWVuc2lvbnMiCisgICAgfSwK
KyAgICB7CisgICAgICAgICJpZCI6ICJsaXN0cy1vZi1pbnRlZ2VycyIsCisgICAgICAgICJvcmln
aW5hbF9pZCI6ICJsaXN0cy1vZi1pbnRlZ2VycyIKKyAgICB9LAorICAgIHsKKyAgICAgICAgImlk
IjogImxpc3RzLW9mLWRpbWVuc2lvbnMiLAorICAgICAgICAib3JpZ2luYWxfaWQiOiAibGlzdHMt
b2YtZGltZW5zaW9ucyIKKyAgICB9CitdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2luZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRheGVzL251bWJlcnMvdzNjLWltcG9ydC5s
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5m
cmFzdHJ1Y3R1cmUvY29tbW9uLW1pY3Jvc3ludGF4ZXMvbnVtYmVycy93M2MtaW1wb3J0LmxvZwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42N2U3NWQ5ZDFhNzRiZjU5NjNiNjc4NDYyNjIxMjM3YmZiMWEyMjNjCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRheGVzL251bWJlcnMvdzNjLWlt
cG9ydC5sb2cKQEAgLTAsMCArMSwxOCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdl
cmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNl
IHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
Y3Nzd2ctdGVzdAorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisK
K1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRv
IHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQ
cm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLW1pY3Jvc3ludGF4ZXMvbnVt
YmVycy9jb250YWlucy5qc29uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29uZm9ybWFuY2UtcmVxdWly
ZW1lbnRzL2V4dGVuc2liaWxpdHkvZm9yZWlnbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29uZm9y
bWFuY2UtcmVxdWlyZW1lbnRzL2V4dGVuc2liaWxpdHkvZm9yZWlnbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMWRhZTcyMDIzOTBmM2VlMGRjMGQyNjYwZDIyZWRhMDFlOGI5YmJiMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbmZyYXN0cnVjdHVyZS9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvZXh0ZW5zaWJpbGl0
eS9mb3JlaWduLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1VzZXIgYWdlbnRzIG11c3Qg
dHJlYXQgZWxlbWVudHMgYW5kIGF0dHJpYnV0ZXMgdGhhdCB0aGV5IGRvIG5vdCB1bmRlcnN0YW5k
IGFzIHNlbWFudGljYWxseSBuZXV0cmFsOyBsZWF2aW5nIHRoZW0gaW4gdGhlIERPTSAoZm9yIERP
TSBwcm9jZXNzb3JzKSwgYW5kIHN0eWxpbmcgdGhlbSBhY2NvcmRpbmcgdG8gQ1NTIChmb3IgQ1NT
IHByb2Nlc3NvcnMpLCBidXQgbm90IGluZmVycmluZyBhbnkgbWVhbmluZyBmcm9tIHRoZW0uCisK
K0Zvb2JhcgorUnVubmluZyB0ZXN0Li4uCisKK1BBU1MgZm9yZWlnbiBjb250ZW50IAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
aW5mcmFzdHJ1Y3R1cmUvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzL2V4dGVuc2liaWxpdHkvZm9y
ZWlnbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2luZnJhc3RydWN0dXJlL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy9leHRlbnNpYmlsaXR5
L2ZvcmVpZ24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYWExMzNiYWRlZTE2ZDFkYWRlNmRlMDJlNGNmNjQ2
NTE1Mjg5ZWI1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbmZvcm1hbmNlLXJlcXVpcmVt
ZW50cy9leHRlbnNpYmlsaXR5L2ZvcmVpZ24uaHRtbApAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIiBmb289J2Jhcic+CisgIDxoZWFkIGZvbz0nYmFyJz4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgZm9vPSdiYXInPgorICAgIDx0aXRsZSBpZD0ndGl0
bGUnIGZvbz0nYmFyJz5Gb3JlaWduIGNvbnRlbnQ8L3RpdGxlPgorICAgIDxsaW5rIHJlbD0iYXV0
aG9yIiB0aXRsZT0iUGhpbGlwcGUgTGUgSGVnYXJldCIgaHJlZj0ibWFpbHRvOnBsaEB3My5vcmci
ICBmb289J2Jhcic+CisgICAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2h0bWwuc3Bl
Yy53aGF0d2cub3JnL211bHRpcGFnZS8jZXh0ZW5zaWJpbGl0eSIgIGZvbz0nYmFyJz4KKyAgICA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIgIGZvbz0nYmFyJz48L3Njcmlw
dD4KKyAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyIgZm9v
PSdiYXInPjwvc2NyaXB0PgorICA8L2hlYWQ+CisKKyAgPGJvZHkgZm9vPSdiYXInPgorCisgICAg
PHAgY2xhc3M9J2Fzc2VydCcgZm9vPSdiYXInPlVzZXIgYWdlbnRzIG11c3QgdHJlYXQgZWxlbWVu
dHMgYW5kIGF0dHJpYnV0ZXMgdGhhdCB0aGV5IGRvIG5vdCB1bmRlcnN0YW5kIGFzIHNlbWFudGlj
YWxseSBuZXV0cmFsOyBsZWF2aW5nIHRoZW0gaW4gdGhlIERPTSAoZm9yIERPTSBwcm9jZXNzb3Jz
KSwgYW5kIHN0eWxpbmcgdGhlbSBhY2NvcmRpbmcgdG8gQ1NTIChmb3IgQ1NTIHByb2Nlc3NvcnMp
LCBidXQgbm90IGluZmVycmluZyBhbnkgbWVhbmluZyBmcm9tIHRoZW0uPC9wPgorCisgICAgPGZv
byBmb289J2JhcicgZWNobz5Gb29iYXI8L2Zvbz4KKworICAgIDxkaXYgaWQ9ImxvZyI+UnVubmlu
ZyB0ZXN0Li4uPC9kaXY+CisKKyAgICA8c2NyaXB0PgorICAgICAgdmFyIHQgPSBhc3luY190ZXN0
KCJmb3JlaWduIGNvbnRlbnQiKTsKKworICAgICAgb25fZXZlbnQod2luZG93LCAibG9hZCIsCisg
ICAgICAgICAgICAgICB0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAg
dmFyIG5vZGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTsKKyAgICAgICAg
ICAgICAgICAgdmFyIGNvbnQgPSB0cnVlOworICAgICAgICAgICAgICAgICB2YXIgbGFzdCA9IG51
bGw7CisgICAgICAgICAgICAgICAgIGZvcih2YXIgaT0wO2k8bm9kZXMubGVuZ3RoICYmIGNvbnQ7
IGkrKykgeworICAgICAgICAgICAgICAgICAgIHZhciBhcyA9IG5vZGVzLml0ZW0oaSkuZ2V0QXR0
cmlidXRlKCJmb28iKTsKKyAgICAgICAgICAgICAgICAgICBpZiAoIShhcyA9PT0gImJhciIpICYm
IChub2Rlcy5pdGVtKGkpLmdldEF0dHJpYnV0ZSgiaWQiKSA9PT0gImxvZyIpKSB7CisgICAgICAg
ICAgICAgICAgICAgICBjb250ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgIGxhc3QgPSBub2Rlcy5pdGVtKGkpOworICAgICAgICAgICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhhcywgImJhciIpOworICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobGFz
dC5ub2RlTmFtZSwgIkZPTyIpOworICAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGxhc3Qu
Z2V0QXR0cmlidXRlKCJlY2hvIiksICIiKTsKKyAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhsYXN0LmdldEF0dHJpYnV0ZSgiY2hhcmx5IiksIG51bGwpOworICAgICAgICAgICAgICAgICB0
LmRvbmUoKTsKKyAgICAgICAgICAgICAgIH0pKTsKKyAgICA8L3NjcmlwdD4KKyAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy9leHRl
bnNpYmlsaXR5L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50
cy9leHRlbnNpYmlsaXR5L3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjZGI5MGZmNjRlYjgz
ZGFjNzEyNGJiZjZiMGZiOTA5OGNlOTkxM2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29u
Zm9ybWFuY2UtcmVxdWlyZW1lbnRzL2V4dGVuc2liaWxpdHkvdzNjLWltcG9ydC5sb2cKQEAgLTAs
MCArMSwxOCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJv
bSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5
IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENT
UyBvciBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBU
b29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0Rv
IE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9w
ZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBv
ZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvaW5mcmFzdHJ1Y3R1cmUvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzL2V4dGVuc2liaWxpdHkv
Zm9yZWlnbi5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvdGVybWlub2xvZ3kvcGx1Z2lucy9zYW1w
bGUudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2luZnJhc3RydWN0dXJlL3Rlcm1pbm9sb2d5L3BsdWdpbnMvc2FtcGxlLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jZWRlY2Q2ZDg4NGQxODFhNzQwZjViZTExMGQ4Njk2NzlmNzY4MTg5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
ZnJhc3RydWN0dXJlL3Rlcm1pbm9sb2d5L3BsdWdpbnMvc2FtcGxlLnR4dApAQCAtMCwwICsxLDMg
QEAKK1RoaXMgaXMgYSBzYW1wbGUgdGV4dC9wbGFpbiBkb2N1bWVudC4KKworVGhpcyBpcyBub3Qg
YW4gSFRNTCBkb2N1bWVudC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS90ZXJtaW5vbG9neS9wbHVnaW5z
L3RleHQtcGxhaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL3Rlcm1pbm9sb2d5L3BsdWdpbnMvdGV4
dC1wbGFpbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWUzOWViYjFmYTI1MmU0OWQzMmFiMzk3
ZTczY2I3ZGRiMGYzMjVhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS90ZXJtaW5vbG9neS9w
bHVnaW5zL3RleHQtcGxhaW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorVGVzdCBvZiBw
bHVnaW4gc3VwcG9ydAorCitBIHVzZXIgYWdlbnQgbXVzdCBub3QgY29uc2lkZXIgdGhlIHR5cGVz
IHRleHQvcGxhaW4gYW5kIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSBhcyBoYXZpbmcgYSByZWdp
c3RlcmVkIHBsdWdpbi4KKworCitSdW5uaW5nIHRlc3QuLi4KKworUEFTUyBBIHVzZXIgYWdlbnQg
bXVzdCBub3QgY29uc2lkZXIgdGhlIHR5cGUgdGV4dC9wbGFpbiBhcyBoYXZpbmcgYSByZWdpc3Rl
cmVkIHBsdWdpbi4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS90ZXJtaW5vbG9neS9wbHVnaW5zL3Rl
eHQtcGxhaW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9pbmZyYXN0cnVjdHVyZS90ZXJtaW5vbG9neS9wbHVnaW5zL3RleHQtcGxhaW4uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wZWQwY2UyM2I4YWUxM2ZiZDcxYmMzZWQ2ZWI3MDczMjM2MmVkZTI5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL3Rlcm1pbm9sb2d5L3BsdWdpbnMvdGV4dC1wbGFpbi5o
dG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgor
ICA8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgPHRpdGxlIGlkPSd0aXRs
ZSc+TWVkaWEgVHlwZXM8L3RpdGxlPgorICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iUGhp
bGlwcGUgTGUgSGVnYXJldCIgaHJlZj0ibWFpbHRvOnBsaEB3My5vcmciLz4KKyAgICA8bGluayBy
ZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyNw
bHVnaW5zIi8+CisgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKyAgPC9oZWFkPgorCisgIDxib2R5PgorICAgIDxzY3JpcHQ+CisgICAgICB2
YXIgdCA9IGFzeW5jX3Rlc3QoIkEgdXNlciBhZ2VudCBtdXN0IG5vdCBjb25zaWRlciB0aGUgdHlw
ZSB0ZXh0L3BsYWluIGFzIGhhdmluZyBhIHJlZ2lzdGVyZWQgcGx1Z2luLiIpOworCisgICAgICB3
aW5kb3cub25sb2FkID0KKyAgICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpLmNv
bnRlbnREb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQubm9kZU5hbWUsICJQUkUiKTsKKyAgICAgICAg
dC5kb25lKCk7CisgICAgICB9KTsKKyAgICA8L3NjcmlwdD4KKworICAgIDxoMT5UZXN0IG9mIHBs
dWdpbiBzdXBwb3J0PC9oMT4KKyAgICA8cCBjbGFzcz0nYXNzZXJ0Jz5BIHVzZXIgYWdlbnQgbXVz
dCBub3QgY29uc2lkZXIgdGhlIHR5cGVzIHRleHQvcGxhaW4gYW5kIGFwcGxpY2F0aW9uL29jdGV0
LXN0cmVhbSBhcyBoYXZpbmcgYSByZWdpc3RlcmVkIHBsdWdpbi48L3A+CisKKyAgICA8aWZyYW1l
IGlkPSJmcmFtZUNvbnRleHQiIHNyYz0ic2FtcGxlLnR4dCI+PC9pZnJhbWU+CisKKworICAgIDxk
aXYgaWQ9ImxvZyI+UnVubmluZyB0ZXN0Li4uPC9kaXY+CisKKyAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2luZnJhc3RydWN0dXJlL3Rlcm1pbm9sb2d5L3BsdWdpbnMvdzNjLWltcG9ydC5sb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1
Y3R1cmUvdGVybWlub2xvZ3kvcGx1Z2lucy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTg3
MjcwYTg0OGY4MjRmYTIzNjc0YjViNzZmZWJlNGFiZmQzMjUxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3Ry
dWN0dXJlL3Rlcm1pbm9sb2d5L3BsdWdpbnMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOSBA
QAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzND
IHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktp
dC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQg
Z2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2Rp
Znkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFz
dHJ1Y3R1cmUvdGVybWlub2xvZ3kvcGx1Z2lucy9zYW1wbGUudHh0CisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL3Rlcm1pbm9s
b2d5L3BsdWdpbnMvdGV4dC1wbGFpbi5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291313</attachid>
            <date>2016-10-11 16:26:38 -0700</date>
            <delta_ts>2016-10-11 16:34:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163296-20161011162315.patch</filename>
            <type>text/plain</type>
            <size>46307</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3MTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzMyZjE1MzNiOWZlMmRk
MzRmMzMzMTYzZWFmMzY0NTQ0OGY0YTFjOS4uOTc1MjViOGViOWExNTVmYzc3NjBkYjE5MTgxYzFk
ZGQxZjM3YzI2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE2LTEwLTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgc2VsZWN0Lm9wdGlvbnMgbWF5
IHJldHVybiB0b28gbWFueSBvcHRpb24gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzI5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIHNlbGVjdC5vcHRpb25zIG1heSByZXR1cm4gdG9vIG1h
bnkgb3B0aW9uIGVsZW1lbnRzLiBXZSdyZSBvbmx5IHN1cHBvc2VkCisgICAgICAgIHRvIHJldHVy
biB0aGUgb3B0aW9uIGVsZW1lbnQgY2hpbGRyZW4gb2YgdGhlIHNlbGVjdCBlbGVtZW50LCBhbmQg
dGhlCisgICAgICAgIG9wdGlvbiBlbGVtZW50IGNoaWxkcmVuIG9mIGFsbCB0aGUgb3B0Z3JvdXAg
ZWxlbWVudCBjaGlsZHJlbiBvZiB0aGUKKyAgICAgICAgc2VsZWN0IGVsZW1lbnQsIGluIHRyZWUg
b3JkZXI6CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jZG9tLXNlbGVj
dC1vcHRpb25zCisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jY29uY2Vw
dC1zZWxlY3Qtb3B0aW9uLWxpc3QKKworICAgICAgICBGaXJlZm94IGFuZCBDaHJvbWUgYWdyZWVz
IHdpdGggdGhlIHNwZWNpZmljYXRpb24uIEhvd2V2ZXIsIFdlYktpdCB3YXMKKyAgICAgICAgcmV0
dXJuaW5nIGFsbCB0aGUgb3B0aW9uIGVsZW1lbnRzIHRoYXQgYXJlIGRlc2NlbmRhbnRzIG9mIHRo
ZSBzZWxlY3QKKyAgICAgICAgZWxlbWVudC4KKworICAgICAgICBUZXN0OiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZh
Y2VzL2NvbGxlY3Rpb25zL2h0bWxvcHRpb25zY29sbGVjdGlvbi5odG1sCisKKyAgICAgICAgKiBo
dG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oOgorCiAyMDE2LTEwLTEwICBCcmVudCBGdWxnaGFt
ICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5dW0RpcmVjdDJEXSBBZGQgaW5p
dGlhbCBQYXR0ZXJuIGhhbmRsaW5nIGltcGxlbWVudGF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaAppbmRleCA5Y2RhMjhlMGNlN2NkNGUzYjViZDBmMzVi
NWFhZDkwM2M4NjIwNzgzLi40MWJlNzdjZjlkODdiZGMwZTMxOWI0MjY0Y2RkMmM4ZTU2YjI3Y2Nh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmgKQEAgLTcw
LDcgKzcwLDEzIEBAIGlubGluZSBIVE1MT3B0aW9uRWxlbWVudCogSFRNTE9wdGlvbnNDb2xsZWN0
aW9uOjpuYW1lZEl0ZW0oY29uc3QgQXRvbWljU3RyaW5nJiBuCiAKIGlubGluZSBib29sIEhUTUxP
cHRpb25zQ29sbGVjdGlvbjo6ZWxlbWVudE1hdGNoZXMoRWxlbWVudCYgZWxlbWVudCkgY29uc3QK
IHsKLSAgICByZXR1cm4gZWxlbWVudC5oYXNUYWdOYW1lKEhUTUxOYW1lczo6b3B0aW9uVGFnKTsK
KyAgICBpZiAoIWVsZW1lbnQuaGFzVGFnTmFtZShIVE1MTmFtZXM6Om9wdGlvblRhZykpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChlbGVtZW50LnBhcmVudE5vZGUoKSA9PSAmc2Vs
ZWN0RWxlbWVudCgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBlbGVtZW50
LnBhcmVudE5vZGUoKS0+aGFzVGFnTmFtZShvcHRncm91cFRhZykgJiYgZWxlbWVudC5wYXJlbnRO
b2RlKCktPnBhcmVudE5vZGUoKSA9PSAmc2VsZWN0RWxlbWVudCgpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA4YjVhOTUzYjRk
NDg2MmEwNzQ3YzlhMTUyZjZiYjUwMTk5ZjhmODVkLi42ZTQ2OGIxZDIxY2Y5ZWZlYmE1MmIzNjhm
MzE3YmUxMTNlOWRkNWI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzNCBAQAorMjAxNi0xMC0xMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisg
ICAgICAgIHNlbGVjdC5vcHRpb25zIG1heSByZXR1cm4gdG9vIG1hbnkgb3B0aW9uIGVsZW1lbnRz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjMyOTYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBvcnQg
aHRtbC9pbmZyYXN0cnVjdHVyZSB3ZWItcGxhdGZvcm0tdGVzdHMgZnJvbSB1cHN0cmVhbS4KKwor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1k
b20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9jb250YWlucy5qc29uOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVy
ZmFjZXMvY29sbGVjdGlvbnMvaHRtbGFsbGNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24t
ZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbGFsbGNvbGxlY3Rpb24uaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9u
LWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0bWxmb3JtY29udHJvbHNjb2xsZWN0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5m
cmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0bWxmb3JtY29u
dHJvbHNjb2xsZWN0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9o
dG1sb3B0aW9uc2NvbGxlY3Rpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMv
Y29sbGVjdGlvbnMvaHRtbG9wdGlvbnNjb2xsZWN0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJm
YWNlcy9jb2xsZWN0aW9ucy9yYWRpb25vZGVsaXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1p
bnRlcmZhY2VzL2NvbGxlY3Rpb25zL3JhZGlvbm9kZWxpc3QuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRl
cmZhY2VzL2NvbGxlY3Rpb25zL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhlcy9k
YXRlcy1hbmQtdGltZXMvY29udGFpbnMuanNvbjogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLW1pY3Jvc3ludGF4ZXMvZGF0ZXMt
YW5kLXRpbWVzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhlcy9udW1iZXJzL2Nv
bnRhaW5zLmpzb246IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
ZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRheGVzL251bWJlcnMvdzNjLWltcG9ydC5sb2c6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJl
L2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy9leHRlbnNpYmlsaXR5L2ZvcmVpZ24tZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVj
dHVyZS9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvZXh0ZW5zaWJpbGl0eS9mb3JlaWduLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJl
L2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy9leHRlbnNpYmlsaXR5L3czYy1pbXBvcnQubG9nOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS90
ZXJtaW5vbG9neS9wbHVnaW5zL3NhbXBsZS50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL3Rlcm1pbm9sb2d5L3BsdWdpbnMvdGV4dC1w
bGFpbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2luZnJhc3RydWN0dXJlL3Rlcm1pbm9sb2d5L3BsdWdpbnMvdGV4dC1wbGFpbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS90
ZXJtaW5vbG9neS9wbHVnaW5zL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKwogMjAxNi0xMC0xMSAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW0ZldGNoIEFQSV0g
U3VwcG9ydCBSZXF1ZXN0IGNhY2hlIG1vZGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9t
LWludGVyZmFjZXMvY29sbGVjdGlvbnMvY29udGFpbnMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9t
LWludGVyZmFjZXMvY29sbGVjdGlvbnMvY29udGFpbnMuanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMzBmMWQw
ZDUzMzMzNWMxMWNkODNjZTc5MzFjNDBkNzhjMmMwMDU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0
dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9jb250YWlucy5qc29uCkBAIC0w
LDAgKzEsMTQgQEAKK1sKKyAgICB7CisgICAgICAgICJpZCI6ICJodG1sYWxsY29sbGVjdGlvbiIs
CisgICAgICAgICJvcmlnaW5hbF9pZCI6ICJodG1sYWxsY29sbGVjdGlvbiIKKyAgICB9LAorICAg
IHsKKyAgICAgICAgImlkIjogImh0bWxmb3JtY29udHJvbHNjb2xsZWN0aW9uIiwKKyAgICAgICAg
Im9yaWdpbmFsX2lkIjogImh0bWxmb3JtY29udHJvbHNjb2xsZWN0aW9uIgorICAgIH0sCisgICAg
eworICAgICAgICAiaWQiOiAiaHRtbG9wdGlvbnNjb2xsZWN0aW9uIiwKKyAgICAgICAgIm9yaWdp
bmFsX2lkIjogImh0bWxvcHRpb25zY29sbGVjdGlvbiIKKyAgICB9CitdClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9j
b2xsZWN0aW9ucy9odG1sYWxsY29sbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9u
LWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0bWxhbGxjb2xsZWN0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xNGNiYmE4NmQ0NTFkZjE1M2RjMDBkZGM5OWI0MmJhZWQyYWNkODYzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9u
cy9odG1sYWxsY29sbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorCisKK1BB
U1MgVGVzdCBmb3IgSFRNTEFsbENvbGxlY3Rpb24gc2l6ZSAKK1BBU1MgVGVzdCBsb29rdXAgYnkg
aW5kZXggdXNpbmcgKCkgCitQQVNTIFRlc3QgbG9va3VwIGJ5IGluZGV4IHVzaW5nIFtdIAorUEFT
UyBUZXN0IGxvb2t1cCBJTUcgYnkgbmFtZSAKK1BBU1MgVGVzdCBsb29rdXAgSU1HIGJ5IG5hbWVk
SXRlbSAgCitQQVNTIFRlc3QgbG9va3VwIElNRyBpbiBjb2xsZWN0aW9uIHVzaW5nICgpIAorUEFT
UyBUZXN0IGxvb2t1cCBJTUcgaW4gY29sbGVjdGlvbiB1c2luZyBbXSAKK1BBU1MgVGVzdCBsb29r
dXAgSU1HIGluIGNvbGxlY3Rpb24gdXNpbmcgLiAKK0ZBSUwgVGVzdCBsb29rdXAgdGFncyBpbiBj
b2xsZWN0aW9uIHVzaW5nIC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgInRhZ3Mi
IGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitQQVNTIFNob3VsZCBmaW5kIHJvb3QgZWxl
bWVudCB0b28gCitGQUlMIFNob3VsZCBmaW5kIGJvdGggYW5jaG9ycyBhbmQgcHJvZHVjZSBhIGxp
c3QgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2RvY3VtZW50LmFsbFsi
Zm9vIl0ubGVuZ3RoJykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNl
cy9jb2xsZWN0aW9ucy9odG1sYWxsY29sbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20t
aW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9odG1sYWxsY29sbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjljZThlYzM1MGQxZmI5MWEzZTU0ZTY3MjNkZmZiNmI3ZDNhNTI3NTcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5m
cmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0bWxhbGxjb2xs
ZWN0aW9uLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbCBpZD0i
cm9vdCI+Cis8aGVhZD4KKzx0aXRsZT5IVE1MQWxsQ29sbGVjdGlvbiBUZXN0czwvdGl0bGU+Cis8
bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkRhbiBEcnV0YSIgaHJlZj0ibWFpbHRvOmRhbi5kcnV0
YUBhdHQuY29tIi8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9IjIuNy4yLjEgLSBDb21tb24gSW5m
cmFzdHJ1Y3R1cmUvQ29tbW9uIERPTSBJbnRlcmZhY2VzL0NvbGxlY3Rpb25zL0hUTUxBbGxDb2xs
ZWN0aW9uIi8+Cis8bWV0YSBuYW1lPSJmbGFncyIgY29udGVudD0iVE9LRU5TIiAvPgorPG1ldGEg
bmFtZT0iYXNzZXJ0IiBjb250ZW50PSJURVNUIEFTU0VSVElPTiIvPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgaWQ9InRh
Z3MiPgorPGltZyBzcmM9Ii4uLy4uLy4uLy4uL2ltYWdlcy9ncmVlbi5wbmciIG5hbWU9InBpY3R1
cmUiPgorPGEgbmFtZT0iZm9vIj48L2E+Cis8YSBuYW1lPSJmb28iPjwvYT4KKzxzY3JpcHQ+Cit0
ZXN0KGZ1bmN0aW9uKCl7IGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuYWxsLmxlbmd0aCwxNCl9LCAi
VGVzdCBmb3IgSFRNTEFsbENvbGxlY3Rpb24gc2l6ZSIpOworCit0ZXN0KGZ1bmN0aW9uKCl7IGFz
c2VydF9lcXVhbHMoZG9jdW1lbnQuYWxsLml0ZW0oMCkudGFnTmFtZSwiSFRNTCIpfSwgIlRlc3Qg
bG9va3VwIGJ5IGluZGV4IHVzaW5nICgpIik7CisKK3Rlc3QoZnVuY3Rpb24oKXsgYXNzZXJ0X2Vx
dWFscyhkb2N1bWVudC5hbGxbMF0udGFnTmFtZSwiSFRNTCIpfSwgIlRlc3QgbG9va3VwIGJ5IGlu
ZGV4IHVzaW5nIFtdIik7CisKK3Rlc3QoZnVuY3Rpb24oKXsgYXNzZXJ0X2VxdWFscyhkb2N1bWVu
dC5hbGwuaXRlbSgicGljdHVyZSIpLm5vZGVOYW1lLCJJTUciKX0sICJUZXN0IGxvb2t1cCBJTUcg
YnkgbmFtZSIpOworCit0ZXN0KGZ1bmN0aW9uKCl7IGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuYWxs
Lm5hbWVkSXRlbSgicGljdHVyZSIpLm5vZGVOYW1lLCJJTUciKX0sICJUZXN0IGxvb2t1cCBJTUcg
YnkgbmFtZWRJdGVtICIpOworCit0ZXN0KGZ1bmN0aW9uKCl7IGFzc2VydF9lcXVhbHMoZG9jdW1l
bnQuYWxsKCJwaWN0dXJlIikubm9kZU5hbWUsIklNRyIpfSwgIlRlc3QgbG9va3VwIElNRyBpbiBj
b2xsZWN0aW9uIHVzaW5nICgpIik7CisKK3Rlc3QoZnVuY3Rpb24oKXsgYXNzZXJ0X2VxdWFscyhk
b2N1bWVudC5hbGxbInBpY3R1cmUiXS5ub2RlTmFtZSwiSU1HIil9LCAiVGVzdCBsb29rdXAgSU1H
IGluIGNvbGxlY3Rpb24gdXNpbmcgW10iKTsKKwordGVzdChmdW5jdGlvbigpeyBhc3NlcnRfZXF1
YWxzKGRvY3VtZW50LmFsbC5waWN0dXJlLm5vZGVOYW1lLCJJTUciKX0sICJUZXN0IGxvb2t1cCBJ
TUcgaW4gY29sbGVjdGlvbiB1c2luZyAuIik7CisKK3Rlc3QoZnVuY3Rpb24oKXsgYXNzZXJ0X2Vx
dWFscyhkb2N1bWVudC5hbGwudGFncy5pZCwidGFncyIpfSwgIlRlc3QgbG9va3VwIHRhZ3MgaW4g
Y29sbGVjdGlvbiB1c2luZyAuIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVh
bHMoZG9jdW1lbnQuYWxsWyJyb290Il0sIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7Cit9LCAi
U2hvdWxkIGZpbmQgcm9vdCBlbGVtZW50IHRvbyIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBh
c3NlcnRfZXF1YWxzKGRvY3VtZW50LmFsbFsiZm9vIl0ubGVuZ3RoLCAyKTsKK30sICJTaG91bGQg
ZmluZCBib3RoIGFuY2hvcnMgYW5kIHByb2R1Y2UgYSBsaXN0Iik7CisKK3Rlc3QKKzwvc2NyaXB0
PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVj
dHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbGZvcm1jb250cm9sc2Nv
bGxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xs
ZWN0aW9ucy9odG1sZm9ybWNvbnRyb2xzY29sbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTAyYjQyMGY5Y2Q3ZWI2NWViMTg1MDllYmRmOTkzZmEzOTE5NDgxOQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9p
bmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbGZvcm1j
b250cm9sc2NvbGxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAKKworUEFTUyBU
aGUgbGVuZ3RoIGF0dHJpYnV0ZSBtdXN0IHJldHVybiB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGlu
IHRoZSBmb3JtIAorUEFTUyBIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5pdGVtKGluZGV4KSBt
dXN0IHJldHVybiB0aGUgaW5kZXhlZCBpdGVtIAorUEFTUyBIVE1MRm9ybUNvbnRyb2xzQ29sbGVj
dGlvbltpbmRleF0gbXVzdCByZXR1cm4gdGhlIGluZGV4ZWQgaXRlbSAKK1BBU1MgSFRNTEZvcm1D
b250cm9sc0NvbGxlY3Rpb24gaXMgbm90IGNhbGxhYmxlIAorUEFTUyBIVE1MRm9ybUNvbnRyb2xz
Q29sbGVjdGlvbltuYW1lXSBtdXN0IHJldHVybiB0aGUgbmFtZWQgaXRlbSAKK1BBU1MgSFRNTEZv
cm1Db250cm9sc0NvbGxlY3Rpb24ubmFtZWRJdGVtKG5hbWUpIG11c3QgcmV0dXJuIHRoZSBuYW1l
ZCBpdGVtIAorUEFTUyBUaGUgbmFtZWRJdGVtKG5hbWUpIG11c3QgcmV0dXJuIGFuIEVsZW1lbnQg
CitQQVNTIFRoZSBuYW1lZEl0ZW0obmFtZSkgbXVzdCByZXR1cm4gUmFkaW9Ob2RlTGlzdCAKK1BB
U1MgVGhlIG5hbWVkSXRlbShuYW1lKSBtdXN0IHJldHVybiBudWxsIGlmIHRoZSBuYW1lIGlzIGVt
cHR5IAorUEFTUyBUaGUgbmFtZWRJdGVtKG5hbWUpIG11c3QgcmV0dXJuIG51bGwgaWYgdGhlcmUg
aXMgbm8gbWF0Y2hlZCBlbGVtZW50IAorUEFTUyBDb250cm9scyBjYW4gYmUgaW5kZXhlZCBieSBp
ZCBvciBuYW1lIGF0dHJpYnV0ZSAKK1BBU1MgVGhlIG5hbWVkSXRlbShuYW1lKSBtdXN0IHJldHVy
biB0aGUgaXRlbXMgd2l0aCBpZCBvciBuYW1lIGF0dHJpYnV0ZSAKK1BBU1MgVGhlIEhUTUxGb3Jt
Q29udHJvbHNDb2xsZWN0aW9uIGludGVyZmFjZSBpcyB1c2VkIGZvciBjb2xsZWN0aW9ucyBvZiBs
aXN0ZWQgZWxlbWVudHMgaW4gZm9ybSBlbGVtZW50IAorUEFTUyBUaGUgSFRNTEZvcm1Db250cm9s
c0NvbGxlY3Rpb24gaW50ZXJmYWNlIGlzIHVzZWQgZm9yIGNvbGxlY3Rpb25zIG9mIGxpc3RlZCBl
bGVtZW50cyBpbiBmaWVsZHNldCBlbGVtZW50IAorUEFTUyBUaGUgY29udHJvbHMgaW4gdGhlIGZv
cm0gZWxlbWVudCBtdXN0IGJlIHNvcnRlZCBpbiB0cmVlIG9yZGVyIAorICAKKworICAKKyAgCisK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9o
dG1sZm9ybWNvbnRyb2xzY29sbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJm
YWNlcy9jb2xsZWN0aW9ucy9odG1sZm9ybWNvbnRyb2xzY29sbGVjdGlvbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjhjOGUxZGJjMWJmOWE5YTlmOWQzODUxZTVhMmFhYzhjODY0OTk5ZDQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
aW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0bWxmb3Jt
Y29udHJvbHNjb2xsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSwxMTYgQEAKKzwhRE9DVFlQRSBodG1s
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkhUTUwgVGVzdDogdGhlIEhUTUxGb3Jt
Q29udHJvbHNDb2xsZWN0aW9uIGludGVyZmFjZTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIg
dGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8vd3d3LmludGVsLmNvbS8iPgorPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9tdWx0aXBh
Z2UvY29tbW9uLWRvbS1pbnRlcmZhY2VzLmh0bWwjaHRtbGZvcm1jb250cm9sc2NvbGxlY3Rpb24i
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0ibG9nIj48L2Rpdj4KKzxmb3JtIGlkPSJmMSI+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIg
aWQ9InIxIj4KKyAgPGtleWdlbiBpZD0ia2ciIG5hbWU9ImtleSI+PC9rZXlnZW4+Cis8L2Zvcm0+
Cis8Zm9ybSBpZD0iZjIiPgorICA8dGFibGU+CisgICAgPHRyPgorICAgICAgPHRkPgorICAgICAg
ICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjYiI+CisgICAgICAgIDxpbnB1dCB0eXBlPSJj
aGVja2JveCIgbmFtZT0iY2IiPgorICAgICAgPC90ZD4KKyAgICA8L3RyPgorICAgIDx0cj4KKyAg
ICAgIDx0ZD4KKyAgICAgICAgPGJ1dHRvbiBpZD0iYnRuIj48L2J1dHRvbj4KKyAgICAgICAgPGJ1
dHRvbiBuYW1lPSJidG4iPjwvYnV0dG9uPgorICAgICAgPC90ZD4KKyAgICA8L3RyPgorICA8L3Rh
YmxlPgorPC9mb3JtPgorCis8c2NyaXB0PgorCit2YXIgY29sbDEsIGNvbGwyLCByZG87CisKK3Nl
dHVwKGZ1bmN0aW9uICgpIHsKKyAgcmRvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInIxIik7
CisgIGNvbGwxID0gZG9jdW1lbnQuZm9ybXNbMF0uZWxlbWVudHM7CisgIGNvbGwyID0gZG9jdW1l
bnQuZm9ybXNbMV0uZWxlbWVudHM7Cit9KTsKKworLy9sZW5ndGgKK3Rlc3QoZnVuY3Rpb24gKCkg
eworICBhc3NlcnRfZXF1YWxzKGNvbGwxLmxlbmd0aCwgMiwgIlRoZSBsZW5ndGggYXR0cmlidXRl
IGlzIGluY29ycmVjdC4iKTsKKyAgYXNzZXJ0X2VxdWFscyhjb2xsMi5sZW5ndGgsIDQsICJUaGUg
bGVuZ3RoIGF0dHJpYnV0ZSBpcyBpbmNvcnJlY3QuIik7Cit9LCAiVGhlIGxlbmd0aCBhdHRyaWJ1
dGUgbXVzdCByZXR1cm4gdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgZm9ybSIpOworCisv
L2dldHRlciAtIGluZGV4Cit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgYXNzZXJ0X2VxdWFscyhjb2xs
MS5pdGVtKDApLCByZG8sICJIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5pdGVtKGluZGV4KSBz
aG91bGQgcmV0dXJuIHRoZSAnaW5wdXQnIGVsZW1lbnQgaW4gcmFkaW8gc3RhdHVzLiIpOworfSwg
IkhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uLml0ZW0oaW5kZXgpIG11c3QgcmV0dXJuIHRoZSBp
bmRleGVkIGl0ZW0iKTsKKwordGVzdChmdW5jdGlvbiAoKSB7CisgIGFzc2VydF9lcXVhbHMoY29s
bDFbMF0sIHJkbywgIkhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uW2luZGV4XSBzaG91bGQgcmV0
dXJuIHRoZSAnaW5wdXQnIGVsZW1lbnQgaW4gcmFkaW8gc3RhdHVzLiIpOworfSwgIkhUTUxGb3Jt
Q29udHJvbHNDb2xsZWN0aW9uW2luZGV4XSBtdXN0IHJldHVybiB0aGUgaW5kZXhlZCBpdGVtIik7
CisKKy8vZ2V0dGVyIC0gbmFtZQordGVzdChmdW5jdGlvbiAoKSB7CisgIGFzc2VydF90aHJvd3Mo
VHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBjb2xsMSgicjEiKSB9KTsKK30sICJIVE1MRm9ybUNv
bnRyb2xzQ29sbGVjdGlvbiBpcyBub3QgY2FsbGFibGUiKTsKKwordGVzdChmdW5jdGlvbiAoKSB7
CisgIGFzc2VydF9lcXVhbHMoY29sbDFbInIxIl0sIHJkbywgIkhUTUxGb3JtQ29udHJvbHNDb2xs
ZWN0aW9uW25hbWVdIHNob3VsZCByZXR1cm4gdGhlICdpbnB1dCcgZWxlbWVudCBpbiByYWRpbyBz
dGF0dXMuIik7Cit9LCAiSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb25bbmFtZV0gbXVzdCByZXR1
cm4gdGhlIG5hbWVkIGl0ZW0iKTsKKworLy9nZXR0ZXIgLSBuYW1lZEl0ZW0KK3Rlc3QoZnVuY3Rp
b24gKCkgeworICBhc3NlcnRfZXF1YWxzKGNvbGwxLm5hbWVkSXRlbSgicjEiKSwgcmRvLCAiSFRN
TEZvcm1Db250cm9sc0NvbGxlY3Rpb24ubmFtZWRJdGVtKG5hbWUpIHNob3VsZCByZXR1cm4gdGhl
ICdpbnB1dCcgZWxlbWVudCBpbiByYWRpbyBzdGF0dXMuIik7Cit9LCAiSFRNTEZvcm1Db250cm9s
c0NvbGxlY3Rpb24ubmFtZWRJdGVtKG5hbWUpIG11c3QgcmV0dXJuIHRoZSBuYW1lZCBpdGVtIik7
CisKK3Rlc3QoZnVuY3Rpb24gKCkgeworICBhc3NlcnRfdHJ1ZShjb2xsMS5uYW1lZEl0ZW0oInIx
IikgaW5zdGFuY2VvZiBFbGVtZW50LCAiQ2FuIG5vdCByZXR1cm4gJ0VsZW1lbnQnIG9iamVjdC4i
KTsKK30sICJUaGUgbmFtZWRJdGVtKG5hbWUpIG11c3QgcmV0dXJuIGFuIEVsZW1lbnQiKTsKKwor
dGVzdChmdW5jdGlvbiAoKSB7CisgIGFzc2VydF90cnVlKGNvbGwyLm5hbWVkSXRlbSgiY2IiKSBp
bnN0YW5jZW9mIFJhZGlvTm9kZUxpc3QsICJDYW4gbm90IHJldHVybiAnUmFkaW9Ob2RlTGlzdCcg
b2JqZWN0LiIpOworfSwgIlRoZSBuYW1lZEl0ZW0obmFtZSkgbXVzdCByZXR1cm4gUmFkaW9Ob2Rl
TGlzdCIpOworCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgYXNzZXJ0X2VxdWFscyhjb2xsMS5uYW1l
ZEl0ZW0oIiIpLCBudWxsLCAiVGhlIHJldHVybiB2YWx1ZSBvZiBuYW1lZEl0ZW0oKSBzaG91bGQg
YmUgbnVsbC4iKTsKK30sICJUaGUgbmFtZWRJdGVtKG5hbWUpIG11c3QgcmV0dXJuIG51bGwgaWYg
dGhlIG5hbWUgaXMgZW1wdHkiKTsKKwordGVzdChmdW5jdGlvbiAoKSB7CisgIGFzc2VydF9lcXVh
bHMoY29sbDEubmFtZWRJdGVtKCJ0ZXN0IiksIG51bGwsICJUaGUgcmV0dXJuIHZhbHVlIG9mIG5h
bWVkSXRlbSgpIHNob3VsZCBiZSBudWxsLiIpOworfSwgIlRoZSBuYW1lZEl0ZW0obmFtZSkgbXVz
dCByZXR1cm4gbnVsbCBpZiB0aGVyZSBpcyBubyBtYXRjaGVkIGVsZW1lbnQiKTsKKwordGVzdChm
dW5jdGlvbiAoKSB7CisgIGFzc2VydF9lcXVhbHMoY29sbDEubmFtZWRJdGVtKCJrZyIpLCBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgia2ciKSwgIkNvbnRyb2xzIGNhbiBiZSBuYW1lZCBieSAnaWQn
IGF0dHJpYnV0ZS4iKTsKKyAgYXNzZXJ0X2VxdWFscyhjb2xsMS5uYW1lZEl0ZW0oImtleSIpLCBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgia2ciKSwgIkNvbnRyb2xzIGNhbiBiZSBuYW1lZCBieSAn
bmFtZScgYXR0cmlidXRlLiIpOworfSwgIkNvbnRyb2xzIGNhbiBiZSBpbmRleGVkIGJ5IGlkIG9y
IG5hbWUgYXR0cmlidXRlIik7CisKK3Rlc3QoZnVuY3Rpb24gKCkgeworICBhc3NlcnRfZXF1YWxz
KGNvbGwyLm5hbWVkSXRlbSgiYnRuIikubGVuZ3RoLCAyLCAiVGhlIGxlbmd0aCBhdHRyaWJ1dGUg
c2hvdWxkIGJlIDIuIik7Cit9LCAiVGhlIG5hbWVkSXRlbShuYW1lKSBtdXN0IHJldHVybiB0aGUg
aXRlbXMgd2l0aCBpZCBvciBuYW1lIGF0dHJpYnV0ZSIpOworCisvL3ZhcmlvdXMgY29udHJvbHMg
aW4gZmllbGRzZXQgYW5kIGZvcm0KK3ZhciBjb250YWluZXJzID0gWyJmb3JtIiwgImZpZWxkc2V0
Il0sCisgICAgY29udHJvbHMgPSBbImJ1dHRvbiIsICJmaWVsZHNldCIsICJpbnB1dCIsICJrZXln
ZW4iLCAib2JqZWN0IiwgIm91dHB1dCIsICJzZWxlY3QiLCAidGV4dGFyZWEiXTsKK2ZvciAodmFy
IG0gPSAwOyBtIDwgY29udGFpbmVycy5sZW5ndGg7IG0rKykgeworICB0ZXN0KGZ1bmN0aW9uICgp
IHsKKyAgICB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChjb250YWluZXJz
W21dKTsKKyAgICB2YXIgbGVuID0gY29udHJvbHMubGVuZ3RoOworICAgIGZvciAodmFyIG4gPSAw
OyBuIDwgbGVuOyBuKyspCisgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudChjb250cm9sc1tuXSkpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
Y29udGFpbmVyKTsKKyAgICBhc3NlcnRfZXF1YWxzKGNvbnRhaW5lci5lbGVtZW50cy5sZW5ndGgs
IGxlbiwgIlRoZSBsZW5ndGggc2hvdWxkIGJlICIgKyBsZW4gKyAiLiIpOworICB9LCAiVGhlIEhU
TUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uIGludGVyZmFjZSBpcyB1c2VkIGZvciBjb2xsZWN0aW9u
cyBvZiBsaXN0ZWQgZWxlbWVudHMgaW4gIiArIGNvbnRhaW5lcnNbbV0gKyAiIGVsZW1lbnQiKTsK
K30KKworLy9DaGVjayB0aGUgY29udHJvbHMnIG9yZGVyCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAg
dmFyIG9wdCA9IGRvY3VtZW50LmZvcm1zWzFdLmluc2VydEJlZm9yZShkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJvdXRwdXQiKSwgZG9jdW1lbnQuZm9ybXNbMV0uZmlyc3RDaGlsZCk7CisgIGFzc2Vy
dF9hcnJheV9lcXVhbHMoZG9jdW1lbnQuZm9ybXNbMV0uZWxlbWVudHMsCisgICAgICAgICAgICAg
ICAgICAgICAgW29wdCwgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMV0s
IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzJdLAorICAgICAgICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJidXR0b24iKVswXSwgZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJ1dHRvbiIpWzFdXSk7Cit9LCAiVGhlIGNvbnRy
b2xzIGluIHRoZSBmb3JtIGVsZW1lbnQgbXVzdCBiZSBzb3J0ZWQgaW4gdHJlZSBvcmRlciIpOwor
Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29s
bGVjdGlvbnMvaHRtbG9wdGlvbnNjb2xsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21t
b24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbG9wdGlvbnNjb2xsZWN0aW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45ZTFlZTI4NDhiMmRhZjRmYjg0YjQwMzNiNTY3ZjczYzZiMThm
ZGRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xs
ZWN0aW9ucy9odG1sb3B0aW9uc2NvbGxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjcg
QEAKKyAgCisKK1BBU1MgT3JpZ2luYWwgbGVuZ3RoIAorUEFTUyBTZXR0aW5nIGxlbmd0aCB0byBv
cmlnaW5hbCB2YWx1ZSBoYXMgbm8gZWZmZWN0IAorUEFTUyBTZXR0aW5nIGxlbmd0aCB0byBzaG9y
dGVyIHZhbHVlIAorUEFTUyBTZXR0aW5nIGxlbmd0aCB0byBsb25nZXIgdmFsdWUgCitQQVNTIElu
c2VydCA8cD48b3B0aW9uPjY8L29wdGlvbj48L3A+IGludG8gPHNlbGVjdD4gCitQQVNTIEluc2Vy
dCA8c2VsZWN0PjxvcHRpb24+Njwvb3B0aW9uPjwvc2VsZWN0PiBpbnRvIDxzZWxlY3Q+IAorUEFT
UyBJbnNlcnQgPG9wdGdyb3VwPjxvcHRpb24+Njwvb3B0aW9uPjwvb3B0Z3JvdXA+IGludG8gPHNl
bGVjdD4gCitQQVNTIEluc2VydCA8b3B0Z3JvdXA+PG9wdGdyb3VwPjxvcHRpb24+Njwvb3B0aW9u
Pjwvb3B0Z3JvdXA+PC9vcHRncm91cD4gaW50byA8c2VsZWN0PiAKK1BBU1MgbmFtZWRJdGVtIGlk
IGF0dHJpYnV0ZSAKK1BBU1MgbmFtZWRJdGVtIG5hbWUgYXR0cmlidXRlIAorUEFTUyBuYW1lZEl0
ZW0gZG9lc24ndCBtYXRjaCBhbnl0aGluZyAKK1BBU1MgbmFtZWRJdGVtIG11bHRpcGxlIElEcyAK
K1BBU1MgbmFtZWRJdGVtIG11bHRpcGxlIG5hbWVzIAorUEFTUyBuYW1lZEl0ZW0gbXVsdGlwbGUg
bmFtZSBhbmQgSUQgCitQQVNTIG5hbWVkSXRlbSBtdWx0aXBsZSBuYW1lIGFuZCBJRCB3aXRoIG11
bHRpcGxlIGF0dHJpYnV0ZXMgCitQQVNTIG5hbWVkSXRlbSBpZCBhdHRyaWJ1dGUgbXVsdGlwbGUg
YXR0cmlidXRlcyBvbmUgZWxlbWVudCAKK1BBU1MgbmFtZWRJdGVtIG5hbWUgYXR0cmlidXRlIG11
bHRpcGxlIGF0dHJpYnV0ZXMgb25lIGVsZW1lbnQgCitQQVNTIEhUTUxPcHRpb25zQ29sbGVjdGlv
biBbaW5kZXhdIG1ldGhvZCByZXR1cm4gdGhlIGl0ZW0gd2l0aCBpbmRleCAKK1BBU1MgSFRNTE9w
dGlvbnNDb2xsZWN0aW9uIFtuYW1lXSBtZXRob2QgcmV0dXJuIHRoZSBpdGVtIHdpdGggbmFtZSAK
K1BBU1MgSFRNTE9wdGlvbnNDb2xsZWN0aW9uLml0ZW0oaW5kZXgpIG1ldGhvZCByZXR1cm4gdGhl
IGl0ZW0gd2l0aCBpbmRleCAKK1BBU1MgSFRNTE9wdGlvbnNDb2xsZWN0aW9uLml0ZW0obmFtZSkg
bWV0aG9kIHJldHVybiB0aGUgaXRlbSB3aXRoIGluZGV4IDAgCitQQVNTIEhUTUxPcHRpb25zQ29s
bGVjdGlvbi5hZGQgbWV0aG9kIGluc2VydCBIVE1MT3B0aW9uRWxlbWVudCBPcHRpb24gZWxlbWVu
dCAKK1BBU1MgSFRNTE9wdGlvbnNDb2xsZWN0aW9uLnJlbW92ZSBtZXRob2QgcmVtb3ZlIE9wdGlv
biBlbGVtZW50IGJ5IGluZGV4IAorRkFJTCBBZGQgbm9uLW9wdGlvbiB0byBjb2xsZWN0aW9uIGFz
c2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Yl9vcHRzLmFkZChhZGQpO30iIGRp
ZCBub3QgdGhyb3cKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9j
b2xsZWN0aW9ucy9odG1sb3B0aW9uc2NvbGxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9t
LWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbG9wdGlvbnNjb2xsZWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYWJlNzZlODIzMTBlZWZjMjE3ZmNkMDgwNjc2YmZmMDEzMTc3YWFkMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbG9w
dGlvbnNjb2xsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSwyMTYgQEAKKzwhZG9jdHlwZSBodG1sPgor
PHRpdGxlPkhUTUxPcHRpb25zQ29sbGVjdGlvbjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyNodG1sb3B0aW9uc2NvbGxlY3Rp
b24tMCI+Cis8c2VsZWN0IGlkPWE+CisgIDxvcHRpb24+MTwvb3B0aW9uPgorICA8b3B0aW9uPjI8
L29wdGlvbj4KKyAgPG9wdGlvbj4zPC9vcHRpb24+Cis8IS0tIE5vdGUgd2hpdGVzcGFjZSBpcyBp
bXBvcnRhbnQgLS0+CisgIDxvcHRpb24+NDwvb3B0aW9uPgorICA8b3B0aW9uPjU8L29wdGlvbj4K
Kzwvc2VsZWN0PgorCis8c2VsZWN0IGlkPWI+CisgIDxvcHRpb24gaWQ9YjE+MTwvb3B0aW9uPgor
ICA8b3B0aW9uIG5hbWU9YjI+Mjwvb3B0aW9uPgorICA8b3B0aW9uIGlkPWIzPjM8L29wdGlvbj4K
KyAgPG9wdGlvbiBpZD1iMz40PC9vcHRpb24+CisgIDxvcHRpb24gbmFtZT1iND41PC9vcHRpb24+
CisgIDxvcHRpb24gbmFtZT1iND42PC9vcHRpb24+CisgIDxvcHRpb24gaWQ9YjU+Nzwvb3B0aW9u
PgorICA8b3B0aW9uIG5hbWU9YjU+ODwvb3B0aW9uPgorICA8b3B0aW9uIGlkPWI2IG5hbWU9Yjc+
OTwvb3B0aW9uPgorICA8b3B0aW9uIGlkPWI2IG5hbWU9YjY+MTA8L29wdGlvbj4KKyAgPG9wdGlv
biBpZD1iOCBuYW1lPWI5PjExPC9vcHRpb24+Cis8L3NlbGVjdD4KKworPHNjcmlwdD4KK3ZhciBh
OwordmFyIGFfb3B0czsKK3ZhciBhX29yaWdpbmFsX2lubmVySFRNTDsKK3ZhciBiOwordmFyIGJf
b3B0czsKKworc2V0dXAoZnVuY3Rpb24oKSB7CisgIGEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiYSIpOworICBhX29wdHMgPSBhLm9wdGlvbnM7CisgIGFfb3JpZ2luYWxfaW5uZXJIVE1MID0g
YS5pbm5lckhUTUw7CisgIGEuaW5uZXJIVE1MID0gYV9vcmlnaW5hbF9pbm5lckhUTUw7CisgIGIg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYiIpOworICBiX29wdHMgPSBiLm9wdGlvbnM7Cisg
IGJfb3JpZ2luYWxfaW5uZXJIVE1MID0gYi5pbm5lckhUTUw7CisgIGIuaW5uZXJIVE1MID0gYl9v
cmlnaW5hbF9pbm5lckhUTUw7Cit9KQorCitmdW5jdGlvbiBhc3NlcnRfdmFsdWVzX2VxdWFscyhj
b2xsLCBleHBlY3RlZF92YWx1ZXMsIG1lc3NhZ2UpIHsKKyAgYWN0dWFsID0gW107CisgIGZvciAo
dmFyIGk9MDsgaTxjb2xsLmxlbmd0aDsgaSsrKSB7CisgICAgYWN0dWFsLnB1c2goY29sbFtpXS52
YWx1ZSk7CisgIH0KKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkX3ZhbHVl
cywgbWVzc2FnZSk7Cit9CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVhbHMoNSwg
YV9vcHRzLmxlbmd0aCk7Cit9LCAiT3JpZ2luYWwgbGVuZ3RoIik7CisKK3Rlc3QoZnVuY3Rpb24o
KSB7CisgIGEuaW5uZXJIVE1MID0gYV9vcmlnaW5hbF9pbm5lckhUTUw7CisgIGFfb3B0cy52YWx1
ZSA9ICIzIjsKKyAgYV9vcHRzLmxlbmd0aCA9IDU7CisgIGFzc2VydF9lcXVhbHMoYV9vcHRzLmxl
bmd0aCwgNSk7CisgIGFzc2VydF9lcXVhbHMoYV9vcHRzLnZhbHVlLCAiMyIpOworfSwgIlNldHRp
bmcgbGVuZ3RoIHRvIG9yaWdpbmFsIHZhbHVlIGhhcyBubyBlZmZlY3QiKTsKKwordGVzdChmdW5j
dGlvbigpIHsKKyAgYS5pbm5lckhUTUwgPSBhX29yaWdpbmFsX2lubmVySFRNTDsKKyAgYS52YWx1
ZSA9IDM7CisgIGFfb3B0cy5sZW5ndGggPSAzOworICBhc3NlcnRfZXF1YWxzKDMsIGFfb3B0cy5s
ZW5ndGgsICJDb3JyZWN0IGxlbmd0aCIpOworICBhc3NlcnRfdmFsdWVzX2VxdWFscyhhX29wdHMs
IFsiMSIsIjIiLCIzIl0sICJDb3JyZWN0IGVsZW1lbnRzIHJlbWFpbiIpCisgIGFzc2VydF9lcXVh
bHMoYV9vcHRzLnZhbHVlLCAiMyIsICJDb3JyZWN0IHZhbHVlIHNldCIpOworICBhc3NlcnRfZXF1
YWxzKGEuY2hpbGROb2Rlcy5sZW5ndGgsIDExLCAiQ29ycmVjdCBudW1iZXIgb2YgY2hpbGQgbm9k
ZXMiKQorfSwgIlNldHRpbmcgbGVuZ3RoIHRvIHNob3J0ZXIgdmFsdWUiKTsKKwordGVzdChmdW5j
dGlvbigpIHsKKyAgYS5pbm5lckhUTUwgPSBhX29yaWdpbmFsX2lubmVySFRNTDsKKyAgYS52YWx1
ZSA9IDM7CisgIGFfb3B0cy5sZW5ndGggPSA3OworICBhc3NlcnRfZXF1YWxzKGFfb3B0cy5sZW5n
dGgsIDcsICJDb3JyZWN0IGxlbmd0aCIpOworICBhc3NlcnRfdmFsdWVzX2VxdWFscyhhX29wdHMs
IFsiMSIsIjIiLCIzIiwiNCIsIjUiLCIiLCIiXSwgIkNvcnJlY3QgZWxlbWVudHMgaW5zZXJ0ZWQi
KQorICBhc3NlcnRfZXF1YWxzKGEudmFsdWUsICIzIiwgIkNvcnJlY3QgdmFsdWUgc2V0Iik7Cisg
IGFzc2VydF9lcXVhbHMoYS5jaGlsZE5vZGVzLmxlbmd0aCwgMTUsICJDb3JyZWN0IG51bWJlciBv
ZiBjaGlsZCBub2RlcyIpCit9LCAiU2V0dGluZyBsZW5ndGggdG8gbG9uZ2VyIHZhbHVlIik7CisK
K3Rlc3QoZnVuY3Rpb24oKSB7CisgIGEuaW5uZXJIVE1MID0gYV9vcmlnaW5hbF9pbm5lckhUTUw7
CisgIHZhciBuZXdDaGlsZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKTsKKyAgdmFyIG5l
d09wdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpOworICBuZXdPcHRpb24u
dGV4dENvbnRlbnQgPSAiNiI7CisgIG5ld0NoaWxkLmFwcGVuZENoaWxkKG5ld09wdGlvbik7Cisg
IGEuYXBwZW5kQ2hpbGQobmV3Q2hpbGQpOworICBhLnZhbHVlID0gMzsKKyAgYXNzZXJ0X2VxdWFs
cyhhX29wdHMubGVuZ3RoLCA1LCAiQ29ycmVjdCBsZW5ndGgiKTsKKyAgYXNzZXJ0X3ZhbHVlc19l
cXVhbHMoYV9vcHRzLCBbIjEiLCIyIiwiMyIsIjQiLCI1Il0sICJDb3JyZWN0IGVsZW1lbnRzIGlu
c2VydGVkIikKKyAgYXNzZXJ0X2VxdWFscyhhLnZhbHVlLCAiMyIsICJDb3JyZWN0IHZhbHVlIHNl
dCIpOworfSwgIkluc2VydCA8cD48b3B0aW9uPjY8L29wdGlvbj48L3A+IGludG8gPHNlbGVjdD4i
KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgYS5pbm5lckhUTUwgPSBhX29yaWdpbmFsX2lubmVy
SFRNTDsKKyAgdmFyIG5ld0NoaWxkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2VsZWN0Iik7
CisgIHZhciBuZXdPcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKTsKKyAg
bmV3T3B0aW9uLnRleHRDb250ZW50ID0gIjYiOworICBuZXdDaGlsZC5hcHBlbmRDaGlsZChuZXdP
cHRpb24pOworICBhLmFwcGVuZENoaWxkKG5ld0NoaWxkKTsKKyAgYS52YWx1ZSA9IDM7CisgIGFz
c2VydF9lcXVhbHMoYV9vcHRzLmxlbmd0aCwgNSwgIkNvcnJlY3QgbGVuZ3RoIik7CisgIGFzc2Vy
dF92YWx1ZXNfZXF1YWxzKGFfb3B0cywgWyIxIiwiMiIsIjMiLCI0IiwiNSJdLCAiQ29ycmVjdCBl
bGVtZW50cyBpbnNlcnRlZCIpCisgIGFzc2VydF9lcXVhbHMoYS52YWx1ZSwgIjMiLCAiQ29ycmVj
dCB2YWx1ZSBzZXQiKTsKK30sICJJbnNlcnQgPHNlbGVjdD48b3B0aW9uPjY8L29wdGlvbj48L3Nl
bGVjdD4gaW50byA8c2VsZWN0PiIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAvL1RoaXMgdGVz
dHMgdGhlIHNwZWMgYnV0IGl0IGlzIHByb2JhYmx5IHdyb25nIGhlcmU7IHNlZSBidWcgMTI2NjUK
KyAgYS5pbm5lckhUTUwgPSBhX29yaWdpbmFsX2lubmVySFRNTDsKKyAgdmFyIG5ld0NoaWxkID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0Z3JvdXAiKTsKKyAgdmFyIG5ld09wdGlvbiA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpOworICBuZXdPcHRpb24udGV4dENvbnRlbnQg
PSAiNiI7CisgIG5ld0NoaWxkLmFwcGVuZENoaWxkKG5ld09wdGlvbik7CisgIGEuYXBwZW5kQ2hp
bGQobmV3Q2hpbGQpOworICBhLnZhbHVlID0gMzsKKyAgYXNzZXJ0X2VxdWFscyhhX29wdHMubGVu
Z3RoLCA2LCAiQ29ycmVjdCBsZW5ndGgiKTsKKyAgYXNzZXJ0X3ZhbHVlc19lcXVhbHMoYV9vcHRz
LCBbIjEiLCIyIiwiMyIsIjQiLCI1IiwgIjYiXSwgIkNvcnJlY3QgZWxlbWVudHMgaW5zZXJ0ZWQi
KQorICBhc3NlcnRfZXF1YWxzKGEudmFsdWUsICIzIiwgIkNvcnJlY3QgdmFsdWUgc2V0Iik7Cit9
LCAiSW5zZXJ0IDxvcHRncm91cD48b3B0aW9uPjY8L29wdGlvbj48L29wdGdyb3VwPiBpbnRvIDxz
ZWxlY3Q+Iik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGEuaW5uZXJIVE1MID0gYV9vcmlnaW5h
bF9pbm5lckhUTUw7CisgIHZhciBuZXdDaGlsZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9w
dGdyb3VwIik7CisgIHZhciBuZXdDaGlsZDEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRn
cm91cCIpOworICB2YXIgbmV3T3B0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9u
Iik7CisgIG5ld09wdGlvbi50ZXh0Q29udGVudCA9ICI2IjsKKyAgbmV3Q2hpbGQuYXBwZW5kQ2hp
bGQobmV3Q2hpbGQxKTsKKyAgbmV3Q2hpbGQxLmFwcGVuZENoaWxkKG5ld09wdGlvbik7CisgIGEu
YXBwZW5kQ2hpbGQobmV3Q2hpbGQpOworICBhLnZhbHVlID0gMzsKKyAgYXNzZXJ0X2VxdWFscyhh
X29wdHMubGVuZ3RoLCA1LCAiQ29ycmVjdCBsZW5ndGgiKTsKKyAgYXNzZXJ0X3ZhbHVlc19lcXVh
bHMoYV9vcHRzLCBbIjEiLCIyIiwiMyIsIjQiLCI1Il0sICJDb3JyZWN0IGVsZW1lbnRzIGluc2Vy
dGVkIikKKyAgYXNzZXJ0X2VxdWFscyhhLnZhbHVlLCAiMyIsICJDb3JyZWN0IHZhbHVlIHNldCIp
OworfSwgIkluc2VydCA8b3B0Z3JvdXA+PG9wdGdyb3VwPjxvcHRpb24+Njwvb3B0aW9uPjwvb3B0
Z3JvdXA+PC9vcHRncm91cD4gaW50byA8c2VsZWN0PiIpOworCit0ZXN0KGZ1bmN0aW9uKCkgewor
ICBhc3NlcnRfZXF1YWxzKGJfb3B0cy5uYW1lZEl0ZW0oImIxIikudmFsdWUsICIxIik7Cit9LCAi
bmFtZWRJdGVtIGlkIGF0dHJpYnV0ZSIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRf
ZXF1YWxzKGJfb3B0cy5uYW1lZEl0ZW0oImIyIikudmFsdWUsICIyIik7Cit9LCAibmFtZWRJdGVt
IG5hbWUgYXR0cmlidXRlIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVhbHMo
Yl9vcHRzLm5hbWVkSXRlbSgiYyIpLCBudWxsKTsKK30sICJuYW1lZEl0ZW0gZG9lc24ndCBtYXRj
aCBhbnl0aGluZyIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfZXF1YWxzKGJfb3B0
cy5uYW1lZEl0ZW0oImIzIikudmFsdWUsICIzIik7Cit9LCAibmFtZWRJdGVtIG11bHRpcGxlIElE
cyIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfZXF1YWxzKGJfb3B0cy5uYW1lZEl0
ZW0oImI0IikudmFsdWUsICI1Iik7Cit9LCAibmFtZWRJdGVtIG11bHRpcGxlIG5hbWVzIik7CisK
K3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVhbHMoYl9vcHRzLm5hbWVkSXRlbSgiYjUi
KS52YWx1ZSwgIjciKTsKK30sICJuYW1lZEl0ZW0gbXVsdGlwbGUgbmFtZSBhbmQgSUQiKTsKKwor
dGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X2VxdWFscyhiX29wdHMubmFtZWRJdGVtKCJiNiIp
LnZhbHVlLCAiOSIpOworfSwgIm5hbWVkSXRlbSBtdWx0aXBsZSBuYW1lIGFuZCBJRCB3aXRoIG11
bHRpcGxlIGF0dHJpYnV0ZXMiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X2VxdWFs
cyhiX29wdHMubmFtZWRJdGVtKCJiOCIpLnZhbHVlLCAiMTEiKTsKK30sICJuYW1lZEl0ZW0gaWQg
YXR0cmlidXRlIG11bHRpcGxlIGF0dHJpYnV0ZXMgb25lIGVsZW1lbnQiKTsKKwordGVzdChmdW5j
dGlvbigpIHsKKyAgYXNzZXJ0X2VxdWFscyhiX29wdHMubmFtZWRJdGVtKCJiOSIpLnZhbHVlLCAi
MTEiKTsKK30sICJuYW1lZEl0ZW0gbmFtZSBhdHRyaWJ1dGUgbXVsdGlwbGUgYXR0cmlidXRlcyBv
bmUgZWxlbWVudCIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfdHJ1ZShiX29wdHNb
MF0gaW5zdGFuY2VvZiBIVE1MT3B0aW9uRWxlbWVudCk7CisgIGFzc2VydF9lcXVhbHMoYl9vcHRz
WzBdLmlubmVySFRNTCwgIjEiKTsKK30sICAiSFRNTE9wdGlvbnNDb2xsZWN0aW9uIFtpbmRleF0g
bWV0aG9kIHJldHVybiB0aGUgaXRlbSB3aXRoIGluZGV4Iik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7
CisgIGFzc2VydF90cnVlKGJfb3B0c1siYjIiXSBpbnN0YW5jZW9mIEhUTUxPcHRpb25FbGVtZW50
KTsKKyAgYXNzZXJ0X2VxdWFscyhiX29wdHNbImIyIl0uaW5uZXJIVE1MLCAiMiIpOworfSwgICJI
VE1MT3B0aW9uc0NvbGxlY3Rpb24gW25hbWVdIG1ldGhvZCByZXR1cm4gdGhlIGl0ZW0gd2l0aCBu
YW1lIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF90cnVlKGJfb3B0cy5pdGVtKDAp
IGluc3RhbmNlb2YgSFRNTE9wdGlvbkVsZW1lbnQpOworICBhc3NlcnRfZXF1YWxzKGJfb3B0cy5p
dGVtKDApLmlubmVySFRNTCwgIjEiKTsKK30sICAiSFRNTE9wdGlvbnNDb2xsZWN0aW9uLml0ZW0o
aW5kZXgpIG1ldGhvZCByZXR1cm4gdGhlIGl0ZW0gd2l0aCBpbmRleCIpOworCit0ZXN0KGZ1bmN0
aW9uKCkgeworICBhc3NlcnRfdHJ1ZShiX29wdHMuaXRlbSgiYjIiKSBpbnN0YW5jZW9mIEhUTUxP
cHRpb25FbGVtZW50KTsKKyAgYXNzZXJ0X2VxdWFscyhiX29wdHMuaXRlbSgiYjIiKS5pbm5lckhU
TUwsICIxIik7Cit9LCAgIkhUTUxPcHRpb25zQ29sbGVjdGlvbi5pdGVtKG5hbWUpIG1ldGhvZCBy
ZXR1cm4gdGhlIGl0ZW0gd2l0aCBpbmRleCAwIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZh
ciBiX29wdHNfbGVuZ3RoID0gYl9vcHRzLmxlbmd0aDsKKyAgYl9vcHRzLmFkZChuZXcgT3B0aW9u
KCIyIiwgIjIiKSk7CisgIGFzc2VydF9lcXVhbHMoYl9vcHRzW2Jfb3B0c19sZW5ndGhdLnZhbHVl
LCAiMiIpOworfSwgIkhUTUxPcHRpb25zQ29sbGVjdGlvbi5hZGQgbWV0aG9kIGluc2VydCBIVE1M
T3B0aW9uRWxlbWVudCBPcHRpb24gZWxlbWVudCIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICB2
YXIgYl9vcHRzX2xlbmd0aCA9IGJfb3B0cy5sZW5ndGg7CisgIGJfb3B0cy5yZW1vdmUoMCk7Cisg
IGFzc2VydF9lcXVhbHMoYl9vcHRzLmxlbmd0aCwgYl9vcHRzX2xlbmd0aCAtIDEpOworfSwgIkhU
TUxPcHRpb25zQ29sbGVjdGlvbi5yZW1vdmUgbWV0aG9kIHJlbW92ZSBPcHRpb24gZWxlbWVudCBi
eSBpbmRleCIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICB2YXIgYWRkID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgicCIpOworICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rp
b24oKSB7Yl9vcHRzLmFkZChhZGQpO30pOworfSwgIkFkZCBub24tb3B0aW9uIHRvIGNvbGxlY3Rp
b24iKTsKKworPC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVy
ZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvcmFkaW9ub2RlbGlzdC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
aW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL3JhZGlvbm9k
ZWxpc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmOTkxMjJmODFmY2VlN2M1MDA2YzYzYmI5
ZGJkYzU1MmQ5MTQyMzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRl
cmZhY2VzL2NvbGxlY3Rpb25zL3JhZGlvbm9kZWxpc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NyBAQAorCitQQVNTIFRoZSB2YWx1ZSBhdHRyaWJ1dGUgc2hvdWxkIGJlIGVtcHR5IGlmIG5vIGVs
ZW1lbnQgaXMgY2hlY2tlZCAKK1BBU1MgVGhlIFJhZGlvTm9kZUxpc3QudmFsdWUgbXVzdCBiZSB0
aGUgZmlyc3QgY2hlY2tlZCByYWRpbyBidXR0b24ncyB2YWx1ZSAKK1BBU1MgQ2hlY2sgdGhlIFJh
ZGlvTm9kZUxpc3QudmFsdWUgb24gZ2V0dGluZyAKK1BBU1MgQ2hlY2sgdGhlIFJhZGlvTm9kZUxp
c3QudmFsdWUgb24gc2V0dGluZyAKK1BBU1MgQ2hlY2sgdGhlIFJhZGlvTm9kZUxpc3QudmFsdWUg
b24gc2V0dGluZyB0byAnb24nIAorICAgIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20t
aW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9yYWRpb25vZGVsaXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9u
LWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL3JhZGlvbm9kZWxpc3QuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mYzcwZDcxNzJjMzc3MTExZGQxN2ZlYmNlYWU4OTMxMzkyNWFhYjg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
ZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9yYWRpb25vZGVs
aXN0Lmh0bWwKQEAgLTAsMCArMSw3OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+SFRNTCBUZXN0OiB0aGUgUmFkaW9Ob2RlTGlzdCBpbnRlcmZhY2U8
L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJbnRlbCIgaHJlZj0iaHR0cDovL3d3
dy5pbnRlbC5jb20vIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy9tdWx0aXBhZ2UvbXVsdGlwYWdlL2NvbW1vbi1kb20taW50ZXJmYWNlcy5odG1s
I3JhZGlvbm9kZWxpc3QiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxmb3JtID4KKyAgPGlucHV0IHR5cGU9
ImNoZWNrYm94IiBuYW1lPSJyZG8iIHZhbHVlPSIwIiBpZD0icjAiIGNoZWNrZWQ+CisgIDxpbnB1
dCB0eXBlPSJyYWRpbyIgbmFtZT0icmRvIiBpZD0icjEiPgorICA8aW5wdXQgdHlwZT0icmFkaW8i
IG5hbWU9InJkbyIgaWQ9InIyIiB2YWx1ZT0iMiI+Cis8L2Zvcm0+Cis8c2NyaXB0PgorCit2YXIg
cmRvTGlzdDsKKworc2V0dXAoZnVuY3Rpb24gKCkgeworICByZG9MaXN0ID0gZG9jdW1lbnQuZm9y
bXNbMF0uZWxlbWVudHMubmFtZWRJdGVtKCJyZG8iKTsKK30pOworCisvL29uIGdldHRpbmcKK3Rl
c3QoZnVuY3Rpb24gKCkgeworICBhc3NlcnRfZXF1YWxzKHJkb0xpc3QudmFsdWUsICIiLCAiVGhl
IHZhbHVlIGF0dHJpYnV0ZSBzaG91bGQgYmUgZW1wdHkuIik7Cit9LCAiVGhlIHZhbHVlIGF0dHJp
YnV0ZSBzaG91bGQgYmUgZW1wdHkgaWYgbm8gZWxlbWVudCBpcyBjaGVja2VkIik7CisKK3Rlc3Qo
ZnVuY3Rpb24gKCkgeworICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicjIiKS5jaGVja2VkID0g
dHJ1ZTsKKyAgYXNzZXJ0X2VxdWFscyhyZG9MaXN0LnZhbHVlLCAiMiIsICJUaGUgdmFsdWUgYXR0
cmlidXRlIHNob3VsZCBiZSAyLiIpOworfSwgIlRoZSBSYWRpb05vZGVMaXN0LnZhbHVlIG11c3Qg
YmUgdGhlIGZpcnN0IGNoZWNrZWQgcmFkaW8gYnV0dG9uJ3MgdmFsdWUiKTsKKwordGVzdChmdW5j
dGlvbiAoKSB7CisgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyMSIpLmNoZWNrZWQgPSB0cnVl
OworICBhc3NlcnRfZXF1YWxzKHJkb0xpc3QudmFsdWUsICJvbiIsICJUaGUgdmFsdWUgYXR0cmli
dXRlIHNob3VsZCBiZSBvbi4iKTsKKworICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicjEiKS52
YWx1ZSA9IDE7CisgIGFzc2VydF9lcXVhbHMocmRvTGlzdC52YWx1ZSwgIjEiLCAiVGhlIHZhbHVl
IGF0dHJpYnV0ZSBzaG91bGQgYmUgMS4iKTsKK30sICJDaGVjayB0aGUgUmFkaW9Ob2RlTGlzdC52
YWx1ZSBvbiBnZXR0aW5nIik7CisKKy8vb24gc2V0dGluZwordGVzdChmdW5jdGlvbiAoKSB7Cisg
IGFzc2VydF9lcXVhbHMocmRvTGlzdC52YWx1ZSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInIx
IikudmFsdWUsCisgICAgICAgICAgICAgICAgIlRoZSB2YWx1ZSBhdHRyaWJ1dGUgc2hvdWxkIGJl
IGVxdWFsIHRvIHRoZSBmaXJzdCBjaGVja2VkIHJhZGlvIGlucHV0IGVsZW1lbnQncyB2YWx1ZS4i
KTsKKyAgYXNzZXJ0X2ZhbHNlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyMiIpLmNoZWNrZWQs
CisgICAgICAgICAgICAgICAiVGhlIHNlY29uZCByYWRpbyBpbnB1dCBlbGVtZW50IHNob3VsZCBu
b3QgYmUgY2hlY2tlZC4iKTsKKworICByZG9MaXN0LnZhbHVlID0gIjIiOworICBhc3NlcnRfZXF1
YWxzKHJkb0xpc3QudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyMiIpLnZhbHVlLAor
ICAgICAgICAgICAgICAgICJUaGUgdmFsdWUgYXR0cmlidXRlIHNob3VsZCBiZSBlcXVhbCB0byB0
aGUgc2Vjb25kIHJhZGlvIGlucHV0IGVsZW1lbnQncyB2YWx1ZS4iKTsKKyAgYXNzZXJ0X3RydWUo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInIyIikuY2hlY2tlZCwKKyAgICAgICAgICAgICAgIlRo
ZSBzZWNvbmQgcmFkaW8gaW5wdXQgZWxlbWVudCBzaG91bGQgYmUgY2hlY2tlZC4iKTsKKworICAv
L0RvIG5vdGhpbmcgaWYgbm8gZWxlbWVudCdzIHZhbHVlIGlzIGVxdWFsIHRvIG5ldyB2YWx1ZS4K
KyAgcmRvTGlzdC52YWx1ZSA9ICIzIjsKKyAgYXNzZXJ0X2VxdWFscyhyZG9MaXN0LnZhbHVlLCBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicjIiKS52YWx1ZSwKKyAgICAgICAgICAgICAgICAiVGhl
IHZhbHVlIGF0dHJpYnV0ZSBzaG91bGQgYmUgdGhlIHNlY29uZCByYWRpbyBpbnB1dCBlbGVtZW50
J3MgdmFsdWUuIik7CisgIGFzc2VydF90cnVlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyMiIp
LmNoZWNrZWQsCisgICAgICAgICAgICAgICJUaGUgc2Vjb25kIHJhZGlvIGlucHV0IGVsZW1lbnQg
c2hvdWxkIGJlIGNoZWNrZWQuIik7Cit9LCAiQ2hlY2sgdGhlIFJhZGlvTm9kZUxpc3QudmFsdWUg
b24gc2V0dGluZyIpOworCisvL3NldHRpbmcgdG8gb24sIHNwZWNpZmljIGNhc2UKK3Rlc3QoZnVu
Y3Rpb24gKCkgeworICByZG9MaXN0LnZhbHVlID0gIm9uIjsKKyAgYXNzZXJ0X2VxdWFscyhyZG9M
aXN0LnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicjIiKS52YWx1ZSwKKyAgICAgICAg
ICAgICAgICAiVGhlIHZhbHVlIGF0dHJpYnV0ZSBzaG91bGQgYmUgdGhlIHNlY29uZCByYWRpbyBp
bnB1dCBlbGVtZW50J3MgdmFsdWUuIik7CisgIGFzc2VydF90cnVlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJyMiIpLmNoZWNrZWQsCisgICAgICAgICAgICAgICJUaGUgc2Vjb25kIHJhZGlvIGlu
cHV0IGVsZW1lbnQgc2hvdWxkIGJlIGNoZWNrZWQuIik7CisKKyAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInIxIikucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpOworICByZG9MaXN0LnZhbHVlID0g
Im9uIjsKKyAgYXNzZXJ0X2VxdWFscyhyZG9MaXN0LnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicjEiKS52YWx1ZSwKKyAgICAgICAgICAgICAgICAiVGhlIHZhbHVlIGF0dHJpYnV0ZSBz
aG91bGQgYmUgdGhlIGZpcnN0IHJhZGlvIGlucHV0IGVsZW1lbnQncyB2YWx1ZS4iKTsKKyAgYXNz
ZXJ0X3RydWUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInIxIikuY2hlY2tlZCwKKyAgICAgICAg
ICAgICAgIlRoZSBmaXJzdCByYWRpbyBpbnB1dCBlbGVtZW50IHNob3VsZCBiZSBjaGVja2VkLiIp
OworfSwgIkNoZWNrIHRoZSBSYWRpb05vZGVMaXN0LnZhbHVlIG9uIHNldHRpbmcgdG8gJ29uJyIp
OworCisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNl
cy9jb2xsZWN0aW9ucy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFj
ZXMvY29sbGVjdGlvbnMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmE0ZmYwZDI5YmVhYmU3
YjgzOTdkMzk1MmY5YTk1MzdkNGYyNWEyYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21t
b24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwy
MiBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUg
VzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdl
YktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBX
UFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorCWh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9T
Y3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBt
b2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVz
IHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxl
czoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5m
cmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2NvbnRhaW5zLmpz
b24KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5m
cmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0bWxhbGxjb2xs
ZWN0aW9uLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0
bWxmb3JtY29udHJvbHNjb2xsZWN0aW9uLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZh
Y2VzL2NvbGxlY3Rpb25zL2h0bWxvcHRpb25zY29sbGVjdGlvbi5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1v
bi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9yYWRpb25vZGVsaXN0Lmh0bWwKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZy
YXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhlcy9kYXRlcy1hbmQtdGltZXMvY29udGFpbnMu
anNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9p
bmZyYXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhlcy9kYXRlcy1hbmQtdGltZXMvY29udGFp
bnMuanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41YmUzMWViNDhmMTlhMjQ5Mzg2YTg1ZjBkMjYwZDBlZTdmNTVj
NjkyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRheGVzL2RhdGVz
LWFuZC10aW1lcy9jb250YWlucy5qc29uCkBAIC0wLDAgKzEsNDIgQEAKK1sKKyAgICB7CisgICAg
ICAgICJpZCI6ICJtb250aHMiLAorICAgICAgICAib3JpZ2luYWxfaWQiOiAibW9udGhzIgorICAg
IH0sCisgICAgeworICAgICAgICAiaWQiOiAiZGF0ZXMiLAorICAgICAgICAib3JpZ2luYWxfaWQi
OiAiZGF0ZXMiCisgICAgfSwKKyAgICB7CisgICAgICAgICJpZCI6ICJ5ZWFybGVzcy1kYXRlcyIs
CisgICAgICAgICJvcmlnaW5hbF9pZCI6ICJ5ZWFybGVzcy1kYXRlcyIKKyAgICB9LAorICAgIHsK
KyAgICAgICAgImlkIjogInRpbWVzIiwKKyAgICAgICAgIm9yaWdpbmFsX2lkIjogInRpbWVzIgor
ICAgIH0sCisgICAgeworICAgICAgICAiaWQiOiAibG9jYWwtZGF0ZXMtYW5kLXRpbWVzIiwKKyAg
ICAgICAgIm9yaWdpbmFsX2lkIjogImxvY2FsLWRhdGVzLWFuZC10aW1lcyIKKyAgICB9LAorICAg
IHsKKyAgICAgICAgImlkIjogInRpbWUtem9uZXMiLAorICAgICAgICAib3JpZ2luYWxfaWQiOiAi
dGltZS16b25lcyIKKyAgICB9LAorICAgIHsKKyAgICAgICAgImlkIjogImdsb2JhbC1kYXRlcy1h
bmQtdGltZXMiLAorICAgICAgICAib3JpZ2luYWxfaWQiOiAiZ2xvYmFsLWRhdGVzLWFuZC10aW1l
cyIKKyAgICB9LAorICAgIHsKKyAgICAgICAgImlkIjogIndlZWtzIiwKKyAgICAgICAgIm9yaWdp
bmFsX2lkIjogIndlZWtzIgorICAgIH0sCisgICAgeworICAgICAgICAiaWQiOiAiZHVyYXRpb25z
IiwKKyAgICAgICAgIm9yaWdpbmFsX2lkIjogImR1cmF0aW9ucyIKKyAgICB9LAorICAgIHsKKyAg
ICAgICAgImlkIjogInZhZ3Vlci1tb21lbnRzLWluLXRpbWUiLAorICAgICAgICAib3JpZ2luYWxf
aWQiOiAidmFndWVyLW1vbWVudHMtaW4tdGltZSIKKyAgICB9CitdClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRheGVzL2RhdGVz
LWFuZC10aW1lcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhlcy9k
YXRlcy1hbmQtdGltZXMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQ5YmVjMTE1ZTlmM2Yz
MjUxZjJkYWU5NDBiMzUyMjY1MzQ0ODA0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21t
b24tbWljcm9zeW50YXhlcy9kYXRlcy1hbmQtdGltZXMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCAr
MSwxOCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBv
ciBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5P
VCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0
aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBm
aWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
aW5mcmFzdHJ1Y3R1cmUvY29tbW9uLW1pY3Jvc3ludGF4ZXMvZGF0ZXMtYW5kLXRpbWVzL2NvbnRh
aW5zLmpzb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhlcy9udW1iZXJz
L2NvbnRhaW5zLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLW1pY3Jvc3ludGF4ZXMvbnVtYmVycy9jb250
YWlucy5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5YTZlYTAwNTg4M2YwZjY1NDU2M2FkN2I3YmJhYjFiZDA3
YjU0OWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLW1pY3Jvc3ludGF4ZXMvbnVt
YmVycy9jb250YWlucy5qc29uCkBAIC0wLDAgKzEsMjYgQEAKK1sKKyAgICB7CisgICAgICAgICJp
ZCI6ICJzaWduZWQtaW50ZWdlcnMiLAorICAgICAgICAib3JpZ2luYWxfaWQiOiAic2lnbmVkLWlu
dGVnZXJzIgorICAgIH0sCisgICAgeworICAgICAgICAiaWQiOiAibm9uLW5lZ2F0aXZlLWludGVn
ZXJzIiwKKyAgICAgICAgIm9yaWdpbmFsX2lkIjogIm5vbi1uZWdhdGl2ZS1pbnRlZ2VycyIKKyAg
ICB9LAorICAgIHsKKyAgICAgICAgImlkIjogImZsb2F0aW5nLXBvaW50LW51bWJlcnMiLAorICAg
ICAgICAib3JpZ2luYWxfaWQiOiAiZmxvYXRpbmctcG9pbnQtbnVtYmVycyIKKyAgICB9LAorICAg
IHsKKyAgICAgICAgImlkIjogInBlcmNlbnRhZ2VzLWFuZC1kaW1lbnNpb25zIiwKKyAgICAgICAg
Im9yaWdpbmFsX2lkIjogInBlcmNlbnRhZ2VzLWFuZC1kaW1lbnNpb25zIgorICAgIH0sCisgICAg
eworICAgICAgICAiaWQiOiAibGlzdHMtb2YtaW50ZWdlcnMiLAorICAgICAgICAib3JpZ2luYWxf
aWQiOiAibGlzdHMtb2YtaW50ZWdlcnMiCisgICAgfSwKKyAgICB7CisgICAgICAgICJpZCI6ICJs
aXN0cy1vZi1kaW1lbnNpb25zIiwKKyAgICAgICAgIm9yaWdpbmFsX2lkIjogImxpc3RzLW9mLWRp
bWVuc2lvbnMiCisgICAgfQorXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZy
YXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhlcy9udW1iZXJzL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3Ry
dWN0dXJlL2NvbW1vbi1taWNyb3N5bnRheGVzL251bWJlcnMvdzNjLWltcG9ydC5sb2cKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjdlNzVkOWQxYTc0YmY1OTYzYjY3ODQ2MjYyMTIzN2JmYjFhMjIzYwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9pbmZyYXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhlcy9udW1iZXJzL3czYy1pbXBvcnQu
bG9nCkBAIC0wLDAgKzEsMTggQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dn
LXRlc3QKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVy
dHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRheGVzL251bWJlcnMv
Y29udGFpbnMuanNvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50
cy9leHRlbnNpYmlsaXR5L2ZvcmVpZ24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbmZvcm1hbmNl
LXJlcXVpcmVtZW50cy9leHRlbnNpYmlsaXR5L2ZvcmVpZ24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjFkYWU3MjAyMzkwZjNlZTBkYzBkMjY2MGQyMmVkYTAxZThiOWJiYjAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
aW5mcmFzdHJ1Y3R1cmUvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzL2V4dGVuc2liaWxpdHkvZm9y
ZWlnbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitVc2VyIGFnZW50cyBtdXN0IHRyZWF0
IGVsZW1lbnRzIGFuZCBhdHRyaWJ1dGVzIHRoYXQgdGhleSBkbyBub3QgdW5kZXJzdGFuZCBhcyBz
ZW1hbnRpY2FsbHkgbmV1dHJhbDsgbGVhdmluZyB0aGVtIGluIHRoZSBET00gKGZvciBET00gcHJv
Y2Vzc29ycyksIGFuZCBzdHlsaW5nIHRoZW0gYWNjb3JkaW5nIHRvIENTUyAoZm9yIENTUyBwcm9j
ZXNzb3JzKSwgYnV0IG5vdCBpbmZlcnJpbmcgYW55IG1lYW5pbmcgZnJvbSB0aGVtLgorCitGb29i
YXIKK1J1bm5pbmcgdGVzdC4uLgorCitQQVNTIGZvcmVpZ24gY29udGVudCAKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJh
c3RydWN0dXJlL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy9leHRlbnNpYmlsaXR5L2ZvcmVpZ24u
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9p
bmZyYXN0cnVjdHVyZS9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvZXh0ZW5zaWJpbGl0eS9mb3Jl
aWduLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZWFhMTMzYmFkZWUxNmQxZGFkZTZkZTAyZTRjZjY0NjUxNTI4
OWViNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMv
ZXh0ZW5zaWJpbGl0eS9mb3JlaWduLmh0bWwKQEAgLTAsMCArMSw0NSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbCBsYW5nPSJlbiIgZm9vPSdiYXInPgorICA8aGVhZCBmb289J2Jhcic+CisgICAg
PG1ldGEgY2hhcnNldD0idXRmLTgiIGZvbz0nYmFyJz4KKyAgICA8dGl0bGUgaWQ9J3RpdGxlJyBm
b289J2Jhcic+Rm9yZWlnbiBjb250ZW50PC90aXRsZT4KKyAgICA8bGluayByZWw9ImF1dGhvciIg
dGl0bGU9IlBoaWxpcHBlIExlIEhlZ2FyZXQiIGhyZWY9Im1haWx0bzpwbGhAdzMub3JnIiAgZm9v
PSdiYXInPgorICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hh
dHdnLm9yZy9tdWx0aXBhZ2UvI2V4dGVuc2liaWxpdHkiICBmb289J2Jhcic+CisgICAgPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiICBmb289J2Jhcic+PC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiIGZvbz0nYmFy
Jz48L3NjcmlwdD4KKyAgPC9oZWFkPgorCisgIDxib2R5IGZvbz0nYmFyJz4KKworICAgIDxwIGNs
YXNzPSdhc3NlcnQnIGZvbz0nYmFyJz5Vc2VyIGFnZW50cyBtdXN0IHRyZWF0IGVsZW1lbnRzIGFu
ZCBhdHRyaWJ1dGVzIHRoYXQgdGhleSBkbyBub3QgdW5kZXJzdGFuZCBhcyBzZW1hbnRpY2FsbHkg
bmV1dHJhbDsgbGVhdmluZyB0aGVtIGluIHRoZSBET00gKGZvciBET00gcHJvY2Vzc29ycyksIGFu
ZCBzdHlsaW5nIHRoZW0gYWNjb3JkaW5nIHRvIENTUyAoZm9yIENTUyBwcm9jZXNzb3JzKSwgYnV0
IG5vdCBpbmZlcnJpbmcgYW55IG1lYW5pbmcgZnJvbSB0aGVtLjwvcD4KKworICAgIDxmb28gZm9v
PSdiYXInIGVjaG8+Rm9vYmFyPC9mb28+CisKKyAgICA8ZGl2IGlkPSJsb2ciPlJ1bm5pbmcgdGVz
dC4uLjwvZGl2PgorCisgICAgPHNjcmlwdD4KKyAgICAgIHZhciB0ID0gYXN5bmNfdGVzdCgiZm9y
ZWlnbiBjb250ZW50Iik7CisKKyAgICAgIG9uX2V2ZW50KHdpbmRvdywgImxvYWQiLAorICAgICAg
ICAgICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgIHZhciBu
b2RlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIik7CisgICAgICAgICAgICAg
ICAgIHZhciBjb250ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgdmFyIGxhc3QgPSBudWxsOwor
ICAgICAgICAgICAgICAgICBmb3IodmFyIGk9MDtpPG5vZGVzLmxlbmd0aCAmJiBjb250OyBpKysp
IHsKKyAgICAgICAgICAgICAgICAgICB2YXIgYXMgPSBub2Rlcy5pdGVtKGkpLmdldEF0dHJpYnV0
ZSgiZm9vIik7CisgICAgICAgICAgICAgICAgICAgaWYgKCEoYXMgPT09ICJiYXIiKSAmJiAobm9k
ZXMuaXRlbShpKS5nZXRBdHRyaWJ1dGUoImlkIikgPT09ICJsb2ciKSkgeworICAgICAgICAgICAg
ICAgICAgICAgY29udCA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgICAgICBsYXN0ID0gbm9kZXMuaXRlbShpKTsKKyAgICAgICAgICAgICAgICAg
ICAgIGFzc2VydF9lcXVhbHMoYXMsICJiYXIiKTsKKyAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGxhc3Qubm9k
ZU5hbWUsICJGT08iKTsKKyAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhsYXN0LmdldEF0
dHJpYnV0ZSgiZWNobyIpLCAiIik7CisgICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobGFz
dC5nZXRBdHRyaWJ1dGUoImNoYXJseSIpLCBudWxsKTsKKyAgICAgICAgICAgICAgICAgdC5kb25l
KCk7CisgICAgICAgICAgICAgICB9KSk7CisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvZXh0ZW5zaWJp
bGl0eS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvZXh0
ZW5zaWJpbGl0eS93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Y2RiOTBmZjY0ZWI4M2RhYzcx
MjRiYmY2YjBmYjkwOThjZTk5MTNjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbmZvcm1h
bmNlLXJlcXVpcmVtZW50cy9leHRlbnNpYmlsaXR5L3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEs
MTggQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhl
IFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBX
ZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3Ig
V1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKKwlodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMv
U2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1Qg
bW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGll
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmls
ZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
ZnJhc3RydWN0dXJlL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy9leHRlbnNpYmlsaXR5L2ZvcmVp
Z24uaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL3Rlcm1pbm9sb2d5L3BsdWdpbnMvc2FtcGxlLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZy
YXN0cnVjdHVyZS90ZXJtaW5vbG9neS9wbHVnaW5zL3NhbXBsZS50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Vk
ZWNkNmQ4ODRkMTgxYTc0MGY1YmUxMTBkODY5Njc5Zjc2ODE4OQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0
cnVjdHVyZS90ZXJtaW5vbG9neS9wbHVnaW5zL3NhbXBsZS50eHQKQEAgLTAsMCArMSwzIEBACitU
aGlzIGlzIGEgc2FtcGxlIHRleHQvcGxhaW4gZG9jdW1lbnQuCisKK1RoaXMgaXMgbm90IGFuIEhU
TUwgZG9jdW1lbnQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvdGVybWlub2xvZ3kvcGx1Z2lucy90ZXh0
LXBsYWluLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS90ZXJtaW5vbG9neS9wbHVnaW5zL3RleHQtcGxh
aW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlMzllYmIxZmEyNTJlNDlkMzJhYjM5N2U3M2Ni
N2RkYjBmMzI1YWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvdGVybWlub2xvZ3kvcGx1Z2lu
cy90ZXh0LXBsYWluLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1Rlc3Qgb2YgcGx1Z2lu
IHN1cHBvcnQKKworQSB1c2VyIGFnZW50IG11c3Qgbm90IGNvbnNpZGVyIHRoZSB0eXBlcyB0ZXh0
L3BsYWluIGFuZCBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0gYXMgaGF2aW5nIGEgcmVnaXN0ZXJl
ZCBwbHVnaW4uCisKKworUnVubmluZyB0ZXN0Li4uCisKK1BBU1MgQSB1c2VyIGFnZW50IG11c3Qg
bm90IGNvbnNpZGVyIHRoZSB0eXBlIHRleHQvcGxhaW4gYXMgaGF2aW5nIGEgcmVnaXN0ZXJlZCBw
bHVnaW4uIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvdGVybWlub2xvZ3kvcGx1Z2lucy90ZXh0LXBs
YWluLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvaW5mcmFzdHJ1Y3R1cmUvdGVybWlub2xvZ3kvcGx1Z2lucy90ZXh0LXBsYWluLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMGVkMGNlMjNiOGFlMTNmYmQ3MWJjM2VkNmViNzA3MzIzNjJlZGUyOQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbmZyYXN0cnVjdHVyZS90ZXJtaW5vbG9neS9wbHVnaW5zL3RleHQtcGxhaW4uaHRtbApA
QCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKyAgPGhl
YWQ+CisgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAgIDx0aXRsZSBpZD0ndGl0bGUnPk1l
ZGlhIFR5cGVzPC90aXRsZT4KKyAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IlBoaWxpcHBl
IExlIEhlZ2FyZXQiIGhyZWY9Im1haWx0bzpwbGhAdzMub3JnIi8+CisgICAgPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jcGx1Z2lu
cyIvPgorICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKyAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+CisgIDwvaGVhZD4KKworICA8Ym9keT4KKyAgICA8c2NyaXB0PgorICAgICAgdmFyIHQg
PSBhc3luY190ZXN0KCJBIHVzZXIgYWdlbnQgbXVzdCBub3QgY29uc2lkZXIgdGhlIHR5cGUgdGV4
dC9wbGFpbiBhcyBoYXZpbmcgYSByZWdpc3RlcmVkIHBsdWdpbi4iKTsKKworICAgICAgd2luZG93
Lm9ubG9hZCA9CisgICAgICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKS5jb250ZW50
RG9jdW1lbnQuYm9keS5maXJzdENoaWxkLm5vZGVOYW1lLCAiUFJFIik7CisgICAgICAgIHQuZG9u
ZSgpOworICAgICAgfSk7CisgICAgPC9zY3JpcHQ+CisKKyAgICA8aDE+VGVzdCBvZiBwbHVnaW4g
c3VwcG9ydDwvaDE+CisgICAgPHAgY2xhc3M9J2Fzc2VydCc+QSB1c2VyIGFnZW50IG11c3Qgbm90
IGNvbnNpZGVyIHRoZSB0eXBlcyB0ZXh0L3BsYWluIGFuZCBhcHBsaWNhdGlvbi9vY3RldC1zdHJl
YW0gYXMgaGF2aW5nIGEgcmVnaXN0ZXJlZCBwbHVnaW4uPC9wPgorCisgICAgPGlmcmFtZSBpZD0i
ZnJhbWVDb250ZXh0IiBzcmM9InNhbXBsZS50eHQiPjwvaWZyYW1lPgorCisKKyAgICA8ZGl2IGlk
PSJsb2ciPlJ1bm5pbmcgdGVzdC4uLjwvZGl2PgorCisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9p
bmZyYXN0cnVjdHVyZS90ZXJtaW5vbG9neS9wbHVnaW5zL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJl
L3Rlcm1pbm9sb2d5L3BsdWdpbnMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWU4NzI3MGE4
NDhmODI0ZmEyMzY3NGI1Yjc2ZmViZTRhYmZkMzI1MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVy
ZS90ZXJtaW5vbG9neS9wbHVnaW5zL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTkgQEAKK1Ro
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJ
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1
YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKKwlodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9p
bXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9y
IHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0
dXJlL3Rlcm1pbm9sb2d5L3BsdWdpbnMvc2FtcGxlLnR4dAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS90ZXJtaW5vbG9neS9w
bHVnaW5zL3RleHQtcGxhaW4uaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291316</attachid>
            <date>2016-10-11 16:35:37 -0700</date>
            <delta_ts>2016-10-11 16:39:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163296-20161011163214.patch</filename>
            <type>text/plain</type>
            <size>46351</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3MTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzMyZjE1MzNiOWZlMmRk
MzRmMzMzMTYzZWFmMzY0NTQ0OGY0YTFjOS4uOTNmYWRjOGI5OThhYTRmYmU3N2ExYjMyNWZiOThj
OWQ2ZjdhMWJhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE2LTEwLTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgc2VsZWN0Lm9wdGlvbnMgbWF5
IHJldHVybiB0b28gbWFueSBvcHRpb24gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzI5NgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5
b3N1a2UgTml3YS4KKworICAgICAgICBzZWxlY3Qub3B0aW9ucyBtYXkgcmV0dXJuIHRvbyBtYW55
IG9wdGlvbiBlbGVtZW50cy4gV2UncmUgb25seSBzdXBwb3NlZAorICAgICAgICB0byByZXR1cm4g
dGhlIG9wdGlvbiBlbGVtZW50IGNoaWxkcmVuIG9mIHRoZSBzZWxlY3QgZWxlbWVudCwgYW5kIHRo
ZQorICAgICAgICBvcHRpb24gZWxlbWVudCBjaGlsZHJlbiBvZiBhbGwgdGhlIG9wdGdyb3VwIGVs
ZW1lbnQgY2hpbGRyZW4gb2YgdGhlCisgICAgICAgIHNlbGVjdCBlbGVtZW50LCBpbiB0cmVlIG9y
ZGVyOgorICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI2RvbS1zZWxlY3Qt
b3B0aW9ucworICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQt
c2VsZWN0LW9wdGlvbi1saXN0CisKKyAgICAgICAgRmlyZWZveCBhbmQgQ2hyb21lIGFncmVlcyB3
aXRoIHRoZSBzcGVjaWZpY2F0aW9uLiBIb3dldmVyLCBXZWJLaXQgd2FzCisgICAgICAgIHJldHVy
bmluZyBhbGwgdGhlIG9wdGlvbiBlbGVtZW50cyB0aGF0IGFyZSBkZXNjZW5kYW50cyBvZiB0aGUg
c2VsZWN0CisgICAgICAgIGVsZW1lbnQuCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNl
cy9jb2xsZWN0aW9ucy9odG1sb3B0aW9uc2NvbGxlY3Rpb24uaHRtbAorCisgICAgICAgICogaHRt
bC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaDoKKwogMjAxNi0xMC0xMCAgQnJlbnQgRnVsZ2hhbSAg
PGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXVtEaXJlY3QyRF0gQWRkIGluaXRp
YWwgUGF0dGVybiBoYW5kbGluZyBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE9wdGlvbnNDb2xsZWN0aW9uLmgKaW5kZXggOWNkYTI4ZTBjZTdjZDRlM2I1YmQwZjM1YjVh
YWQ5MDNjODYyMDc4My4uYWIwMTcyZGRkYzQ2NmIzZTIwNWYyZTc4Mzc5ZTZlNWUyZDAyYzcyNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oCkBAIC03MCw3
ICs3MCwxNCBAQCBpbmxpbmUgSFRNTE9wdGlvbkVsZW1lbnQqIEhUTUxPcHRpb25zQ29sbGVjdGlv
bjo6bmFtZWRJdGVtKGNvbnN0IEF0b21pY1N0cmluZyYgbgogCiBpbmxpbmUgYm9vbCBIVE1MT3B0
aW9uc0NvbGxlY3Rpb246OmVsZW1lbnRNYXRjaGVzKEVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIGVsZW1lbnQuaGFzVGFnTmFtZShIVE1MTmFtZXM6Om9wdGlvblRhZyk7Cisg
ICAgaWYgKCFlbGVtZW50Lmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpvcHRpb25UYWcpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoZWxlbWVudC5wYXJlbnROb2RlKCkgPT0gJnNlbGVj
dEVsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBBU1NFUlQoZWxlbWVudC5w
YXJlbnROb2RlKCkpOworICAgIHJldHVybiBlbGVtZW50LnBhcmVudE5vZGUoKS0+aGFzVGFnTmFt
ZShvcHRncm91cFRhZzo6b3B0Z3JvdXBUYWcpICYmIGVsZW1lbnQucGFyZW50Tm9kZSgpLT5wYXJl
bnROb2RlKCkgPT0gJnNlbGVjdEVsZW1lbnQoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOGI1YTk1M2I0ZDQ4NjJhMDc0N2M5
YTE1MmY2YmI1MDE5OWY4Zjg1ZC4uNzcxMmM3N2ZhNjZmMGNkYzE4NTBmYWI2YThlNTYxNDZmODBl
YTlmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIw
MTYtMTAtMTEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBzZWxl
Y3Qub3B0aW9ucyBtYXkgcmV0dXJuIHRvbyBtYW55IG9wdGlvbiBlbGVtZW50cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzMjk2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIEltcG9ydCBodG1sL2luZnJhc3Ry
dWN0dXJlIHdlYi1wbGF0Zm9ybS10ZXN0cyBmcm9tIHVwc3RyZWFtLgorCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2Vz
L2NvbGxlY3Rpb25zL2NvbnRhaW5zLmpzb246IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0
aW9ucy9odG1sYWxsY29sbGVjdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNl
cy9jb2xsZWN0aW9ucy9odG1sYWxsY29sbGVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFj
ZXMvY29sbGVjdGlvbnMvaHRtbGZvcm1jb250cm9sc2NvbGxlY3Rpb24tZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9j
b21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbGZvcm1jb250cm9sc2NvbGxlY3Rp
b24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFz
dHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0bWxvcHRpb25zY29s
bGVjdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9o
dG1sb3B0aW9uc2NvbGxlY3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rp
b25zL3JhZGlvbm9kZWxpc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29s
bGVjdGlvbnMvcmFkaW9ub2RlbGlzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVj
dGlvbnMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRheGVzL2RhdGVzLWFuZC10aW1l
cy9jb250YWlucy5qc29uOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9pbmZyYXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhlcy9kYXRlcy1hbmQtdGltZXMvdzNj
LWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
ZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRheGVzL251bWJlcnMvY29udGFpbnMuanNvbjog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUv
Y29tbW9uLW1pY3Jvc3ludGF4ZXMvbnVtYmVycy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29uZm9ybWFuY2Ut
cmVxdWlyZW1lbnRzL2V4dGVuc2liaWxpdHkvZm9yZWlnbi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbmZvcm1h
bmNlLXJlcXVpcmVtZW50cy9leHRlbnNpYmlsaXR5L2ZvcmVpZ24uaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29uZm9ybWFuY2Ut
cmVxdWlyZW1lbnRzL2V4dGVuc2liaWxpdHkvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL3Rlcm1pbm9sb2d5L3Bs
dWdpbnMvc2FtcGxlLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvaW5mcmFzdHJ1Y3R1cmUvdGVybWlub2xvZ3kvcGx1Z2lucy90ZXh0LXBsYWluLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1
Y3R1cmUvdGVybWlub2xvZ3kvcGx1Z2lucy90ZXh0LXBsYWluLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL3Rlcm1pbm9sb2d5L3Bs
dWdpbnMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorCiAyMDE2LTEwLTExICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbRmV0Y2ggQVBJXSBTdXBwb3J0IFJlcXVl
c3QgY2FjaGUgbW9kZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9j
b2xsZWN0aW9ucy9jb250YWlucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9j
b2xsZWN0aW9ucy9jb250YWlucy5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIzMGYxZDBkNTMzMzM1YzExY2Q4
M2NlNzkzMWM0MGQ3OGMyYzAwNTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRv
bS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2NvbnRhaW5zLmpzb24KQEAgLTAsMCArMSwxNCBAQAor
WworICAgIHsKKyAgICAgICAgImlkIjogImh0bWxhbGxjb2xsZWN0aW9uIiwKKyAgICAgICAgIm9y
aWdpbmFsX2lkIjogImh0bWxhbGxjb2xsZWN0aW9uIgorICAgIH0sCisgICAgeworICAgICAgICAi
aWQiOiAiaHRtbGZvcm1jb250cm9sc2NvbGxlY3Rpb24iLAorICAgICAgICAib3JpZ2luYWxfaWQi
OiAiaHRtbGZvcm1jb250cm9sc2NvbGxlY3Rpb24iCisgICAgfSwKKyAgICB7CisgICAgICAgICJp
ZCI6ICJodG1sb3B0aW9uc2NvbGxlY3Rpb24iLAorICAgICAgICAib3JpZ2luYWxfaWQiOiAiaHRt
bG9wdGlvbnNjb2xsZWN0aW9uIgorICAgIH0KK10KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0
bWxhbGxjb2xsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFj
ZXMvY29sbGVjdGlvbnMvaHRtbGFsbGNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjE0Y2JiYTg2ZDQ1MWRmMTUzZGMwMGRkYzk5YjQyYmFlZDJhY2Q4NjMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5m
cmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0bWxhbGxjb2xs
ZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACisKKworUEFTUyBUZXN0IGZvciBI
VE1MQWxsQ29sbGVjdGlvbiBzaXplIAorUEFTUyBUZXN0IGxvb2t1cCBieSBpbmRleCB1c2luZyAo
KSAKK1BBU1MgVGVzdCBsb29rdXAgYnkgaW5kZXggdXNpbmcgW10gCitQQVNTIFRlc3QgbG9va3Vw
IElNRyBieSBuYW1lIAorUEFTUyBUZXN0IGxvb2t1cCBJTUcgYnkgbmFtZWRJdGVtICAKK1BBU1Mg
VGVzdCBsb29rdXAgSU1HIGluIGNvbGxlY3Rpb24gdXNpbmcgKCkgCitQQVNTIFRlc3QgbG9va3Vw
IElNRyBpbiBjb2xsZWN0aW9uIHVzaW5nIFtdIAorUEFTUyBUZXN0IGxvb2t1cCBJTUcgaW4gY29s
bGVjdGlvbiB1c2luZyAuIAorRkFJTCBUZXN0IGxvb2t1cCB0YWdzIGluIGNvbGxlY3Rpb24gdXNp
bmcgLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAidGFncyIgYnV0IGdvdCAodW5k
ZWZpbmVkKSB1bmRlZmluZWQKK1BBU1MgU2hvdWxkIGZpbmQgcm9vdCBlbGVtZW50IHRvbyAKK0ZB
SUwgU2hvdWxkIGZpbmQgYm90aCBhbmNob3JzIGFuZCBwcm9kdWNlIGEgbGlzdCB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnZG9jdW1lbnQuYWxsWyJmb28iXS5sZW5ndGgn
KQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25z
L2h0bWxhbGxjb2xsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2Nv
bGxlY3Rpb25zL2h0bWxhbGxjb2xsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWNlOGVjMzUwZDFm
YjkxYTNlNTRlNjcyM2RmZmI2YjdkM2E1Mjc1NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9j
b21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbGFsbGNvbGxlY3Rpb24uaHRtbApA
QCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sIGlkPSJyb290Ij4KKzxoZWFk
PgorPHRpdGxlPkhUTUxBbGxDb2xsZWN0aW9uIFRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0
aG9yIiB0aXRsZT0iRGFuIERydXRhIiBocmVmPSJtYWlsdG86ZGFuLmRydXRhQGF0dC5jb20iLz4K
KzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iMi43LjIuMSAtIENvbW1vbiBJbmZyYXN0cnVjdHVyZS9D
b21tb24gRE9NIEludGVyZmFjZXMvQ29sbGVjdGlvbnMvSFRNTEFsbENvbGxlY3Rpb24iLz4KKzxt
ZXRhIG5hbWU9ImZsYWdzIiBjb250ZW50PSJUT0tFTlMiIC8+Cis8bWV0YSBuYW1lPSJhc3NlcnQi
IGNvbnRlbnQ9IlRFU1QgQVNTRVJUSU9OIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0idGFncyI+Cis8aW1nIHNy
Yz0iLi4vLi4vLi4vLi4vaW1hZ2VzL2dyZWVuLnBuZyIgbmFtZT0icGljdHVyZSI+Cis8YSBuYW1l
PSJmb28iPjwvYT4KKzxhIG5hbWU9ImZvbyI+PC9hPgorPHNjcmlwdD4KK3Rlc3QoZnVuY3Rpb24o
KXsgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5hbGwubGVuZ3RoLDE0KX0sICJUZXN0IGZvciBIVE1M
QWxsQ29sbGVjdGlvbiBzaXplIik7CisKK3Rlc3QoZnVuY3Rpb24oKXsgYXNzZXJ0X2VxdWFscyhk
b2N1bWVudC5hbGwuaXRlbSgwKS50YWdOYW1lLCJIVE1MIil9LCAiVGVzdCBsb29rdXAgYnkgaW5k
ZXggdXNpbmcgKCkiKTsKKwordGVzdChmdW5jdGlvbigpeyBhc3NlcnRfZXF1YWxzKGRvY3VtZW50
LmFsbFswXS50YWdOYW1lLCJIVE1MIil9LCAiVGVzdCBsb29rdXAgYnkgaW5kZXggdXNpbmcgW10i
KTsKKwordGVzdChmdW5jdGlvbigpeyBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmFsbC5pdGVtKCJw
aWN0dXJlIikubm9kZU5hbWUsIklNRyIpfSwgIlRlc3QgbG9va3VwIElNRyBieSBuYW1lIik7CisK
K3Rlc3QoZnVuY3Rpb24oKXsgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5hbGwubmFtZWRJdGVtKCJw
aWN0dXJlIikubm9kZU5hbWUsIklNRyIpfSwgIlRlc3QgbG9va3VwIElNRyBieSBuYW1lZEl0ZW0g
Iik7CisKK3Rlc3QoZnVuY3Rpb24oKXsgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5hbGwoInBpY3R1
cmUiKS5ub2RlTmFtZSwiSU1HIil9LCAiVGVzdCBsb29rdXAgSU1HIGluIGNvbGxlY3Rpb24gdXNp
bmcgKCkiKTsKKwordGVzdChmdW5jdGlvbigpeyBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmFsbFsi
cGljdHVyZSJdLm5vZGVOYW1lLCJJTUciKX0sICJUZXN0IGxvb2t1cCBJTUcgaW4gY29sbGVjdGlv
biB1c2luZyBbXSIpOworCit0ZXN0KGZ1bmN0aW9uKCl7IGFzc2VydF9lcXVhbHMoZG9jdW1lbnQu
YWxsLnBpY3R1cmUubm9kZU5hbWUsIklNRyIpfSwgIlRlc3QgbG9va3VwIElNRyBpbiBjb2xsZWN0
aW9uIHVzaW5nIC4iKTsKKwordGVzdChmdW5jdGlvbigpeyBhc3NlcnRfZXF1YWxzKGRvY3VtZW50
LmFsbC50YWdzLmlkLCJ0YWdzIil9LCAiVGVzdCBsb29rdXAgdGFncyBpbiBjb2xsZWN0aW9uIHVz
aW5nIC4iKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5h
bGxbInJvb3QiXSwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KTsKK30sICJTaG91bGQgZmluZCBy
b290IGVsZW1lbnQgdG9vIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVhbHMo
ZG9jdW1lbnQuYWxsWyJmb28iXS5sZW5ndGgsIDIpOworfSwgIlNob3VsZCBmaW5kIGJvdGggYW5j
aG9ycyBhbmQgcHJvZHVjZSBhIGxpc3QiKTsKKwordGVzdAorPC9zY3JpcHQ+Cis8ZGl2IGlkPSJs
b2ciPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1k
b20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9odG1sZm9ybWNvbnRyb2xzY29sbGVjdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0bWxm
b3JtY29udHJvbHNjb2xsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MDJiNDIwZjlj
ZDdlYjY1ZWIxODUwOWViZGY5OTNmYTM5MTk0ODE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJl
L2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9odG1sZm9ybWNvbnRyb2xzY29sbGVj
dGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMiBAQAorCitQQVNTIFRoZSBsZW5ndGggYXR0
cmlidXRlIG11c3QgcmV0dXJuIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGZvcm0gCitQ
QVNTIEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uLml0ZW0oaW5kZXgpIG11c3QgcmV0dXJuIHRo
ZSBpbmRleGVkIGl0ZW0gCitQQVNTIEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uW2luZGV4XSBt
dXN0IHJldHVybiB0aGUgaW5kZXhlZCBpdGVtIAorUEFTUyBIVE1MRm9ybUNvbnRyb2xzQ29sbGVj
dGlvbiBpcyBub3QgY2FsbGFibGUgCitQQVNTIEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uW25h
bWVdIG11c3QgcmV0dXJuIHRoZSBuYW1lZCBpdGVtIAorUEFTUyBIVE1MRm9ybUNvbnRyb2xzQ29s
bGVjdGlvbi5uYW1lZEl0ZW0obmFtZSkgbXVzdCByZXR1cm4gdGhlIG5hbWVkIGl0ZW0gCitQQVNT
IFRoZSBuYW1lZEl0ZW0obmFtZSkgbXVzdCByZXR1cm4gYW4gRWxlbWVudCAKK1BBU1MgVGhlIG5h
bWVkSXRlbShuYW1lKSBtdXN0IHJldHVybiBSYWRpb05vZGVMaXN0IAorUEFTUyBUaGUgbmFtZWRJ
dGVtKG5hbWUpIG11c3QgcmV0dXJuIG51bGwgaWYgdGhlIG5hbWUgaXMgZW1wdHkgCitQQVNTIFRo
ZSBuYW1lZEl0ZW0obmFtZSkgbXVzdCByZXR1cm4gbnVsbCBpZiB0aGVyZSBpcyBubyBtYXRjaGVk
IGVsZW1lbnQgCitQQVNTIENvbnRyb2xzIGNhbiBiZSBpbmRleGVkIGJ5IGlkIG9yIG5hbWUgYXR0
cmlidXRlIAorUEFTUyBUaGUgbmFtZWRJdGVtKG5hbWUpIG11c3QgcmV0dXJuIHRoZSBpdGVtcyB3
aXRoIGlkIG9yIG5hbWUgYXR0cmlidXRlIAorUEFTUyBUaGUgSFRNTEZvcm1Db250cm9sc0NvbGxl
Y3Rpb24gaW50ZXJmYWNlIGlzIHVzZWQgZm9yIGNvbGxlY3Rpb25zIG9mIGxpc3RlZCBlbGVtZW50
cyBpbiBmb3JtIGVsZW1lbnQgCitQQVNTIFRoZSBIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbiBp
bnRlcmZhY2UgaXMgdXNlZCBmb3IgY29sbGVjdGlvbnMgb2YgbGlzdGVkIGVsZW1lbnRzIGluIGZp
ZWxkc2V0IGVsZW1lbnQgCitQQVNTIFRoZSBjb250cm9scyBpbiB0aGUgZm9ybSBlbGVtZW50IG11
c3QgYmUgc29ydGVkIGluIHRyZWUgb3JkZXIgCisgIAorCisgIAorICAKKworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFz
dHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0bWxmb3JtY29udHJv
bHNjb2xsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rp
b25zL2h0bWxmb3JtY29udHJvbHNjb2xsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGM4ZTFkYmMx
YmY5YTlhOWY5ZDM4NTFlNWEyYWFjOGM4NjQ5OTlkNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVy
ZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbGZvcm1jb250cm9sc2NvbGxl
Y3Rpb24uaHRtbApAQCAtMCwwICsxLDExNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+SFRNTCBUZXN0OiB0aGUgSFRNTEZvcm1Db250cm9sc0NvbGxl
Y3Rpb24gaW50ZXJmYWNlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSW50ZWwi
IGhyZWY9Imh0dHA6Ly93d3cuaW50ZWwuY29tLyI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL211bHRpcGFnZS9jb21tb24tZG9t
LWludGVyZmFjZXMuaHRtbCNodG1sZm9ybWNvbnRyb2xzY29sbGVjdGlvbiI+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwv
ZGl2PgorPGZvcm0gaWQ9ImYxIj4KKyAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0icjEiPgorICA8
a2V5Z2VuIGlkPSJrZyIgbmFtZT0ia2V5Ij48L2tleWdlbj4KKzwvZm9ybT4KKzxmb3JtIGlkPSJm
MiI+CisgIDx0YWJsZT4KKyAgICA8dHI+CisgICAgICA8dGQ+CisgICAgICAgIDxpbnB1dCB0eXBl
PSJjaGVja2JveCIgaWQ9ImNiIj4KKyAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1l
PSJjYiI+CisgICAgICA8L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAgICAgPHRkPgorICAg
ICAgICA8YnV0dG9uIGlkPSJidG4iPjwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIG5hbWU9ImJ0
biI+PC9idXR0b24+CisgICAgICA8L3RkPgorICAgIDwvdHI+CisgIDwvdGFibGU+Cis8L2Zvcm0+
CisKKzxzY3JpcHQ+CisKK3ZhciBjb2xsMSwgY29sbDIsIHJkbzsKKworc2V0dXAoZnVuY3Rpb24g
KCkgeworICByZG8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicjEiKTsKKyAgY29sbDEgPSBk
b2N1bWVudC5mb3Jtc1swXS5lbGVtZW50czsKKyAgY29sbDIgPSBkb2N1bWVudC5mb3Jtc1sxXS5l
bGVtZW50czsKK30pOworCisvL2xlbmd0aAordGVzdChmdW5jdGlvbiAoKSB7CisgIGFzc2VydF9l
cXVhbHMoY29sbDEubGVuZ3RoLCAyLCAiVGhlIGxlbmd0aCBhdHRyaWJ1dGUgaXMgaW5jb3JyZWN0
LiIpOworICBhc3NlcnRfZXF1YWxzKGNvbGwyLmxlbmd0aCwgNCwgIlRoZSBsZW5ndGggYXR0cmli
dXRlIGlzIGluY29ycmVjdC4iKTsKK30sICJUaGUgbGVuZ3RoIGF0dHJpYnV0ZSBtdXN0IHJldHVy
biB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBmb3JtIik7CisKKy8vZ2V0dGVyIC0gaW5k
ZXgKK3Rlc3QoZnVuY3Rpb24gKCkgeworICBhc3NlcnRfZXF1YWxzKGNvbGwxLml0ZW0oMCksIHJk
bywgIkhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uLml0ZW0oaW5kZXgpIHNob3VsZCByZXR1cm4g
dGhlICdpbnB1dCcgZWxlbWVudCBpbiByYWRpbyBzdGF0dXMuIik7Cit9LCAiSFRNTEZvcm1Db250
cm9sc0NvbGxlY3Rpb24uaXRlbShpbmRleCkgbXVzdCByZXR1cm4gdGhlIGluZGV4ZWQgaXRlbSIp
OworCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgYXNzZXJ0X2VxdWFscyhjb2xsMVswXSwgcmRvLCAi
SFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb25baW5kZXhdIHNob3VsZCByZXR1cm4gdGhlICdpbnB1
dCcgZWxlbWVudCBpbiByYWRpbyBzdGF0dXMuIik7Cit9LCAiSFRNTEZvcm1Db250cm9sc0NvbGxl
Y3Rpb25baW5kZXhdIG11c3QgcmV0dXJuIHRoZSBpbmRleGVkIGl0ZW0iKTsKKworLy9nZXR0ZXIg
LSBuYW1lCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgYXNzZXJ0X3Rocm93cyhUeXBlRXJyb3IoKSwg
ZnVuY3Rpb24oKSB7IGNvbGwxKCJyMSIpIH0pOworfSwgIkhUTUxGb3JtQ29udHJvbHNDb2xsZWN0
aW9uIGlzIG5vdCBjYWxsYWJsZSIpOworCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgYXNzZXJ0X2Vx
dWFscyhjb2xsMVsicjEiXSwgcmRvLCAiSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb25bbmFtZV0g
c2hvdWxkIHJldHVybiB0aGUgJ2lucHV0JyBlbGVtZW50IGluIHJhZGlvIHN0YXR1cy4iKTsKK30s
ICJIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbltuYW1lXSBtdXN0IHJldHVybiB0aGUgbmFtZWQg
aXRlbSIpOworCisvL2dldHRlciAtIG5hbWVkSXRlbQordGVzdChmdW5jdGlvbiAoKSB7CisgIGFz
c2VydF9lcXVhbHMoY29sbDEubmFtZWRJdGVtKCJyMSIpLCByZG8sICJIVE1MRm9ybUNvbnRyb2xz
Q29sbGVjdGlvbi5uYW1lZEl0ZW0obmFtZSkgc2hvdWxkIHJldHVybiB0aGUgJ2lucHV0JyBlbGVt
ZW50IGluIHJhZGlvIHN0YXR1cy4iKTsKK30sICJIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5u
YW1lZEl0ZW0obmFtZSkgbXVzdCByZXR1cm4gdGhlIG5hbWVkIGl0ZW0iKTsKKwordGVzdChmdW5j
dGlvbiAoKSB7CisgIGFzc2VydF90cnVlKGNvbGwxLm5hbWVkSXRlbSgicjEiKSBpbnN0YW5jZW9m
IEVsZW1lbnQsICJDYW4gbm90IHJldHVybiAnRWxlbWVudCcgb2JqZWN0LiIpOworfSwgIlRoZSBu
YW1lZEl0ZW0obmFtZSkgbXVzdCByZXR1cm4gYW4gRWxlbWVudCIpOworCit0ZXN0KGZ1bmN0aW9u
ICgpIHsKKyAgYXNzZXJ0X3RydWUoY29sbDIubmFtZWRJdGVtKCJjYiIpIGluc3RhbmNlb2YgUmFk
aW9Ob2RlTGlzdCwgIkNhbiBub3QgcmV0dXJuICdSYWRpb05vZGVMaXN0JyBvYmplY3QuIik7Cit9
LCAiVGhlIG5hbWVkSXRlbShuYW1lKSBtdXN0IHJldHVybiBSYWRpb05vZGVMaXN0Iik7CisKK3Rl
c3QoZnVuY3Rpb24gKCkgeworICBhc3NlcnRfZXF1YWxzKGNvbGwxLm5hbWVkSXRlbSgiIiksIG51
bGwsICJUaGUgcmV0dXJuIHZhbHVlIG9mIG5hbWVkSXRlbSgpIHNob3VsZCBiZSBudWxsLiIpOwor
fSwgIlRoZSBuYW1lZEl0ZW0obmFtZSkgbXVzdCByZXR1cm4gbnVsbCBpZiB0aGUgbmFtZSBpcyBl
bXB0eSIpOworCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgYXNzZXJ0X2VxdWFscyhjb2xsMS5uYW1l
ZEl0ZW0oInRlc3QiKSwgbnVsbCwgIlRoZSByZXR1cm4gdmFsdWUgb2YgbmFtZWRJdGVtKCkgc2hv
dWxkIGJlIG51bGwuIik7Cit9LCAiVGhlIG5hbWVkSXRlbShuYW1lKSBtdXN0IHJldHVybiBudWxs
IGlmIHRoZXJlIGlzIG5vIG1hdGNoZWQgZWxlbWVudCIpOworCit0ZXN0KGZ1bmN0aW9uICgpIHsK
KyAgYXNzZXJ0X2VxdWFscyhjb2xsMS5uYW1lZEl0ZW0oImtnIiksIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJrZyIpLCAiQ29udHJvbHMgY2FuIGJlIG5hbWVkIGJ5ICdpZCcgYXR0cmlidXRlLiIp
OworICBhc3NlcnRfZXF1YWxzKGNvbGwxLm5hbWVkSXRlbSgia2V5IiksIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJrZyIpLCAiQ29udHJvbHMgY2FuIGJlIG5hbWVkIGJ5ICduYW1lJyBhdHRyaWJ1
dGUuIik7Cit9LCAiQ29udHJvbHMgY2FuIGJlIGluZGV4ZWQgYnkgaWQgb3IgbmFtZSBhdHRyaWJ1
dGUiKTsKKwordGVzdChmdW5jdGlvbiAoKSB7CisgIGFzc2VydF9lcXVhbHMoY29sbDIubmFtZWRJ
dGVtKCJidG4iKS5sZW5ndGgsIDIsICJUaGUgbGVuZ3RoIGF0dHJpYnV0ZSBzaG91bGQgYmUgMi4i
KTsKK30sICJUaGUgbmFtZWRJdGVtKG5hbWUpIG11c3QgcmV0dXJuIHRoZSBpdGVtcyB3aXRoIGlk
IG9yIG5hbWUgYXR0cmlidXRlIik7CisKKy8vdmFyaW91cyBjb250cm9scyBpbiBmaWVsZHNldCBh
bmQgZm9ybQordmFyIGNvbnRhaW5lcnMgPSBbImZvcm0iLCAiZmllbGRzZXQiXSwKKyAgICBjb250
cm9scyA9IFsiYnV0dG9uIiwgImZpZWxkc2V0IiwgImlucHV0IiwgImtleWdlbiIsICJvYmplY3Qi
LCAib3V0cHV0IiwgInNlbGVjdCIsICJ0ZXh0YXJlYSJdOworZm9yICh2YXIgbSA9IDA7IG0gPCBj
b250YWluZXJzLmxlbmd0aDsgbSsrKSB7CisgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgIHZhciBj
b250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGNvbnRhaW5lcnNbbV0pOworICAgIHZh
ciBsZW4gPSBjb250cm9scy5sZW5ndGg7CisgICAgZm9yICh2YXIgbiA9IDA7IG4gPCBsZW47IG4r
KykKKyAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KGNv
bnRyb2xzW25dKSk7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjb250YWluZXIpOwor
ICAgIGFzc2VydF9lcXVhbHMoY29udGFpbmVyLmVsZW1lbnRzLmxlbmd0aCwgbGVuLCAiVGhlIGxl
bmd0aCBzaG91bGQgYmUgIiArIGxlbiArICIuIik7CisgIH0sICJUaGUgSFRNTEZvcm1Db250cm9s
c0NvbGxlY3Rpb24gaW50ZXJmYWNlIGlzIHVzZWQgZm9yIGNvbGxlY3Rpb25zIG9mIGxpc3RlZCBl
bGVtZW50cyBpbiAiICsgY29udGFpbmVyc1ttXSArICIgZWxlbWVudCIpOworfQorCisvL0NoZWNr
IHRoZSBjb250cm9scycgb3JkZXIKK3Rlc3QoZnVuY3Rpb24gKCkgeworICB2YXIgb3B0ID0gZG9j
dW1lbnQuZm9ybXNbMV0uaW5zZXJ0QmVmb3JlKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm91dHB1
dCIpLCBkb2N1bWVudC5mb3Jtc1sxXS5maXJzdENoaWxkKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhkb2N1bWVudC5mb3Jtc1sxXS5lbGVtZW50cywKKyAgICAgICAgICAgICAgICAgICAgICBbb3B0
LCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVsxXSwgZG9jdW1lbnQuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMl0sCisgICAgICAgICAgICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJ1dHRvbiIpWzBdLCBkb2N1bWVudC5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgiYnV0dG9uIilbMV1dKTsKK30sICJUaGUgY29udHJvbHMgaW4gdGhlIGZv
cm0gZWxlbWVudCBtdXN0IGJlIHNvcnRlZCBpbiB0cmVlIG9yZGVyIik7CisKKzwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9odG1s
b3B0aW9uc2NvbGxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJm
YWNlcy9jb2xsZWN0aW9ucy9odG1sb3B0aW9uc2NvbGxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjllMWVlMjg0OGIyZGFmNGZiODRiNDAzM2I1NjdmNzNjNmIxOGZkZGMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0bWxv
cHRpb25zY29sbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNyBAQAorICAKKworUEFT
UyBPcmlnaW5hbCBsZW5ndGggCitQQVNTIFNldHRpbmcgbGVuZ3RoIHRvIG9yaWdpbmFsIHZhbHVl
IGhhcyBubyBlZmZlY3QgCitQQVNTIFNldHRpbmcgbGVuZ3RoIHRvIHNob3J0ZXIgdmFsdWUgCitQ
QVNTIFNldHRpbmcgbGVuZ3RoIHRvIGxvbmdlciB2YWx1ZSAKK1BBU1MgSW5zZXJ0IDxwPjxvcHRp
b24+Njwvb3B0aW9uPjwvcD4gaW50byA8c2VsZWN0PiAKK1BBU1MgSW5zZXJ0IDxzZWxlY3Q+PG9w
dGlvbj42PC9vcHRpb24+PC9zZWxlY3Q+IGludG8gPHNlbGVjdD4gCitQQVNTIEluc2VydCA8b3B0
Z3JvdXA+PG9wdGlvbj42PC9vcHRpb24+PC9vcHRncm91cD4gaW50byA8c2VsZWN0PiAKK1BBU1Mg
SW5zZXJ0IDxvcHRncm91cD48b3B0Z3JvdXA+PG9wdGlvbj42PC9vcHRpb24+PC9vcHRncm91cD48
L29wdGdyb3VwPiBpbnRvIDxzZWxlY3Q+IAorUEFTUyBuYW1lZEl0ZW0gaWQgYXR0cmlidXRlIAor
UEFTUyBuYW1lZEl0ZW0gbmFtZSBhdHRyaWJ1dGUgCitQQVNTIG5hbWVkSXRlbSBkb2Vzbid0IG1h
dGNoIGFueXRoaW5nIAorUEFTUyBuYW1lZEl0ZW0gbXVsdGlwbGUgSURzIAorUEFTUyBuYW1lZEl0
ZW0gbXVsdGlwbGUgbmFtZXMgCitQQVNTIG5hbWVkSXRlbSBtdWx0aXBsZSBuYW1lIGFuZCBJRCAK
K1BBU1MgbmFtZWRJdGVtIG11bHRpcGxlIG5hbWUgYW5kIElEIHdpdGggbXVsdGlwbGUgYXR0cmli
dXRlcyAKK1BBU1MgbmFtZWRJdGVtIGlkIGF0dHJpYnV0ZSBtdWx0aXBsZSBhdHRyaWJ1dGVzIG9u
ZSBlbGVtZW50IAorUEFTUyBuYW1lZEl0ZW0gbmFtZSBhdHRyaWJ1dGUgbXVsdGlwbGUgYXR0cmli
dXRlcyBvbmUgZWxlbWVudCAKK1BBU1MgSFRNTE9wdGlvbnNDb2xsZWN0aW9uIFtpbmRleF0gbWV0
aG9kIHJldHVybiB0aGUgaXRlbSB3aXRoIGluZGV4IAorUEFTUyBIVE1MT3B0aW9uc0NvbGxlY3Rp
b24gW25hbWVdIG1ldGhvZCByZXR1cm4gdGhlIGl0ZW0gd2l0aCBuYW1lIAorUEFTUyBIVE1MT3B0
aW9uc0NvbGxlY3Rpb24uaXRlbShpbmRleCkgbWV0aG9kIHJldHVybiB0aGUgaXRlbSB3aXRoIGlu
ZGV4IAorUEFTUyBIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaXRlbShuYW1lKSBtZXRob2QgcmV0dXJu
IHRoZSBpdGVtIHdpdGggaW5kZXggMCAKK1BBU1MgSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmFkZCBt
ZXRob2QgaW5zZXJ0IEhUTUxPcHRpb25FbGVtZW50IE9wdGlvbiBlbGVtZW50IAorUEFTUyBIVE1M
T3B0aW9uc0NvbGxlY3Rpb24ucmVtb3ZlIG1ldGhvZCByZW1vdmUgT3B0aW9uIGVsZW1lbnQgYnkg
aW5kZXggCitGQUlMIEFkZCBub24tb3B0aW9uIHRvIGNvbGxlY3Rpb24gYXNzZXJ0X3Rocm93czog
ZnVuY3Rpb24gImZ1bmN0aW9uICgpIHtiX29wdHMuYWRkKGFkZCk7fSIgZGlkIG5vdCB0aHJvdwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0
bWxvcHRpb25zY29sbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9j
b2xsZWN0aW9ucy9odG1sb3B0aW9uc2NvbGxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYmU3NmU4
MjMxMGVlZmMyMTdmY2QwODA2NzZiZmYwMTMxNzdhYWQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0
dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9odG1sb3B0aW9uc2NvbGxlY3Rp
b24uaHRtbApAQCAtMCwwICsxLDIxNiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+SFRNTE9w
dGlvbnNDb2xsZWN0aW9uPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNw
ZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI2h0bWxvcHRpb25zY29sbGVjdGlvbi0wIj4KKzxzZWxl
Y3QgaWQ9YT4KKyAgPG9wdGlvbj4xPC9vcHRpb24+CisgIDxvcHRpb24+Mjwvb3B0aW9uPgorICA8
b3B0aW9uPjM8L29wdGlvbj4KKzwhLS0gTm90ZSB3aGl0ZXNwYWNlIGlzIGltcG9ydGFudCAtLT4K
KyAgPG9wdGlvbj40PC9vcHRpb24+CisgIDxvcHRpb24+NTwvb3B0aW9uPgorPC9zZWxlY3Q+CisK
KzxzZWxlY3QgaWQ9Yj4KKyAgPG9wdGlvbiBpZD1iMT4xPC9vcHRpb24+CisgIDxvcHRpb24gbmFt
ZT1iMj4yPC9vcHRpb24+CisgIDxvcHRpb24gaWQ9YjM+Mzwvb3B0aW9uPgorICA8b3B0aW9uIGlk
PWIzPjQ8L29wdGlvbj4KKyAgPG9wdGlvbiBuYW1lPWI0PjU8L29wdGlvbj4KKyAgPG9wdGlvbiBu
YW1lPWI0PjY8L29wdGlvbj4KKyAgPG9wdGlvbiBpZD1iNT43PC9vcHRpb24+CisgIDxvcHRpb24g
bmFtZT1iNT44PC9vcHRpb24+CisgIDxvcHRpb24gaWQ9YjYgbmFtZT1iNz45PC9vcHRpb24+Cisg
IDxvcHRpb24gaWQ9YjYgbmFtZT1iNj4xMDwvb3B0aW9uPgorICA8b3B0aW9uIGlkPWI4IG5hbWU9
Yjk+MTE8L29wdGlvbj4KKzwvc2VsZWN0PgorCis8c2NyaXB0PgordmFyIGE7Cit2YXIgYV9vcHRz
OwordmFyIGFfb3JpZ2luYWxfaW5uZXJIVE1MOwordmFyIGI7Cit2YXIgYl9vcHRzOworCitzZXR1
cChmdW5jdGlvbigpIHsKKyAgYSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhIik7CisgIGFf
b3B0cyA9IGEub3B0aW9uczsKKyAgYV9vcmlnaW5hbF9pbm5lckhUTUwgPSBhLmlubmVySFRNTDsK
KyAgYS5pbm5lckhUTUwgPSBhX29yaWdpbmFsX2lubmVySFRNTDsKKyAgYiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJiIik7CisgIGJfb3B0cyA9IGIub3B0aW9uczsKKyAgYl9vcmlnaW5hbF9p
bm5lckhUTUwgPSBiLmlubmVySFRNTDsKKyAgYi5pbm5lckhUTUwgPSBiX29yaWdpbmFsX2lubmVy
SFRNTDsKK30pCisKK2Z1bmN0aW9uIGFzc2VydF92YWx1ZXNfZXF1YWxzKGNvbGwsIGV4cGVjdGVk
X3ZhbHVlcywgbWVzc2FnZSkgeworICBhY3R1YWwgPSBbXTsKKyAgZm9yICh2YXIgaT0wOyBpPGNv
bGwubGVuZ3RoOyBpKyspIHsKKyAgICBhY3R1YWwucHVzaChjb2xsW2ldLnZhbHVlKTsKKyAgfQor
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWRfdmFsdWVzLCBtZXNzYWdlKTsK
K30KKwordGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X2VxdWFscyg1LCBhX29wdHMubGVuZ3Ro
KTsKK30sICJPcmlnaW5hbCBsZW5ndGgiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgYS5pbm5l
ckhUTUwgPSBhX29yaWdpbmFsX2lubmVySFRNTDsKKyAgYV9vcHRzLnZhbHVlID0gIjMiOworICBh
X29wdHMubGVuZ3RoID0gNTsKKyAgYXNzZXJ0X2VxdWFscyhhX29wdHMubGVuZ3RoLCA1KTsKKyAg
YXNzZXJ0X2VxdWFscyhhX29wdHMudmFsdWUsICIzIik7Cit9LCAiU2V0dGluZyBsZW5ndGggdG8g
b3JpZ2luYWwgdmFsdWUgaGFzIG5vIGVmZmVjdCIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBh
LmlubmVySFRNTCA9IGFfb3JpZ2luYWxfaW5uZXJIVE1MOworICBhLnZhbHVlID0gMzsKKyAgYV9v
cHRzLmxlbmd0aCA9IDM7CisgIGFzc2VydF9lcXVhbHMoMywgYV9vcHRzLmxlbmd0aCwgIkNvcnJl
Y3QgbGVuZ3RoIik7CisgIGFzc2VydF92YWx1ZXNfZXF1YWxzKGFfb3B0cywgWyIxIiwiMiIsIjMi
XSwgIkNvcnJlY3QgZWxlbWVudHMgcmVtYWluIikKKyAgYXNzZXJ0X2VxdWFscyhhX29wdHMudmFs
dWUsICIzIiwgIkNvcnJlY3QgdmFsdWUgc2V0Iik7CisgIGFzc2VydF9lcXVhbHMoYS5jaGlsZE5v
ZGVzLmxlbmd0aCwgMTEsICJDb3JyZWN0IG51bWJlciBvZiBjaGlsZCBub2RlcyIpCit9LCAiU2V0
dGluZyBsZW5ndGggdG8gc2hvcnRlciB2YWx1ZSIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBh
LmlubmVySFRNTCA9IGFfb3JpZ2luYWxfaW5uZXJIVE1MOworICBhLnZhbHVlID0gMzsKKyAgYV9v
cHRzLmxlbmd0aCA9IDc7CisgIGFzc2VydF9lcXVhbHMoYV9vcHRzLmxlbmd0aCwgNywgIkNvcnJl
Y3QgbGVuZ3RoIik7CisgIGFzc2VydF92YWx1ZXNfZXF1YWxzKGFfb3B0cywgWyIxIiwiMiIsIjMi
LCI0IiwiNSIsIiIsIiJdLCAiQ29ycmVjdCBlbGVtZW50cyBpbnNlcnRlZCIpCisgIGFzc2VydF9l
cXVhbHMoYS52YWx1ZSwgIjMiLCAiQ29ycmVjdCB2YWx1ZSBzZXQiKTsKKyAgYXNzZXJ0X2VxdWFs
cyhhLmNoaWxkTm9kZXMubGVuZ3RoLCAxNSwgIkNvcnJlY3QgbnVtYmVyIG9mIGNoaWxkIG5vZGVz
IikKK30sICJTZXR0aW5nIGxlbmd0aCB0byBsb25nZXIgdmFsdWUiKTsKKwordGVzdChmdW5jdGlv
bigpIHsKKyAgYS5pbm5lckhUTUwgPSBhX29yaWdpbmFsX2lubmVySFRNTDsKKyAgdmFyIG5ld0No
aWxkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpOworICB2YXIgbmV3T3B0aW9uID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIik7CisgIG5ld09wdGlvbi50ZXh0Q29udGVudCA9
ICI2IjsKKyAgbmV3Q2hpbGQuYXBwZW5kQ2hpbGQobmV3T3B0aW9uKTsKKyAgYS5hcHBlbmRDaGls
ZChuZXdDaGlsZCk7CisgIGEudmFsdWUgPSAzOworICBhc3NlcnRfZXF1YWxzKGFfb3B0cy5sZW5n
dGgsIDUsICJDb3JyZWN0IGxlbmd0aCIpOworICBhc3NlcnRfdmFsdWVzX2VxdWFscyhhX29wdHMs
IFsiMSIsIjIiLCIzIiwiNCIsIjUiXSwgIkNvcnJlY3QgZWxlbWVudHMgaW5zZXJ0ZWQiKQorICBh
c3NlcnRfZXF1YWxzKGEudmFsdWUsICIzIiwgIkNvcnJlY3QgdmFsdWUgc2V0Iik7Cit9LCAiSW5z
ZXJ0IDxwPjxvcHRpb24+Njwvb3B0aW9uPjwvcD4gaW50byA8c2VsZWN0PiIpOworCit0ZXN0KGZ1
bmN0aW9uKCkgeworICBhLmlubmVySFRNTCA9IGFfb3JpZ2luYWxfaW5uZXJIVE1MOworICB2YXIg
bmV3Q2hpbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzZWxlY3QiKTsKKyAgdmFyIG5ld09w
dGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpOworICBuZXdPcHRpb24udGV4
dENvbnRlbnQgPSAiNiI7CisgIG5ld0NoaWxkLmFwcGVuZENoaWxkKG5ld09wdGlvbik7CisgIGEu
YXBwZW5kQ2hpbGQobmV3Q2hpbGQpOworICBhLnZhbHVlID0gMzsKKyAgYXNzZXJ0X2VxdWFscyhh
X29wdHMubGVuZ3RoLCA1LCAiQ29ycmVjdCBsZW5ndGgiKTsKKyAgYXNzZXJ0X3ZhbHVlc19lcXVh
bHMoYV9vcHRzLCBbIjEiLCIyIiwiMyIsIjQiLCI1Il0sICJDb3JyZWN0IGVsZW1lbnRzIGluc2Vy
dGVkIikKKyAgYXNzZXJ0X2VxdWFscyhhLnZhbHVlLCAiMyIsICJDb3JyZWN0IHZhbHVlIHNldCIp
OworfSwgIkluc2VydCA8c2VsZWN0PjxvcHRpb24+Njwvb3B0aW9uPjwvc2VsZWN0PiBpbnRvIDxz
ZWxlY3Q+Iik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIC8vVGhpcyB0ZXN0cyB0aGUgc3BlYyBi
dXQgaXQgaXMgcHJvYmFibHkgd3JvbmcgaGVyZTsgc2VlIGJ1ZyAxMjY2NQorICBhLmlubmVySFRN
TCA9IGFfb3JpZ2luYWxfaW5uZXJIVE1MOworICB2YXIgbmV3Q2hpbGQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJvcHRncm91cCIpOworICB2YXIgbmV3T3B0aW9uID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgib3B0aW9uIik7CisgIG5ld09wdGlvbi50ZXh0Q29udGVudCA9ICI2IjsKKyAgbmV3
Q2hpbGQuYXBwZW5kQ2hpbGQobmV3T3B0aW9uKTsKKyAgYS5hcHBlbmRDaGlsZChuZXdDaGlsZCk7
CisgIGEudmFsdWUgPSAzOworICBhc3NlcnRfZXF1YWxzKGFfb3B0cy5sZW5ndGgsIDYsICJDb3Jy
ZWN0IGxlbmd0aCIpOworICBhc3NlcnRfdmFsdWVzX2VxdWFscyhhX29wdHMsIFsiMSIsIjIiLCIz
IiwiNCIsIjUiLCAiNiJdLCAiQ29ycmVjdCBlbGVtZW50cyBpbnNlcnRlZCIpCisgIGFzc2VydF9l
cXVhbHMoYS52YWx1ZSwgIjMiLCAiQ29ycmVjdCB2YWx1ZSBzZXQiKTsKK30sICJJbnNlcnQgPG9w
dGdyb3VwPjxvcHRpb24+Njwvb3B0aW9uPjwvb3B0Z3JvdXA+IGludG8gPHNlbGVjdD4iKTsKKwor
dGVzdChmdW5jdGlvbigpIHsKKyAgYS5pbm5lckhUTUwgPSBhX29yaWdpbmFsX2lubmVySFRNTDsK
KyAgdmFyIG5ld0NoaWxkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0Z3JvdXAiKTsKKyAg
dmFyIG5ld0NoaWxkMSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGdyb3VwIik7CisgIHZh
ciBuZXdPcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKTsKKyAgbmV3T3B0
aW9uLnRleHRDb250ZW50ID0gIjYiOworICBuZXdDaGlsZC5hcHBlbmRDaGlsZChuZXdDaGlsZDEp
OworICBuZXdDaGlsZDEuYXBwZW5kQ2hpbGQobmV3T3B0aW9uKTsKKyAgYS5hcHBlbmRDaGlsZChu
ZXdDaGlsZCk7CisgIGEudmFsdWUgPSAzOworICBhc3NlcnRfZXF1YWxzKGFfb3B0cy5sZW5ndGgs
IDUsICJDb3JyZWN0IGxlbmd0aCIpOworICBhc3NlcnRfdmFsdWVzX2VxdWFscyhhX29wdHMsIFsi
MSIsIjIiLCIzIiwiNCIsIjUiXSwgIkNvcnJlY3QgZWxlbWVudHMgaW5zZXJ0ZWQiKQorICBhc3Nl
cnRfZXF1YWxzKGEudmFsdWUsICIzIiwgIkNvcnJlY3QgdmFsdWUgc2V0Iik7Cit9LCAiSW5zZXJ0
IDxvcHRncm91cD48b3B0Z3JvdXA+PG9wdGlvbj42PC9vcHRpb24+PC9vcHRncm91cD48L29wdGdy
b3VwPiBpbnRvIDxzZWxlY3Q+Iik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVh
bHMoYl9vcHRzLm5hbWVkSXRlbSgiYjEiKS52YWx1ZSwgIjEiKTsKK30sICJuYW1lZEl0ZW0gaWQg
YXR0cmlidXRlIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVhbHMoYl9vcHRz
Lm5hbWVkSXRlbSgiYjIiKS52YWx1ZSwgIjIiKTsKK30sICJuYW1lZEl0ZW0gbmFtZSBhdHRyaWJ1
dGUiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X2VxdWFscyhiX29wdHMubmFtZWRJ
dGVtKCJjIiksIG51bGwpOworfSwgIm5hbWVkSXRlbSBkb2Vzbid0IG1hdGNoIGFueXRoaW5nIik7
CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVhbHMoYl9vcHRzLm5hbWVkSXRlbSgi
YjMiKS52YWx1ZSwgIjMiKTsKK30sICJuYW1lZEl0ZW0gbXVsdGlwbGUgSURzIik7CisKK3Rlc3Qo
ZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVhbHMoYl9vcHRzLm5hbWVkSXRlbSgiYjQiKS52YWx1
ZSwgIjUiKTsKK30sICJuYW1lZEl0ZW0gbXVsdGlwbGUgbmFtZXMiKTsKKwordGVzdChmdW5jdGlv
bigpIHsKKyAgYXNzZXJ0X2VxdWFscyhiX29wdHMubmFtZWRJdGVtKCJiNSIpLnZhbHVlLCAiNyIp
OworfSwgIm5hbWVkSXRlbSBtdWx0aXBsZSBuYW1lIGFuZCBJRCIpOworCit0ZXN0KGZ1bmN0aW9u
KCkgeworICBhc3NlcnRfZXF1YWxzKGJfb3B0cy5uYW1lZEl0ZW0oImI2IikudmFsdWUsICI5Iik7
Cit9LCAibmFtZWRJdGVtIG11bHRpcGxlIG5hbWUgYW5kIElEIHdpdGggbXVsdGlwbGUgYXR0cmli
dXRlcyIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfZXF1YWxzKGJfb3B0cy5uYW1l
ZEl0ZW0oImI4IikudmFsdWUsICIxMSIpOworfSwgIm5hbWVkSXRlbSBpZCBhdHRyaWJ1dGUgbXVs
dGlwbGUgYXR0cmlidXRlcyBvbmUgZWxlbWVudCIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBh
c3NlcnRfZXF1YWxzKGJfb3B0cy5uYW1lZEl0ZW0oImI5IikudmFsdWUsICIxMSIpOworfSwgIm5h
bWVkSXRlbSBuYW1lIGF0dHJpYnV0ZSBtdWx0aXBsZSBhdHRyaWJ1dGVzIG9uZSBlbGVtZW50Iik7
CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF90cnVlKGJfb3B0c1swXSBpbnN0YW5jZW9m
IEhUTUxPcHRpb25FbGVtZW50KTsKKyAgYXNzZXJ0X2VxdWFscyhiX29wdHNbMF0uaW5uZXJIVE1M
LCAiMSIpOworfSwgICJIVE1MT3B0aW9uc0NvbGxlY3Rpb24gW2luZGV4XSBtZXRob2QgcmV0dXJu
IHRoZSBpdGVtIHdpdGggaW5kZXgiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X3Ry
dWUoYl9vcHRzWyJiMiJdIGluc3RhbmNlb2YgSFRNTE9wdGlvbkVsZW1lbnQpOworICBhc3NlcnRf
ZXF1YWxzKGJfb3B0c1siYjIiXS5pbm5lckhUTUwsICIyIik7Cit9LCAgIkhUTUxPcHRpb25zQ29s
bGVjdGlvbiBbbmFtZV0gbWV0aG9kIHJldHVybiB0aGUgaXRlbSB3aXRoIG5hbWUiKTsKKwordGVz
dChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X3RydWUoYl9vcHRzLml0ZW0oMCkgaW5zdGFuY2VvZiBI
VE1MT3B0aW9uRWxlbWVudCk7CisgIGFzc2VydF9lcXVhbHMoYl9vcHRzLml0ZW0oMCkuaW5uZXJI
VE1MLCAiMSIpOworfSwgICJIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaXRlbShpbmRleCkgbWV0aG9k
IHJldHVybiB0aGUgaXRlbSB3aXRoIGluZGV4Iik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFz
c2VydF90cnVlKGJfb3B0cy5pdGVtKCJiMiIpIGluc3RhbmNlb2YgSFRNTE9wdGlvbkVsZW1lbnQp
OworICBhc3NlcnRfZXF1YWxzKGJfb3B0cy5pdGVtKCJiMiIpLmlubmVySFRNTCwgIjEiKTsKK30s
ICAiSFRNTE9wdGlvbnNDb2xsZWN0aW9uLml0ZW0obmFtZSkgbWV0aG9kIHJldHVybiB0aGUgaXRl
bSB3aXRoIGluZGV4IDAiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgdmFyIGJfb3B0c19sZW5n
dGggPSBiX29wdHMubGVuZ3RoOworICBiX29wdHMuYWRkKG5ldyBPcHRpb24oIjIiLCAiMiIpKTsK
KyAgYXNzZXJ0X2VxdWFscyhiX29wdHNbYl9vcHRzX2xlbmd0aF0udmFsdWUsICIyIik7Cit9LCAi
SFRNTE9wdGlvbnNDb2xsZWN0aW9uLmFkZCBtZXRob2QgaW5zZXJ0IEhUTUxPcHRpb25FbGVtZW50
IE9wdGlvbiBlbGVtZW50Iik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZhciBiX29wdHNfbGVu
Z3RoID0gYl9vcHRzLmxlbmd0aDsKKyAgYl9vcHRzLnJlbW92ZSgwKTsKKyAgYXNzZXJ0X2VxdWFs
cyhiX29wdHMubGVuZ3RoLCBiX29wdHNfbGVuZ3RoIC0gMSk7Cit9LCAiSFRNTE9wdGlvbnNDb2xs
ZWN0aW9uLnJlbW92ZSBtZXRob2QgcmVtb3ZlIE9wdGlvbiBlbGVtZW50IGJ5IGluZGV4Iik7CisK
K3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZhciBhZGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJw
Iik7CisgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHtiX29wdHMu
YWRkKGFkZCk7fSk7Cit9LCAiQWRkIG5vbi1vcHRpb24gdG8gY29sbGVjdGlvbiIpOworCis8L3Nj
cmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20t
aW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9yYWRpb25vZGVsaXN0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVy
ZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvcmFkaW9ub2RlbGlzdC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYWY5OTEyMmY4MWZjZWU3YzUwMDZjNjNiYjlkYmRjNTUyZDkxNDIz
MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVj
dGlvbnMvcmFkaW9ub2RlbGlzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKK1BBU1Mg
VGhlIHZhbHVlIGF0dHJpYnV0ZSBzaG91bGQgYmUgZW1wdHkgaWYgbm8gZWxlbWVudCBpcyBjaGVj
a2VkIAorUEFTUyBUaGUgUmFkaW9Ob2RlTGlzdC52YWx1ZSBtdXN0IGJlIHRoZSBmaXJzdCBjaGVj
a2VkIHJhZGlvIGJ1dHRvbidzIHZhbHVlIAorUEFTUyBDaGVjayB0aGUgUmFkaW9Ob2RlTGlzdC52
YWx1ZSBvbiBnZXR0aW5nIAorUEFTUyBDaGVjayB0aGUgUmFkaW9Ob2RlTGlzdC52YWx1ZSBvbiBz
ZXR0aW5nIAorUEFTUyBDaGVjayB0aGUgUmFkaW9Ob2RlTGlzdC52YWx1ZSBvbiBzZXR0aW5nIHRv
ICdvbicgCisgICAgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2Nv
bGxlY3Rpb25zL3JhZGlvbm9kZWxpc3QuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFj
ZXMvY29sbGVjdGlvbnMvcmFkaW9ub2RlbGlzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjNzBkNzE3MmMz
NzcxMTFkZDE3ZmViY2VhZTg5MzEzOTI1YWFiODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUv
Y29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL3JhZGlvbm9kZWxpc3QuaHRtbApAQCAt
MCwwICsxLDc4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5IVE1MIFRlc3Q6IHRoZSBSYWRpb05vZGVMaXN0IGludGVyZmFjZTwvdGl0bGU+Cis8bGlu
ayByZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8vd3d3LmludGVsLmNvbS8i
PgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211
bHRpcGFnZS9tdWx0aXBhZ2UvY29tbW9uLWRvbS1pbnRlcmZhY2VzLmh0bWwjcmFkaW9ub2RlbGlz
dCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGZvcm0gPgorICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5h
bWU9InJkbyIgdmFsdWU9IjAiIGlkPSJyMCIgY2hlY2tlZD4KKyAgPGlucHV0IHR5cGU9InJhZGlv
IiBuYW1lPSJyZG8iIGlkPSJyMSI+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0icmRvIiBp
ZD0icjIiIHZhbHVlPSIyIj4KKzwvZm9ybT4KKzxzY3JpcHQ+CisKK3ZhciByZG9MaXN0OworCitz
ZXR1cChmdW5jdGlvbiAoKSB7CisgIHJkb0xpc3QgPSBkb2N1bWVudC5mb3Jtc1swXS5lbGVtZW50
cy5uYW1lZEl0ZW0oInJkbyIpOworfSk7CisKKy8vb24gZ2V0dGluZwordGVzdChmdW5jdGlvbiAo
KSB7CisgIGFzc2VydF9lcXVhbHMocmRvTGlzdC52YWx1ZSwgIiIsICJUaGUgdmFsdWUgYXR0cmli
dXRlIHNob3VsZCBiZSBlbXB0eS4iKTsKK30sICJUaGUgdmFsdWUgYXR0cmlidXRlIHNob3VsZCBi
ZSBlbXB0eSBpZiBubyBlbGVtZW50IGlzIGNoZWNrZWQiKTsKKwordGVzdChmdW5jdGlvbiAoKSB7
CisgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyMiIpLmNoZWNrZWQgPSB0cnVlOworICBhc3Nl
cnRfZXF1YWxzKHJkb0xpc3QudmFsdWUsICIyIiwgIlRoZSB2YWx1ZSBhdHRyaWJ1dGUgc2hvdWxk
IGJlIDIuIik7Cit9LCAiVGhlIFJhZGlvTm9kZUxpc3QudmFsdWUgbXVzdCBiZSB0aGUgZmlyc3Qg
Y2hlY2tlZCByYWRpbyBidXR0b24ncyB2YWx1ZSIpOworCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInIxIikuY2hlY2tlZCA9IHRydWU7CisgIGFzc2VydF9l
cXVhbHMocmRvTGlzdC52YWx1ZSwgIm9uIiwgIlRoZSB2YWx1ZSBhdHRyaWJ1dGUgc2hvdWxkIGJl
IG9uLiIpOworCisgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyMSIpLnZhbHVlID0gMTsKKyAg
YXNzZXJ0X2VxdWFscyhyZG9MaXN0LnZhbHVlLCAiMSIsICJUaGUgdmFsdWUgYXR0cmlidXRlIHNo
b3VsZCBiZSAxLiIpOworfSwgIkNoZWNrIHRoZSBSYWRpb05vZGVMaXN0LnZhbHVlIG9uIGdldHRp
bmciKTsKKworLy9vbiBzZXR0aW5nCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgYXNzZXJ0X2VxdWFs
cyhyZG9MaXN0LnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicjEiKS52YWx1ZSwKKyAg
ICAgICAgICAgICAgICAiVGhlIHZhbHVlIGF0dHJpYnV0ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhl
IGZpcnN0IGNoZWNrZWQgcmFkaW8gaW5wdXQgZWxlbWVudCdzIHZhbHVlLiIpOworICBhc3NlcnRf
ZmFsc2UoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInIyIikuY2hlY2tlZCwKKyAgICAgICAgICAg
ICAgICJUaGUgc2Vjb25kIHJhZGlvIGlucHV0IGVsZW1lbnQgc2hvdWxkIG5vdCBiZSBjaGVja2Vk
LiIpOworCisgIHJkb0xpc3QudmFsdWUgPSAiMiI7CisgIGFzc2VydF9lcXVhbHMocmRvTGlzdC52
YWx1ZSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInIyIikudmFsdWUsCisgICAgICAgICAgICAg
ICAgIlRoZSB2YWx1ZSBhdHRyaWJ1dGUgc2hvdWxkIGJlIGVxdWFsIHRvIHRoZSBzZWNvbmQgcmFk
aW8gaW5wdXQgZWxlbWVudCdzIHZhbHVlLiIpOworICBhc3NlcnRfdHJ1ZShkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicjIiKS5jaGVja2VkLAorICAgICAgICAgICAgICAiVGhlIHNlY29uZCByYWRp
byBpbnB1dCBlbGVtZW50IHNob3VsZCBiZSBjaGVja2VkLiIpOworCisgIC8vRG8gbm90aGluZyBp
ZiBubyBlbGVtZW50J3MgdmFsdWUgaXMgZXF1YWwgdG8gbmV3IHZhbHVlLgorICByZG9MaXN0LnZh
bHVlID0gIjMiOworICBhc3NlcnRfZXF1YWxzKHJkb0xpc3QudmFsdWUsIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJyMiIpLnZhbHVlLAorICAgICAgICAgICAgICAgICJUaGUgdmFsdWUgYXR0cmli
dXRlIHNob3VsZCBiZSB0aGUgc2Vjb25kIHJhZGlvIGlucHV0IGVsZW1lbnQncyB2YWx1ZS4iKTsK
KyAgYXNzZXJ0X3RydWUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInIyIikuY2hlY2tlZCwKKyAg
ICAgICAgICAgICAgIlRoZSBzZWNvbmQgcmFkaW8gaW5wdXQgZWxlbWVudCBzaG91bGQgYmUgY2hl
Y2tlZC4iKTsKK30sICJDaGVjayB0aGUgUmFkaW9Ob2RlTGlzdC52YWx1ZSBvbiBzZXR0aW5nIik7
CisKKy8vc2V0dGluZyB0byBvbiwgc3BlY2lmaWMgY2FzZQordGVzdChmdW5jdGlvbiAoKSB7Cisg
IHJkb0xpc3QudmFsdWUgPSAib24iOworICBhc3NlcnRfZXF1YWxzKHJkb0xpc3QudmFsdWUsIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJyMiIpLnZhbHVlLAorICAgICAgICAgICAgICAgICJUaGUg
dmFsdWUgYXR0cmlidXRlIHNob3VsZCBiZSB0aGUgc2Vjb25kIHJhZGlvIGlucHV0IGVsZW1lbnQn
cyB2YWx1ZS4iKTsKKyAgYXNzZXJ0X3RydWUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInIyIiku
Y2hlY2tlZCwKKyAgICAgICAgICAgICAgIlRoZSBzZWNvbmQgcmFkaW8gaW5wdXQgZWxlbWVudCBz
aG91bGQgYmUgY2hlY2tlZC4iKTsKKworICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicjEiKS5y
ZW1vdmVBdHRyaWJ1dGUoInZhbHVlIik7CisgIHJkb0xpc3QudmFsdWUgPSAib24iOworICBhc3Nl
cnRfZXF1YWxzKHJkb0xpc3QudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyMSIpLnZh
bHVlLAorICAgICAgICAgICAgICAgICJUaGUgdmFsdWUgYXR0cmlidXRlIHNob3VsZCBiZSB0aGUg
Zmlyc3QgcmFkaW8gaW5wdXQgZWxlbWVudCdzIHZhbHVlLiIpOworICBhc3NlcnRfdHJ1ZShkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicjEiKS5jaGVja2VkLAorICAgICAgICAgICAgICAiVGhlIGZp
cnN0IHJhZGlvIGlucHV0IGVsZW1lbnQgc2hvdWxkIGJlIGNoZWNrZWQuIik7Cit9LCAiQ2hlY2sg
dGhlIFJhZGlvTm9kZUxpc3QudmFsdWUgb24gc2V0dGluZyB0byAnb24nIik7CisKKworPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25z
L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9u
cy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYTRmZjBkMjliZWFiZTdiODM5N2QzOTUyZjlh
OTUzN2Q0ZjI1YTJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJm
YWNlcy9jb2xsZWN0aW9ucy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIyIEBACitUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6CisJ
aHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CisJaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1v
dmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9j
b21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvY29udGFpbnMuanNvbgorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9j
b21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbGFsbGNvbGxlY3Rpb24uaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0
cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbGZvcm1jb250cm9s
c2NvbGxlY3Rpb24uaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlv
bnMvaHRtbG9wdGlvbnNjb2xsZWN0aW9uLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZh
Y2VzL2NvbGxlY3Rpb25zL3JhZGlvbm9kZWxpc3QuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2Nv
bW1vbi1taWNyb3N5bnRheGVzL2RhdGVzLWFuZC10aW1lcy9jb250YWlucy5qc29uIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJl
L2NvbW1vbi1taWNyb3N5bnRheGVzL2RhdGVzLWFuZC10aW1lcy9jb250YWlucy5qc29uCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjViZTMxZWI0OGYxOWEyNDkzODZhODVmMGQyNjBkMGVlN2Y1NWM2OTIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLW1pY3Jvc3ludGF4ZXMvZGF0ZXMtYW5kLXRpbWVzL2Nv
bnRhaW5zLmpzb24KQEAgLTAsMCArMSw0MiBAQAorWworICAgIHsKKyAgICAgICAgImlkIjogIm1v
bnRocyIsCisgICAgICAgICJvcmlnaW5hbF9pZCI6ICJtb250aHMiCisgICAgfSwKKyAgICB7Cisg
ICAgICAgICJpZCI6ICJkYXRlcyIsCisgICAgICAgICJvcmlnaW5hbF9pZCI6ICJkYXRlcyIKKyAg
ICB9LAorICAgIHsKKyAgICAgICAgImlkIjogInllYXJsZXNzLWRhdGVzIiwKKyAgICAgICAgIm9y
aWdpbmFsX2lkIjogInllYXJsZXNzLWRhdGVzIgorICAgIH0sCisgICAgeworICAgICAgICAiaWQi
OiAidGltZXMiLAorICAgICAgICAib3JpZ2luYWxfaWQiOiAidGltZXMiCisgICAgfSwKKyAgICB7
CisgICAgICAgICJpZCI6ICJsb2NhbC1kYXRlcy1hbmQtdGltZXMiLAorICAgICAgICAib3JpZ2lu
YWxfaWQiOiAibG9jYWwtZGF0ZXMtYW5kLXRpbWVzIgorICAgIH0sCisgICAgeworICAgICAgICAi
aWQiOiAidGltZS16b25lcyIsCisgICAgICAgICJvcmlnaW5hbF9pZCI6ICJ0aW1lLXpvbmVzIgor
ICAgIH0sCisgICAgeworICAgICAgICAiaWQiOiAiZ2xvYmFsLWRhdGVzLWFuZC10aW1lcyIsCisg
ICAgICAgICJvcmlnaW5hbF9pZCI6ICJnbG9iYWwtZGF0ZXMtYW5kLXRpbWVzIgorICAgIH0sCisg
ICAgeworICAgICAgICAiaWQiOiAid2Vla3MiLAorICAgICAgICAib3JpZ2luYWxfaWQiOiAid2Vl
a3MiCisgICAgfSwKKyAgICB7CisgICAgICAgICJpZCI6ICJkdXJhdGlvbnMiLAorICAgICAgICAi
b3JpZ2luYWxfaWQiOiAiZHVyYXRpb25zIgorICAgIH0sCisgICAgeworICAgICAgICAiaWQiOiAi
dmFndWVyLW1vbWVudHMtaW4tdGltZSIsCisgICAgICAgICJvcmlnaW5hbF9pZCI6ICJ2YWd1ZXIt
bW9tZW50cy1pbi10aW1lIgorICAgIH0KK10KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLW1pY3Jvc3ludGF4ZXMvZGF0ZXMtYW5kLXRpbWVzL3cz
Yy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRheGVzL2RhdGVzLWFuZC10aW1l
cy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NDliZWMxMTVlOWYzZjMyNTFmMmRhZTk0MGIz
NTIyNjUzNDQ4MDQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRh
eGVzL2RhdGVzLWFuZC10aW1lcy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDE4IEBACitUaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6
CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CisJaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1w
b3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciBy
ZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9y
IHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVy
ZS9jb21tb24tbWljcm9zeW50YXhlcy9kYXRlcy1hbmQtdGltZXMvY29udGFpbnMuanNvbgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2luZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRheGVzL251bWJlcnMvY29udGFpbnMuanNv
biBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZy
YXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhlcy9udW1iZXJzL2NvbnRhaW5zLmpzb24KbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzlhNmVhMDA1ODgzZjBmNjU0NTYzYWQ3YjdiYmFiMWJkMDdiNTQ5ZgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhlcy9udW1iZXJzL2NvbnRhaW5z
Lmpzb24KQEAgLTAsMCArMSwyNiBAQAorWworICAgIHsKKyAgICAgICAgImlkIjogInNpZ25lZC1p
bnRlZ2VycyIsCisgICAgICAgICJvcmlnaW5hbF9pZCI6ICJzaWduZWQtaW50ZWdlcnMiCisgICAg
fSwKKyAgICB7CisgICAgICAgICJpZCI6ICJub24tbmVnYXRpdmUtaW50ZWdlcnMiLAorICAgICAg
ICAib3JpZ2luYWxfaWQiOiAibm9uLW5lZ2F0aXZlLWludGVnZXJzIgorICAgIH0sCisgICAgewor
ICAgICAgICAiaWQiOiAiZmxvYXRpbmctcG9pbnQtbnVtYmVycyIsCisgICAgICAgICJvcmlnaW5h
bF9pZCI6ICJmbG9hdGluZy1wb2ludC1udW1iZXJzIgorICAgIH0sCisgICAgeworICAgICAgICAi
aWQiOiAicGVyY2VudGFnZXMtYW5kLWRpbWVuc2lvbnMiLAorICAgICAgICAib3JpZ2luYWxfaWQi
OiAicGVyY2VudGFnZXMtYW5kLWRpbWVuc2lvbnMiCisgICAgfSwKKyAgICB7CisgICAgICAgICJp
ZCI6ICJsaXN0cy1vZi1pbnRlZ2VycyIsCisgICAgICAgICJvcmlnaW5hbF9pZCI6ICJsaXN0cy1v
Zi1pbnRlZ2VycyIKKyAgICB9LAorICAgIHsKKyAgICAgICAgImlkIjogImxpc3RzLW9mLWRpbWVu
c2lvbnMiLAorICAgICAgICAib3JpZ2luYWxfaWQiOiAibGlzdHMtb2YtZGltZW5zaW9ucyIKKyAg
ICB9CitdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2Nv
bW1vbi1taWNyb3N5bnRheGVzL251bWJlcnMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9u
LW1pY3Jvc3ludGF4ZXMvbnVtYmVycy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42N2U3NWQ5
ZDFhNzRiZjU5NjNiNjc4NDYyNjIxMjM3YmZiMWEyMjNjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0
dXJlL2NvbW1vbi1taWNyb3N5bnRheGVzL251bWJlcnMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCAr
MSwxOCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBv
ciBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5P
VCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0
aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBm
aWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
aW5mcmFzdHJ1Y3R1cmUvY29tbW9uLW1pY3Jvc3ludGF4ZXMvbnVtYmVycy9jb250YWlucy5qc29u
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzL2V4dGVuc2liaWxp
dHkvZm9yZWlnbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29uZm9ybWFuY2UtcmVxdWlyZW1lbnRz
L2V4dGVuc2liaWxpdHkvZm9yZWlnbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWRhZTcyMDIz
OTBmM2VlMGRjMGQyNjYwZDIyZWRhMDFlOGI5YmJiMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVy
ZS9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvZXh0ZW5zaWJpbGl0eS9mb3JlaWduLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDcgQEAKK1VzZXIgYWdlbnRzIG11c3QgdHJlYXQgZWxlbWVudHMgYW5k
IGF0dHJpYnV0ZXMgdGhhdCB0aGV5IGRvIG5vdCB1bmRlcnN0YW5kIGFzIHNlbWFudGljYWxseSBu
ZXV0cmFsOyBsZWF2aW5nIHRoZW0gaW4gdGhlIERPTSAoZm9yIERPTSBwcm9jZXNzb3JzKSwgYW5k
IHN0eWxpbmcgdGhlbSBhY2NvcmRpbmcgdG8gQ1NTIChmb3IgQ1NTIHByb2Nlc3NvcnMpLCBidXQg
bm90IGluZmVycmluZyBhbnkgbWVhbmluZyBmcm9tIHRoZW0uCisKK0Zvb2JhcgorUnVubmluZyB0
ZXN0Li4uCisKK1BBU1MgZm9yZWlnbiBjb250ZW50IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29u
Zm9ybWFuY2UtcmVxdWlyZW1lbnRzL2V4dGVuc2liaWxpdHkvZm9yZWlnbi5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJl
L2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy9leHRlbnNpYmlsaXR5L2ZvcmVpZ24uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lYWExMzNiYWRlZTE2ZDFkYWRlNmRlMDJlNGNmNjQ2NTE1Mjg5ZWI1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2luZnJhc3RydWN0dXJlL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy9leHRlbnNpYmlsaXR5
L2ZvcmVpZ24uaHRtbApAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxh
bmc9ImVuIiBmb289J2Jhcic+CisgIDxoZWFkIGZvbz0nYmFyJz4KKyAgICA8bWV0YSBjaGFyc2V0
PSJ1dGYtOCIgZm9vPSdiYXInPgorICAgIDx0aXRsZSBpZD0ndGl0bGUnIGZvbz0nYmFyJz5Gb3Jl
aWduIGNvbnRlbnQ8L3RpdGxlPgorICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iUGhpbGlw
cGUgTGUgSGVnYXJldCIgaHJlZj0ibWFpbHRvOnBsaEB3My5vcmciICBmb289J2Jhcic+CisgICAg
PGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRp
cGFnZS8jZXh0ZW5zaWJpbGl0eSIgIGZvbz0nYmFyJz4KKyAgICA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIgIGZvbz0nYmFyJz48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyIgZm9vPSdiYXInPjwvc2NyaXB0Pgor
ICA8L2hlYWQ+CisKKyAgPGJvZHkgZm9vPSdiYXInPgorCisgICAgPHAgY2xhc3M9J2Fzc2VydCcg
Zm9vPSdiYXInPlVzZXIgYWdlbnRzIG11c3QgdHJlYXQgZWxlbWVudHMgYW5kIGF0dHJpYnV0ZXMg
dGhhdCB0aGV5IGRvIG5vdCB1bmRlcnN0YW5kIGFzIHNlbWFudGljYWxseSBuZXV0cmFsOyBsZWF2
aW5nIHRoZW0gaW4gdGhlIERPTSAoZm9yIERPTSBwcm9jZXNzb3JzKSwgYW5kIHN0eWxpbmcgdGhl
bSBhY2NvcmRpbmcgdG8gQ1NTIChmb3IgQ1NTIHByb2Nlc3NvcnMpLCBidXQgbm90IGluZmVycmlu
ZyBhbnkgbWVhbmluZyBmcm9tIHRoZW0uPC9wPgorCisgICAgPGZvbyBmb289J2JhcicgZWNobz5G
b29iYXI8L2Zvbz4KKworICAgIDxkaXYgaWQ9ImxvZyI+UnVubmluZyB0ZXN0Li4uPC9kaXY+CisK
KyAgICA8c2NyaXB0PgorICAgICAgdmFyIHQgPSBhc3luY190ZXN0KCJmb3JlaWduIGNvbnRlbnQi
KTsKKworICAgICAgb25fZXZlbnQod2luZG93LCAibG9hZCIsCisgICAgICAgICAgICAgICB0LnN0
ZXBfZnVuYyhmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgdmFyIG5vZGVzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTsKKyAgICAgICAgICAgICAgICAgdmFyIGNvbnQg
PSB0cnVlOworICAgICAgICAgICAgICAgICB2YXIgbGFzdCA9IG51bGw7CisgICAgICAgICAgICAg
ICAgIGZvcih2YXIgaT0wO2k8bm9kZXMubGVuZ3RoICYmIGNvbnQ7IGkrKykgeworICAgICAgICAg
ICAgICAgICAgIHZhciBhcyA9IG5vZGVzLml0ZW0oaSkuZ2V0QXR0cmlidXRlKCJmb28iKTsKKyAg
ICAgICAgICAgICAgICAgICBpZiAoIShhcyA9PT0gImJhciIpICYmIChub2Rlcy5pdGVtKGkpLmdl
dEF0dHJpYnV0ZSgiaWQiKSA9PT0gImxvZyIpKSB7CisgICAgICAgICAgICAgICAgICAgICBjb250
ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAg
ICAgIGxhc3QgPSBub2Rlcy5pdGVtKGkpOworICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhhcywgImJhciIpOworICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAg
fQorCisgICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobGFzdC5ub2RlTmFtZSwgIkZPTyIp
OworICAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGxhc3QuZ2V0QXR0cmlidXRlKCJlY2hv
IiksICIiKTsKKyAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhsYXN0LmdldEF0dHJpYnV0
ZSgiY2hhcmx5IiksIG51bGwpOworICAgICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAg
ICAgICAgIH0pKTsKKyAgICA8L3NjcmlwdD4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJh
c3RydWN0dXJlL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy9leHRlbnNpYmlsaXR5L3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2luZnJhc3RydWN0dXJlL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy9leHRlbnNpYmlsaXR5L3cz
Yy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjZGI5MGZmNjRlYjgzZGFjNzEyNGJiZjZiMGZiOTA5
OGNlOTkxM2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29uZm9ybWFuY2UtcmVxdWlyZW1l
bnRzL2V4dGVuc2liaWxpdHkvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOCBAQAorVGhlIHRl
c3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRv
cnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3Rl
YWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgor
CWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorCWh0dHBzOi8vZ2l0aHViLmNvbS93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9y
dC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVt
b3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUv
Y29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzL2V4dGVuc2liaWxpdHkvZm9yZWlnbi5odG1sCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
aW5mcmFzdHJ1Y3R1cmUvdGVybWlub2xvZ3kvcGx1Z2lucy9zYW1wbGUudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL3Rl
cm1pbm9sb2d5L3BsdWdpbnMvc2FtcGxlLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZWRlY2Q2ZDg4NGQxODFh
NzQwZjViZTExMGQ4Njk2NzlmNzY4MTg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL3Rlcm1p
bm9sb2d5L3BsdWdpbnMvc2FtcGxlLnR4dApAQCAtMCwwICsxLDMgQEAKK1RoaXMgaXMgYSBzYW1w
bGUgdGV4dC9wbGFpbiBkb2N1bWVudC4KKworVGhpcyBpcyBub3QgYW4gSFRNTCBkb2N1bWVudC4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbmZyYXN0cnVjdHVyZS90ZXJtaW5vbG9neS9wbHVnaW5zL3RleHQtcGxhaW4tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2luZnJhc3RydWN0dXJlL3Rlcm1pbm9sb2d5L3BsdWdpbnMvdGV4dC1wbGFpbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMWUzOWViYjFmYTI1MmU0OWQzMmFiMzk3ZTczY2I3ZGRiMGYzMjVhYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS90ZXJtaW5vbG9neS9wbHVnaW5zL3RleHQtcGxhaW4t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorVGVzdCBvZiBwbHVnaW4gc3VwcG9ydAorCitB
IHVzZXIgYWdlbnQgbXVzdCBub3QgY29uc2lkZXIgdGhlIHR5cGVzIHRleHQvcGxhaW4gYW5kIGFw
cGxpY2F0aW9uL29jdGV0LXN0cmVhbSBhcyBoYXZpbmcgYSByZWdpc3RlcmVkIHBsdWdpbi4KKwor
CitSdW5uaW5nIHRlc3QuLi4KKworUEFTUyBBIHVzZXIgYWdlbnQgbXVzdCBub3QgY29uc2lkZXIg
dGhlIHR5cGUgdGV4dC9wbGFpbiBhcyBoYXZpbmcgYSByZWdpc3RlcmVkIHBsdWdpbi4gCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9pbmZyYXN0cnVjdHVyZS90ZXJtaW5vbG9neS9wbHVnaW5zL3RleHQtcGxhaW4uaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVj
dHVyZS90ZXJtaW5vbG9neS9wbHVnaW5zL3RleHQtcGxhaW4uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZWQw
Y2UyM2I4YWUxM2ZiZDcxYmMzZWQ2ZWI3MDczMjM2MmVkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3Ry
dWN0dXJlL3Rlcm1pbm9sb2d5L3BsdWdpbnMvdGV4dC1wbGFpbi5odG1sCkBAIC0wLDAgKzEsMzIg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorICA8aGVhZD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgPHRpdGxlIGlkPSd0aXRsZSc+TWVkaWEgVHlwZXM8L3Rp
dGxlPgorICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iUGhpbGlwcGUgTGUgSGVnYXJldCIg
aHJlZj0ibWFpbHRvOnBsaEB3My5vcmciLz4KKyAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyNwbHVnaW5zIi8+CisgICAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgPC9o
ZWFkPgorCisgIDxib2R5PgorICAgIDxzY3JpcHQ+CisgICAgICB2YXIgdCA9IGFzeW5jX3Rlc3Qo
IkEgdXNlciBhZ2VudCBtdXN0IG5vdCBjb25zaWRlciB0aGUgdHlwZSB0ZXh0L3BsYWluIGFzIGhh
dmluZyBhIHJlZ2lzdGVyZWQgcGx1Z2luLiIpOworCisgICAgICB3aW5kb3cub25sb2FkID0KKyAg
ICAgICAgdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lQ29udGV4dCIpLmNvbnRlbnREb2N1bWVudC5ib2R5
LmZpcnN0Q2hpbGQubm9kZU5hbWUsICJQUkUiKTsKKyAgICAgICAgdC5kb25lKCk7CisgICAgICB9
KTsKKyAgICA8L3NjcmlwdD4KKworICAgIDxoMT5UZXN0IG9mIHBsdWdpbiBzdXBwb3J0PC9oMT4K
KyAgICA8cCBjbGFzcz0nYXNzZXJ0Jz5BIHVzZXIgYWdlbnQgbXVzdCBub3QgY29uc2lkZXIgdGhl
IHR5cGVzIHRleHQvcGxhaW4gYW5kIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSBhcyBoYXZpbmcg
YSByZWdpc3RlcmVkIHBsdWdpbi48L3A+CisKKyAgICA8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQi
IHNyYz0ic2FtcGxlLnR4dCI+PC9pZnJhbWU+CisKKworICAgIDxkaXYgaWQ9ImxvZyI+UnVubmlu
ZyB0ZXN0Li4uPC9kaXY+CisKKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJl
L3Rlcm1pbm9sb2d5L3BsdWdpbnMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvdGVybWlub2xvZ3kv
cGx1Z2lucy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTg3MjcwYTg0OGY4MjRmYTIzNjc0
YjViNzZmZWJlNGFiZmQzMjUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL3Rlcm1pbm9sb2d5
L3BsdWdpbnMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOSBAQAorVGhlIHRlc3RzIGluIHRo
aXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBO
T1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgorCWh0dHBzOi8v
Z2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMg
ZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJl
Zml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoK
K05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvdGVybWlub2xv
Z3kvcGx1Z2lucy9zYW1wbGUudHh0CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL3Rlcm1pbm9sb2d5L3BsdWdpbnMvdGV4dC1w
bGFpbi5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291317</attachid>
            <date>2016-10-11 16:39:09 -0700</date>
            <delta_ts>2016-10-11 17:28:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163296-20161011163546.patch</filename>
            <type>text/plain</type>
            <size>46349</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3MTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzMyZjE1MzNiOWZlMmRk
MzRmMzMzMTYzZWFmMzY0NTQ0OGY0YTFjOS4uOTNmYWRjOGI5OThhYTRmYmU3N2ExYjMyNWZiOThj
OWQ2ZjdhMWJhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE2LTEwLTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgc2VsZWN0Lm9wdGlvbnMgbWF5
IHJldHVybiB0b28gbWFueSBvcHRpb24gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzI5NgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5
b3N1a2UgTml3YS4KKworICAgICAgICBzZWxlY3Qub3B0aW9ucyBtYXkgcmV0dXJuIHRvbyBtYW55
IG9wdGlvbiBlbGVtZW50cy4gV2UncmUgb25seSBzdXBwb3NlZAorICAgICAgICB0byByZXR1cm4g
dGhlIG9wdGlvbiBlbGVtZW50IGNoaWxkcmVuIG9mIHRoZSBzZWxlY3QgZWxlbWVudCwgYW5kIHRo
ZQorICAgICAgICBvcHRpb24gZWxlbWVudCBjaGlsZHJlbiBvZiBhbGwgdGhlIG9wdGdyb3VwIGVs
ZW1lbnQgY2hpbGRyZW4gb2YgdGhlCisgICAgICAgIHNlbGVjdCBlbGVtZW50LCBpbiB0cmVlIG9y
ZGVyOgorICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI2RvbS1zZWxlY3Qt
b3B0aW9ucworICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQt
c2VsZWN0LW9wdGlvbi1saXN0CisKKyAgICAgICAgRmlyZWZveCBhbmQgQ2hyb21lIGFncmVlcyB3
aXRoIHRoZSBzcGVjaWZpY2F0aW9uLiBIb3dldmVyLCBXZWJLaXQgd2FzCisgICAgICAgIHJldHVy
bmluZyBhbGwgdGhlIG9wdGlvbiBlbGVtZW50cyB0aGF0IGFyZSBkZXNjZW5kYW50cyBvZiB0aGUg
c2VsZWN0CisgICAgICAgIGVsZW1lbnQuCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNl
cy9jb2xsZWN0aW9ucy9odG1sb3B0aW9uc2NvbGxlY3Rpb24uaHRtbAorCisgICAgICAgICogaHRt
bC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaDoKKwogMjAxNi0xMC0xMCAgQnJlbnQgRnVsZ2hhbSAg
PGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXVtEaXJlY3QyRF0gQWRkIGluaXRp
YWwgUGF0dGVybiBoYW5kbGluZyBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE9wdGlvbnNDb2xsZWN0aW9uLmgKaW5kZXggOWNkYTI4ZTBjZTdjZDRlM2I1YmQwZjM1YjVh
YWQ5MDNjODYyMDc4My4uOWJkOTYwMmY0NjkzZGMxNmMyNzRiNGMzZmNjNDQwZjU2NDg5NGQ2OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oCkBAIC03MCw3
ICs3MCwxNCBAQCBpbmxpbmUgSFRNTE9wdGlvbkVsZW1lbnQqIEhUTUxPcHRpb25zQ29sbGVjdGlv
bjo6bmFtZWRJdGVtKGNvbnN0IEF0b21pY1N0cmluZyYgbgogCiBpbmxpbmUgYm9vbCBIVE1MT3B0
aW9uc0NvbGxlY3Rpb246OmVsZW1lbnRNYXRjaGVzKEVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIGVsZW1lbnQuaGFzVGFnTmFtZShIVE1MTmFtZXM6Om9wdGlvblRhZyk7Cisg
ICAgaWYgKCFlbGVtZW50Lmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpvcHRpb25UYWcpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoZWxlbWVudC5wYXJlbnROb2RlKCkgPT0gJnNlbGVj
dEVsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBBU1NFUlQoZWxlbWVudC5w
YXJlbnROb2RlKCkpOworICAgIHJldHVybiBlbGVtZW50LnBhcmVudE5vZGUoKS0+aGFzVGFnTmFt
ZShIVE1MTmFtZXM6Om9wdGdyb3VwVGFnKSAmJiBlbGVtZW50LnBhcmVudE5vZGUoKS0+cGFyZW50
Tm9kZSgpID09ICZzZWxlY3RFbGVtZW50KCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDhiNWE5NTNiNGQ0ODYyYTA3NDdjOWEx
NTJmNmJiNTAxOTlmOGY4NWQuLjc3MTJjNzdmYTY2ZjBjZGMxODUwZmFiNmE4ZTU2MTQ2ZjgwZWE5
ZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE2
LTEwLTExICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgc2VsZWN0
Lm9wdGlvbnMgbWF5IHJldHVybiB0b28gbWFueSBvcHRpb24gZWxlbWVudHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzI5NgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBJbXBvcnQgaHRtbC9pbmZyYXN0cnVj
dHVyZSB3ZWItcGxhdGZvcm0tdGVzdHMgZnJvbSB1cHN0cmVhbS4KKworICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9j
b2xsZWN0aW9ucy9jb250YWlucy5qc29uOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlv
bnMvaHRtbGFsbGNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMv
Y29sbGVjdGlvbnMvaHRtbGFsbGNvbGxlY3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2Vz
L2NvbGxlY3Rpb25zL2h0bWxmb3JtY29udHJvbHNjb2xsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29t
bW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0bWxmb3JtY29udHJvbHNjb2xsZWN0aW9u
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3Ry
dWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9odG1sb3B0aW9uc2NvbGxl
Y3Rpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRt
bG9wdGlvbnNjb2xsZWN0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9u
cy9yYWRpb25vZGVsaXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxl
Y3Rpb25zL3JhZGlvbm9kZWxpc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rp
b25zL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhlcy9kYXRlcy1hbmQtdGltZXMv
Y29udGFpbnMuanNvbjogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
aW5mcmFzdHJ1Y3R1cmUvY29tbW9uLW1pY3Jvc3ludGF4ZXMvZGF0ZXMtYW5kLXRpbWVzL3czYy1p
bXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZy
YXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhlcy9udW1iZXJzL2NvbnRhaW5zLmpzb246IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2Nv
bW1vbi1taWNyb3N5bnRheGVzL251bWJlcnMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbmZvcm1hbmNlLXJl
cXVpcmVtZW50cy9leHRlbnNpYmlsaXR5L2ZvcmVpZ24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb25mb3JtYW5j
ZS1yZXF1aXJlbWVudHMvZXh0ZW5zaWJpbGl0eS9mb3JlaWduLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbmZvcm1hbmNlLXJl
cXVpcmVtZW50cy9leHRlbnNpYmlsaXR5L3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS90ZXJtaW5vbG9neS9wbHVn
aW5zL3NhbXBsZS50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2luZnJhc3RydWN0dXJlL3Rlcm1pbm9sb2d5L3BsdWdpbnMvdGV4dC1wbGFpbi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0
dXJlL3Rlcm1pbm9sb2d5L3BsdWdpbnMvdGV4dC1wbGFpbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS90ZXJtaW5vbG9neS9wbHVn
aW5zL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKwogMjAxNi0xMC0xMSAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW0ZldGNoIEFQSV0gU3VwcG9ydCBSZXF1ZXN0
IGNhY2hlIG1vZGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29s
bGVjdGlvbnMvY29udGFpbnMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29s
bGVjdGlvbnMvY29udGFpbnMuanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMzBmMWQwZDUzMzMzNWMxMWNkODNj
ZTc5MzFjNDBkNzhjMmMwMDU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20t
aW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9jb250YWlucy5qc29uCkBAIC0wLDAgKzEsMTQgQEAKK1sK
KyAgICB7CisgICAgICAgICJpZCI6ICJodG1sYWxsY29sbGVjdGlvbiIsCisgICAgICAgICJvcmln
aW5hbF9pZCI6ICJodG1sYWxsY29sbGVjdGlvbiIKKyAgICB9LAorICAgIHsKKyAgICAgICAgImlk
IjogImh0bWxmb3JtY29udHJvbHNjb2xsZWN0aW9uIiwKKyAgICAgICAgIm9yaWdpbmFsX2lkIjog
Imh0bWxmb3JtY29udHJvbHNjb2xsZWN0aW9uIgorICAgIH0sCisgICAgeworICAgICAgICAiaWQi
OiAiaHRtbG9wdGlvbnNjb2xsZWN0aW9uIiwKKyAgICAgICAgIm9yaWdpbmFsX2lkIjogImh0bWxv
cHRpb25zY29sbGVjdGlvbiIKKyAgICB9CitdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9odG1s
YWxsY29sbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2Vz
L2NvbGxlY3Rpb25zL2h0bWxhbGxjb2xsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
NGNiYmE4NmQ0NTFkZjE1M2RjMDBkZGM5OWI0MmJhZWQyYWNkODYzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJh
c3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9odG1sYWxsY29sbGVj
dGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorCisKK1BBU1MgVGVzdCBmb3IgSFRN
TEFsbENvbGxlY3Rpb24gc2l6ZSAKK1BBU1MgVGVzdCBsb29rdXAgYnkgaW5kZXggdXNpbmcgKCkg
CitQQVNTIFRlc3QgbG9va3VwIGJ5IGluZGV4IHVzaW5nIFtdIAorUEFTUyBUZXN0IGxvb2t1cCBJ
TUcgYnkgbmFtZSAKK1BBU1MgVGVzdCBsb29rdXAgSU1HIGJ5IG5hbWVkSXRlbSAgCitQQVNTIFRl
c3QgbG9va3VwIElNRyBpbiBjb2xsZWN0aW9uIHVzaW5nICgpIAorUEFTUyBUZXN0IGxvb2t1cCBJ
TUcgaW4gY29sbGVjdGlvbiB1c2luZyBbXSAKK1BBU1MgVGVzdCBsb29rdXAgSU1HIGluIGNvbGxl
Y3Rpb24gdXNpbmcgLiAKK0ZBSUwgVGVzdCBsb29rdXAgdGFncyBpbiBjb2xsZWN0aW9uIHVzaW5n
IC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgInRhZ3MiIGJ1dCBnb3QgKHVuZGVm
aW5lZCkgdW5kZWZpbmVkCitQQVNTIFNob3VsZCBmaW5kIHJvb3QgZWxlbWVudCB0b28gCitGQUlM
IFNob3VsZCBmaW5kIGJvdGggYW5jaG9ycyBhbmQgcHJvZHVjZSBhIGxpc3QgdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2RvY3VtZW50LmFsbFsiZm9vIl0ubGVuZ3RoJykK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9o
dG1sYWxsY29sbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xs
ZWN0aW9ucy9odG1sYWxsY29sbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljZThlYzM1MGQxZmI5
MWEzZTU0ZTY3MjNkZmZiNmI3ZDNhNTI3NTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29t
bW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0bWxhbGxjb2xsZWN0aW9uLmh0bWwKQEAg
LTAsMCArMSw0NyBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbCBpZD0icm9vdCI+Cis8aGVhZD4K
Kzx0aXRsZT5IVE1MQWxsQ29sbGVjdGlvbiBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhv
ciIgdGl0bGU9IkRhbiBEcnV0YSIgaHJlZj0ibWFpbHRvOmRhbi5kcnV0YUBhdHQuY29tIi8+Cis8
bGluayByZWw9ImhlbHAiIGhyZWY9IjIuNy4yLjEgLSBDb21tb24gSW5mcmFzdHJ1Y3R1cmUvQ29t
bW9uIERPTSBJbnRlcmZhY2VzL0NvbGxlY3Rpb25zL0hUTUxBbGxDb2xsZWN0aW9uIi8+Cis8bWV0
YSBuYW1lPSJmbGFncyIgY29udGVudD0iVE9LRU5TIiAvPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBj
b250ZW50PSJURVNUIEFTU0VSVElPTiIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgaWQ9InRhZ3MiPgorPGltZyBzcmM9
Ii4uLy4uLy4uLy4uL2ltYWdlcy9ncmVlbi5wbmciIG5hbWU9InBpY3R1cmUiPgorPGEgbmFtZT0i
Zm9vIj48L2E+Cis8YSBuYW1lPSJmb28iPjwvYT4KKzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0aW9uKCl7
IGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuYWxsLmxlbmd0aCwxNCl9LCAiVGVzdCBmb3IgSFRNTEFs
bENvbGxlY3Rpb24gc2l6ZSIpOworCit0ZXN0KGZ1bmN0aW9uKCl7IGFzc2VydF9lcXVhbHMoZG9j
dW1lbnQuYWxsLml0ZW0oMCkudGFnTmFtZSwiSFRNTCIpfSwgIlRlc3QgbG9va3VwIGJ5IGluZGV4
IHVzaW5nICgpIik7CisKK3Rlc3QoZnVuY3Rpb24oKXsgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5h
bGxbMF0udGFnTmFtZSwiSFRNTCIpfSwgIlRlc3QgbG9va3VwIGJ5IGluZGV4IHVzaW5nIFtdIik7
CisKK3Rlc3QoZnVuY3Rpb24oKXsgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5hbGwuaXRlbSgicGlj
dHVyZSIpLm5vZGVOYW1lLCJJTUciKX0sICJUZXN0IGxvb2t1cCBJTUcgYnkgbmFtZSIpOworCit0
ZXN0KGZ1bmN0aW9uKCl7IGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuYWxsLm5hbWVkSXRlbSgicGlj
dHVyZSIpLm5vZGVOYW1lLCJJTUciKX0sICJUZXN0IGxvb2t1cCBJTUcgYnkgbmFtZWRJdGVtICIp
OworCit0ZXN0KGZ1bmN0aW9uKCl7IGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuYWxsKCJwaWN0dXJl
Iikubm9kZU5hbWUsIklNRyIpfSwgIlRlc3QgbG9va3VwIElNRyBpbiBjb2xsZWN0aW9uIHVzaW5n
ICgpIik7CisKK3Rlc3QoZnVuY3Rpb24oKXsgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5hbGxbInBp
Y3R1cmUiXS5ub2RlTmFtZSwiSU1HIil9LCAiVGVzdCBsb29rdXAgSU1HIGluIGNvbGxlY3Rpb24g
dXNpbmcgW10iKTsKKwordGVzdChmdW5jdGlvbigpeyBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmFs
bC5waWN0dXJlLm5vZGVOYW1lLCJJTUciKX0sICJUZXN0IGxvb2t1cCBJTUcgaW4gY29sbGVjdGlv
biB1c2luZyAuIik7CisKK3Rlc3QoZnVuY3Rpb24oKXsgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5h
bGwudGFncy5pZCwidGFncyIpfSwgIlRlc3QgbG9va3VwIHRhZ3MgaW4gY29sbGVjdGlvbiB1c2lu
ZyAuIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuYWxs
WyJyb290Il0sIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7Cit9LCAiU2hvdWxkIGZpbmQgcm9v
dCBlbGVtZW50IHRvbyIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfZXF1YWxzKGRv
Y3VtZW50LmFsbFsiZm9vIl0ubGVuZ3RoLCAyKTsKK30sICJTaG91bGQgZmluZCBib3RoIGFuY2hv
cnMgYW5kIHByb2R1Y2UgYSBsaXN0Iik7CisKK3Rlc3QKKzwvc2NyaXB0PgorPGRpdiBpZD0ibG9n
Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9t
LWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbGZvcm1jb250cm9sc2NvbGxlY3Rpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9odG1sZm9y
bWNvbnRyb2xzY29sbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTAyYjQyMGY5Y2Q3
ZWI2NWViMTg1MDllYmRmOTkzZmEzOTE5NDgxOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9j
b21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbGZvcm1jb250cm9sc2NvbGxlY3Rp
b24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAKKworUEFTUyBUaGUgbGVuZ3RoIGF0dHJp
YnV0ZSBtdXN0IHJldHVybiB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBmb3JtIAorUEFT
UyBIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5pdGVtKGluZGV4KSBtdXN0IHJldHVybiB0aGUg
aW5kZXhlZCBpdGVtIAorUEFTUyBIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbltpbmRleF0gbXVz
dCByZXR1cm4gdGhlIGluZGV4ZWQgaXRlbSAKK1BBU1MgSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rp
b24gaXMgbm90IGNhbGxhYmxlIAorUEFTUyBIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbltuYW1l
XSBtdXN0IHJldHVybiB0aGUgbmFtZWQgaXRlbSAKK1BBU1MgSFRNTEZvcm1Db250cm9sc0NvbGxl
Y3Rpb24ubmFtZWRJdGVtKG5hbWUpIG11c3QgcmV0dXJuIHRoZSBuYW1lZCBpdGVtIAorUEFTUyBU
aGUgbmFtZWRJdGVtKG5hbWUpIG11c3QgcmV0dXJuIGFuIEVsZW1lbnQgCitQQVNTIFRoZSBuYW1l
ZEl0ZW0obmFtZSkgbXVzdCByZXR1cm4gUmFkaW9Ob2RlTGlzdCAKK1BBU1MgVGhlIG5hbWVkSXRl
bShuYW1lKSBtdXN0IHJldHVybiBudWxsIGlmIHRoZSBuYW1lIGlzIGVtcHR5IAorUEFTUyBUaGUg
bmFtZWRJdGVtKG5hbWUpIG11c3QgcmV0dXJuIG51bGwgaWYgdGhlcmUgaXMgbm8gbWF0Y2hlZCBl
bGVtZW50IAorUEFTUyBDb250cm9scyBjYW4gYmUgaW5kZXhlZCBieSBpZCBvciBuYW1lIGF0dHJp
YnV0ZSAKK1BBU1MgVGhlIG5hbWVkSXRlbShuYW1lKSBtdXN0IHJldHVybiB0aGUgaXRlbXMgd2l0
aCBpZCBvciBuYW1lIGF0dHJpYnV0ZSAKK1BBU1MgVGhlIEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0
aW9uIGludGVyZmFjZSBpcyB1c2VkIGZvciBjb2xsZWN0aW9ucyBvZiBsaXN0ZWQgZWxlbWVudHMg
aW4gZm9ybSBlbGVtZW50IAorUEFTUyBUaGUgSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24gaW50
ZXJmYWNlIGlzIHVzZWQgZm9yIGNvbGxlY3Rpb25zIG9mIGxpc3RlZCBlbGVtZW50cyBpbiBmaWVs
ZHNldCBlbGVtZW50IAorUEFTUyBUaGUgY29udHJvbHMgaW4gdGhlIGZvcm0gZWxlbWVudCBtdXN0
IGJlIHNvcnRlZCBpbiB0cmVlIG9yZGVyIAorICAKKworICAKKyAgCisKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3Ry
dWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9odG1sZm9ybWNvbnRyb2xz
Y29sbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9u
cy9odG1sZm9ybWNvbnRyb2xzY29sbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhjOGUxZGJjMWJm
OWE5YTlmOWQzODUxZTVhMmFhYzhjODY0OTk5ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUv
Y29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0bWxmb3JtY29udHJvbHNjb2xsZWN0
aW9uLmh0bWwKQEAgLTAsMCArMSwxMTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPkhUTUwgVGVzdDogdGhlIEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0
aW9uIGludGVyZmFjZTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBo
cmVmPSJodHRwOi8vd3d3LmludGVsLmNvbS8iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
czovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9tdWx0aXBhZ2UvY29tbW9uLWRvbS1p
bnRlcmZhY2VzLmh0bWwjaHRtbGZvcm1jb250cm9sc2NvbGxlY3Rpb24iPgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rp
dj4KKzxmb3JtIGlkPSJmMSI+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9InIxIj4KKyAgPGtl
eWdlbiBpZD0ia2ciIG5hbWU9ImtleSI+PC9rZXlnZW4+Cis8L2Zvcm0+Cis8Zm9ybSBpZD0iZjIi
PgorICA8dGFibGU+CisgICAgPHRyPgorICAgICAgPHRkPgorICAgICAgICA8aW5wdXQgdHlwZT0i
Y2hlY2tib3giIGlkPSJjYiI+CisgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0i
Y2IiPgorICAgICAgPC90ZD4KKyAgICA8L3RyPgorICAgIDx0cj4KKyAgICAgIDx0ZD4KKyAgICAg
ICAgPGJ1dHRvbiBpZD0iYnRuIj48L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBuYW1lPSJidG4i
PjwvYnV0dG9uPgorICAgICAgPC90ZD4KKyAgICA8L3RyPgorICA8L3RhYmxlPgorPC9mb3JtPgor
Cis8c2NyaXB0PgorCit2YXIgY29sbDEsIGNvbGwyLCByZG87CisKK3NldHVwKGZ1bmN0aW9uICgp
IHsKKyAgcmRvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInIxIik7CisgIGNvbGwxID0gZG9j
dW1lbnQuZm9ybXNbMF0uZWxlbWVudHM7CisgIGNvbGwyID0gZG9jdW1lbnQuZm9ybXNbMV0uZWxl
bWVudHM7Cit9KTsKKworLy9sZW5ndGgKK3Rlc3QoZnVuY3Rpb24gKCkgeworICBhc3NlcnRfZXF1
YWxzKGNvbGwxLmxlbmd0aCwgMiwgIlRoZSBsZW5ndGggYXR0cmlidXRlIGlzIGluY29ycmVjdC4i
KTsKKyAgYXNzZXJ0X2VxdWFscyhjb2xsMi5sZW5ndGgsIDQsICJUaGUgbGVuZ3RoIGF0dHJpYnV0
ZSBpcyBpbmNvcnJlY3QuIik7Cit9LCAiVGhlIGxlbmd0aCBhdHRyaWJ1dGUgbXVzdCByZXR1cm4g
dGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgZm9ybSIpOworCisvL2dldHRlciAtIGluZGV4
Cit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgYXNzZXJ0X2VxdWFscyhjb2xsMS5pdGVtKDApLCByZG8s
ICJIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5pdGVtKGluZGV4KSBzaG91bGQgcmV0dXJuIHRo
ZSAnaW5wdXQnIGVsZW1lbnQgaW4gcmFkaW8gc3RhdHVzLiIpOworfSwgIkhUTUxGb3JtQ29udHJv
bHNDb2xsZWN0aW9uLml0ZW0oaW5kZXgpIG11c3QgcmV0dXJuIHRoZSBpbmRleGVkIGl0ZW0iKTsK
KwordGVzdChmdW5jdGlvbiAoKSB7CisgIGFzc2VydF9lcXVhbHMoY29sbDFbMF0sIHJkbywgIkhU
TUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uW2luZGV4XSBzaG91bGQgcmV0dXJuIHRoZSAnaW5wdXQn
IGVsZW1lbnQgaW4gcmFkaW8gc3RhdHVzLiIpOworfSwgIkhUTUxGb3JtQ29udHJvbHNDb2xsZWN0
aW9uW2luZGV4XSBtdXN0IHJldHVybiB0aGUgaW5kZXhlZCBpdGVtIik7CisKKy8vZ2V0dGVyIC0g
bmFtZQordGVzdChmdW5jdGlvbiAoKSB7CisgIGFzc2VydF90aHJvd3MoVHlwZUVycm9yKCksIGZ1
bmN0aW9uKCkgeyBjb2xsMSgicjEiKSB9KTsKK30sICJIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlv
biBpcyBub3QgY2FsbGFibGUiKTsKKwordGVzdChmdW5jdGlvbiAoKSB7CisgIGFzc2VydF9lcXVh
bHMoY29sbDFbInIxIl0sIHJkbywgIkhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uW25hbWVdIHNo
b3VsZCByZXR1cm4gdGhlICdpbnB1dCcgZWxlbWVudCBpbiByYWRpbyBzdGF0dXMuIik7Cit9LCAi
SFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb25bbmFtZV0gbXVzdCByZXR1cm4gdGhlIG5hbWVkIGl0
ZW0iKTsKKworLy9nZXR0ZXIgLSBuYW1lZEl0ZW0KK3Rlc3QoZnVuY3Rpb24gKCkgeworICBhc3Nl
cnRfZXF1YWxzKGNvbGwxLm5hbWVkSXRlbSgicjEiKSwgcmRvLCAiSFRNTEZvcm1Db250cm9sc0Nv
bGxlY3Rpb24ubmFtZWRJdGVtKG5hbWUpIHNob3VsZCByZXR1cm4gdGhlICdpbnB1dCcgZWxlbWVu
dCBpbiByYWRpbyBzdGF0dXMuIik7Cit9LCAiSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24ubmFt
ZWRJdGVtKG5hbWUpIG11c3QgcmV0dXJuIHRoZSBuYW1lZCBpdGVtIik7CisKK3Rlc3QoZnVuY3Rp
b24gKCkgeworICBhc3NlcnRfdHJ1ZShjb2xsMS5uYW1lZEl0ZW0oInIxIikgaW5zdGFuY2VvZiBF
bGVtZW50LCAiQ2FuIG5vdCByZXR1cm4gJ0VsZW1lbnQnIG9iamVjdC4iKTsKK30sICJUaGUgbmFt
ZWRJdGVtKG5hbWUpIG11c3QgcmV0dXJuIGFuIEVsZW1lbnQiKTsKKwordGVzdChmdW5jdGlvbiAo
KSB7CisgIGFzc2VydF90cnVlKGNvbGwyLm5hbWVkSXRlbSgiY2IiKSBpbnN0YW5jZW9mIFJhZGlv
Tm9kZUxpc3QsICJDYW4gbm90IHJldHVybiAnUmFkaW9Ob2RlTGlzdCcgb2JqZWN0LiIpOworfSwg
IlRoZSBuYW1lZEl0ZW0obmFtZSkgbXVzdCByZXR1cm4gUmFkaW9Ob2RlTGlzdCIpOworCit0ZXN0
KGZ1bmN0aW9uICgpIHsKKyAgYXNzZXJ0X2VxdWFscyhjb2xsMS5uYW1lZEl0ZW0oIiIpLCBudWxs
LCAiVGhlIHJldHVybiB2YWx1ZSBvZiBuYW1lZEl0ZW0oKSBzaG91bGQgYmUgbnVsbC4iKTsKK30s
ICJUaGUgbmFtZWRJdGVtKG5hbWUpIG11c3QgcmV0dXJuIG51bGwgaWYgdGhlIG5hbWUgaXMgZW1w
dHkiKTsKKwordGVzdChmdW5jdGlvbiAoKSB7CisgIGFzc2VydF9lcXVhbHMoY29sbDEubmFtZWRJ
dGVtKCJ0ZXN0IiksIG51bGwsICJUaGUgcmV0dXJuIHZhbHVlIG9mIG5hbWVkSXRlbSgpIHNob3Vs
ZCBiZSBudWxsLiIpOworfSwgIlRoZSBuYW1lZEl0ZW0obmFtZSkgbXVzdCByZXR1cm4gbnVsbCBp
ZiB0aGVyZSBpcyBubyBtYXRjaGVkIGVsZW1lbnQiKTsKKwordGVzdChmdW5jdGlvbiAoKSB7Cisg
IGFzc2VydF9lcXVhbHMoY29sbDEubmFtZWRJdGVtKCJrZyIpLCBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgia2ciKSwgIkNvbnRyb2xzIGNhbiBiZSBuYW1lZCBieSAnaWQnIGF0dHJpYnV0ZS4iKTsK
KyAgYXNzZXJ0X2VxdWFscyhjb2xsMS5uYW1lZEl0ZW0oImtleSIpLCBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgia2ciKSwgIkNvbnRyb2xzIGNhbiBiZSBuYW1lZCBieSAnbmFtZScgYXR0cmlidXRl
LiIpOworfSwgIkNvbnRyb2xzIGNhbiBiZSBpbmRleGVkIGJ5IGlkIG9yIG5hbWUgYXR0cmlidXRl
Iik7CisKK3Rlc3QoZnVuY3Rpb24gKCkgeworICBhc3NlcnRfZXF1YWxzKGNvbGwyLm5hbWVkSXRl
bSgiYnRuIikubGVuZ3RoLCAyLCAiVGhlIGxlbmd0aCBhdHRyaWJ1dGUgc2hvdWxkIGJlIDIuIik7
Cit9LCAiVGhlIG5hbWVkSXRlbShuYW1lKSBtdXN0IHJldHVybiB0aGUgaXRlbXMgd2l0aCBpZCBv
ciBuYW1lIGF0dHJpYnV0ZSIpOworCisvL3ZhcmlvdXMgY29udHJvbHMgaW4gZmllbGRzZXQgYW5k
IGZvcm0KK3ZhciBjb250YWluZXJzID0gWyJmb3JtIiwgImZpZWxkc2V0Il0sCisgICAgY29udHJv
bHMgPSBbImJ1dHRvbiIsICJmaWVsZHNldCIsICJpbnB1dCIsICJrZXlnZW4iLCAib2JqZWN0Iiwg
Im91dHB1dCIsICJzZWxlY3QiLCAidGV4dGFyZWEiXTsKK2ZvciAodmFyIG0gPSAwOyBtIDwgY29u
dGFpbmVycy5sZW5ndGg7IG0rKykgeworICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgY29u
dGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChjb250YWluZXJzW21dKTsKKyAgICB2YXIg
bGVuID0gY29udHJvbHMubGVuZ3RoOworICAgIGZvciAodmFyIG4gPSAwOyBuIDwgbGVuOyBuKysp
CisgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudChjb250
cm9sc1tuXSkpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKGNvbnRhaW5lci5lbGVtZW50cy5sZW5ndGgsIGxlbiwgIlRoZSBsZW5n
dGggc2hvdWxkIGJlICIgKyBsZW4gKyAiLiIpOworICB9LCAiVGhlIEhUTUxGb3JtQ29udHJvbHND
b2xsZWN0aW9uIGludGVyZmFjZSBpcyB1c2VkIGZvciBjb2xsZWN0aW9ucyBvZiBsaXN0ZWQgZWxl
bWVudHMgaW4gIiArIGNvbnRhaW5lcnNbbV0gKyAiIGVsZW1lbnQiKTsKK30KKworLy9DaGVjayB0
aGUgY29udHJvbHMnIG9yZGVyCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgdmFyIG9wdCA9IGRvY3Vt
ZW50LmZvcm1zWzFdLmluc2VydEJlZm9yZShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvdXRwdXQi
KSwgZG9jdW1lbnQuZm9ybXNbMV0uZmlyc3RDaGlsZCk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMo
ZG9jdW1lbnQuZm9ybXNbMV0uZWxlbWVudHMsCisgICAgICAgICAgICAgICAgICAgICAgW29wdCwg
ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMV0sIGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzJdLAorICAgICAgICAgICAgICAgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJidXR0b24iKVswXSwgZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoImJ1dHRvbiIpWzFdXSk7Cit9LCAiVGhlIGNvbnRyb2xzIGluIHRoZSBmb3Jt
IGVsZW1lbnQgbXVzdCBiZSBzb3J0ZWQgaW4gdHJlZSBvcmRlciIpOworCis8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbG9w
dGlvbnNjb2xsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFj
ZXMvY29sbGVjdGlvbnMvaHRtbG9wdGlvbnNjb2xsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45ZTFlZTI4NDhiMmRhZjRmYjg0YjQwMzNiNTY3ZjczYzZiMThmZGRjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9odG1sb3B0
aW9uc2NvbGxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjcgQEAKKyAgCisKK1BBU1Mg
T3JpZ2luYWwgbGVuZ3RoIAorUEFTUyBTZXR0aW5nIGxlbmd0aCB0byBvcmlnaW5hbCB2YWx1ZSBo
YXMgbm8gZWZmZWN0IAorUEFTUyBTZXR0aW5nIGxlbmd0aCB0byBzaG9ydGVyIHZhbHVlIAorUEFT
UyBTZXR0aW5nIGxlbmd0aCB0byBsb25nZXIgdmFsdWUgCitQQVNTIEluc2VydCA8cD48b3B0aW9u
PjY8L29wdGlvbj48L3A+IGludG8gPHNlbGVjdD4gCitQQVNTIEluc2VydCA8c2VsZWN0PjxvcHRp
b24+Njwvb3B0aW9uPjwvc2VsZWN0PiBpbnRvIDxzZWxlY3Q+IAorUEFTUyBJbnNlcnQgPG9wdGdy
b3VwPjxvcHRpb24+Njwvb3B0aW9uPjwvb3B0Z3JvdXA+IGludG8gPHNlbGVjdD4gCitQQVNTIElu
c2VydCA8b3B0Z3JvdXA+PG9wdGdyb3VwPjxvcHRpb24+Njwvb3B0aW9uPjwvb3B0Z3JvdXA+PC9v
cHRncm91cD4gaW50byA8c2VsZWN0PiAKK1BBU1MgbmFtZWRJdGVtIGlkIGF0dHJpYnV0ZSAKK1BB
U1MgbmFtZWRJdGVtIG5hbWUgYXR0cmlidXRlIAorUEFTUyBuYW1lZEl0ZW0gZG9lc24ndCBtYXRj
aCBhbnl0aGluZyAKK1BBU1MgbmFtZWRJdGVtIG11bHRpcGxlIElEcyAKK1BBU1MgbmFtZWRJdGVt
IG11bHRpcGxlIG5hbWVzIAorUEFTUyBuYW1lZEl0ZW0gbXVsdGlwbGUgbmFtZSBhbmQgSUQgCitQ
QVNTIG5hbWVkSXRlbSBtdWx0aXBsZSBuYW1lIGFuZCBJRCB3aXRoIG11bHRpcGxlIGF0dHJpYnV0
ZXMgCitQQVNTIG5hbWVkSXRlbSBpZCBhdHRyaWJ1dGUgbXVsdGlwbGUgYXR0cmlidXRlcyBvbmUg
ZWxlbWVudCAKK1BBU1MgbmFtZWRJdGVtIG5hbWUgYXR0cmlidXRlIG11bHRpcGxlIGF0dHJpYnV0
ZXMgb25lIGVsZW1lbnQgCitQQVNTIEhUTUxPcHRpb25zQ29sbGVjdGlvbiBbaW5kZXhdIG1ldGhv
ZCByZXR1cm4gdGhlIGl0ZW0gd2l0aCBpbmRleCAKK1BBU1MgSFRNTE9wdGlvbnNDb2xsZWN0aW9u
IFtuYW1lXSBtZXRob2QgcmV0dXJuIHRoZSBpdGVtIHdpdGggbmFtZSAKK1BBU1MgSFRNTE9wdGlv
bnNDb2xsZWN0aW9uLml0ZW0oaW5kZXgpIG1ldGhvZCByZXR1cm4gdGhlIGl0ZW0gd2l0aCBpbmRl
eCAKK1BBU1MgSFRNTE9wdGlvbnNDb2xsZWN0aW9uLml0ZW0obmFtZSkgbWV0aG9kIHJldHVybiB0
aGUgaXRlbSB3aXRoIGluZGV4IDAgCitQQVNTIEhUTUxPcHRpb25zQ29sbGVjdGlvbi5hZGQgbWV0
aG9kIGluc2VydCBIVE1MT3B0aW9uRWxlbWVudCBPcHRpb24gZWxlbWVudCAKK1BBU1MgSFRNTE9w
dGlvbnNDb2xsZWN0aW9uLnJlbW92ZSBtZXRob2QgcmVtb3ZlIE9wdGlvbiBlbGVtZW50IGJ5IGlu
ZGV4IAorRkFJTCBBZGQgbm9uLW9wdGlvbiB0byBjb2xsZWN0aW9uIGFzc2VydF90aHJvd3M6IGZ1
bmN0aW9uICJmdW5jdGlvbiAoKSB7Yl9vcHRzLmFkZChhZGQpO30iIGRpZCBub3QgdGhyb3cKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9odG1s
b3B0aW9uc2NvbGxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29s
bGVjdGlvbnMvaHRtbG9wdGlvbnNjb2xsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWJlNzZlODIz
MTBlZWZjMjE3ZmNkMDgwNjc2YmZmMDEzMTc3YWFkMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVy
ZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMvaHRtbG9wdGlvbnNjb2xsZWN0aW9u
Lmh0bWwKQEAgLTAsMCArMSwyMTYgQEAKKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPkhUTUxPcHRp
b25zQ29sbGVjdGlvbjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVj
LndoYXR3Zy5vcmcvbXVsdGlwYWdlLyNodG1sb3B0aW9uc2NvbGxlY3Rpb24tMCI+Cis8c2VsZWN0
IGlkPWE+CisgIDxvcHRpb24+MTwvb3B0aW9uPgorICA8b3B0aW9uPjI8L29wdGlvbj4KKyAgPG9w
dGlvbj4zPC9vcHRpb24+Cis8IS0tIE5vdGUgd2hpdGVzcGFjZSBpcyBpbXBvcnRhbnQgLS0+Cisg
IDxvcHRpb24+NDwvb3B0aW9uPgorICA8b3B0aW9uPjU8L29wdGlvbj4KKzwvc2VsZWN0PgorCis8
c2VsZWN0IGlkPWI+CisgIDxvcHRpb24gaWQ9YjE+MTwvb3B0aW9uPgorICA8b3B0aW9uIG5hbWU9
YjI+Mjwvb3B0aW9uPgorICA8b3B0aW9uIGlkPWIzPjM8L29wdGlvbj4KKyAgPG9wdGlvbiBpZD1i
Mz40PC9vcHRpb24+CisgIDxvcHRpb24gbmFtZT1iND41PC9vcHRpb24+CisgIDxvcHRpb24gbmFt
ZT1iND42PC9vcHRpb24+CisgIDxvcHRpb24gaWQ9YjU+Nzwvb3B0aW9uPgorICA8b3B0aW9uIG5h
bWU9YjU+ODwvb3B0aW9uPgorICA8b3B0aW9uIGlkPWI2IG5hbWU9Yjc+OTwvb3B0aW9uPgorICA8
b3B0aW9uIGlkPWI2IG5hbWU9YjY+MTA8L29wdGlvbj4KKyAgPG9wdGlvbiBpZD1iOCBuYW1lPWI5
PjExPC9vcHRpb24+Cis8L3NlbGVjdD4KKworPHNjcmlwdD4KK3ZhciBhOwordmFyIGFfb3B0czsK
K3ZhciBhX29yaWdpbmFsX2lubmVySFRNTDsKK3ZhciBiOwordmFyIGJfb3B0czsKKworc2V0dXAo
ZnVuY3Rpb24oKSB7CisgIGEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYSIpOworICBhX29w
dHMgPSBhLm9wdGlvbnM7CisgIGFfb3JpZ2luYWxfaW5uZXJIVE1MID0gYS5pbm5lckhUTUw7Cisg
IGEuaW5uZXJIVE1MID0gYV9vcmlnaW5hbF9pbm5lckhUTUw7CisgIGIgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiYiIpOworICBiX29wdHMgPSBiLm9wdGlvbnM7CisgIGJfb3JpZ2luYWxfaW5u
ZXJIVE1MID0gYi5pbm5lckhUTUw7CisgIGIuaW5uZXJIVE1MID0gYl9vcmlnaW5hbF9pbm5lckhU
TUw7Cit9KQorCitmdW5jdGlvbiBhc3NlcnRfdmFsdWVzX2VxdWFscyhjb2xsLCBleHBlY3RlZF92
YWx1ZXMsIG1lc3NhZ2UpIHsKKyAgYWN0dWFsID0gW107CisgIGZvciAodmFyIGk9MDsgaTxjb2xs
Lmxlbmd0aDsgaSsrKSB7CisgICAgYWN0dWFsLnB1c2goY29sbFtpXS52YWx1ZSk7CisgIH0KKyAg
YXNzZXJ0X2FycmF5X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkX3ZhbHVlcywgbWVzc2FnZSk7Cit9
CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVhbHMoNSwgYV9vcHRzLmxlbmd0aCk7
Cit9LCAiT3JpZ2luYWwgbGVuZ3RoIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGEuaW5uZXJI
VE1MID0gYV9vcmlnaW5hbF9pbm5lckhUTUw7CisgIGFfb3B0cy52YWx1ZSA9ICIzIjsKKyAgYV9v
cHRzLmxlbmd0aCA9IDU7CisgIGFzc2VydF9lcXVhbHMoYV9vcHRzLmxlbmd0aCwgNSk7CisgIGFz
c2VydF9lcXVhbHMoYV9vcHRzLnZhbHVlLCAiMyIpOworfSwgIlNldHRpbmcgbGVuZ3RoIHRvIG9y
aWdpbmFsIHZhbHVlIGhhcyBubyBlZmZlY3QiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgYS5p
bm5lckhUTUwgPSBhX29yaWdpbmFsX2lubmVySFRNTDsKKyAgYS52YWx1ZSA9IDM7CisgIGFfb3B0
cy5sZW5ndGggPSAzOworICBhc3NlcnRfZXF1YWxzKDMsIGFfb3B0cy5sZW5ndGgsICJDb3JyZWN0
IGxlbmd0aCIpOworICBhc3NlcnRfdmFsdWVzX2VxdWFscyhhX29wdHMsIFsiMSIsIjIiLCIzIl0s
ICJDb3JyZWN0IGVsZW1lbnRzIHJlbWFpbiIpCisgIGFzc2VydF9lcXVhbHMoYV9vcHRzLnZhbHVl
LCAiMyIsICJDb3JyZWN0IHZhbHVlIHNldCIpOworICBhc3NlcnRfZXF1YWxzKGEuY2hpbGROb2Rl
cy5sZW5ndGgsIDExLCAiQ29ycmVjdCBudW1iZXIgb2YgY2hpbGQgbm9kZXMiKQorfSwgIlNldHRp
bmcgbGVuZ3RoIHRvIHNob3J0ZXIgdmFsdWUiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgYS5p
bm5lckhUTUwgPSBhX29yaWdpbmFsX2lubmVySFRNTDsKKyAgYS52YWx1ZSA9IDM7CisgIGFfb3B0
cy5sZW5ndGggPSA3OworICBhc3NlcnRfZXF1YWxzKGFfb3B0cy5sZW5ndGgsIDcsICJDb3JyZWN0
IGxlbmd0aCIpOworICBhc3NlcnRfdmFsdWVzX2VxdWFscyhhX29wdHMsIFsiMSIsIjIiLCIzIiwi
NCIsIjUiLCIiLCIiXSwgIkNvcnJlY3QgZWxlbWVudHMgaW5zZXJ0ZWQiKQorICBhc3NlcnRfZXF1
YWxzKGEudmFsdWUsICIzIiwgIkNvcnJlY3QgdmFsdWUgc2V0Iik7CisgIGFzc2VydF9lcXVhbHMo
YS5jaGlsZE5vZGVzLmxlbmd0aCwgMTUsICJDb3JyZWN0IG51bWJlciBvZiBjaGlsZCBub2RlcyIp
Cit9LCAiU2V0dGluZyBsZW5ndGggdG8gbG9uZ2VyIHZhbHVlIik7CisKK3Rlc3QoZnVuY3Rpb24o
KSB7CisgIGEuaW5uZXJIVE1MID0gYV9vcmlnaW5hbF9pbm5lckhUTUw7CisgIHZhciBuZXdDaGls
ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKTsKKyAgdmFyIG5ld09wdGlvbiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpOworICBuZXdPcHRpb24udGV4dENvbnRlbnQgPSAi
NiI7CisgIG5ld0NoaWxkLmFwcGVuZENoaWxkKG5ld09wdGlvbik7CisgIGEuYXBwZW5kQ2hpbGQo
bmV3Q2hpbGQpOworICBhLnZhbHVlID0gMzsKKyAgYXNzZXJ0X2VxdWFscyhhX29wdHMubGVuZ3Ro
LCA1LCAiQ29ycmVjdCBsZW5ndGgiKTsKKyAgYXNzZXJ0X3ZhbHVlc19lcXVhbHMoYV9vcHRzLCBb
IjEiLCIyIiwiMyIsIjQiLCI1Il0sICJDb3JyZWN0IGVsZW1lbnRzIGluc2VydGVkIikKKyAgYXNz
ZXJ0X2VxdWFscyhhLnZhbHVlLCAiMyIsICJDb3JyZWN0IHZhbHVlIHNldCIpOworfSwgIkluc2Vy
dCA8cD48b3B0aW9uPjY8L29wdGlvbj48L3A+IGludG8gPHNlbGVjdD4iKTsKKwordGVzdChmdW5j
dGlvbigpIHsKKyAgYS5pbm5lckhUTUwgPSBhX29yaWdpbmFsX2lubmVySFRNTDsKKyAgdmFyIG5l
d0NoaWxkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2VsZWN0Iik7CisgIHZhciBuZXdPcHRp
b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKTsKKyAgbmV3T3B0aW9uLnRleHRD
b250ZW50ID0gIjYiOworICBuZXdDaGlsZC5hcHBlbmRDaGlsZChuZXdPcHRpb24pOworICBhLmFw
cGVuZENoaWxkKG5ld0NoaWxkKTsKKyAgYS52YWx1ZSA9IDM7CisgIGFzc2VydF9lcXVhbHMoYV9v
cHRzLmxlbmd0aCwgNSwgIkNvcnJlY3QgbGVuZ3RoIik7CisgIGFzc2VydF92YWx1ZXNfZXF1YWxz
KGFfb3B0cywgWyIxIiwiMiIsIjMiLCI0IiwiNSJdLCAiQ29ycmVjdCBlbGVtZW50cyBpbnNlcnRl
ZCIpCisgIGFzc2VydF9lcXVhbHMoYS52YWx1ZSwgIjMiLCAiQ29ycmVjdCB2YWx1ZSBzZXQiKTsK
K30sICJJbnNlcnQgPHNlbGVjdD48b3B0aW9uPjY8L29wdGlvbj48L3NlbGVjdD4gaW50byA8c2Vs
ZWN0PiIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAvL1RoaXMgdGVzdHMgdGhlIHNwZWMgYnV0
IGl0IGlzIHByb2JhYmx5IHdyb25nIGhlcmU7IHNlZSBidWcgMTI2NjUKKyAgYS5pbm5lckhUTUwg
PSBhX29yaWdpbmFsX2lubmVySFRNTDsKKyAgdmFyIG5ld0NoaWxkID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgib3B0Z3JvdXAiKTsKKyAgdmFyIG5ld09wdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoIm9wdGlvbiIpOworICBuZXdPcHRpb24udGV4dENvbnRlbnQgPSAiNiI7CisgIG5ld0No
aWxkLmFwcGVuZENoaWxkKG5ld09wdGlvbik7CisgIGEuYXBwZW5kQ2hpbGQobmV3Q2hpbGQpOwor
ICBhLnZhbHVlID0gMzsKKyAgYXNzZXJ0X2VxdWFscyhhX29wdHMubGVuZ3RoLCA2LCAiQ29ycmVj
dCBsZW5ndGgiKTsKKyAgYXNzZXJ0X3ZhbHVlc19lcXVhbHMoYV9vcHRzLCBbIjEiLCIyIiwiMyIs
IjQiLCI1IiwgIjYiXSwgIkNvcnJlY3QgZWxlbWVudHMgaW5zZXJ0ZWQiKQorICBhc3NlcnRfZXF1
YWxzKGEudmFsdWUsICIzIiwgIkNvcnJlY3QgdmFsdWUgc2V0Iik7Cit9LCAiSW5zZXJ0IDxvcHRn
cm91cD48b3B0aW9uPjY8L29wdGlvbj48L29wdGdyb3VwPiBpbnRvIDxzZWxlY3Q+Iik7CisKK3Rl
c3QoZnVuY3Rpb24oKSB7CisgIGEuaW5uZXJIVE1MID0gYV9vcmlnaW5hbF9pbm5lckhUTUw7Cisg
IHZhciBuZXdDaGlsZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGdyb3VwIik7CisgIHZh
ciBuZXdDaGlsZDEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRncm91cCIpOworICB2YXIg
bmV3T3B0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIik7CisgIG5ld09wdGlv
bi50ZXh0Q29udGVudCA9ICI2IjsKKyAgbmV3Q2hpbGQuYXBwZW5kQ2hpbGQobmV3Q2hpbGQxKTsK
KyAgbmV3Q2hpbGQxLmFwcGVuZENoaWxkKG5ld09wdGlvbik7CisgIGEuYXBwZW5kQ2hpbGQobmV3
Q2hpbGQpOworICBhLnZhbHVlID0gMzsKKyAgYXNzZXJ0X2VxdWFscyhhX29wdHMubGVuZ3RoLCA1
LCAiQ29ycmVjdCBsZW5ndGgiKTsKKyAgYXNzZXJ0X3ZhbHVlc19lcXVhbHMoYV9vcHRzLCBbIjEi
LCIyIiwiMyIsIjQiLCI1Il0sICJDb3JyZWN0IGVsZW1lbnRzIGluc2VydGVkIikKKyAgYXNzZXJ0
X2VxdWFscyhhLnZhbHVlLCAiMyIsICJDb3JyZWN0IHZhbHVlIHNldCIpOworfSwgIkluc2VydCA8
b3B0Z3JvdXA+PG9wdGdyb3VwPjxvcHRpb24+Njwvb3B0aW9uPjwvb3B0Z3JvdXA+PC9vcHRncm91
cD4gaW50byA8c2VsZWN0PiIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfZXF1YWxz
KGJfb3B0cy5uYW1lZEl0ZW0oImIxIikudmFsdWUsICIxIik7Cit9LCAibmFtZWRJdGVtIGlkIGF0
dHJpYnV0ZSIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfZXF1YWxzKGJfb3B0cy5u
YW1lZEl0ZW0oImIyIikudmFsdWUsICIyIik7Cit9LCAibmFtZWRJdGVtIG5hbWUgYXR0cmlidXRl
Iik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVhbHMoYl9vcHRzLm5hbWVkSXRl
bSgiYyIpLCBudWxsKTsKK30sICJuYW1lZEl0ZW0gZG9lc24ndCBtYXRjaCBhbnl0aGluZyIpOwor
Cit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfZXF1YWxzKGJfb3B0cy5uYW1lZEl0ZW0oImIz
IikudmFsdWUsICIzIik7Cit9LCAibmFtZWRJdGVtIG11bHRpcGxlIElEcyIpOworCit0ZXN0KGZ1
bmN0aW9uKCkgeworICBhc3NlcnRfZXF1YWxzKGJfb3B0cy5uYW1lZEl0ZW0oImI0IikudmFsdWUs
ICI1Iik7Cit9LCAibmFtZWRJdGVtIG11bHRpcGxlIG5hbWVzIik7CisKK3Rlc3QoZnVuY3Rpb24o
KSB7CisgIGFzc2VydF9lcXVhbHMoYl9vcHRzLm5hbWVkSXRlbSgiYjUiKS52YWx1ZSwgIjciKTsK
K30sICJuYW1lZEl0ZW0gbXVsdGlwbGUgbmFtZSBhbmQgSUQiKTsKKwordGVzdChmdW5jdGlvbigp
IHsKKyAgYXNzZXJ0X2VxdWFscyhiX29wdHMubmFtZWRJdGVtKCJiNiIpLnZhbHVlLCAiOSIpOwor
fSwgIm5hbWVkSXRlbSBtdWx0aXBsZSBuYW1lIGFuZCBJRCB3aXRoIG11bHRpcGxlIGF0dHJpYnV0
ZXMiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X2VxdWFscyhiX29wdHMubmFtZWRJ
dGVtKCJiOCIpLnZhbHVlLCAiMTEiKTsKK30sICJuYW1lZEl0ZW0gaWQgYXR0cmlidXRlIG11bHRp
cGxlIGF0dHJpYnV0ZXMgb25lIGVsZW1lbnQiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgYXNz
ZXJ0X2VxdWFscyhiX29wdHMubmFtZWRJdGVtKCJiOSIpLnZhbHVlLCAiMTEiKTsKK30sICJuYW1l
ZEl0ZW0gbmFtZSBhdHRyaWJ1dGUgbXVsdGlwbGUgYXR0cmlidXRlcyBvbmUgZWxlbWVudCIpOwor
Cit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfdHJ1ZShiX29wdHNbMF0gaW5zdGFuY2VvZiBI
VE1MT3B0aW9uRWxlbWVudCk7CisgIGFzc2VydF9lcXVhbHMoYl9vcHRzWzBdLmlubmVySFRNTCwg
IjEiKTsKK30sICAiSFRNTE9wdGlvbnNDb2xsZWN0aW9uIFtpbmRleF0gbWV0aG9kIHJldHVybiB0
aGUgaXRlbSB3aXRoIGluZGV4Iik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF90cnVl
KGJfb3B0c1siYjIiXSBpbnN0YW5jZW9mIEhUTUxPcHRpb25FbGVtZW50KTsKKyAgYXNzZXJ0X2Vx
dWFscyhiX29wdHNbImIyIl0uaW5uZXJIVE1MLCAiMiIpOworfSwgICJIVE1MT3B0aW9uc0NvbGxl
Y3Rpb24gW25hbWVdIG1ldGhvZCByZXR1cm4gdGhlIGl0ZW0gd2l0aCBuYW1lIik7CisKK3Rlc3Qo
ZnVuY3Rpb24oKSB7CisgIGFzc2VydF90cnVlKGJfb3B0cy5pdGVtKDApIGluc3RhbmNlb2YgSFRN
TE9wdGlvbkVsZW1lbnQpOworICBhc3NlcnRfZXF1YWxzKGJfb3B0cy5pdGVtKDApLmlubmVySFRN
TCwgIjEiKTsKK30sICAiSFRNTE9wdGlvbnNDb2xsZWN0aW9uLml0ZW0oaW5kZXgpIG1ldGhvZCBy
ZXR1cm4gdGhlIGl0ZW0gd2l0aCBpbmRleCIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3Nl
cnRfdHJ1ZShiX29wdHMuaXRlbSgiYjIiKSBpbnN0YW5jZW9mIEhUTUxPcHRpb25FbGVtZW50KTsK
KyAgYXNzZXJ0X2VxdWFscyhiX29wdHMuaXRlbSgiYjIiKS5pbm5lckhUTUwsICIxIik7Cit9LCAg
IkhUTUxPcHRpb25zQ29sbGVjdGlvbi5pdGVtKG5hbWUpIG1ldGhvZCByZXR1cm4gdGhlIGl0ZW0g
d2l0aCBpbmRleCAwIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZhciBiX29wdHNfbGVuZ3Ro
ID0gYl9vcHRzLmxlbmd0aDsKKyAgYl9vcHRzLmFkZChuZXcgT3B0aW9uKCIyIiwgIjIiKSk7Cisg
IGFzc2VydF9lcXVhbHMoYl9vcHRzW2Jfb3B0c19sZW5ndGhdLnZhbHVlLCAiMiIpOworfSwgIkhU
TUxPcHRpb25zQ29sbGVjdGlvbi5hZGQgbWV0aG9kIGluc2VydCBIVE1MT3B0aW9uRWxlbWVudCBP
cHRpb24gZWxlbWVudCIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICB2YXIgYl9vcHRzX2xlbmd0
aCA9IGJfb3B0cy5sZW5ndGg7CisgIGJfb3B0cy5yZW1vdmUoMCk7CisgIGFzc2VydF9lcXVhbHMo
Yl9vcHRzLmxlbmd0aCwgYl9vcHRzX2xlbmd0aCAtIDEpOworfSwgIkhUTUxPcHRpb25zQ29sbGVj
dGlvbi5yZW1vdmUgbWV0aG9kIHJlbW92ZSBPcHRpb24gZWxlbWVudCBieSBpbmRleCIpOworCit0
ZXN0KGZ1bmN0aW9uKCkgeworICB2YXIgYWRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIp
OworICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7Yl9vcHRzLmFk
ZChhZGQpO30pOworfSwgIkFkZCBub24tb3B0aW9uIHRvIGNvbGxlY3Rpb24iKTsKKworPC9zY3Jp
cHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWlu
dGVyZmFjZXMvY29sbGVjdGlvbnMvcmFkaW9ub2RlbGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUv
Y29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL3JhZGlvbm9kZWxpc3QtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFmOTkxMjJmODFmY2VlN2M1MDA2YzYzYmI5ZGJkYzU1MmQ5MTQyMzEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rp
b25zL3JhZGlvbm9kZWxpc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorCitQQVNTIFRo
ZSB2YWx1ZSBhdHRyaWJ1dGUgc2hvdWxkIGJlIGVtcHR5IGlmIG5vIGVsZW1lbnQgaXMgY2hlY2tl
ZCAKK1BBU1MgVGhlIFJhZGlvTm9kZUxpc3QudmFsdWUgbXVzdCBiZSB0aGUgZmlyc3QgY2hlY2tl
ZCByYWRpbyBidXR0b24ncyB2YWx1ZSAKK1BBU1MgQ2hlY2sgdGhlIFJhZGlvTm9kZUxpc3QudmFs
dWUgb24gZ2V0dGluZyAKK1BBU1MgQ2hlY2sgdGhlIFJhZGlvTm9kZUxpc3QudmFsdWUgb24gc2V0
dGluZyAKK1BBU1MgQ2hlY2sgdGhlIFJhZGlvTm9kZUxpc3QudmFsdWUgb24gc2V0dGluZyB0byAn
b24nIAorICAgIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xs
ZWN0aW9ucy9yYWRpb25vZGVsaXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2Vz
L2NvbGxlY3Rpb25zL3JhZGlvbm9kZWxpc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzcwZDcxNzJjMzc3
MTExZGQxN2ZlYmNlYWU4OTMxMzkyNWFhYjg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2Nv
bW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy9yYWRpb25vZGVsaXN0Lmh0bWwKQEAgLTAs
MCArMSw3OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+SFRNTCBUZXN0OiB0aGUgUmFkaW9Ob2RlTGlzdCBpbnRlcmZhY2U8L3RpdGxlPgorPGxpbmsg
cmVsPSJhdXRob3IiIHRpdGxlPSJJbnRlbCIgaHJlZj0iaHR0cDovL3d3dy5pbnRlbC5jb20vIj4K
KzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0
aXBhZ2UvbXVsdGlwYWdlL2NvbW1vbi1kb20taW50ZXJmYWNlcy5odG1sI3JhZGlvbm9kZWxpc3Qi
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRp
diBpZD0ibG9nIj48L2Rpdj4KKzxmb3JtID4KKyAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1l
PSJyZG8iIHZhbHVlPSIwIiBpZD0icjAiIGNoZWNrZWQ+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIg
bmFtZT0icmRvIiBpZD0icjEiPgorICA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InJkbyIgaWQ9
InIyIiB2YWx1ZT0iMiI+Cis8L2Zvcm0+Cis8c2NyaXB0PgorCit2YXIgcmRvTGlzdDsKKworc2V0
dXAoZnVuY3Rpb24gKCkgeworICByZG9MaXN0ID0gZG9jdW1lbnQuZm9ybXNbMF0uZWxlbWVudHMu
bmFtZWRJdGVtKCJyZG8iKTsKK30pOworCisvL29uIGdldHRpbmcKK3Rlc3QoZnVuY3Rpb24gKCkg
eworICBhc3NlcnRfZXF1YWxzKHJkb0xpc3QudmFsdWUsICIiLCAiVGhlIHZhbHVlIGF0dHJpYnV0
ZSBzaG91bGQgYmUgZW1wdHkuIik7Cit9LCAiVGhlIHZhbHVlIGF0dHJpYnV0ZSBzaG91bGQgYmUg
ZW1wdHkgaWYgbm8gZWxlbWVudCBpcyBjaGVja2VkIik7CisKK3Rlc3QoZnVuY3Rpb24gKCkgewor
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicjIiKS5jaGVja2VkID0gdHJ1ZTsKKyAgYXNzZXJ0
X2VxdWFscyhyZG9MaXN0LnZhbHVlLCAiMiIsICJUaGUgdmFsdWUgYXR0cmlidXRlIHNob3VsZCBi
ZSAyLiIpOworfSwgIlRoZSBSYWRpb05vZGVMaXN0LnZhbHVlIG11c3QgYmUgdGhlIGZpcnN0IGNo
ZWNrZWQgcmFkaW8gYnV0dG9uJ3MgdmFsdWUiKTsKKwordGVzdChmdW5jdGlvbiAoKSB7CisgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJyMSIpLmNoZWNrZWQgPSB0cnVlOworICBhc3NlcnRfZXF1
YWxzKHJkb0xpc3QudmFsdWUsICJvbiIsICJUaGUgdmFsdWUgYXR0cmlidXRlIHNob3VsZCBiZSBv
bi4iKTsKKworICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicjEiKS52YWx1ZSA9IDE7CisgIGFz
c2VydF9lcXVhbHMocmRvTGlzdC52YWx1ZSwgIjEiLCAiVGhlIHZhbHVlIGF0dHJpYnV0ZSBzaG91
bGQgYmUgMS4iKTsKK30sICJDaGVjayB0aGUgUmFkaW9Ob2RlTGlzdC52YWx1ZSBvbiBnZXR0aW5n
Iik7CisKKy8vb24gc2V0dGluZwordGVzdChmdW5jdGlvbiAoKSB7CisgIGFzc2VydF9lcXVhbHMo
cmRvTGlzdC52YWx1ZSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInIxIikudmFsdWUsCisgICAg
ICAgICAgICAgICAgIlRoZSB2YWx1ZSBhdHRyaWJ1dGUgc2hvdWxkIGJlIGVxdWFsIHRvIHRoZSBm
aXJzdCBjaGVja2VkIHJhZGlvIGlucHV0IGVsZW1lbnQncyB2YWx1ZS4iKTsKKyAgYXNzZXJ0X2Zh
bHNlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyMiIpLmNoZWNrZWQsCisgICAgICAgICAgICAg
ICAiVGhlIHNlY29uZCByYWRpbyBpbnB1dCBlbGVtZW50IHNob3VsZCBub3QgYmUgY2hlY2tlZC4i
KTsKKworICByZG9MaXN0LnZhbHVlID0gIjIiOworICBhc3NlcnRfZXF1YWxzKHJkb0xpc3QudmFs
dWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyMiIpLnZhbHVlLAorICAgICAgICAgICAgICAg
ICJUaGUgdmFsdWUgYXR0cmlidXRlIHNob3VsZCBiZSBlcXVhbCB0byB0aGUgc2Vjb25kIHJhZGlv
IGlucHV0IGVsZW1lbnQncyB2YWx1ZS4iKTsKKyAgYXNzZXJ0X3RydWUoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInIyIikuY2hlY2tlZCwKKyAgICAgICAgICAgICAgIlRoZSBzZWNvbmQgcmFkaW8g
aW5wdXQgZWxlbWVudCBzaG91bGQgYmUgY2hlY2tlZC4iKTsKKworICAvL0RvIG5vdGhpbmcgaWYg
bm8gZWxlbWVudCdzIHZhbHVlIGlzIGVxdWFsIHRvIG5ldyB2YWx1ZS4KKyAgcmRvTGlzdC52YWx1
ZSA9ICIzIjsKKyAgYXNzZXJ0X2VxdWFscyhyZG9MaXN0LnZhbHVlLCBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicjIiKS52YWx1ZSwKKyAgICAgICAgICAgICAgICAiVGhlIHZhbHVlIGF0dHJpYnV0
ZSBzaG91bGQgYmUgdGhlIHNlY29uZCByYWRpbyBpbnB1dCBlbGVtZW50J3MgdmFsdWUuIik7Cisg
IGFzc2VydF90cnVlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyMiIpLmNoZWNrZWQsCisgICAg
ICAgICAgICAgICJUaGUgc2Vjb25kIHJhZGlvIGlucHV0IGVsZW1lbnQgc2hvdWxkIGJlIGNoZWNr
ZWQuIik7Cit9LCAiQ2hlY2sgdGhlIFJhZGlvTm9kZUxpc3QudmFsdWUgb24gc2V0dGluZyIpOwor
CisvL3NldHRpbmcgdG8gb24sIHNwZWNpZmljIGNhc2UKK3Rlc3QoZnVuY3Rpb24gKCkgeworICBy
ZG9MaXN0LnZhbHVlID0gIm9uIjsKKyAgYXNzZXJ0X2VxdWFscyhyZG9MaXN0LnZhbHVlLCBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicjIiKS52YWx1ZSwKKyAgICAgICAgICAgICAgICAiVGhlIHZh
bHVlIGF0dHJpYnV0ZSBzaG91bGQgYmUgdGhlIHNlY29uZCByYWRpbyBpbnB1dCBlbGVtZW50J3Mg
dmFsdWUuIik7CisgIGFzc2VydF90cnVlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyMiIpLmNo
ZWNrZWQsCisgICAgICAgICAgICAgICJUaGUgc2Vjb25kIHJhZGlvIGlucHV0IGVsZW1lbnQgc2hv
dWxkIGJlIGNoZWNrZWQuIik7CisKKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInIxIikucmVt
b3ZlQXR0cmlidXRlKCJ2YWx1ZSIpOworICByZG9MaXN0LnZhbHVlID0gIm9uIjsKKyAgYXNzZXJ0
X2VxdWFscyhyZG9MaXN0LnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicjEiKS52YWx1
ZSwKKyAgICAgICAgICAgICAgICAiVGhlIHZhbHVlIGF0dHJpYnV0ZSBzaG91bGQgYmUgdGhlIGZp
cnN0IHJhZGlvIGlucHV0IGVsZW1lbnQncyB2YWx1ZS4iKTsKKyAgYXNzZXJ0X3RydWUoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInIxIikuY2hlY2tlZCwKKyAgICAgICAgICAgICAgIlRoZSBmaXJz
dCByYWRpbyBpbnB1dCBlbGVtZW50IHNob3VsZCBiZSBjaGVja2VkLiIpOworfSwgIkNoZWNrIHRo
ZSBSYWRpb05vZGVMaXN0LnZhbHVlIG9uIHNldHRpbmcgdG8gJ29uJyIpOworCisKKzwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNlcy9jb2xsZWN0aW9ucy93
M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFjZXMvY29sbGVjdGlvbnMv
dzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmE0ZmYwZDI5YmVhYmU3YjgzOTdkMzk1MmY5YTk1
MzdkNGYyNWEyYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tZG9tLWludGVyZmFj
ZXMvY29sbGVjdGlvbnMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwyMiBAQAorVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgorCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13
M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3Zl
IHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVm
aXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29t
bW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2NvbnRhaW5zLmpzb24KKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29t
bW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0bWxhbGxjb2xsZWN0aW9uLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1
Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25zL2h0bWxmb3JtY29udHJvbHNj
b2xsZWN0aW9uLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLWRvbS1pbnRlcmZhY2VzL2NvbGxlY3Rpb25z
L2h0bWxvcHRpb25zY29sbGVjdGlvbi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1kb20taW50ZXJmYWNl
cy9jb2xsZWN0aW9ucy9yYWRpb25vZGVsaXN0Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21t
b24tbWljcm9zeW50YXhlcy9kYXRlcy1hbmQtdGltZXMvY29udGFpbnMuanNvbiBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9j
b21tb24tbWljcm9zeW50YXhlcy9kYXRlcy1hbmQtdGltZXMvY29udGFpbnMuanNvbgpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41YmUzMWViNDhmMTlhMjQ5Mzg2YTg1ZjBkMjYwZDBlZTdmNTVjNjkyCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2luZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRheGVzL2RhdGVzLWFuZC10aW1lcy9jb250
YWlucy5qc29uCkBAIC0wLDAgKzEsNDIgQEAKK1sKKyAgICB7CisgICAgICAgICJpZCI6ICJtb250
aHMiLAorICAgICAgICAib3JpZ2luYWxfaWQiOiAibW9udGhzIgorICAgIH0sCisgICAgeworICAg
ICAgICAiaWQiOiAiZGF0ZXMiLAorICAgICAgICAib3JpZ2luYWxfaWQiOiAiZGF0ZXMiCisgICAg
fSwKKyAgICB7CisgICAgICAgICJpZCI6ICJ5ZWFybGVzcy1kYXRlcyIsCisgICAgICAgICJvcmln
aW5hbF9pZCI6ICJ5ZWFybGVzcy1kYXRlcyIKKyAgICB9LAorICAgIHsKKyAgICAgICAgImlkIjog
InRpbWVzIiwKKyAgICAgICAgIm9yaWdpbmFsX2lkIjogInRpbWVzIgorICAgIH0sCisgICAgewor
ICAgICAgICAiaWQiOiAibG9jYWwtZGF0ZXMtYW5kLXRpbWVzIiwKKyAgICAgICAgIm9yaWdpbmFs
X2lkIjogImxvY2FsLWRhdGVzLWFuZC10aW1lcyIKKyAgICB9LAorICAgIHsKKyAgICAgICAgImlk
IjogInRpbWUtem9uZXMiLAorICAgICAgICAib3JpZ2luYWxfaWQiOiAidGltZS16b25lcyIKKyAg
ICB9LAorICAgIHsKKyAgICAgICAgImlkIjogImdsb2JhbC1kYXRlcy1hbmQtdGltZXMiLAorICAg
ICAgICAib3JpZ2luYWxfaWQiOiAiZ2xvYmFsLWRhdGVzLWFuZC10aW1lcyIKKyAgICB9LAorICAg
IHsKKyAgICAgICAgImlkIjogIndlZWtzIiwKKyAgICAgICAgIm9yaWdpbmFsX2lkIjogIndlZWtz
IgorICAgIH0sCisgICAgeworICAgICAgICAiaWQiOiAiZHVyYXRpb25zIiwKKyAgICAgICAgIm9y
aWdpbmFsX2lkIjogImR1cmF0aW9ucyIKKyAgICB9LAorICAgIHsKKyAgICAgICAgImlkIjogInZh
Z3Vlci1tb21lbnRzLWluLXRpbWUiLAorICAgICAgICAib3JpZ2luYWxfaWQiOiAidmFndWVyLW1v
bWVudHMtaW4tdGltZSIKKyAgICB9CitdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2luZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRheGVzL2RhdGVzLWFuZC10aW1lcy93M2Mt
aW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhlcy9kYXRlcy1hbmQtdGltZXMv
dzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQ5YmVjMTE1ZTlmM2YzMjUxZjJkYWU5NDBiMzUy
MjY1MzQ0ODA0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhl
cy9kYXRlcy1hbmQtdGltZXMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOCBAQAorVGhlIHRl
c3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRv
cnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3Rl
YWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgor
CWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorCWh0dHBzOi8vZ2l0aHViLmNvbS93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9y
dC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVt
b3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUv
Y29tbW9uLW1pY3Jvc3ludGF4ZXMvZGF0ZXMtYW5kLXRpbWVzL2NvbnRhaW5zLmpzb24KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9p
bmZyYXN0cnVjdHVyZS9jb21tb24tbWljcm9zeW50YXhlcy9udW1iZXJzL2NvbnRhaW5zLmpzb24g
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFz
dHJ1Y3R1cmUvY29tbW9uLW1pY3Jvc3ludGF4ZXMvbnVtYmVycy9jb250YWlucy5qc29uCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM5YTZlYTAwNTg4M2YwZjY1NDU2M2FkN2I3YmJhYjFiZDA3YjU0OWYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvaW5mcmFzdHJ1Y3R1cmUvY29tbW9uLW1pY3Jvc3ludGF4ZXMvbnVtYmVycy9jb250YWlucy5q
c29uCkBAIC0wLDAgKzEsMjYgQEAKK1sKKyAgICB7CisgICAgICAgICJpZCI6ICJzaWduZWQtaW50
ZWdlcnMiLAorICAgICAgICAib3JpZ2luYWxfaWQiOiAic2lnbmVkLWludGVnZXJzIgorICAgIH0s
CisgICAgeworICAgICAgICAiaWQiOiAibm9uLW5lZ2F0aXZlLWludGVnZXJzIiwKKyAgICAgICAg
Im9yaWdpbmFsX2lkIjogIm5vbi1uZWdhdGl2ZS1pbnRlZ2VycyIKKyAgICB9LAorICAgIHsKKyAg
ICAgICAgImlkIjogImZsb2F0aW5nLXBvaW50LW51bWJlcnMiLAorICAgICAgICAib3JpZ2luYWxf
aWQiOiAiZmxvYXRpbmctcG9pbnQtbnVtYmVycyIKKyAgICB9LAorICAgIHsKKyAgICAgICAgImlk
IjogInBlcmNlbnRhZ2VzLWFuZC1kaW1lbnNpb25zIiwKKyAgICAgICAgIm9yaWdpbmFsX2lkIjog
InBlcmNlbnRhZ2VzLWFuZC1kaW1lbnNpb25zIgorICAgIH0sCisgICAgeworICAgICAgICAiaWQi
OiAibGlzdHMtb2YtaW50ZWdlcnMiLAorICAgICAgICAib3JpZ2luYWxfaWQiOiAibGlzdHMtb2Yt
aW50ZWdlcnMiCisgICAgfSwKKyAgICB7CisgICAgICAgICJpZCI6ICJsaXN0cy1vZi1kaW1lbnNp
b25zIiwKKyAgICAgICAgIm9yaWdpbmFsX2lkIjogImxpc3RzLW9mLWRpbWVuc2lvbnMiCisgICAg
fQorXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9jb21t
b24tbWljcm9zeW50YXhlcy9udW1iZXJzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbW1vbi1t
aWNyb3N5bnRheGVzL251bWJlcnMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjdlNzVkOWQx
YTc0YmY1OTYzYjY3ODQ2MjYyMTIzN2JmYjFhMjIzYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVy
ZS9jb21tb24tbWljcm9zeW50YXhlcy9udW1iZXJzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEs
MTggQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhl
IFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBX
ZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3Ig
V1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKKwlodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMv
U2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1Qg
bW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGll
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmls
ZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
ZnJhc3RydWN0dXJlL2NvbW1vbi1taWNyb3N5bnRheGVzL251bWJlcnMvY29udGFpbnMuanNvbgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2luZnJhc3RydWN0dXJlL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy9leHRlbnNpYmlsaXR5
L2ZvcmVpZ24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50cy9l
eHRlbnNpYmlsaXR5L2ZvcmVpZ24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkYWU3MjAyMzkw
ZjNlZTBkYzBkMjY2MGQyMmVkYTAxZThiOWJiYjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUv
Y29uZm9ybWFuY2UtcmVxdWlyZW1lbnRzL2V4dGVuc2liaWxpdHkvZm9yZWlnbi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw3IEBACitVc2VyIGFnZW50cyBtdXN0IHRyZWF0IGVsZW1lbnRzIGFuZCBh
dHRyaWJ1dGVzIHRoYXQgdGhleSBkbyBub3QgdW5kZXJzdGFuZCBhcyBzZW1hbnRpY2FsbHkgbmV1
dHJhbDsgbGVhdmluZyB0aGVtIGluIHRoZSBET00gKGZvciBET00gcHJvY2Vzc29ycyksIGFuZCBz
dHlsaW5nIHRoZW0gYWNjb3JkaW5nIHRvIENTUyAoZm9yIENTUyBwcm9jZXNzb3JzKSwgYnV0IG5v
dCBpbmZlcnJpbmcgYW55IG1lYW5pbmcgZnJvbSB0aGVtLgorCitGb29iYXIKK1J1bm5pbmcgdGVz
dC4uLgorCitQQVNTIGZvcmVpZ24gY29udGVudCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbmZv
cm1hbmNlLXJlcXVpcmVtZW50cy9leHRlbnNpYmlsaXR5L2ZvcmVpZ24uaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS9j
b25mb3JtYW5jZS1yZXF1aXJlbWVudHMvZXh0ZW5zaWJpbGl0eS9mb3JlaWduLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZWFhMTMzYmFkZWUxNmQxZGFkZTZkZTAyZTRjZjY0NjUxNTI4OWViNQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9pbmZyYXN0cnVjdHVyZS9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvZXh0ZW5zaWJpbGl0eS9m
b3JlaWduLmh0bWwKQEAgLTAsMCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5n
PSJlbiIgZm9vPSdiYXInPgorICA8aGVhZCBmb289J2Jhcic+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmLTgiIGZvbz0nYmFyJz4KKyAgICA8dGl0bGUgaWQ9J3RpdGxlJyBmb289J2Jhcic+Rm9yZWln
biBjb250ZW50PC90aXRsZT4KKyAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IlBoaWxpcHBl
IExlIEhlZ2FyZXQiIGhyZWY9Im1haWx0bzpwbGhAdzMub3JnIiAgZm9vPSdiYXInPgorICAgIDxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBh
Z2UvI2V4dGVuc2liaWxpdHkiICBmb289J2Jhcic+CisgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiICBmb289J2Jhcic+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiIGZvbz0nYmFyJz48L3NjcmlwdD4KKyAg
PC9oZWFkPgorCisgIDxib2R5IGZvbz0nYmFyJz4KKworICAgIDxwIGNsYXNzPSdhc3NlcnQnIGZv
bz0nYmFyJz5Vc2VyIGFnZW50cyBtdXN0IHRyZWF0IGVsZW1lbnRzIGFuZCBhdHRyaWJ1dGVzIHRo
YXQgdGhleSBkbyBub3QgdW5kZXJzdGFuZCBhcyBzZW1hbnRpY2FsbHkgbmV1dHJhbDsgbGVhdmlu
ZyB0aGVtIGluIHRoZSBET00gKGZvciBET00gcHJvY2Vzc29ycyksIGFuZCBzdHlsaW5nIHRoZW0g
YWNjb3JkaW5nIHRvIENTUyAoZm9yIENTUyBwcm9jZXNzb3JzKSwgYnV0IG5vdCBpbmZlcnJpbmcg
YW55IG1lYW5pbmcgZnJvbSB0aGVtLjwvcD4KKworICAgIDxmb28gZm9vPSdiYXInIGVjaG8+Rm9v
YmFyPC9mb28+CisKKyAgICA8ZGl2IGlkPSJsb2ciPlJ1bm5pbmcgdGVzdC4uLjwvZGl2PgorCisg
ICAgPHNjcmlwdD4KKyAgICAgIHZhciB0ID0gYXN5bmNfdGVzdCgiZm9yZWlnbiBjb250ZW50Iik7
CisKKyAgICAgIG9uX2V2ZW50KHdpbmRvdywgImxvYWQiLAorICAgICAgICAgICAgICAgdC5zdGVw
X2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgIHZhciBub2RlcyA9IGRvY3VtZW50
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIik7CisgICAgICAgICAgICAgICAgIHZhciBjb250ID0g
dHJ1ZTsKKyAgICAgICAgICAgICAgICAgdmFyIGxhc3QgPSBudWxsOworICAgICAgICAgICAgICAg
ICBmb3IodmFyIGk9MDtpPG5vZGVzLmxlbmd0aCAmJiBjb250OyBpKyspIHsKKyAgICAgICAgICAg
ICAgICAgICB2YXIgYXMgPSBub2Rlcy5pdGVtKGkpLmdldEF0dHJpYnV0ZSgiZm9vIik7CisgICAg
ICAgICAgICAgICAgICAgaWYgKCEoYXMgPT09ICJiYXIiKSAmJiAobm9kZXMuaXRlbShpKS5nZXRB
dHRyaWJ1dGUoImlkIikgPT09ICJsb2ciKSkgeworICAgICAgICAgICAgICAgICAgICAgY29udCA9
IGZhbHNlOworICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAg
ICBsYXN0ID0gbm9kZXMuaXRlbShpKTsKKyAgICAgICAgICAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMoYXMsICJiYXIiKTsKKyAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGxhc3Qubm9kZU5hbWUsICJGT08iKTsK
KyAgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhsYXN0LmdldEF0dHJpYnV0ZSgiZWNobyIp
LCAiIik7CisgICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobGFzdC5nZXRBdHRyaWJ1dGUo
ImNoYXJseSIpLCBudWxsKTsKKyAgICAgICAgICAgICAgICAgdC5kb25lKCk7CisgICAgICAgICAg
ICAgICB9KSk7CisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0
cnVjdHVyZS9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvZXh0ZW5zaWJpbGl0eS93M2MtaW1wb3J0
LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9p
bmZyYXN0cnVjdHVyZS9jb25mb3JtYW5jZS1yZXF1aXJlbWVudHMvZXh0ZW5zaWJpbGl0eS93M2Mt
aW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Y2RiOTBmZjY0ZWI4M2RhYzcxMjRiYmY2YjBmYjkwOThj
ZTk5MTNjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2NvbmZvcm1hbmNlLXJlcXVpcmVtZW50
cy9leHRlbnNpYmlsaXR5L3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTggQEAKK1RoZSB0ZXN0
cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5
LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFk
LCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKKwlo
dHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKKwlodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQt
dzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92
ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJl
Zml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL2Nv
bmZvcm1hbmNlLXJlcXVpcmVtZW50cy9leHRlbnNpYmlsaXR5L2ZvcmVpZ24uaHRtbApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2lu
ZnJhc3RydWN0dXJlL3Rlcm1pbm9sb2d5L3BsdWdpbnMvc2FtcGxlLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS90ZXJt
aW5vbG9neS9wbHVnaW5zL3NhbXBsZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2VkZWNkNmQ4ODRkMTgxYTc0
MGY1YmUxMTBkODY5Njc5Zjc2ODE4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS90ZXJtaW5v
bG9neS9wbHVnaW5zL3NhbXBsZS50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIGlzIGEgc2FtcGxl
IHRleHQvcGxhaW4gZG9jdW1lbnQuCisKK1RoaXMgaXMgbm90IGFuIEhUTUwgZG9jdW1lbnQuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvaW5mcmFzdHJ1Y3R1cmUvdGVybWlub2xvZ3kvcGx1Z2lucy90ZXh0LXBsYWluLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9p
bmZyYXN0cnVjdHVyZS90ZXJtaW5vbG9neS9wbHVnaW5zL3RleHQtcGxhaW4tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjFlMzllYmIxZmEyNTJlNDlkMzJhYjM5N2U3M2NiN2RkYjBmMzI1YWIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvaW5mcmFzdHJ1Y3R1cmUvdGVybWlub2xvZ3kvcGx1Z2lucy90ZXh0LXBsYWluLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1Rlc3Qgb2YgcGx1Z2luIHN1cHBvcnQKKworQSB1
c2VyIGFnZW50IG11c3Qgbm90IGNvbnNpZGVyIHRoZSB0eXBlcyB0ZXh0L3BsYWluIGFuZCBhcHBs
aWNhdGlvbi9vY3RldC1zdHJlYW0gYXMgaGF2aW5nIGEgcmVnaXN0ZXJlZCBwbHVnaW4uCisKKwor
UnVubmluZyB0ZXN0Li4uCisKK1BBU1MgQSB1c2VyIGFnZW50IG11c3Qgbm90IGNvbnNpZGVyIHRo
ZSB0eXBlIHRleHQvcGxhaW4gYXMgaGF2aW5nIGEgcmVnaXN0ZXJlZCBwbHVnaW4uIAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
aW5mcmFzdHJ1Y3R1cmUvdGVybWlub2xvZ3kvcGx1Z2lucy90ZXh0LXBsYWluLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW5mcmFzdHJ1Y3R1
cmUvdGVybWlub2xvZ3kvcGx1Z2lucy90ZXh0LXBsYWluLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGVkMGNl
MjNiOGFlMTNmYmQ3MWJjM2VkNmViNzA3MzIzNjJlZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVj
dHVyZS90ZXJtaW5vbG9neS9wbHVnaW5zL3RleHQtcGxhaW4uaHRtbApAQCAtMCwwICsxLDMyIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKyAgPGhlYWQ+CisgICAgPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorICAgIDx0aXRsZSBpZD0ndGl0bGUnPk1lZGlhIFR5cGVzPC90aXRs
ZT4KKyAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IlBoaWxpcHBlIExlIEhlZ2FyZXQiIGhy
ZWY9Im1haWx0bzpwbGhAdzMub3JnIi8+CisgICAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
czovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jcGx1Z2lucyIvPgorICAgIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgIDwvaGVh
ZD4KKworICA8Ym9keT4KKyAgICA8c2NyaXB0PgorICAgICAgdmFyIHQgPSBhc3luY190ZXN0KCJB
IHVzZXIgYWdlbnQgbXVzdCBub3QgY29uc2lkZXIgdGhlIHR5cGUgdGV4dC9wbGFpbiBhcyBoYXZp
bmcgYSByZWdpc3RlcmVkIHBsdWdpbi4iKTsKKworICAgICAgd2luZG93Lm9ubG9hZCA9CisgICAg
ICAgIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAgICAgICBhc3NlcnRfZXF1YWxzKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJmcmFtZUNvbnRleHQiKS5jb250ZW50RG9jdW1lbnQuYm9keS5m
aXJzdENoaWxkLm5vZGVOYW1lLCAiUFJFIik7CisgICAgICAgIHQuZG9uZSgpOworICAgICAgfSk7
CisgICAgPC9zY3JpcHQ+CisKKyAgICA8aDE+VGVzdCBvZiBwbHVnaW4gc3VwcG9ydDwvaDE+Cisg
ICAgPHAgY2xhc3M9J2Fzc2VydCc+QSB1c2VyIGFnZW50IG11c3Qgbm90IGNvbnNpZGVyIHRoZSB0
eXBlcyB0ZXh0L3BsYWluIGFuZCBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0gYXMgaGF2aW5nIGEg
cmVnaXN0ZXJlZCBwbHVnaW4uPC9wPgorCisgICAgPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBz
cmM9InNhbXBsZS50eHQiPjwvaWZyYW1lPgorCisKKyAgICA8ZGl2IGlkPSJsb2ciPlJ1bm5pbmcg
dGVzdC4uLjwvZGl2PgorCisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS90
ZXJtaW5vbG9neS9wbHVnaW5zL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL3Rlcm1pbm9sb2d5L3Bs
dWdpbnMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWU4NzI3MGE4NDhmODI0ZmEyMzY3NGI1
Yjc2ZmViZTRhYmZkMzI1MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS90ZXJtaW5vbG9neS9w
bHVnaW5zL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTkgQEAKK1RoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKKwlodHRwczovL2dp
dGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZp
bGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZp
eGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitO
b25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2luZnJhc3RydWN0dXJlL3Rlcm1pbm9sb2d5
L3BsdWdpbnMvc2FtcGxlLnR4dAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9pbmZyYXN0cnVjdHVyZS90ZXJtaW5vbG9neS9wbHVnaW5zL3RleHQtcGxh
aW4uaHRtbAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>