<?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>71441</bug_id>
          
          <creation_ts>2011-11-03 01:14:11 -0700</creation_ts>
          <short_desc>[Part 1] Parse the custom() function in -webkit-filter</short_desc>
          <delta_ts>2011-12-31 17:52:05 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>71395</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexandru Chiculita">achicu</reporter>
          <assigned_to name="Alexandru Chiculita">achicu</assigned_to>
          <cc>abarth</cc>
    
    <cc>dino</cc>
    
    <cc>macpherson</cc>
    
    <cc>noam</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>495251</commentid>
    <comment_count>0</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2011-11-03 01:14:11 -0700</bug_when>
    <thetext>This will just add the parsing of the property (no CSSStyleSelector code yet)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495464</commentid>
    <comment_count>1</comment_count>
      <attachid>113493</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2011-11-03 07:57:26 -0700</bug_when>
    <thetext>Created attachment 113493
Patch V1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495560</commentid>
    <comment_count>2</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-11-03 09:54:11 -0700</bug_when>
    <thetext>Where is the spec for this? Would help to have it to compare against when reviewing the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495576</commentid>
    <comment_count>3</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2011-11-03 10:06:57 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Where is the spec for this? Would help to have it to compare against when reviewing the code.

The shaders parsing is described here:
https://dvcs.w3.org/hg/FXTF/raw-file/tip/custom/index.html

It falls into the CSS Filters code:
https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/publish/Filters.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495656</commentid>
    <comment_count>4</comment_count>
      <attachid>113493</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2011-11-03 11:16:28 -0700</bug_when>
    <thetext>Comment on attachment 113493
Patch V1

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

Cool. I think there are just minor fixes. The main thing is making sure the file is included in the platform build systems.

&gt; Source/WebCore/css/CSSParser.cpp:6475
&gt; +static bool skipCommaValue(CSSParserValueList* argsList)
&gt; +{

This is not an issue on the patch, but it makes me realise that we&apos;re being inconsistent with filters expecting space-separated values and shaders expecting comma-separated.

&gt; Source/WebCore/css/CSSParser.cpp:6511
&gt; +    // vertexMesh:  +&lt;integer&gt;{1,2}[wsp&lt;box&gt;][wspâdetached&apos;]
&gt; +    //
&gt; +    // param-value: true|false[wsp+true|false]{0-3} |
&gt; +    //              &lt;number&gt;[wsp+&lt;number&gt;]{0-3} |
&gt; +    //              &lt;array&gt; |
&gt; +    //              &lt;transform&gt; |
&gt; +    //              &lt;texture(&lt;uri&gt;)&gt;
&gt; +    // array: âarray(â&lt;number&gt;[wsp&lt;number&gt;]*â)â
&gt; +    // css-3d-transform: &lt;transform-function&gt;;[&lt;transform-function&gt;]*
&gt; +    // transform:   &lt;css-3d-transform&gt; | &lt;mat&gt;
&gt; +    // mat:         âmat2(â&lt;number&gt;(,&lt;number&gt;){3}â)â | 
&gt; +    //              âmat3(â&lt;number&gt;(,&lt;number&gt;){8}â)â | 
&gt; +    //              âmat4(â&lt;number&gt;(,&lt;number&gt;){15}â)â )

Unicode cruft here.

&gt; Source/WebCore/css/CSSParser.cpp:6537
&gt; +    if (!shadersList-&gt;length() || !hadAtLeastOneCustomShader || shadersList-&gt;length() &gt; 2 || !skipCommaValue(argsList))

I wonder if we can come up with a better name than skipCommaValue, since it&apos;s returning a boolean? This isn&apos;t a big deal.

&gt; Source/WebCore/css/CSSParser.cpp:6550
&gt; +        int intValue = static_cast&lt;int&gt;(arg-&gt;fValue);
&gt; +        meshSizeList-&gt;append(primitiveValueCache()-&gt;createValue(intValue, CSSPrimitiveValue::CSS_NUMBER));

No need for the variable - just use it in createValue.

&gt; Source/WebCore/css/CSSParser.cpp:6588
&gt; +        // TODO: Implement other parameters types parsing.

Could we add a bugzilla link here?

&gt; Source/WebCore/css/CSSParser.cpp:6591
&gt; +            // If we hit a comma it means we finished this parameters values.

Super-nit &quot;parameter&apos;s&quot; :)

&gt; Source/WebCore/css/CSSParser.h:191
&gt; +#if ENABLE(CSS_SHADERS)
&gt; +    PassRefPtr&lt;WebKitCSSFilterValue&gt; parseCustomFilter(CSSParserValue*);
&gt; +#endif

Could we move this to below parseFilter()?

&gt; Source/WebCore/css/CSSValueKeywords.in:856
&gt; +#if defined(ENABLE_CSS_SHADERS) &amp;&amp; ENABLE_CSS_SHADERS
&gt; +// -webkit-filter
&gt; +// values for the custom() function
&gt; +//border-box
&gt; +//padding-box
&gt; +//content-box

Guard this with CSS_FILTERS as well

&gt; Source/WebCore/css/WebKitCSSShaderValue.h:1
&gt; +/*

I don&apos;t see this file being added to any of the build systems. You&apos;ll need to edit the Xcode project, the VS file, the gyp stuff, etc.

&gt; Source/WebCore/css/WebKitCSSShaderValue.h:32
&gt; +

We typically put #if ENABLE(CSS_SHADERS) in these files too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496165</commentid>
    <comment_count>5</comment_count>
      <attachid>113650</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2011-11-04 05:26:30 -0700</bug_when>
    <thetext>Created attachment 113650
Patch V2

Thanks for the comments, I&apos;ve updated the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497547</commentid>
    <comment_count>6</comment_count>
      <attachid>113650</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2011-11-07 15:48:48 -0800</bug_when>
    <thetext>Comment on attachment 113650
Patch V2

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

All good, as long as you fix the tests. Maybe have JS extract the url into just the last component?

&gt; LayoutTests/css3/filters/custom-filter-property-parsing-expected.txt:10
&gt; +PASS declaration.getPropertyValue(&apos;-webkit-filter&apos;) is &apos;custom(url(file:///Volumes/SSD/Users/achicu/code/webkit/git/webkit/LayoutTests/css3/filters/vertex.shader))&apos;

This is going to break for everyone but you :)

&gt; LayoutTests/css3/filters/custom-filter-property-parsing-expected.txt:16
&gt; +PASS subRule.cssText is &apos;custom(url(file:///Volumes/SSD/Users/achicu/code/webkit/git/webkit/LayoutTests/css3/filters/vertex.shader))&apos;

ditto

&gt; LayoutTests/css3/filters/custom-filter-property-parsing-expected.txt:27
&gt; +PASS subRule.cssText is &apos;custom(none url(file:///Volumes/SSD/Users/achicu/code/webkit/git/webkit/LayoutTests/css3/filters/fragment.shader))&apos;

ditto (and a couple more)

&gt; Source/WebCore/css/CSSParser.cpp:6488
&gt; +    // the implementation of the syntax:

Typically we don&apos;t put instructions like this, because it is obvious to anyone editing the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497549</commentid>
    <comment_count>7</comment_count>
      <attachid>113650</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2011-11-07 15:51:05 -0800</bug_when>
    <thetext>Comment on attachment 113650
Patch V2

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

&gt; Source/WebCore/css/CSSParser.cpp:6487
&gt; +    // Listing the format for the custom filter here. Please update this when changing

Typically we don&apos;t put instructions like this, because it is obvious to anyone editing the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498059</commentid>
    <comment_count>8</comment_count>
      <attachid>114068</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2011-11-08 07:54:47 -0800</bug_when>
    <thetext>Created attachment 114068
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498065</commentid>
    <comment_count>9</comment_count>
      <attachid>114068</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-08 07:58:38 -0800</bug_when>
    <thetext>Comment on attachment 114068
Patch for landing

Rejecting attachment 114068 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
3/filters/custom-filter-property-parsing-invalid-expected.txt
patching file LayoutTests/css3/filters/custom-filter-property-parsing-invalid.html
patching file LayoutTests/css3/filters/custom-filter-property-parsing.html
patching file LayoutTests/css3/filters/script-tests/custom-filter-property-parsing-invalid.js
patching file LayoutTests/css3/filters/script-tests/custom-filter-property-parsing.js

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/10378078</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498634</commentid>
    <comment_count>10</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2011-11-08 21:21:45 -0800</bug_when>
    <thetext>I tried to land this patch manually but noticed a couple of build errors (they were on mac, that&apos;s why EWS didn&apos;t catch them - I guess you&apos;re on Windows).

Source/WebCore/css/CSSValue.cpp:90:13: error: enumeration value &apos;WebKitCSSShaderClass&apos; not handled in switch [-Werror,-Wswitch-enum,3]
Source/WebCore/css/CSSValue.cpp:165:13: error: enumeration value &apos;WebKitCSSShaderClass&apos; not handled in switch [-Werror,-Wswitch-enum,3]

Source/WebCore/css/WebKitCSSShaderValue.h:39:7: error: &apos;WebCore::WebKitCSSShaderValue&apos; has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor,3]

All simple fixes thankfully.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498695</commentid>
    <comment_count>11</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2011-11-09 00:21:04 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; I tried to land this patch manually but noticed a couple of build errors (they were on mac, that&apos;s why EWS didn&apos;t catch them - I guess you&apos;re on Windows).
&gt; 
&gt; Source/WebCore/css/CSSValue.cpp:90:13: error: enumeration value &apos;WebKitCSSShaderClass&apos; not handled in switch [-Werror,-Wswitch-enum,3]
&gt; Source/WebCore/css/CSSValue.cpp:165:13: error: enumeration value &apos;WebKitCSSShaderClass&apos; not handled in switch [-Werror,-Wswitch-enum,3]
&gt; 
&gt; Source/WebCore/css/WebKitCSSShaderValue.h:39:7: error: &apos;WebCore::WebKitCSSShaderValue&apos; has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor,3]
&gt; 
&gt; All simple fixes thankfully.

Yes, should be simple. I&apos;m actually using Mac, just that the CSSValue.cpp file was heavily changed after I&apos;ve posted the patch: http://trac.webkit.org/log/trunk/Source/WebCore/css/CSSValue.cpp

I will update the patch and post for commit again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498821</commentid>
    <comment_count>12</comment_count>
      <attachid>114248</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2011-11-09 04:33:13 -0800</bug_when>
    <thetext>Created attachment 114248
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498865</commentid>
    <comment_count>13</comment_count>
      <attachid>114248</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-09 05:55:31 -0800</bug_when>
    <thetext>Comment on attachment 114248
Patch for landing

Clearing flags on attachment: 114248

Committed r99695: &lt;http://trac.webkit.org/changeset/99695&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498866</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-09 05:55:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499143</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2011-11-09 10:54:45 -0800</bug_when>
    <thetext>&lt;rdar://problem/10420439&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113493</attachid>
            <date>2011-11-03 07:57:26 -0700</date>
            <delta_ts>2011-11-04 05:26:30 -0700</delta_ts>
            <desc>Patch V1</desc>
            <filename>bug71441.patch</filename>
            <type>text/plain</type>
            <size>39280</size>
            <attacher name="Alexandru Chiculita">achicu</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxMDUyMzM0Li43ZDgxMmMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMTEt
MDMgIEFsZXhhbmRydSBDaGljdWxpdGEgIDxhY2hpY3VAYWRvYmUuY29tPgorCisgICAgICAgIFtQ
YXJ0IDFdIFBhcnNlIHRoZSBjdXN0b20oKSBmdW5jdGlvbiBpbiAtd2Via2l0LWZpbHRlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0NDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNzczMvZmlsdGVy
cy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBjc3MzL2ZpbHRlcnMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFs
aWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY3VzdG9tLWZp
bHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFsaWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3Nz
My9maWx0ZXJzL3NjcmlwdC10ZXN0cy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctaW52
YWxpZC5qczogQWRkZWQuCisgICAgICAgICh0ZXN0SW52YWxpZEZpbHRlclJ1bGUpOgorICAgICAg
ICAqIGNzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJz
aW5nLmpzOiBBZGRlZC4KKyAgICAgICAgKGpzV3JhcHBlckNsYXNzKToKKyAgICAgICAgKGdlbmVy
YXRlZEJhc2VVUkwpOgorICAgICAgICAocmVtb3ZlQmFzZVVSTCk6CisgICAgICAgIChzaG91bGRC
ZVR5cGUpOgorICAgICAgICAodGVzdEZpbHRlclJ1bGUpOgorCiAyMDExLTExLTAyICBGaWxpcCBQ
aXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgREZHIGlubGluaW5nIGJyZWFrcyBm
dW5jdGlvbi5hcmd1bWVudHNbc29tZXRoaW5nXSBpZiB0aGUgYXJndW1lbnQgYmVpbmcKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBh
cnNpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS1maWx0
ZXItcHJvcGVydHktcGFyc2luZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uNDg5NzdmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTM0IEBACitUZXN0IHRoZSBwYXJzaW5nIG9mIHRoZSBjdXN0b20oKSBmdW5jdGlvbiBv
ZiB0aGUgLXdlYmtpdC1maWx0ZXIgcHJvcGVydHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCisKK0N1c3RvbSB3aXRoIHZlcnRleCBzaGFkZXIgOiBjdXN0b20odXJsKHZlcnRleC5z
aGFkZXIpKQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGgg
aXMgMQorUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicp
IGlzICdjdXN0b20odXJsKGZpbGU6Ly8vVm9sdW1lcy9TU0QvVXNlcnMvYWNoaWN1L2NvZGUvd2Vi
a2l0L2dpdC93ZWJraXQvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3ZlcnRleC5zaGFkZXIpKScK
K1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZSkgaXMgJ0NTU1ZhbHVlTGlzdCcKK1BBU1Mg
anNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5fX3Byb3RvX18pIGlzICdDU1NWYWx1ZUxpc3RQcm90
b3R5cGUnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuY29uc3RydWN0b3IpIGlzICdD
U1NWYWx1ZUxpc3RDb25zdHJ1Y3RvcicKK1BBU1MgZmlsdGVyUnVsZS5sZW5ndGggaXMgMQorUEFT
UyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRF
Ul9DVVNUT00KK1BBU1Mgc3ViUnVsZS5jc3NUZXh0IGlzICdjdXN0b20odXJsKGZpbGU6Ly8vVm9s
dW1lcy9TU0QvVXNlcnMvYWNoaWN1L2NvZGUvd2Via2l0L2dpdC93ZWJraXQvTGF5b3V0VGVzdHMv
Y3NzMy9maWx0ZXJzL3ZlcnRleC5zaGFkZXIpKScKKworQ3VzdG9tIHdpdGggZnJhZ21lbnQgc2hh
ZGVyIDogY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlcikpCitQQVNTIGNzc1J1bGUudHlw
ZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMgJ2N1c3RvbShub25lIHVybChmaWxl
Oi8vL1ZvbHVtZXMvU1NEL1VzZXJzL2FjaGljdS9jb2RlL3dlYmtpdC9naXQvd2Via2l0L0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9mcmFnbWVudC5zaGFkZXIpKScKK1BBU1MganNXcmFwcGVyQ2xh
c3MoZmlsdGVyUnVsZSkgaXMgJ0NTU1ZhbHVlTGlzdCcKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmls
dGVyUnVsZS5fX3Byb3RvX18pIGlzICdDU1NWYWx1ZUxpc3RQcm90b3R5cGUnCitQQVNTIGpzV3Jh
cHBlckNsYXNzKGZpbHRlclJ1bGUuY29uc3RydWN0b3IpIGlzICdDU1NWYWx1ZUxpc3RDb25zdHJ1
Y3RvcicKK1BBU1MgZmlsdGVyUnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJhdGlv
blR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNUT00KK1BBU1Mgc3Vi
UnVsZS5jc3NUZXh0IGlzICdjdXN0b20obm9uZSB1cmwoZmlsZTovLy9Wb2x1bWVzL1NTRC9Vc2Vy
cy9hY2hpY3UvY29kZS93ZWJraXQvZ2l0L3dlYmtpdC9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMv
ZnJhZ21lbnQuc2hhZGVyKSknCisKK0N1c3RvbSB3aXRoIGJvdGggc2hhZGVycyA6IGN1c3RvbSh1
cmwodmVydGV4LnNoYWRlcikgdXJsKGZyYWdtZW50LnNoYWRlcikpCitQQVNTIGNzc1J1bGUudHlw
ZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMgJ2N1c3RvbSh1cmwoZmlsZTovLy9W
b2x1bWVzL1NTRC9Vc2Vycy9hY2hpY3UvY29kZS93ZWJraXQvZ2l0L3dlYmtpdC9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvdmVydGV4LnNoYWRlcikgdXJsKGZpbGU6Ly8vVm9sdW1lcy9TU0QvVXNl
cnMvYWNoaWN1L2NvZGUvd2Via2l0L2dpdC93ZWJraXQvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJz
L2ZyYWdtZW50LnNoYWRlcikpJworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlKSBpcyAn
Q1NTVmFsdWVMaXN0JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLl9fcHJvdG9fXykg
aXMgJ0NTU1ZhbHVlTGlzdFByb3RvdHlwZScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVs
ZS5jb25zdHJ1Y3RvcikgaXMgJ0NTU1ZhbHVlTGlzdENvbnN0cnVjdG9yJworUEFTUyBmaWx0ZXJS
dWxlLmxlbmd0aCBpcyAxCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NG
aWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTQorUEFTUyBzdWJSdWxlLmNzc1RleHQgaXMgJ2N1
c3RvbSh1cmwoZmlsZTovLy9Wb2x1bWVzL1NTRC9Vc2Vycy9hY2hpY3UvY29kZS93ZWJraXQvZ2l0
L3dlYmtpdC9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvdmVydGV4LnNoYWRlcikgdXJsKGZpbGU6
Ly8vVm9sdW1lcy9TU0QvVXNlcnMvYWNoaWN1L2NvZGUvd2Via2l0L2dpdC93ZWJraXQvTGF5b3V0
VGVzdHMvY3NzMy9maWx0ZXJzL2ZyYWdtZW50LnNoYWRlcikpJworCitDdXN0b20gd2l0aCBtZXNo
IHNpemUgOiBjdXN0b20odXJsKHZlcnRleC5zaGFkZXIpLCAxMCkKK1BBU1MgY3NzUnVsZS50eXBl
IGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24uZ2V0
UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyAnY3VzdG9tKHVybChmaWxlOi8vL1Zv
bHVtZXMvU1NEL1VzZXJzL2FjaGljdS9jb2RlL3dlYmtpdC9naXQvd2Via2l0L0xheW91dFRlc3Rz
L2NzczMvZmlsdGVycy92ZXJ0ZXguc2hhZGVyKSwgMTApJworUEFTUyBqc1dyYXBwZXJDbGFzcyhm
aWx0ZXJSdWxlKSBpcyAnQ1NTVmFsdWVMaXN0JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJS
dWxlLl9fcHJvdG9fXykgaXMgJ0NTU1ZhbHVlTGlzdFByb3RvdHlwZScKK1BBU1MganNXcmFwcGVy
Q2xhc3MoZmlsdGVyUnVsZS5jb25zdHJ1Y3RvcikgaXMgJ0NTU1ZhbHVlTGlzdENvbnN0cnVjdG9y
JworUEFTUyBmaWx0ZXJSdWxlLmxlbmd0aCBpcyAxCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlw
ZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTQorUEFTUyBzdWJSdWxl
LmNzc1RleHQgaXMgJ2N1c3RvbSh1cmwoZmlsZTovLy9Wb2x1bWVzL1NTRC9Vc2Vycy9hY2hpY3Uv
Y29kZS93ZWJraXQvZ2l0L3dlYmtpdC9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvdmVydGV4LnNo
YWRlciksIDEwKScKKworQ3VzdG9tIHdpdGggYm90aCBtZXNoIHNpemVzIDogY3VzdG9tKG5vbmUg
dXJsKGZyYWdtZW50LnNoYWRlciksIDEwIDIwKQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFT
UyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZh
bHVlKCctd2Via2l0LWZpbHRlcicpIGlzICdjdXN0b20obm9uZSB1cmwoZmlsZTovLy9Wb2x1bWVz
L1NTRC9Vc2Vycy9hY2hpY3UvY29kZS93ZWJraXQvZ2l0L3dlYmtpdC9MYXlvdXRUZXN0cy9jc3Mz
L2ZpbHRlcnMvZnJhZ21lbnQuc2hhZGVyKSwgMTAgMjApJworUEFTUyBqc1dyYXBwZXJDbGFzcyhm
aWx0ZXJSdWxlKSBpcyAnQ1NTVmFsdWVMaXN0JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJS
dWxlLl9fcHJvdG9fXykgaXMgJ0NTU1ZhbHVlTGlzdFByb3RvdHlwZScKK1BBU1MganNXcmFwcGVy
Q2xhc3MoZmlsdGVyUnVsZS5jb25zdHJ1Y3RvcikgaXMgJ0NTU1ZhbHVlTGlzdENvbnN0cnVjdG9y
JworUEFTUyBmaWx0ZXJSdWxlLmxlbmd0aCBpcyAxCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlw
ZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTQorUEFTUyBzdWJSdWxl
LmNzc1RleHQgaXMgJ2N1c3RvbShub25lIHVybChmaWxlOi8vL1ZvbHVtZXMvU1NEL1VzZXJzL2Fj
aGljdS9jb2RlL3dlYmtpdC9naXQvd2Via2l0L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9mcmFn
bWVudC5zaGFkZXIpLCAxMCAyMCknCisKK0N1c3RvbSB3aXRoIGRldGFjaGVkIG1lc2ggOiBjdXN0
b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgZGV0YWNoZWQpCitQQVNTIGNzc1J1bGUudHlw
ZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMgJ2N1c3RvbShub25lIHVybChmaWxl
Oi8vL1ZvbHVtZXMvU1NEL1VzZXJzL2FjaGljdS9jb2RlL3dlYmtpdC9naXQvd2Via2l0L0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9mcmFnbWVudC5zaGFkZXIpLCBkZXRhY2hlZCknCitQQVNTIGpz
V3JhcHBlckNsYXNzKGZpbHRlclJ1bGUpIGlzICdDU1NWYWx1ZUxpc3QnCitQQVNTIGpzV3JhcHBl
ckNsYXNzKGZpbHRlclJ1bGUuX19wcm90b19fKSBpcyAnQ1NTVmFsdWVMaXN0UHJvdG90eXBlJwor
UEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLmNvbnN0cnVjdG9yKSBpcyAnQ1NTVmFsdWVM
aXN0Q29uc3RydWN0b3InCitQQVNTIGZpbHRlclJ1bGUubGVuZ3RoIGlzIDEKK1BBU1Mgc3ViUnVs
ZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfQ1VTVE9N
CitQQVNTIHN1YlJ1bGUuY3NzVGV4dCBpcyAnY3VzdG9tKG5vbmUgdXJsKGZpbGU6Ly8vVm9sdW1l
cy9TU0QvVXNlcnMvYWNoaWN1L2NvZGUvd2Via2l0L2dpdC93ZWJraXQvTGF5b3V0VGVzdHMvY3Nz
My9maWx0ZXJzL2ZyYWdtZW50LnNoYWRlciksIGRldGFjaGVkKScKKworQ3VzdG9tIHdpdGggZGV0
YWNoZWQgYW5kIG1lc2ggc2l6ZSA6IGN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAx
MCAyMCBkZXRhY2hlZCkKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24u
bGVuZ3RoIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1m
aWx0ZXInKSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZpbGU6Ly8vVm9sdW1lcy9TU0QvVXNlcnMvYWNo
aWN1L2NvZGUvd2Via2l0L2dpdC93ZWJraXQvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZyYWdt
ZW50LnNoYWRlciksIDEwIDIwIGRldGFjaGVkKScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVy
UnVsZSkgaXMgJ0NTU1ZhbHVlTGlzdCcKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5f
X3Byb3RvX18pIGlzICdDU1NWYWx1ZUxpc3RQcm90b3R5cGUnCitQQVNTIGpzV3JhcHBlckNsYXNz
KGZpbHRlclJ1bGUuY29uc3RydWN0b3IpIGlzICdDU1NWYWx1ZUxpc3RDb25zdHJ1Y3RvcicKK1BB
U1MgZmlsdGVyUnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMg
V2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNUT00KK1BBU1Mgc3ViUnVsZS5jc3NU
ZXh0IGlzICdjdXN0b20obm9uZSB1cmwoZmlsZTovLy9Wb2x1bWVzL1NTRC9Vc2Vycy9hY2hpY3Uv
Y29kZS93ZWJraXQvZ2l0L3dlYmtpdC9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZnJhZ21lbnQu
c2hhZGVyKSwgMTAgMjAgZGV0YWNoZWQpJworCitDdXN0b20gd2l0aCBudW1iZXIgcGFyYW1ldGVy
cyA6IGN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBwMSAxLCBwMiAyIDMsIHAzIDMg
NCA1LCBwNCA0IDUgNiA3KQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlv
bi5sZW5ndGggaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0
LWZpbHRlcicpIGlzICdjdXN0b20obm9uZSB1cmwoZmlsZTovLy9Wb2x1bWVzL1NTRC9Vc2Vycy9h
Y2hpY3UvY29kZS93ZWJraXQvZ2l0L3dlYmtpdC9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZnJh
Z21lbnQuc2hhZGVyKSwgcDEgMSwgcDIgMiAzLCBwMyAzIDQgNSwgcDQgNCA1IDYgNyknCitQQVNT
IGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUpIGlzICdDU1NWYWx1ZUxpc3QnCitQQVNTIGpzV3Jh
cHBlckNsYXNzKGZpbHRlclJ1bGUuX19wcm90b19fKSBpcyAnQ1NTVmFsdWVMaXN0UHJvdG90eXBl
JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLmNvbnN0cnVjdG9yKSBpcyAnQ1NTVmFs
dWVMaXN0Q29uc3RydWN0b3InCitQQVNTIGZpbHRlclJ1bGUubGVuZ3RoIGlzIDEKK1BBU1Mgc3Vi
UnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfQ1VT
VE9NCitQQVNTIHN1YlJ1bGUuY3NzVGV4dCBpcyAnY3VzdG9tKG5vbmUgdXJsKGZpbGU6Ly8vVm9s
dW1lcy9TU0QvVXNlcnMvYWNoaWN1L2NvZGUvd2Via2l0L2dpdC93ZWJraXQvTGF5b3V0VGVzdHMv
Y3NzMy9maWx0ZXJzL2ZyYWdtZW50LnNoYWRlciksIHAxIDEsIHAyIDIgMywgcDMgMyA0IDUsIHA0
IDQgNSA2IDcpJworCitDdXN0b20gd2l0aCBmbG9hdCBwYXJhbWV0ZXJzIDogY3VzdG9tKG5vbmUg
dXJsKGZyYWdtZW50LnNoYWRlciksIHAxIDEuMSwgcDIgMi4yIDMuMywgcDMgMy4xIDQuMSA1LjEs
IHA0IDQuMSA1LjIgNi4zIDcuNCkKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFy
YXRpb24ubGVuZ3RoIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdl
YmtpdC1maWx0ZXInKSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZpbGU6Ly8vVm9sdW1lcy9TU0QvVXNl
cnMvYWNoaWN1L2NvZGUvd2Via2l0L2dpdC93ZWJraXQvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJz
L2ZyYWdtZW50LnNoYWRlciksIHAxIDEuMSwgcDIgMi4yIDMuMywgcDMgMy4xIDQuMSA1LjEsIHA0
IDQuMSA1LjIgNi4zIDcuNCknCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUpIGlzICdD
U1NWYWx1ZUxpc3QnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuX19wcm90b19fKSBp
cyAnQ1NTVmFsdWVMaXN0UHJvdG90eXBlJworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxl
LmNvbnN0cnVjdG9yKSBpcyAnQ1NTVmFsdWVMaXN0Q29uc3RydWN0b3InCitQQVNTIGZpbHRlclJ1
bGUubGVuZ3RoIGlzIDEKK1BBU1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0Zp
bHRlclZhbHVlLkNTU19GSUxURVJfQ1VTVE9NCitQQVNTIHN1YlJ1bGUuY3NzVGV4dCBpcyAnY3Vz
dG9tKG5vbmUgdXJsKGZpbGU6Ly8vVm9sdW1lcy9TU0QvVXNlcnMvYWNoaWN1L2NvZGUvd2Via2l0
L2dpdC93ZWJraXQvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZyYWdtZW50LnNoYWRlciksIHAx
IDEuMSwgcDIgMi4yIDMuMywgcDMgMy4xIDQuMSA1LjEsIHA0IDQuMSA1LjIgNi4zIDcuNCknCisK
K0N1c3RvbSB3aXRoIG1lc2ggc2l6ZSBhbmQgbnVtYmVyIHBhcmFtZXRlcnMgOiBjdXN0b20obm9u
ZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMTAgMjAsIHAxIDEsIHAyIDIgMywgcDMgMyA0IDUsIHA0
IDQgNSA2IDcpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0
aCBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVy
JykgaXMgJ2N1c3RvbShub25lIHVybChmaWxlOi8vL1ZvbHVtZXMvU1NEL1VzZXJzL2FjaGljdS9j
b2RlL3dlYmtpdC9naXQvd2Via2l0L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9mcmFnbWVudC5z
aGFkZXIpLCAxMCAyMCwgcDEgMSwgcDIgMiAzLCBwMyAzIDQgNSwgcDQgNCA1IDYgNyknCitQQVNT
IGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUpIGlzICdDU1NWYWx1ZUxpc3QnCitQQVNTIGpzV3Jh
cHBlckNsYXNzKGZpbHRlclJ1bGUuX19wcm90b19fKSBpcyAnQ1NTVmFsdWVMaXN0UHJvdG90eXBl
JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLmNvbnN0cnVjdG9yKSBpcyAnQ1NTVmFs
dWVMaXN0Q29uc3RydWN0b3InCitQQVNTIGZpbHRlclJ1bGUubGVuZ3RoIGlzIDEKK1BBU1Mgc3Vi
UnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfQ1VT
VE9NCitQQVNTIHN1YlJ1bGUuY3NzVGV4dCBpcyAnY3VzdG9tKG5vbmUgdXJsKGZpbGU6Ly8vVm9s
dW1lcy9TU0QvVXNlcnMvYWNoaWN1L2NvZGUvd2Via2l0L2dpdC93ZWJraXQvTGF5b3V0VGVzdHMv
Y3NzMy9maWx0ZXJzL2ZyYWdtZW50LnNoYWRlciksIDEwIDIwLCBwMSAxLCBwMiAyIDMsIHAzIDMg
NCA1LCBwNCA0IDUgNiA3KScKKworTXVsdGlwbGUgd2l0aCBmcmFnbWVudCBzaGFkZXIgOiBncmF5
c2NhbGUoKSBjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSkgc2VwaWEoKQorUEFTUyBj
c3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMQorUEFTUyBkZWNs
YXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpIGlzICdncmF5c2NhbGUo
KSBjdXN0b20obm9uZSB1cmwoZmlsZTovLy9Wb2x1bWVzL1NTRC9Vc2Vycy9hY2hpY3UvY29kZS93
ZWJraXQvZ2l0L3dlYmtpdC9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZnJhZ21lbnQuc2hhZGVy
KSkgc2VwaWEoKScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZSkgaXMgJ0NTU1ZhbHVl
TGlzdCcKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5fX3Byb3RvX18pIGlzICdDU1NW
YWx1ZUxpc3RQcm90b3R5cGUnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuY29uc3Ry
dWN0b3IpIGlzICdDU1NWYWx1ZUxpc3RDb25zdHJ1Y3RvcicKK1BBU1MgZmlsdGVyUnVsZS5sZW5n
dGggaXMgMworUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFs
dWUuQ1NTX0ZJTFRFUl9HUkFZU0NBTEUKK1BBU1Mgc3ViUnVsZS5jc3NUZXh0IGlzICdncmF5c2Nh
bGUoKScKK1BBU1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVl
LkNTU19GSUxURVJfQ1VTVE9NCitQQVNTIHN1YlJ1bGUuY3NzVGV4dCBpcyAnY3VzdG9tKG5vbmUg
dXJsKGZpbGU6Ly8vVm9sdW1lcy9TU0QvVXNlcnMvYWNoaWN1L2NvZGUvd2Via2l0L2dpdC93ZWJr
aXQvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZyYWdtZW50LnNoYWRlcikpJworUEFTUyBzdWJS
dWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9TRVBJ
QQorUEFTUyBzdWJSdWxlLmNzc1RleHQgaXMgJ3NlcGlhKCknCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3NzMy9maWx0ZXJzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2luZy1pbnZhbGlkLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20tZmlsdGVyLXByb3BlcnR5
LXBhcnNpbmctaW52YWxpZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uMzE1M2JiMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmls
dGVycy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctaW52YWxpZC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw3OSBAQAorVGVzdCB0aGUgcGFyc2luZyBvZiBjdXN0b20oKSBmdW5jdGlvbiBv
ZiB0aGUgLXdlYmtpdC1maWx0ZXIgcHJvcGVydHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCisKK0VtcHR5IGZ1bmN0aW9uIDogY3VzdG9tKCkKK1BBU1MgY3NzUnVsZS50eXBlIGlz
IDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJv
cGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyBudWxsCisKK05vIHZhbHVlcyAxIDogY3Vz
dG9tKCwpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBp
cyAwCitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykg
aXMgbnVsbAorCitObyB2YWx1ZXMgMiA6IGN1c3RvbSgsLCkKK1BBU1MgY3NzUnVsZS50eXBlIGlz
IDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJv
cGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyBudWxsCisKK1RvbyBtYW55IHNoYWRlcnMg
MSA6IGN1c3RvbSh1cmwoc2hhZGVyMSkgdXJsKHNoYWRlcjIpIHVybChzaGFkZXIyKSkKK1BBU1Mg
Y3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVj
bGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyBudWxsCisKK1Rv
byBtYW55IHNoYWRlcnMgMiA6IGN1c3RvbShub25lIG5vbmUgbm9uZSkKK1BBU1MgY3NzUnVsZS50
eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFyYXRpb24u
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyBudWxsCisKK1RvbyBtYW55IHNo
YWRlcnMgMyA6IGN1c3RvbShub25lIHVybChzaGFkZXIxKSB1cmwoc2hhZGVyMikgdXJsKHNoYWRl
cjIpKQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMg
MAorUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpIGlz
IG51bGwKKworTm8gc2hhZGVyIDogY3VzdG9tKG5vbmUsIDEwIDIwKQorUEFTUyBjc3NSdWxlLnR5
cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMAorUEFTUyBkZWNsYXJhdGlvbi5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpIGlzIG51bGwKKworVG8gbWFueSBtZXNo
IHNpemVzIDogY3VzdG9tKG5vbmUsIDEwIDIwIDMwKQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQor
UEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMAorUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWZpbHRlcicpIGlzIG51bGwKKworV3JvbmcgbWVzaCB0eXBlIDogY3Vz
dG9tKHVybChzaGFkZXIpLCBkZXRhY2gpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRl
Y2xhcmF0aW9uLmxlbmd0aCBpcyAwCitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUo
Jy13ZWJraXQtZmlsdGVyJykgaXMgbnVsbAorCitObyBtZXNoIHNpemUgOiBjdXN0b20odXJsKHNo
YWRlciksICwgcDEgMikKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24u
bGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1m
aWx0ZXInKSBpcyBudWxsCisKK1RvIG1hbnkgcGFyYW1ldGVyIHZhbHVlcyA6IGN1c3RvbSh1cmwo
c2hhZGVyKSwgcDEgMSAyIDMgNCA1KQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNs
YXJhdGlvbi5sZW5ndGggaXMgMAorUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCct
d2Via2l0LWZpbHRlcicpIGlzIG51bGwKKworSW52YWxpZCBwYXJhbWV0ZXIgdHlwZXMgOiBjdXN0
b20odXJsKHNoYWRlciksIHAxIDEuMCAyLjAgJ3RleHQnKQorUEFTUyBjc3NSdWxlLnR5cGUgaXMg
MQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMAorUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9w
ZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpIGlzIG51bGwKKworTm8gcGFyYW1ldGVyIHZhbHVl
IDEgOiBjdXN0b20odXJsKHNoYWRlciksIHAxKQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFT
UyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMAorUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZh
bHVlKCctd2Via2l0LWZpbHRlcicpIGlzIG51bGwKKworTm8gcGFyYW1ldGVyIHZhbHVlIDIgOiBj
dXN0b20odXJsKHNoYWRlciksIHAxLCBwMiwgcDMpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQ
QVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAwCitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMgbnVsbAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctaW52YWxpZC5odG1sIGIvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2luZy1pbnZh
bGlkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM5YTI1NAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20tZmlsdGVyLXBy
b3BlcnR5LXBhcnNpbmctaW52YWxpZC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3Rz
L2N1c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2luZy1pbnZhbGlkLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0
ZXJzL3NjcmlwdC10ZXN0cy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctaW52YWxpZC5q
cyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvY3VzdG9tLWZpbHRlci1w
cm9wZXJ0eS1wYXJzaW5nLWludmFsaWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uM2EwNDVjOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVy
cy9zY3JpcHQtdGVzdHMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFsaWQuanMK
QEAgLTAsMCArMSw0MCBAQAorZGVzY3JpcHRpb24oIlRlc3QgdGhlIHBhcnNpbmcgb2YgY3VzdG9t
KCkgZnVuY3Rpb24gb2YgdGhlIC13ZWJraXQtZmlsdGVyIHByb3BlcnR5LiIpOworCisvLyBUaGVz
ZSBoYXZlIHRvIGJlIGdsb2JhbCBmb3IgdGhlIHRlc3QgaGVscGVycyB0byBzZWUgdGhlbS4KK3Zh
ciBzdHlsZXNoZWV0LCBjc3NSdWxlLCBkZWNsYXJhdGlvbjsKKworZnVuY3Rpb24gdGVzdEludmFs
aWRGaWx0ZXJSdWxlKGRlc2NyaXB0aW9uLCBydWxlKQoreworICAgIGRlYnVnKCIiKTsKKyAgICBk
ZWJ1ZyhkZXNjcmlwdGlvbiArICIgOiAiICsgcnVsZSk7CisKKyAgICBzdHlsZXNoZWV0ID0gZG9j
dW1lbnQuc3R5bGVTaGVldHMuaXRlbSgwKTsKKyAgICBzdHlsZXNoZWV0Lmluc2VydFJ1bGUoImJv
ZHkgeyAtd2Via2l0LWZpbHRlcjogIiArIHJ1bGUgKyAiOyB9IiwgMCk7CisgICAgY3NzUnVsZSA9
IHN0eWxlc2hlZXQuY3NzUnVsZXMuaXRlbSgwKTsKKyAgCisgICAgc2hvdWxkQmUoImNzc1J1bGUu
dHlwZSIsICIxIik7CisKKyAgICBkZWNsYXJhdGlvbiA9IGNzc1J1bGUuc3R5bGU7CisgICAgc2hv
dWxkQmUoImRlY2xhcmF0aW9uLmxlbmd0aCIsICIwIik7CisgICAgc2hvdWxkQmUoImRlY2xhcmF0
aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykiLCAibnVsbCIpOworfQorCit0
ZXN0SW52YWxpZEZpbHRlclJ1bGUoIkVtcHR5IGZ1bmN0aW9uIiwgImN1c3RvbSgpIik7Cit0ZXN0
SW52YWxpZEZpbHRlclJ1bGUoIk5vIHZhbHVlcyAxIiwgImN1c3RvbSgsKSIpOwordGVzdEludmFs
aWRGaWx0ZXJSdWxlKCJObyB2YWx1ZXMgMiIsICJjdXN0b20oLCwpIik7CisKK3Rlc3RJbnZhbGlk
RmlsdGVyUnVsZSgiVG9vIG1hbnkgc2hhZGVycyAxIiwgImN1c3RvbSh1cmwoc2hhZGVyMSkgdXJs
KHNoYWRlcjIpIHVybChzaGFkZXIyKSkiKTsKK3Rlc3RJbnZhbGlkRmlsdGVyUnVsZSgiVG9vIG1h
bnkgc2hhZGVycyAyIiwgImN1c3RvbShub25lIG5vbmUgbm9uZSkiKTsKK3Rlc3RJbnZhbGlkRmls
dGVyUnVsZSgiVG9vIG1hbnkgc2hhZGVycyAzIiwgImN1c3RvbShub25lIHVybChzaGFkZXIxKSB1
cmwoc2hhZGVyMikgdXJsKHNoYWRlcjIpKSIpOworCit0ZXN0SW52YWxpZEZpbHRlclJ1bGUoIk5v
IHNoYWRlciIsICJjdXN0b20obm9uZSwgMTAgMjApIik7Cit0ZXN0SW52YWxpZEZpbHRlclJ1bGUo
IlRvIG1hbnkgbWVzaCBzaXplcyIsICJjdXN0b20obm9uZSwgMTAgMjAgMzApIik7Cit0ZXN0SW52
YWxpZEZpbHRlclJ1bGUoIldyb25nIG1lc2ggdHlwZSIsICJjdXN0b20odXJsKHNoYWRlciksIGRl
dGFjaCkiKTsKK3Rlc3RJbnZhbGlkRmlsdGVyUnVsZSgiTm8gbWVzaCBzaXplIiwgImN1c3RvbSh1
cmwoc2hhZGVyKSwgLCBwMSAyKSIpOworCit0ZXN0SW52YWxpZEZpbHRlclJ1bGUoIlRvIG1hbnkg
cGFyYW1ldGVyIHZhbHVlcyIsICJjdXN0b20odXJsKHNoYWRlciksIHAxIDEgMiAzIDQgNSkiKTsK
K3Rlc3RJbnZhbGlkRmlsdGVyUnVsZSgiSW52YWxpZCBwYXJhbWV0ZXIgdHlwZXMiLCAiY3VzdG9t
KHVybChzaGFkZXIpLCBwMSAxLjAgMi4wICd0ZXh0JykiKTsKKwordGVzdEludmFsaWRGaWx0ZXJS
dWxlKCJObyBwYXJhbWV0ZXIgdmFsdWUgMSIsICJjdXN0b20odXJsKHNoYWRlciksIHAxKSIpOwor
dGVzdEludmFsaWRGaWx0ZXJSdWxlKCJObyBwYXJhbWV0ZXIgdmFsdWUgMiIsICJjdXN0b20odXJs
KHNoYWRlciksIHAxLCBwMiwgcDMpIik7CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9zY3JpcHQtdGVzdHMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLmpzIGIv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3NjcmlwdC10ZXN0cy9jdXN0b20tZmlsdGVyLXByb3Bl
cnR5LXBhcnNpbmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNiMWY4
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9zY3JpcHQtdGVz
dHMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLmpzCkBAIC0wLDAgKzEsMTEyIEBACitk
ZXNjcmlwdGlvbigiVGVzdCB0aGUgcGFyc2luZyBvZiB0aGUgY3VzdG9tKCkgZnVuY3Rpb24gb2Yg
dGhlIC13ZWJraXQtZmlsdGVyIHByb3BlcnR5LiIpOworCitmdW5jdGlvbiBqc1dyYXBwZXJDbGFz
cyhub2RlKQoreworICAgIGlmICghbm9kZSkKKyAgICAgICAgcmV0dXJuICJbbnVsbF0iOworICAg
IHZhciBzdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmFwcGx5KG5vZGUpOworICAg
IHJldHVybiBzdHJpbmcuc3Vic3RyKDgsIHN0cmluZy5sZW5ndGggLSA5KTsKK30KKworZnVuY3Rp
b24gZ2VuZXJhdGVkQmFzZVVSTCgpIHsKKyAgICByZXR1cm4gZG9jdW1lbnQuYmFzZVVSSS5yZXBs
YWNlKCJjdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmcuaHRtbCIsICIiKTsKK30KKwordmFy
IGJhc2VVUkwgPSBuZXcgUmVnRXhwKGdlbmVyYXRlZEJhc2VVUkwoKSwgImciKTsKKworLy8gTmVl
ZCB0byByZW1vdmUgdGhlIGJhc2UgVVJMIHRvIGF2b2lkIGhhdmluZyBsb2NhbCBwYXRocyBpbiB0
aGUgZXhwZWN0ZWQgcmVzdWx0cy4KK2Z1bmN0aW9uIHJlbW92ZUJhc2VVUkwoc3JjKSB7CisgICAg
cmV0dXJuIHNyYy5yZXBsYWNlKGJhc2VVUkwsICIiKQorfQorCitmdW5jdGlvbiBzaG91bGRCZVR5
cGUoZXhwcmVzc2lvbiwgY2xhc3NOYW1lLCBwcm90b3R5cGVOYW1lLCBjb25zdHJ1Y3Rvck5hbWUp
Cit7CisgICAgaWYgKCFwcm90b3R5cGVOYW1lKQorICAgICAgICBwcm90b3R5cGVOYW1lID0gY2xh
c3NOYW1lICsgIlByb3RvdHlwZSI7CisgICAgaWYgKCFjb25zdHJ1Y3Rvck5hbWUpCisgICAgICAg
IGNvbnN0cnVjdG9yTmFtZSA9IGNsYXNzTmFtZSArICJDb25zdHJ1Y3RvciI7CisgICAgc2hvdWxk
QmUoImpzV3JhcHBlckNsYXNzKCIgKyBleHByZXNzaW9uICsgIikiLCAiJyIgKyBjbGFzc05hbWUg
KyAiJyIpOworICAgIHNob3VsZEJlKCJqc1dyYXBwZXJDbGFzcygiICsgZXhwcmVzc2lvbiArICIu
X19wcm90b19fKSIsICInIiArIHByb3RvdHlwZU5hbWUgKyAiJyIpOworICAgIHNob3VsZEJlKCJq
c1dyYXBwZXJDbGFzcygiICsgZXhwcmVzc2lvbiArICIuY29uc3RydWN0b3IpIiwgIiciICsgY29u
c3RydWN0b3JOYW1lICsgIiciKTsKK30KKworLy8gVGhlc2UgaGF2ZSB0byBiZSBnbG9iYWwgZm9y
IHRoZSB0ZXN0IGhlbHBlcnMgdG8gc2VlIHRoZW0uCit2YXIgc3R5bGVzaGVldCwgY3NzUnVsZSwg
ZGVjbGFyYXRpb24sIGZpbHRlclJ1bGUsIHN1YlJ1bGU7CisKK2Z1bmN0aW9uIHRlc3RGaWx0ZXJS
dWxlKGRlc2NyaXB0aW9uLCBydWxlLCBleHBlY3RlZFZhbHVlLCBleHBlY3RlZFR5cGVzLCBleHBl
Y3RlZFRleHRzKQoreworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZyhkZXNjcmlwdGlvbiArICIg
OiAiICsgcnVsZSk7CisKKyAgICAvLyBVc2UgdGhlIHN0eWxlIGluc2lkZSB0aGUgSFRNTCBkb2N1
bWVudCB0byBmb3JjZSB0aGUgVVJMIHJlem9sdmUgcmVsYXRpdmUgdG8gdGhlIERvY3VtZW50IGJh
c2VVUkkuCisgICAgc3R5bGVzaGVldCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJz
dHlsZSIpWzBdOworICAgIHN0eWxlc2hlZXQuaW5uZXJUZXh0ID0gImJvZHkgeyAtd2Via2l0LWZp
bHRlcjogIiArIHJ1bGUgKyAiOyB9IjsKKyAgICBjc3NSdWxlID0gZG9jdW1lbnQuc3R5bGVTaGVl
dHMuaXRlbSgxKS5jc3NSdWxlcy5pdGVtKDApOworICAKKyAgICBzaG91bGRCZSgiY3NzUnVsZS50
eXBlIiwgIjEiKTsKKworICAgIGRlY2xhcmF0aW9uID0gY3NzUnVsZS5zdHlsZTsKKyAgICBzaG91
bGRCZSgiZGVjbGFyYXRpb24ubGVuZ3RoIiwgIjEiKTsKKyAgICBzaG91bGRCZSgicmVtb3ZlQmFz
ZVVSTChkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpKSIsICIn
IiArIGV4cGVjdGVkVmFsdWUgKyAiJyIpOworCisgICAgZmlsdGVyUnVsZSA9IGRlY2xhcmF0aW9u
LmdldFByb3BlcnR5Q1NTVmFsdWUoJy13ZWJraXQtZmlsdGVyJyk7CisgICAgc2hvdWxkQmVUeXBl
KCJmaWx0ZXJSdWxlIiwgIkNTU1ZhbHVlTGlzdCIpOworCisgICAgaWYgKCFleHBlY3RlZFR5cGVz
KSB7CisgICAgICAgIGV4cGVjdGVkVHlwZXMgPSBbIldlYktpdENTU0ZpbHRlclZhbHVlLkNTU19G
SUxURVJfQ1VTVE9NIl07CisgICAgICAgIGV4cGVjdGVkVGV4dHMgPSBbZXhwZWN0ZWRWYWx1ZV07
CisgICAgfQorICAgIAorICAgIHNob3VsZEJlKCJmaWx0ZXJSdWxlLmxlbmd0aCIsICIiICsgZXhw
ZWN0ZWRUeXBlcy5sZW5ndGgpOyAvLyBzaG91bGRCZSBleHBlY3RzIHN0cmluZyBhcmd1bWVudHMK
KyAgCisgICAgaWYgKGZpbHRlclJ1bGUpIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBl
eHBlY3RlZFR5cGVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICBzdWJSdWxlID0gZmlsdGVy
UnVsZVtpXTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJzdWJSdWxlLm9wZXJhdGlvblR5cGUiLCBl
eHBlY3RlZFR5cGVzW2ldKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJyZW1vdmVCYXNlVVJMKHN1
YlJ1bGUuY3NzVGV4dCkiLCAiJyIgKyBleHBlY3RlZFRleHRzW2ldICsgIiciKTsKKyAgICAgICAg
fQorICAgIH0KK30KKwordGVzdEZpbHRlclJ1bGUoIkN1c3RvbSB3aXRoIHZlcnRleCBzaGFkZXIi
LAorICAgICAgICAgICAgICAgImN1c3RvbSh1cmwodmVydGV4LnNoYWRlcikpIiwgImN1c3RvbSh1
cmwodmVydGV4LnNoYWRlcikpIik7CisKK3Rlc3RGaWx0ZXJSdWxlKCJDdXN0b20gd2l0aCBmcmFn
bWVudCBzaGFkZXIiLAorICAgICAgICAgICAgICAiY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNo
YWRlcikpIiwgImN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpKSIpOworCit0ZXN0Rmls
dGVyUnVsZSgiQ3VzdG9tIHdpdGggYm90aCBzaGFkZXJzIiwKKyAgICAgICAgICAgICJjdXN0b20o
dXJsKHZlcnRleC5zaGFkZXIpIHVybChmcmFnbWVudC5zaGFkZXIpKSIsICJjdXN0b20odXJsKHZl
cnRleC5zaGFkZXIpIHVybChmcmFnbWVudC5zaGFkZXIpKSIpOworICAgICAgICAgICAgCit0ZXN0
RmlsdGVyUnVsZSgiQ3VzdG9tIHdpdGggbWVzaCBzaXplIiwKKyAgICAgICAgICAgICJjdXN0b20o
dXJsKHZlcnRleC5zaGFkZXIpLCAxMCkiLCAiY3VzdG9tKHVybCh2ZXJ0ZXguc2hhZGVyKSwgMTAp
Iik7CisKK3Rlc3RGaWx0ZXJSdWxlKCJDdXN0b20gd2l0aCBib3RoIG1lc2ggc2l6ZXMiLAorICAg
ICAgICAgICAgImN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxMCAyMCkiLCAiY3Vz
dG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEwIDIwKSIpOworCit0ZXN0RmlsdGVyUnVs
ZSgiQ3VzdG9tIHdpdGggZGV0YWNoZWQgbWVzaCIsCisgICAgICAgICAgICAiY3VzdG9tKG5vbmUg
dXJsKGZyYWdtZW50LnNoYWRlciksIGRldGFjaGVkKSIsICJjdXN0b20obm9uZSB1cmwoZnJhZ21l
bnQuc2hhZGVyKSwgZGV0YWNoZWQpIik7CisgICAgICAgICAgICAKK3Rlc3RGaWx0ZXJSdWxlKCJD
dXN0b20gd2l0aCBkZXRhY2hlZCBhbmQgbWVzaCBzaXplIiwKKyAgICAgICAgICAgICJjdXN0b20o
bm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMTAgMjAgZGV0YWNoZWQpIiwgImN1c3RvbShub25l
IHVybChmcmFnbWVudC5zaGFkZXIpLCAxMCAyMCBkZXRhY2hlZCkiKTsKKwordGVzdEZpbHRlclJ1
bGUoIkN1c3RvbSB3aXRoIG51bWJlciBwYXJhbWV0ZXJzIiwKKyAgICAgICAgICAgICJjdXN0b20o
bm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgcDEgMSwgcDIgMiAzLCBwMyAzIDQgNSwgcDQgNCA1
IDYgNykiLAorICAgICAgICAgICAgImN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBw
MSAxLCBwMiAyIDMsIHAzIDMgNCA1LCBwNCA0IDUgNiA3KSIpOworCit0ZXN0RmlsdGVyUnVsZSgi
Q3VzdG9tIHdpdGggZmxvYXQgcGFyYW1ldGVycyIsCisgICAgICAgICAgICAiY3VzdG9tKG5vbmUg
dXJsKGZyYWdtZW50LnNoYWRlciksIHAxIDEuMSwgcDIgMi4yIDMuMywgcDMgMy4xIDQuMSA1LjEs
IHA0IDQuMSA1LjIgNi4zIDcuNCkiLAorICAgICAgICAgICAgImN1c3RvbShub25lIHVybChmcmFn
bWVudC5zaGFkZXIpLCBwMSAxLjEsIHAyIDIuMiAzLjMsIHAzIDMuMSA0LjEgNS4xLCBwNCA0LjEg
NS4yIDYuMyA3LjQpIik7CisKKwordGVzdEZpbHRlclJ1bGUoIkN1c3RvbSB3aXRoIG1lc2ggc2l6
ZSBhbmQgbnVtYmVyIHBhcmFtZXRlcnMiLAorICAgICAgICAgICAgImN1c3RvbShub25lIHVybChm
cmFnbWVudC5zaGFkZXIpLCAxMCAyMCwgcDEgMSwgcDIgMiAzLCBwMyAzIDQgNSwgcDQgNCA1IDYg
NykiLAorICAgICAgICAgICAgImN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxMCAy
MCwgcDEgMSwgcDIgMiAzLCBwMyAzIDQgNSwgcDQgNCA1IDYgNykiKTsKKwordGVzdEZpbHRlclJ1
bGUoIk11bHRpcGxlIHdpdGggZnJhZ21lbnQgc2hhZGVyIiwKKyAgICAgICAgICAgICJncmF5c2Nh
bGUoKSBjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSkgc2VwaWEoKSIsICJncmF5c2Nh
bGUoKSBjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSkgc2VwaWEoKSIsCisgICAgICAg
ICAgICBbIldlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfR1JBWVNDQUxFIiwKKyAgICAg
ICAgICAgICJXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTSIsCisgICAgICAg
ICAgICAiV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9TRVBJQSJdLAorICAgICAgICAg
ICAgWyJncmF5c2NhbGUoKSIsCisgICAgICAgICAgICAiY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50
LnNoYWRlcikpIiwKKyAgICAgICAgICAgICJzZXBpYSgpIl0pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDA0NmZj
NGIuLjE5ZGU3MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAxMS0xMS0wMyAgQWxl
eGFuZHJ1IENoaWN1bGl0YSAgPGFjaGljdUBhZG9iZS5jb20+CisKKyAgICAgICAgW1BhcnQgMV0g
UGFyc2UgdGhlIGN1c3RvbSgpIGZ1bmN0aW9uIGluIC13ZWJraXQtZmlsdGVyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTQ0MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgQWRkZWQgY29kZSB0
aGF0IHBhcnNlcyB0aGUgY3VzdG9tKCkgZnVuY3Rpb24uIFRoZXJlJ3Mgbm8gY29kZQorICAgICAg
ICBmb3IgdGhlIENTU1N0eWxlU2VsZWN0b3IgeWV0LCBzbyB0aGUgb25seSB3YXkgdG8gdGVzdCB0
aGlzIHdhcyB0bworICAgICAgICBjaGVjayB0aGUgInN0eWxlU2hlZXRzIiBydWxlcy4KKworICAg
ICAgICBUZXN0OiBjc3MzL2ZpbHRlcnMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWlu
dmFsaWQuaHRtbAorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlZEZpbHRlcik6CisgICAgICAgICogY3NzL0NT
U1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpmaWx0ZXJJbmZvRm9yTmFtZSk6CisgICAg
ICAgIChXZWJDb3JlOjpza2lwQ29tbWFWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OnBhcnNlQ3VzdG9tRmlsdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFy
c2VGaWx0ZXIpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAgICAgKiBjc3MvQ1NT
U3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpmaWx0ZXJPcGVyYXRpb25Gb3JU
eXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmNyZWF0ZUZpbHRlck9w
ZXJhdGlvbnMpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTVmFsdWU6OmlzV2ViS2l0Q1NTU2hhZGVyVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NWYWx1
ZUtleXdvcmRzLmluOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6V2ViS2l0Q1NTRmlsdGVyVmFs
dWUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTRmlsdGVyVmFsdWU6OnR5cGVVc2VzU3Bh
Y2VTZXBhcmF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTRmlsdGVyVmFsdWU6OmNz
c1RleHQpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5oOgorICAgICAgICAq
IGNzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5pZGw6CisgICAgICAgICogY3NzL1dlYktpdENTU1No
YWRlclZhbHVlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTU2hhZGVyVmFs
dWU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NTaGFkZXJWYWx1ZTo6V2Vi
S2l0Q1NTU2hhZGVyVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTU2hhZGVyVmFs
dWU6OmlzV2ViS2l0U2hhZGVyVmFsdWUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRmlsdGVyT3BlcmF0aW9uLmg6CisKIDIwMTEtMTEtMDIgIEFkYW0gQmFydGggIDxhYmFy
dGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBDU1Agc2hvdWxkIGhhbmRsZSBlbXB0eSBVUkxzIGFz
IGFncmVlZCBhdCBUUEFDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IGQyYTUwZGYuLmFhOTE3NjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC03Mjcs
NiArNzI3LDEzIEBAIHN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiBjb21wdXRlZEZpbHRlcihS
ZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBjb25zdCBSZW5kZXJTCiAgICAgICAgICAgICBmaWx0ZXJW
YWx1ZS0+YXBwZW5kKHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKHNoYXJwZW5PcGVy
YXRpb24tPnRocmVzaG9sZCgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUikpOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisgICAg
ICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpDVVNUT006IHsKKyAgICAgICAgICAgIC8vIEZJWE1F
OiBJbXBsZW1lbnQgY3VzdG9tIHNoYWRlciBmdW5jdGlvbi4KKyAgICAgICAgICAgIC8vIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTM5NgorICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgZmls
dGVyVmFsdWUgPSBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6Y3JlYXRlKFdlYktpdENTU0ZpbHRlclZh
bHVlOjpVbmtub3duRmlsdGVyT3BlcmF0aW9uKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcAppbmRleCA0ZDBlYjllLi40OGZmYzFmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmNwcApAQCAtODAsNiArODAsOSBAQAogI2luY2x1ZGUgIldlYktpdENTU0tleWZyYW1l
UnVsZS5oIgogI2luY2x1ZGUgIldlYktpdENTU0tleWZyYW1lc1J1bGUuaCIKICNpbmNsdWRlICJX
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oIgorI2lmIEVOQUJMRShDU1NfU0hBREVSUykKKyNpbmNs
dWRlICJXZWJLaXRDU1NTaGFkZXJWYWx1ZS5oIgorI2VuZGlmCiAjaW5jbHVkZSA8bGltaXRzLmg+
CiAjaW5jbHVkZSA8d3RmL0hleE51bWJlci5oPgogI2luY2x1ZGUgPHd0Zi9kdG9hLmg+CkBAIC02
NDYxLDcgKzY0NjQsMTUyIEBAIHN0YXRpYyB2b2lkIGZpbHRlckluZm9Gb3JOYW1lKGNvbnN0IENT
U1BhcnNlclN0cmluZyYgbmFtZSwgV2ViS2l0Q1NTRmlsdGVyVmFsdWU6CiAgICAgICAgIGZpbHRl
clR5cGUgPSBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6U2hhcnBlbkZpbHRlck9wZXJhdGlvbjsKICAg
ICAgICAgbWF4aW11bUFyZ3VtZW50Q291bnQgPSAzOwogICAgIH0KKyNpZiBFTkFCTEUoQ1NTX1NI
QURFUlMpCisgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgImN1c3RvbSgiKSkK
KyAgICAgICAgZmlsdGVyVHlwZSA9IFdlYktpdENTU0ZpbHRlclZhbHVlOjpDdXN0b21GaWx0ZXJP
cGVyYXRpb247CisjZW5kaWYKK30KKworI2lmIEVOQUJMRShDU1NfU0hBREVSUykKK3N0YXRpYyBi
b29sIHNraXBDb21tYVZhbHVlKENTU1BhcnNlclZhbHVlTGlzdCogYXJnc0xpc3QpCit7CisgICAg
aWYgKENTU1BhcnNlclZhbHVlKiBhcmcgPSBhcmdzTGlzdC0+Y3VycmVudCgpKSB7CisgICAgICAg
IGlmIChhcmctPnVuaXQgIT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9yIHx8IGFyZy0+aVZhbHVl
ICE9ICcsJykKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgYXJnc0xpc3QtPm5l
eHQoKTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKK1Bhc3NSZWZQdHI8V2ViS2l0Q1NT
RmlsdGVyVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VDdXN0b21GaWx0ZXIoQ1NTUGFyc2VyVmFsdWUq
IHZhbHVlKQoreworICAgIENTU1BhcnNlclZhbHVlTGlzdCogYXJnc0xpc3QgPSB2YWx1ZS0+ZnVu
Y3Rpb24tPmFyZ3MuZ2V0KCk7CisgICAgaWYgKCFhcmdzTGlzdCkKKyAgICAgICAgcmV0dXJuIDA7
CisKKyAgICBSZWZQdHI8V2ViS2l0Q1NTRmlsdGVyVmFsdWU+IGZpbHRlclZhbHVlID0gV2ViS2l0
Q1NTRmlsdGVyVmFsdWU6OmNyZWF0ZShXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6Q3VzdG9tRmlsdGVy
T3BlcmF0aW9uKTsKKworICAgIC8vIExpc3RpbmcgdGhlIGZvcm1hdCBmb3IgdGhlIGN1c3RvbSBm
aWx0ZXIgaGVyZS4gUGxlYXNlIHVwZGF0ZSB0aGlzIHdoZW4gY2hhbmdpbmcKKyAgICAvLyB0aGUg
aW1wbGVtZW50YXRpb24gb2YgdGhlIHN5bnRheDoKKyAgICAvLworICAgIC8vIHZlcnRleFNoYWRl
cjogICAgPHVyaT4gfCBub25lCisgICAgLy8gZnJhZ21lbnRTaGFkZXI6ICA8dXJpPiB8IG5vbmUK
KyAgICAvLworICAgIC8vIGJveDogZmlsdGVyLWJveCB8IGJvcmRlci1ib3ggfCBwYWRkaW5nLWJv
eCB8IGNvbnRlbnQtYm94CisgICAgLy8gdmVydGV4TWVzaDogICs8aW50ZWdlcj57MSwyfVt3c3A8
Ym94Pl1bd3Nw4oCZZGV0YWNoZWQnXQorICAgIC8vCisgICAgLy8gcGFyYW0tdmFsdWU6IHRydWV8
ZmFsc2Vbd3NwK3RydWV8ZmFsc2VdezAtM30gfAorICAgIC8vICAgICAgICAgICAgICA8bnVtYmVy
Plt3c3ArPG51bWJlcj5dezAtM30gfAorICAgIC8vICAgICAgICAgICAgICA8YXJyYXk+IHwKKyAg
ICAvLyAgICAgICAgICAgICAgPHRyYW5zZm9ybT4gfAorICAgIC8vICAgICAgICAgICAgICA8dGV4
dHVyZSg8dXJpPik+CisgICAgLy8gYXJyYXk6IOKAmGFycmF5KOKAmTxudW1iZXI+W3dzcDxudW1i
ZXI+XSrigJgp4oCZCisgICAgLy8gY3NzLTNkLXRyYW5zZm9ybTogPHRyYW5zZm9ybS1mdW5jdGlv
bj47Wzx0cmFuc2Zvcm0tZnVuY3Rpb24+XSoKKyAgICAvLyB0cmFuc2Zvcm06ICAgPGNzcy0zZC10
cmFuc2Zvcm0+IHwgPG1hdD4KKyAgICAvLyBtYXQ6ICAgICAgICAg4oCYbWF0MijigJk8bnVtYmVy
PigsPG51bWJlcj4pezN94oCYKeKAmSB8IAorICAgIC8vICAgICAgICAgICAgICDigJhtYXQzKOKA
mTxudW1iZXI+KCw8bnVtYmVyPil7OH3igJgp4oCZIHwgCisgICAgLy8gICAgICAgICAgICAgIOKA
mG1hdDQo4oCZPG51bWJlcj4oLDxudW1iZXI+KXsxNX3igJgp4oCZICkKKyAgICAvLyBwYXJhbS1k
ZWY6ICAgPHBhcmFtLW5hbWU+d3NwPHBhcmFtLXZhbHVlPgorICAgIC8vIHBhcmFtLW5hbWU6ICA8
aWRlbnQ+CisgICAgLy8gcGFyYW1zOiAgICAgIFs8cGFyYW0tZGVmPlssPHBhcmFtLWRlZj4qXV0K
KyAgICAvLworICAgIC8vIGN1c3RvbSg8dmVydGV4LXNoYWRlcj5bd3NwPGZyYWdtZW50LXNoYWRl
cj5dWyw8dmVydGV4LW1lc2g+XVssPHBhcmFtcz5dKQorICAgIAorICAgIC8vIDEuIFBhcnNlIHRo
ZSBzaGFkZXIgVVJMczogPHZlcnRleC1zaGFkZXI+W3dzcDxmcmFnbWVudC1zaGFkZXI+XQorICAg
IFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IHNoYWRlcnNMaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVT
cGFjZVNlcGFyYXRlZCgpOworICAgIGJvb2wgaGFkQXRMZWFzdE9uZUN1c3RvbVNoYWRlciA9IGZh
bHNlOworICAgIENTU1BhcnNlclZhbHVlKiBhcmc7CisgICAgd2hpbGUgKChhcmcgPSBhcmdzTGlz
dC0+Y3VycmVudCgpKSkgeworICAgICAgICBSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlOworICAgICAg
ICBpZiAoYXJnLT5pZCA9PSBDU1NWYWx1ZU5vbmUpCisgICAgICAgICAgICB2YWx1ZSA9IHByaW1p
dGl2ZVZhbHVlQ2FjaGUoKS0+Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSk7Cisg
ICAgICAgIGVsc2UgaWYgKGFyZy0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1VSSSkg
eworICAgICAgICAgICAgS1VSTCBzaGFkZXJVUkwgPSBtX3N0eWxlU2hlZXQgPyBtX3N0eWxlU2hl
ZXQtPmNvbXBsZXRlVVJMKGFyZy0+c3RyaW5nKSA6IEtVUkwoKTsKKyAgICAgICAgICAgIHZhbHVl
ID0gV2ViS2l0Q1NTU2hhZGVyVmFsdWU6OmNyZWF0ZShzaGFkZXJVUkwuc3RyaW5nKCkpOworICAg
ICAgICAgICAgaGFkQXRMZWFzdE9uZUN1c3RvbVNoYWRlciA9IHRydWU7CisgICAgICAgIH0KKyAg
ICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBzaGFkZXJzTGlz
dC0+YXBwZW5kKHZhbHVlLnJlbGVhc2UoKSk7CisgICAgICAgIGFyZ3NMaXN0LT5uZXh0KCk7Cisg
ICAgfQorCisgICAgaWYgKCFzaGFkZXJzTGlzdC0+bGVuZ3RoKCkgfHwgIWhhZEF0TGVhc3RPbmVD
dXN0b21TaGFkZXIgfHwgc2hhZGVyc0xpc3QtPmxlbmd0aCgpID4gMiB8fCAhc2tpcENvbW1hVmFs
dWUoYXJnc0xpc3QpKQorICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgCisgICAgZmlsdGVyVmFs
dWUtPmFwcGVuZChzaGFkZXJzTGlzdC5yZWxlYXNlKCkpOworICAgIAorICAgIC8vIDIuIFBhcnNl
IHRoZSBtZXNoIHNpemUgPHZlcnRleC1tZXNoPgorICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IG1l
c2hTaXplTGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICAK
KyAgICB3aGlsZSAoKGFyZyA9IGFyZ3NMaXN0LT5jdXJyZW50KCkpKSB7CisgICAgICAgIGlmICgh
dmFsaWRVbml0KGFyZywgRkludGVnZXIgfCBGTm9uTmVnLCB0cnVlKSkKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAKKyAgICAgICAgaW50IGludFZhbHVlID0gc3RhdGljX2Nhc3Q8aW50Pihh
cmctPmZWYWx1ZSk7CisgICAgICAgIG1lc2hTaXplTGlzdC0+YXBwZW5kKHByaW1pdGl2ZVZhbHVl
Q2FjaGUoKS0+Y3JlYXRlVmFsdWUoaW50VmFsdWUsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVN
QkVSKSk7CisgICAgICAgIAorICAgICAgICBhcmdzTGlzdC0+bmV4dCgpOworICAgIH0KKyAgICAK
KyAgICBpZiAobWVzaFNpemVMaXN0LT5sZW5ndGgoKSA+IDIpCisgICAgICAgIHJldHVybiAwOwor
ICAgIAorICAgIGlmICgoYXJnID0gYXJnc0xpc3QtPmN1cnJlbnQoKSkgJiYgKGFyZy0+aWQgPT0g
Q1NTVmFsdWVCb3JkZXJCb3ggfHwgYXJnLT5pZCA9PSBDU1NWYWx1ZVBhZGRpbmdCb3gKKyAgICAg
ICAgfHwgYXJnLT5pZCA9PSBDU1NWYWx1ZUNvbnRlbnRCb3ggfHwgYXJnLT5pZCA9PSBDU1NWYWx1
ZUZpbHRlckJveCkpIHsKKyAgICAgICAgbWVzaFNpemVMaXN0LT5hcHBlbmQocHJpbWl0aXZlVmFs
dWVDYWNoZSgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoYXJnLT5pZCkpOworICAgICAgICBhcmdz
TGlzdC0+bmV4dCgpOworICAgIH0KKyAgICAKKyAgICBpZiAoKGFyZyA9IGFyZ3NMaXN0LT5jdXJy
ZW50KCkpICYmIGFyZy0+aWQgPT0gQ1NTVmFsdWVEZXRhY2hlZCkgeworICAgICAgICBtZXNoU2l6
ZUxpc3QtPmFwcGVuZChwcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1
ZShhcmctPmlkKSk7CisgICAgICAgIGFyZ3NMaXN0LT5uZXh0KCk7CisgICAgfQorICAgIAorICAg
IGlmIChtZXNoU2l6ZUxpc3QtPmxlbmd0aCgpKSB7CisgICAgICAgIGlmICghc2tpcENvbW1hVmFs
dWUoYXJnc0xpc3QpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGZpbHRlclZhbHVl
LT5hcHBlbmQobWVzaFNpemVMaXN0LnJlbGVhc2UoKSk7CisgICAgfQorICAgIAorICAgIFJlZlB0
cjxDU1NWYWx1ZUxpc3Q+IHBhcmFtTGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlQ29tbWFTZXBh
cmF0ZWQoKTsKKyAgICAKKyAgICB3aGlsZSAoKGFyZyA9IGFyZ3NMaXN0LT5jdXJyZW50KCkpKSB7
CisgICAgICAgIGlmIChhcmctPmlkIHx8IGFyZy0+dW5pdCAhPSBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX0lERU5UKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgUmVmUHRyPENTU1ZhbHVl
TGlzdD4gcGFyYW1ldGVyID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOwor
ICAgICAgICBwYXJhbWV0ZXItPmFwcGVuZChjcmVhdGVQcmltaXRpdmVTdHJpbmdWYWx1ZShhcmcp
KTsKKyAgICAgICAgYXJnc0xpc3QtPm5leHQoKTsKKworICAgICAgICBpZiAoIShhcmcgPSBhcmdz
TGlzdC0+Y3VycmVudCgpKSkKKyAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIC8vIFRP
RE86IEltcGxlbWVudCBvdGhlciBwYXJhbWV0ZXJzIHR5cGVzIHBhcnNpbmcuCisgICAgICAgIFJl
ZlB0cjxDU1NWYWx1ZUxpc3Q+IHBhcmFtVmFsdWVMaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVT
cGFjZVNlcGFyYXRlZCgpOworICAgICAgICB3aGlsZSAoKGFyZyA9IGFyZ3NMaXN0LT5jdXJyZW50
KCkpKSB7CisgICAgICAgICAgICAvLyBJZiB3ZSBoaXQgYSBjb21tYSBpdCBtZWFucyB3ZSBmaW5p
c2hlZCB0aGlzIHBhcmFtZXRlcnMgdmFsdWVzLgorICAgICAgICAgICAgaWYgKGFyZy0+dW5pdCA9
PSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3IgJiYgYXJnLT5pVmFsdWUgPT0gJywnKQorICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgaWYgKCF2YWxpZFVuaXQoYXJnLCBGTnVtYmVy
LCB0cnVlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHBhcmFtVmFs
dWVMaXN0LT5hcHBlbmQocHJpbWl0aXZlVmFsdWVDYWNoZSgpLT5jcmVhdGVWYWx1ZShhcmctPmZW
YWx1ZSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpKTsKKyAgICAgICAgICAgIGFyZ3NM
aXN0LT5uZXh0KCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFwYXJhbVZhbHVlTGlzdC0+bGVu
Z3RoKCkgfHwgcGFyYW1WYWx1ZUxpc3QtPmxlbmd0aCgpID4gNCkKKyAgICAgICAgICAgIHJldHVy
biAwOworICAgICAgICBwYXJhbWV0ZXItPmFwcGVuZChwYXJhbVZhbHVlTGlzdC5yZWxlYXNlKCkp
OworICAgICAgICBwYXJhbUxpc3QtPmFwcGVuZChwYXJhbWV0ZXIucmVsZWFzZSgpKTsKKyAgICAg
ICAgaWYgKCFza2lwQ29tbWFWYWx1ZShhcmdzTGlzdCkpCisgICAgICAgICAgICByZXR1cm4gMDsK
KyAgICB9CisgICAgCisgICAgaWYgKHBhcmFtTGlzdC0+bGVuZ3RoKCkpCisgICAgICAgIGZpbHRl
clZhbHVlLT5hcHBlbmQocGFyYW1MaXN0LnJlbGVhc2UoKSk7CisgICAgCisgICAgcmV0dXJuIGZp
bHRlclZhbHVlOwogfQorI2VuZGlmCiAKIGJvb2wgQ1NTUGFyc2VyOjppc1ZhbGlkRmlsdGVyQXJn
dW1lbnQoQ1NTUGFyc2VyVmFsdWUqIGFyZ3VtZW50LCBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6Rmls
dGVyT3BlcmF0aW9uVHlwZSYgZmlsdGVyVHlwZSwgdW5zaWduZWQgYXJndW1lbnRDb3VudCkKIHsK
QEAgLTY1MzgsNiArNjY4NiwxNiBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gQ1NTUGFyc2Vy
OjpwYXJzZUZpbHRlcigpCiAgICAgICAgICAgICBpZiAoZmlsdGVyVHlwZSA9PSBXZWJLaXRDU1NG
aWx0ZXJWYWx1ZTo6VW5rbm93bkZpbHRlck9wZXJhdGlvbikKICAgICAgICAgICAgICAgICByZXR1
cm4gMDsKIAorI2lmIEVOQUJMRShDU1NfU0hBREVSUykKKyAgICAgICAgICAgIGlmIChmaWx0ZXJU
eXBlID09IFdlYktpdENTU0ZpbHRlclZhbHVlOjpDdXN0b21GaWx0ZXJPcGVyYXRpb24pIHsKKyAg
ICAgICAgICAgICAgICBSZWZQdHI8V2ViS2l0Q1NTRmlsdGVyVmFsdWU+IGZpbHRlclZhbHVlID0g
cGFyc2VDdXN0b21GaWx0ZXIodmFsdWUpOworICAgICAgICAgICAgICAgIGlmICghZmlsdGVyVmFs
dWUpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgICAgIGxpc3Qt
PmFwcGVuZChmaWx0ZXJWYWx1ZS5yZWxlYXNlKCkpOworICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAgICAgfQorI2VuZGlmCisKICAgICAgICAgICAgIENTU1BhcnNlclZhbHVlTGlz
dCogYXJncyA9IHZhbHVlLT5mdW5jdGlvbi0+YXJncy5nZXQoKTsKICAgICAgICAgICAgIGlmICgh
YXJncyB8fCBhcmdzLT5zaXplKCkgPiBtYXhpbXVtQXJndW1lbnRDb3VudCkKICAgICAgICAgICAg
ICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCA3NDRkM2M3Li4xZTk0ODAx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0xODYsNiArMTg2LDkgQEAgcHVibGljOgogICAg
IGJvb2wgcGFyc2VDcm9zc2ZhZGUoQ1NTUGFyc2VyVmFsdWVMaXN0KiwgUmVmUHRyPENTU1ZhbHVl
PiYpOwogCiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQorI2lmIEVOQUJMRShDU1NfU0hBREVSUykK
KyAgICBQYXNzUmVmUHRyPFdlYktpdENTU0ZpbHRlclZhbHVlPiBwYXJzZUN1c3RvbUZpbHRlcihD
U1NQYXJzZXJWYWx1ZSopOworI2VuZGlmCiAgICAgYm9vbCBpc1ZhbGlkRmlsdGVyQXJndW1lbnQo
Q1NTUGFyc2VyVmFsdWUqIGFyZ3VtZW50LCBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6RmlsdGVyT3Bl
cmF0aW9uVHlwZSYsIHVuc2lnbmVkIGFyZ3VtZW50Q291bnQpOwogICAgIFBhc3NSZWZQdHI8Q1NT
VmFsdWVMaXN0PiBwYXJzZUZpbHRlcigpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5jcHAKaW5kZXggYmFlNzM2Zi4uZGYxN2VkOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtNTM4NSw2ICs1Mzg1LDEwIEBAIHN0YXRpYyBGaWx0
ZXJPcGVyYXRpb246Ok9wZXJhdGlvblR5cGUgZmlsdGVyT3BlcmF0aW9uRm9yVHlwZShXZWJLaXRD
U1NGaWx0ZXJWYWx1CiAgICAgICAgIHJldHVybiBGaWx0ZXJPcGVyYXRpb246OlNIQVJQRU47CiAg
ICAgY2FzZSBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6RHJvcFNoYWRvd0ZpbHRlck9wZXJhdGlvbjoK
ICAgICAgICAgcmV0dXJuIEZpbHRlck9wZXJhdGlvbjo6RFJPUF9TSEFET1c7CisjaWYgRU5BQkxF
KENTU19TSEFERVJTKQorICAgIGNhc2UgV2ViS2l0Q1NTRmlsdGVyVmFsdWU6OkN1c3RvbUZpbHRl
ck9wZXJhdGlvbjoKKyAgICAgICAgcmV0dXJuIEZpbHRlck9wZXJhdGlvbjo6Q1VTVE9NOworI2Vu
ZGlmCiAgICAgY2FzZSBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6VW5rbm93bkZpbHRlck9wZXJhdGlv
bjoKICAgICAgICAgcmV0dXJuIEZpbHRlck9wZXJhdGlvbjo6Tk9ORTsKICAgICB9CkBAIC01NDA4
LDYgKzU0MTIsMTQgQEAgYm9vbCBDU1NTdHlsZVNlbGVjdG9yOjpjcmVhdGVGaWx0ZXJPcGVyYXRp
b25zKENTU1ZhbHVlKiBpblZhbHVlLCBSZW5kZXJTdHlsZSogc3QKICAgICAgICAgV2ViS2l0Q1NT
RmlsdGVyVmFsdWUqIGZpbHRlclZhbHVlID0gc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTRmlsdGVyVmFs
dWUqPihpLnZhbHVlKCkpOwogICAgICAgICBGaWx0ZXJPcGVyYXRpb246Ok9wZXJhdGlvblR5cGUg
b3BlcmF0aW9uVHlwZSA9IGZpbHRlck9wZXJhdGlvbkZvclR5cGUoZmlsdGVyVmFsdWUtPm9wZXJh
dGlvblR5cGUoKSk7CiAKKyNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisgICAgICAgIGlmIChvcGVy
YXRpb25UeXBlID09IEZpbHRlck9wZXJhdGlvbjo6Q1VTVE9NKSB7CisgICAgICAgICAgICAvLyBG
SVhNRTogSW1wbGVtZW50IHRoZSBmaWx0ZXIgb3BlcmF0aW9uIGZvciB0aGUgY3VzdG9tIHNoYWRl
ci4KKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTQ0NgorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKyNlbmRpZgorCiAgICAg
ICAgIGJvb2wgaGF2ZU5vblByaW1pdGl2ZVZhbHVlID0gZmFsc2U7CiAgICAgICAgIGZvciAodW5z
aWduZWQgaiA9IDA7IGogPCBmaWx0ZXJWYWx1ZS0+bGVuZ3RoKCk7ICsraikgewogICAgICAgICAg
ICAgaWYgKCFmaWx0ZXJWYWx1ZS0+aXRlbVdpdGhvdXRCb3VuZHNDaGVjayhqKS0+aXNQcmltaXRp
dmVWYWx1ZSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCmluZGV4IGNmOTc0ZjYuLmM3MDgwNzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NWYWx1ZS5oCkBAIC03NCw2ICs3NCw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IGJvb2wgaXNDU1NMaW5lQm94Q29udGFpblZhbHVlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
ICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiAgICAgdmlydHVhbCBib29sIGlzV2ViS2l0Q1NTRmls
dGVyVmFsdWUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2lmIEVOQUJMRShDU1NfU0hBREVS
UykKKyAgICB2aXJ0dWFsIGJvb2wgaXNXZWJLaXRDU1NTaGFkZXJWYWx1ZSgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CisjZW5kaWYKICNlbmRpZgogI2lmIEVOQUJMRShTVkcpCiAgICAgdmlydHVh
bCBib29sIGlzU1ZHQ29sb3IoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCA1YjAzMDllLi42OWNmYjdhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAtODQ3LDMgKzg0NywxMyBAQCBldmVub2Rk
CiAvLyAtd2Via2l0LXJlZ2lvbi1vdmVyZmxvdwogLy8gYXV0bwogYnJlYWsKKworI2lmIGRlZmlu
ZWQoRU5BQkxFX0NTU19TSEFERVJTKSAmJiBFTkFCTEVfQ1NTX1NIQURFUlMKKy8vIC13ZWJraXQt
ZmlsdGVyCisvLyB2YWx1ZXMgZm9yIHRoZSBjdXN0b20oKSBmdW5jdGlvbgorLy9ib3JkZXItYm94
CisvL3BhZGRpbmctYm94CisvL2NvbnRlbnQtYm94CitmaWx0ZXItYm94CitkZXRhY2hlZAorI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNwcAppbmRleCAy
NTA1ODMxLi5hMzk0YTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NT
RmlsdGVyVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NGaWx0ZXJW
YWx1ZS5jcHAKQEAgLTM1LDExICszNSwyMCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXZWJL
aXRDU1NGaWx0ZXJWYWx1ZTo6V2ViS2l0Q1NTRmlsdGVyVmFsdWUoRmlsdGVyT3BlcmF0aW9uVHlw
ZSBvcGVyYXRpb25UeXBlKQotICAgIDogQ1NTVmFsdWVMaXN0KHRydWUpCisgICAgOiBDU1NWYWx1
ZUxpc3QodHlwZVVzZXNTcGFjZVNlcGFyYXRvcihvcGVyYXRpb25UeXBlKSkKICAgICAsIG1fdHlw
ZShvcGVyYXRpb25UeXBlKQogewogfQogCitib29sIFdlYktpdENTU0ZpbHRlclZhbHVlOjp0eXBl
VXNlc1NwYWNlU2VwYXJhdG9yKEZpbHRlck9wZXJhdGlvblR5cGUgb3BlcmF0aW9uVHlwZSkKK3sK
KyNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisgICAgcmV0dXJuIG9wZXJhdGlvblR5cGUgIT0gQ3Vz
dG9tRmlsdGVyT3BlcmF0aW9uOworI2Vsc2UKKyAgICByZXR1cm4gdHJ1ZTsKKyNlbmRpZgorfQor
CiBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6fldlYktpdENTU0ZpbHRlclZhbHVlKCkKIHsKIH0KQEAg
LTgxLDYgKzkwLDExIEBAIFN0cmluZyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6Y3NzVGV4dCgpIGNv
bnN0CiAgICAgY2FzZSBEcm9wU2hhZG93RmlsdGVyT3BlcmF0aW9uOgogICAgICAgICByZXN1bHQg
PSAiZHJvcC1zaGFkb3coIjsKICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKENTU19TSEFERVJT
KQorICAgIGNhc2UgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOgorICAgICAgICByZXN1bHQgPSAiY3Vz
dG9tKCI7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJl
YWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRl
clZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuaAppbmRl
eCBkNGQwOGUxLi43MjE5MzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTRmlsdGVyVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVy
VmFsdWUuaApAQCAtNTAsOCArNTAsMTMgQEAgcHVibGljOgogICAgICAgICBCbHVyRmlsdGVyT3Bl
cmF0aW9uLAogICAgICAgICBTaGFycGVuRmlsdGVyT3BlcmF0aW9uLAogICAgICAgICBEcm9wU2hh
ZG93RmlsdGVyT3BlcmF0aW9uCisjaWYgRU5BQkxFKENTU19TSEFERVJTKQorICAgICAgICAsIEN1
c3RvbUZpbHRlck9wZXJhdGlvbgorI2VuZGlmCiAgICAgfTsKIAorICAgIHN0YXRpYyBib29sIHR5
cGVVc2VzU3BhY2VTZXBhcmF0b3IoRmlsdGVyT3BlcmF0aW9uVHlwZSk7CisKICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxXZWJLaXRDU1NGaWx0ZXJWYWx1ZT4gY3JlYXRlKEZpbHRlck9wZXJhdGlvblR5
cGUgdHlwZSkKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViS2l0Q1NTRmls
dGVyVmFsdWUodHlwZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENT
U0ZpbHRlclZhbHVlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1
ZS5pZGwKaW5kZXggYWM5OWFhNi4uYjQ4ZmVjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTRmlsdGVyVmFsdWUuaWRsCkBAIC00NSw2ICs0NSwxMCBAQCBtb2R1bGUgY3NzIHsKICAg
ICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQ1NTX0ZJTFRFUl9TSEFSUEVOID0gMTA7CiAgICAg
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENTU19GSUxURVJfRFJPUF9TSEFET1cgPSAxMTsKIAor
I2lmIGRlZmluZWQoRU5BQkxFX0NTU19TSEFERVJTKSAmJiBFTkFCTEVfQ1NTX1NIQURFUlMKKyAg
ICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQ1NTX0ZJTFRFUl9DVVNUT00gPSAxMjsKKyNlbmRp
ZgorCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBvcGVyYXRpb25U
eXBlOwogICAgIH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NT
U2hhZGVyVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1NDVkMzUKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaApAQCAtMCww
ICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IDIwMTEgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0
ZWQuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzCisgKiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiDigJxB
UyBJU+KAnSBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBCRQor
ICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLAorICogT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgorICogVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GCisgKiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViS2l0Q1NT
U2hhZGVyVmFsdWVfaAorI2RlZmluZSBXZWJLaXRDU1NTaGFkZXJWYWx1ZV9oCisKKyNpbmNsdWRl
ICJDU1NQcmltaXRpdmVWYWx1ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdl
YktpdENTU1NoYWRlclZhbHVlIDogcHVibGljIENTU1ByaW1pdGl2ZVZhbHVlIHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJL
aXRDU1NTaGFkZXJWYWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsKSB7IHJldHVybiBhZG9w
dFJlZihuZXcgV2ViS2l0Q1NTU2hhZGVyVmFsdWUodXJsKSk7IH0KKyAgICAKK3Byb3RlY3RlZDoK
KyAgICBXZWJLaXRDU1NTaGFkZXJWYWx1ZShjb25zdCBTdHJpbmcmIHVybCkKKyAgICAgICAgOiBD
U1NQcmltaXRpdmVWYWx1ZSh1cmwsIENTU19VUkkpCisgICAgeworICAgIH0KKworcHJpdmF0ZToK
KyAgICB2aXJ0dWFsIGJvb2wgaXNXZWJLaXRTaGFkZXJWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFdlYktpdENT
U1NoYWRlclZhbHVlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbi5oCmluZGV4IGU4NjJlODQuLmFmMjQxZjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmls
dGVyT3BlcmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GaWx0ZXJPcGVyYXRpb24uaApAQCAtNTMsNiArNTMsOSBAQCBwdWJsaWM6CiAgICAgICAg
IEJMVVIsCiAgICAgICAgIFNIQVJQRU4sCiAgICAgICAgIERST1BfU0hBRE9XLAorI2lmIEVOQUJM
RShDU1NfU0hBREVSUykKKyAgICAgICAgQ1VTVE9NLAorI2VuZGlmCiAgICAgICAgIE5PTkUKICAg
ICB9OwogCg==
</data>
<flag name="review"
          id="111883"
          type_id="1"
          status="-"
          setter="dino"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113650</attachid>
            <date>2011-11-04 05:26:30 -0700</date>
            <delta_ts>2011-11-08 07:54:41 -0800</delta_ts>
            <desc>Patch V2</desc>
            <filename>bug71441_2.patch</filename>
            <type>text/plain</type>
            <size>45106</size>
            <attacher name="Alexandru Chiculita">achicu</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3MThmZDMwLi41ODk4MjhjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMTEt
MDQgIEFsZXhhbmRydSBDaGljdWxpdGEgIDxhY2hpY3VAYWRvYmUuY29tPgorCisgICAgICAgIFtQ
YXJ0IDFdIFBhcnNlIHRoZSBjdXN0b20oKSBmdW5jdGlvbiBpbiAtd2Via2l0LWZpbHRlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0NDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNzczMvZmlsdGVy
cy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBjc3MzL2ZpbHRlcnMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFs
aWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY3VzdG9tLWZp
bHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFsaWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3Nz
My9maWx0ZXJzL3NjcmlwdC10ZXN0cy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctaW52
YWxpZC5qczogQWRkZWQuCisgICAgICAgICh0ZXN0SW52YWxpZEZpbHRlclJ1bGUpOgorICAgICAg
ICAqIGNzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJz
aW5nLmpzOiBBZGRlZC4KKyAgICAgICAgKGpzV3JhcHBlckNsYXNzKToKKyAgICAgICAgKGdlbmVy
YXRlZEJhc2VVUkwpOgorICAgICAgICAocmVtb3ZlQmFzZVVSTCk6CisgICAgICAgIChzaG91bGRC
ZVR5cGUpOgorICAgICAgICAodGVzdEZpbHRlclJ1bGUpOgorCiAyMDExLTExLTA0ICBQaGlsaXBw
ZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBz
a2lwIHNvbWUgZmFzdC92aWV3cG9ydCBmYWlsaW5nIHRlc3RzIG9uIEdUSyBhZnRlciByOTkxOTUu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tLWZpbHRlci1wcm9w
ZXJ0eS1wYXJzaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0
b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjQ4OTc3ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzNCBAQAorVGVzdCB0aGUgcGFyc2luZyBvZiB0aGUgY3VzdG9tKCkgZnVu
Y3Rpb24gb2YgdGhlIC13ZWJraXQtZmlsdGVyIHByb3BlcnR5LgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworCitDdXN0b20gd2l0aCB2ZXJ0ZXggc2hhZGVyIDogY3VzdG9tKHVybCh2
ZXJ0ZXguc2hhZGVyKSkKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24u
bGVuZ3RoIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1m
aWx0ZXInKSBpcyAnY3VzdG9tKHVybChmaWxlOi8vL1ZvbHVtZXMvU1NEL1VzZXJzL2FjaGljdS9j
b2RlL3dlYmtpdC9naXQvd2Via2l0L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy92ZXJ0ZXguc2hh
ZGVyKSknCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUpIGlzICdDU1NWYWx1ZUxpc3Qn
CitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuX19wcm90b19fKSBpcyAnQ1NTVmFsdWVM
aXN0UHJvdG90eXBlJworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLmNvbnN0cnVjdG9y
KSBpcyAnQ1NTVmFsdWVMaXN0Q29uc3RydWN0b3InCitQQVNTIGZpbHRlclJ1bGUubGVuZ3RoIGlz
IDEKK1BBU1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNT
U19GSUxURVJfQ1VTVE9NCitQQVNTIHN1YlJ1bGUuY3NzVGV4dCBpcyAnY3VzdG9tKHVybChmaWxl
Oi8vL1ZvbHVtZXMvU1NEL1VzZXJzL2FjaGljdS9jb2RlL3dlYmtpdC9naXQvd2Via2l0L0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy92ZXJ0ZXguc2hhZGVyKSknCisKK0N1c3RvbSB3aXRoIGZyYWdt
ZW50IHNoYWRlciA6IGN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpKQorUEFTUyBjc3NS
dWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMQorUEFTUyBkZWNsYXJh
dGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpIGlzICdjdXN0b20obm9uZSB1
cmwoZmlsZTovLy9Wb2x1bWVzL1NTRC9Vc2Vycy9hY2hpY3UvY29kZS93ZWJraXQvZ2l0L3dlYmtp
dC9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZnJhZ21lbnQuc2hhZGVyKSknCitQQVNTIGpzV3Jh
cHBlckNsYXNzKGZpbHRlclJ1bGUpIGlzICdDU1NWYWx1ZUxpc3QnCitQQVNTIGpzV3JhcHBlckNs
YXNzKGZpbHRlclJ1bGUuX19wcm90b19fKSBpcyAnQ1NTVmFsdWVMaXN0UHJvdG90eXBlJworUEFT
UyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLmNvbnN0cnVjdG9yKSBpcyAnQ1NTVmFsdWVMaXN0
Q29uc3RydWN0b3InCitQQVNTIGZpbHRlclJ1bGUubGVuZ3RoIGlzIDEKK1BBU1Mgc3ViUnVsZS5v
cGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfQ1VTVE9NCitQ
QVNTIHN1YlJ1bGUuY3NzVGV4dCBpcyAnY3VzdG9tKG5vbmUgdXJsKGZpbGU6Ly8vVm9sdW1lcy9T
U0QvVXNlcnMvYWNoaWN1L2NvZGUvd2Via2l0L2dpdC93ZWJraXQvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL2ZyYWdtZW50LnNoYWRlcikpJworCitDdXN0b20gd2l0aCBib3RoIHNoYWRlcnMgOiBj
dXN0b20odXJsKHZlcnRleC5zaGFkZXIpIHVybChmcmFnbWVudC5zaGFkZXIpKQorUEFTUyBjc3NS
dWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMQorUEFTUyBkZWNsYXJh
dGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpIGlzICdjdXN0b20odXJsKGZp
bGU6Ly8vVm9sdW1lcy9TU0QvVXNlcnMvYWNoaWN1L2NvZGUvd2Via2l0L2dpdC93ZWJraXQvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3ZlcnRleC5zaGFkZXIpIHVybChmaWxlOi8vL1ZvbHVtZXMv
U1NEL1VzZXJzL2FjaGljdS9jb2RlL3dlYmtpdC9naXQvd2Via2l0L0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9mcmFnbWVudC5zaGFkZXIpKScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVs
ZSkgaXMgJ0NTU1ZhbHVlTGlzdCcKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5fX3By
b3RvX18pIGlzICdDU1NWYWx1ZUxpc3RQcm90b3R5cGUnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZp
bHRlclJ1bGUuY29uc3RydWN0b3IpIGlzICdDU1NWYWx1ZUxpc3RDb25zdHJ1Y3RvcicKK1BBU1Mg
ZmlsdGVyUnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2Vi
S2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNUT00KK1BBU1Mgc3ViUnVsZS5jc3NUZXh0
IGlzICdjdXN0b20odXJsKGZpbGU6Ly8vVm9sdW1lcy9TU0QvVXNlcnMvYWNoaWN1L2NvZGUvd2Vi
a2l0L2dpdC93ZWJraXQvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3ZlcnRleC5zaGFkZXIpIHVy
bChmaWxlOi8vL1ZvbHVtZXMvU1NEL1VzZXJzL2FjaGljdS9jb2RlL3dlYmtpdC9naXQvd2Via2l0
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9mcmFnbWVudC5zaGFkZXIpKScKKworQ3VzdG9tIHdp
dGggbWVzaCBzaXplIDogY3VzdG9tKHVybCh2ZXJ0ZXguc2hhZGVyKSwgMTApCitQQVNTIGNzc1J1
bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAxCitQQVNTIGRlY2xhcmF0
aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMgJ2N1c3RvbSh1cmwoZmls
ZTovLy9Wb2x1bWVzL1NTRC9Vc2Vycy9hY2hpY3UvY29kZS93ZWJraXQvZ2l0L3dlYmtpdC9MYXlv
dXRUZXN0cy9jc3MzL2ZpbHRlcnMvdmVydGV4LnNoYWRlciksIDEwKScKK1BBU1MganNXcmFwcGVy
Q2xhc3MoZmlsdGVyUnVsZSkgaXMgJ0NTU1ZhbHVlTGlzdCcKK1BBU1MganNXcmFwcGVyQ2xhc3Mo
ZmlsdGVyUnVsZS5fX3Byb3RvX18pIGlzICdDU1NWYWx1ZUxpc3RQcm90b3R5cGUnCitQQVNTIGpz
V3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuY29uc3RydWN0b3IpIGlzICdDU1NWYWx1ZUxpc3RDb25z
dHJ1Y3RvcicKK1BBU1MgZmlsdGVyUnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJh
dGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNUT00KK1BBU1Mg
c3ViUnVsZS5jc3NUZXh0IGlzICdjdXN0b20odXJsKGZpbGU6Ly8vVm9sdW1lcy9TU0QvVXNlcnMv
YWNoaWN1L2NvZGUvd2Via2l0L2dpdC93ZWJraXQvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Zl
cnRleC5zaGFkZXIpLCAxMCknCisKK0N1c3RvbSB3aXRoIGJvdGggbWVzaCBzaXplcyA6IGN1c3Rv
bShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxMCAyMCkKK1BBU1MgY3NzUnVsZS50eXBlIGlz
IDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJv
cGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZpbGU6Ly8v
Vm9sdW1lcy9TU0QvVXNlcnMvYWNoaWN1L2NvZGUvd2Via2l0L2dpdC93ZWJraXQvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL2ZyYWdtZW50LnNoYWRlciksIDEwIDIwKScKK1BBU1MganNXcmFwcGVy
Q2xhc3MoZmlsdGVyUnVsZSkgaXMgJ0NTU1ZhbHVlTGlzdCcKK1BBU1MganNXcmFwcGVyQ2xhc3Mo
ZmlsdGVyUnVsZS5fX3Byb3RvX18pIGlzICdDU1NWYWx1ZUxpc3RQcm90b3R5cGUnCitQQVNTIGpz
V3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuY29uc3RydWN0b3IpIGlzICdDU1NWYWx1ZUxpc3RDb25z
dHJ1Y3RvcicKK1BBU1MgZmlsdGVyUnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJh
dGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNUT00KK1BBU1Mg
c3ViUnVsZS5jc3NUZXh0IGlzICdjdXN0b20obm9uZSB1cmwoZmlsZTovLy9Wb2x1bWVzL1NTRC9V
c2Vycy9hY2hpY3UvY29kZS93ZWJraXQvZ2l0L3dlYmtpdC9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRl
cnMvZnJhZ21lbnQuc2hhZGVyKSwgMTAgMjApJworCitDdXN0b20gd2l0aCBkZXRhY2hlZCBtZXNo
IDogY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIGRldGFjaGVkKQorUEFTUyBjc3NS
dWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMQorUEFTUyBkZWNsYXJh
dGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpIGlzICdjdXN0b20obm9uZSB1
cmwoZmlsZTovLy9Wb2x1bWVzL1NTRC9Vc2Vycy9hY2hpY3UvY29kZS93ZWJraXQvZ2l0L3dlYmtp
dC9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZnJhZ21lbnQuc2hhZGVyKSwgZGV0YWNoZWQpJwor
UEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlKSBpcyAnQ1NTVmFsdWVMaXN0JworUEFTUyBq
c1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLl9fcHJvdG9fXykgaXMgJ0NTU1ZhbHVlTGlzdFByb3Rv
dHlwZScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5jb25zdHJ1Y3RvcikgaXMgJ0NT
U1ZhbHVlTGlzdENvbnN0cnVjdG9yJworUEFTUyBmaWx0ZXJSdWxlLmxlbmd0aCBpcyAxCitQQVNT
IHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVS
X0NVU1RPTQorUEFTUyBzdWJSdWxlLmNzc1RleHQgaXMgJ2N1c3RvbShub25lIHVybChmaWxlOi8v
L1ZvbHVtZXMvU1NEL1VzZXJzL2FjaGljdS9jb2RlL3dlYmtpdC9naXQvd2Via2l0L0xheW91dFRl
c3RzL2NzczMvZmlsdGVycy9mcmFnbWVudC5zaGFkZXIpLCBkZXRhY2hlZCknCisKK0N1c3RvbSB3
aXRoIGRldGFjaGVkIGFuZCBtZXNoIHNpemUgOiBjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hh
ZGVyKSwgMTAgMjAgZGV0YWNoZWQpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xh
cmF0aW9uLmxlbmd0aCBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZmlsdGVyJykgaXMgJ2N1c3RvbShub25lIHVybChmaWxlOi8vL1ZvbHVtZXMvU1NEL1Vz
ZXJzL2FjaGljdS9jb2RlL3dlYmtpdC9naXQvd2Via2l0L0xheW91dFRlc3RzL2NzczMvZmlsdGVy
cy9mcmFnbWVudC5zaGFkZXIpLCAxMCAyMCBkZXRhY2hlZCknCitQQVNTIGpzV3JhcHBlckNsYXNz
KGZpbHRlclJ1bGUpIGlzICdDU1NWYWx1ZUxpc3QnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRl
clJ1bGUuX19wcm90b19fKSBpcyAnQ1NTVmFsdWVMaXN0UHJvdG90eXBlJworUEFTUyBqc1dyYXBw
ZXJDbGFzcyhmaWx0ZXJSdWxlLmNvbnN0cnVjdG9yKSBpcyAnQ1NTVmFsdWVMaXN0Q29uc3RydWN0
b3InCitQQVNTIGZpbHRlclJ1bGUubGVuZ3RoIGlzIDEKK1BBU1Mgc3ViUnVsZS5vcGVyYXRpb25U
eXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfQ1VTVE9NCitQQVNTIHN1YlJ1
bGUuY3NzVGV4dCBpcyAnY3VzdG9tKG5vbmUgdXJsKGZpbGU6Ly8vVm9sdW1lcy9TU0QvVXNlcnMv
YWNoaWN1L2NvZGUvd2Via2l0L2dpdC93ZWJraXQvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2Zy
YWdtZW50LnNoYWRlciksIDEwIDIwIGRldGFjaGVkKScKKworQ3VzdG9tIHdpdGggbnVtYmVyIHBh
cmFtZXRlcnMgOiBjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgcDEgMSwgcDIgMiAz
LCBwMyAzIDQgNSwgcDQgNCA1IDYgNykKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVj
bGFyYXRpb24ubGVuZ3RoIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgn
LXdlYmtpdC1maWx0ZXInKSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZpbGU6Ly8vVm9sdW1lcy9TU0Qv
VXNlcnMvYWNoaWN1L2NvZGUvd2Via2l0L2dpdC93ZWJraXQvTGF5b3V0VGVzdHMvY3NzMy9maWx0
ZXJzL2ZyYWdtZW50LnNoYWRlciksIHAxIDEsIHAyIDIgMywgcDMgMyA0IDUsIHA0IDQgNSA2IDcp
JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlKSBpcyAnQ1NTVmFsdWVMaXN0JworUEFT
UyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLl9fcHJvdG9fXykgaXMgJ0NTU1ZhbHVlTGlzdFBy
b3RvdHlwZScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5jb25zdHJ1Y3RvcikgaXMg
J0NTU1ZhbHVlTGlzdENvbnN0cnVjdG9yJworUEFTUyBmaWx0ZXJSdWxlLmxlbmd0aCBpcyAxCitQ
QVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklM
VEVSX0NVU1RPTQorUEFTUyBzdWJSdWxlLmNzc1RleHQgaXMgJ2N1c3RvbShub25lIHVybChmaWxl
Oi8vL1ZvbHVtZXMvU1NEL1VzZXJzL2FjaGljdS9jb2RlL3dlYmtpdC9naXQvd2Via2l0L0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9mcmFnbWVudC5zaGFkZXIpLCBwMSAxLCBwMiAyIDMsIHAzIDMg
NCA1LCBwNCA0IDUgNiA3KScKKworQ3VzdG9tIHdpdGggZmxvYXQgcGFyYW1ldGVycyA6IGN1c3Rv
bShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBwMSAxLjEsIHAyIDIuMiAzLjMsIHAzIDMuMSA0
LjEgNS4xLCBwNCA0LjEgNS4yIDYuMyA3LjQpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNT
IGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFs
dWUoJy13ZWJraXQtZmlsdGVyJykgaXMgJ2N1c3RvbShub25lIHVybChmaWxlOi8vL1ZvbHVtZXMv
U1NEL1VzZXJzL2FjaGljdS9jb2RlL3dlYmtpdC9naXQvd2Via2l0L0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9mcmFnbWVudC5zaGFkZXIpLCBwMSAxLjEsIHAyIDIuMiAzLjMsIHAzIDMuMSA0LjEg
NS4xLCBwNCA0LjEgNS4yIDYuMyA3LjQpJworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxl
KSBpcyAnQ1NTVmFsdWVMaXN0JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLl9fcHJv
dG9fXykgaXMgJ0NTU1ZhbHVlTGlzdFByb3RvdHlwZScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmls
dGVyUnVsZS5jb25zdHJ1Y3RvcikgaXMgJ0NTU1ZhbHVlTGlzdENvbnN0cnVjdG9yJworUEFTUyBm
aWx0ZXJSdWxlLmxlbmd0aCBpcyAxCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJL
aXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTQorUEFTUyBzdWJSdWxlLmNzc1RleHQg
aXMgJ2N1c3RvbShub25lIHVybChmaWxlOi8vL1ZvbHVtZXMvU1NEL1VzZXJzL2FjaGljdS9jb2Rl
L3dlYmtpdC9naXQvd2Via2l0L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9mcmFnbWVudC5zaGFk
ZXIpLCBwMSAxLjEsIHAyIDIuMiAzLjMsIHAzIDMuMSA0LjEgNS4xLCBwNCA0LjEgNS4yIDYuMyA3
LjQpJworCitDdXN0b20gd2l0aCBtZXNoIHNpemUgYW5kIG51bWJlciBwYXJhbWV0ZXJzIDogY3Vz
dG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEwIDIwLCBwMSAxLCBwMiAyIDMsIHAzIDMg
NCA1LCBwNCA0IDUgNiA3KQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlv
bi5sZW5ndGggaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0
LWZpbHRlcicpIGlzICdjdXN0b20obm9uZSB1cmwoZmlsZTovLy9Wb2x1bWVzL1NTRC9Vc2Vycy9h
Y2hpY3UvY29kZS93ZWJraXQvZ2l0L3dlYmtpdC9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZnJh
Z21lbnQuc2hhZGVyKSwgMTAgMjAsIHAxIDEsIHAyIDIgMywgcDMgMyA0IDUsIHA0IDQgNSA2IDcp
JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlKSBpcyAnQ1NTVmFsdWVMaXN0JworUEFT
UyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLl9fcHJvdG9fXykgaXMgJ0NTU1ZhbHVlTGlzdFBy
b3RvdHlwZScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5jb25zdHJ1Y3RvcikgaXMg
J0NTU1ZhbHVlTGlzdENvbnN0cnVjdG9yJworUEFTUyBmaWx0ZXJSdWxlLmxlbmd0aCBpcyAxCitQ
QVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklM
VEVSX0NVU1RPTQorUEFTUyBzdWJSdWxlLmNzc1RleHQgaXMgJ2N1c3RvbShub25lIHVybChmaWxl
Oi8vL1ZvbHVtZXMvU1NEL1VzZXJzL2FjaGljdS9jb2RlL3dlYmtpdC9naXQvd2Via2l0L0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9mcmFnbWVudC5zaGFkZXIpLCAxMCAyMCwgcDEgMSwgcDIgMiAz
LCBwMyAzIDQgNSwgcDQgNCA1IDYgNyknCisKK011bHRpcGxlIHdpdGggZnJhZ21lbnQgc2hhZGVy
IDogZ3JheXNjYWxlKCkgY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlcikpIHNlcGlhKCkK
K1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDEKK1BB
U1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyAnZ3Jh
eXNjYWxlKCkgY3VzdG9tKG5vbmUgdXJsKGZpbGU6Ly8vVm9sdW1lcy9TU0QvVXNlcnMvYWNoaWN1
L2NvZGUvd2Via2l0L2dpdC93ZWJraXQvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2ZyYWdtZW50
LnNoYWRlcikpIHNlcGlhKCknCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUpIGlzICdD
U1NWYWx1ZUxpc3QnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuX19wcm90b19fKSBp
cyAnQ1NTVmFsdWVMaXN0UHJvdG90eXBlJworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxl
LmNvbnN0cnVjdG9yKSBpcyAnQ1NTVmFsdWVMaXN0Q29uc3RydWN0b3InCitQQVNTIGZpbHRlclJ1
bGUubGVuZ3RoIGlzIDMKK1BBU1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0Zp
bHRlclZhbHVlLkNTU19GSUxURVJfR1JBWVNDQUxFCitQQVNTIHN1YlJ1bGUuY3NzVGV4dCBpcyAn
Z3JheXNjYWxlKCknCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0
ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTQorUEFTUyBzdWJSdWxlLmNzc1RleHQgaXMgJ2N1c3Rv
bShub25lIHVybChmaWxlOi8vL1ZvbHVtZXMvU1NEL1VzZXJzL2FjaGljdS9jb2RlL3dlYmtpdC9n
aXQvd2Via2l0L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9mcmFnbWVudC5zaGFkZXIpKScKK1BB
U1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxU
RVJfU0VQSUEKK1BBU1Mgc3ViUnVsZS5jc3NUZXh0IGlzICdzZXBpYSgpJworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctaW52YWxp
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tLWZpbHRlci1w
cm9wZXJ0eS1wYXJzaW5nLWludmFsaWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjMxNTNiYjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
c3MzL2ZpbHRlcnMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFsaWQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNzkgQEAKK1Rlc3QgdGhlIHBhcnNpbmcgb2YgY3VzdG9tKCkgZnVu
Y3Rpb24gb2YgdGhlIC13ZWJraXQtZmlsdGVyIHByb3BlcnR5LgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworCitFbXB0eSBmdW5jdGlvbiA6IGN1c3RvbSgpCitQQVNTIGNzc1J1bGUu
dHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAwCitQQVNTIGRlY2xhcmF0aW9u
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMgbnVsbAorCitObyB2YWx1ZXMg
MSA6IGN1c3RvbSgsKQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5s
ZW5ndGggaXMgMAorUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZp
bHRlcicpIGlzIG51bGwKKworTm8gdmFsdWVzIDIgOiBjdXN0b20oLCwpCitQQVNTIGNzc1J1bGUu
dHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAwCitQQVNTIGRlY2xhcmF0aW9u
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMgbnVsbAorCitUb28gbWFueSBz
aGFkZXJzIDEgOiBjdXN0b20odXJsKHNoYWRlcjEpIHVybChzaGFkZXIyKSB1cmwoc2hhZGVyMikp
CitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAwCitQ
QVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMgbnVs
bAorCitUb28gbWFueSBzaGFkZXJzIDIgOiBjdXN0b20obm9uZSBub25lIG5vbmUpCitQQVNTIGNz
c1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAwCitQQVNTIGRlY2xh
cmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMgbnVsbAorCitUb28g
bWFueSBzaGFkZXJzIDMgOiBjdXN0b20obm9uZSB1cmwoc2hhZGVyMSkgdXJsKHNoYWRlcjIpIHVy
bChzaGFkZXIyKSkKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVu
Z3RoIGlzIDAKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0
ZXInKSBpcyBudWxsCisKK05vIHNoYWRlciA6IGN1c3RvbShub25lLCAxMCAyMCkKK1BBU1MgY3Nz
UnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFy
YXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyBudWxsCisKK1RvIG1h
bnkgbWVzaCBzaXplcyA6IGN1c3RvbShub25lLCAxMCAyMCAzMCkKK1BBU1MgY3NzUnVsZS50eXBl
IGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFyYXRpb24uZ2V0
UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyBudWxsCisKK1dyb25nIG1lc2ggdHlw
ZSA6IGN1c3RvbSh1cmwoc2hhZGVyKSwgZGV0YWNoKQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQor
UEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMAorUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWZpbHRlcicpIGlzIG51bGwKKworTm8gbWVzaCBzaXplIDogY3VzdG9t
KHVybChzaGFkZXIpLCAsIHAxIDIpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xh
cmF0aW9uLmxlbmd0aCBpcyAwCitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZmlsdGVyJykgaXMgbnVsbAorCitUbyBtYW55IHBhcmFtZXRlciB2YWx1ZXMgOiBjdXN0
b20odXJsKHNoYWRlciksIHAxIDEgMiAzIDQgNSkKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BB
U1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyBudWxsCisKK0ludmFsaWQgcGFyYW1ldGVyIHR5cGVz
IDogY3VzdG9tKHVybChzaGFkZXIpLCBwMSAxLjAgMi4wICd0ZXh0JykKK1BBU1MgY3NzUnVsZS50
eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFyYXRpb24u
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyBudWxsCisKK05vIHBhcmFtZXRl
ciB2YWx1ZSAxIDogY3VzdG9tKHVybChzaGFkZXIpLCBwMSkKK1BBU1MgY3NzUnVsZS50eXBlIGlz
IDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJv
cGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyBudWxsCisKK05vIHBhcmFtZXRlciB2YWx1
ZSAyIDogY3VzdG9tKHVybChzaGFkZXIpLCBwMSwgcDIsIHAzKQorUEFTUyBjc3NSdWxlLnR5cGUg
aXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMAorUEFTUyBkZWNsYXJhdGlvbi5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpIGlzIG51bGwKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFsaWQuaHRt
bCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNp
bmctaW52YWxpZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzOWEy
NTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tLWZp
bHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFsaWQuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlw
dC10ZXN0cy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctaW52YWxpZC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvZmlsdGVycy9zY3JpcHQtdGVzdHMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWlu
dmFsaWQuanMgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvc2NyaXB0LXRlc3RzL2N1c3RvbS1m
aWx0ZXItcHJvcGVydHktcGFyc2luZy1pbnZhbGlkLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjNhMDQ1YzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3Mz
L2ZpbHRlcnMvc2NyaXB0LXRlc3RzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2luZy1pbnZh
bGlkLmpzCkBAIC0wLDAgKzEsNDAgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0IHRoZSBwYXJzaW5nIG9m
IGN1c3RvbSgpIGZ1bmN0aW9uIG9mIHRoZSAtd2Via2l0LWZpbHRlciBwcm9wZXJ0eS4iKTsKKwor
Ly8gVGhlc2UgaGF2ZSB0byBiZSBnbG9iYWwgZm9yIHRoZSB0ZXN0IGhlbHBlcnMgdG8gc2VlIHRo
ZW0uCit2YXIgc3R5bGVzaGVldCwgY3NzUnVsZSwgZGVjbGFyYXRpb247CisKK2Z1bmN0aW9uIHRl
c3RJbnZhbGlkRmlsdGVyUnVsZShkZXNjcmlwdGlvbiwgcnVsZSkKK3sKKyAgICBkZWJ1ZygiIik7
CisgICAgZGVidWcoZGVzY3JpcHRpb24gKyAiIDogIiArIHJ1bGUpOworCisgICAgc3R5bGVzaGVl
dCA9IGRvY3VtZW50LnN0eWxlU2hlZXRzLml0ZW0oMCk7CisgICAgc3R5bGVzaGVldC5pbnNlcnRS
dWxlKCJib2R5IHsgLXdlYmtpdC1maWx0ZXI6ICIgKyBydWxlICsgIjsgfSIsIDApOworICAgIGNz
c1J1bGUgPSBzdHlsZXNoZWV0LmNzc1J1bGVzLml0ZW0oMCk7CisgIAorICAgIHNob3VsZEJlKCJj
c3NSdWxlLnR5cGUiLCAiMSIpOworCisgICAgZGVjbGFyYXRpb24gPSBjc3NSdWxlLnN0eWxlOwor
ICAgIHNob3VsZEJlKCJkZWNsYXJhdGlvbi5sZW5ndGgiLCAiMCIpOworICAgIHNob3VsZEJlKCJk
ZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpIiwgIm51bGwiKTsK
K30KKwordGVzdEludmFsaWRGaWx0ZXJSdWxlKCJFbXB0eSBmdW5jdGlvbiIsICJjdXN0b20oKSIp
OwordGVzdEludmFsaWRGaWx0ZXJSdWxlKCJObyB2YWx1ZXMgMSIsICJjdXN0b20oLCkiKTsKK3Rl
c3RJbnZhbGlkRmlsdGVyUnVsZSgiTm8gdmFsdWVzIDIiLCAiY3VzdG9tKCwsKSIpOworCit0ZXN0
SW52YWxpZEZpbHRlclJ1bGUoIlRvbyBtYW55IHNoYWRlcnMgMSIsICJjdXN0b20odXJsKHNoYWRl
cjEpIHVybChzaGFkZXIyKSB1cmwoc2hhZGVyMikpIik7Cit0ZXN0SW52YWxpZEZpbHRlclJ1bGUo
IlRvbyBtYW55IHNoYWRlcnMgMiIsICJjdXN0b20obm9uZSBub25lIG5vbmUpIik7Cit0ZXN0SW52
YWxpZEZpbHRlclJ1bGUoIlRvbyBtYW55IHNoYWRlcnMgMyIsICJjdXN0b20obm9uZSB1cmwoc2hh
ZGVyMSkgdXJsKHNoYWRlcjIpIHVybChzaGFkZXIyKSkiKTsKKwordGVzdEludmFsaWRGaWx0ZXJS
dWxlKCJObyBzaGFkZXIiLCAiY3VzdG9tKG5vbmUsIDEwIDIwKSIpOwordGVzdEludmFsaWRGaWx0
ZXJSdWxlKCJUbyBtYW55IG1lc2ggc2l6ZXMiLCAiY3VzdG9tKG5vbmUsIDEwIDIwIDMwKSIpOwor
dGVzdEludmFsaWRGaWx0ZXJSdWxlKCJXcm9uZyBtZXNoIHR5cGUiLCAiY3VzdG9tKHVybChzaGFk
ZXIpLCBkZXRhY2gpIik7Cit0ZXN0SW52YWxpZEZpbHRlclJ1bGUoIk5vIG1lc2ggc2l6ZSIsICJj
dXN0b20odXJsKHNoYWRlciksICwgcDEgMikiKTsKKwordGVzdEludmFsaWRGaWx0ZXJSdWxlKCJU
byBtYW55IHBhcmFtZXRlciB2YWx1ZXMiLCAiY3VzdG9tKHVybChzaGFkZXIpLCBwMSAxIDIgMyA0
IDUpIik7Cit0ZXN0SW52YWxpZEZpbHRlclJ1bGUoIkludmFsaWQgcGFyYW1ldGVyIHR5cGVzIiwg
ImN1c3RvbSh1cmwoc2hhZGVyKSwgcDEgMS4wIDIuMCAndGV4dCcpIik7CisKK3Rlc3RJbnZhbGlk
RmlsdGVyUnVsZSgiTm8gcGFyYW1ldGVyIHZhbHVlIDEiLCAiY3VzdG9tKHVybChzaGFkZXIpLCBw
MSkiKTsKK3Rlc3RJbnZhbGlkRmlsdGVyUnVsZSgiTm8gcGFyYW1ldGVyIHZhbHVlIDIiLCAiY3Vz
dG9tKHVybChzaGFkZXIpLCBwMSwgcDIsIHAzKSIpOworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvc2NyaXB0LXRlc3RzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2lu
Zy5qcyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvY3VzdG9tLWZpbHRl
ci1wcm9wZXJ0eS1wYXJzaW5nLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjJjYjFmOGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvc2Ny
aXB0LXRlc3RzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2luZy5qcwpAQCAtMCwwICsxLDEx
MiBAQAorZGVzY3JpcHRpb24oIlRlc3QgdGhlIHBhcnNpbmcgb2YgdGhlIGN1c3RvbSgpIGZ1bmN0
aW9uIG9mIHRoZSAtd2Via2l0LWZpbHRlciBwcm9wZXJ0eS4iKTsKKworZnVuY3Rpb24ganNXcmFw
cGVyQ2xhc3Mobm9kZSkKK3sKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJldHVybiAiW251bGxd
IjsKKyAgICB2YXIgc3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5hcHBseShub2Rl
KTsKKyAgICByZXR1cm4gc3RyaW5nLnN1YnN0cig4LCBzdHJpbmcubGVuZ3RoIC0gOSk7Cit9CisK
K2Z1bmN0aW9uIGdlbmVyYXRlZEJhc2VVUkwoKSB7CisgICAgcmV0dXJuIGRvY3VtZW50LmJhc2VV
UkkucmVwbGFjZSgiY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLmh0bWwiLCAiIik7Cit9
CisKK3ZhciBiYXNlVVJMID0gbmV3IFJlZ0V4cChnZW5lcmF0ZWRCYXNlVVJMKCksICJnIik7CisK
Ky8vIE5lZWQgdG8gcmVtb3ZlIHRoZSBiYXNlIFVSTCB0byBhdm9pZCBoYXZpbmcgbG9jYWwgcGF0
aHMgaW4gdGhlIGV4cGVjdGVkIHJlc3VsdHMuCitmdW5jdGlvbiByZW1vdmVCYXNlVVJMKHNyYykg
eworICAgIHJldHVybiBzcmMucmVwbGFjZShiYXNlVVJMLCAiIikKK30KKworZnVuY3Rpb24gc2hv
dWxkQmVUeXBlKGV4cHJlc3Npb24sIGNsYXNzTmFtZSwgcHJvdG90eXBlTmFtZSwgY29uc3RydWN0
b3JOYW1lKQoreworICAgIGlmICghcHJvdG90eXBlTmFtZSkKKyAgICAgICAgcHJvdG90eXBlTmFt
ZSA9IGNsYXNzTmFtZSArICJQcm90b3R5cGUiOworICAgIGlmICghY29uc3RydWN0b3JOYW1lKQor
ICAgICAgICBjb25zdHJ1Y3Rvck5hbWUgPSBjbGFzc05hbWUgKyAiQ29uc3RydWN0b3IiOworICAg
IHNob3VsZEJlKCJqc1dyYXBwZXJDbGFzcygiICsgZXhwcmVzc2lvbiArICIpIiwgIiciICsgY2xh
c3NOYW1lICsgIiciKTsKKyAgICBzaG91bGRCZSgianNXcmFwcGVyQ2xhc3MoIiArIGV4cHJlc3Np
b24gKyAiLl9fcHJvdG9fXykiLCAiJyIgKyBwcm90b3R5cGVOYW1lICsgIiciKTsKKyAgICBzaG91
bGRCZSgianNXcmFwcGVyQ2xhc3MoIiArIGV4cHJlc3Npb24gKyAiLmNvbnN0cnVjdG9yKSIsICIn
IiArIGNvbnN0cnVjdG9yTmFtZSArICInIik7Cit9CisKKy8vIFRoZXNlIGhhdmUgdG8gYmUgZ2xv
YmFsIGZvciB0aGUgdGVzdCBoZWxwZXJzIHRvIHNlZSB0aGVtLgordmFyIHN0eWxlc2hlZXQsIGNz
c1J1bGUsIGRlY2xhcmF0aW9uLCBmaWx0ZXJSdWxlLCBzdWJSdWxlOworCitmdW5jdGlvbiB0ZXN0
RmlsdGVyUnVsZShkZXNjcmlwdGlvbiwgcnVsZSwgZXhwZWN0ZWRWYWx1ZSwgZXhwZWN0ZWRUeXBl
cywgZXhwZWN0ZWRUZXh0cykKK3sKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoZGVzY3JpcHRp
b24gKyAiIDogIiArIHJ1bGUpOworCisgICAgLy8gVXNlIHRoZSBzdHlsZSBpbnNpZGUgdGhlIEhU
TUwgZG9jdW1lbnQgdG8gZm9yY2UgdGhlIFVSTCByZXpvbHZlIHJlbGF0aXZlIHRvIHRoZSBEb2N1
bWVudCBiYXNlVVJJLgorICAgIHN0eWxlc2hlZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgic3R5bGUiKVswXTsKKyAgICBzdHlsZXNoZWV0LmlubmVyVGV4dCA9ICJib2R5IHsgLXdl
YmtpdC1maWx0ZXI6ICIgKyBydWxlICsgIjsgfSI7CisgICAgY3NzUnVsZSA9IGRvY3VtZW50LnN0
eWxlU2hlZXRzLml0ZW0oMSkuY3NzUnVsZXMuaXRlbSgwKTsKKyAgCisgICAgc2hvdWxkQmUoImNz
c1J1bGUudHlwZSIsICIxIik7CisKKyAgICBkZWNsYXJhdGlvbiA9IGNzc1J1bGUuc3R5bGU7Cisg
ICAgc2hvdWxkQmUoImRlY2xhcmF0aW9uLmxlbmd0aCIsICIxIik7CisgICAgc2hvdWxkQmUoInJl
bW92ZUJhc2VVUkwoZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXIn
KSkiLCAiJyIgKyBleHBlY3RlZFZhbHVlICsgIiciKTsKKworICAgIGZpbHRlclJ1bGUgPSBkZWNs
YXJhdGlvbi5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LWZpbHRlcicpOworICAgIHNob3Vs
ZEJlVHlwZSgiZmlsdGVyUnVsZSIsICJDU1NWYWx1ZUxpc3QiKTsKKworICAgIGlmICghZXhwZWN0
ZWRUeXBlcykgeworICAgICAgICBleHBlY3RlZFR5cGVzID0gWyJXZWJLaXRDU1NGaWx0ZXJWYWx1
ZS5DU1NfRklMVEVSX0NVU1RPTSJdOworICAgICAgICBleHBlY3RlZFRleHRzID0gW2V4cGVjdGVk
VmFsdWVdOworICAgIH0KKyAgICAKKyAgICBzaG91bGRCZSgiZmlsdGVyUnVsZS5sZW5ndGgiLCAi
IiArIGV4cGVjdGVkVHlwZXMubGVuZ3RoKTsgLy8gc2hvdWxkQmUgZXhwZWN0cyBzdHJpbmcgYXJn
dW1lbnRzCisgIAorICAgIGlmIChmaWx0ZXJSdWxlKSB7CisgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgZXhwZWN0ZWRUeXBlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgc3ViUnVsZSA9
IGZpbHRlclJ1bGVbaV07CisgICAgICAgICAgICBzaG91bGRCZSgic3ViUnVsZS5vcGVyYXRpb25U
eXBlIiwgZXhwZWN0ZWRUeXBlc1tpXSk7CisgICAgICAgICAgICBzaG91bGRCZSgicmVtb3ZlQmFz
ZVVSTChzdWJSdWxlLmNzc1RleHQpIiwgIiciICsgZXhwZWN0ZWRUZXh0c1tpXSArICInIik7Cisg
ICAgICAgIH0KKyAgICB9Cit9CisKK3Rlc3RGaWx0ZXJSdWxlKCJDdXN0b20gd2l0aCB2ZXJ0ZXgg
c2hhZGVyIiwKKyAgICAgICAgICAgICAgICJjdXN0b20odXJsKHZlcnRleC5zaGFkZXIpKSIsICJj
dXN0b20odXJsKHZlcnRleC5zaGFkZXIpKSIpOworCit0ZXN0RmlsdGVyUnVsZSgiQ3VzdG9tIHdp
dGggZnJhZ21lbnQgc2hhZGVyIiwKKyAgICAgICAgICAgICAgImN1c3RvbShub25lIHVybChmcmFn
bWVudC5zaGFkZXIpKSIsICJjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSkiKTsKKwor
dGVzdEZpbHRlclJ1bGUoIkN1c3RvbSB3aXRoIGJvdGggc2hhZGVycyIsCisgICAgICAgICAgICAi
Y3VzdG9tKHVybCh2ZXJ0ZXguc2hhZGVyKSB1cmwoZnJhZ21lbnQuc2hhZGVyKSkiLCAiY3VzdG9t
KHVybCh2ZXJ0ZXguc2hhZGVyKSB1cmwoZnJhZ21lbnQuc2hhZGVyKSkiKTsKKyAgICAgICAgICAg
IAordGVzdEZpbHRlclJ1bGUoIkN1c3RvbSB3aXRoIG1lc2ggc2l6ZSIsCisgICAgICAgICAgICAi
Y3VzdG9tKHVybCh2ZXJ0ZXguc2hhZGVyKSwgMTApIiwgImN1c3RvbSh1cmwodmVydGV4LnNoYWRl
ciksIDEwKSIpOworCit0ZXN0RmlsdGVyUnVsZSgiQ3VzdG9tIHdpdGggYm90aCBtZXNoIHNpemVz
IiwKKyAgICAgICAgICAgICJjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMTAgMjAp
IiwgImN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxMCAyMCkiKTsKKwordGVzdEZp
bHRlclJ1bGUoIkN1c3RvbSB3aXRoIGRldGFjaGVkIG1lc2giLAorICAgICAgICAgICAgImN1c3Rv
bShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBkZXRhY2hlZCkiLCAiY3VzdG9tKG5vbmUgdXJs
KGZyYWdtZW50LnNoYWRlciksIGRldGFjaGVkKSIpOworICAgICAgICAgICAgCit0ZXN0RmlsdGVy
UnVsZSgiQ3VzdG9tIHdpdGggZGV0YWNoZWQgYW5kIG1lc2ggc2l6ZSIsCisgICAgICAgICAgICAi
Y3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEwIDIwIGRldGFjaGVkKSIsICJjdXN0
b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMTAgMjAgZGV0YWNoZWQpIik7CisKK3Rlc3RG
aWx0ZXJSdWxlKCJDdXN0b20gd2l0aCBudW1iZXIgcGFyYW1ldGVycyIsCisgICAgICAgICAgICAi
Y3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIHAxIDEsIHAyIDIgMywgcDMgMyA0IDUs
IHA0IDQgNSA2IDcpIiwKKyAgICAgICAgICAgICJjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hh
ZGVyKSwgcDEgMSwgcDIgMiAzLCBwMyAzIDQgNSwgcDQgNCA1IDYgNykiKTsKKwordGVzdEZpbHRl
clJ1bGUoIkN1c3RvbSB3aXRoIGZsb2F0IHBhcmFtZXRlcnMiLAorICAgICAgICAgICAgImN1c3Rv
bShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBwMSAxLjEsIHAyIDIuMiAzLjMsIHAzIDMuMSA0
LjEgNS4xLCBwNCA0LjEgNS4yIDYuMyA3LjQpIiwKKyAgICAgICAgICAgICJjdXN0b20obm9uZSB1
cmwoZnJhZ21lbnQuc2hhZGVyKSwgcDEgMS4xLCBwMiAyLjIgMy4zLCBwMyAzLjEgNC4xIDUuMSwg
cDQgNC4xIDUuMiA2LjMgNy40KSIpOworCisKK3Rlc3RGaWx0ZXJSdWxlKCJDdXN0b20gd2l0aCBt
ZXNoIHNpemUgYW5kIG51bWJlciBwYXJhbWV0ZXJzIiwKKyAgICAgICAgICAgICJjdXN0b20obm9u
ZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMTAgMjAsIHAxIDEsIHAyIDIgMywgcDMgMyA0IDUsIHA0
IDQgNSA2IDcpIiwKKyAgICAgICAgICAgICJjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVy
KSwgMTAgMjAsIHAxIDEsIHAyIDIgMywgcDMgMyA0IDUsIHA0IDQgNSA2IDcpIik7CisKK3Rlc3RG
aWx0ZXJSdWxlKCJNdWx0aXBsZSB3aXRoIGZyYWdtZW50IHNoYWRlciIsCisgICAgICAgICAgICAi
Z3JheXNjYWxlKCkgY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlcikpIHNlcGlhKCkiLCAi
Z3JheXNjYWxlKCkgY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlcikpIHNlcGlhKCkiLAor
ICAgICAgICAgICAgWyJXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0dSQVlTQ0FMRSIs
CisgICAgICAgICAgICAiV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNUT00iLAor
ICAgICAgICAgICAgIldlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfU0VQSUEiXSwKKyAg
ICAgICAgICAgIFsiZ3JheXNjYWxlKCkiLAorICAgICAgICAgICAgImN1c3RvbShub25lIHVybChm
cmFnbWVudC5zaGFkZXIpKSIsCisgICAgICAgICAgICAic2VwaWEoKSJdKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCAxZjI0NzczLi4yNDc2MTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTEtMTEt
MDQgIEFsZXhhbmRydSBDaGljdWxpdGEgIDxhY2hpY3VAYWRvYmUuY29tPgorCisgICAgICAgIFtQ
YXJ0IDFdIFBhcnNlIHRoZSBjdXN0b20oKSBmdW5jdGlvbiBpbiAtd2Via2l0LWZpbHRlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0NDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBjb2RlIHRo
YXQgcGFyc2VzIHRoZSBjdXN0b20oKSBmdW5jdGlvbi4gVGhlcmUncyBubyBjb2RlCisgICAgICAg
IGZvciB0aGUgQ1NTU3R5bGVTZWxlY3RvciB5ZXQsIHNvIHRoZSBvbmx5IHdheSB0byB0ZXN0IHRo
aXMgd2FzIHRvCisgICAgICAgIGNoZWNrIHRoZSAic3R5bGVTaGVldHMiIHJ1bGVzLgorCisgICAg
ICAgIFRlc3Q6IGNzczMvZmlsdGVycy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctaW52
YWxpZC5odG1sCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdl
YkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlZEZpbHRlcik6CisgICAgICAgICogY3NzL0NTU1Bh
cnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpmaWx0ZXJJbmZvRm9yTmFtZSk6CisgICAgICAg
IChXZWJDb3JlOjphY2NlcHRDb21tYU9wZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Bh
cnNlcjo6cGFyc2VDdXN0b21GaWx0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpw
YXJzZUZpbHRlcik6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgorICAgICAgICAqIGNzcy9D
U1NTdHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZpbHRlck9wZXJhdGlvbkZv
clR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Y3JlYXRlRmlsdGVy
T3BlcmF0aW9ucyk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NWYWx1ZTo6aXNXZWJLaXRDU1NTaGFkZXJWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1Zh
bHVlS2V5d29yZHMuaW46CisgICAgICAgICogY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU0ZpbHRlclZhbHVlOjpXZWJLaXRDU1NGaWx0ZXJW
YWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6dHlwZVVzZXNT
cGFjZVNlcGFyYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6
Y3NzVGV4dCk6CisgICAgICAgICogY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmg6CisgICAgICAg
ICogY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmlkbDoKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NT
U2hhZGVyVmFsdWUuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NTaGFkZXJW
YWx1ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1NoYWRlclZhbHVlOjpX
ZWJLaXRDU1NTaGFkZXJWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NTaGFkZXJW
YWx1ZTo6aXNXZWJLaXRTaGFkZXJWYWx1ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GaWx0ZXJPcGVyYXRpb24uaDoKKwogMjAxMS0xMS0wNCAgUGF0cmljayBHYW5zdGVy
ZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIENNYWtlIGJ1aWxk
IGZpeCBmb3IgIUVOQUJMRShTUUxfREFUQUJBU0UpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KaW5kZXggNzI4MWFmNS4uNjhlNzY5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CkBAIC0xMTEzLDYgKzExMTMsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJD
b3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NNYXRyaXguY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTTWF0cml4
LmggXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9t
L0FjdGl2ZURPTU9iamVjdC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDVkNzUwZDIuLjQyNWRi
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTUwNCw2ICs1MDQsNyBAQAogICAgICAgICAgICAgJ2Nz
cy9DU1NXcmFwU2hhcGVzLmgnLAogICAgICAgICAgICAgJ2Nzcy9QYWlyLmgnLAogICAgICAgICAg
ICAgJ2Nzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5oJywKKyAgICAgICAgICAgICdjc3MvV2ViS2l0
Q1NTU2hhZGVyVmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL1dlYktpdENTU1RyYW5zZm9ybVZh
bHVlLmgnLAogICAgICAgICAgICAgJ2VkaXRpbmcvQXBwbHlCbG9ja0VsZW1lbnRDb21tYW5kLmgn
LAogICAgICAgICAgICAgJ2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuaCcsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
cHJvCmluZGV4IDBhNjBjNzYuLjQzODQzZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0xNTM1LDYgKzE1
MzUsNyBAQCBIRUFERVJTICs9IFwKICAgICBjc3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmggXAog
ICAgIGNzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmggXAogICAgIGNzcy9XZWJLaXRDU1NNYXRy
aXguaCBcCisgICAgY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmggXAogICAgIGNzcy9XZWJLaXRD
U1NUcmFuc2Zvcm1WYWx1ZS5oIFwKICAgICBkb20vQWN0aXZlRE9NT2JqZWN0LmggXAogICAgIGRv
bS9BdHRyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agppbmRleCBmZDY5NjExLi4xYmFjN2RiIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzMwMTcsNiArMzMwMTcsMTAgQEAKIAkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGNzc1xXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oIgogCQkJCT4KIAkJCTwvRmls
ZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcV2ViS2l0Q1NTU2hhZGVyVmFs
dWUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CiAJCTwvRmlsdGVyPgogCQk8RmlsdGVyCiAJCQlOYW1l
PSJyZW5kZXJpbmciCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggMDFiY2Q1ZS4uZDA1NTVlYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEzNTYsNiArMTM1Niw3
IEBACiAJCTUwMUJBQUE5MTM5NTBFMkMwMEY3QUNFQiAvKiBXaW5kUnVsZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTAxQkFBQTgxMzk1MEUyQzAwRjdB
Q0VCIC8qIFdpbmRSdWxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNTA4Q0NBNEYxM0NGMTA2QjAwMzE1MUYzIC8qIFJlbmRlckZsb3dUaHJlYWQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUwOENDQTRE
MTNDRjEwNkIwMDMxNTFGMyAvKiBSZW5kZXJGbG93VGhyZWFkLmggKi87IH07CiAJCTUwOENDQTUw
MTNDRjEwNkIwMDMxNTFGMyAvKiBSZW5kZXJGbG93VGhyZWFkLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUwOENDQTRFMTNDRjEwNkIwMDMxNTFGMyAv
KiBSZW5kZXJGbG93VGhyZWFkLmNwcCAqLzsgfTsKKwkJNTBCNDIwMDAxNDYzRjZCQjAwODdFNjA0
IC8qIFdlYktpdENTU1NoYWRlclZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MEI0MUZGRjE0NjNGNkJCMDA4N0U2MDQgLyogV2ViS2l0Q1NTU2hh
ZGVyVmFsdWUuaCAqLzsgfTsKIAkJNTBFNTY2RDYxMzlFMzhDNTAwMjE0NDMzIC8qIENTU1dyYXBT
aGFwZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTAxQkFBQjExMzk1MTE0QjAwRjdBQ0VCIC8qIENTU1dyYXBTaGFwZXMuY3BwICovOyB9OwogCQk1
MTAxODQ2OTBCMDg2MDJBMDA0QTgyNUYgLyogQ2FjaGVkUGFnZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwMTg0NjcwQjA4NjAyQTAwNEE4MjVGIC8q
IENhY2hlZFBhZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk1MTAxODQ2QTBCMDg2MDJBMDA0QTgyNUYgLyogQ2FjaGVkUGFnZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTAxODQ2ODBCMDg2MDJB
MDA0QTgyNUYgLyogQ2FjaGVkUGFnZS5jcHAgKi87IH07CkBAIC04NTIzLDYgKzg1MjQsNyBAQAog
CQk1MDFCQUFCMTEzOTUxMTRCMDBGN0FDRUIgLyogQ1NTV3JhcFNoYXBlcy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NXcmFwU2hhcGVzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTA4Q0NBNEQxM0NGMTA2QjAwMzE1MUYzIC8qIFJlbmRlckZs
b3dUaHJlYWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyRmxvd1Ro
cmVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MDhDQ0E0RTEzQ0YxMDZCMDAz
MTUxRjMgLyogUmVuZGVyRmxvd1RocmVhZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBSZW5kZXJGbG93VGhyZWFkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTBCNDFGRkYxNDYzRjZCQjAwODdFNjA0IC8qIFdlYktpdENTU1NoYWRlclZhbHVlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdENTU1NoYWRlclZhbHVlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMDE4NDY3MEIwODYwMkEwMDRBODI1RiAv
KiBDYWNoZWRQYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZFBh
Z2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwMTg0NjgwQjA4NjAyQTAwNEE4
MjVGIC8qIENhY2hlZFBhZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQ2FjaGVkUGFnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMEQ0QTJE
MTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1FcnJvckJhc2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU29ja2V0U3RyZWFtRXJyb3JCYXNlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwNDkxLDYgKzIwNDkzLDcgQEAKIAkJRjUyM0Qx
ODQwMkRFNDJFODAxODYzNUNBIC8qIGNzcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJNTBCNDFGRkYxNDYzRjZCQjAwODdFNjA0IC8qIFdlYktpdENTU1No
YWRlclZhbHVlLmggKi8sCiAJCQkJOTNDQTRDOUMwOURGOTNGQTAwREY4Njc3IC8qIG1ha2V0b2tl
bml6ZXIgKi8sCiAJCQkJQTgwRTZDREEwQTE5ODlDQTAwN0ZCOEM1IC8qIENvdW50ZXIuaCAqLywK
IAkJCQk5MzA3MDVDNzA5RTBDOTVGMDBCMTdGRTQgLyogQ291bnRlci5pZGwgKi8sCkBAIC0yNDU5
MSw2ICsyNDU5NCw3IEBACiAJCQkJMDc4NDYzODUxNDVCMUI4RTAwQTU4REYxIC8qIEpTVHJhY2tD
dXN0b20uaCBpbiBIZWFkZXJzICovLAogCQkJCTJEOEZFQkREMTQzRTNFRjcwMDcyNTAyQiAvKiBD
U1NDcm9zc2ZhZGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE2OTM3OUMxNDYwOUM2QzAw
QzAxMzYyIC8qIERyYWdTZXNzaW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MEI0MjAwMDE0NjNG
NkJCMDA4N0U2MDQgLyogV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApp
bmRleCBkMmE1MGRmLi5hYTkxNzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtNzI3LDYgKzcyNywxMyBAQCBzdGF0aWMg
UGFzc1JlZlB0cjxDU1NWYWx1ZT4gY29tcHV0ZWRGaWx0ZXIoUmVuZGVyT2JqZWN0KiByZW5kZXJl
ciwgY29uc3QgUmVuZGVyUwogICAgICAgICAgICAgZmlsdGVyVmFsdWUtPmFwcGVuZChwcmltaXRp
dmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZShzaGFycGVuT3BlcmF0aW9uLT50aHJlc2hvbGQoKSwg
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CisjaWYgRU5BQkxFKENTU19TSEFERVJTKQorICAgICAgICBjYXNlIEZpbHRlck9wZXJh
dGlvbjo6Q1VTVE9NOiB7CisgICAgICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50IGN1c3RvbSBz
aGFkZXIgZnVuY3Rpb24uCisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzEzOTYKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5k
aWYKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIGZpbHRlclZhbHVlID0gV2ViS2l0Q1NT
RmlsdGVyVmFsdWU6OmNyZWF0ZShXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6VW5rbm93bkZpbHRlck9w
ZXJhdGlvbik7CiAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5k
ZXggZDRmZWE3NC4uMDdjMmJjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTgwLDYg
KzgwLDkgQEAKICNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaCIKICNpbmNsdWRlICJX
ZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q1NTVHJhbnNmb3JtVmFs
dWUuaCIKKyNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisjaW5jbHVkZSAiV2ViS2l0Q1NTU2hhZGVy
VmFsdWUuaCIKKyNlbmRpZgogI2luY2x1ZGUgPGxpbWl0cy5oPgogI2luY2x1ZGUgPHd0Zi9IZXhO
dW1iZXIuaD4KICNpbmNsdWRlIDx3dGYvZHRvYS5oPgpAQCAtNjQ1Niw4ICs2NDU5LDE1MyBAQCBz
dGF0aWMgdm9pZCBmaWx0ZXJJbmZvRm9yTmFtZShjb25zdCBDU1NQYXJzZXJTdHJpbmcmIG5hbWUs
IFdlYktpdENTU0ZpbHRlclZhbHVlOgogICAgICAgICBmaWx0ZXJUeXBlID0gV2ViS2l0Q1NTRmls
dGVyVmFsdWU6OlNoYXJwZW5GaWx0ZXJPcGVyYXRpb247CiAgICAgICAgIG1heGltdW1Bcmd1bWVu
dENvdW50ID0gMzsKICAgICB9CisjaWYgRU5BQkxFKENTU19TSEFERVJTKQorICAgIGVsc2UgaWYg
KGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJjdXN0b20oIikpCisgICAgICAgIGZpbHRlclR5cGUg
PSBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6Q3VzdG9tRmlsdGVyT3BlcmF0aW9uOworI2VuZGlmCiB9
CiAKKyNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCitzdGF0aWMgYm9vbCBhY2NlcHRDb21tYU9wZXJh
dG9yKENTU1BhcnNlclZhbHVlTGlzdCogYXJnc0xpc3QpCit7CisgICAgaWYgKENTU1BhcnNlclZh
bHVlKiBhcmcgPSBhcmdzTGlzdC0+Y3VycmVudCgpKSB7CisgICAgICAgIGlmIChhcmctPnVuaXQg
IT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9yIHx8IGFyZy0+aVZhbHVlICE9ICcsJykKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgYXJnc0xpc3QtPm5leHQoKTsKKyAgICB9Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKK1Bhc3NSZWZQdHI8V2ViS2l0Q1NTRmlsdGVyVmFsdWU+IENT
U1BhcnNlcjo6cGFyc2VDdXN0b21GaWx0ZXIoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlKQoreworICAg
IENTU1BhcnNlclZhbHVlTGlzdCogYXJnc0xpc3QgPSB2YWx1ZS0+ZnVuY3Rpb24tPmFyZ3MuZ2V0
KCk7CisgICAgaWYgKCFhcmdzTGlzdCkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBSZWZQdHI8
V2ViS2l0Q1NTRmlsdGVyVmFsdWU+IGZpbHRlclZhbHVlID0gV2ViS2l0Q1NTRmlsdGVyVmFsdWU6
OmNyZWF0ZShXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6Q3VzdG9tRmlsdGVyT3BlcmF0aW9uKTsKKwor
ICAgIC8vIExpc3RpbmcgdGhlIGZvcm1hdCBmb3IgdGhlIGN1c3RvbSBmaWx0ZXIgaGVyZS4gUGxl
YXNlIHVwZGF0ZSB0aGlzIHdoZW4gY2hhbmdpbmcKKyAgICAvLyB0aGUgaW1wbGVtZW50YXRpb24g
b2YgdGhlIHN5bnRheDoKKyAgICAvLworICAgIC8vIHZlcnRleFNoYWRlcjogICAgPHVyaT4gfCBu
b25lCisgICAgLy8gZnJhZ21lbnRTaGFkZXI6ICA8dXJpPiB8IG5vbmUKKyAgICAvLworICAgIC8v
IGJveDogZmlsdGVyLWJveCB8IGJvcmRlci1ib3ggfCBwYWRkaW5nLWJveCB8IGNvbnRlbnQtYm94
CisgICAgLy8gdmVydGV4TWVzaDogICs8aW50ZWdlcj57MSwyfVt3c3A8Ym94Pl1bd3NwJ2RldGFj
aGVkJ10KKyAgICAvLworICAgIC8vIHBhcmFtLXZhbHVlOiB0cnVlfGZhbHNlW3dzcCt0cnVlfGZh
bHNlXXswLTN9IHwKKyAgICAvLyAgICAgICAgICAgICAgPG51bWJlcj5bd3NwKzxudW1iZXI+XXsw
LTN9IHwKKyAgICAvLyAgICAgICAgICAgICAgPGFycmF5PiB8CisgICAgLy8gICAgICAgICAgICAg
IDx0cmFuc2Zvcm0+IHwKKyAgICAvLyAgICAgICAgICAgICAgPHRleHR1cmUoPHVyaT4pPgorICAg
IC8vIGFycmF5OiAnYXJyYXkoJzxudW1iZXI+W3dzcDxudW1iZXI+XSonKScKKyAgICAvLyBjc3Mt
M2QtdHJhbnNmb3JtOiA8dHJhbnNmb3JtLWZ1bmN0aW9uPjtbPHRyYW5zZm9ybS1mdW5jdGlvbj5d
KgorICAgIC8vIHRyYW5zZm9ybTogICA8Y3NzLTNkLXRyYW5zZm9ybT4gfCA8bWF0PgorICAgIC8v
IG1hdDogICAgICAgICAnbWF0MignPG51bWJlcj4oLDxudW1iZXI+KXszfScpJyB8IAorICAgIC8v
ICAgICAgICAgICAgICAnbWF0MygnPG51bWJlcj4oLDxudW1iZXI+KXs4fScpJyB8IAorICAgIC8v
ICAgICAgICAgICAgICAnbWF0NCgnPG51bWJlcj4oLDxudW1iZXI+KXsxNX0nKScgKQorICAgIC8v
IHBhcmFtLWRlZjogICA8cGFyYW0tbmFtZT53c3A8cGFyYW0tdmFsdWU+CisgICAgLy8gcGFyYW0t
bmFtZTogIDxpZGVudD4KKyAgICAvLyBwYXJhbXM6ICAgICAgWzxwYXJhbS1kZWY+Wyw8cGFyYW0t
ZGVmPipdXQorICAgIC8vCisgICAgLy8gY3VzdG9tKDx2ZXJ0ZXgtc2hhZGVyPlt3c3A8ZnJhZ21l
bnQtc2hhZGVyPl1bLDx2ZXJ0ZXgtbWVzaD5dWyw8cGFyYW1zPl0pCisgICAgCisgICAgLy8gMS4g
UGFyc2UgdGhlIHNoYWRlciBVUkxzOiA8dmVydGV4LXNoYWRlcj5bd3NwPGZyYWdtZW50LXNoYWRl
cj5dCisgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gc2hhZGVyc0xpc3QgPSBDU1NWYWx1ZUxpc3Q6
OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7CisgICAgYm9vbCBoYWRBdExlYXN0T25lQ3VzdG9tU2hh
ZGVyID0gZmFsc2U7CisgICAgQ1NTUGFyc2VyVmFsdWUqIGFyZzsKKyAgICB3aGlsZSAoKGFyZyA9
IGFyZ3NMaXN0LT5jdXJyZW50KCkpKSB7CisgICAgICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWU7
CisgICAgICAgIGlmIChhcmctPmlkID09IENTU1ZhbHVlTm9uZSkKKyAgICAgICAgICAgIHZhbHVl
ID0gcHJpbWl0aXZlVmFsdWVDYWNoZSgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVO
b25lKTsKKyAgICAgICAgZWxzZSBpZiAoYXJnLT51bml0ID09IENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfVVJJKSB7CisgICAgICAgICAgICBLVVJMIHNoYWRlclVSTCA9IG1fc3R5bGVTaGVldCA/IG1f
c3R5bGVTaGVldC0+Y29tcGxldGVVUkwoYXJnLT5zdHJpbmcpIDogS1VSTCgpOworICAgICAgICAg
ICAgdmFsdWUgPSBXZWJLaXRDU1NTaGFkZXJWYWx1ZTo6Y3JlYXRlKHNoYWRlclVSTC5zdHJpbmco
KSk7CisgICAgICAgICAgICBoYWRBdExlYXN0T25lQ3VzdG9tU2hhZGVyID0gdHJ1ZTsKKyAgICAg
ICAgfQorICAgICAgICBpZiAoIXZhbHVlKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIHNo
YWRlcnNMaXN0LT5hcHBlbmQodmFsdWUucmVsZWFzZSgpKTsKKyAgICAgICAgYXJnc0xpc3QtPm5l
eHQoKTsKKyAgICB9CisKKyAgICBpZiAoIXNoYWRlcnNMaXN0LT5sZW5ndGgoKSB8fCAhaGFkQXRM
ZWFzdE9uZUN1c3RvbVNoYWRlciB8fCBzaGFkZXJzTGlzdC0+bGVuZ3RoKCkgPiAyIHx8ICFhY2Nl
cHRDb21tYU9wZXJhdG9yKGFyZ3NMaXN0KSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIAor
ICAgIGZpbHRlclZhbHVlLT5hcHBlbmQoc2hhZGVyc0xpc3QucmVsZWFzZSgpKTsKKyAgICAKKyAg
ICAvLyAyLiBQYXJzZSB0aGUgbWVzaCBzaXplIDx2ZXJ0ZXgtbWVzaD4KKyAgICBSZWZQdHI8Q1NT
VmFsdWVMaXN0PiBtZXNoU2l6ZUxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJh
dGVkKCk7CisgICAgCisgICAgd2hpbGUgKChhcmcgPSBhcmdzTGlzdC0+Y3VycmVudCgpKSkgewor
ICAgICAgICBpZiAoIXZhbGlkVW5pdChhcmcsIEZJbnRlZ2VyIHwgRk5vbk5lZywgdHJ1ZSkpCisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgbWVzaFNpemVMaXN0LT5hcHBlbmQocHJpbWl0aXZl
VmFsdWVDYWNoZSgpLT5jcmVhdGVWYWx1ZShjbGFtcFRvSW50ZWdlcihhcmctPmZWYWx1ZSksIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKSk7CisgICAgICAgIGFyZ3NMaXN0LT5uZXh0KCk7
CisgICAgfQorICAgIAorICAgIGlmIChtZXNoU2l6ZUxpc3QtPmxlbmd0aCgpID4gMikKKyAgICAg
ICAgcmV0dXJuIDA7CisgICAgCisgICAgaWYgKChhcmcgPSBhcmdzTGlzdC0+Y3VycmVudCgpKSAm
JiAoYXJnLT5pZCA9PSBDU1NWYWx1ZUJvcmRlckJveCB8fCBhcmctPmlkID09IENTU1ZhbHVlUGFk
ZGluZ0JveAorICAgICAgICB8fCBhcmctPmlkID09IENTU1ZhbHVlQ29udGVudEJveCB8fCBhcmct
PmlkID09IENTU1ZhbHVlRmlsdGVyQm94KSkgeworICAgICAgICBtZXNoU2l6ZUxpc3QtPmFwcGVu
ZChwcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShhcmctPmlkKSk7
CisgICAgICAgIGFyZ3NMaXN0LT5uZXh0KCk7CisgICAgfQorICAgIAorICAgIGlmICgoYXJnID0g
YXJnc0xpc3QtPmN1cnJlbnQoKSkgJiYgYXJnLT5pZCA9PSBDU1NWYWx1ZURldGFjaGVkKSB7Cisg
ICAgICAgIG1lc2hTaXplTGlzdC0+YXBwZW5kKHByaW1pdGl2ZVZhbHVlQ2FjaGUoKS0+Y3JlYXRl
SWRlbnRpZmllclZhbHVlKGFyZy0+aWQpKTsKKyAgICAgICAgYXJnc0xpc3QtPm5leHQoKTsKKyAg
ICB9CisgICAgCisgICAgaWYgKG1lc2hTaXplTGlzdC0+bGVuZ3RoKCkpIHsKKyAgICAgICAgaWYg
KCFhY2NlcHRDb21tYU9wZXJhdG9yKGFyZ3NMaXN0KSkKKyAgICAgICAgICAgIHJldHVybiAwOwor
ICAgICAgICBmaWx0ZXJWYWx1ZS0+YXBwZW5kKG1lc2hTaXplTGlzdC5yZWxlYXNlKCkpOworICAg
IH0KKyAgICAKKyAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBwYXJhbUxpc3QgPSBDU1NWYWx1ZUxp
c3Q6OmNyZWF0ZUNvbW1hU2VwYXJhdGVkKCk7CisgICAgCisgICAgd2hpbGUgKChhcmcgPSBhcmdz
TGlzdC0+Y3VycmVudCgpKSkgeworICAgICAgICBpZiAoYXJnLT5pZCB8fCBhcmctPnVuaXQgIT0g
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19JREVOVCkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAg
ICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IHBhcmFtZXRlciA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRl
U3BhY2VTZXBhcmF0ZWQoKTsKKyAgICAgICAgcGFyYW1ldGVyLT5hcHBlbmQoY3JlYXRlUHJpbWl0
aXZlU3RyaW5nVmFsdWUoYXJnKSk7CisgICAgICAgIGFyZ3NMaXN0LT5uZXh0KCk7CisKKyAgICAg
ICAgaWYgKCEoYXJnID0gYXJnc0xpc3QtPmN1cnJlbnQoKSkpCisgICAgICAgICAgICByZXR1cm4g
MDsKKworICAgICAgICAvLyBUT0RPOiBJbXBsZW1lbnQgb3RoZXIgcGFyYW1ldGVycyB0eXBlcyBw
YXJzaW5nLgorICAgICAgICAvLyB0ZXh0dXJlczogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcxNDQyCisgICAgICAgIC8vIDNkLXRyYW5zZm9ybXM6IGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTQ0MworICAgICAgICAvLyBtYXQyLCBtYXQz
LCBtYXQ0OiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0NDQKKyAg
ICAgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gcGFyYW1WYWx1ZUxpc3QgPSBDU1NWYWx1ZUxpc3Q6
OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7CisgICAgICAgIHdoaWxlICgoYXJnID0gYXJnc0xpc3Qt
PmN1cnJlbnQoKSkpIHsKKyAgICAgICAgICAgIC8vIElmIHdlIGhpdCBhIGNvbW1hIGl0IG1lYW5z
IHdlIGZpbmlzaGVkIHRoaXMgcGFyYW1ldGVyJ3MgdmFsdWVzLgorICAgICAgICAgICAgaWYgKGFy
Zy0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3IgJiYgYXJnLT5pVmFsdWUgPT0gJywn
KQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgaWYgKCF2YWxpZFVuaXQoYXJn
LCBGTnVtYmVyLCB0cnVlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAg
IHBhcmFtVmFsdWVMaXN0LT5hcHBlbmQocHJpbWl0aXZlVmFsdWVDYWNoZSgpLT5jcmVhdGVWYWx1
ZShhcmctPmZWYWx1ZSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpKTsKKyAgICAgICAg
ICAgIGFyZ3NMaXN0LT5uZXh0KCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFwYXJhbVZhbHVl
TGlzdC0+bGVuZ3RoKCkgfHwgcGFyYW1WYWx1ZUxpc3QtPmxlbmd0aCgpID4gNCkKKyAgICAgICAg
ICAgIHJldHVybiAwOworICAgICAgICBwYXJhbWV0ZXItPmFwcGVuZChwYXJhbVZhbHVlTGlzdC5y
ZWxlYXNlKCkpOworICAgICAgICBwYXJhbUxpc3QtPmFwcGVuZChwYXJhbWV0ZXIucmVsZWFzZSgp
KTsKKyAgICAgICAgaWYgKCFhY2NlcHRDb21tYU9wZXJhdG9yKGFyZ3NMaXN0KSkKKyAgICAgICAg
ICAgIHJldHVybiAwOworICAgIH0KKyAgICAKKyAgICBpZiAocGFyYW1MaXN0LT5sZW5ndGgoKSkK
KyAgICAgICAgZmlsdGVyVmFsdWUtPmFwcGVuZChwYXJhbUxpc3QucmVsZWFzZSgpKTsKKyAgICAK
KyAgICByZXR1cm4gZmlsdGVyVmFsdWU7Cit9CisjZW5kaWYKKwogYm9vbCBDU1NQYXJzZXI6Omlz
VmFsaWRGaWx0ZXJBcmd1bWVudChDU1NQYXJzZXJWYWx1ZSogYXJndW1lbnQsIFdlYktpdENTU0Zp
bHRlclZhbHVlOjpGaWx0ZXJPcGVyYXRpb25UeXBlJiBmaWx0ZXJUeXBlLCB1bnNpZ25lZCBhcmd1
bWVudENvdW50KQogewogICAgIC8vIENoZWNrIHBhcmFtZXRlciB0eXBlcy4KQEAgLTY1MzMsNiAr
NjY4MSwxNiBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gQ1NTUGFyc2VyOjpwYXJzZUZpbHRl
cigpCiAgICAgICAgICAgICBpZiAoZmlsdGVyVHlwZSA9PSBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6
VW5rbm93bkZpbHRlck9wZXJhdGlvbikKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKIAorI2lm
IEVOQUJMRShDU1NfU0hBREVSUykKKyAgICAgICAgICAgIGlmIChmaWx0ZXJUeXBlID09IFdlYktp
dENTU0ZpbHRlclZhbHVlOjpDdXN0b21GaWx0ZXJPcGVyYXRpb24pIHsKKyAgICAgICAgICAgICAg
ICBSZWZQdHI8V2ViS2l0Q1NTRmlsdGVyVmFsdWU+IGZpbHRlclZhbHVlID0gcGFyc2VDdXN0b21G
aWx0ZXIodmFsdWUpOworICAgICAgICAgICAgICAgIGlmICghZmlsdGVyVmFsdWUpCisgICAgICAg
ICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChmaWx0
ZXJWYWx1ZS5yZWxlYXNlKCkpOworICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAg
ICAgfQorI2VuZGlmCisKICAgICAgICAgICAgIENTU1BhcnNlclZhbHVlTGlzdCogYXJncyA9IHZh
bHVlLT5mdW5jdGlvbi0+YXJncy5nZXQoKTsKICAgICAgICAgICAgIGlmICghYXJncyB8fCBhcmdz
LT5zaXplKCkgPiBtYXhpbXVtQXJndW1lbnRDb3VudCkKICAgICAgICAgICAgICAgICByZXR1cm4g
MDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCA3NDRkM2M3Li5mY2QwNjM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5oCkBAIC0xODgsNiArMTg4LDkgQEAgcHVibGljOgogI2lmIEVOQUJMRShDU1Nf
RklMVEVSUykKICAgICBib29sIGlzVmFsaWRGaWx0ZXJBcmd1bWVudChDU1NQYXJzZXJWYWx1ZSog
YXJndW1lbnQsIFdlYktpdENTU0ZpbHRlclZhbHVlOjpGaWx0ZXJPcGVyYXRpb25UeXBlJiwgdW5z
aWduZWQgYXJndW1lbnRDb3VudCk7CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZUxpc3Q+IHBhcnNl
RmlsdGVyKCk7CisjaWYgRU5BQkxFKENTU19TSEFERVJTKQorICAgIFBhc3NSZWZQdHI8V2ViS2l0
Q1NTRmlsdGVyVmFsdWU+IHBhcnNlQ3VzdG9tRmlsdGVyKENTU1BhcnNlclZhbHVlKik7CisjZW5k
aWYKICNlbmRpZgogCiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZUxpc3Q+IHBhcnNlVHJhbnNmb3Jt
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggYmFlNzM2Zi4u
ZGYxN2VkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtNTM4
NSw2ICs1Mzg1LDEwIEBAIHN0YXRpYyBGaWx0ZXJPcGVyYXRpb246Ok9wZXJhdGlvblR5cGUgZmls
dGVyT3BlcmF0aW9uRm9yVHlwZShXZWJLaXRDU1NGaWx0ZXJWYWx1CiAgICAgICAgIHJldHVybiBG
aWx0ZXJPcGVyYXRpb246OlNIQVJQRU47CiAgICAgY2FzZSBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6
RHJvcFNoYWRvd0ZpbHRlck9wZXJhdGlvbjoKICAgICAgICAgcmV0dXJuIEZpbHRlck9wZXJhdGlv
bjo6RFJPUF9TSEFET1c7CisjaWYgRU5BQkxFKENTU19TSEFERVJTKQorICAgIGNhc2UgV2ViS2l0
Q1NTRmlsdGVyVmFsdWU6OkN1c3RvbUZpbHRlck9wZXJhdGlvbjoKKyAgICAgICAgcmV0dXJuIEZp
bHRlck9wZXJhdGlvbjo6Q1VTVE9NOworI2VuZGlmCiAgICAgY2FzZSBXZWJLaXRDU1NGaWx0ZXJW
YWx1ZTo6VW5rbm93bkZpbHRlck9wZXJhdGlvbjoKICAgICAgICAgcmV0dXJuIEZpbHRlck9wZXJh
dGlvbjo6Tk9ORTsKICAgICB9CkBAIC01NDA4LDYgKzU0MTIsMTQgQEAgYm9vbCBDU1NTdHlsZVNl
bGVjdG9yOjpjcmVhdGVGaWx0ZXJPcGVyYXRpb25zKENTU1ZhbHVlKiBpblZhbHVlLCBSZW5kZXJT
dHlsZSogc3QKICAgICAgICAgV2ViS2l0Q1NTRmlsdGVyVmFsdWUqIGZpbHRlclZhbHVlID0gc3Rh
dGljX2Nhc3Q8V2ViS2l0Q1NTRmlsdGVyVmFsdWUqPihpLnZhbHVlKCkpOwogICAgICAgICBGaWx0
ZXJPcGVyYXRpb246Ok9wZXJhdGlvblR5cGUgb3BlcmF0aW9uVHlwZSA9IGZpbHRlck9wZXJhdGlv
bkZvclR5cGUoZmlsdGVyVmFsdWUtPm9wZXJhdGlvblR5cGUoKSk7CiAKKyNpZiBFTkFCTEUoQ1NT
X1NIQURFUlMpCisgICAgICAgIGlmIChvcGVyYXRpb25UeXBlID09IEZpbHRlck9wZXJhdGlvbjo6
Q1VTVE9NKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoZSBmaWx0ZXIgb3Bl
cmF0aW9uIGZvciB0aGUgY3VzdG9tIHNoYWRlci4KKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTQ0NgorICAgICAgICAgICAgY29udGludWU7
CisgICAgICAgIH0KKyNlbmRpZgorCiAgICAgICAgIGJvb2wgaGF2ZU5vblByaW1pdGl2ZVZhbHVl
ID0gZmFsc2U7CiAgICAgICAgIGZvciAodW5zaWduZWQgaiA9IDA7IGogPCBmaWx0ZXJWYWx1ZS0+
bGVuZ3RoKCk7ICsraikgewogICAgICAgICAgICAgaWYgKCFmaWx0ZXJWYWx1ZS0+aXRlbVdpdGhv
dXRCb3VuZHNDaGVjayhqKS0+aXNQcmltaXRpdmVWYWx1ZSgpKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5o
CmluZGV4IGNmOTc0ZjYuLmM3MDgwNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCkBAIC03NCw2ICs3
NCw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNDU1NMaW5lQm94Q29udGFpblZhbHVl
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiAgICAg
dmlydHVhbCBib29sIGlzV2ViS2l0Q1NTRmlsdGVyVmFsdWUoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQorI2lmIEVOQUJMRShDU1NfU0hBREVSUykKKyAgICB2aXJ0dWFsIGJvb2wgaXNXZWJLaXRD
U1NTaGFkZXJWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKICNlbmRpZgog
I2lmIEVOQUJMRShTVkcpCiAgICAgdmlydHVhbCBib29sIGlzU1ZHQ29sb3IoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCA1
YjAzMDllLi5lNjZjMWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVL
ZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpA
QCAtODQ3LDMgKzg0NywxNSBAQCBldmVub2RkCiAvLyAtd2Via2l0LXJlZ2lvbi1vdmVyZmxvdwog
Ly8gYXV0bwogYnJlYWsKKworI2lmIGRlZmluZWQoRU5BQkxFX0NTU19GSUxURVJTKSAmJiBFTkFC
TEVfQ1NTX0ZJTFRFUlMKKy8vIC13ZWJraXQtZmlsdGVyCisjaWYgZGVmaW5lZChFTkFCTEVfQ1NT
X1NIQURFUlMpICYmIEVOQUJMRV9DU1NfU0hBREVSUworLy8gdmFsdWVzIGZvciB0aGUgY3VzdG9t
KCkgZnVuY3Rpb24KKy8vIGJvcmRlci1ib3gKKy8vIHBhZGRpbmctYm94CisvLyBjb250ZW50LWJv
eAorZmlsdGVyLWJveAorZGV0YWNoZWQKKyNlbmRpZiAvLyBDU1NfU0hBREVSUworI2VuZGlmIC8v
IENTU19GSUxURVJTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmls
dGVyVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNw
cAppbmRleCAyNTA1ODMxLi5hMzk0YTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTRmlsdGVyVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRD
U1NGaWx0ZXJWYWx1ZS5jcHAKQEAgLTM1LDExICszNSwyMCBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6V2ViS2l0Q1NTRmlsdGVyVmFsdWUoRmlsdGVyT3Bl
cmF0aW9uVHlwZSBvcGVyYXRpb25UeXBlKQotICAgIDogQ1NTVmFsdWVMaXN0KHRydWUpCisgICAg
OiBDU1NWYWx1ZUxpc3QodHlwZVVzZXNTcGFjZVNlcGFyYXRvcihvcGVyYXRpb25UeXBlKSkKICAg
ICAsIG1fdHlwZShvcGVyYXRpb25UeXBlKQogewogfQogCitib29sIFdlYktpdENTU0ZpbHRlclZh
bHVlOjp0eXBlVXNlc1NwYWNlU2VwYXJhdG9yKEZpbHRlck9wZXJhdGlvblR5cGUgb3BlcmF0aW9u
VHlwZSkKK3sKKyNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisgICAgcmV0dXJuIG9wZXJhdGlvblR5
cGUgIT0gQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOworI2Vsc2UKKyAgICByZXR1cm4gdHJ1ZTsKKyNl
bmRpZgorfQorCiBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6fldlYktpdENTU0ZpbHRlclZhbHVlKCkK
IHsKIH0KQEAgLTgxLDYgKzkwLDExIEBAIFN0cmluZyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6Y3Nz
VGV4dCgpIGNvbnN0CiAgICAgY2FzZSBEcm9wU2hhZG93RmlsdGVyT3BlcmF0aW9uOgogICAgICAg
ICByZXN1bHQgPSAiZHJvcC1zaGFkb3coIjsKICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKENT
U19TSEFERVJTKQorICAgIGNhc2UgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uOgorICAgICAgICByZXN1
bHQgPSAiY3VzdG9tKCI7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgZGVmYXVsdDoKICAg
ICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktp
dENTU0ZpbHRlclZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFs
dWUuaAppbmRleCBkNGQwOGUxLi43MjE5MzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTRmlsdGVyVmFsdWUuaApAQCAtNTAsOCArNTAsMTMgQEAgcHVibGljOgogICAgICAgICBCbHVy
RmlsdGVyT3BlcmF0aW9uLAogICAgICAgICBTaGFycGVuRmlsdGVyT3BlcmF0aW9uLAogICAgICAg
ICBEcm9wU2hhZG93RmlsdGVyT3BlcmF0aW9uCisjaWYgRU5BQkxFKENTU19TSEFERVJTKQorICAg
ICAgICAsIEN1c3RvbUZpbHRlck9wZXJhdGlvbgorI2VuZGlmCiAgICAgfTsKIAorICAgIHN0YXRp
YyBib29sIHR5cGVVc2VzU3BhY2VTZXBhcmF0b3IoRmlsdGVyT3BlcmF0aW9uVHlwZSk7CisKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJLaXRDU1NGaWx0ZXJWYWx1ZT4gY3JlYXRlKEZpbHRlck9w
ZXJhdGlvblR5cGUgdHlwZSkKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2Vi
S2l0Q1NTRmlsdGVyVmFsdWUodHlwZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU0ZpbHRlclZhbHVlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NG
aWx0ZXJWYWx1ZS5pZGwKaW5kZXggYWM5OWFhNi4uYjQ4ZmVjMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuaWRsCkBAIC00NSw2ICs0NSwxMCBAQCBtb2R1bGUg
Y3NzIHsKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQ1NTX0ZJTFRFUl9TSEFSUEVOID0g
MTA7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENTU19GSUxURVJfRFJPUF9TSEFET1cg
PSAxMTsKIAorI2lmIGRlZmluZWQoRU5BQkxFX0NTU19TSEFERVJTKSAmJiBFTkFCTEVfQ1NTX1NI
QURFUlMKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQ1NTX0ZJTFRFUl9DVVNUT00gPSAx
MjsKKyNlbmRpZgorCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBv
cGVyYXRpb25UeXBlOwogICAgIH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFk
ZXJWYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0Y2NhNTAKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUu
aApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IDIwMTEgQWRvYmUgU3lzdGVtcyBJ
bmNvcnBvcmF0ZWQuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUiDigJxBUyBJU+KAnSBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhP
TERFUiBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLAorICogT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgor
ICogVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GCisgKiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
V2ViS2l0Q1NTU2hhZGVyVmFsdWVfaAorI2RlZmluZSBXZWJLaXRDU1NTaGFkZXJWYWx1ZV9oCisK
KyNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisKKyNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZS5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYktpdENTU1NoYWRlclZhbHVlIDog
cHVibGljIENTU1ByaW1pdGl2ZVZhbHVlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJLaXRDU1NTaGFkZXJWYWx1ZT4gY3Jl
YXRlKGNvbnN0IFN0cmluZyYgdXJsKSB7IHJldHVybiBhZG9wdFJlZihuZXcgV2ViS2l0Q1NTU2hh
ZGVyVmFsdWUodXJsKSk7IH0KKyAgICAKK3Byb3RlY3RlZDoKKyAgICBXZWJLaXRDU1NTaGFkZXJW
YWx1ZShjb25zdCBTdHJpbmcmIHVybCkKKyAgICAgICAgOiBDU1NQcmltaXRpdmVWYWx1ZSh1cmws
IENTU19VUkkpCisgICAgeworICAgIH0KKworcHJpdmF0ZToKKyAgICB2aXJ0dWFsIGJvb2wgaXNX
ZWJLaXRTaGFkZXJWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShDU1NfU0hBREVSUykKKworI2VuZGlm
IC8vIFdlYktpdENTU1NoYWRlclZhbHVlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbi5oCmluZGV4IGU4NjJl
ODQuLmFmMjQxZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJPcGVyYXRpb24uaApAQCAtNTMsNiArNTMsOSBAQCBwdWJs
aWM6CiAgICAgICAgIEJMVVIsCiAgICAgICAgIFNIQVJQRU4sCiAgICAgICAgIERST1BfU0hBRE9X
LAorI2lmIEVOQUJMRShDU1NfU0hBREVSUykKKyAgICAgICAgQ1VTVE9NLAorI2VuZGlmCiAgICAg
ICAgIE5PTkUKICAgICB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114068</attachid>
            <date>2011-11-08 07:54:47 -0800</date>
            <delta_ts>2011-11-09 04:33:06 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-71441-20111108175444.patch</filename>
            <type>text/plain</type>
            <size>46193</size>
            <attacher name="Alexandru Chiculita">achicu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk1NDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0MzVjMjI0NzYwMWQ5NmI5
NTdkNTM2NWIyMjQyY2NiOTJmZjdkNzgwLi4xYjk2MDQ4ODc0MTFiYWMwMDJiYzhjNWNjODFkMmY3
Y2ViODY1MzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAKKzIwMTEtMTEtMDggIEFsZXhh
bmRydSBDaGljdWxpdGEgIDxhY2hpY3VAYWRvYmUuY29tPgorCisgICAgICAgIFtQYXJ0IDFdIFBh
cnNlIHRoZSBjdXN0b20oKSBmdW5jdGlvbiBpbiAtd2Via2l0LWZpbHRlcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0NDEKKworICAgICAgICBBZGRl
ZCBjb2RlIHRoYXQgcGFyc2VzIHRoZSBjdXN0b20oKSBmdW5jdGlvbi4gVGhlcmUncyBubyBjb2Rl
CisgICAgICAgIGZvciB0aGUgQ1NTU3R5bGVTZWxlY3RvciB5ZXQsIHNvIHRoZSBvbmx5IHdheSB0
byB0ZXN0IHRoaXMgd2FzIHRvCisgICAgICAgIGNoZWNrIHRoZSAic3R5bGVTaGVldHMiIHJ1bGVz
LgorCisgICAgICAgIFJldmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICBUZXN0czog
Y3NzMy9maWx0ZXJzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2luZy1pbnZhbGlkLmh0bWwK
KyAgICAgICAgICAgICAgIGNzczMvZmlsdGVycy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNp
bmcuaHRtbAorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJn
ZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpjb21wdXRlZEZpbHRlcik6CisgICAgICAgICogY3NzL0NTU1BhcnNl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpmaWx0ZXJJbmZvRm9yTmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjphY2NlcHRDb21tYU9wZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNl
cjo6cGFyc2VDdXN0b21GaWx0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJz
ZUZpbHRlcik6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgorICAgICAgICAqIGNzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZpbHRlck9wZXJhdGlvbkZvclR5
cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Y3JlYXRlRmlsdGVyT3Bl
cmF0aW9ucyk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpD
U1NWYWx1ZTo6aXNXZWJLaXRDU1NTaGFkZXJWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVl
S2V5d29yZHMuaW46CisgICAgICAgICogY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OldlYktpdENTU0ZpbHRlclZhbHVlOjpXZWJLaXRDU1NGaWx0ZXJWYWx1
ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6dHlwZVVzZXNTcGFj
ZVNlcGFyYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6Y3Nz
VGV4dCk6CisgICAgICAgICogY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmg6CisgICAgICAgICog
Y3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmlkbDoKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTU2hh
ZGVyVmFsdWUuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NTaGFkZXJWYWx1
ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1NoYWRlclZhbHVlOjpXZWJL
aXRDU1NTaGFkZXJWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NTaGFkZXJWYWx1
ZTo6aXNXZWJLaXRTaGFkZXJWYWx1ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GaWx0ZXJPcGVyYXRpb24uaDoKKwogMjAxMS0xMS0wOCAgTmlrb2xhcyBaaW1tZXJtYW5u
ICA8bnppbW1lcm1hbm5AcmltLmNvbT4KIAogICAgICAgICBTd2l0Y2ggU1ZHSW1hZ2UgY2FjaGUg
dG8gc3RvcmUgSW1hZ2VCdWZmZXJzIGluc3RlYWQgb2Ygd2hvbGUgU1ZHSW1hZ2VzLCBpbmNsdWRp
bmcgYSBET00vUmVuZGVyIHRyZWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGJi
YmI4NWRlNmIzMTUwMTc3YzEwNjVmMTQ4MjY5MzhjMDI5N2U3OWMuLjAwNTE4ZDM4ODQ5MGZhODYy
OGUyNGY4NGZhZGVkOGY4ZmM3YzEwNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpA
QCAtMTExNiw2ICsxMTE2LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29y
ZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTTWF0cml4LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU01hdHJpeC5o
IFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCBcCiAJU291cmNl
L1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9B
Y3RpdmVET01PYmplY3QuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5w
cmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDg5OGUzYmM5MWZhYzhlNWU2ODM2
NGFhZWJiYjRjYWNiNTE3MTk4NTcuLjAwMDdjOGY4NDk0OGNhZGMzOTJiNmQxNGMzMjJiMWNmMWVk
NDU2YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMTU2Miw2ICsxNTYyLDcgQEAgSEVBREVSUyArPSBcCiAg
ICAgY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5oIFwKICAgICBjc3MvV2ViS2l0Q1NTS2V5ZnJh
bWVzUnVsZS5oIFwKICAgICBjc3MvV2ViS2l0Q1NTTWF0cml4LmggXAorICAgIGNzcy9XZWJLaXRD
U1NTaGFkZXJWYWx1ZS5oIFwKICAgICBjc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCBcCiAg
ICAgZG9tL0FjdGl2ZURPTU9iamVjdC5oIFwKICAgICBkb20vQXR0ci5oIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQppbmRleCBkNTg4Y2MxNmNmMmFiN2I1ZDhmYmVmZjcwYjE4YjAzMzYxODZiOTkzLi5kYzEzNWZh
MzkwYmE4OTcyMjE1ZmJkZTYwODI5OTcwM2E4YmY0M2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC01
MDQsNiArNTA0LDcgQEAKICAgICAgICAgICAgICdjc3MvQ1NTV3JhcFNoYXBlcy5oJywKICAgICAg
ICAgICAgICdjc3MvUGFpci5oJywKICAgICAgICAgICAgICdjc3MvV2ViS2l0Q1NTRmlsdGVyVmFs
dWUuaCcsCisgICAgICAgICAgICAnY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmgnLAogICAgICAg
ICAgICAgJ2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oJywKICAgICAgICAgICAgICdlZGl0
aW5nL0FwcGx5QmxvY2tFbGVtZW50Q29tbWFuZC5oJywKICAgICAgICAgICAgICdlZGl0aW5nL0Nv
bXBvc2l0ZUVkaXRDb21tYW5kLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagppbmRleCAzNTZiMDIwZGU1MGM4NDgxZDBjNGYxZGIxNDgzNmRjMDRkMzc5
YzUyLi4zMjE2ZTU3MzA1MzBlZDg1YmY2M2VkNTYxZDAwZDQzODZhODNjMDc5IDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzI5NTcsNiArMzI5
NTcsMTAgQEAKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1
ZS5oIgogCQkJCT4KIAkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxj
c3NcV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CiAJCTwvRmlsdGVy
PgogCQk8RmlsdGVyCiAJCQlOYW1lPSJyZW5kZXJpbmciCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmIyYTRjMjc1ZmQ3ZGI5ODdh
YThhMmUzZTdhYTJmNmM0Njc3NGY3YS4uM2NiMTkzZjZkNjZiMGI1Mzk0YjZhM2VkZmQwNDExMWQz
YzBiNDQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTM1OCw2ICsxMzU4LDcgQEAKIAkJNTAxQkFBQTkxMzk1MEUyQzAwRjdB
Q0VCIC8qIFdpbmRSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MDFCQUFBODEzOTUwRTJDMDBGN0FDRUIgLyogV2luZFJ1bGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MDhDQ0E0RjEzQ0YxMDZC
MDAzMTUxRjMgLyogUmVuZGVyRmxvd1RocmVhZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTA4Q0NBNEQxM0NGMTA2QjAwMzE1MUYzIC8qIFJlbmRlckZs
b3dUaHJlYWQuaCAqLzsgfTsKIAkJNTA4Q0NBNTAxM0NGMTA2QjAwMzE1MUYzIC8qIFJlbmRlckZs
b3dUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTA4Q0NBNEUxM0NGMTA2QjAwMzE1MUYzIC8qIFJlbmRlckZsb3dUaHJlYWQuY3BwICovOyB9
OworCQk1MEI0MjE1ODE0Njk3Njk2MDA4N0U2MDQgLyogV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUwQjQyMTU3MTQ2
OTc2OTYwMDg3RTYwNCAvKiBXZWJLaXRDU1NTaGFkZXJWYWx1ZS5oICovOyB9OwogCQk1MEU1NjZE
NjEzOUUzOEM1MDAyMTQ0MzMgLyogQ1NTV3JhcFNoYXBlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MDFCQUFCMTEzOTUxMTRCMDBGN0FDRUIgLyog
Q1NTV3JhcFNoYXBlcy5jcHAgKi87IH07CiAJCTUxMDE4NDY5MEIwODYwMkEwMDRBODI1RiAvKiBD
YWNoZWRQYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MTAxODQ2NzBCMDg2MDJBMDA0QTgyNUYgLyogQ2FjaGVkUGFnZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxMDE4NDZBMEIwODYwMkEwMDRB
ODI1RiAvKiBDYWNoZWRQYWdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxMDE4NDY4MEIwODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQYWdlLmNwcCAq
LzsgfTsKQEAgLTg1MzQsNiArODUzNSw3IEBACiAJCTUwMUJBQUIxMTM5NTExNEIwMEY3QUNFQiAv
KiBDU1NXcmFwU2hhcGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENTU1dyYXBTaGFwZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MDhDQ0E0
RDEzQ0YxMDZCMDAzMTUxRjMgLyogUmVuZGVyRmxvd1RocmVhZC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZW5kZXJGbG93VGhyZWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUwOENDQTRFMTNDRjEwNkIwMDMxNTFGMyAvKiBSZW5kZXJGbG93VGhyZWFkLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlckZsb3dUaHJlYWQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MEI0MjE1NzE0Njk3Njk2MDA4N0U2
MDQgLyogV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNTEwMTg0NjcwQjA4NjAyQTAwNEE4MjVGIC8qIENhY2hlZFBhZ2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkUGFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MTAxODQ2ODBCMDg2MDJBMDA0QTgyNUYgLyogQ2FjaGVkUGFnZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZWRQYWdlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwRDRBMkQxMDMxNjVFRTAwNDlFQTU0IC8qIFNvY2tldFN0
cmVhbUVycm9yQmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBT
b2NrZXRTdHJlYW1FcnJvckJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MjA1MTcsNiArMjA1MTksNyBAQAogCQlGNTIzRDE4NDAyREU0MkU4MDE4NjM1Q0EgLyogY3NzICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk1MEI0MjE1NzE0
Njk3Njk2MDA4N0U2MDQgLyogV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCAqLywKIAkJCQlBRDAzQUFG
ODE0Njg0NTM5MDBBMzlCNUIgLyogQ1NTVmFsdWUuY3BwICovLAogCQkJCUNBRTlGOTBEMTQ2NDQx
RjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCAqLywKIAkJCQlDQUU5RjkwRTE0
NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovLApAQCAtMjQ2MzQsNiAr
MjQ2MzcsNyBAQAogCQkJCTMxNjkzNzlDMTQ2MDlDNkMwMEMwMTM2MiAvKiBEcmFnU2Vzc2lvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQ0FFOUY5MTAxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVj
dFJhdGlvVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3NkYzNkVCMTQ2ODYyMjUwMDVFOTNC
NCAvKiBTZWN1cml0eUNvbnRleHQuaCBpbiBIZWFkZXJzICovLAorCQkJCTUwQjQyMTU4MTQ2OTc2
OTYwMDg3RTYwNCAvKiBXZWJLaXRDU1NTaGFkZXJWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmlu
ZGV4IDk1NmZiMmE1YjcxYTVmOTc1ZTRkMDBiMDU2M2VlNzIwNGM3ZmVmYmQuLmZlOTgxOTU0N2Q0
NjczYzcwZmJkYmVjN2RkODY5M2M4YzY5N2QwYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC03MjcsNiArNzI3LDEzIEBA
IHN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiBjb21wdXRlZEZpbHRlcihSZW5kZXJPYmplY3Qq
IHJlbmRlcmVyLCBjb25zdCBSZW5kZXJTCiAgICAgICAgICAgICBmaWx0ZXJWYWx1ZS0+YXBwZW5k
KHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKHNoYXJwZW5PcGVyYXRpb24tPnRocmVz
aG9sZCgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUikpOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KKyNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisgICAgICAgIGNhc2UgRmls
dGVyT3BlcmF0aW9uOjpDVVNUT006IHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQg
Y3VzdG9tIHNoYWRlciBmdW5jdGlvbi4KKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTM5NgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IH0KKyNlbmRpZgogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgZmlsdGVyVmFsdWUgPSBX
ZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6Y3JlYXRlKFdlYktpdENTU0ZpbHRlclZhbHVlOjpVbmtub3du
RmlsdGVyT3BlcmF0aW9uKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmNwcAppbmRleCBhOTlkYzgyOTgwZjUzYjFlMTVlMDcyYzhlMTg5YTg4YzdhMjBmMjFmLi45ZjNl
YTg4OTU3MTI5NGJmMzc3YWU1MTA3ZmNiYTBlOTEwNTNjMTVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmNwcApAQCAtODEsNiArODEsOSBAQAogI2luY2x1ZGUgIldlYktpdENTU0tleWZyYW1lUnVs
ZS5oIgogI2luY2x1ZGUgIldlYktpdENTU0tleWZyYW1lc1J1bGUuaCIKICNpbmNsdWRlICJXZWJL
aXRDU1NUcmFuc2Zvcm1WYWx1ZS5oIgorI2lmIEVOQUJMRShDU1NfU0hBREVSUykKKyNpbmNsdWRl
ICJXZWJLaXRDU1NTaGFkZXJWYWx1ZS5oIgorI2VuZGlmCiAjaW5jbHVkZSA8bGltaXRzLmg+CiAj
aW5jbHVkZSA8d3RmL0hleE51bWJlci5oPgogI2luY2x1ZGUgPHd0Zi9kdG9hLmg+CkBAIC02NDg4
LDcgKzY0OTEsMTUyIEBAIHN0YXRpYyB2b2lkIGZpbHRlckluZm9Gb3JOYW1lKGNvbnN0IENTU1Bh
cnNlclN0cmluZyYgbmFtZSwgV2ViS2l0Q1NTRmlsdGVyVmFsdWU6CiAgICAgICAgIGZpbHRlclR5
cGUgPSBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6U2hhcnBlbkZpbHRlck9wZXJhdGlvbjsKICAgICAg
ICAgbWF4aW11bUFyZ3VtZW50Q291bnQgPSAzOwogICAgIH0KKyNpZiBFTkFCTEUoQ1NTX1NIQURF
UlMpCisgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgImN1c3RvbSgiKSkKKyAg
ICAgICAgZmlsdGVyVHlwZSA9IFdlYktpdENTU0ZpbHRlclZhbHVlOjpDdXN0b21GaWx0ZXJPcGVy
YXRpb247CisjZW5kaWYKK30KKworI2lmIEVOQUJMRShDU1NfU0hBREVSUykKK3N0YXRpYyBib29s
IGFjY2VwdENvbW1hT3BlcmF0b3IoQ1NTUGFyc2VyVmFsdWVMaXN0KiBhcmdzTGlzdCkKK3sKKyAg
ICBpZiAoQ1NTUGFyc2VyVmFsdWUqIGFyZyA9IGFyZ3NMaXN0LT5jdXJyZW50KCkpIHsKKyAgICAg
ICAgaWYgKGFyZy0+dW5pdCAhPSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3IgfHwgYXJnLT5pVmFs
dWUgIT0gJywnKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBhcmdzTGlzdC0+
bmV4dCgpOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30KKworUGFzc1JlZlB0cjxXZWJLaXRD
U1NGaWx0ZXJWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZUN1c3RvbUZpbHRlcihDU1NQYXJzZXJWYWx1
ZSogdmFsdWUpCit7CisgICAgQ1NTUGFyc2VyVmFsdWVMaXN0KiBhcmdzTGlzdCA9IHZhbHVlLT5m
dW5jdGlvbi0+YXJncy5nZXQoKTsKKyAgICBpZiAoIWFyZ3NMaXN0KQorICAgICAgICByZXR1cm4g
MDsKKworICAgIFJlZlB0cjxXZWJLaXRDU1NGaWx0ZXJWYWx1ZT4gZmlsdGVyVmFsdWUgPSBXZWJL
aXRDU1NGaWx0ZXJWYWx1ZTo6Y3JlYXRlKFdlYktpdENTU0ZpbHRlclZhbHVlOjpDdXN0b21GaWx0
ZXJPcGVyYXRpb24pOworCisgICAgLy8gQ3VzdG9tIGZpbHRlciBzeW50YXg6CisgICAgLy8KKyAg
ICAvLyB2ZXJ0ZXhTaGFkZXI6ICAgIDx1cmk+IHwgbm9uZQorICAgIC8vIGZyYWdtZW50U2hhZGVy
OiAgPHVyaT4gfCBub25lCisgICAgLy8KKyAgICAvLyBib3g6IGZpbHRlci1ib3ggfCBib3JkZXIt
Ym94IHwgcGFkZGluZy1ib3ggfCBjb250ZW50LWJveAorICAgIC8vIHZlcnRleE1lc2g6ICArPGlu
dGVnZXI+ezEsMn1bd3NwPGJveD5dW3dzcCdkZXRhY2hlZCddCisgICAgLy8KKyAgICAvLyBwYXJh
bS12YWx1ZTogdHJ1ZXxmYWxzZVt3c3ArdHJ1ZXxmYWxzZV17MC0zfSB8CisgICAgLy8gICAgICAg
ICAgICAgIDxudW1iZXI+W3dzcCs8bnVtYmVyPl17MC0zfSB8CisgICAgLy8gICAgICAgICAgICAg
IDxhcnJheT4gfAorICAgIC8vICAgICAgICAgICAgICA8dHJhbnNmb3JtPiB8CisgICAgLy8gICAg
ICAgICAgICAgIDx0ZXh0dXJlKDx1cmk+KT4KKyAgICAvLyBhcnJheTogJ2FycmF5KCc8bnVtYmVy
Plt3c3A8bnVtYmVyPl0qJyknCisgICAgLy8gY3NzLTNkLXRyYW5zZm9ybTogPHRyYW5zZm9ybS1m
dW5jdGlvbj47Wzx0cmFuc2Zvcm0tZnVuY3Rpb24+XSoKKyAgICAvLyB0cmFuc2Zvcm06ICAgPGNz
cy0zZC10cmFuc2Zvcm0+IHwgPG1hdD4KKyAgICAvLyBtYXQ6ICAgICAgICAgJ21hdDIoJzxudW1i
ZXI+KCw8bnVtYmVyPil7M30nKScgfCAKKyAgICAvLyAgICAgICAgICAgICAgJ21hdDMoJzxudW1i
ZXI+KCw8bnVtYmVyPil7OH0nKScgfCAKKyAgICAvLyAgICAgICAgICAgICAgJ21hdDQoJzxudW1i
ZXI+KCw8bnVtYmVyPil7MTV9JyknICkKKyAgICAvLyBwYXJhbS1kZWY6ICAgPHBhcmFtLW5hbWU+
d3NwPHBhcmFtLXZhbHVlPgorICAgIC8vIHBhcmFtLW5hbWU6ICA8aWRlbnQ+CisgICAgLy8gcGFy
YW1zOiAgICAgIFs8cGFyYW0tZGVmPlssPHBhcmFtLWRlZj4qXV0KKyAgICAvLworICAgIC8vIGN1
c3RvbSg8dmVydGV4LXNoYWRlcj5bd3NwPGZyYWdtZW50LXNoYWRlcj5dWyw8dmVydGV4LW1lc2g+
XVssPHBhcmFtcz5dKQorICAgIAorICAgIC8vIDEuIFBhcnNlIHRoZSBzaGFkZXIgVVJMczogPHZl
cnRleC1zaGFkZXI+W3dzcDxmcmFnbWVudC1zaGFkZXI+XQorICAgIFJlZlB0cjxDU1NWYWx1ZUxp
c3Q+IHNoYWRlcnNMaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOwor
ICAgIGJvb2wgaGFkQXRMZWFzdE9uZUN1c3RvbVNoYWRlciA9IGZhbHNlOworICAgIENTU1BhcnNl
clZhbHVlKiBhcmc7CisgICAgd2hpbGUgKChhcmcgPSBhcmdzTGlzdC0+Y3VycmVudCgpKSkgewor
ICAgICAgICBSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlOworICAgICAgICBpZiAoYXJnLT5pZCA9PSBD
U1NWYWx1ZU5vbmUpCisgICAgICAgICAgICB2YWx1ZSA9IHByaW1pdGl2ZVZhbHVlQ2FjaGUoKS0+
Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSk7CisgICAgICAgIGVsc2UgaWYgKGFy
Zy0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1VSSSkgeworICAgICAgICAgICAgS1VS
TCBzaGFkZXJVUkwgPSBtX3N0eWxlU2hlZXQgPyBtX3N0eWxlU2hlZXQtPmNvbXBsZXRlVVJMKGFy
Zy0+c3RyaW5nKSA6IEtVUkwoKTsKKyAgICAgICAgICAgIHZhbHVlID0gV2ViS2l0Q1NTU2hhZGVy
VmFsdWU6OmNyZWF0ZShzaGFkZXJVUkwuc3RyaW5nKCkpOworICAgICAgICAgICAgaGFkQXRMZWFz
dE9uZUN1c3RvbVNoYWRlciA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCF2YWx1ZSkK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBzaGFkZXJzTGlzdC0+YXBwZW5kKHZhbHVlLnJl
bGVhc2UoKSk7CisgICAgICAgIGFyZ3NMaXN0LT5uZXh0KCk7CisgICAgfQorCisgICAgaWYgKCFz
aGFkZXJzTGlzdC0+bGVuZ3RoKCkgfHwgIWhhZEF0TGVhc3RPbmVDdXN0b21TaGFkZXIgfHwgc2hh
ZGVyc0xpc3QtPmxlbmd0aCgpID4gMiB8fCAhYWNjZXB0Q29tbWFPcGVyYXRvcihhcmdzTGlzdCkp
CisgICAgICAgIHJldHVybiAwOworICAgICAgICAKKyAgICBmaWx0ZXJWYWx1ZS0+YXBwZW5kKHNo
YWRlcnNMaXN0LnJlbGVhc2UoKSk7CisgICAgCisgICAgLy8gMi4gUGFyc2UgdGhlIG1lc2ggc2l6
ZSA8dmVydGV4LW1lc2g+CisgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gbWVzaFNpemVMaXN0ID0g
Q1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOworICAgIAorICAgIHdoaWxlICgo
YXJnID0gYXJnc0xpc3QtPmN1cnJlbnQoKSkpIHsKKyAgICAgICAgaWYgKCF2YWxpZFVuaXQoYXJn
LCBGSW50ZWdlciB8IEZOb25OZWcsIHRydWUpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IG1lc2hTaXplTGlzdC0+YXBwZW5kKHByaW1pdGl2ZVZhbHVlQ2FjaGUoKS0+Y3JlYXRlVmFsdWUo
Y2xhbXBUb0ludGVnZXIoYXJnLT5mVmFsdWUpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJF
UikpOworICAgICAgICBhcmdzTGlzdC0+bmV4dCgpOworICAgIH0KKyAgICAKKyAgICBpZiAobWVz
aFNpemVMaXN0LT5sZW5ndGgoKSA+IDIpCisgICAgICAgIHJldHVybiAwOworICAgIAorICAgIGlm
ICgoYXJnID0gYXJnc0xpc3QtPmN1cnJlbnQoKSkgJiYgKGFyZy0+aWQgPT0gQ1NTVmFsdWVCb3Jk
ZXJCb3ggfHwgYXJnLT5pZCA9PSBDU1NWYWx1ZVBhZGRpbmdCb3gKKyAgICAgICAgfHwgYXJnLT5p
ZCA9PSBDU1NWYWx1ZUNvbnRlbnRCb3ggfHwgYXJnLT5pZCA9PSBDU1NWYWx1ZUZpbHRlckJveCkp
IHsKKyAgICAgICAgbWVzaFNpemVMaXN0LT5hcHBlbmQocHJpbWl0aXZlVmFsdWVDYWNoZSgpLT5j
cmVhdGVJZGVudGlmaWVyVmFsdWUoYXJnLT5pZCkpOworICAgICAgICBhcmdzTGlzdC0+bmV4dCgp
OworICAgIH0KKyAgICAKKyAgICBpZiAoKGFyZyA9IGFyZ3NMaXN0LT5jdXJyZW50KCkpICYmIGFy
Zy0+aWQgPT0gQ1NTVmFsdWVEZXRhY2hlZCkgeworICAgICAgICBtZXNoU2l6ZUxpc3QtPmFwcGVu
ZChwcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShhcmctPmlkKSk7
CisgICAgICAgIGFyZ3NMaXN0LT5uZXh0KCk7CisgICAgfQorICAgIAorICAgIGlmIChtZXNoU2l6
ZUxpc3QtPmxlbmd0aCgpKSB7CisgICAgICAgIGlmICghYWNjZXB0Q29tbWFPcGVyYXRvcihhcmdz
TGlzdCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgZmlsdGVyVmFsdWUtPmFwcGVu
ZChtZXNoU2l6ZUxpc3QucmVsZWFzZSgpKTsKKyAgICB9CisgICAgCisgICAgLy8gMy4gUGFyc2Vy
IHRoZSBwYXJhbWV0ZXJzLgorICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IHBhcmFtTGlzdCA9IENT
U1ZhbHVlTGlzdDo6Y3JlYXRlQ29tbWFTZXBhcmF0ZWQoKTsKKyAgICAKKyAgICB3aGlsZSAoKGFy
ZyA9IGFyZ3NMaXN0LT5jdXJyZW50KCkpKSB7CisgICAgICAgIGlmIChhcmctPmlkIHx8IGFyZy0+
dW5pdCAhPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lERU5UKQorICAgICAgICAgICAgYnJlYWs7
CisKKyAgICAgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gcGFyYW1ldGVyID0gQ1NTVmFsdWVMaXN0
OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOworICAgICAgICBwYXJhbWV0ZXItPmFwcGVuZChjcmVh
dGVQcmltaXRpdmVTdHJpbmdWYWx1ZShhcmcpKTsKKyAgICAgICAgYXJnc0xpc3QtPm5leHQoKTsK
KworICAgICAgICBpZiAoIShhcmcgPSBhcmdzTGlzdC0+Y3VycmVudCgpKSkKKyAgICAgICAgICAg
IHJldHVybiAwOworCisgICAgICAgIC8vIFRPRE86IEltcGxlbWVudCBvdGhlciBwYXJhbWV0ZXJz
IHR5cGVzIHBhcnNpbmcuCisgICAgICAgIC8vIHRleHR1cmVzOiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0NDIKKyAgICAgICAgLy8gM2QtdHJhbnNmb3JtczogaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDQzCisgICAgICAgIC8vIG1h
dDIsIG1hdDMsIG1hdDQ6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MTQ0NAorICAgICAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBwYXJhbVZhbHVlTGlzdCA9IENTU1Zh
bHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICAgICAgd2hpbGUgKChhcmcgPSBh
cmdzTGlzdC0+Y3VycmVudCgpKSkgeworICAgICAgICAgICAgLy8gSWYgd2UgaGl0IGEgY29tbWEg
aXQgbWVhbnMgd2UgZmluaXNoZWQgdGhpcyBwYXJhbWV0ZXIncyB2YWx1ZXMuCisgICAgICAgICAg
ICBpZiAoYXJnLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvciAmJiBhcmctPmlWYWx1
ZSA9PSAnLCcpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBpZiAoIXZhbGlk
VW5pdChhcmcsIEZOdW1iZXIsIHRydWUpKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAg
ICAgICAgICAgcGFyYW1WYWx1ZUxpc3QtPmFwcGVuZChwcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNy
ZWF0ZVZhbHVlKGFyZy0+ZlZhbHVlLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUikpOwor
ICAgICAgICAgICAgYXJnc0xpc3QtPm5leHQoKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoIXBh
cmFtVmFsdWVMaXN0LT5sZW5ndGgoKSB8fCBwYXJhbVZhbHVlTGlzdC0+bGVuZ3RoKCkgPiA0KQor
ICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHBhcmFtZXRlci0+YXBwZW5kKHBhcmFtVmFs
dWVMaXN0LnJlbGVhc2UoKSk7CisgICAgICAgIHBhcmFtTGlzdC0+YXBwZW5kKHBhcmFtZXRlci5y
ZWxlYXNlKCkpOworICAgICAgICBpZiAoIWFjY2VwdENvbW1hT3BlcmF0b3IoYXJnc0xpc3QpKQor
ICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIAorICAgIGlmIChwYXJhbUxpc3QtPmxl
bmd0aCgpKQorICAgICAgICBmaWx0ZXJWYWx1ZS0+YXBwZW5kKHBhcmFtTGlzdC5yZWxlYXNlKCkp
OworICAgIAorICAgIHJldHVybiBmaWx0ZXJWYWx1ZTsKIH0KKyNlbmRpZgogCiBib29sIENTU1Bh
cnNlcjo6aXNWYWxpZEZpbHRlckFyZ3VtZW50KENTU1BhcnNlclZhbHVlKiBhcmd1bWVudCwgV2Vi
S2l0Q1NTRmlsdGVyVmFsdWU6OkZpbHRlck9wZXJhdGlvblR5cGUmIGZpbHRlclR5cGUsIHVuc2ln
bmVkIGFyZ3VtZW50Q291bnQpCiB7CkBAIC02NTY1LDYgKzY3MTMsMTYgQEAgUGFzc1JlZlB0cjxD
U1NWYWx1ZUxpc3Q+IENTU1BhcnNlcjo6cGFyc2VGaWx0ZXIoKQogICAgICAgICAgICAgaWYgKGZp
bHRlclR5cGUgPT0gV2ViS2l0Q1NTRmlsdGVyVmFsdWU6OlVua25vd25GaWx0ZXJPcGVyYXRpb24p
CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAKKyNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisg
ICAgICAgICAgICBpZiAoZmlsdGVyVHlwZSA9PSBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6Q3VzdG9t
RmlsdGVyT3BlcmF0aW9uKSB7CisgICAgICAgICAgICAgICAgUmVmUHRyPFdlYktpdENTU0ZpbHRl
clZhbHVlPiBmaWx0ZXJWYWx1ZSA9IHBhcnNlQ3VzdG9tRmlsdGVyKHZhbHVlKTsKKyAgICAgICAg
ICAgICAgICBpZiAoIWZpbHRlclZhbHVlKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsK
KyAgICAgICAgICAgICAgICBsaXN0LT5hcHBlbmQoZmlsdGVyVmFsdWUucmVsZWFzZSgpKTsKKyAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKyNlbmRpZgorCiAgICAgICAg
ICAgICBDU1NQYXJzZXJWYWx1ZUxpc3QqIGFyZ3MgPSB2YWx1ZS0+ZnVuY3Rpb24tPmFyZ3MuZ2V0
KCk7CiAgICAgICAgICAgICBpZiAoIWFyZ3MgfHwgYXJncy0+c2l6ZSgpID4gbWF4aW11bUFyZ3Vt
ZW50Q291bnQpCiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgK
aW5kZXggYjEyZThjOTIxODdmNWEwMTU0MmFhYjliMDcyZGQwYTg4ZTc0ZDFkMy4uMTM1MzExYjVj
NjBkZTQ3M2ZmOWJmYmU1ZGQxODY5NGIyNWY5MGVmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApA
QCAtMTkwLDYgKzE5MCw5IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiAgICAg
Ym9vbCBpc1ZhbGlkRmlsdGVyQXJndW1lbnQoQ1NTUGFyc2VyVmFsdWUqIGFyZ3VtZW50LCBXZWJL
aXRDU1NGaWx0ZXJWYWx1ZTo6RmlsdGVyT3BlcmF0aW9uVHlwZSYsIHVuc2lnbmVkIGFyZ3VtZW50
Q291bnQpOwogICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWVMaXN0PiBwYXJzZUZpbHRlcigpOworI2lm
IEVOQUJMRShDU1NfU0hBREVSUykKKyAgICBQYXNzUmVmUHRyPFdlYktpdENTU0ZpbHRlclZhbHVl
PiBwYXJzZUN1c3RvbUZpbHRlcihDU1NQYXJzZXJWYWx1ZSopOworI2VuZGlmCiAjZW5kaWYKIAog
ICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWVMaXN0PiBwYXJzZVRyYW5zZm9ybSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCmluZGV4IGUxZTc3YTUwMDZmYjFiMWJjYjQ1YTBl
OGQ5ZjBlNGNjYjZlZWQ4NDEuLmRiYTgzNzVjMDg4YmYyZWE2OTcwMTQwMDAyNzM0MWZlYWRhODUz
OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTUzODIsNiAr
NTM4MiwxMCBAQCBzdGF0aWMgRmlsdGVyT3BlcmF0aW9uOjpPcGVyYXRpb25UeXBlIGZpbHRlck9w
ZXJhdGlvbkZvclR5cGUoV2ViS2l0Q1NTRmlsdGVyVmFsdQogICAgICAgICByZXR1cm4gRmlsdGVy
T3BlcmF0aW9uOjpTSEFSUEVOOwogICAgIGNhc2UgV2ViS2l0Q1NTRmlsdGVyVmFsdWU6OkRyb3BT
aGFkb3dGaWx0ZXJPcGVyYXRpb246CiAgICAgICAgIHJldHVybiBGaWx0ZXJPcGVyYXRpb246OkRS
T1BfU0hBRE9XOworI2lmIEVOQUJMRShDU1NfU0hBREVSUykKKyAgICBjYXNlIFdlYktpdENTU0Zp
bHRlclZhbHVlOjpDdXN0b21GaWx0ZXJPcGVyYXRpb246CisgICAgICAgIHJldHVybiBGaWx0ZXJP
cGVyYXRpb246OkNVU1RPTTsKKyNlbmRpZgogICAgIGNhc2UgV2ViS2l0Q1NTRmlsdGVyVmFsdWU6
OlVua25vd25GaWx0ZXJPcGVyYXRpb246CiAgICAgICAgIHJldHVybiBGaWx0ZXJPcGVyYXRpb246
Ok5PTkU7CiAgICAgfQpAQCAtNTQwNSw2ICs1NDA5LDE0IEBAIGJvb2wgQ1NTU3R5bGVTZWxlY3Rv
cjo6Y3JlYXRlRmlsdGVyT3BlcmF0aW9ucyhDU1NWYWx1ZSogaW5WYWx1ZSwgUmVuZGVyU3R5bGUq
IHN0CiAgICAgICAgIFdlYktpdENTU0ZpbHRlclZhbHVlKiBmaWx0ZXJWYWx1ZSA9IHN0YXRpY19j
YXN0PFdlYktpdENTU0ZpbHRlclZhbHVlKj4oaS52YWx1ZSgpKTsKICAgICAgICAgRmlsdGVyT3Bl
cmF0aW9uOjpPcGVyYXRpb25UeXBlIG9wZXJhdGlvblR5cGUgPSBmaWx0ZXJPcGVyYXRpb25Gb3JU
eXBlKGZpbHRlclZhbHVlLT5vcGVyYXRpb25UeXBlKCkpOwogCisjaWYgRU5BQkxFKENTU19TSEFE
RVJTKQorICAgICAgICBpZiAob3BlcmF0aW9uVHlwZSA9PSBGaWx0ZXJPcGVyYXRpb246OkNVU1RP
TSkgeworICAgICAgICAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGUgZmlsdGVyIG9wZXJhdGlv
biBmb3IgdGhlIGN1c3RvbSBzaGFkZXIuCisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0NDYKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICB9CisjZW5kaWYKKwogICAgICAgICBib29sIGhhdmVOb25QcmltaXRpdmVWYWx1ZSA9IGZh
bHNlOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAwOyBqIDwgZmlsdGVyVmFsdWUtPmxlbmd0
aCgpOyArK2opIHsKICAgICAgICAgICAgIGlmICghZmlsdGVyVmFsdWUtPml0ZW1XaXRob3V0Qm91
bmRzQ2hlY2soaiktPmlzUHJpbWl0aXZlVmFsdWUoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAppbmRl
eCBmNzJlODM4ZjFiMzdkMzRiNWQwMjBhOTFmM2NmOTcyYmVmZDA3MTU3Li5jMTk1ZTNkOTEwNzg2
NjJlMzg3NzdjNzRiNDZiYTY0MmNhODQ5MGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApAQCAtNzQs
NyArNzQsMTAgQEAgcHVibGljOgogI2VuZGlmCiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQogICAg
IGJvb2wgaXNXZWJLaXRDU1NGaWx0ZXJWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBl
ID09IFdlYktpdENTU0ZpbHRlckNsYXNzOyB9CisjaWYgRU5BQkxFKENTU19TSEFERVJTKQorICAg
IGJvb2wgaXNXZWJLaXRDU1NTaGFkZXJWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBl
ID09IFdlYktpdENTU1NoYWRlckNsYXNzOyB9CiAjZW5kaWYKKyNlbmRpZiAvLyBFTkFCTEUoQ1NT
X0ZJTFRFUlMpCiAjaWYgRU5BQkxFKFNWRykKICAgICBib29sIGlzU1ZHQ29sb3IoKSBjb25zdCB7
IHJldHVybiBtX2NsYXNzVHlwZSA9PSBTVkdDb2xvckNsYXNzIHx8IG1fY2xhc3NUeXBlID09IFNW
R1BhaW50Q2xhc3M7IH0KICAgICBib29sIGlzU1ZHUGFpbnQoKSBjb25zdCB7IHJldHVybiBtX2Ns
YXNzVHlwZSA9PSBTVkdQYWludENsYXNzOyB9CkBAIC0xMTcsNyArMTIwLDEwIEBAIHByb3RlY3Rl
ZDoKICNlbmRpZgogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAgICAgICAgV2ViS2l0Q1NTRmls
dGVyQ2xhc3MsCisjaWYgRU5BQkxFKENTU19TSEFERVJTKQorICAgICAgICBXZWJLaXRDU1NTaGFk
ZXJDbGFzcywKICNlbmRpZgorI2VuZGlmIC8vIEVOQUJMRShDU1NfRklMVEVSUykKICNpZiBFTkFC
TEUoU1ZHKQogICAgICAgICBTVkdDb2xvckNsYXNzLAogICAgICAgICBTVkdQYWludENsYXNzLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCA1YjAzMDllMzU5ODhmYmM3
YTRlZGY3ZjA1Y2YxNjVmNGI4Y2IxMzMyLi5lNjZjMWRkNjNiOGU5OWY0NzVkN2NkY2Y3ZjY1YjVk
NWZlNTE4OTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAtODQ3
LDMgKzg0NywxNSBAQCBldmVub2RkCiAvLyAtd2Via2l0LXJlZ2lvbi1vdmVyZmxvdwogLy8gYXV0
bwogYnJlYWsKKworI2lmIGRlZmluZWQoRU5BQkxFX0NTU19GSUxURVJTKSAmJiBFTkFCTEVfQ1NT
X0ZJTFRFUlMKKy8vIC13ZWJraXQtZmlsdGVyCisjaWYgZGVmaW5lZChFTkFCTEVfQ1NTX1NIQURF
UlMpICYmIEVOQUJMRV9DU1NfU0hBREVSUworLy8gdmFsdWVzIGZvciB0aGUgY3VzdG9tKCkgZnVu
Y3Rpb24KKy8vIGJvcmRlci1ib3gKKy8vIHBhZGRpbmctYm94CisvLyBjb250ZW50LWJveAorZmls
dGVyLWJveAorZGV0YWNoZWQKKyNlbmRpZiAvLyBDU1NfU0hBREVSUworI2VuZGlmIC8vIENTU19G
SUxURVJTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNwcAppbmRl
eCAxMDUwMDVlNmY1MzlmNjQ5YmQ1NTkyYTI4ZjQ4ZjNhZGNmZmRmMGM3Li5mMTI2OGIyMTIyMjFm
NTNiMTgxMjVjYzE0Yzg5MWZjNjc5MjMwMDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJL
aXRDU1NGaWx0ZXJWYWx1ZS5jcHAKQEAgLTM1LDExICszNSwyMCBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6V2ViS2l0Q1NTRmlsdGVyVmFsdWUoRmlsdGVy
T3BlcmF0aW9uVHlwZSBvcGVyYXRpb25UeXBlKQotICAgIDogQ1NTVmFsdWVMaXN0KFdlYktpdENT
U0ZpbHRlckNsYXNzLCB0cnVlKQorICAgIDogQ1NTVmFsdWVMaXN0KFdlYktpdENTU0ZpbHRlckNs
YXNzLCB0eXBlVXNlc1NwYWNlU2VwYXJhdG9yKG9wZXJhdGlvblR5cGUpKQogICAgICwgbV90eXBl
KG9wZXJhdGlvblR5cGUpCiB7CiB9CiAKK2Jvb2wgV2ViS2l0Q1NTRmlsdGVyVmFsdWU6OnR5cGVV
c2VzU3BhY2VTZXBhcmF0b3IoRmlsdGVyT3BlcmF0aW9uVHlwZSBvcGVyYXRpb25UeXBlKQorewor
I2lmIEVOQUJMRShDU1NfU0hBREVSUykKKyAgICByZXR1cm4gb3BlcmF0aW9uVHlwZSAhPSBDdXN0
b21GaWx0ZXJPcGVyYXRpb247CisjZWxzZQorICAgIHJldHVybiB0cnVlOworI2VuZGlmCit9CisK
IFdlYktpdENTU0ZpbHRlclZhbHVlOjp+V2ViS2l0Q1NTRmlsdGVyVmFsdWUoKQogewogfQpAQCAt
ODEsNiArOTAsMTEgQEAgU3RyaW5nIFdlYktpdENTU0ZpbHRlclZhbHVlOjpjc3NUZXh0KCkgY29u
c3QKICAgICBjYXNlIERyb3BTaGFkb3dGaWx0ZXJPcGVyYXRpb246CiAgICAgICAgIHJlc3VsdCA9
ICJkcm9wLXNoYWRvdygiOwogICAgICAgICBicmVhazsKKyNpZiBFTkFCTEUoQ1NTX1NIQURFUlMp
CisgICAgY2FzZSBDdXN0b21GaWx0ZXJPcGVyYXRpb246CisgICAgICAgIHJlc3VsdCA9ICJjdXN0
b20oIjsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICBicmVh
azsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVy
VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5oCmluZGV4
IDQ4ZjFhN2M4ZjA3OTJkNDQ0MjRlMTI2OWFjNGIwNGVlMjY3Y2U0YmYuLjI5NTNlZTc3ZDM2MTMy
MGU1MDI1Nzc0MDAxODg5ODQxYjI0ZTVhZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRD
U1NGaWx0ZXJWYWx1ZS5oCkBAIC01MCw4ICs1MCwxMyBAQCBwdWJsaWM6CiAgICAgICAgIEJsdXJG
aWx0ZXJPcGVyYXRpb24sCiAgICAgICAgIFNoYXJwZW5GaWx0ZXJPcGVyYXRpb24sCiAgICAgICAg
IERyb3BTaGFkb3dGaWx0ZXJPcGVyYXRpb24KKyNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisgICAg
ICAgICwgQ3VzdG9tRmlsdGVyT3BlcmF0aW9uCisjZW5kaWYKICAgICB9OwogCisgICAgc3RhdGlj
IGJvb2wgdHlwZVVzZXNTcGFjZVNlcGFyYXRvcihGaWx0ZXJPcGVyYXRpb25UeXBlKTsKKwogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFdlYktpdENTU0ZpbHRlclZhbHVlPiBjcmVhdGUoRmlsdGVyT3Bl
cmF0aW9uVHlwZSB0eXBlKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJL
aXRDU1NGaWx0ZXJWYWx1ZSh0eXBlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTRmlsdGVyVmFsdWUuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0Zp
bHRlclZhbHVlLmlkbAppbmRleCBhYzk5YWE2Nzk0Y2JlZmM0MmU1ZmYyMTM0ODhmYjBlNDg2Y2Yy
MWZlLi5iNDhmZWMyNzYzYTI5ZDljM2JiZTkyN2JhNmUzNzgwZThlNDE2MjVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5pZGwKQEAgLTQ1LDYgKzQ1LDEwIEBA
IG1vZHVsZSBjc3MgewogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBDU1NfRklMVEVSX1NI
QVJQRU4gPSAxMDsKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQ1NTX0ZJTFRFUl9EUk9Q
X1NIQURPVyA9IDExOwogCisjaWYgZGVmaW5lZChFTkFCTEVfQ1NTX1NIQURFUlMpICYmIEVOQUJM
RV9DU1NfU0hBREVSUworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBDU1NfRklMVEVSX0NV
U1RPTSA9IDEyOworI2VuZGlmCisKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IHNob3J0IG9wZXJhdGlvblR5cGU7CiAgICAgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktp
dENTU1NoYWRlclZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDkwZjNlMjJjYjM5OTUxOGQ1OTJmOTJmYzRl
YjJiMzFjZTA0NWQ3YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJL
aXRDU1NTaGFkZXJWYWx1ZS5oCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAx
MSBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwor
ICogICAgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBXZWJLaXRDU1NTaGFkZXJWYWx1ZV9oCisjZGVmaW5lIFdlYktpdENT
U1NoYWRlclZhbHVlX2gKKworI2lmIEVOQUJMRShDU1NfU0hBREVSUykKKworI2luY2x1ZGUgIkNT
U1ByaW1pdGl2ZVZhbHVlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViS2l0
Q1NTU2hhZGVyVmFsdWUgOiBwdWJsaWMgQ1NTUHJpbWl0aXZlVmFsdWUgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYktpdENT
U1NoYWRlclZhbHVlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1cmwpIHsgcmV0dXJuIGFkb3B0UmVm
KG5ldyBXZWJLaXRDU1NTaGFkZXJWYWx1ZSh1cmwpKTsgfQorICAgIAorcHJvdGVjdGVkOgorICAg
IFdlYktpdENTU1NoYWRlclZhbHVlKGNvbnN0IFN0cmluZyYgdXJsKQorICAgICAgICA6IENTU1By
aW1pdGl2ZVZhbHVlKFdlYktpdENTU1NoYWRlckNsYXNzLCB1cmwsIENTU19VUkkpCisgICAgewor
ICAgIH0KKworcHJpdmF0ZToKKyAgICB2aXJ0dWFsIGJvb2wgaXNXZWJLaXRTaGFkZXJWYWx1ZSgp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShDU1NfU0hBREVSUykKKworI2VuZGlmIC8vIFdlYktpdENTU1NoYWRl
clZhbHVlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRmlsdGVyT3BlcmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbi5oCmluZGV4IGU4NjJlODQwNWE1ZTFiYTFhYTIwMzll
ZjFjOGQ4NjBiMzU3Nzk3ZGMuLmFmMjQxZjliNzM3MGZiOTBkZWE2ZWFlZDEwMWYwODMyYTI5ODc1
NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RmlsdGVyT3BlcmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GaWx0ZXJPcGVyYXRpb24uaApAQCAtNTMsNiArNTMsOSBAQCBwdWJsaWM6CiAgICAg
ICAgIEJMVVIsCiAgICAgICAgIFNIQVJQRU4sCiAgICAgICAgIERST1BfU0hBRE9XLAorI2lmIEVO
QUJMRShDU1NfU0hBREVSUykKKyAgICAgICAgQ1VTVE9NLAorI2VuZGlmCiAgICAgICAgIE5PTkUK
ICAgICB9OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggZmU0YTEzODY5OWJkZjQ4ODhiYmEyNTAwNGZiMDFiNDVmMGMwNmQ2
MC4uZTM0MjVjZjFhMGFiYTI0YWMyNTM2NjlkODkwNTc5ZjI5YTcyMWIzZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIxIEBACisyMDExLTExLTA4ICBBbGV4YW5kcnUgQ2hpY3VsaXRhICA8YWNoaWN1QGFkb2Jl
LmNvbT4KKworICAgICAgICBbUGFydCAxXSBQYXJzZSB0aGUgY3VzdG9tKCkgZnVuY3Rpb24gaW4g
LXdlYmtpdC1maWx0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcxNDQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAg
ICAgICogY3NzMy9maWx0ZXJzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2luZy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9jdXN0b20tZmlsdGVyLXByb3Bl
cnR5LXBhcnNpbmctaW52YWxpZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMv
ZmlsdGVycy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctaW52YWxpZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5n
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvY3VzdG9t
LWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFsaWQuanM6IEFkZGVkLgorICAgICAgICAodGVz
dEludmFsaWRGaWx0ZXJSdWxlKToKKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvc2NyaXB0LXRlc3Rz
L2N1c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2luZy5qczogQWRkZWQuCisgICAgICAgIChqc1dy
YXBwZXJDbGFzcyk6CisgICAgICAgIChleHByZXNzaW9uKToKKyAgICAgICAgKGRlc2NyaXB0aW9u
KToKKwogMjAxMS0xMS0wOCAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNv
bT4KIAogICAgICAgICBTd2l0Y2ggU1ZHSW1hZ2UgY2FjaGUgdG8gc3RvcmUgSW1hZ2VCdWZmZXJz
IGluc3RlYWQgb2Ygd2hvbGUgU1ZHSW1hZ2VzLCBpbmNsdWRpbmcgYSBET00vUmVuZGVyIHRyZWUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20tZmlsdGVyLXByb3Bl
cnR5LXBhcnNpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3Rv
bS1maWx0ZXItcHJvcGVydHktcGFyc2luZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDkxYTE3
ZDc2YTlmNzYxOThhYjU0NjZjNmVhMjFmMGJjMzk2ZDg1ZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTM0IEBACitUZXN0IHRoZSBwYXJzaW5nIG9mIHRoZSBjdXN0
b20oKSBmdW5jdGlvbiBvZiB0aGUgLXdlYmtpdC1maWx0ZXIgcHJvcGVydHkuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCisKK0N1c3RvbSB3aXRoIHZlcnRleCBzaGFkZXIgOiBjdXN0
b20odXJsKHZlcnRleC5zaGFkZXIpKQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNs
YXJhdGlvbi5sZW5ndGggaXMgMQorUEFTUyByZW1vdmVCYXNlVVJMKGRlY2xhcmF0aW9uLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykpIGlzICdjdXN0b20odXJsKHZlcnRleC5zaGFk
ZXIpKScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZSkgaXMgJ0NTU1ZhbHVlTGlzdCcK
K1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5fX3Byb3RvX18pIGlzICdDU1NWYWx1ZUxp
c3RQcm90b3R5cGUnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuY29uc3RydWN0b3Ip
IGlzICdDU1NWYWx1ZUxpc3RDb25zdHJ1Y3RvcicKK1BBU1MgZmlsdGVyUnVsZS5sZW5ndGggaXMg
MQorUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NT
X0ZJTFRFUl9DVVNUT00KK1BBU1MgcmVtb3ZlQmFzZVVSTChzdWJSdWxlLmNzc1RleHQpIGlzICdj
dXN0b20odXJsKHZlcnRleC5zaGFkZXIpKScKKworQ3VzdG9tIHdpdGggZnJhZ21lbnQgc2hhZGVy
IDogY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlcikpCitQQVNTIGNzc1J1bGUudHlwZSBp
cyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAxCitQQVNTIHJlbW92ZUJhc2VVUkwoZGVj
bGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSkgaXMgJ2N1c3RvbShu
b25lIHVybChmcmFnbWVudC5zaGFkZXIpKScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVs
ZSkgaXMgJ0NTU1ZhbHVlTGlzdCcKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5fX3By
b3RvX18pIGlzICdDU1NWYWx1ZUxpc3RQcm90b3R5cGUnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZp
bHRlclJ1bGUuY29uc3RydWN0b3IpIGlzICdDU1NWYWx1ZUxpc3RDb25zdHJ1Y3RvcicKK1BBU1Mg
ZmlsdGVyUnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2Vi
S2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNUT00KK1BBU1MgcmVtb3ZlQmFzZVVSTChz
dWJSdWxlLmNzc1RleHQpIGlzICdjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSknCisK
K0N1c3RvbSB3aXRoIGJvdGggc2hhZGVycyA6IGN1c3RvbSh1cmwodmVydGV4LnNoYWRlcikgdXJs
KGZyYWdtZW50LnNoYWRlcikpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0
aW9uLmxlbmd0aCBpcyAxCitQQVNTIHJlbW92ZUJhc2VVUkwoZGVjbGFyYXRpb24uZ2V0UHJvcGVy
dHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSkgaXMgJ2N1c3RvbSh1cmwodmVydGV4LnNoYWRlcikg
dXJsKGZyYWdtZW50LnNoYWRlcikpJworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlKSBp
cyAnQ1NTVmFsdWVMaXN0JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLl9fcHJvdG9f
XykgaXMgJ0NTU1ZhbHVlTGlzdFByb3RvdHlwZScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVy
UnVsZS5jb25zdHJ1Y3RvcikgaXMgJ0NTU1ZhbHVlTGlzdENvbnN0cnVjdG9yJworUEFTUyBmaWx0
ZXJSdWxlLmxlbmd0aCBpcyAxCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRD
U1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTQorUEFTUyByZW1vdmVCYXNlVVJMKHN1YlJ1
bGUuY3NzVGV4dCkgaXMgJ2N1c3RvbSh1cmwodmVydGV4LnNoYWRlcikgdXJsKGZyYWdtZW50LnNo
YWRlcikpJworCitDdXN0b20gd2l0aCBtZXNoIHNpemUgOiBjdXN0b20odXJsKHZlcnRleC5zaGFk
ZXIpLCAxMCkKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3Ro
IGlzIDEKK1BBU1MgcmVtb3ZlQmFzZVVSTChkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCct
d2Via2l0LWZpbHRlcicpKSBpcyAnY3VzdG9tKHVybCh2ZXJ0ZXguc2hhZGVyKSwgMTApJworUEFT
UyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlKSBpcyAnQ1NTVmFsdWVMaXN0JworUEFTUyBqc1dy
YXBwZXJDbGFzcyhmaWx0ZXJSdWxlLl9fcHJvdG9fXykgaXMgJ0NTU1ZhbHVlTGlzdFByb3RvdHlw
ZScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5jb25zdHJ1Y3RvcikgaXMgJ0NTU1Zh
bHVlTGlzdENvbnN0cnVjdG9yJworUEFTUyBmaWx0ZXJSdWxlLmxlbmd0aCBpcyAxCitQQVNTIHN1
YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NV
U1RPTQorUEFTUyByZW1vdmVCYXNlVVJMKHN1YlJ1bGUuY3NzVGV4dCkgaXMgJ2N1c3RvbSh1cmwo
dmVydGV4LnNoYWRlciksIDEwKScKKworQ3VzdG9tIHdpdGggYm90aCBtZXNoIHNpemVzIDogY3Vz
dG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEwIDIwKQorUEFTUyBjc3NSdWxlLnR5cGUg
aXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMQorUEFTUyByZW1vdmVCYXNlVVJMKGRl
Y2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykpIGlzICdjdXN0b20o
bm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMTAgMjApJworUEFTUyBqc1dyYXBwZXJDbGFzcyhm
aWx0ZXJSdWxlKSBpcyAnQ1NTVmFsdWVMaXN0JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJS
dWxlLl9fcHJvdG9fXykgaXMgJ0NTU1ZhbHVlTGlzdFByb3RvdHlwZScKK1BBU1MganNXcmFwcGVy
Q2xhc3MoZmlsdGVyUnVsZS5jb25zdHJ1Y3RvcikgaXMgJ0NTU1ZhbHVlTGlzdENvbnN0cnVjdG9y
JworUEFTUyBmaWx0ZXJSdWxlLmxlbmd0aCBpcyAxCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlw
ZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTQorUEFTUyByZW1vdmVC
YXNlVVJMKHN1YlJ1bGUuY3NzVGV4dCkgaXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFk
ZXIpLCAxMCAyMCknCisKK0N1c3RvbSB3aXRoIGRldGFjaGVkIG1lc2ggOiBjdXN0b20obm9uZSB1
cmwoZnJhZ21lbnQuc2hhZGVyKSwgZGV0YWNoZWQpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQ
QVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAxCitQQVNTIHJlbW92ZUJhc2VVUkwoZGVjbGFyYXRp
b24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSkgaXMgJ2N1c3RvbShub25lIHVy
bChmcmFnbWVudC5zaGFkZXIpLCBkZXRhY2hlZCknCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRl
clJ1bGUpIGlzICdDU1NWYWx1ZUxpc3QnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUu
X19wcm90b19fKSBpcyAnQ1NTVmFsdWVMaXN0UHJvdG90eXBlJworUEFTUyBqc1dyYXBwZXJDbGFz
cyhmaWx0ZXJSdWxlLmNvbnN0cnVjdG9yKSBpcyAnQ1NTVmFsdWVMaXN0Q29uc3RydWN0b3InCitQ
QVNTIGZpbHRlclJ1bGUubGVuZ3RoIGlzIDEKK1BBU1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBlIGlz
IFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfQ1VTVE9NCitQQVNTIHJlbW92ZUJhc2VV
Ukwoc3ViUnVsZS5jc3NUZXh0KSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciks
IGRldGFjaGVkKScKKworQ3VzdG9tIHdpdGggZGV0YWNoZWQgYW5kIG1lc2ggc2l6ZSA6IGN1c3Rv
bShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxMCAyMCBkZXRhY2hlZCkKK1BBU1MgY3NzUnVs
ZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDEKK1BBU1MgcmVtb3ZlQmFz
ZVVSTChkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpKSBpcyAn
Y3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEwIDIwIGRldGFjaGVkKScKK1BBU1Mg
anNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZSkgaXMgJ0NTU1ZhbHVlTGlzdCcKK1BBU1MganNXcmFw
cGVyQ2xhc3MoZmlsdGVyUnVsZS5fX3Byb3RvX18pIGlzICdDU1NWYWx1ZUxpc3RQcm90b3R5cGUn
CitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuY29uc3RydWN0b3IpIGlzICdDU1NWYWx1
ZUxpc3RDb25zdHJ1Y3RvcicKK1BBU1MgZmlsdGVyUnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJS
dWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNU
T00KK1BBU1MgcmVtb3ZlQmFzZVVSTChzdWJSdWxlLmNzc1RleHQpIGlzICdjdXN0b20obm9uZSB1
cmwoZnJhZ21lbnQuc2hhZGVyKSwgMTAgMjAgZGV0YWNoZWQpJworCitDdXN0b20gd2l0aCBudW1i
ZXIgcGFyYW1ldGVycyA6IGN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBwMSAxLCBw
MiAyIDMsIHAzIDMgNCA1LCBwNCA0IDUgNiA3KQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFT
UyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMQorUEFTUyByZW1vdmVCYXNlVVJMKGRlY2xhcmF0aW9u
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykpIGlzICdjdXN0b20obm9uZSB1cmwo
ZnJhZ21lbnQuc2hhZGVyKSwgcDEgMSwgcDIgMiAzLCBwMyAzIDQgNSwgcDQgNCA1IDYgNyknCitQ
QVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUpIGlzICdDU1NWYWx1ZUxpc3QnCitQQVNTIGpz
V3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuX19wcm90b19fKSBpcyAnQ1NTVmFsdWVMaXN0UHJvdG90
eXBlJworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLmNvbnN0cnVjdG9yKSBpcyAnQ1NT
VmFsdWVMaXN0Q29uc3RydWN0b3InCitQQVNTIGZpbHRlclJ1bGUubGVuZ3RoIGlzIDEKK1BBU1Mg
c3ViUnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJf
Q1VTVE9NCitQQVNTIHJlbW92ZUJhc2VVUkwoc3ViUnVsZS5jc3NUZXh0KSBpcyAnY3VzdG9tKG5v
bmUgdXJsKGZyYWdtZW50LnNoYWRlciksIHAxIDEsIHAyIDIgMywgcDMgMyA0IDUsIHA0IDQgNSA2
IDcpJworCitDdXN0b20gd2l0aCBmbG9hdCBwYXJhbWV0ZXJzIDogY3VzdG9tKG5vbmUgdXJsKGZy
YWdtZW50LnNoYWRlciksIHAxIDEuMSwgcDIgMi4yIDMuMywgcDMgMy4xIDQuMSA1LjEsIHA0IDQu
MSA1LjIgNi4zIDcuNCkKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24u
bGVuZ3RoIGlzIDEKK1BBU1MgcmVtb3ZlQmFzZVVSTChkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZh
bHVlKCctd2Via2l0LWZpbHRlcicpKSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRl
ciksIHAxIDEuMSwgcDIgMi4yIDMuMywgcDMgMy4xIDQuMSA1LjEsIHA0IDQuMSA1LjIgNi4zIDcu
NCknCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUpIGlzICdDU1NWYWx1ZUxpc3QnCitQ
QVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuX19wcm90b19fKSBpcyAnQ1NTVmFsdWVMaXN0
UHJvdG90eXBlJworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLmNvbnN0cnVjdG9yKSBp
cyAnQ1NTVmFsdWVMaXN0Q29uc3RydWN0b3InCitQQVNTIGZpbHRlclJ1bGUubGVuZ3RoIGlzIDEK
K1BBU1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19G
SUxURVJfQ1VTVE9NCitQQVNTIHJlbW92ZUJhc2VVUkwoc3ViUnVsZS5jc3NUZXh0KSBpcyAnY3Vz
dG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIHAxIDEuMSwgcDIgMi4yIDMuMywgcDMgMy4x
IDQuMSA1LjEsIHA0IDQuMSA1LjIgNi4zIDcuNCknCisKK0N1c3RvbSB3aXRoIG1lc2ggc2l6ZSBh
bmQgbnVtYmVyIHBhcmFtZXRlcnMgOiBjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwg
MTAgMjAsIHAxIDEsIHAyIDIgMywgcDMgMyA0IDUsIHA0IDQgNSA2IDcpCitQQVNTIGNzc1J1bGUu
dHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAxCitQQVNTIHJlbW92ZUJhc2VV
UkwoZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSkgaXMgJ2N1
c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxMCAyMCwgcDEgMSwgcDIgMiAzLCBwMyAz
IDQgNSwgcDQgNCA1IDYgNyknCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUpIGlzICdD
U1NWYWx1ZUxpc3QnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuX19wcm90b19fKSBp
cyAnQ1NTVmFsdWVMaXN0UHJvdG90eXBlJworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxl
LmNvbnN0cnVjdG9yKSBpcyAnQ1NTVmFsdWVMaXN0Q29uc3RydWN0b3InCitQQVNTIGZpbHRlclJ1
bGUubGVuZ3RoIGlzIDEKK1BBU1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0Zp
bHRlclZhbHVlLkNTU19GSUxURVJfQ1VTVE9NCitQQVNTIHJlbW92ZUJhc2VVUkwoc3ViUnVsZS5j
c3NUZXh0KSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEwIDIwLCBwMSAx
LCBwMiAyIDMsIHAzIDMgNCA1LCBwNCA0IDUgNiA3KScKKworTXVsdGlwbGUgd2l0aCBmcmFnbWVu
dCBzaGFkZXIgOiBncmF5c2NhbGUoKSBjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSkg
c2VwaWEoKQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGgg
aXMgMQorUEFTUyByZW1vdmVCYXNlVVJMKGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZmlsdGVyJykpIGlzICdncmF5c2NhbGUoKSBjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQu
c2hhZGVyKSkgc2VwaWEoKScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZSkgaXMgJ0NT
U1ZhbHVlTGlzdCcKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5fX3Byb3RvX18pIGlz
ICdDU1NWYWx1ZUxpc3RQcm90b3R5cGUnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUu
Y29uc3RydWN0b3IpIGlzICdDU1NWYWx1ZUxpc3RDb25zdHJ1Y3RvcicKK1BBU1MgZmlsdGVyUnVs
ZS5sZW5ndGggaXMgMworUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmls
dGVyVmFsdWUuQ1NTX0ZJTFRFUl9HUkFZU0NBTEUKK1BBU1MgcmVtb3ZlQmFzZVVSTChzdWJSdWxl
LmNzc1RleHQpIGlzICdncmF5c2NhbGUoKScKK1BBU1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBlIGlz
IFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfQ1VTVE9NCitQQVNTIHJlbW92ZUJhc2VV
Ukwoc3ViUnVsZS5jc3NUZXh0KSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlcikp
JworUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NT
X0ZJTFRFUl9TRVBJQQorUEFTUyByZW1vdmVCYXNlVVJMKHN1YlJ1bGUuY3NzVGV4dCkgaXMgJ3Nl
cGlhKCknCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS1maWx0ZXItcHJv
cGVydHktcGFyc2luZy1pbnZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvZmls
dGVycy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctaW52YWxpZC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzE1M2JiMDhiMmI5ODI5ZDM5ZmQwZjhlNmE2Yzk4ZGYyNDcxY2YzZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20tZmlsdGVyLXBy
b3BlcnR5LXBhcnNpbmctaW52YWxpZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3OSBAQAorVGVz
dCB0aGUgcGFyc2luZyBvZiBjdXN0b20oKSBmdW5jdGlvbiBvZiB0aGUgLXdlYmtpdC1maWx0ZXIg
cHJvcGVydHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKK0VtcHR5IGZ1bmN0
aW9uIDogY3VzdG9tKCkKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24u
bGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1m
aWx0ZXInKSBpcyBudWxsCisKK05vIHZhbHVlcyAxIDogY3VzdG9tKCwpCitQQVNTIGNzc1J1bGUu
dHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAwCitQQVNTIGRlY2xhcmF0aW9u
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMgbnVsbAorCitObyB2YWx1ZXMg
MiA6IGN1c3RvbSgsLCkKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24u
bGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1m
aWx0ZXInKSBpcyBudWxsCisKK1RvbyBtYW55IHNoYWRlcnMgMSA6IGN1c3RvbSh1cmwoc2hhZGVy
MSkgdXJsKHNoYWRlcjIpIHVybChzaGFkZXIyKSkKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BB
U1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyBudWxsCisKK1RvbyBtYW55IHNoYWRlcnMgMiA6IGN1
c3RvbShub25lIG5vbmUgbm9uZSkKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFy
YXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdl
YmtpdC1maWx0ZXInKSBpcyBudWxsCisKK1RvbyBtYW55IHNoYWRlcnMgMyA6IGN1c3RvbShub25l
IHVybChzaGFkZXIxKSB1cmwoc2hhZGVyMikgdXJsKHNoYWRlcjIpKQorUEFTUyBjc3NSdWxlLnR5
cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMAorUEFTUyBkZWNsYXJhdGlvbi5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpIGlzIG51bGwKKworTm8gc2hhZGVyIDog
Y3VzdG9tKG5vbmUsIDEwIDIwKQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJh
dGlvbi5sZW5ndGggaXMgMAorUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Vi
a2l0LWZpbHRlcicpIGlzIG51bGwKKworVG8gbWFueSBtZXNoIHNpemVzIDogY3VzdG9tKG5vbmUs
IDEwIDIwIDMwKQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5n
dGggaXMgMAorUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRl
cicpIGlzIG51bGwKKworV3JvbmcgbWVzaCB0eXBlIDogY3VzdG9tKHVybChzaGFkZXIpLCBkZXRh
Y2gpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAw
CitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMg
bnVsbAorCitObyBtZXNoIHNpemUgOiBjdXN0b20odXJsKHNoYWRlciksICwgcDEgMikKK1BBU1Mg
Y3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVj
bGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyBudWxsCisKK1Rv
IG1hbnkgcGFyYW1ldGVyIHZhbHVlcyA6IGN1c3RvbSh1cmwoc2hhZGVyKSwgcDEgMSAyIDMgNCA1
KQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMAor
UEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpIGlzIG51
bGwKKworSW52YWxpZCBwYXJhbWV0ZXIgdHlwZXMgOiBjdXN0b20odXJsKHNoYWRlciksIHAxIDEu
MCAyLjAgJ3RleHQnKQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5s
ZW5ndGggaXMgMAorUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZp
bHRlcicpIGlzIG51bGwKKworTm8gcGFyYW1ldGVyIHZhbHVlIDEgOiBjdXN0b20odXJsKHNoYWRl
ciksIHAxKQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGgg
aXMgMAorUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicp
IGlzIG51bGwKKworTm8gcGFyYW1ldGVyIHZhbHVlIDIgOiBjdXN0b20odXJsKHNoYWRlciksIHAx
LCBwMiwgcDMpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0
aCBpcyAwCitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVy
JykgaXMgbnVsbAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20tZmlsdGVy
LXByb3BlcnR5LXBhcnNpbmctaW52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJz
L2N1c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2luZy1pbnZhbGlkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTM5YTI1NDk0YjI4NDRlMGRmZjIxODhkNjdjNzU5OWFkOTVjNGJhNQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNp
bmctaW52YWxpZC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2N1c3RvbS1maWx0
ZXItcHJvcGVydHktcGFyc2luZy1pbnZhbGlkLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS1m
aWx0ZXItcHJvcGVydHktcGFyc2luZy5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1
c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2luZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjEyMTY4ODQ3
MjJhMWFlNzM1YWEzNDA2NzFjNzJlYjBiMjIxNTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLmh0bWwKQEAg
LTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5n
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3NjcmlwdC10ZXN0cy9jdXN0b20tZmlsdGVyLXByb3BlcnR5
LXBhcnNpbmctaW52YWxpZC5qcyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9zY3JpcHQtdGVz
dHMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFsaWQuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
M2EwNDVjODQ2OTQ1ODI1MjAwZDc5NjlmM2I4NjgxMDllOTI0NjM3NQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvY3VzdG9tLWZpbHRlci1w
cm9wZXJ0eS1wYXJzaW5nLWludmFsaWQuanMKQEAgLTAsMCArMSw0MCBAQAorZGVzY3JpcHRpb24o
IlRlc3QgdGhlIHBhcnNpbmcgb2YgY3VzdG9tKCkgZnVuY3Rpb24gb2YgdGhlIC13ZWJraXQtZmls
dGVyIHByb3BlcnR5LiIpOworCisvLyBUaGVzZSBoYXZlIHRvIGJlIGdsb2JhbCBmb3IgdGhlIHRl
c3QgaGVscGVycyB0byBzZWUgdGhlbS4KK3ZhciBzdHlsZXNoZWV0LCBjc3NSdWxlLCBkZWNsYXJh
dGlvbjsKKworZnVuY3Rpb24gdGVzdEludmFsaWRGaWx0ZXJSdWxlKGRlc2NyaXB0aW9uLCBydWxl
KQoreworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZyhkZXNjcmlwdGlvbiArICIgOiAiICsgcnVs
ZSk7CisKKyAgICBzdHlsZXNoZWV0ID0gZG9jdW1lbnQuc3R5bGVTaGVldHMuaXRlbSgwKTsKKyAg
ICBzdHlsZXNoZWV0Lmluc2VydFJ1bGUoImJvZHkgeyAtd2Via2l0LWZpbHRlcjogIiArIHJ1bGUg
KyAiOyB9IiwgMCk7CisgICAgY3NzUnVsZSA9IHN0eWxlc2hlZXQuY3NzUnVsZXMuaXRlbSgwKTsK
KyAgCisgICAgc2hvdWxkQmUoImNzc1J1bGUudHlwZSIsICIxIik7CisKKyAgICBkZWNsYXJhdGlv
biA9IGNzc1J1bGUuc3R5bGU7CisgICAgc2hvdWxkQmUoImRlY2xhcmF0aW9uLmxlbmd0aCIsICIw
Iik7CisgICAgc2hvdWxkQmUoImRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
ZmlsdGVyJykiLCAibnVsbCIpOworfQorCit0ZXN0SW52YWxpZEZpbHRlclJ1bGUoIkVtcHR5IGZ1
bmN0aW9uIiwgImN1c3RvbSgpIik7Cit0ZXN0SW52YWxpZEZpbHRlclJ1bGUoIk5vIHZhbHVlcyAx
IiwgImN1c3RvbSgsKSIpOwordGVzdEludmFsaWRGaWx0ZXJSdWxlKCJObyB2YWx1ZXMgMiIsICJj
dXN0b20oLCwpIik7CisKK3Rlc3RJbnZhbGlkRmlsdGVyUnVsZSgiVG9vIG1hbnkgc2hhZGVycyAx
IiwgImN1c3RvbSh1cmwoc2hhZGVyMSkgdXJsKHNoYWRlcjIpIHVybChzaGFkZXIyKSkiKTsKK3Rl
c3RJbnZhbGlkRmlsdGVyUnVsZSgiVG9vIG1hbnkgc2hhZGVycyAyIiwgImN1c3RvbShub25lIG5v
bmUgbm9uZSkiKTsKK3Rlc3RJbnZhbGlkRmlsdGVyUnVsZSgiVG9vIG1hbnkgc2hhZGVycyAzIiwg
ImN1c3RvbShub25lIHVybChzaGFkZXIxKSB1cmwoc2hhZGVyMikgdXJsKHNoYWRlcjIpKSIpOwor
Cit0ZXN0SW52YWxpZEZpbHRlclJ1bGUoIk5vIHNoYWRlciIsICJjdXN0b20obm9uZSwgMTAgMjAp
Iik7Cit0ZXN0SW52YWxpZEZpbHRlclJ1bGUoIlRvIG1hbnkgbWVzaCBzaXplcyIsICJjdXN0b20o
bm9uZSwgMTAgMjAgMzApIik7Cit0ZXN0SW52YWxpZEZpbHRlclJ1bGUoIldyb25nIG1lc2ggdHlw
ZSIsICJjdXN0b20odXJsKHNoYWRlciksIGRldGFjaCkiKTsKK3Rlc3RJbnZhbGlkRmlsdGVyUnVs
ZSgiTm8gbWVzaCBzaXplIiwgImN1c3RvbSh1cmwoc2hhZGVyKSwgLCBwMSAyKSIpOworCit0ZXN0
SW52YWxpZEZpbHRlclJ1bGUoIlRvIG1hbnkgcGFyYW1ldGVyIHZhbHVlcyIsICJjdXN0b20odXJs
KHNoYWRlciksIHAxIDEgMiAzIDQgNSkiKTsKK3Rlc3RJbnZhbGlkRmlsdGVyUnVsZSgiSW52YWxp
ZCBwYXJhbWV0ZXIgdHlwZXMiLCAiY3VzdG9tKHVybChzaGFkZXIpLCBwMSAxLjAgMi4wICd0ZXh0
JykiKTsKKwordGVzdEludmFsaWRGaWx0ZXJSdWxlKCJObyBwYXJhbWV0ZXIgdmFsdWUgMSIsICJj
dXN0b20odXJsKHNoYWRlciksIHAxKSIpOwordGVzdEludmFsaWRGaWx0ZXJSdWxlKCJObyBwYXJh
bWV0ZXIgdmFsdWUgMiIsICJjdXN0b20odXJsKHNoYWRlciksIHAxLCBwMiwgcDMpIik7CisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvY3VzdG9tLWZp
bHRlci1wcm9wZXJ0eS1wYXJzaW5nLmpzIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Njcmlw
dC10ZXN0cy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmcuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWI4
ODU4N2EzNmJmY2ZkODg4MjM5MzdhOTgyZWI4NTYxZDIyYTQ4OAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvY3VzdG9tLWZpbHRlci1wcm9w
ZXJ0eS1wYXJzaW5nLmpzCkBAIC0wLDAgKzEsMTA4IEBACitkZXNjcmlwdGlvbigiVGVzdCB0aGUg
cGFyc2luZyBvZiB0aGUgY3VzdG9tKCkgZnVuY3Rpb24gb2YgdGhlIC13ZWJraXQtZmlsdGVyIHBy
b3BlcnR5LiIpOworCitmdW5jdGlvbiBqc1dyYXBwZXJDbGFzcyhub2RlKQoreworICAgIGlmICgh
bm9kZSkKKyAgICAgICAgcmV0dXJuICJbbnVsbF0iOworICAgIHZhciBzdHJpbmcgPSBPYmplY3Qu
cHJvdG90eXBlLnRvU3RyaW5nLmFwcGx5KG5vZGUpOworICAgIHJldHVybiBzdHJpbmcuc3Vic3Ry
KDgsIHN0cmluZy5sZW5ndGggLSA5KTsKK30KKworLy8gTmVlZCB0byByZW1vdmUgdGhlIGJhc2Ug
VVJMIHRvIGF2b2lkIGhhdmluZyBsb2NhbCBwYXRocyBpbiB0aGUgZXhwZWN0ZWQgcmVzdWx0cy4K
K2Z1bmN0aW9uIHJlbW92ZUJhc2VVUkwoc3JjKSB7CisgICAgdmFyIHVybFJlZ2V4cCA9IC91cmxc
KChbXlwpXSopXCkvZzsKKyAgICByZXR1cm4gc3JjLnJlcGxhY2UodXJsUmVnZXhwLCBmdW5jdGlv
bihtYXRjaCwgdXJsKSB7CisgICAgICAgIHJldHVybiAidXJsKCIgKyB1cmwuc3Vic3RyKHVybC5s
YXN0SW5kZXhPZigiLyIpICsgMSkgKyAiKSI7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHNob3Vs
ZEJlVHlwZShleHByZXNzaW9uLCBjbGFzc05hbWUsIHByb3RvdHlwZU5hbWUsIGNvbnN0cnVjdG9y
TmFtZSkKK3sKKyAgICBpZiAoIXByb3RvdHlwZU5hbWUpCisgICAgICAgIHByb3RvdHlwZU5hbWUg
PSBjbGFzc05hbWUgKyAiUHJvdG90eXBlIjsKKyAgICBpZiAoIWNvbnN0cnVjdG9yTmFtZSkKKyAg
ICAgICAgY29uc3RydWN0b3JOYW1lID0gY2xhc3NOYW1lICsgIkNvbnN0cnVjdG9yIjsKKyAgICBz
aG91bGRCZSgianNXcmFwcGVyQ2xhc3MoIiArIGV4cHJlc3Npb24gKyAiKSIsICInIiArIGNsYXNz
TmFtZSArICInIik7CisgICAgc2hvdWxkQmUoImpzV3JhcHBlckNsYXNzKCIgKyBleHByZXNzaW9u
ICsgIi5fX3Byb3RvX18pIiwgIiciICsgcHJvdG90eXBlTmFtZSArICInIik7CisgICAgc2hvdWxk
QmUoImpzV3JhcHBlckNsYXNzKCIgKyBleHByZXNzaW9uICsgIi5jb25zdHJ1Y3RvcikiLCAiJyIg
KyBjb25zdHJ1Y3Rvck5hbWUgKyAiJyIpOworfQorCisvLyBUaGVzZSBoYXZlIHRvIGJlIGdsb2Jh
bCBmb3IgdGhlIHRlc3QgaGVscGVycyB0byBzZWUgdGhlbS4KK3ZhciBzdHlsZXNoZWV0LCBjc3NS
dWxlLCBkZWNsYXJhdGlvbiwgZmlsdGVyUnVsZSwgc3ViUnVsZTsKKworZnVuY3Rpb24gdGVzdEZp
bHRlclJ1bGUoZGVzY3JpcHRpb24sIHJ1bGUsIGV4cGVjdGVkVmFsdWUsIGV4cGVjdGVkVHlwZXMs
IGV4cGVjdGVkVGV4dHMpCit7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKGRlc2NyaXB0aW9u
ICsgIiA6ICIgKyBydWxlKTsKKworICAgIHN0eWxlc2hlZXQgPSBkb2N1bWVudC5zdHlsZVNoZWV0
cy5pdGVtKDApOworICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgiYm9keSB7IC13ZWJraXQtZmls
dGVyOiAiICsgcnVsZSArICI7IH0iLCAwKTsKKyAgICBjc3NSdWxlID0gc3R5bGVzaGVldC5jc3NS
dWxlcy5pdGVtKDApOworICAKKyAgICBzaG91bGRCZSgiY3NzUnVsZS50eXBlIiwgIjEiKTsKKwor
ICAgIGRlY2xhcmF0aW9uID0gY3NzUnVsZS5zdHlsZTsKKyAgICBzaG91bGRCZSgiZGVjbGFyYXRp
b24ubGVuZ3RoIiwgIjEiKTsKKyAgICBzaG91bGRCZSgicmVtb3ZlQmFzZVVSTChkZWNsYXJhdGlv
bi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpKSIsICInIiArIGV4cGVjdGVkVmFs
dWUgKyAiJyIpOworCisgICAgZmlsdGVyUnVsZSA9IGRlY2xhcmF0aW9uLmdldFByb3BlcnR5Q1NT
VmFsdWUoJy13ZWJraXQtZmlsdGVyJyk7CisgICAgc2hvdWxkQmVUeXBlKCJmaWx0ZXJSdWxlIiwg
IkNTU1ZhbHVlTGlzdCIpOworCisgICAgaWYgKCFleHBlY3RlZFR5cGVzKSB7CisgICAgICAgIGV4
cGVjdGVkVHlwZXMgPSBbIldlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfQ1VTVE9NIl07
CisgICAgICAgIGV4cGVjdGVkVGV4dHMgPSBbZXhwZWN0ZWRWYWx1ZV07CisgICAgfQorICAgIAor
ICAgIHNob3VsZEJlKCJmaWx0ZXJSdWxlLmxlbmd0aCIsICIiICsgZXhwZWN0ZWRUeXBlcy5sZW5n
dGgpOyAvLyBzaG91bGRCZSBleHBlY3RzIHN0cmluZyBhcmd1bWVudHMKKyAgCisgICAgaWYgKGZp
bHRlclJ1bGUpIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleHBlY3RlZFR5cGVzLmxl
bmd0aDsgaSsrKSB7CisgICAgICAgICAgICBzdWJSdWxlID0gZmlsdGVyUnVsZVtpXTsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCJzdWJSdWxlLm9wZXJhdGlvblR5cGUiLCBleHBlY3RlZFR5cGVzW2ld
KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJyZW1vdmVCYXNlVVJMKHN1YlJ1bGUuY3NzVGV4dCki
LCAiJyIgKyBleHBlY3RlZFRleHRzW2ldICsgIiciKTsKKyAgICAgICAgfQorICAgIH0KK30KKwor
dGVzdEZpbHRlclJ1bGUoIkN1c3RvbSB3aXRoIHZlcnRleCBzaGFkZXIiLAorICAgICAgICAgICAg
ICAgImN1c3RvbSh1cmwodmVydGV4LnNoYWRlcikpIiwgImN1c3RvbSh1cmwodmVydGV4LnNoYWRl
cikpIik7CisKK3Rlc3RGaWx0ZXJSdWxlKCJDdXN0b20gd2l0aCBmcmFnbWVudCBzaGFkZXIiLAor
ICAgICAgICAgICAgICAiY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlcikpIiwgImN1c3Rv
bShub25lIHVybChmcmFnbWVudC5zaGFkZXIpKSIpOworCit0ZXN0RmlsdGVyUnVsZSgiQ3VzdG9t
IHdpdGggYm90aCBzaGFkZXJzIiwKKyAgICAgICAgICAgICJjdXN0b20odXJsKHZlcnRleC5zaGFk
ZXIpIHVybChmcmFnbWVudC5zaGFkZXIpKSIsICJjdXN0b20odXJsKHZlcnRleC5zaGFkZXIpIHVy
bChmcmFnbWVudC5zaGFkZXIpKSIpOworICAgICAgICAgICAgCit0ZXN0RmlsdGVyUnVsZSgiQ3Vz
dG9tIHdpdGggbWVzaCBzaXplIiwKKyAgICAgICAgICAgICJjdXN0b20odXJsKHZlcnRleC5zaGFk
ZXIpLCAxMCkiLCAiY3VzdG9tKHVybCh2ZXJ0ZXguc2hhZGVyKSwgMTApIik7CisKK3Rlc3RGaWx0
ZXJSdWxlKCJDdXN0b20gd2l0aCBib3RoIG1lc2ggc2l6ZXMiLAorICAgICAgICAgICAgImN1c3Rv
bShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxMCAyMCkiLCAiY3VzdG9tKG5vbmUgdXJsKGZy
YWdtZW50LnNoYWRlciksIDEwIDIwKSIpOworCit0ZXN0RmlsdGVyUnVsZSgiQ3VzdG9tIHdpdGgg
ZGV0YWNoZWQgbWVzaCIsCisgICAgICAgICAgICAiY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNo
YWRlciksIGRldGFjaGVkKSIsICJjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgZGV0
YWNoZWQpIik7CisgICAgICAgICAgICAKK3Rlc3RGaWx0ZXJSdWxlKCJDdXN0b20gd2l0aCBkZXRh
Y2hlZCBhbmQgbWVzaCBzaXplIiwKKyAgICAgICAgICAgICJjdXN0b20obm9uZSB1cmwoZnJhZ21l
bnQuc2hhZGVyKSwgMTAgMjAgZGV0YWNoZWQpIiwgImN1c3RvbShub25lIHVybChmcmFnbWVudC5z
aGFkZXIpLCAxMCAyMCBkZXRhY2hlZCkiKTsKKwordGVzdEZpbHRlclJ1bGUoIkN1c3RvbSB3aXRo
IG51bWJlciBwYXJhbWV0ZXJzIiwKKyAgICAgICAgICAgICJjdXN0b20obm9uZSB1cmwoZnJhZ21l
bnQuc2hhZGVyKSwgcDEgMSwgcDIgMiAzLCBwMyAzIDQgNSwgcDQgNCA1IDYgNykiLAorICAgICAg
ICAgICAgImN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBwMSAxLCBwMiAyIDMsIHAz
IDMgNCA1LCBwNCA0IDUgNiA3KSIpOworCit0ZXN0RmlsdGVyUnVsZSgiQ3VzdG9tIHdpdGggZmxv
YXQgcGFyYW1ldGVycyIsCisgICAgICAgICAgICAiY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNo
YWRlciksIHAxIDEuMSwgcDIgMi4yIDMuMywgcDMgMy4xIDQuMSA1LjEsIHA0IDQuMSA1LjIgNi4z
IDcuNCkiLAorICAgICAgICAgICAgImN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBw
MSAxLjEsIHAyIDIuMiAzLjMsIHAzIDMuMSA0LjEgNS4xLCBwNCA0LjEgNS4yIDYuMyA3LjQpIik7
CisKKwordGVzdEZpbHRlclJ1bGUoIkN1c3RvbSB3aXRoIG1lc2ggc2l6ZSBhbmQgbnVtYmVyIHBh
cmFtZXRlcnMiLAorICAgICAgICAgICAgImN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIp
LCAxMCAyMCwgcDEgMSwgcDIgMiAzLCBwMyAzIDQgNSwgcDQgNCA1IDYgNykiLAorICAgICAgICAg
ICAgImN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxMCAyMCwgcDEgMSwgcDIgMiAz
LCBwMyAzIDQgNSwgcDQgNCA1IDYgNykiKTsKKwordGVzdEZpbHRlclJ1bGUoIk11bHRpcGxlIHdp
dGggZnJhZ21lbnQgc2hhZGVyIiwKKyAgICAgICAgICAgICJncmF5c2NhbGUoKSBjdXN0b20obm9u
ZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSkgc2VwaWEoKSIsICJncmF5c2NhbGUoKSBjdXN0b20obm9u
ZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSkgc2VwaWEoKSIsCisgICAgICAgICAgICBbIldlYktpdENT
U0ZpbHRlclZhbHVlLkNTU19GSUxURVJfR1JBWVNDQUxFIiwKKyAgICAgICAgICAgICJXZWJLaXRD
U1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTSIsCisgICAgICAgICAgICAiV2ViS2l0Q1NT
RmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9TRVBJQSJdLAorICAgICAgICAgICAgWyJncmF5c2NhbGUo
KSIsCisgICAgICAgICAgICAiY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlcikpIiwKKyAg
ICAgICAgICAgICJzZXBpYSgpIl0pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114248</attachid>
            <date>2011-11-09 04:33:13 -0800</date>
            <delta_ts>2011-11-09 05:55:31 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-71441-20111109143310.patch</filename>
            <type>text/plain</type>
            <size>46923</size>
            <attacher name="Alexandru Chiculita">achicu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk2NzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiOWEwYjUxYTRjYmY1MjY4
NWVmYWU4NmQ5ZGRlMzQ2ZWQyYjk1YmM2Li5iZmNlN2FlNjkyYzM3NWNhNDFiNjgyOTE0ZDBkNjdi
NjE4N2MyMTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMTEtMTEtMDkgIEFsZXhh
bmRydSBDaGljdWxpdGEgIDxhY2hpY3VAYWRvYmUuY29tPgorCisgICAgICAgIFtQYXJ0IDFdIFBh
cnNlIHRoZSBjdXN0b20oKSBmdW5jdGlvbiBpbiAtd2Via2l0LWZpbHRlcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0NDEKKworICAgICAgICBBZGRl
ZCBjb2RlIHRoYXQgcGFyc2VzIHRoZSBjdXN0b20oKSBmdW5jdGlvbi4gVGhlcmUncyBubyBjb2Rl
CisgICAgICAgIGZvciB0aGUgQ1NTU3R5bGVTZWxlY3RvciB5ZXQsIHNvIHRoZSBvbmx5IHdheSB0
byB0ZXN0IHRoaXMgd2FzIHRvCisgICAgICAgIGNoZWNrIHRoZSAic3R5bGVTaGVldHMiIHJ1bGVz
LgorCisgICAgICAgIFJldmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICBUZXN0czog
Y3NzMy9maWx0ZXJzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2luZy1pbnZhbGlkLmh0bWwK
KyAgICAgICAgICAgICAgIGNzczMvZmlsdGVycy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNp
bmcuaHRtbAorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJn
ZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpjb21wdXRlZEZpbHRlcik6CisgICAgICAgICogY3NzL0NTU1BhcnNl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpmaWx0ZXJJbmZvRm9yTmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjphY2NlcHRDb21tYU9wZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNl
cjo6cGFyc2VDdXN0b21GaWx0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJz
ZUZpbHRlcik6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgorICAgICAgICAqIGNzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZpbHRlck9wZXJhdGlvbkZvclR5
cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Y3JlYXRlRmlsdGVyT3Bl
cmF0aW9ucyk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ZhbHVlOjpjc3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpkZXN0cm95
KToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVl
Ojppc1dlYktpdENTU1NoYWRlclZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V2ViS2l0Q1NTRmlsdGVyVmFsdWU6OldlYktpdENTU0ZpbHRlclZhbHVlKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYktpdENTU0ZpbHRlclZhbHVlOjp0eXBlVXNlc1NwYWNlU2VwYXJh
dG9yKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU0ZpbHRlclZhbHVlOjpjdXN0b21Dc3NU
ZXh0KToKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuaDoKKyAgICAgICAgKiBj
c3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuaWRsOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NTaGFk
ZXJWYWx1ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1NoYWRlclZhbHVl
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTU2hhZGVyVmFsdWU6OldlYktp
dENTU1NoYWRlclZhbHVlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0Zp
bHRlck9wZXJhdGlvbi5oOgorCiAyMDExLTExLTA5ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVu
YmVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgRGUtdmlydHVhbGl6ZSBKU09iamVjdDo6ZGVmaW5l
T3duUHJvcGVydHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGU4MGM1OGE0MGYw
ZjM3MmM5ODJlNTcwYjBiOWNkNDM1MzQzODE3OGEuLjZjYmIwNmQ4NjkyNGVlNTc5NGY2Y2NjMWY2
OTdjYmNhYjA0NDY1N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMTExNiw2
ICsxMTE2LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTS2V5ZnJhbWVzUnVsZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTTWF0
cml4LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU01hdHJpeC5oIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCBcCiAJU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL1dl
YktpdENTU1RyYW5zZm9ybVZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9BY3RpdmVET01P
YmplY3QuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDY1ZmIzNTZlYmQ2NTM0ZDdhZWU2NGRiMzE3N2Rj
YTdkZjkxMmQxODAuLmE4Y2RkZGIwNjRiY2MyODA1MzNhMTQxZGY5Y2E4M2RjZDlmMjU5ZTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUv
VGFyZ2V0LnByaQpAQCAtMTU2NSw2ICsxNTY1LDcgQEAgSEVBREVSUyArPSBcCiAgICAgY3NzL1dl
YktpdENTU0tleWZyYW1lUnVsZS5oIFwKICAgICBjc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5o
IFwKICAgICBjc3MvV2ViS2l0Q1NTTWF0cml4LmggXAorICAgIGNzcy9XZWJLaXRDU1NTaGFkZXJW
YWx1ZS5oIFwKICAgICBjc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCBcCiAgICAgZG9tL0Fj
dGl2ZURPTU9iamVjdC5oIFwKICAgICBkb20vQXR0ci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA0
NzBmNWVmZDIzODdiZTJmMmEyMDgwMDllMWM0OGNhMjVkNDVmODIzLi5kYmQ0NGMzMjczZjcxMDIy
N2M4ZmY5M2M0NjM3NjZhMTAwNzFkM2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC01MDQsNiArNTA0
LDcgQEAKICAgICAgICAgICAgICdjc3MvQ1NTV3JhcFNoYXBlcy5oJywKICAgICAgICAgICAgICdj
c3MvUGFpci5oJywKICAgICAgICAgICAgICdjc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuaCcsCisg
ICAgICAgICAgICAnY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nz
cy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oJywKICAgICAgICAgICAgICdlZGl0aW5nL0FwcGx5
QmxvY2tFbGVtZW50Q29tbWFuZC5oJywKICAgICAgICAgICAgICdlZGl0aW5nL0NvbXBvc2l0ZUVk
aXRDb21tYW5kLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagppbmRleCAwNTk2ZDQ5ZDgyYWM2YzkzNGE2NTJhNDcwNGJlYjUzMDE1MzMzNTdhLi5jNmQy
MTQ0ZjBmZTI0NGRlMjc1ZWU4ZmY5OGNmOTgxOWE2NjNkZGQyIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzI5NjUsNiArMzI5NjUsMTAgQEAK
IAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oIgogCQkJ
CT4KIAkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcV2ViS2l0
Q1NTU2hhZGVyVmFsdWUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CiAJCTwvRmlsdGVyPgogCQk8Rmls
dGVyCiAJCQlOYW1lPSJyZW5kZXJpbmciCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWE2ZmM4YzExMzUyZjIwMTBlZjg3N2JiNTQ1
Y2E2ZmM1ZGRmODdmYi4uNmNiZjgxYzQ3Yjg3ZTJhYjFjOTk5ODk3ZGY1ZDFjZDQwZTFkNDQwOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTM1OCw2ICsxMzU4LDcgQEAKIAkJNTAxQkFBQTkxMzk1MEUyQzAwRjdBQ0VCIC8qIFdp
bmRSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MDFCQUFBODEzOTUwRTJDMDBGN0FDRUIgLyogV2luZFJ1bGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MDhDQ0E0RjEzQ0YxMDZCMDAzMTUxRjMg
LyogUmVuZGVyRmxvd1RocmVhZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTA4Q0NBNEQxM0NGMTA2QjAwMzE1MUYzIC8qIFJlbmRlckZsb3dUaHJlYWQu
aCAqLzsgfTsKIAkJNTA4Q0NBNTAxM0NGMTA2QjAwMzE1MUYzIC8qIFJlbmRlckZsb3dUaHJlYWQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTA4Q0NB
NEUxM0NGMTA2QjAwMzE1MUYzIC8qIFJlbmRlckZsb3dUaHJlYWQuY3BwICovOyB9OworCQk1MEI0
MjE1ODE0Njk3Njk2MDA4N0U2MDQgLyogV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUwQjQyMTU3MTQ2OTc2OTYwMDg3
RTYwNCAvKiBXZWJLaXRDU1NTaGFkZXJWYWx1ZS5oICovOyB9OwogCQk1MEU1NjZENjEzOUUzOEM1
MDAyMTQ0MzMgLyogQ1NTV3JhcFNoYXBlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MDFCQUFCMTEzOTUxMTRCMDBGN0FDRUIgLyogQ1NTV3JhcFNo
YXBlcy5jcHAgKi87IH07CiAJCTUxMDE4NDY5MEIwODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQYWdl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTAxODQ2
NzBCMDg2MDJBMDA0QTgyNUYgLyogQ2FjaGVkUGFnZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxMDE4NDZBMEIwODYwMkEwMDRBODI1RiAvKiBD
YWNoZWRQYWdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxMDE4NDY4MEIwODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQYWdlLmNwcCAqLzsgfTsKQEAg
LTg1MzYsNiArODUzNyw3IEBACiAJCTUwMUJBQUIxMTM5NTExNEIwMEY3QUNFQiAvKiBDU1NXcmFw
U2hhcGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1dyYXBT
aGFwZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MDhDQ0E0RDEzQ0YxMDZC
MDAzMTUxRjMgLyogUmVuZGVyRmxvd1RocmVhZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBSZW5kZXJGbG93VGhyZWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTUwOENDQTRFMTNDRjEwNkIwMDMxNTFGMyAvKiBSZW5kZXJGbG93VGhyZWFkLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlckZsb3dUaHJlYWQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MEI0MjE1NzE0Njk3Njk2MDA4N0U2MDQgLyogV2Vi
S2l0Q1NTU2hhZGVyVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
S2l0Q1NTU2hhZGVyVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwMTg0
NjcwQjA4NjAyQTAwNEE4MjVGIC8qIENhY2hlZFBhZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ2FjaGVkUGFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
MTAxODQ2ODBCMDg2MDJBMDA0QTgyNUYgLyogQ2FjaGVkUGFnZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZWRQYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTEwRDRBMkQxMDMxNjVFRTAwNDlFQTU0IC8qIFNvY2tldFN0cmVhbUVycm9y
QmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTb2NrZXRTdHJl
YW1FcnJvckJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA1MjUsNiAr
MjA1MjcsNyBAQAogCQlGNTIzRDE4NDAyREU0MkU4MDE4NjM1Q0EgLyogY3NzICovID0gewogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk1MEI0MjE1NzE0Njk3Njk2MDA4
N0U2MDQgLyogV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCAqLywKIAkJCQlBRDAzQUFGODE0Njg0NTM5
MDBBMzlCNUIgLyogQ1NTVmFsdWUuY3BwICovLAogCQkJCUNBRTlGOTBEMTQ2NDQxRjAwMEMyNDVC
MCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCAqLywKIAkJCQlDQUU5RjkwRTE0NjQ0MUYwMDBD
MjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCA5NTZmYjJhNWI3MWE1
Zjk3NWU0ZDAwYjA1NjNlZTcyMDRjN2ZlZmJkLi5mZTk4MTk1NDdkNDY3M2M3MGZiZGJlYzdkZDg2
OTNjOGM2OTdkMGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcApAQCAtNzI3LDYgKzcyNywxMyBAQCBzdGF0aWMgUGFzc1JlZlB0
cjxDU1NWYWx1ZT4gY29tcHV0ZWRGaWx0ZXIoUmVuZGVyT2JqZWN0KiByZW5kZXJlciwgY29uc3Qg
UmVuZGVyUwogICAgICAgICAgICAgZmlsdGVyVmFsdWUtPmFwcGVuZChwcmltaXRpdmVWYWx1ZUNh
Y2hlLT5jcmVhdGVWYWx1ZShzaGFycGVuT3BlcmF0aW9uLT50aHJlc2hvbGQoKSwgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19OVU1CRVIpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Cisj
aWYgRU5BQkxFKENTU19TSEFERVJTKQorICAgICAgICBjYXNlIEZpbHRlck9wZXJhdGlvbjo6Q1VT
VE9NOiB7CisgICAgICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50IGN1c3RvbSBzaGFkZXIgZnVu
Y3Rpb24uCisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzEzOTYKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAg
ICAgZGVmYXVsdDoKICAgICAgICAgICAgIGZpbHRlclZhbHVlID0gV2ViS2l0Q1NTRmlsdGVyVmFs
dWU6OmNyZWF0ZShXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6VW5rbm93bkZpbHRlck9wZXJhdGlvbik7
CiAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggNjVlY2My
ODU1YmZmMTcyZjJkZWQ3NGQ0MjhjNzZhMTIxNTcwZTQ2Mi4uMTk0ODQxMDJiMzkxZDA4ZjdiNTBl
Y2MyMWE4NTJlZmExZTU4NjMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTgxLDYg
KzgxLDkgQEAKICNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaCIKICNpbmNsdWRlICJX
ZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q1NTVHJhbnNmb3JtVmFs
dWUuaCIKKyNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisjaW5jbHVkZSAiV2ViS2l0Q1NTU2hhZGVy
VmFsdWUuaCIKKyNlbmRpZgogI2luY2x1ZGUgPGxpbWl0cy5oPgogI2luY2x1ZGUgPHd0Zi9IZXhO
dW1iZXIuaD4KICNpbmNsdWRlIDx3dGYvZHRvYS5oPgpAQCAtNjQ5Niw3ICs2NDk5LDE1MiBAQCBz
dGF0aWMgdm9pZCBmaWx0ZXJJbmZvRm9yTmFtZShjb25zdCBDU1NQYXJzZXJTdHJpbmcmIG5hbWUs
IFdlYktpdENTU0ZpbHRlclZhbHVlOgogICAgICAgICBmaWx0ZXJUeXBlID0gV2ViS2l0Q1NTRmls
dGVyVmFsdWU6OlNoYXJwZW5GaWx0ZXJPcGVyYXRpb247CiAgICAgICAgIG1heGltdW1Bcmd1bWVu
dENvdW50ID0gMzsKICAgICB9CisjaWYgRU5BQkxFKENTU19TSEFERVJTKQorICAgIGVsc2UgaWYg
KGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJjdXN0b20oIikpCisgICAgICAgIGZpbHRlclR5cGUg
PSBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6Q3VzdG9tRmlsdGVyT3BlcmF0aW9uOworI2VuZGlmCit9
CisKKyNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCitzdGF0aWMgYm9vbCBhY2NlcHRDb21tYU9wZXJh
dG9yKENTU1BhcnNlclZhbHVlTGlzdCogYXJnc0xpc3QpCit7CisgICAgaWYgKENTU1BhcnNlclZh
bHVlKiBhcmcgPSBhcmdzTGlzdC0+Y3VycmVudCgpKSB7CisgICAgICAgIGlmIChhcmctPnVuaXQg
IT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9yIHx8IGFyZy0+aVZhbHVlICE9ICcsJykKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgYXJnc0xpc3QtPm5leHQoKTsKKyAgICB9Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKK1Bhc3NSZWZQdHI8V2ViS2l0Q1NTRmlsdGVyVmFsdWU+IENT
U1BhcnNlcjo6cGFyc2VDdXN0b21GaWx0ZXIoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlKQoreworICAg
IENTU1BhcnNlclZhbHVlTGlzdCogYXJnc0xpc3QgPSB2YWx1ZS0+ZnVuY3Rpb24tPmFyZ3MuZ2V0
KCk7CisgICAgaWYgKCFhcmdzTGlzdCkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBSZWZQdHI8
V2ViS2l0Q1NTRmlsdGVyVmFsdWU+IGZpbHRlclZhbHVlID0gV2ViS2l0Q1NTRmlsdGVyVmFsdWU6
OmNyZWF0ZShXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6Q3VzdG9tRmlsdGVyT3BlcmF0aW9uKTsKKwor
ICAgIC8vIEN1c3RvbSBmaWx0ZXIgc3ludGF4OgorICAgIC8vCisgICAgLy8gdmVydGV4U2hhZGVy
OiAgICA8dXJpPiB8IG5vbmUKKyAgICAvLyBmcmFnbWVudFNoYWRlcjogIDx1cmk+IHwgbm9uZQor
ICAgIC8vCisgICAgLy8gYm94OiBmaWx0ZXItYm94IHwgYm9yZGVyLWJveCB8IHBhZGRpbmctYm94
IHwgY29udGVudC1ib3gKKyAgICAvLyB2ZXJ0ZXhNZXNoOiAgKzxpbnRlZ2VyPnsxLDJ9W3dzcDxi
b3g+XVt3c3AnZGV0YWNoZWQnXQorICAgIC8vCisgICAgLy8gcGFyYW0tdmFsdWU6IHRydWV8ZmFs
c2Vbd3NwK3RydWV8ZmFsc2VdezAtM30gfAorICAgIC8vICAgICAgICAgICAgICA8bnVtYmVyPlt3
c3ArPG51bWJlcj5dezAtM30gfAorICAgIC8vICAgICAgICAgICAgICA8YXJyYXk+IHwKKyAgICAv
LyAgICAgICAgICAgICAgPHRyYW5zZm9ybT4gfAorICAgIC8vICAgICAgICAgICAgICA8dGV4dHVy
ZSg8dXJpPik+CisgICAgLy8gYXJyYXk6ICdhcnJheSgnPG51bWJlcj5bd3NwPG51bWJlcj5dKicp
JworICAgIC8vIGNzcy0zZC10cmFuc2Zvcm06IDx0cmFuc2Zvcm0tZnVuY3Rpb24+O1s8dHJhbnNm
b3JtLWZ1bmN0aW9uPl0qCisgICAgLy8gdHJhbnNmb3JtOiAgIDxjc3MtM2QtdHJhbnNmb3JtPiB8
IDxtYXQ+CisgICAgLy8gbWF0OiAgICAgICAgICdtYXQyKCc8bnVtYmVyPigsPG51bWJlcj4pezN9
JyknIHwgCisgICAgLy8gICAgICAgICAgICAgICdtYXQzKCc8bnVtYmVyPigsPG51bWJlcj4pezh9
JyknIHwgCisgICAgLy8gICAgICAgICAgICAgICdtYXQ0KCc8bnVtYmVyPigsPG51bWJlcj4pezE1
fScpJyApCisgICAgLy8gcGFyYW0tZGVmOiAgIDxwYXJhbS1uYW1lPndzcDxwYXJhbS12YWx1ZT4K
KyAgICAvLyBwYXJhbS1uYW1lOiAgPGlkZW50PgorICAgIC8vIHBhcmFtczogICAgICBbPHBhcmFt
LWRlZj5bLDxwYXJhbS1kZWY+Kl1dCisgICAgLy8KKyAgICAvLyBjdXN0b20oPHZlcnRleC1zaGFk
ZXI+W3dzcDxmcmFnbWVudC1zaGFkZXI+XVssPHZlcnRleC1tZXNoPl1bLDxwYXJhbXM+XSkKKyAg
ICAKKyAgICAvLyAxLiBQYXJzZSB0aGUgc2hhZGVyIFVSTHM6IDx2ZXJ0ZXgtc2hhZGVyPlt3c3A8
ZnJhZ21lbnQtc2hhZGVyPl0KKyAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBzaGFkZXJzTGlzdCA9
IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICBib29sIGhhZEF0TGVh
c3RPbmVDdXN0b21TaGFkZXIgPSBmYWxzZTsKKyAgICBDU1NQYXJzZXJWYWx1ZSogYXJnOworICAg
IHdoaWxlICgoYXJnID0gYXJnc0xpc3QtPmN1cnJlbnQoKSkpIHsKKyAgICAgICAgUmVmUHRyPENT
U1ZhbHVlPiB2YWx1ZTsKKyAgICAgICAgaWYgKGFyZy0+aWQgPT0gQ1NTVmFsdWVOb25lKQorICAg
ICAgICAgICAgdmFsdWUgPSBwcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0ZUlkZW50aWZpZXJW
YWx1ZShDU1NWYWx1ZU5vbmUpOworICAgICAgICBlbHNlIGlmIChhcmctPnVuaXQgPT0gQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19VUkkpIHsKKyAgICAgICAgICAgIEtVUkwgc2hhZGVyVVJMID0gbV9z
dHlsZVNoZWV0ID8gbV9zdHlsZVNoZWV0LT5jb21wbGV0ZVVSTChhcmctPnN0cmluZykgOiBLVVJM
KCk7CisgICAgICAgICAgICB2YWx1ZSA9IFdlYktpdENTU1NoYWRlclZhbHVlOjpjcmVhdGUoc2hh
ZGVyVVJMLnN0cmluZygpKTsKKyAgICAgICAgICAgIGhhZEF0TGVhc3RPbmVDdXN0b21TaGFkZXIg
PSB0cnVlOworICAgICAgICB9CisgICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgc2hhZGVyc0xpc3QtPmFwcGVuZCh2YWx1ZS5yZWxlYXNlKCkpOworICAgICAg
ICBhcmdzTGlzdC0+bmV4dCgpOworICAgIH0KKworICAgIGlmICghc2hhZGVyc0xpc3QtPmxlbmd0
aCgpIHx8ICFoYWRBdExlYXN0T25lQ3VzdG9tU2hhZGVyIHx8IHNoYWRlcnNMaXN0LT5sZW5ndGgo
KSA+IDIgfHwgIWFjY2VwdENvbW1hT3BlcmF0b3IoYXJnc0xpc3QpKQorICAgICAgICByZXR1cm4g
MDsKKyAgICAgICAgCisgICAgZmlsdGVyVmFsdWUtPmFwcGVuZChzaGFkZXJzTGlzdC5yZWxlYXNl
KCkpOworICAgIAorICAgIC8vIDIuIFBhcnNlIHRoZSBtZXNoIHNpemUgPHZlcnRleC1tZXNoPgor
ICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IG1lc2hTaXplTGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3Jl
YXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICAKKyAgICB3aGlsZSAoKGFyZyA9IGFyZ3NMaXN0LT5j
dXJyZW50KCkpKSB7CisgICAgICAgIGlmICghdmFsaWRVbml0KGFyZywgRkludGVnZXIgfCBGTm9u
TmVnLCB0cnVlKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBtZXNoU2l6ZUxpc3QtPmFw
cGVuZChwcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0ZVZhbHVlKGNsYW1wVG9JbnRlZ2VyKGFy
Zy0+ZlZhbHVlKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpKTsKKyAgICAgICAgYXJn
c0xpc3QtPm5leHQoKTsKKyAgICB9CisgICAgCisgICAgaWYgKG1lc2hTaXplTGlzdC0+bGVuZ3Ro
KCkgPiAyKQorICAgICAgICByZXR1cm4gMDsKKyAgICAKKyAgICBpZiAoKGFyZyA9IGFyZ3NMaXN0
LT5jdXJyZW50KCkpICYmIChhcmctPmlkID09IENTU1ZhbHVlQm9yZGVyQm94IHx8IGFyZy0+aWQg
PT0gQ1NTVmFsdWVQYWRkaW5nQm94CisgICAgICAgIHx8IGFyZy0+aWQgPT0gQ1NTVmFsdWVDb250
ZW50Qm94IHx8IGFyZy0+aWQgPT0gQ1NTVmFsdWVGaWx0ZXJCb3gpKSB7CisgICAgICAgIG1lc2hT
aXplTGlzdC0+YXBwZW5kKHByaW1pdGl2ZVZhbHVlQ2FjaGUoKS0+Y3JlYXRlSWRlbnRpZmllclZh
bHVlKGFyZy0+aWQpKTsKKyAgICAgICAgYXJnc0xpc3QtPm5leHQoKTsKKyAgICB9CisgICAgCisg
ICAgaWYgKChhcmcgPSBhcmdzTGlzdC0+Y3VycmVudCgpKSAmJiBhcmctPmlkID09IENTU1ZhbHVl
RGV0YWNoZWQpIHsKKyAgICAgICAgbWVzaFNpemVMaXN0LT5hcHBlbmQocHJpbWl0aXZlVmFsdWVD
YWNoZSgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoYXJnLT5pZCkpOworICAgICAgICBhcmdzTGlz
dC0+bmV4dCgpOworICAgIH0KKyAgICAKKyAgICBpZiAobWVzaFNpemVMaXN0LT5sZW5ndGgoKSkg
eworICAgICAgICBpZiAoIWFjY2VwdENvbW1hT3BlcmF0b3IoYXJnc0xpc3QpKQorICAgICAgICAg
ICAgcmV0dXJuIDA7CisgICAgICAgIGZpbHRlclZhbHVlLT5hcHBlbmQobWVzaFNpemVMaXN0LnJl
bGVhc2UoKSk7CisgICAgfQorICAgIAorICAgIC8vIDMuIFBhcnNlciB0aGUgcGFyYW1ldGVycy4K
KyAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBwYXJhbUxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0
ZUNvbW1hU2VwYXJhdGVkKCk7CisgICAgCisgICAgd2hpbGUgKChhcmcgPSBhcmdzTGlzdC0+Y3Vy
cmVudCgpKSkgeworICAgICAgICBpZiAoYXJnLT5pZCB8fCBhcmctPnVuaXQgIT0gQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19JREVOVCkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIFJlZlB0
cjxDU1NWYWx1ZUxpc3Q+IHBhcmFtZXRlciA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBh
cmF0ZWQoKTsKKyAgICAgICAgcGFyYW1ldGVyLT5hcHBlbmQoY3JlYXRlUHJpbWl0aXZlU3RyaW5n
VmFsdWUoYXJnKSk7CisgICAgICAgIGFyZ3NMaXN0LT5uZXh0KCk7CisKKyAgICAgICAgaWYgKCEo
YXJnID0gYXJnc0xpc3QtPmN1cnJlbnQoKSkpCisgICAgICAgICAgICByZXR1cm4gMDsKKworICAg
ICAgICAvLyBUT0RPOiBJbXBsZW1lbnQgb3RoZXIgcGFyYW1ldGVycyB0eXBlcyBwYXJzaW5nLgor
ICAgICAgICAvLyB0ZXh0dXJlczogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcxNDQyCisgICAgICAgIC8vIDNkLXRyYW5zZm9ybXM6IGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MTQ0MworICAgICAgICAvLyBtYXQyLCBtYXQzLCBtYXQ0OiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0NDQKKyAgICAgICAgUmVm
UHRyPENTU1ZhbHVlTGlzdD4gcGFyYW1WYWx1ZUxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNw
YWNlU2VwYXJhdGVkKCk7CisgICAgICAgIHdoaWxlICgoYXJnID0gYXJnc0xpc3QtPmN1cnJlbnQo
KSkpIHsKKyAgICAgICAgICAgIC8vIElmIHdlIGhpdCBhIGNvbW1hIGl0IG1lYW5zIHdlIGZpbmlz
aGVkIHRoaXMgcGFyYW1ldGVyJ3MgdmFsdWVzLgorICAgICAgICAgICAgaWYgKGFyZy0+dW5pdCA9
PSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3IgJiYgYXJnLT5pVmFsdWUgPT0gJywnKQorICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgaWYgKCF2YWxpZFVuaXQoYXJnLCBGTnVtYmVy
LCB0cnVlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHBhcmFtVmFs
dWVMaXN0LT5hcHBlbmQocHJpbWl0aXZlVmFsdWVDYWNoZSgpLT5jcmVhdGVWYWx1ZShhcmctPmZW
YWx1ZSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpKTsKKyAgICAgICAgICAgIGFyZ3NM
aXN0LT5uZXh0KCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFwYXJhbVZhbHVlTGlzdC0+bGVu
Z3RoKCkgfHwgcGFyYW1WYWx1ZUxpc3QtPmxlbmd0aCgpID4gNCkKKyAgICAgICAgICAgIHJldHVy
biAwOworICAgICAgICBwYXJhbWV0ZXItPmFwcGVuZChwYXJhbVZhbHVlTGlzdC5yZWxlYXNlKCkp
OworICAgICAgICBwYXJhbUxpc3QtPmFwcGVuZChwYXJhbWV0ZXIucmVsZWFzZSgpKTsKKyAgICAg
ICAgaWYgKCFhY2NlcHRDb21tYU9wZXJhdG9yKGFyZ3NMaXN0KSkKKyAgICAgICAgICAgIHJldHVy
biAwOworICAgIH0KKyAgICAKKyAgICBpZiAocGFyYW1MaXN0LT5sZW5ndGgoKSkKKyAgICAgICAg
ZmlsdGVyVmFsdWUtPmFwcGVuZChwYXJhbUxpc3QucmVsZWFzZSgpKTsKKyAgICAKKyAgICByZXR1
cm4gZmlsdGVyVmFsdWU7CiB9CisjZW5kaWYKIAogYm9vbCBDU1NQYXJzZXI6OmlzVmFsaWRGaWx0
ZXJBcmd1bWVudChDU1NQYXJzZXJWYWx1ZSogYXJndW1lbnQsIFdlYktpdENTU0ZpbHRlclZhbHVl
OjpGaWx0ZXJPcGVyYXRpb25UeXBlJiBmaWx0ZXJUeXBlLCB1bnNpZ25lZCBhcmd1bWVudENvdW50
KQogewpAQCAtNjU3Myw2ICs2NzIxLDE2IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWVMaXN0PiBDU1NQ
YXJzZXI6OnBhcnNlRmlsdGVyKCkKICAgICAgICAgICAgIGlmIChmaWx0ZXJUeXBlID09IFdlYktp
dENTU0ZpbHRlclZhbHVlOjpVbmtub3duRmlsdGVyT3BlcmF0aW9uKQogICAgICAgICAgICAgICAg
IHJldHVybiAwOwogCisjaWYgRU5BQkxFKENTU19TSEFERVJTKQorICAgICAgICAgICAgaWYgKGZp
bHRlclR5cGUgPT0gV2ViS2l0Q1NTRmlsdGVyVmFsdWU6OkN1c3RvbUZpbHRlck9wZXJhdGlvbikg
eworICAgICAgICAgICAgICAgIFJlZlB0cjxXZWJLaXRDU1NGaWx0ZXJWYWx1ZT4gZmlsdGVyVmFs
dWUgPSBwYXJzZUN1c3RvbUZpbHRlcih2YWx1ZSk7CisgICAgICAgICAgICAgICAgaWYgKCFmaWx0
ZXJWYWx1ZSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAgICAg
bGlzdC0+YXBwZW5kKGZpbHRlclZhbHVlLnJlbGVhc2UoKSk7CisgICAgICAgICAgICAgICAgY29u
dGludWU7CisgICAgICAgICAgICB9CisjZW5kaWYKKwogICAgICAgICAgICAgQ1NTUGFyc2VyVmFs
dWVMaXN0KiBhcmdzID0gdmFsdWUtPmZ1bmN0aW9uLT5hcmdzLmdldCgpOwogICAgICAgICAgICAg
aWYgKCFhcmdzIHx8IGFyZ3MtPnNpemUoKSA+IG1heGltdW1Bcmd1bWVudENvdW50KQogICAgICAg
ICAgICAgICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IDMyOTBmOGZlZTdl
YWM2NjNmYjc4MjkwNThlZGI4OTU3MzIxYWJkNjIuLjQ4ODdkY2FjYWI5NTM2NDYzNjQwNzNiNzY4
ZTAyZTBjYTQ3ZDhjMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTE5MCw2ICsxOTAsOSBA
QCBwdWJsaWM6CiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQogICAgIGJvb2wgaXNWYWxpZEZpbHRl
ckFyZ3VtZW50KENTU1BhcnNlclZhbHVlKiBhcmd1bWVudCwgV2ViS2l0Q1NTRmlsdGVyVmFsdWU6
OkZpbHRlck9wZXJhdGlvblR5cGUmLCB1bnNpZ25lZCBhcmd1bWVudENvdW50KTsKICAgICBQYXNz
UmVmUHRyPENTU1ZhbHVlTGlzdD4gcGFyc2VGaWx0ZXIoKTsKKyNpZiBFTkFCTEUoQ1NTX1NIQURF
UlMpCisgICAgUGFzc1JlZlB0cjxXZWJLaXRDU1NGaWx0ZXJWYWx1ZT4gcGFyc2VDdXN0b21GaWx0
ZXIoQ1NTUGFyc2VyVmFsdWUqKTsKKyNlbmRpZgogI2VuZGlmCiAKICAgICBQYXNzUmVmUHRyPENT
U1ZhbHVlTGlzdD4gcGFyc2VUcmFuc2Zvcm0oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNl
bGVjdG9yLmNwcAppbmRleCAxOWEzMTAyMjFkNzNmNzIzOGVkNGEzNmQ2NTZlY2NjMTkxYmE0ZjVj
Li42MjZhMmExMTk2YmZlY2Y1NDA2ZTBiYmNlOTM3MzMxOWQ3OTIxNzAzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCkBAIC01MzkyLDYgKzUzOTIsMTAgQEAgc3RhdGlj
IEZpbHRlck9wZXJhdGlvbjo6T3BlcmF0aW9uVHlwZSBmaWx0ZXJPcGVyYXRpb25Gb3JUeXBlKFdl
YktpdENTU0ZpbHRlclZhbHUKICAgICAgICAgcmV0dXJuIEZpbHRlck9wZXJhdGlvbjo6U0hBUlBF
TjsKICAgICBjYXNlIFdlYktpdENTU0ZpbHRlclZhbHVlOjpEcm9wU2hhZG93RmlsdGVyT3BlcmF0
aW9uOgogICAgICAgICByZXR1cm4gRmlsdGVyT3BlcmF0aW9uOjpEUk9QX1NIQURPVzsKKyNpZiBF
TkFCTEUoQ1NTX1NIQURFUlMpCisgICAgY2FzZSBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6Q3VzdG9t
RmlsdGVyT3BlcmF0aW9uOgorICAgICAgICByZXR1cm4gRmlsdGVyT3BlcmF0aW9uOjpDVVNUT007
CisjZW5kaWYKICAgICBjYXNlIFdlYktpdENTU0ZpbHRlclZhbHVlOjpVbmtub3duRmlsdGVyT3Bl
cmF0aW9uOgogICAgICAgICByZXR1cm4gRmlsdGVyT3BlcmF0aW9uOjpOT05FOwogICAgIH0KQEAg
LTU0MTUsNiArNTQxOSwxNCBAQCBib29sIENTU1N0eWxlU2VsZWN0b3I6OmNyZWF0ZUZpbHRlck9w
ZXJhdGlvbnMoQ1NTVmFsdWUqIGluVmFsdWUsIFJlbmRlclN0eWxlKiBzdAogICAgICAgICBXZWJL
aXRDU1NGaWx0ZXJWYWx1ZSogZmlsdGVyVmFsdWUgPSBzdGF0aWNfY2FzdDxXZWJLaXRDU1NGaWx0
ZXJWYWx1ZSo+KGkudmFsdWUoKSk7CiAgICAgICAgIEZpbHRlck9wZXJhdGlvbjo6T3BlcmF0aW9u
VHlwZSBvcGVyYXRpb25UeXBlID0gZmlsdGVyT3BlcmF0aW9uRm9yVHlwZShmaWx0ZXJWYWx1ZS0+
b3BlcmF0aW9uVHlwZSgpKTsKIAorI2lmIEVOQUJMRShDU1NfU0hBREVSUykKKyAgICAgICAgaWYg
KG9wZXJhdGlvblR5cGUgPT0gRmlsdGVyT3BlcmF0aW9uOjpDVVNUT00pIHsKKyAgICAgICAgICAg
IC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhlIGZpbHRlciBvcGVyYXRpb24gZm9yIHRoZSBjdXN0b20g
c2hhZGVyLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcxNDQ2CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorI2VuZGlmCisK
ICAgICAgICAgYm9vbCBoYXZlTm9uUHJpbWl0aXZlVmFsdWUgPSBmYWxzZTsKICAgICAgICAgZm9y
ICh1bnNpZ25lZCBqID0gMDsgaiA8IGZpbHRlclZhbHVlLT5sZW5ndGgoKTsgKytqKSB7CiAgICAg
ICAgICAgICBpZiAoIWZpbHRlclZhbHVlLT5pdGVtV2l0aG91dEJvdW5kc0NoZWNrKGopLT5pc1By
aW1pdGl2ZVZhbHVlKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCmluZGV4IDNjOTJiZDk2NjI5
NzRlNWViZTQzMjY5MTQxMTFjMDAyMWY4YjNlMTIuLjlkZmYzMzlmNDlmODQ3OTZmZWU1OTM1MzQ3
ZDU1N2I3MzlhYzUwMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcApAQCAtNTQsNiArNTQsNyBA
QAogI2luY2x1ZGUgIlNWR0NvbG9yLmgiCiAjaW5jbHVkZSAiU1ZHUGFpbnQuaCIKICNpbmNsdWRl
ICJXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5oIgorI2luY2x1ZGUgIldlYktpdENTU1NoYWRlclZhbHVl
LmgiCiAjaW5jbHVkZSAiV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtMTQ4LDYgKzE0OSwxMCBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBj
b25zdAogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAgICBjYXNlIFdlYktpdENTU0ZpbHRlckNs
YXNzOgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTRmlsdGVyVmFs
dWUqPih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOworI2lmIEVOQUJMRShDU1NfU0hBREVSUykKKyAg
ICBjYXNlIFdlYktpdENTU1NoYWRlckNsYXNzOgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
Y29uc3QgV2ViS2l0Q1NTU2hhZGVyVmFsdWUqPih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOworI2Vu
ZGlmCiAjZW5kaWYKICNpZiBFTkFCTEUoU1ZHKQogICAgIGNhc2UgU1ZHQ29sb3JDbGFzczoKQEAg
LTI1MSw2ICsyNTYsMTEgQEAgdm9pZCBDU1NWYWx1ZTo6ZGVzdHJveSgpCiAgICAgY2FzZSBXZWJL
aXRDU1NGaWx0ZXJDbGFzczoKICAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFdlYktpdENTU0Zp
bHRlclZhbHVlKj4odGhpcyk7CiAgICAgICAgIHJldHVybjsKKyNpZiBFTkFCTEUoQ1NTX1NIQURF
UlMpCisgICAgY2FzZSBXZWJLaXRDU1NTaGFkZXJDbGFzczoKKyAgICAgICAgZGVsZXRlIHN0YXRp
Y19jYXN0PFdlYktpdENTU1NoYWRlclZhbHVlKj4odGhpcyk7CisgICAgICAgIHJldHVybjsKKyNl
bmRpZgogI2VuZGlmCiAjaWYgRU5BQkxFKFNWRykKICAgICBjYXNlIFNWR0NvbG9yQ2xhc3M6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZS5oCmluZGV4IDQxZDU0NWEzODZlNmU5MmJiNDg4NjhjZGMyM2E2MDQ0ZGFk
MGQxYjIuLmNkZmE3MzAzZTQxODI2Nzc3NDJiMzQyYWJlMzI1OTVmMTkyYjhhNzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NWYWx1ZS5oCkBAIC04MSw3ICs4MSwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKICNpZiBFTkFC
TEUoQ1NTX0ZJTFRFUlMpCiAgICAgYm9vbCBpc1dlYktpdENTU0ZpbHRlclZhbHVlKCkgY29uc3Qg
eyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gV2ViS2l0Q1NTRmlsdGVyQ2xhc3M7IH0KKyNpZiBFTkFC
TEUoQ1NTX1NIQURFUlMpCisgICAgYm9vbCBpc1dlYktpdENTU1NoYWRlclZhbHVlKCkgY29uc3Qg
eyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gV2ViS2l0Q1NTU2hhZGVyQ2xhc3M7IH0KICNlbmRpZgor
I2VuZGlmIC8vIEVOQUJMRShDU1NfRklMVEVSUykKICNpZiBFTkFCTEUoU1ZHKQogICAgIGJvb2wg
aXNTVkdDb2xvcigpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IFNWR0NvbG9yQ2xhc3Mg
fHwgbV9jbGFzc1R5cGUgPT0gU1ZHUGFpbnRDbGFzczsgfQogICAgIGJvb2wgaXNTVkdQYWludCgp
IGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IFNWR1BhaW50Q2xhc3M7IH0KQEAgLTEyNCw3
ICsxMjcsMTAgQEAgcHJvdGVjdGVkOgogI2VuZGlmCiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQog
ICAgICAgICBXZWJLaXRDU1NGaWx0ZXJDbGFzcywKKyNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisg
ICAgICAgIFdlYktpdENTU1NoYWRlckNsYXNzLAogI2VuZGlmCisjZW5kaWYgLy8gRU5BQkxFKENT
U19GSUxURVJTKQogI2lmIEVOQUJMRShTVkcpCiAgICAgICAgIFNWR0NvbG9yQ2xhc3MsCiAgICAg
ICAgIFNWR1BhaW50Q2xhc3MsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmlu
ZGV4IDViMDMwOWUzNTk4OGZiYzdhNGVkZjdmMDVjZjE2NWY0YjhjYjEzMzIuLmU2NmMxZGQ2M2I4
ZTk5ZjQ3NWQ3Y2RjZjdmNjViNWQ1ZmU1MTg5MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZUtleXdvcmRzLmluCkBAIC04NDcsMyArODQ3LDE1IEBAIGV2ZW5vZGQKIC8vIC13ZWJraXQtcmVn
aW9uLW92ZXJmbG93CiAvLyBhdXRvCiBicmVhaworCisjaWYgZGVmaW5lZChFTkFCTEVfQ1NTX0ZJ
TFRFUlMpICYmIEVOQUJMRV9DU1NfRklMVEVSUworLy8gLXdlYmtpdC1maWx0ZXIKKyNpZiBkZWZp
bmVkKEVOQUJMRV9DU1NfU0hBREVSUykgJiYgRU5BQkxFX0NTU19TSEFERVJTCisvLyB2YWx1ZXMg
Zm9yIHRoZSBjdXN0b20oKSBmdW5jdGlvbgorLy8gYm9yZGVyLWJveAorLy8gcGFkZGluZy1ib3gK
Ky8vIGNvbnRlbnQtYm94CitmaWx0ZXItYm94CitkZXRhY2hlZAorI2VuZGlmIC8vIENTU19TSEFE
RVJTCisjZW5kaWYgLy8gQ1NTX0ZJTFRFUlMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NT
RmlsdGVyVmFsdWUuY3BwCmluZGV4IDY0ZmViOGNhMTIxMjQ5MTFlMjliZjlmY2YwNjgxMmE3NDgz
N2EwNjYuLmNhYWE4YjA3YjIwYTExMWEwZDkzMjYxMjA1MmMzODI1NzFiYzgzY2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNwcApAQCAtMzUsMTEgKzM1LDIw
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdlYktpdENTU0ZpbHRlclZhbHVlOjpXZWJLaXRD
U1NGaWx0ZXJWYWx1ZShGaWx0ZXJPcGVyYXRpb25UeXBlIG9wZXJhdGlvblR5cGUpCi0gICAgOiBD
U1NWYWx1ZUxpc3QoV2ViS2l0Q1NTRmlsdGVyQ2xhc3MsIHRydWUpCisgICAgOiBDU1NWYWx1ZUxp
c3QoV2ViS2l0Q1NTRmlsdGVyQ2xhc3MsIHR5cGVVc2VzU3BhY2VTZXBhcmF0b3Iob3BlcmF0aW9u
VHlwZSkpCiAgICAgLCBtX3R5cGUob3BlcmF0aW9uVHlwZSkKIHsKIH0KIAorYm9vbCBXZWJLaXRD
U1NGaWx0ZXJWYWx1ZTo6dHlwZVVzZXNTcGFjZVNlcGFyYXRvcihGaWx0ZXJPcGVyYXRpb25UeXBl
IG9wZXJhdGlvblR5cGUpCit7CisjaWYgRU5BQkxFKENTU19TSEFERVJTKQorICAgIHJldHVybiBv
cGVyYXRpb25UeXBlICE9IEN1c3RvbUZpbHRlck9wZXJhdGlvbjsKKyNlbHNlCisgICAgcmV0dXJu
IHRydWU7CisjZW5kaWYKK30KKwogU3RyaW5nIFdlYktpdENTU0ZpbHRlclZhbHVlOjpjdXN0b21D
c3NUZXh0KCkgY29uc3QKIHsKICAgICBTdHJpbmcgcmVzdWx0OwpAQCAtNzcsNiArODYsMTEgQEAg
U3RyaW5nIFdlYktpdENTU0ZpbHRlclZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKICAgICBj
YXNlIERyb3BTaGFkb3dGaWx0ZXJPcGVyYXRpb246CiAgICAgICAgIHJlc3VsdCA9ICJkcm9wLXNo
YWRvdygiOwogICAgICAgICBicmVhazsKKyNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisgICAgY2Fz
ZSBDdXN0b21GaWx0ZXJPcGVyYXRpb246CisgICAgICAgIHJlc3VsdCA9ICJjdXN0b20oIjsKKyAg
ICAgICAgYnJlYWs7CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5oCmluZGV4IGZiODZiZDU2
ZmQ5MmZjNmMyNWQ4ZWFmMjRjMjNiMzVmMjMwMmJiNTAuLmM5MmMyMjRkMWIwNWE3MjdmMzFhNWE5
ODc1MjRhMjM0OTdjNDE4ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRD
U1NGaWx0ZXJWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NGaWx0ZXJW
YWx1ZS5oCkBAIC01MCw4ICs1MCwxMyBAQCBwdWJsaWM6CiAgICAgICAgIEJsdXJGaWx0ZXJPcGVy
YXRpb24sCiAgICAgICAgIFNoYXJwZW5GaWx0ZXJPcGVyYXRpb24sCiAgICAgICAgIERyb3BTaGFk
b3dGaWx0ZXJPcGVyYXRpb24KKyNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisgICAgICAgICwgQ3Vz
dG9tRmlsdGVyT3BlcmF0aW9uCisjZW5kaWYKICAgICB9OwogCisgICAgc3RhdGljIGJvb2wgdHlw
ZVVzZXNTcGFjZVNlcGFyYXRvcihGaWx0ZXJPcGVyYXRpb25UeXBlKTsKKwogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFdlYktpdENTU0ZpbHRlclZhbHVlPiBjcmVhdGUoRmlsdGVyT3BlcmF0aW9uVHlw
ZSB0eXBlKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJLaXRDU1NGaWx0
ZXJWYWx1ZSh0eXBlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NT
RmlsdGVyVmFsdWUuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVl
LmlkbAppbmRleCBhYzk5YWE2Nzk0Y2JlZmM0MmU1ZmYyMTM0ODhmYjBlNDg2Y2YyMWZlLi5iNDhm
ZWMyNzYzYTI5ZDljM2JiZTkyN2JhNmUzNzgwZThlNDE2MjVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5pZGwKQEAgLTQ1LDYgKzQ1LDEwIEBAIG1vZHVsZSBj
c3MgewogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBDU1NfRklMVEVSX1NIQVJQRU4gPSAx
MDsKICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQ1NTX0ZJTFRFUl9EUk9QX1NIQURPVyA9
IDExOwogCisjaWYgZGVmaW5lZChFTkFCTEVfQ1NTX1NIQURFUlMpICYmIEVOQUJMRV9DU1NfU0hB
REVSUworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBDU1NfRklMVEVSX0NVU1RPTSA9IDEy
OworI2VuZGlmCisKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IG9w
ZXJhdGlvblR5cGU7CiAgICAgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NTaGFkZXJWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NoYWRl
clZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZTkyZmY5ZDM2ZTVlNDZlNjI3NzRjNWE2YTAyMTE3YmM3NTdl
MzZiYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFk
ZXJWYWx1ZS5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxMSBBZG9iZSBT
eXN0ZW1zIEluY29ycG9yYXRlZC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBXZWJLaXRDU1NTaGFkZXJWYWx1ZV9oCisjZGVmaW5lIFdlYktpdENTU1NoYWRlclZh
bHVlX2gKKworI2lmIEVOQUJMRShDU1NfU0hBREVSUykKKworI2luY2x1ZGUgIkNTU1ByaW1pdGl2
ZVZhbHVlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViS2l0Q1NTU2hhZGVy
VmFsdWUgOiBwdWJsaWMgQ1NTUHJpbWl0aXZlVmFsdWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYktpdENTU1NoYWRlclZh
bHVlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1cmwpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJL
aXRDU1NTaGFkZXJWYWx1ZSh1cmwpKTsgfQorICAgIAorcHJpdmF0ZToKKyAgICBXZWJLaXRDU1NT
aGFkZXJWYWx1ZShjb25zdCBTdHJpbmcmIHVybCkKKyAgICAgICAgOiBDU1NQcmltaXRpdmVWYWx1
ZShXZWJLaXRDU1NTaGFkZXJDbGFzcywgdXJsLCBDU1NfVVJJKQorICAgIHsKKyAgICB9Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQ1NTX1NIQURFUlMp
CisKKyNlbmRpZiAvLyBXZWJLaXRDU1NTaGFkZXJWYWx1ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJPcGVyYXRpb24uaApp
bmRleCBlODYyZTg0MDVhNWUxYmExYWEyMDM5ZWYxYzhkODYwYjM1Nzc5N2RjLi5hZjI0MWY5Yjcz
NzBmYjkwZGVhNmVhZWQxMDFmMDgzMmEyOTg3NTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9uLmgKQEAg
LTUzLDYgKzUzLDkgQEAgcHVibGljOgogICAgICAgICBCTFVSLAogICAgICAgICBTSEFSUEVOLAog
ICAgICAgICBEUk9QX1NIQURPVywKKyNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisgICAgICAgIENV
U1RPTSwKKyNlbmRpZgogICAgICAgICBOT05FCiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY5ZjFkMzIwNjc0
MzgxOTVmM2FlMTU1NWE2NzkwNmRmY2Q5ZGMxNGIuLmVjZDFlMGI0ZTdhNGU1MmIzM2E3OWE2YTRh
NjBjY2YxN2RmYmNlNDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMS0xMS0wOSAgQWxleGFu
ZHJ1IENoaWN1bGl0YSAgPGFjaGljdUBhZG9iZS5jb20+CisKKyAgICAgICAgW1BhcnQgMV0gUGFy
c2UgdGhlIGN1c3RvbSgpIGZ1bmN0aW9uIGluIC13ZWJraXQtZmlsdGVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTQ0MQorCisgICAgICAgIFJldmll
d2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICAqIGNzczMvZmlsdGVycy9jdXN0b20tZmls
dGVyLXByb3BlcnR5LXBhcnNpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3Mz
L2ZpbHRlcnMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFsaWQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0
eS1wYXJzaW5nLWludmFsaWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2N1
c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2luZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3Mz
L2ZpbHRlcnMvc2NyaXB0LXRlc3RzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2luZy1pbnZh
bGlkLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3RJbnZhbGlkRmlsdGVyUnVsZSk6CisgICAgICAg
ICogY3NzMy9maWx0ZXJzL3NjcmlwdC10ZXN0cy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNp
bmcuanM6IEFkZGVkLgorICAgICAgICAoanNXcmFwcGVyQ2xhc3MpOgorICAgICAgICAoZXhwcmVz
c2lvbik6CisgICAgICAgIChkZXNjcmlwdGlvbik6CisKIDIwMTEtMTEtMDkgIEdhYm9yIFJhcGNz
YW55aSAgPHJnYWJvckB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gVW5yZXZpZXdlZC4gVXBk
YXRlIHBsYXRmb3JtIHNwZWNpZmljIGV4cGVjdGVkIHJlc3VsdHMgYWdhaW4uCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5n
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20tZmlsdGVyLXBy
b3BlcnR5LXBhcnNpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5MWExN2Q3NmE5Zjc2MTk4
YWI1NDY2YzZlYTIxZjBiYzM5NmQ4NWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
c3MzL2ZpbHRlcnMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzNCBAQAorVGVzdCB0aGUgcGFyc2luZyBvZiB0aGUgY3VzdG9tKCkgZnVuY3Rp
b24gb2YgdGhlIC13ZWJraXQtZmlsdGVyIHByb3BlcnR5LgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworCitDdXN0b20gd2l0aCB2ZXJ0ZXggc2hhZGVyIDogY3VzdG9tKHVybCh2ZXJ0
ZXguc2hhZGVyKSkKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVu
Z3RoIGlzIDEKK1BBU1MgcmVtb3ZlQmFzZVVSTChkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVl
KCctd2Via2l0LWZpbHRlcicpKSBpcyAnY3VzdG9tKHVybCh2ZXJ0ZXguc2hhZGVyKSknCitQQVNT
IGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUpIGlzICdDU1NWYWx1ZUxpc3QnCitQQVNTIGpzV3Jh
cHBlckNsYXNzKGZpbHRlclJ1bGUuX19wcm90b19fKSBpcyAnQ1NTVmFsdWVMaXN0UHJvdG90eXBl
JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLmNvbnN0cnVjdG9yKSBpcyAnQ1NTVmFs
dWVMaXN0Q29uc3RydWN0b3InCitQQVNTIGZpbHRlclJ1bGUubGVuZ3RoIGlzIDEKK1BBU1Mgc3Vi
UnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfQ1VT
VE9NCitQQVNTIHJlbW92ZUJhc2VVUkwoc3ViUnVsZS5jc3NUZXh0KSBpcyAnY3VzdG9tKHVybCh2
ZXJ0ZXguc2hhZGVyKSknCisKK0N1c3RvbSB3aXRoIGZyYWdtZW50IHNoYWRlciA6IGN1c3RvbShu
b25lIHVybChmcmFnbWVudC5zaGFkZXIpKQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBk
ZWNsYXJhdGlvbi5sZW5ndGggaXMgMQorUEFTUyByZW1vdmVCYXNlVVJMKGRlY2xhcmF0aW9uLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykpIGlzICdjdXN0b20obm9uZSB1cmwoZnJh
Z21lbnQuc2hhZGVyKSknCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUpIGlzICdDU1NW
YWx1ZUxpc3QnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuX19wcm90b19fKSBpcyAn
Q1NTVmFsdWVMaXN0UHJvdG90eXBlJworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLmNv
bnN0cnVjdG9yKSBpcyAnQ1NTVmFsdWVMaXN0Q29uc3RydWN0b3InCitQQVNTIGZpbHRlclJ1bGUu
bGVuZ3RoIGlzIDEKK1BBU1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRl
clZhbHVlLkNTU19GSUxURVJfQ1VTVE9NCitQQVNTIHJlbW92ZUJhc2VVUkwoc3ViUnVsZS5jc3NU
ZXh0KSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlcikpJworCitDdXN0b20gd2l0
aCBib3RoIHNoYWRlcnMgOiBjdXN0b20odXJsKHZlcnRleC5zaGFkZXIpIHVybChmcmFnbWVudC5z
aGFkZXIpKQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGgg
aXMgMQorUEFTUyByZW1vdmVCYXNlVVJMKGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZmlsdGVyJykpIGlzICdjdXN0b20odXJsKHZlcnRleC5zaGFkZXIpIHVybChmcmFnbWVu
dC5zaGFkZXIpKScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZSkgaXMgJ0NTU1ZhbHVl
TGlzdCcKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5fX3Byb3RvX18pIGlzICdDU1NW
YWx1ZUxpc3RQcm90b3R5cGUnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuY29uc3Ry
dWN0b3IpIGlzICdDU1NWYWx1ZUxpc3RDb25zdHJ1Y3RvcicKK1BBU1MgZmlsdGVyUnVsZS5sZW5n
dGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFs
dWUuQ1NTX0ZJTFRFUl9DVVNUT00KK1BBU1MgcmVtb3ZlQmFzZVVSTChzdWJSdWxlLmNzc1RleHQp
IGlzICdjdXN0b20odXJsKHZlcnRleC5zaGFkZXIpIHVybChmcmFnbWVudC5zaGFkZXIpKScKKwor
Q3VzdG9tIHdpdGggbWVzaCBzaXplIDogY3VzdG9tKHVybCh2ZXJ0ZXguc2hhZGVyKSwgMTApCitQ
QVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAxCitQQVNT
IHJlbW92ZUJhc2VVUkwoZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0
ZXInKSkgaXMgJ2N1c3RvbSh1cmwodmVydGV4LnNoYWRlciksIDEwKScKK1BBU1MganNXcmFwcGVy
Q2xhc3MoZmlsdGVyUnVsZSkgaXMgJ0NTU1ZhbHVlTGlzdCcKK1BBU1MganNXcmFwcGVyQ2xhc3Mo
ZmlsdGVyUnVsZS5fX3Byb3RvX18pIGlzICdDU1NWYWx1ZUxpc3RQcm90b3R5cGUnCitQQVNTIGpz
V3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuY29uc3RydWN0b3IpIGlzICdDU1NWYWx1ZUxpc3RDb25z
dHJ1Y3RvcicKK1BBU1MgZmlsdGVyUnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJh
dGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNUT00KK1BBU1Mg
cmVtb3ZlQmFzZVVSTChzdWJSdWxlLmNzc1RleHQpIGlzICdjdXN0b20odXJsKHZlcnRleC5zaGFk
ZXIpLCAxMCknCisKK0N1c3RvbSB3aXRoIGJvdGggbWVzaCBzaXplcyA6IGN1c3RvbShub25lIHVy
bChmcmFnbWVudC5zaGFkZXIpLCAxMCAyMCkKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1Mg
ZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDEKK1BBU1MgcmVtb3ZlQmFzZVVSTChkZWNsYXJhdGlvbi5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpKSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZy
YWdtZW50LnNoYWRlciksIDEwIDIwKScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZSkg
aXMgJ0NTU1ZhbHVlTGlzdCcKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5fX3Byb3Rv
X18pIGlzICdDU1NWYWx1ZUxpc3RQcm90b3R5cGUnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRl
clJ1bGUuY29uc3RydWN0b3IpIGlzICdDU1NWYWx1ZUxpc3RDb25zdHJ1Y3RvcicKK1BBU1MgZmls
dGVyUnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0
Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNUT00KK1BBU1MgcmVtb3ZlQmFzZVVSTChzdWJS
dWxlLmNzc1RleHQpIGlzICdjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMTAgMjAp
JworCitDdXN0b20gd2l0aCBkZXRhY2hlZCBtZXNoIDogY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50
LnNoYWRlciksIGRldGFjaGVkKQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJh
dGlvbi5sZW5ndGggaXMgMQorUEFTUyByZW1vdmVCYXNlVVJMKGRlY2xhcmF0aW9uLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykpIGlzICdjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQu
c2hhZGVyKSwgZGV0YWNoZWQpJworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlKSBpcyAn
Q1NTVmFsdWVMaXN0JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLl9fcHJvdG9fXykg
aXMgJ0NTU1ZhbHVlTGlzdFByb3RvdHlwZScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVs
ZS5jb25zdHJ1Y3RvcikgaXMgJ0NTU1ZhbHVlTGlzdENvbnN0cnVjdG9yJworUEFTUyBmaWx0ZXJS
dWxlLmxlbmd0aCBpcyAxCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NG
aWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTQorUEFTUyByZW1vdmVCYXNlVVJMKHN1YlJ1bGUu
Y3NzVGV4dCkgaXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBkZXRhY2hlZCkn
CisKK0N1c3RvbSB3aXRoIGRldGFjaGVkIGFuZCBtZXNoIHNpemUgOiBjdXN0b20obm9uZSB1cmwo
ZnJhZ21lbnQuc2hhZGVyKSwgMTAgMjAgZGV0YWNoZWQpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAx
CitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAxCitQQVNTIHJlbW92ZUJhc2VVUkwoZGVjbGFy
YXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSkgaXMgJ2N1c3RvbShub25l
IHVybChmcmFnbWVudC5zaGFkZXIpLCAxMCAyMCBkZXRhY2hlZCknCitQQVNTIGpzV3JhcHBlckNs
YXNzKGZpbHRlclJ1bGUpIGlzICdDU1NWYWx1ZUxpc3QnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZp
bHRlclJ1bGUuX19wcm90b19fKSBpcyAnQ1NTVmFsdWVMaXN0UHJvdG90eXBlJworUEFTUyBqc1dy
YXBwZXJDbGFzcyhmaWx0ZXJSdWxlLmNvbnN0cnVjdG9yKSBpcyAnQ1NTVmFsdWVMaXN0Q29uc3Ry
dWN0b3InCitQQVNTIGZpbHRlclJ1bGUubGVuZ3RoIGlzIDEKK1BBU1Mgc3ViUnVsZS5vcGVyYXRp
b25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfQ1VTVE9NCitQQVNTIHJl
bW92ZUJhc2VVUkwoc3ViUnVsZS5jc3NUZXh0KSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50
LnNoYWRlciksIDEwIDIwIGRldGFjaGVkKScKKworQ3VzdG9tIHdpdGggbnVtYmVyIHBhcmFtZXRl
cnMgOiBjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgcDEgMSwgcDIgMiAzLCBwMyAz
IDQgNSwgcDQgNCA1IDYgNykKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRp
b24ubGVuZ3RoIGlzIDEKK1BBU1MgcmVtb3ZlQmFzZVVSTChkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWZpbHRlcicpKSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNo
YWRlciksIHAxIDEsIHAyIDIgMywgcDMgMyA0IDUsIHA0IDQgNSA2IDcpJworUEFTUyBqc1dyYXBw
ZXJDbGFzcyhmaWx0ZXJSdWxlKSBpcyAnQ1NTVmFsdWVMaXN0JworUEFTUyBqc1dyYXBwZXJDbGFz
cyhmaWx0ZXJSdWxlLl9fcHJvdG9fXykgaXMgJ0NTU1ZhbHVlTGlzdFByb3RvdHlwZScKK1BBU1Mg
anNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5jb25zdHJ1Y3RvcikgaXMgJ0NTU1ZhbHVlTGlzdENv
bnN0cnVjdG9yJworUEFTUyBmaWx0ZXJSdWxlLmxlbmd0aCBpcyAxCitQQVNTIHN1YlJ1bGUub3Bl
cmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTQorUEFT
UyByZW1vdmVCYXNlVVJMKHN1YlJ1bGUuY3NzVGV4dCkgaXMgJ2N1c3RvbShub25lIHVybChmcmFn
bWVudC5zaGFkZXIpLCBwMSAxLCBwMiAyIDMsIHAzIDMgNCA1LCBwNCA0IDUgNiA3KScKKworQ3Vz
dG9tIHdpdGggZmxvYXQgcGFyYW1ldGVycyA6IGN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFk
ZXIpLCBwMSAxLjEsIHAyIDIuMiAzLjMsIHAzIDMuMSA0LjEgNS4xLCBwNCA0LjEgNS4yIDYuMyA3
LjQpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAx
CitQQVNTIHJlbW92ZUJhc2VVUkwoZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1maWx0ZXInKSkgaXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBwMSAxLjEs
IHAyIDIuMiAzLjMsIHAzIDMuMSA0LjEgNS4xLCBwNCA0LjEgNS4yIDYuMyA3LjQpJworUEFTUyBq
c1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlKSBpcyAnQ1NTVmFsdWVMaXN0JworUEFTUyBqc1dyYXBw
ZXJDbGFzcyhmaWx0ZXJSdWxlLl9fcHJvdG9fXykgaXMgJ0NTU1ZhbHVlTGlzdFByb3RvdHlwZScK
K1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5jb25zdHJ1Y3RvcikgaXMgJ0NTU1ZhbHVl
TGlzdENvbnN0cnVjdG9yJworUEFTUyBmaWx0ZXJSdWxlLmxlbmd0aCBpcyAxCitQQVNTIHN1YlJ1
bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RP
TQorUEFTUyByZW1vdmVCYXNlVVJMKHN1YlJ1bGUuY3NzVGV4dCkgaXMgJ2N1c3RvbShub25lIHVy
bChmcmFnbWVudC5zaGFkZXIpLCBwMSAxLjEsIHAyIDIuMiAzLjMsIHAzIDMuMSA0LjEgNS4xLCBw
NCA0LjEgNS4yIDYuMyA3LjQpJworCitDdXN0b20gd2l0aCBtZXNoIHNpemUgYW5kIG51bWJlciBw
YXJhbWV0ZXJzIDogY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEwIDIwLCBwMSAx
LCBwMiAyIDMsIHAzIDMgNCA1LCBwNCA0IDUgNiA3KQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQor
UEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMQorUEFTUyByZW1vdmVCYXNlVVJMKGRlY2xhcmF0
aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykpIGlzICdjdXN0b20obm9uZSB1
cmwoZnJhZ21lbnQuc2hhZGVyKSwgMTAgMjAsIHAxIDEsIHAyIDIgMywgcDMgMyA0IDUsIHA0IDQg
NSA2IDcpJworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlKSBpcyAnQ1NTVmFsdWVMaXN0
JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLl9fcHJvdG9fXykgaXMgJ0NTU1ZhbHVl
TGlzdFByb3RvdHlwZScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5jb25zdHJ1Y3Rv
cikgaXMgJ0NTU1ZhbHVlTGlzdENvbnN0cnVjdG9yJworUEFTUyBmaWx0ZXJSdWxlLmxlbmd0aCBp
cyAxCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5D
U1NfRklMVEVSX0NVU1RPTQorUEFTUyByZW1vdmVCYXNlVVJMKHN1YlJ1bGUuY3NzVGV4dCkgaXMg
J2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxMCAyMCwgcDEgMSwgcDIgMiAzLCBw
MyAzIDQgNSwgcDQgNCA1IDYgNyknCisKK011bHRpcGxlIHdpdGggZnJhZ21lbnQgc2hhZGVyIDog
Z3JheXNjYWxlKCkgY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlcikpIHNlcGlhKCkKK1BB
U1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDEKK1BBU1Mg
cmVtb3ZlQmFzZVVSTChkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRl
cicpKSBpcyAnZ3JheXNjYWxlKCkgY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlcikpIHNl
cGlhKCknCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUpIGlzICdDU1NWYWx1ZUxpc3Qn
CitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuX19wcm90b19fKSBpcyAnQ1NTVmFsdWVM
aXN0UHJvdG90eXBlJworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLmNvbnN0cnVjdG9y
KSBpcyAnQ1NTVmFsdWVMaXN0Q29uc3RydWN0b3InCitQQVNTIGZpbHRlclJ1bGUubGVuZ3RoIGlz
IDMKK1BBU1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNT
U19GSUxURVJfR1JBWVNDQUxFCitQQVNTIHJlbW92ZUJhc2VVUkwoc3ViUnVsZS5jc3NUZXh0KSBp
cyAnZ3JheXNjYWxlKCknCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NG
aWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTQorUEFTUyByZW1vdmVCYXNlVVJMKHN1YlJ1bGUu
Y3NzVGV4dCkgaXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpKScKK1BBU1Mgc3Vi
UnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfU0VQ
SUEKK1BBU1MgcmVtb3ZlQmFzZVVSTChzdWJSdWxlLmNzc1RleHQpIGlzICdzZXBpYSgpJworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNp
bmctaW52YWxpZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9t
LWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFsaWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjMxNTNiYjA4YjJiOTgyOWQzOWZkMGY4ZTZhNmM5OGRmMjQ3MWNmM2YKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJz
aW5nLWludmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNzkgQEAKK1Rlc3QgdGhlIHBhcnNp
bmcgb2YgY3VzdG9tKCkgZnVuY3Rpb24gb2YgdGhlIC13ZWJraXQtZmlsdGVyIHByb3BlcnR5Lgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCitFbXB0eSBmdW5jdGlvbiA6IGN1c3Rv
bSgpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAw
CitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMg
bnVsbAorCitObyB2YWx1ZXMgMSA6IGN1c3RvbSgsKQorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQor
UEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMAorUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWZpbHRlcicpIGlzIG51bGwKKworTm8gdmFsdWVzIDIgOiBjdXN0b20o
LCwpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAw
CitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMg
bnVsbAorCitUb28gbWFueSBzaGFkZXJzIDEgOiBjdXN0b20odXJsKHNoYWRlcjEpIHVybChzaGFk
ZXIyKSB1cmwoc2hhZGVyMikpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0
aW9uLmxlbmd0aCBpcyAwCitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJr
aXQtZmlsdGVyJykgaXMgbnVsbAorCitUb28gbWFueSBzaGFkZXJzIDIgOiBjdXN0b20obm9uZSBu
b25lIG5vbmUpCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0
aCBpcyAwCitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVy
JykgaXMgbnVsbAorCitUb28gbWFueSBzaGFkZXJzIDMgOiBjdXN0b20obm9uZSB1cmwoc2hhZGVy
MSkgdXJsKHNoYWRlcjIpIHVybChzaGFkZXIyKSkKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BB
U1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyBudWxsCisKK05vIHNoYWRlciA6IGN1c3RvbShub25l
LCAxMCAyMCkKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3Ro
IGlzIDAKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXIn
KSBpcyBudWxsCisKK1RvIG1hbnkgbWVzaCBzaXplcyA6IGN1c3RvbShub25lLCAxMCAyMCAzMCkK
K1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BB
U1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyBudWxs
CisKK1dyb25nIG1lc2ggdHlwZSA6IGN1c3RvbSh1cmwoc2hhZGVyKSwgZGV0YWNoKQorUEFTUyBj
c3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMAorUEFTUyBkZWNs
YXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpIGlzIG51bGwKKworTm8g
bWVzaCBzaXplIDogY3VzdG9tKHVybChzaGFkZXIpLCAsIHAxIDIpCitQQVNTIGNzc1J1bGUudHlw
ZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAwCitQQVNTIGRlY2xhcmF0aW9uLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMgbnVsbAorCitUbyBtYW55IHBhcmFt
ZXRlciB2YWx1ZXMgOiBjdXN0b20odXJsKHNoYWRlciksIHAxIDEgMiAzIDQgNSkKK1BBU1MgY3Nz
UnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFy
YXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyBudWxsCisKK0ludmFs
aWQgcGFyYW1ldGVyIHR5cGVzIDogY3VzdG9tKHVybChzaGFkZXIpLCBwMSAxLjAgMi4wICd0ZXh0
JykKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAK
K1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyBu
dWxsCisKK05vIHBhcmFtZXRlciB2YWx1ZSAxIDogY3VzdG9tKHVybChzaGFkZXIpLCBwMSkKK1BB
U1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1Mg
ZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyBudWxsCisK
K05vIHBhcmFtZXRlciB2YWx1ZSAyIDogY3VzdG9tKHVybChzaGFkZXIpLCBwMSwgcDIsIHAzKQor
UEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMAorUEFT
UyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpIGlzIG51bGwK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1w
YXJzaW5nLWludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20tZmls
dGVyLXByb3BlcnR5LXBhcnNpbmctaW52YWxpZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEzOWEyNTQ5NGIy
ODQ0ZTBkZmYyMTg4ZDY3Yzc1OTlhZDk1YzRiYTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFsaWQu
aHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9jdXN0b20tZmlsdGVyLXByb3BlcnR5
LXBhcnNpbmctaW52YWxpZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20tZmlsdGVyLXByb3Bl
cnR5LXBhcnNpbmcuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20tZmlsdGVy
LXByb3BlcnR5LXBhcnNpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTIxMjE2ODg0NzIyYTFhZTczNWFh
MzQwNjcxYzcyZWIwYjIyMTU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2luZy5odG1sCkBAIC0wLDAgKzEsMTMg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNy
Yz0ic2NyaXB0LXRlc3RzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2luZy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvZmlsdGVycy9zY3JpcHQtdGVzdHMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWlu
dmFsaWQuanMgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvc2NyaXB0LXRlc3RzL2N1c3RvbS1m
aWx0ZXItcHJvcGVydHktcGFyc2luZy1pbnZhbGlkLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNhMDQ1Yzg0Njk0
NTgyNTIwMGQ3OTY5ZjNiODY4MTA5ZTkyNDYzNzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvc2NyaXB0LXRlc3RzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktcGFy
c2luZy1pbnZhbGlkLmpzCkBAIC0wLDAgKzEsNDAgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0IHRoZSBw
YXJzaW5nIG9mIGN1c3RvbSgpIGZ1bmN0aW9uIG9mIHRoZSAtd2Via2l0LWZpbHRlciBwcm9wZXJ0
eS4iKTsKKworLy8gVGhlc2UgaGF2ZSB0byBiZSBnbG9iYWwgZm9yIHRoZSB0ZXN0IGhlbHBlcnMg
dG8gc2VlIHRoZW0uCit2YXIgc3R5bGVzaGVldCwgY3NzUnVsZSwgZGVjbGFyYXRpb247CisKK2Z1
bmN0aW9uIHRlc3RJbnZhbGlkRmlsdGVyUnVsZShkZXNjcmlwdGlvbiwgcnVsZSkKK3sKKyAgICBk
ZWJ1ZygiIik7CisgICAgZGVidWcoZGVzY3JpcHRpb24gKyAiIDogIiArIHJ1bGUpOworCisgICAg
c3R5bGVzaGVldCA9IGRvY3VtZW50LnN0eWxlU2hlZXRzLml0ZW0oMCk7CisgICAgc3R5bGVzaGVl
dC5pbnNlcnRSdWxlKCJib2R5IHsgLXdlYmtpdC1maWx0ZXI6ICIgKyBydWxlICsgIjsgfSIsIDAp
OworICAgIGNzc1J1bGUgPSBzdHlsZXNoZWV0LmNzc1J1bGVzLml0ZW0oMCk7CisgIAorICAgIHNo
b3VsZEJlKCJjc3NSdWxlLnR5cGUiLCAiMSIpOworCisgICAgZGVjbGFyYXRpb24gPSBjc3NSdWxl
LnN0eWxlOworICAgIHNob3VsZEJlKCJkZWNsYXJhdGlvbi5sZW5ndGgiLCAiMCIpOworICAgIHNo
b3VsZEJlKCJkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpIiwg
Im51bGwiKTsKK30KKwordGVzdEludmFsaWRGaWx0ZXJSdWxlKCJFbXB0eSBmdW5jdGlvbiIsICJj
dXN0b20oKSIpOwordGVzdEludmFsaWRGaWx0ZXJSdWxlKCJObyB2YWx1ZXMgMSIsICJjdXN0b20o
LCkiKTsKK3Rlc3RJbnZhbGlkRmlsdGVyUnVsZSgiTm8gdmFsdWVzIDIiLCAiY3VzdG9tKCwsKSIp
OworCit0ZXN0SW52YWxpZEZpbHRlclJ1bGUoIlRvbyBtYW55IHNoYWRlcnMgMSIsICJjdXN0b20o
dXJsKHNoYWRlcjEpIHVybChzaGFkZXIyKSB1cmwoc2hhZGVyMikpIik7Cit0ZXN0SW52YWxpZEZp
bHRlclJ1bGUoIlRvbyBtYW55IHNoYWRlcnMgMiIsICJjdXN0b20obm9uZSBub25lIG5vbmUpIik7
Cit0ZXN0SW52YWxpZEZpbHRlclJ1bGUoIlRvbyBtYW55IHNoYWRlcnMgMyIsICJjdXN0b20obm9u
ZSB1cmwoc2hhZGVyMSkgdXJsKHNoYWRlcjIpIHVybChzaGFkZXIyKSkiKTsKKwordGVzdEludmFs
aWRGaWx0ZXJSdWxlKCJObyBzaGFkZXIiLCAiY3VzdG9tKG5vbmUsIDEwIDIwKSIpOwordGVzdElu
dmFsaWRGaWx0ZXJSdWxlKCJUbyBtYW55IG1lc2ggc2l6ZXMiLCAiY3VzdG9tKG5vbmUsIDEwIDIw
IDMwKSIpOwordGVzdEludmFsaWRGaWx0ZXJSdWxlKCJXcm9uZyBtZXNoIHR5cGUiLCAiY3VzdG9t
KHVybChzaGFkZXIpLCBkZXRhY2gpIik7Cit0ZXN0SW52YWxpZEZpbHRlclJ1bGUoIk5vIG1lc2gg
c2l6ZSIsICJjdXN0b20odXJsKHNoYWRlciksICwgcDEgMikiKTsKKwordGVzdEludmFsaWRGaWx0
ZXJSdWxlKCJUbyBtYW55IHBhcmFtZXRlciB2YWx1ZXMiLCAiY3VzdG9tKHVybChzaGFkZXIpLCBw
MSAxIDIgMyA0IDUpIik7Cit0ZXN0SW52YWxpZEZpbHRlclJ1bGUoIkludmFsaWQgcGFyYW1ldGVy
IHR5cGVzIiwgImN1c3RvbSh1cmwoc2hhZGVyKSwgcDEgMS4wIDIuMCAndGV4dCcpIik7CisKK3Rl
c3RJbnZhbGlkRmlsdGVyUnVsZSgiTm8gcGFyYW1ldGVyIHZhbHVlIDEiLCAiY3VzdG9tKHVybChz
aGFkZXIpLCBwMSkiKTsKK3Rlc3RJbnZhbGlkRmlsdGVyUnVsZSgiTm8gcGFyYW1ldGVyIHZhbHVl
IDIiLCAiY3VzdG9tKHVybChzaGFkZXIpLCBwMSwgcDIsIHAzKSIpOworCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvc2NyaXB0LXRlc3RzL2N1c3RvbS1maWx0ZXItcHJvcGVy
dHktcGFyc2luZy5qcyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvY3Vz
dG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjliODg1ODdhMzZiZmNm
ZDg4ODIzOTM3YTk4MmViODU2MWQyMmE0ODgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvc2NyaXB0LXRlc3RzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2lu
Zy5qcwpAQCAtMCwwICsxLDEwOCBAQAorZGVzY3JpcHRpb24oIlRlc3QgdGhlIHBhcnNpbmcgb2Yg
dGhlIGN1c3RvbSgpIGZ1bmN0aW9uIG9mIHRoZSAtd2Via2l0LWZpbHRlciBwcm9wZXJ0eS4iKTsK
KworZnVuY3Rpb24ganNXcmFwcGVyQ2xhc3Mobm9kZSkKK3sKKyAgICBpZiAoIW5vZGUpCisgICAg
ICAgIHJldHVybiAiW251bGxdIjsKKyAgICB2YXIgc3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50
b1N0cmluZy5hcHBseShub2RlKTsKKyAgICByZXR1cm4gc3RyaW5nLnN1YnN0cig4LCBzdHJpbmcu
bGVuZ3RoIC0gOSk7Cit9CisKKy8vIE5lZWQgdG8gcmVtb3ZlIHRoZSBiYXNlIFVSTCB0byBhdm9p
ZCBoYXZpbmcgbG9jYWwgcGF0aHMgaW4gdGhlIGV4cGVjdGVkIHJlc3VsdHMuCitmdW5jdGlvbiBy
ZW1vdmVCYXNlVVJMKHNyYykgeworICAgIHZhciB1cmxSZWdleHAgPSAvdXJsXCgoW15cKV0qKVwp
L2c7CisgICAgcmV0dXJuIHNyYy5yZXBsYWNlKHVybFJlZ2V4cCwgZnVuY3Rpb24obWF0Y2gsIHVy
bCkgeworICAgICAgICByZXR1cm4gInVybCgiICsgdXJsLnN1YnN0cih1cmwubGFzdEluZGV4T2Yo
Ii8iKSArIDEpICsgIikiOworICAgIH0pOworfQorCitmdW5jdGlvbiBzaG91bGRCZVR5cGUoZXhw
cmVzc2lvbiwgY2xhc3NOYW1lLCBwcm90b3R5cGVOYW1lLCBjb25zdHJ1Y3Rvck5hbWUpCit7Cisg
ICAgaWYgKCFwcm90b3R5cGVOYW1lKQorICAgICAgICBwcm90b3R5cGVOYW1lID0gY2xhc3NOYW1l
ICsgIlByb3RvdHlwZSI7CisgICAgaWYgKCFjb25zdHJ1Y3Rvck5hbWUpCisgICAgICAgIGNvbnN0
cnVjdG9yTmFtZSA9IGNsYXNzTmFtZSArICJDb25zdHJ1Y3RvciI7CisgICAgc2hvdWxkQmUoImpz
V3JhcHBlckNsYXNzKCIgKyBleHByZXNzaW9uICsgIikiLCAiJyIgKyBjbGFzc05hbWUgKyAiJyIp
OworICAgIHNob3VsZEJlKCJqc1dyYXBwZXJDbGFzcygiICsgZXhwcmVzc2lvbiArICIuX19wcm90
b19fKSIsICInIiArIHByb3RvdHlwZU5hbWUgKyAiJyIpOworICAgIHNob3VsZEJlKCJqc1dyYXBw
ZXJDbGFzcygiICsgZXhwcmVzc2lvbiArICIuY29uc3RydWN0b3IpIiwgIiciICsgY29uc3RydWN0
b3JOYW1lICsgIiciKTsKK30KKworLy8gVGhlc2UgaGF2ZSB0byBiZSBnbG9iYWwgZm9yIHRoZSB0
ZXN0IGhlbHBlcnMgdG8gc2VlIHRoZW0uCit2YXIgc3R5bGVzaGVldCwgY3NzUnVsZSwgZGVjbGFy
YXRpb24sIGZpbHRlclJ1bGUsIHN1YlJ1bGU7CisKK2Z1bmN0aW9uIHRlc3RGaWx0ZXJSdWxlKGRl
c2NyaXB0aW9uLCBydWxlLCBleHBlY3RlZFZhbHVlLCBleHBlY3RlZFR5cGVzLCBleHBlY3RlZFRl
eHRzKQoreworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZyhkZXNjcmlwdGlvbiArICIgOiAiICsg
cnVsZSk7CisKKyAgICBzdHlsZXNoZWV0ID0gZG9jdW1lbnQuc3R5bGVTaGVldHMuaXRlbSgwKTsK
KyAgICBzdHlsZXNoZWV0Lmluc2VydFJ1bGUoImJvZHkgeyAtd2Via2l0LWZpbHRlcjogIiArIHJ1
bGUgKyAiOyB9IiwgMCk7CisgICAgY3NzUnVsZSA9IHN0eWxlc2hlZXQuY3NzUnVsZXMuaXRlbSgw
KTsKKyAgCisgICAgc2hvdWxkQmUoImNzc1J1bGUudHlwZSIsICIxIik7CisKKyAgICBkZWNsYXJh
dGlvbiA9IGNzc1J1bGUuc3R5bGU7CisgICAgc2hvdWxkQmUoImRlY2xhcmF0aW9uLmxlbmd0aCIs
ICIxIik7CisgICAgc2hvdWxkQmUoInJlbW92ZUJhc2VVUkwoZGVjbGFyYXRpb24uZ2V0UHJvcGVy
dHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSkiLCAiJyIgKyBleHBlY3RlZFZhbHVlICsgIiciKTsK
KworICAgIGZpbHRlclJ1bGUgPSBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Vi
a2l0LWZpbHRlcicpOworICAgIHNob3VsZEJlVHlwZSgiZmlsdGVyUnVsZSIsICJDU1NWYWx1ZUxp
c3QiKTsKKworICAgIGlmICghZXhwZWN0ZWRUeXBlcykgeworICAgICAgICBleHBlY3RlZFR5cGVz
ID0gWyJXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTSJdOworICAgICAgICBl
eHBlY3RlZFRleHRzID0gW2V4cGVjdGVkVmFsdWVdOworICAgIH0KKyAgICAKKyAgICBzaG91bGRC
ZSgiZmlsdGVyUnVsZS5sZW5ndGgiLCAiIiArIGV4cGVjdGVkVHlwZXMubGVuZ3RoKTsgLy8gc2hv
dWxkQmUgZXhwZWN0cyBzdHJpbmcgYXJndW1lbnRzCisgIAorICAgIGlmIChmaWx0ZXJSdWxlKSB7
CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZXhwZWN0ZWRUeXBlcy5sZW5ndGg7IGkrKykg
eworICAgICAgICAgICAgc3ViUnVsZSA9IGZpbHRlclJ1bGVbaV07CisgICAgICAgICAgICBzaG91
bGRCZSgic3ViUnVsZS5vcGVyYXRpb25UeXBlIiwgZXhwZWN0ZWRUeXBlc1tpXSk7CisgICAgICAg
ICAgICBzaG91bGRCZSgicmVtb3ZlQmFzZVVSTChzdWJSdWxlLmNzc1RleHQpIiwgIiciICsgZXhw
ZWN0ZWRUZXh0c1tpXSArICInIik7CisgICAgICAgIH0KKyAgICB9Cit9CisKK3Rlc3RGaWx0ZXJS
dWxlKCJDdXN0b20gd2l0aCB2ZXJ0ZXggc2hhZGVyIiwKKyAgICAgICAgICAgICAgICJjdXN0b20o
dXJsKHZlcnRleC5zaGFkZXIpKSIsICJjdXN0b20odXJsKHZlcnRleC5zaGFkZXIpKSIpOworCit0
ZXN0RmlsdGVyUnVsZSgiQ3VzdG9tIHdpdGggZnJhZ21lbnQgc2hhZGVyIiwKKyAgICAgICAgICAg
ICAgImN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpKSIsICJjdXN0b20obm9uZSB1cmwo
ZnJhZ21lbnQuc2hhZGVyKSkiKTsKKwordGVzdEZpbHRlclJ1bGUoIkN1c3RvbSB3aXRoIGJvdGgg
c2hhZGVycyIsCisgICAgICAgICAgICAiY3VzdG9tKHVybCh2ZXJ0ZXguc2hhZGVyKSB1cmwoZnJh
Z21lbnQuc2hhZGVyKSkiLCAiY3VzdG9tKHVybCh2ZXJ0ZXguc2hhZGVyKSB1cmwoZnJhZ21lbnQu
c2hhZGVyKSkiKTsKKyAgICAgICAgICAgIAordGVzdEZpbHRlclJ1bGUoIkN1c3RvbSB3aXRoIG1l
c2ggc2l6ZSIsCisgICAgICAgICAgICAiY3VzdG9tKHVybCh2ZXJ0ZXguc2hhZGVyKSwgMTApIiwg
ImN1c3RvbSh1cmwodmVydGV4LnNoYWRlciksIDEwKSIpOworCit0ZXN0RmlsdGVyUnVsZSgiQ3Vz
dG9tIHdpdGggYm90aCBtZXNoIHNpemVzIiwKKyAgICAgICAgICAgICJjdXN0b20obm9uZSB1cmwo
ZnJhZ21lbnQuc2hhZGVyKSwgMTAgMjApIiwgImN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFk
ZXIpLCAxMCAyMCkiKTsKKwordGVzdEZpbHRlclJ1bGUoIkN1c3RvbSB3aXRoIGRldGFjaGVkIG1l
c2giLAorICAgICAgICAgICAgImN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBkZXRh
Y2hlZCkiLCAiY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIGRldGFjaGVkKSIpOwor
ICAgICAgICAgICAgCit0ZXN0RmlsdGVyUnVsZSgiQ3VzdG9tIHdpdGggZGV0YWNoZWQgYW5kIG1l
c2ggc2l6ZSIsCisgICAgICAgICAgICAiY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciks
IDEwIDIwIGRldGFjaGVkKSIsICJjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMTAg
MjAgZGV0YWNoZWQpIik7CisKK3Rlc3RGaWx0ZXJSdWxlKCJDdXN0b20gd2l0aCBudW1iZXIgcGFy
YW1ldGVycyIsCisgICAgICAgICAgICAiY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciks
IHAxIDEsIHAyIDIgMywgcDMgMyA0IDUsIHA0IDQgNSA2IDcpIiwKKyAgICAgICAgICAgICJjdXN0
b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgcDEgMSwgcDIgMiAzLCBwMyAzIDQgNSwgcDQg
NCA1IDYgNykiKTsKKwordGVzdEZpbHRlclJ1bGUoIkN1c3RvbSB3aXRoIGZsb2F0IHBhcmFtZXRl
cnMiLAorICAgICAgICAgICAgImN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBwMSAx
LjEsIHAyIDIuMiAzLjMsIHAzIDMuMSA0LjEgNS4xLCBwNCA0LjEgNS4yIDYuMyA3LjQpIiwKKyAg
ICAgICAgICAgICJjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgcDEgMS4xLCBwMiAy
LjIgMy4zLCBwMyAzLjEgNC4xIDUuMSwgcDQgNC4xIDUuMiA2LjMgNy40KSIpOworCisKK3Rlc3RG
aWx0ZXJSdWxlKCJDdXN0b20gd2l0aCBtZXNoIHNpemUgYW5kIG51bWJlciBwYXJhbWV0ZXJzIiwK
KyAgICAgICAgICAgICJjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMTAgMjAsIHAx
IDEsIHAyIDIgMywgcDMgMyA0IDUsIHA0IDQgNSA2IDcpIiwKKyAgICAgICAgICAgICJjdXN0b20o
bm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMTAgMjAsIHAxIDEsIHAyIDIgMywgcDMgMyA0IDUs
IHA0IDQgNSA2IDcpIik7CisKK3Rlc3RGaWx0ZXJSdWxlKCJNdWx0aXBsZSB3aXRoIGZyYWdtZW50
IHNoYWRlciIsCisgICAgICAgICAgICAiZ3JheXNjYWxlKCkgY3VzdG9tKG5vbmUgdXJsKGZyYWdt
ZW50LnNoYWRlcikpIHNlcGlhKCkiLCAiZ3JheXNjYWxlKCkgY3VzdG9tKG5vbmUgdXJsKGZyYWdt
ZW50LnNoYWRlcikpIHNlcGlhKCkiLAorICAgICAgICAgICAgWyJXZWJLaXRDU1NGaWx0ZXJWYWx1
ZS5DU1NfRklMVEVSX0dSQVlTQ0FMRSIsCisgICAgICAgICAgICAiV2ViS2l0Q1NTRmlsdGVyVmFs
dWUuQ1NTX0ZJTFRFUl9DVVNUT00iLAorICAgICAgICAgICAgIldlYktpdENTU0ZpbHRlclZhbHVl
LkNTU19GSUxURVJfU0VQSUEiXSwKKyAgICAgICAgICAgIFsiZ3JheXNjYWxlKCkiLAorICAgICAg
ICAgICAgImN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpKSIsCisgICAgICAgICAgICAi
c2VwaWEoKSJdKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>