<?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>9683</bug_id>
          
          <creation_ts>2006-07-01 22:01:05 -0700</creation_ts>
          <short_desc>Implement select.options.remove() method</short_desc>
          <delta_ts>2007-12-10 09:51:40 -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>Forms</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/remove.asp</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>gavin.sharp</cc>
    
    <cc>ian</cc>
    
    <cc>johnnyding.webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>47943</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-01 22:01:05 -0700</bug_when>
    <thetext>Since Bug 9179 is implementing select.options.add(), I should probably implement the remove() method next for completeness.  It should be trivially easy once Bug 9179 lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61718</commentid>
    <comment_count>1</comment_count>
    <who name="johnnyding">johnnyding.webkit</who>
    <bug_when>2007-11-19 15:18:15 -0800</bug_when>
    <thetext>Hello David,

Are you still working on this issue? Would you please share with me about the status?
Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61721</commentid>
    <comment_count>2</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-11-19 16:43:34 -0800</bug_when>
    <thetext>I believe I have an old patch lying around somewhere, along with an incomplete suite of tests.

As I recall, the thing that was holding me up was getting access to MSIE 6/7 to test its behavior so that it could be matched.  (I have access to MSIE 7 now.)

Is this something you&apos;d like to work on in WebKit, or are you simply interested in it being available as an end-user?  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61809</commentid>
    <comment_count>3</comment_count>
    <who name="johnnyding">johnnyding.webkit</who>
    <bug_when>2007-11-20 11:27:38 -0800</bug_when>
    <thetext>Hi David,

Thanks for your rapid response. 
For this problem, in Gecko/WebKit,they follows W3C standards and add one more method: void add(in HTMLOptionElement option, in [Optional] unsigned long index)
(in Gecko: nsIDOMHTMLOptionsCollection.idl, nsIDOMNSHTMLOptionCollectn.idl, nsDomClassInfo.cpp
 in WebKit: WebCore/html/HTMLOptionsCollection.h,HTMLOptionsCollection.idl)

In IE, it add more methods to Interface HTMLOptionsCollection 	
relative Gecko and WebKit, such as method: void remove( unsigned long index).
So Gecko/Webkit based browsers, like FireFox/Safari, will be failure on some webpages&apos; functionality which rely the IE specific method &quot;remove&quot; because some web developer use it on their webpages.

For example, one of Chinese most popular social network community and dating websites, www.51.com, which is also in top 100 Chinese web sites(based on Alexa data), use the IE specific method &quot;remove&quot;.(see http://my.51.com/inc/js/global/GlobalProvinces.js, line 22), so Firefox, Safari all can not use the function about searching by location. Unfortunately, lots of Chinese websites use the no standard &quot;options.remove&quot;, so I think probably WebKit community should support this function. That&apos;s why I am looking this bug. 

So far both WebKit source code and latest Safari binary do not support options.remove, so when will you merge your patch to code tree for supporting this ?

And yes, I want to do something in WebKit. I was a web browser developer in China on embedded system. also I had written a desktop browser on windows platform when I worked on developing mobile browser, which was just a prototype and compatible with some IE special quirk mode and special DHTML object model. If you are interesting with it, I can send a demo to you:-) . 

I think the compatibility problem is one of big problems for Chinese user to use WebKit based browser to surf Chinese websites. After roughly using safari for test,  more than 50% sites of top 100 Chinese websites (based on Alexa data) have major or minor layout and functionality problems. Be honest, after reading WebKit code, I think WebKit is one of best W3 standard support browser engine, but since IE has very big marketing share in China(maybe also in Asia) and millions of websites in China mainly support IE, should WebKit do something for dealing with compatibility problems?
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61812</commentid>
    <comment_count>4</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2007-11-20 12:00:22 -0800</bug_when>
    <thetext>IIRC, in IE, select === select.options. This is an open issue in WF2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61818</commentid>
    <comment_count>5</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-11-20 12:40:51 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; So far both WebKit source code and latest Safari binary do not support
&gt; options.remove, so when will you merge your patch to code tree for supporting
&gt; this ?

I&apos;ll try to clean it up, add some tests and post a patch this week.

&gt; And yes, I want to do something in WebKit. I was a web browser developer in
&gt; China on embedded system. also I had written a desktop browser on windows
&gt; platform when I worked on developing mobile browser, which was just a prototype
&gt; and compatible with some IE special quirk mode and special DHTML object model.
&gt; If you are interesting with it, I can send a demo to you:-) . 

I appreciate the offer, but I think it may be a conflict of interest for me to view it.

&gt; I think the compatibility problem is one of big problems for Chinese user to
&gt; use WebKit based browser to surf Chinese websites. After roughly using safari
&gt; for test,  more than 50% sites of top 100 Chinese websites (based on Alexa
&gt; data) have major or minor layout and functionality problems. Be honest, after
&gt; reading WebKit code, I think WebKit is one of best W3 standard support browser
&gt; engine, but since IE has very big marketing share in China(maybe also in Asia)
&gt; and millions of websites in China mainly support IE, should WebKit do something
&gt; for dealing with compatibility problems?

The WebKit project generally tries to provide IE compatibility as long as it doesn&apos;t violate standards.  More information here:

http://webkit.org/projects/compat/index.html

If you find specific issues (that affect popular web sites), please file bugs.  If you&apos;d like to start hacking on WebKit, please see this page for more details:

http://webkit.org/coding/contributing.html

Thanks for your interest!

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61846</commentid>
    <comment_count>6</comment_count>
    <who name="johnnyding">johnnyding.webkit</who>
    <bug_when>2007-11-20 14:26:20 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; IIRC, in IE, select === select.options. This is an open issue in WF2.
&gt; 

In technically speaking, yes in IE, select === select.options. According to MSDN http://msdn2.microsoft.com/en-us/library/ms537472.aspx, it&apos;s a options collection object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61847</commentid>
    <comment_count>7</comment_count>
    <who name="johnnyding">johnnyding.webkit</who>
    <bug_when>2007-11-20 14:27:13 -0800</bug_when>
    <thetext>(In reply to comment #5)
Great, thanks David!
&gt; (In reply to comment #3)
&gt; &gt; So far both WebKit source code and latest Safari binary do not support
&gt; &gt; options.remove, so when will you merge your patch to code tree for supporting
&gt; &gt; this ?
&gt; 
&gt; I&apos;ll try to clean it up, add some tests and post a patch this week.
&gt; 
&gt; &gt; And yes, I want to do something in WebKit. I was a web browser developer in
&gt; &gt; China on embedded system. also I had written a desktop browser on windows
&gt; &gt; platform when I worked on developing mobile browser, which was just a prototype
&gt; &gt; and compatible with some IE special quirk mode and special DHTML object model.
&gt; &gt; If you are interesting with it, I can send a demo to you:-) . 
&gt; 
&gt; I appreciate the offer, but I think it may be a conflict of interest for me to
&gt; view it.
&gt; 
&gt; &gt; I think the compatibility problem is one of big problems for Chinese user to
&gt; &gt; use WebKit based browser to surf Chinese websites. After roughly using safari
&gt; &gt; for test,  more than 50% sites of top 100 Chinese websites (based on Alexa
&gt; &gt; data) have major or minor layout and functionality problems. Be honest, after
&gt; &gt; reading WebKit code, I think WebKit is one of best W3 standard support browser
&gt; &gt; engine, but since IE has very big marketing share in China(maybe also in Asia)
&gt; &gt; and millions of websites in China mainly support IE, should WebKit do something
&gt; &gt; for dealing with compatibility problems?
&gt; 
&gt; The WebKit project generally tries to provide IE compatibility as long as it
&gt; doesn&apos;t violate standards.  More information here:
&gt; 
&gt; http://webkit.org/projects/compat/index.html
&gt; 
&gt; If you find specific issues (that affect popular web sites), please file bugs. 
&gt; If you&apos;d like to start hacking on WebKit, please see this page for more
&gt; details:
&gt; 
&gt; http://webkit.org/coding/contributing.html
&gt; 
&gt; Thanks for your interest!
&gt; 

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62103</commentid>
    <comment_count>8</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-11-23 10:45:53 -0800</bug_when>
    <thetext>The MSDN documentation effectively points to here as the definition of remove():

http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-html.html#ID-33404570

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62209</commentid>
    <comment_count>9</comment_count>
      <attachid>17489</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-11-24 16:03:08 -0800</bug_when>
    <thetext>Created attachment 17489
Added tests for select.options.remove(boolean).

This is unrelated to fixing the bug, but I noticed booleans weren&apos;t tested with select.options.add() when writing the tests for select.options.remove().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62210</commentid>
    <comment_count>10</comment_count>
      <attachid>17490</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-11-24 16:03:53 -0800</bug_when>
    <thetext>Created attachment 17490
Implement select.options.remove() method

Patch with test and ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62237</commentid>
    <comment_count>11</comment_count>
      <attachid>17489</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-11-24 19:14:47 -0800</bug_when>
    <thetext>Comment on attachment 17489
Added tests for select.options.remove(boolean).

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62239</commentid>
    <comment_count>12</comment_count>
      <attachid>17490</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-11-24 19:22:50 -0800</bug_when>
    <thetext>Comment on attachment 17490
Implement select.options.remove() method

I think this has a potential bug. If you retrieve select.options on a select, then remove it from the document and let a GC happen, this line will crash because the wrapper will already have been GC&apos;d:

+    JSHTMLSelectElement* base = static_cast&lt;JSHTMLSelectElement*&gt;(toJS(exec, imp-&gt;base()));

Please add a test case along those lines and if it indeed causes a crash where I expect please fix patch appropriately (you may have to duplicate the custom logic from HTMLSelectElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62259</commentid>
    <comment_count>13</comment_count>
      <attachid>17489</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-11-24 23:16:03 -0800</bug_when>
    <thetext>Comment on attachment 17489
Added tests for select.options.remove(boolean).

Committed r28012.

Clearing review flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62290</commentid>
    <comment_count>14</comment_count>
      <attachid>17510</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-11-25 11:19:44 -0800</bug_when>
    <thetext>Created attachment 17510
Patch v2

(In reply to comment #12)
&gt; (From update of attachment 17490 [edit])
&gt; I think this has a potential bug. If you retrieve select.options on a select,
&gt; then remove it from the document and let a GC happen, this line will crash
&gt; because the wrapper will already have been GC&apos;d:
&gt; 
&gt; +    JSHTMLSelectElement* base = static_cast&lt;JSHTMLSelectElement*&gt;(toJS(exec,
&gt; imp-&gt;base()));
&gt; 
&gt; Please add a test case along those lines and if it indeed causes a crash where
&gt; I expect please fix patch appropriately (you may have to duplicate the custom
&gt; logic from HTMLSelectElement.

I&apos;ve added a test (LayoutTests/fast/js/select-options-remove-gc.html) for the condition described above.  However, I couldn&apos;t get WebKit to crash either in the browser (using the &quot;Caches Window&quot; between removing select and using options.remove()) or in a layout test.

Otherwise, there are no changes in this patch compared to Attachment #17490.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62452</commentid>
    <comment_count>15</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-11-27 02:19:48 -0800</bug_when>
    <thetext>I think you need to not only GC but also force JS allocations which will overwrite the select&apos;s JS wrapper object. For example:

var garbage = document.createElement(&quot;p&quot;);
for (var i = 0; i &lt; 5000; i++) {
    var new = document.createElement(&quot;p&quot;);
    new.appendChild(garbage);
    garbage = new;
}
garbage = null;

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62609</commentid>
    <comment_count>16</comment_count>
      <attachid>17510</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-11-28 14:11:15 -0800</bug_when>
    <thetext>Comment on attachment 17510
Patch v2

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62610</commentid>
    <comment_count>17</comment_count>
      <attachid>17510</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-11-28 14:11:48 -0800</bug_when>
    <thetext>Comment on attachment 17510
Patch v2

Oops, just saw Maciej&apos;s comment. Not sure why he didn&apos;t review- because of wanting a change to the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62612</commentid>
    <comment_count>18</comment_count>
      <attachid>17510</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-11-28 14:18:34 -0800</bug_when>
    <thetext>Comment on attachment 17510
Patch v2

Clearing the review flag.  I need to write a different test per Comment #15.

Sorry Darin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63797</commentid>
    <comment_count>19</comment_count>
      <attachid>17816</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-12-10 00:09:15 -0800</bug_when>
    <thetext>Created attachment 17816
Patch v3

Patch v3

Added code per Comment #15 to LayoutTests/fast/js/select-options-remove-gc.html (code taken from other garbage collection tests).  Still doesn&apos;t crash either in DumpRenderTree or in Safari.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63813</commentid>
    <comment_count>20</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-12-10 05:59:06 -0800</bug_when>
    <thetext>I was talking crazy talk because toJS() will make the wrapper if needed, it does not matter if the cached one has been GC&apos;d. Sorry about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63825</commentid>
    <comment_count>21</comment_count>
      <attachid>17816</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-12-10 07:52:11 -0800</bug_when>
    <thetext>Comment on attachment 17816
Patch v3

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63836</commentid>
    <comment_count>22</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-12-10 09:51:40 -0800</bug_when>
    <thetext>Committed r28584

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17489</attachid>
            <date>2007-11-24 16:03:08 -0800</date>
            <delta_ts>2007-11-24 23:16:03 -0800</delta_ts>
            <desc>Added tests for select.options.remove(boolean).</desc>
            <filename>0001-Added-tests-for-select.options.remove-boolea.patch</filename>
            <type>text/plain</type>
            <size>7377</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">RnJvbSBkYmNhYWYwZTY1NDZkMDk2OWViNWZmY2Y2MDFhYjBjNWU0NTdhN2M2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBELiBLaWx6ZXIgPGRka2lsemVyQHdlYmtpdC5vcmc+
CkRhdGU6IFNhdCwgMjQgTm92IDIwMDcgMTU6MTg6MTMgLTA4MDAKU3ViamVjdDogW1BBVENIIDEv
Ml0gICAgICAgICBBZGRlZCB0ZXN0cyBmb3Igc2VsZWN0Lm9wdGlvbnMucmVtb3ZlKGJvb2xlYW4p
LgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgKiBmYXN0L2pz
L3Jlc291cmNlcy9zZWxlY3Qtb3B0aW9ucy1hZGQuanM6IEFkZGVkIHR3byB0ZXN0cy4KICAgICAg
ICAqIGZhc3QvanMvc2VsZWN0LW9wdGlvbnMtYWRkLWV4cGVjdGVkLnR4dDogVXBkYXRlZCByZXN1
bHRzLgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAgOSArKysrKwogLi4uL2Zhc3QvanMvcmVzb3VyY2VzL3NlbGVjdC1vcHRpb25zLWFk
ZC5qcyAgICAgICAgfCAgIDM0ICsrKysrKysrKysrKysrLS0tLS0tCiAuLi4vZmFzdC9qcy9zZWxl
Y3Qtb3B0aW9ucy1hZGQtZXhwZWN0ZWQudHh0ICAgICAgICB8ICAgMzAgKysrKysrKysrKystLS0t
LS0KIDMgZmlsZXMgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDU5Y2I3MDIuLmM3NDcwMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAwNy0xMS0y
NCAgRGF2aWQgRC4gS2lsemVyICA8ZGRraWx6ZXJAd2Via2l0Lm9yZz4KKworICAgICAgICBBZGRl
ZCB0ZXN0cyBmb3Igc2VsZWN0Lm9wdGlvbnMucmVtb3ZlKGJvb2xlYW4pLgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9qcy9yZXNvdXJjZXMv
c2VsZWN0LW9wdGlvbnMtYWRkLmpzOiBBZGRlZCB0d28gdGVzdHMuCisgICAgICAgICogZmFzdC9q
cy9zZWxlY3Qtb3B0aW9ucy1hZGQtZXhwZWN0ZWQudHh0OiBVcGRhdGVkIHJlc3VsdHMuCisKIDIw
MDctMTEtMjMgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFNl
dCB2aWRlbyBzcmMgZnJvbSBzY3JpcHQsIG5vdCBmcm9tIHRoZSBlbGVtZW50IGF0dHJpYnV0ZS4g
VGhpcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvc2VsZWN0LW9w
dGlvbnMtYWRkLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvc2VsZWN0LW9wdGlv
bnMtYWRkLmpzCmluZGV4IDg0NTcyODAuLmQ3MzE3MDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvanMvcmVzb3VyY2VzL3NlbGVjdC1vcHRpb25zLWFkZC5qcworKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2pzL3Jlc291cmNlcy9zZWxlY3Qtb3B0aW9ucy1hZGQuanMKQEAgLTczLDM1ICs3Myw0
MiBAQCBzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIzIik7CiBzaG91bGRCZSgi
c2VsZWN0MS5zZWxlY3RlZEluZGV4IiwgIjAiKTsKIGRlYnVnKCIiKTsKIAotZGVidWcoIjEuNyBB
ZGQgdW5kZWZpbmVkIik7CitkZWJ1ZygiMS43IEFkZCBhIG5vbi1lbGVtZW50IChib29sZWFuKSIp
Oworb3B0aW9uMSA9IHRydWU7CitzaG91bGRUaHJvdygic2VsZWN0MS5vcHRpb25zLmFkZChvcHRp
b24xKSIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5sZW5ndGgiLCAiMyIpOworc2hvdWxk
QmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICIwIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIx
LjggQWRkIHVuZGVmaW5lZCIpOwogb3B0aW9uMSA9IHVuZGVmaW5lZDsKIHNob3VsZFRocm93KCJz
ZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIik7CiBzaG91bGRCZSgic2VsZWN0MS5vcHRpb25z
Lmxlbmd0aCIsICIzIik7CiBzaG91bGRCZSgic2VsZWN0MS5zZWxlY3RlZEluZGV4IiwgIjAiKTsK
IGRlYnVnKCIiKTsKIAotZGVidWcoIjEuOCBBZGQgbnVsbCIpOworZGVidWcoIjEuOSBBZGQgbnVs
bCIpOwogb3B0aW9uMSA9IG51bGw7CiBzaG91bGRUaHJvdygic2VsZWN0MS5vcHRpb25zLmFkZChv
cHRpb24xKSIpOwogc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5sZW5ndGgiLCAiMyIpOwogc2hv
dWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICIwIik7CiBkZWJ1ZygiIik7CiAKLWRlYnVn
KCIxLjkgQWRkIG5lZ2F0aXZlIGluZmluaXR5Iik7CitkZWJ1ZygiMS4xMCBBZGQgbmVnYXRpdmUg
aW5maW5pdHkiKTsKIG9wdGlvbjEgPSAtMS8wOwogc2hvdWxkVGhyb3coInNlbGVjdDEub3B0aW9u
cy5hZGQob3B0aW9uMSkiKTsKIHNob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIiwgIjMi
KTsKIHNob3VsZEJlKCJzZWxlY3QxLnNlbGVjdGVkSW5kZXgiLCAiMCIpOwogZGVidWcoIiIpOwog
Ci1kZWJ1ZygiMS4xMCBBZGQgTmFOIik7CitkZWJ1ZygiMS4xMSBBZGQgTmFOIik7CiBvcHRpb24x
ID0gMC8wOwogc2hvdWxkVGhyb3coInNlbGVjdDEub3B0aW9ucy5hZGQob3B0aW9uMSkiKTsKIHNo
b3VsZEJlKCJzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIiwgIjMiKTsKIHNob3VsZEJlKCJzZWxlY3Qx
LnNlbGVjdGVkSW5kZXgiLCAiMCIpOwogZGVidWcoIiIpOwogCi1kZWJ1ZygiMS4xMSBBZGQgcG9z
aXRpdmUgaW5maW5pdHkiKTsKK2RlYnVnKCIxLjEyIEFkZCBwb3NpdGl2ZSBpbmZpbml0eSIpOwog
b3B0aW9uMSA9IDEvMDsKIHNob3VsZFRocm93KCJzZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEp
Iik7CiBzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIzIik7CkBAIC0yNzcsMzUg
KzI4NCw0MiBAQCBzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICI3Iik7CiBzaG91
bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjEiKTsKIGRlYnVnKCIiKTsKIAotZGVidWco
IjIuMTUgQWRkIHVuZGVmaW5lZCIpOworZGVidWcoIjIuMTUgQWRkIGEgbm9uLWVsZW1lbnQgKGJv
b2xlYW4pIik7CitvcHRpb24yID0gdHJ1ZTsKK3Nob3VsZFRocm93KCJzZWxlY3QyLm9wdGlvbnMu
YWRkKG9wdGlvbjIsIDEpIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICI3
Iik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjEiKTsKK2RlYnVnKCIiKTsK
KworZGVidWcoIjIuMTYgQWRkIHVuZGVmaW5lZCIpOwogb3B0aW9uMiA9IHVuZGVmaW5lZDsKIHNo
b3VsZFRocm93KCJzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDEpIik7CiBzaG91bGRCZSgi
c2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICI3Iik7CiBzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3Rl
ZEluZGV4IiwgIjEiKTsKIGRlYnVnKCIiKTsKIAotZGVidWcoIjIuMTYgQWRkIG51bGwiKTsKK2Rl
YnVnKCIyLjE3IEFkZCBudWxsIik7CiBvcHRpb24yID0gbnVsbDsKIHNob3VsZFRocm93KCJzZWxl
Y3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDEpIik7CiBzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25z
Lmxlbmd0aCIsICI3Iik7CiBzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjEiKTsK
IGRlYnVnKCIiKTsKIAotZGVidWcoIjIuMTcgQWRkIG5lZ2F0aXZlIGluZmluaXR5Iik7CitkZWJ1
ZygiMi4xOCBBZGQgbmVnYXRpdmUgaW5maW5pdHkiKTsKIG9wdGlvbjIgPSAtMS8wOwogc2hvdWxk
VGhyb3coInNlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMSkiKTsKIHNob3VsZEJlKCJzZWxl
Y3QyLm9wdGlvbnMubGVuZ3RoIiwgIjciKTsKIHNob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5k
ZXgiLCAiMSIpOwogZGVidWcoIiIpOwogCi1kZWJ1ZygiMi4xOCBBZGQgTmFOIik7CitkZWJ1Zygi
Mi4xOSBBZGQgTmFOIik7CiBvcHRpb24yID0gMC8wOwogc2hvdWxkVGhyb3coInNlbGVjdDIub3B0
aW9ucy5hZGQob3B0aW9uMiwgMSkiKTsKIHNob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3Ro
IiwgIjciKTsKIHNob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMSIpOwogZGVidWco
IiIpOwogCi1kZWJ1ZygiMi4xOSBBZGQgcG9zaXRpdmUgaW5maW5pdHkiKTsKK2RlYnVnKCIyLjIw
IEFkZCBwb3NpdGl2ZSBpbmZpbml0eSIpOwogb3B0aW9uMiA9IDEvMDsKIHNob3VsZFRocm93KCJz
ZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDEpIik7CiBzaG91bGRCZSgic2VsZWN0Mi5vcHRp
b25zLmxlbmd0aCIsICI3Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL3NlbGVj
dC1vcHRpb25zLWFkZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3NlbGVjdC1v
cHRpb25zLWFkZC1leHBlY3RlZC50eHQKaW5kZXggZjljMDNmZS4uYWZjNmQxMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1hZGQtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvanMvc2VsZWN0LW9wdGlvbnMtYWRkLWV4cGVjdGVkLnR4dApA
QCAtNDMsMjcgKzQzLDMyIEBAIFBBU1Mgc2VsZWN0MS5vcHRpb25zLmFkZChvcHRpb24xKSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00KIFBBU1Mgc2VsZWN0MS5v
cHRpb25zLmxlbmd0aCBpcyAzCiBQQVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAwCiAKLTEu
NyBBZGQgdW5kZWZpbmVkCisxLjcgQWRkIGEgbm9uLWVsZW1lbnQgKGJvb2xlYW4pCiBQQVNTIHNl
bGVjdDEub3B0aW9ucy5hZGQob3B0aW9uMSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01J
U01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KIFBBU1Mgc2VsZWN0MS5vcHRpb25zLmxlbmd0
aCBpcyAzCiBQQVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAwCiAKLTEuOCBBZGQgbnVsbAor
MS44IEFkZCB1bmRlZmluZWQKIFBBU1Mgc2VsZWN0MS5vcHRpb25zLmFkZChvcHRpb24xKSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3Lgog
UEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDMKIFBBU1Mgc2VsZWN0MS5zZWxlY3RlZElu
ZGV4IGlzIDAKIAotMS45IEFkZCBuZWdhdGl2ZSBpbmZpbml0eQorMS45IEFkZCBudWxsCiBQQVNT
IHNlbGVjdDEub3B0aW9ucy5hZGQob3B0aW9uMSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBF
X01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KIFBBU1Mgc2VsZWN0MS5vcHRpb25zLmxl
bmd0aCBpcyAzCiBQQVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAwCiAKLTEuMTAgQWRkIE5h
TgorMS4xMCBBZGQgbmVnYXRpdmUgaW5maW5pdHkKIFBBU1Mgc2VsZWN0MS5vcHRpb25zLmFkZChv
cHRpb24xKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhj
ZXB0aW9uIDE3LgogUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDMKIFBBU1Mgc2VsZWN0
MS5zZWxlY3RlZEluZGV4IGlzIDAKIAotMS4xMSBBZGQgcG9zaXRpdmUgaW5maW5pdHkKKzEuMTEg
QWRkIE5hTgorUEFTUyBzZWxlY3QxLm9wdGlvbnMuYWRkKG9wdGlvbjEpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIHNlbGVj
dDEub3B0aW9ucy5sZW5ndGggaXMgMworUEFTUyBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgMAor
CisxLjEyIEFkZCBwb3NpdGl2ZSBpbmZpbml0eQogUEFTUyBzZWxlY3QxLm9wdGlvbnMuYWRkKG9w
dGlvbjEpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNl
cHRpb24gMTcuCiBQQVNTIHNlbGVjdDEub3B0aW9ucy5sZW5ndGggaXMgMwogUEFTUyBzZWxlY3Qx
LnNlbGVjdGVkSW5kZXggaXMgMApAQCAtMTg3LDI3ICsxOTIsMzIgQEAgUEFTUyBzZWxlY3QyLm9w
dGlvbnMuYWRkKG9wdGlvbjIsIDEpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRD
SF9FUlI6IEQKIFBBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3CiBQQVNTIHNlbGVjdDIu
c2VsZWN0ZWRJbmRleCBpcyAxCiAKLTIuMTUgQWRkIHVuZGVmaW5lZAorMi4xNSBBZGQgYSBub24t
ZWxlbWVudCAoYm9vbGVhbikKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAxKSB0
aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3
LgorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDcKK1BBU1Mgc2VsZWN0Mi5zZWxlY3Rl
ZEluZGV4IGlzIDEKKworMi4xNiBBZGQgdW5kZWZpbmVkCiBQQVNTIHNlbGVjdDIub3B0aW9ucy5h
ZGQob3B0aW9uMiwgMSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjog
RE9NIEV4Y2VwdGlvbiAxNy4KIFBBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3CiBQQVNT
IHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxCiAKLTIuMTYgQWRkIG51bGwKKzIuMTcgQWRkIG51
bGwKIFBBU1Mgc2VsZWN0Mi5vcHRpb25zLmFkZChvcHRpb24yLCAxKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgogUEFTUyBzZWxlY3Qy
Lm9wdGlvbnMubGVuZ3RoIGlzIDcKIFBBU1Mgc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDEKIAot
Mi4xNyBBZGQgbmVnYXRpdmUgaW5maW5pdHkKKzIuMTggQWRkIG5lZ2F0aXZlIGluZmluaXR5CiBQ
QVNTIHNlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwgMSkgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KIFBBU1Mgc2VsZWN0Mi5vcHRp
b25zLmxlbmd0aCBpcyA3CiBQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxCiAKLTIuMTgg
QWRkIE5hTgorMi4xOSBBZGQgTmFOCiBQQVNTIHNlbGVjdDIub3B0aW9ucy5hZGQob3B0aW9uMiwg
MSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlv
biAxNy4KIFBBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3CiBQQVNTIHNlbGVjdDIuc2Vs
ZWN0ZWRJbmRleCBpcyAxCiAKLTIuMTkgQWRkIHBvc2l0aXZlIGluZmluaXR5CisyLjIwIEFkZCBw
b3NpdGl2ZSBpbmZpbml0eQogUEFTUyBzZWxlY3QyLm9wdGlvbnMuYWRkKG9wdGlvbjIsIDEpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcu
CiBQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNwogUEFTUyBzZWxlY3QyLnNlbGVjdGVk
SW5kZXggaXMgMQotLSAKMS41LjMuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17490</attachid>
            <date>2007-11-24 16:03:53 -0800</date>
            <delta_ts>2007-11-25 11:19:44 -0800</delta_ts>
            <desc>Implement select.options.remove() method</desc>
            <filename>0002-Bug-9683-Implement-select-options-remove-met.patch</filename>
            <type>text/plain</type>
            <size>21966</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">RnJvbSA1NjljYjYwNmJmN2JkNmFjODk2ZDExMDMwN2ZlNDcwYWFjODQxYzI4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBELiBLaWx6ZXIgPGRka2lsemVyQHdlYmtpdC5vcmc+
CkRhdGU6IFNhdCwgMjQgTm92IDIwMDcgMTU6NTc6MzkgLTA4MDAKU3ViamVjdDogW1BBVENIIDIv
Ml0gV2ViQ29yZToKCiAgICAgICAgQnVnIDk2ODM6IEltcGxlbWVudCBzZWxlY3Qub3B0aW9ucy5y
ZW1vdmUoKSBtZXRob2QKCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAg
ICAgIEltcGxlbWVudCBzZWxlY3Qub3B0aW9ucy5yZW1vdmUoKSBieSBjYWxsaW5nIHNlbGVjdC5y
ZW1vdmUoKQogICAgICAgIHdpdGggdGhlIHNhbWUgYXJndW1lbnRzLiAgVGhpcyBpcyB3aGF0IE1T
SUUgNyBkb2VzLCBhbHRob3VnaCBpdHMKICAgICAgICBzZWxlY3QucmVtb3ZlKCkgbWV0aG9kIGRp
ZmZlcnMgZnJvbSBXZWJLaXQncyBieSB0aHJvd2luZyBhbgogICAgICAgIGV4Y2VwdGlvbiB3aGVu
IGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50cyBvciB3aXRoIGEgbmVnYXRpdmUKICAgICAgICBpbnRl
Z2VyIGFyZ3VtZW50LiAgTm90ZSB0aGF0IERPTSBMZXZlbCAxIGRvY3VtZW50YXRpb24gc3BlY2lm
aWVzCiAgICAgICAgdGhhdCBzZWxlY3QucmVtb3ZlKCkgZG9lcyBub3QgdGhyb3cgYW4gZXhjZXB0
aW9uLgoKICAgICAgICBUZXN0OiBmYXN0L2pzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS5odG1sCgog
ICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0b20uY3BwOgog
ICAgICAgIChXZWJDb3JlOjpKU0hUTUxPcHRpb25zQ29sbGVjdGlvbjo6cmVtb3ZlKTogQWRkZWQu
CiAgICAgICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5jcHA6CiAgICAgICAgKFdlYkNv
cmU6OkhUTUxPcHRpb25zQ29sbGVjdGlvbjo6cmVtb3ZlKTogQWRkZWQuCiAgICAgICAgKiBodG1s
L0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oOgogICAgICAgICogaHRtbC9IVE1MT3B0aW9uc0NvbGxl
Y3Rpb24uaWRsOgoKTGF5b3V0VGVzdHM6CgogICAgICAgIEJ1ZyA5NjgzOiBJbXBsZW1lbnQgc2Vs
ZWN0Lm9wdGlvbnMucmVtb3ZlKCkgbWV0aG9kCgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgoKICAgICAgICAqIGZhc3QvanMvcmVzb3VyY2VzL3NlbGVjdC1vcHRpb25zLXJlbW92
ZS5qczogQWRkZWQuCiAgICAgICAgKiBmYXN0L2pzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgogICAgICAgICogZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUu
aHRtbDogQWRkZWQuCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgIDEwICsKIC4uLi9mYXN0L2pzL3Jlc291cmNlcy9zZWxlY3Qtb3B0aW9u
cy1yZW1vdmUuanMgICAgIHwgIDIzMiArKysrKysrKysrKysrKysrKysrKwogLi4uL2Zhc3QvanMv
c2VsZWN0LW9wdGlvbnMtcmVtb3ZlLWV4cGVjdGVkLnR4dCAgICAgfCAgMTgwICsrKysrKysrKysr
KysrKwogTGF5b3V0VGVzdHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUuaHRtbCAgICAg
fCAgIDM0ICsrKwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgIDIyICsrCiAuLi4vYmluZGluZ3MvanMvSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb25D
dXN0b20uY3BwICB8ICAgIDggKwogV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5j
cHAgICAgICAgICAgICAgfCAgICA1ICsKIFdlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rp
b24uaCAgICAgICAgICAgICAgIHwgICAgMSArCiBXZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xs
ZWN0aW9uLmlkbCAgICAgICAgICAgICB8ICAgIDEgKwogOSBmaWxlcyBjaGFuZ2VkLCA0OTMgaW5z
ZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0
cy9mYXN0L2pzL3Jlc291cmNlcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUuanMKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2pzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS1leHBlY3Rl
ZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2pzL3NlbGVjdC1vcHRp
b25zLXJlbW92ZS5odG1sCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM3NDcwMWUuLjRlZmM2N2UgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMyBAQAorMjAwNy0xMS0yNCAgRGF2aWQgRC4gS2lsemVyICA8ZGRraWx6ZXJAd2Via2l0Lm9y
Zz4KKworICAgICAgICBCdWcgOTY4MzogSW1wbGVtZW50IHNlbGVjdC5vcHRpb25zLnJlbW92ZSgp
IG1ldGhvZAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogZmFzdC9qcy9yZXNvdXJjZXMvc2VsZWN0LW9wdGlvbnMtcmVtb3ZlLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2pzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvanMvc2VsZWN0LW9wdGlvbnMtcmVtb3ZlLmh0bWw6IEFkZGVkLgor
CiAyMDA3LTExLTI0ICBEYXZpZCBELiBLaWx6ZXIgIDxkZGtpbHplckB3ZWJraXQub3JnPgogCiAg
ICAgICAgIEFkZGVkIHRlc3RzIGZvciBzZWxlY3Qub3B0aW9ucy5yZW1vdmUoYm9vbGVhbikuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9zZWxlY3Qtb3B0aW9ucy1y
ZW1vdmUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9zZWxlY3Qtb3B0aW9ucy1y
ZW1vdmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDI5YWNiNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL3NlbGVjdC1vcHRp
b25zLXJlbW92ZS5qcwpAQCAtMCwwICsxLDIzMiBAQAorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBj
aGVja3MgdGhlIGJlaGF2aW9yIG9mIHRoZSByZW1vdmUoKSBtZXRob2Qgb24gdGhlIHNlbGVjdC5v
cHRpb25zIG9iamVjdC4iKTsKKwordmFyIHNlbGVjdDEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic2VsZWN0MSIpOwordmFyIHZhbHVlOworCitkZWJ1ZygiMS4xIFJlbW92ZSAob2JqZWN0KSBm
cm9tIGVtcHR5IE9wdGlvbnMiKTsKK3ZhbHVlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiRElW
Iik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLnJlbW92ZSh2YWx1ZSkiLCAidW5kZWZpbmVk
Iik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgi
c2VsZWN0MS5zZWxlY3RlZEluZGV4IiwgIi0xIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIxLjIg
UmVtb3ZlIChzdHJpbmcpIGZyb20gZW1wdHkgT3B0aW9ucyIpOwordmFsdWUgPSAibyI7CitzaG91
bGRCZSgic2VsZWN0MS5vcHRpb25zLnJlbW92ZSh2YWx1ZSkiLCAidW5kZWZpbmVkIik7CitzaG91
bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgic2VsZWN0MS5z
ZWxlY3RlZEluZGV4IiwgIi0xIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIxLjMgUmVtb3ZlIChm
bG9hdCkgZnJvbSBlbXB0eSBPcHRpb25zIik7Cit2YWx1ZSA9IDMuMTQ7CitzaG91bGRCZSgic2Vs
ZWN0MS5vcHRpb25zLnJlbW92ZSh2YWx1ZSkiLCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgic2Vs
ZWN0MS5vcHRpb25zLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgic2VsZWN0MS5zZWxlY3RlZElu
ZGV4IiwgIi0xIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIxLjQgUmVtb3ZlIChib29sZWFuKSBm
cm9tIGVtcHR5IE9wdGlvbnMiKTsKK3ZhbHVlID0gdHJ1ZTsKK3Nob3VsZEJlKCJzZWxlY3QxLm9w
dGlvbnMucmVtb3ZlKHZhbHVlKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLm9w
dGlvbnMubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLnNlbGVjdGVkSW5kZXgiLCAi
LTEiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjEuNSBSZW1vdmUgKHVuZGVmaW5lZCkgZnJvbSBl
bXB0eSBPcHRpb25zIik7Cit2YWx1ZSA9IHVuZGVmaW5lZDsKK3Nob3VsZEJlKCJzZWxlY3QxLm9w
dGlvbnMucmVtb3ZlKHZhbHVlKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLm9w
dGlvbnMubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLnNlbGVjdGVkSW5kZXgiLCAi
LTEiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjEuNiBSZW1vdmUgKG51bGwpIGZyb20gZW1wdHkg
T3B0aW9ucyIpOwordmFsdWUgPSBudWxsOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5yZW1v
dmUodmFsdWUpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5sZW5n
dGgiLCAiMCIpOworc2hvdWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICItMSIpOworZGVi
dWcoIiIpOworCitkZWJ1ZygiMS43IFJlbW92ZSAobmVnYXRpdmUgaW5maW5pdHkpIGZyb20gZW1w
dHkgT3B0aW9ucyIpOwordmFsdWUgPSAtMS8wOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5y
ZW1vdmUodmFsdWUpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5s
ZW5ndGgiLCAiMCIpOworc2hvdWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICItMSIpOwor
ZGVidWcoIiIpOworCitkZWJ1ZygiMS44IFJlbW92ZSAoTmFOKSBmcm9tIGVtcHR5IE9wdGlvbnMi
KTsKK3ZhbHVlID0gMC8wOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5yZW1vdmUodmFsdWUp
IiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5sZW5ndGgiLCAiMCIp
Oworc2hvdWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICItMSIpOworZGVidWcoIiIpOwor
CitkZWJ1ZygiMS45IFJlbW92ZSAocG9zaXRpdmUgaW5maW5pdHkpIGZyb20gZW1wdHkgT3B0aW9u
cyIpOwordmFsdWUgPSAxLzA7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLnJlbW92ZSh2YWx1
ZSkiLCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIw
Iik7CitzaG91bGRCZSgic2VsZWN0MS5zZWxlY3RlZEluZGV4IiwgIi0xIik7CitkZWJ1ZygiIik7
CisKK2RlYnVnKCIxLjEwIFJlbW92ZSBubyBhcmdzIGZyb20gZW1wdHkgT3B0aW9ucyIpOworc2hv
dWxkQmUoInNlbGVjdDEub3B0aW9ucy5yZW1vdmUoKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJl
KCJzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLnNlbGVj
dGVkSW5kZXgiLCAiLTEiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjEuMTEgUmVtb3ZlIHRvbyBt
YW55IGFyZ3MgZnJvbSBlbXB0eSBPcHRpb25zIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25z
LnJlbW92ZSgwLCAnZm9vJykiLCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRp
b25zLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgic2VsZWN0MS5zZWxlY3RlZEluZGV4IiwgIi0x
Iik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIxLjEyIFJlbW92ZSBpbnZhbGlkIGluZGV4IC0yIGZy
b20gZW1wdHkgT3B0aW9ucyIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5yZW1vdmUoLTIp
IiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5sZW5ndGgiLCAiMCIp
Oworc2hvdWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICItMSIpOworZGVidWcoIiIpOwor
CitkZWJ1ZygiMS4xMyBSZW1vdmUgaW52YWxpZCBpbmRleCAtMSBmcm9tIGVtcHR5IE9wdGlvbnMi
KTsKK3Nob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnMucmVtb3ZlKC0xKSIsICJ1bmRlZmluZWQiKTsK
K3Nob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJzZWxl
Y3QxLnNlbGVjdGVkSW5kZXgiLCAiLTEiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjEuMTQgUmVt
b3ZlIGluZGV4IDAgZnJvbSBlbXB0eSBPcHRpb25zIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRp
b25zLnJlbW92ZSgwKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnMu
bGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLnNlbGVjdGVkSW5kZXgiLCAiLTEiKTsK
K2RlYnVnKCIiKTsKKworZGVidWcoIjEuMTUgUmVtb3ZlIGluZGV4IDEgZnJvbSBlbXB0eSBPcHRp
b25zIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLnJlbW92ZSgxKSIsICJ1bmRlZmluZWQi
KTsKK3Nob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJz
ZWxlY3QxLnNlbGVjdGVkSW5kZXgiLCAiLTEiKTsKK2RlYnVnKCIiKTsKKworLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK2kgPSAwOwordmFyIHNl
bGVjdDIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0MiIpOworCitkZWJ1ZygiMi4x
IFJlbW92ZSAob2JqZWN0KSBmcm9tIG5vbi1lbXB0eSBPcHRpb25zIik7Cit2YWx1ZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoIkRJViIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5yZW1v
dmUodmFsdWUpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5sZW5n
dGgiLCAiMTUiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMTMiKTsKK3No
b3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUiLCAiJ0InIik7CitkZWJ1ZygiIik7CisK
K2RlYnVnKCIyLjIgUmVtb3ZlIChzdHJpbmcpIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMiKTsKK3Zh
bHVlID0gIm8iOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5yZW1vdmUodmFsdWUpIiwgInVu
ZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5sZW5ndGgiLCAiMTQiKTsKK3No
b3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMTIiKTsKK3Nob3VsZEJlKCJzZWxlY3Qy
Lm9wdGlvbnNbMF0udmFsdWUiLCAiJ0MnIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjMgUmVt
b3ZlIChmbG9hdCkgZnJvbSBub24tZW1wdHkgT3B0aW9ucyIpOwordmFsdWUgPSAzLjE0Oworc2hv
dWxkQmUoInNlbGVjdDIub3B0aW9ucy5yZW1vdmUodmFsdWUpIiwgInVuZGVmaW5lZCIpOworc2hv
dWxkQmUoInNlbGVjdDIub3B0aW9ucy5sZW5ndGgiLCAiMTMiKTsKK3Nob3VsZEJlKCJzZWxlY3Qy
LnNlbGVjdGVkSW5kZXgiLCAiMTEiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbM10udmFs
dWUiLCAiJ0cnIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjQgUmVtb3ZlIChib29sZWFuIHRy
dWUpIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMiKTsKK3ZhbHVlID0gdHJ1ZTsKK3Nob3VsZEJlKCJz
ZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJz
ZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjEyIik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3Rl
ZEluZGV4IiwgIjEwIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIiwgIidF
JyIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMi41IFJlbW92ZSAoYm9vbGVhbiBmYWxzZSkgZnJv
bSBub24tZW1wdHkgT3B0aW9ucyIpOwordmFsdWUgPSBmYWxzZTsKK3Nob3VsZEJlKCJzZWxlY3Qy
Lm9wdGlvbnMucmVtb3ZlKHZhbHVlKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJzZWxlY3Qy
Lm9wdGlvbnMubGVuZ3RoIiwgIjExIik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4
IiwgIjkiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUiLCAiJ0cnIik7Citk
ZWJ1ZygiIik7CisKK2RlYnVnKCIyLjYgUmVtb3ZlICh1bmRlZmluZWQpIGZyb20gbm9uLWVtcHR5
IE9wdGlvbnMiKTsKK3ZhbHVlID0gdW5kZWZpbmVkOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9u
cy5yZW1vdmUodmFsdWUpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9u
cy5sZW5ndGgiLCAiMTAiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiOCIp
Oworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSIsICInRyciKTsKK2RlYnVnKCIi
KTsKKworZGVidWcoIjIuNyBSZW1vdmUgKG51bGwpIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMiKTsK
K3ZhbHVlID0gbnVsbDsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSIs
ICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjkiKTsK
K3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiNyIpOworc2hvdWxkQmUoInNlbGVj
dDIub3B0aW9uc1swXS52YWx1ZSIsICInSCciKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjIuOCBS
ZW1vdmUgKG5lZ2F0aXZlIGluZmluaXR5KSBmcm9tIG5vbi1lbXB0eSBPcHRpb25zIik7Cit2YWx1
ZSA9IC0xLzA7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLnJlbW92ZSh2YWx1ZSkiLCAidW5k
ZWZpbmVkIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICI4Iik7CitzaG91
bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjYiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9w
dGlvbnNbMF0udmFsdWUiLCAiJ0knIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjkgUmVtb3Zl
IChOYU4pIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMiKTsKK3ZhbHVlID0gMC8wOworc2hvdWxkQmUo
InNlbGVjdDIub3B0aW9ucy5yZW1vdmUodmFsdWUpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUo
InNlbGVjdDIub3B0aW9ucy5sZW5ndGgiLCAiNyIpOworc2hvdWxkQmUoInNlbGVjdDIuc2VsZWN0
ZWRJbmRleCIsICI1Iik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIiwgIidK
JyIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMi4xMCBSZW1vdmUgKHBvc2l0aXZlIGluZmluaXR5
KSBmcm9tIG5vbi1lbXB0eSBPcHRpb25zIik7Cit2YWx1ZSA9IDEvMDsKK3Nob3VsZEJlKCJzZWxl
Y3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJzZWxl
Y3QyLm9wdGlvbnMubGVuZ3RoIiwgIjYiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5k
ZXgiLCAiNCIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSIsICInSyciKTsK
K2RlYnVnKCIiKTsKKworZGVidWcoIjIuMTEgUmVtb3ZlIG5vIGFyZ3MgZnJvbSBub24tZW1wdHkg
T3B0aW9ucyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5yZW1vdmUoKSIsICJ1bmRlZmlu
ZWQiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjUiKTsKK3Nob3VsZEJl
KCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9u
c1swXS52YWx1ZSIsICInTCciKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjIuMTIgUmVtb3ZlIHRv
byBtYW55IGFyZ3MgZnJvbSBub24tZW1wdHkgT3B0aW9ucyIpOworc2hvdWxkQmUoInNlbGVjdDIu
b3B0aW9ucy5yZW1vdmUoMCwgJ2ZvbycpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVj
dDIub3B0aW9ucy5sZW5ndGgiLCAiNCIpOworc2hvdWxkQmUoInNlbGVjdDIuc2VsZWN0ZWRJbmRl
eCIsICIyIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIiwgIidNJyIpOwor
ZGVidWcoIiIpOworCitkZWJ1ZygiMi4xMyBSZW1vdmUgaW52YWxpZCBpbmRleCAtMiBmcm9tIG5v
bi1lbXB0eSBPcHRpb25zIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLnJlbW92ZSgtMiki
LCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICI0Iik7
CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjIiKTsKK3Nob3VsZEJlKCJzZWxl
Y3QyLm9wdGlvbnNbMl0udmFsdWUiLCAiJ08nIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjE0
IFJlbW92ZSBpbnZhbGlkIGluZGV4IC0xIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMiKTsKK3Nob3Vs
ZEJlKCJzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKC0xKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJl
KCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjQiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVj
dGVkSW5kZXgiLCAiMiIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1szXS52YWx1ZSIsICIn
UCciKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjIuMTUgUmVtb3ZlIGluZGV4IDAgZnJvbSBub24t
ZW1wdHkgT3B0aW9ucyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5yZW1vdmUoMCkiLCAi
dW5kZWZpbmVkIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICIzIik7Citz
aG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjEiKTsKK3Nob3VsZEJlKCJzZWxlY3Qy
Lm9wdGlvbnNbMF0udmFsdWUiLCAiJ04nIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjE2IFJl
bW92ZSBpbmRleCAxIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMiKTsKK3Nob3VsZEJlKCJzZWxlY3Qy
Lm9wdGlvbnMucmVtb3ZlKDEpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0
aW9ucy5sZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoInNlbGVjdDIuc2VsZWN0ZWRJbmRleCIsICIw
Iik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIiwgIidQJyIpOworZGVidWco
IiIpOworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjMWFiZWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2pzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxODAgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhlIGJlaGF2aW9yIG9mIHRoZSByZW1vdmUo
KSBtZXRob2Qgb24gdGhlIHNlbGVjdC5vcHRpb25zIG9iamVjdC4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKKzEuMSBSZW1vdmUgKG9iamVjdCkgZnJvbSBlbXB0eSBPcHRpb25zCitQ
QVNTIHNlbGVjdDEub3B0aW9ucy5yZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxl
Y3QxLm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIC0x
CisKKzEuMiBSZW1vdmUgKHN0cmluZykgZnJvbSBlbXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDEu
b3B0aW9ucy5yZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxlY3QxLm9wdGlvbnMu
bGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIC0xCisKKzEuMyBSZW1v
dmUgKGZsb2F0KSBmcm9tIGVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0MS5vcHRpb25zLnJlbW92
ZSh2YWx1ZSkgaXMgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDEub3B0aW9ucy5sZW5ndGggaXMgMAor
UEFTUyBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgLTEKKworMS40IFJlbW92ZSAoYm9vbGVhbikg
ZnJvbSBlbXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDEub3B0aW9ucy5yZW1vdmUodmFsdWUpIGlz
IHVuZGVmaW5lZAorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZWN0
MS5zZWxlY3RlZEluZGV4IGlzIC0xCisKKzEuNSBSZW1vdmUgKHVuZGVmaW5lZCkgZnJvbSBlbXB0
eSBPcHRpb25zCitQQVNTIHNlbGVjdDEub3B0aW9ucy5yZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5l
ZAorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZWN0MS5zZWxlY3Rl
ZEluZGV4IGlzIC0xCisKKzEuNiBSZW1vdmUgKG51bGwpIGZyb20gZW1wdHkgT3B0aW9ucworUEFT
UyBzZWxlY3QxLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSBpcyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0
MS5vcHRpb25zLmxlbmd0aCBpcyAwCitQQVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAtMQor
CisxLjcgUmVtb3ZlIChuZWdhdGl2ZSBpbmZpbml0eSkgZnJvbSBlbXB0eSBPcHRpb25zCitQQVNT
IHNlbGVjdDEub3B0aW9ucy5yZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxlY3Qx
Lm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIC0xCisK
KzEuOCBSZW1vdmUgKE5hTikgZnJvbSBlbXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDEub3B0aW9u
cy5yZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3Ro
IGlzIDAKK1BBU1Mgc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIC0xCisKKzEuOSBSZW1vdmUgKHBv
c2l0aXZlIGluZmluaXR5KSBmcm9tIGVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0MS5vcHRpb25z
LnJlbW92ZSh2YWx1ZSkgaXMgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDEub3B0aW9ucy5sZW5ndGgg
aXMgMAorUEFTUyBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgLTEKKworMS4xMCBSZW1vdmUgbm8g
YXJncyBmcm9tIGVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0MS5vcHRpb25zLnJlbW92ZSgpIGlz
IHVuZGVmaW5lZAorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZWN0
MS5zZWxlY3RlZEluZGV4IGlzIC0xCisKKzEuMTEgUmVtb3ZlIHRvbyBtYW55IGFyZ3MgZnJvbSBl
bXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDEub3B0aW9ucy5yZW1vdmUoMCwgJ2ZvbycpIGlzIHVu
ZGVmaW5lZAorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZWN0MS5z
ZWxlY3RlZEluZGV4IGlzIC0xCisKKzEuMTIgUmVtb3ZlIGludmFsaWQgaW5kZXggLTIgZnJvbSBl
bXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDEub3B0aW9ucy5yZW1vdmUoLTIpIGlzIHVuZGVmaW5l
ZAorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZWN0MS5zZWxlY3Rl
ZEluZGV4IGlzIC0xCisKKzEuMTMgUmVtb3ZlIGludmFsaWQgaW5kZXggLTEgZnJvbSBlbXB0eSBP
cHRpb25zCitQQVNTIHNlbGVjdDEub3B0aW9ucy5yZW1vdmUoLTEpIGlzIHVuZGVmaW5lZAorUEFT
UyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZWN0MS5zZWxlY3RlZEluZGV4
IGlzIC0xCisKKzEuMTQgUmVtb3ZlIGluZGV4IDAgZnJvbSBlbXB0eSBPcHRpb25zCitQQVNTIHNl
bGVjdDEub3B0aW9ucy5yZW1vdmUoMCkgaXMgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDEub3B0aW9u
cy5sZW5ndGggaXMgMAorUEFTUyBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgLTEKKworMS4xNSBS
ZW1vdmUgaW5kZXggMSBmcm9tIGVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0MS5vcHRpb25zLnJl
bW92ZSgxKSBpcyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAwCitQ
QVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAtMQorCisyLjEgUmVtb3ZlIChvYmplY3QpIGZy
b20gbm9uLWVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLnJlbW92ZSh2YWx1ZSkg
aXMgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgMTUKK1BBU1Mgc2Vs
ZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDEzCitQQVNTIHNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSBp
cyAnQicKKworMi4yIFJlbW92ZSAoc3RyaW5nKSBmcm9tIG5vbi1lbXB0eSBPcHRpb25zCitQQVNT
IHNlbGVjdDIub3B0aW9ucy5yZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxlY3Qy
Lm9wdGlvbnMubGVuZ3RoIGlzIDE0CitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxMgor
UEFTUyBzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUgaXMgJ0MnCisKKzIuMyBSZW1vdmUgKGZsb2F0
KSBmcm9tIG5vbi1lbXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDIub3B0aW9ucy5yZW1vdmUodmFs
dWUpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDEzCitQQVNT
IHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxMQorUEFTUyBzZWxlY3QyLm9wdGlvbnNbM10udmFs
dWUgaXMgJ0cnCisKKzIuNCBSZW1vdmUgKGJvb2xlYW4gdHJ1ZSkgZnJvbSBub24tZW1wdHkgT3B0
aW9ucworUEFTUyBzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSBpcyB1bmRlZmluZWQKK1BB
U1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyAxMgorUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5k
ZXggaXMgMTAKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIGlzICdFJworCisyLjUgUmVt
b3ZlIChib29sZWFuIGZhbHNlKSBmcm9tIG5vbi1lbXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDIu
b3B0aW9ucy5yZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxlY3QyLm9wdGlvbnMu
bGVuZ3RoIGlzIDExCitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyA5CitQQVNTIHNlbGVj
dDIub3B0aW9uc1sxXS52YWx1ZSBpcyAnRycKKworMi42IFJlbW92ZSAodW5kZWZpbmVkKSBmcm9t
IG5vbi1lbXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDIub3B0aW9ucy5yZW1vdmUodmFsdWUpIGlz
IHVuZGVmaW5lZAorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDEwCitQQVNTIHNlbGVj
dDIuc2VsZWN0ZWRJbmRleCBpcyA4CitQQVNTIHNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSBpcyAn
RycKKworMi43IFJlbW92ZSAobnVsbCkgZnJvbSBub24tZW1wdHkgT3B0aW9ucworUEFTUyBzZWxl
Y3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSBpcyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0Mi5vcHRp
b25zLmxlbmd0aCBpcyA5CitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyA3CitQQVNTIHNl
bGVjdDIub3B0aW9uc1swXS52YWx1ZSBpcyAnSCcKKworMi44IFJlbW92ZSAobmVnYXRpdmUgaW5m
aW5pdHkpIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLnJlbW92
ZSh2YWx1ZSkgaXMgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgOAor
UEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgNgorUEFTUyBzZWxlY3QyLm9wdGlvbnNbMF0u
dmFsdWUgaXMgJ0knCisKKzIuOSBSZW1vdmUgKE5hTikgZnJvbSBub24tZW1wdHkgT3B0aW9ucwor
UEFTUyBzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSBpcyB1bmRlZmluZWQKK1BBU1Mgc2Vs
ZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3CitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyA1
CitQQVNTIHNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSBpcyAnSicKKworMi4xMCBSZW1vdmUgKHBv
c2l0aXZlIGluZmluaXR5KSBmcm9tIG5vbi1lbXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDIub3B0
aW9ucy5yZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVu
Z3RoIGlzIDYKK1BBU1Mgc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDQKK1BBU1Mgc2VsZWN0Mi5v
cHRpb25zWzBdLnZhbHVlIGlzICdLJworCisyLjExIFJlbW92ZSBubyBhcmdzIGZyb20gbm9uLWVt
cHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLnJlbW92ZSgpIGlzIHVuZGVmaW5lZAor
UEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDUKK1BBU1Mgc2VsZWN0Mi5zZWxlY3RlZElu
ZGV4IGlzIDMKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIGlzICdMJworCisyLjEyIFJl
bW92ZSB0b28gbWFueSBhcmdzIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0Mi5v
cHRpb25zLnJlbW92ZSgwLCAnZm9vJykgaXMgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDIub3B0aW9u
cy5sZW5ndGggaXMgNAorUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMgorUEFTUyBzZWxl
Y3QyLm9wdGlvbnNbMF0udmFsdWUgaXMgJ00nCisKKzIuMTMgUmVtb3ZlIGludmFsaWQgaW5kZXgg
LTIgZnJvbSBub24tZW1wdHkgT3B0aW9ucworUEFTUyBzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKC0y
KSBpcyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA0CitQQVNTIHNl
bGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAyCitQQVNTIHNlbGVjdDIub3B0aW9uc1syXS52YWx1ZSBp
cyAnTycKKworMi4xNCBSZW1vdmUgaW52YWxpZCBpbmRleCAtMSBmcm9tIG5vbi1lbXB0eSBPcHRp
b25zCitQQVNTIHNlbGVjdDIub3B0aW9ucy5yZW1vdmUoLTEpIGlzIHVuZGVmaW5lZAorUEFTUyBz
ZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDQKK1BBU1Mgc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlz
IDIKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzNdLnZhbHVlIGlzICdQJworCisyLjE1IFJlbW92ZSBp
bmRleCAwIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLnJlbW92
ZSgwKSBpcyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyAzCitQQVNT
IHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxCitQQVNTIHNlbGVjdDIub3B0aW9uc1swXS52YWx1
ZSBpcyAnTicKKworMi4xNiBSZW1vdmUgaW5kZXggMSBmcm9tIG5vbi1lbXB0eSBPcHRpb25zCitQ
QVNTIHNlbGVjdDIub3B0aW9ucy5yZW1vdmUoMSkgaXMgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDIu
b3B0aW9ucy5sZW5ndGggaXMgMgorUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMAorUEFT
UyBzZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUgaXMgJ1AnCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMv
c2VsZWN0LW9wdGlvbnMtcmVtb3ZlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZjUxZDdjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvc2Vs
ZWN0LW9wdGlvbnMtcmVtb3ZlLmh0bWwKQEAgLTAsMCArMSwzNCBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PGRpdj4KKzxzZWxlY3QgaWQ9InNlbGVjdDEiPjwvc2VsZWN0PgorPHNlbGVjdCBpZD0ic2VsZWN0
MiI+Cis8b3B0aW9uIHZhbHVlPSJBIj4xPC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSJCIj4yPC9v
cHRpb24+Cis8b3B0aW9uIHZhbHVlPSJDIj4zPC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSJEIj40
PC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSJFIj41PC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSJG
Ij42PC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSJHIj43PC9vcHRpb24+Cis8b3B0aW9uIHZhbHVl
PSJIIj44PC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSJJIj45PC9vcHRpb24+Cis8b3B0aW9uIHZh
bHVlPSJKIj4xMDwvb3B0aW9uPgorPG9wdGlvbiB2YWx1ZT0iSyI+MTE8L29wdGlvbj4KKzxvcHRp
b24gdmFsdWU9IkwiPjEyPC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSJNIj4xMzwvb3B0aW9uPgor
PG9wdGlvbiB2YWx1ZT0iTiI+MTQ8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9Ik8iIHNlbGVjdGVk
PSJzZWxlY3RlZCI+MTU8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IlAiPjE2PC9vcHRpb24+Cis8
L3NlbGVjdD4KKzwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zZWxlY3Qtb3B0aW9ucy1y
ZW1vdmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3ZWJmNzRhLi5iNmEyZDA2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI1IEBACisyMDA3LTExLTI0ICBEYXZpZCBELiBLaWx6ZXIgIDxkZGtpbHplckB3ZWJraXQub3Jn
PgorCisgICAgICAgIEJ1ZyA5NjgzOiBJbXBsZW1lbnQgc2VsZWN0Lm9wdGlvbnMucmVtb3ZlKCkg
bWV0aG9kCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SW1wbGVtZW50IHNlbGVjdC5vcHRpb25zLnJlbW92ZSgpIGJ5IGNhbGxpbmcgc2VsZWN0LnJlbW92
ZSgpCisgICAgICAgIHdpdGggdGhlIHNhbWUgYXJndW1lbnRzLiAgVGhpcyBpcyB3aGF0IE1TSUUg
NyBkb2VzLCBhbHRob3VnaCBpdHMKKyAgICAgICAgc2VsZWN0LnJlbW92ZSgpIG1ldGhvZCBkaWZm
ZXJzIGZyb20gV2ViS2l0J3MgYnkgdGhyb3dpbmcgYW4KKyAgICAgICAgZXhjZXB0aW9uIHdoZW4g
Y2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIG9yIHdpdGggYSBuZWdhdGl2ZQorICAgICAgICBpbnRl
Z2VyIGFyZ3VtZW50LiAgTm90ZSB0aGF0IERPTSBMZXZlbCAxIGRvY3VtZW50YXRpb24gc3BlY2lm
aWVzCisgICAgICAgIHRoYXQgc2VsZWN0LnJlbW92ZSgpIGRvZXMgbm90IHRocm93IGFuIGV4Y2Vw
dGlvbi4KKworICAgICAgICBUZXN0OiBmYXN0L2pzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS5odG1s
CisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpKU0hUTUxPcHRpb25zQ29sbGVjdGlvbjo6cmVtb3ZlKTog
QWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpyZW1vdmUpOiBBZGRlZC4KKyAgICAg
ICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oOgorICAgICAgICAqIGh0bWwvSFRNTE9w
dGlvbnNDb2xsZWN0aW9uLmlkbDoKKwogMjAwNy0xMS0yMyAgVGltb3RoeSBIYXRjaGVyICA8dGlt
b3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBSb2Jlbi4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0b20u
Y3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5j
cHAKaW5kZXggMmU4NGZjYS4uNzI2ODliZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAK
ICNpbmNsdWRlICJIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCIKICNpbmNsdWRlICJIVE1MU2VsZWN0
RWxlbWVudC5oIgogI2luY2x1ZGUgIkpTSFRNTE9wdGlvbkVsZW1lbnQuaCIKKyNpbmNsdWRlICJK
U0hUTUxTZWxlY3RFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNIVE1MU2VsZWN0RWxlbWVudEN1c3Rv
bS5oIgogCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAgLTY2LDQgKzY3LDExIEBAIHZv
aWQgSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb246OmluZGV4U2V0dGVyKEtKUzo6RXhlY1N0YXRlKiBl
eGVjLCB1bnNpZ25lZCBpbmRleCwKICAgICBzZWxlY3RJbmRleFNldHRlcihiYXNlLCBleGVjLCBp
bmRleCwgdmFsdWUpOwogfQogCitLSlM6OkpTVmFsdWUqIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9u
OjpyZW1vdmUoS0pTOjpFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEtKUzo6TGlzdCYgYXJncykKK3sK
KyAgICBIVE1MT3B0aW9uc0NvbGxlY3Rpb24qIGltcCA9IHN0YXRpY19jYXN0PEhUTUxPcHRpb25z
Q29sbGVjdGlvbio+KGltcGwoKSk7CisgICAgSlNIVE1MU2VsZWN0RWxlbWVudCogYmFzZSA9IHN0
YXRpY19jYXN0PEpTSFRNTFNlbGVjdEVsZW1lbnQqPih0b0pTKGV4ZWMsIGltcC0+YmFzZSgpKSk7
CisgICAgcmV0dXJuIGJhc2UtPnJlbW92ZShleGVjLCBhcmdzKTsKK30KKwogfQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5jcHAgYi9XZWJDb3JlL2h0bWwv
SFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNwcAppbmRleCAzNzJiMWI2Li4zYThiZWRmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNwcAorKysgYi9XZWJDb3Jl
L2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNwcApAQCAtNjYsNiArNjYsMTEgQEAgdm9pZCBI
VE1MT3B0aW9uc0NvbGxlY3Rpb246OmFkZChQYXNzUmVmUHRyPEhUTUxPcHRpb25FbGVtZW50PiBl
bGVtZW50LCBpbnQgaW5kZXgKICAgICBBU1NFUlQoZWMgPT0gMCk7CiB9CiAKK3ZvaWQgSFRNTE9w
dGlvbnNDb2xsZWN0aW9uOjpyZW1vdmUoaW50IGluZGV4KQoreworICAgIHN0YXRpY19jYXN0PEhU
TUxTZWxlY3RFbGVtZW50Kj4obV9iYXNlLmdldCgpKS0+cmVtb3ZlKGluZGV4KTsKK30KKwogaW50
IEhUTUxPcHRpb25zQ29sbGVjdGlvbjo6c2VsZWN0ZWRJbmRleCgpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PEhUTUxTZWxlY3RFbGVtZW50Kj4obV9iYXNlLmdldCgpKS0+c2VsZWN0
ZWRJbmRleCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlv
bi5oIGIvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oCmluZGV4IGQ2NmIwYjgu
LjczMzg3ZmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24u
aAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmgKQEAgLTQxLDYgKzQx
LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGQoUGFzc1JlZlB0cjxIVE1MT3B0aW9uRWxlbWVu
dD4sIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIGFkZChQYXNzUmVmUHRyPEhUTUxPcHRpb25F
bGVtZW50PiwgaW50IGluZGV4LCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCByZW1vdmUoaW50
IGluZGV4KTsKIAogICAgIGludCBzZWxlY3RlZEluZGV4KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRT
ZWxlY3RlZEluZGV4KGludCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnND
b2xsZWN0aW9uLmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaWRsCmlu
ZGV4IDVlMDkwZmUuLjZmNTg3NjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9u
c0NvbGxlY3Rpb24uaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24u
aWRsCkBAIC0zNCw2ICszNCw3IEBAIG1vZHVsZSBodG1sIHsKIAogICAgICAgICB2b2lkIGFkZChp
biBIVE1MT3B0aW9uRWxlbWVudCBvcHRpb24sIGluIFtPcHRpb25hbF0gdW5zaWduZWQgbG9uZyBp
bmRleCkKICAgICAgICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAgIFtDdXN0
b21dIHZvaWQgcmVtb3ZlKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogCiAjaWYgIWRlZmluZWQo
TEFOR1VBR0VfSkFWQVNDUklQVCkKICAgICAgICAgTm9kZSBpdGVtKGluIHVuc2lnbmVkIGxvbmcg
aW5kZXgpOwotLSAKMS41LjMuNAoK
</data>
<flag name="review"
          id="7509"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17510</attachid>
            <date>2007-11-25 11:19:44 -0800</date>
            <delta_ts>2007-12-10 00:09:15 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-9683-v2.diff</filename>
            <type>text/plain</type>
            <size>21833</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YjA0N2JkMi4uMjJmNDkxNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAwNy0xMS0yNSAgRGF2aWQgRC4gS2ls
emVyICA8ZGRraWx6ZXJAd2Via2l0Lm9yZz4KKworICAgICAgICBCdWcgOTY4MzogSW1wbGVtZW50
IHNlbGVjdC5vcHRpb25zLnJlbW92ZSgpIG1ldGhvZAorICAgICAgICA8aHR0cDovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgc2VsZWN0Lm9wdGlvbnMucmVtb3ZlKCkg
YnkgY2FsbGluZyBzZWxlY3QucmVtb3ZlKCkKKyAgICAgICAgd2l0aCB0aGUgc2FtZSBhcmd1bWVu
dHMuICBUaGlzIGlzIHdoYXQgTVNJRSA3IGRvZXMsIGFsdGhvdWdoIGl0cworICAgICAgICBzZWxl
Y3QucmVtb3ZlKCkgbWV0aG9kIGRpZmZlcnMgZnJvbSBXZWJLaXQncyBieSB0aHJvd2luZyBhbgor
ICAgICAgICBleGNlcHRpb24gd2hlbiBjYWxsZWQgd2l0aCBubyBhcmd1bWVudHMgb3Igd2l0aCBh
IG5lZ2F0aXZlCisgICAgICAgIGludGVnZXIgYXJndW1lbnQuICBOb3RlIHRoYXQgdGhlIERPTSBM
ZXZlbCAxIGRvY3VtZW50YXRpb24KKyAgICAgICAgc3BlY2lmaWVzIHRoYXQgc2VsZWN0LnJlbW92
ZSgpIGRvZXMgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4KKworICAgICAgICBUZXN0czogZmFzdC9q
cy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUtZ2MuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9qcy9z
ZWxlY3Qtb3B0aW9ucy1yZW1vdmUuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1M
T3B0aW9uc0NvbGxlY3Rpb25DdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNIVE1MT3B0
aW9uc0NvbGxlY3Rpb246OnJlbW92ZSk6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRNTE9wdGlv
bnNDb2xsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25zQ29sbGVjdGlv
bjo6cmVtb3ZlKTogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24u
aDoKKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGw6CisKIDIwMDctMTEt
MjQgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBU
aW0gSGF0Y2hlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MT3B0aW9u
c0NvbGxlY3Rpb25DdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25z
Q29sbGVjdGlvbkN1c3RvbS5jcHAKaW5kZXggMmU4NGZjYS4uNzI2ODliZSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHAKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHAK
QEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCIKICNp
bmNsdWRlICJIVE1MU2VsZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkpTSFRNTE9wdGlvbkVsZW1l
bnQuaCIKKyNpbmNsdWRlICJKU0hUTUxTZWxlY3RFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNIVE1M
U2VsZWN0RWxlbWVudEN1c3RvbS5oIgogCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAg
LTY2LDQgKzY3LDExIEBAIHZvaWQgSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb246OmluZGV4U2V0dGVy
KEtKUzo6RXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpbmRleCwKICAgICBzZWxlY3RJbmRleFNl
dHRlcihiYXNlLCBleGVjLCBpbmRleCwgdmFsdWUpOwogfQogCitLSlM6OkpTVmFsdWUqIEpTSFRN
TE9wdGlvbnNDb2xsZWN0aW9uOjpyZW1vdmUoS0pTOjpFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEtK
Uzo6TGlzdCYgYXJncykKK3sKKyAgICBIVE1MT3B0aW9uc0NvbGxlY3Rpb24qIGltcCA9IHN0YXRp
Y19jYXN0PEhUTUxPcHRpb25zQ29sbGVjdGlvbio+KGltcGwoKSk7CisgICAgSlNIVE1MU2VsZWN0
RWxlbWVudCogYmFzZSA9IHN0YXRpY19jYXN0PEpTSFRNTFNlbGVjdEVsZW1lbnQqPih0b0pTKGV4
ZWMsIGltcC0+YmFzZSgpKSk7CisgICAgcmV0dXJuIGJhc2UtPnJlbW92ZShleGVjLCBhcmdzKTsK
K30KKwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5j
cHAgYi9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNwcAppbmRleCAzNzJiMWI2
Li4zYThiZWRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9u
LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNwcApAQCAtNjYs
NiArNjYsMTEgQEAgdm9pZCBIVE1MT3B0aW9uc0NvbGxlY3Rpb246OmFkZChQYXNzUmVmUHRyPEhU
TUxPcHRpb25FbGVtZW50PiBlbGVtZW50LCBpbnQgaW5kZXgKICAgICBBU1NFUlQoZWMgPT0gMCk7
CiB9CiAKK3ZvaWQgSFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpyZW1vdmUoaW50IGluZGV4KQorewor
ICAgIHN0YXRpY19jYXN0PEhUTUxTZWxlY3RFbGVtZW50Kj4obV9iYXNlLmdldCgpKS0+cmVtb3Zl
KGluZGV4KTsKK30KKwogaW50IEhUTUxPcHRpb25zQ29sbGVjdGlvbjo6c2VsZWN0ZWRJbmRleCgp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxTZWxlY3RFbGVtZW50Kj4obV9i
YXNlLmdldCgpKS0+c2VsZWN0ZWRJbmRleCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hU
TUxPcHRpb25zQ29sbGVjdGlvbi5oIGIvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlv
bi5oCmluZGV4IGQ2NmIwYjguLjczMzg3ZmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1M
T3B0aW9uc0NvbGxlY3Rpb24uaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0
aW9uLmgKQEAgLTQxLDYgKzQxLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGQoUGFzc1JlZlB0
cjxIVE1MT3B0aW9uRWxlbWVudD4sIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIGFkZChQYXNz
UmVmUHRyPEhUTUxPcHRpb25FbGVtZW50PiwgaW50IGluZGV4LCBFeGNlcHRpb25Db2RlJik7Cisg
ICAgdm9pZCByZW1vdmUoaW50IGluZGV4KTsKIAogICAgIGludCBzZWxlY3RlZEluZGV4KCkgY29u
c3Q7CiAgICAgdm9pZCBzZXRTZWxlY3RlZEluZGV4KGludCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9u
c0NvbGxlY3Rpb24uaWRsCmluZGV4IDVlMDkwZmUuLjZmNTg3NjUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1M
T3B0aW9uc0NvbGxlY3Rpb24uaWRsCkBAIC0zNCw2ICszNCw3IEBAIG1vZHVsZSBodG1sIHsKIAog
ICAgICAgICB2b2lkIGFkZChpbiBIVE1MT3B0aW9uRWxlbWVudCBvcHRpb24sIGluIFtPcHRpb25h
bF0gdW5zaWduZWQgbG9uZyBpbmRleCkKICAgICAgICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlv
bik7CisgICAgICAgIFtDdXN0b21dIHZvaWQgcmVtb3ZlKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgp
OwogCiAjaWYgIWRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkKICAgICAgICAgTm9kZSBpdGVt
KGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhiMjYzYmQuLmM0MmRiM2EgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAwNy0xMS0yNSAgRGF2aWQgRC4gS2lsemVyICA8ZGRraWx6ZXJA
d2Via2l0Lm9yZz4KKworICAgICAgICBCdWcgOTY4MzogSW1wbGVtZW50IHNlbGVjdC5vcHRpb25z
LnJlbW92ZSgpIG1ldGhvZAorICAgICAgICA8aHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTY4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGZhc3QvanMvcmVzb3VyY2VzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS5qczogQWRk
ZWQuCisgICAgICAgICogZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS1nYy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvc2VsZWN0LW9wdGlvbnMtcmVtb3Zl
LWdjLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvc2VsZWN0LW9wdGlvbnMtcmVtb3Zl
Lmh0bWw6IEFkZGVkLgorCiAyMDA3LTExLTI0ICBEYXZpZCBELiBLaWx6ZXIgIDxkZGtpbHplckB3
ZWJraXQub3JnPgogCiAgICAgICAgIEFkZGVkIHRlc3RzIGZvciBzZWxlY3Qub3B0aW9ucy5yZW1v
dmUoYm9vbGVhbikuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9z
ZWxlY3Qtb3B0aW9ucy1yZW1vdmUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9z
ZWxlY3Qtb3B0aW9ucy1yZW1vdmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uMDI5YWNiNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3Vy
Y2VzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS5qcwpAQCAtMCwwICsxLDIzMiBAQAorZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCBjaGVja3MgdGhlIGJlaGF2aW9yIG9mIHRoZSByZW1vdmUoKSBtZXRob2Qg
b24gdGhlIHNlbGVjdC5vcHRpb25zIG9iamVjdC4iKTsKKwordmFyIHNlbGVjdDEgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic2VsZWN0MSIpOwordmFyIHZhbHVlOworCitkZWJ1ZygiMS4xIFJl
bW92ZSAob2JqZWN0KSBmcm9tIGVtcHR5IE9wdGlvbnMiKTsKK3ZhbHVlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiRElWIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLnJlbW92ZSh2YWx1
ZSkiLCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIw
Iik7CitzaG91bGRCZSgic2VsZWN0MS5zZWxlY3RlZEluZGV4IiwgIi0xIik7CitkZWJ1ZygiIik7
CisKK2RlYnVnKCIxLjIgUmVtb3ZlIChzdHJpbmcpIGZyb20gZW1wdHkgT3B0aW9ucyIpOwordmFs
dWUgPSAibyI7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLnJlbW92ZSh2YWx1ZSkiLCAidW5k
ZWZpbmVkIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIwIik7CitzaG91
bGRCZSgic2VsZWN0MS5zZWxlY3RlZEluZGV4IiwgIi0xIik7CitkZWJ1ZygiIik7CisKK2RlYnVn
KCIxLjMgUmVtb3ZlIChmbG9hdCkgZnJvbSBlbXB0eSBPcHRpb25zIik7Cit2YWx1ZSA9IDMuMTQ7
CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLnJlbW92ZSh2YWx1ZSkiLCAidW5kZWZpbmVkIik7
CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgic2Vs
ZWN0MS5zZWxlY3RlZEluZGV4IiwgIi0xIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIxLjQgUmVt
b3ZlIChib29sZWFuKSBmcm9tIGVtcHR5IE9wdGlvbnMiKTsKK3ZhbHVlID0gdHJ1ZTsKK3Nob3Vs
ZEJlKCJzZWxlY3QxLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSIsICJ1bmRlZmluZWQiKTsKK3Nob3Vs
ZEJlKCJzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLnNl
bGVjdGVkSW5kZXgiLCAiLTEiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjEuNSBSZW1vdmUgKHVu
ZGVmaW5lZCkgZnJvbSBlbXB0eSBPcHRpb25zIik7Cit2YWx1ZSA9IHVuZGVmaW5lZDsKK3Nob3Vs
ZEJlKCJzZWxlY3QxLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSIsICJ1bmRlZmluZWQiKTsKK3Nob3Vs
ZEJlKCJzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLnNl
bGVjdGVkSW5kZXgiLCAiLTEiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjEuNiBSZW1vdmUgKG51
bGwpIGZyb20gZW1wdHkgT3B0aW9ucyIpOwordmFsdWUgPSBudWxsOworc2hvdWxkQmUoInNlbGVj
dDEub3B0aW9ucy5yZW1vdmUodmFsdWUpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVj
dDEub3B0aW9ucy5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRl
eCIsICItMSIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMS43IFJlbW92ZSAobmVnYXRpdmUgaW5m
aW5pdHkpIGZyb20gZW1wdHkgT3B0aW9ucyIpOwordmFsdWUgPSAtMS8wOworc2hvdWxkQmUoInNl
bGVjdDEub3B0aW9ucy5yZW1vdmUodmFsdWUpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNl
bGVjdDEub3B0aW9ucy5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJ
bmRleCIsICItMSIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMS44IFJlbW92ZSAoTmFOKSBmcm9t
IGVtcHR5IE9wdGlvbnMiKTsKK3ZhbHVlID0gMC8wOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9u
cy5yZW1vdmUodmFsdWUpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9u
cy5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICItMSIp
OworZGVidWcoIiIpOworCitkZWJ1ZygiMS45IFJlbW92ZSAocG9zaXRpdmUgaW5maW5pdHkpIGZy
b20gZW1wdHkgT3B0aW9ucyIpOwordmFsdWUgPSAxLzA7CitzaG91bGRCZSgic2VsZWN0MS5vcHRp
b25zLnJlbW92ZSh2YWx1ZSkiLCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRp
b25zLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgic2VsZWN0MS5zZWxlY3RlZEluZGV4IiwgIi0x
Iik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIxLjEwIFJlbW92ZSBubyBhcmdzIGZyb20gZW1wdHkg
T3B0aW9ucyIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5yZW1vdmUoKSIsICJ1bmRlZmlu
ZWQiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJl
KCJzZWxlY3QxLnNlbGVjdGVkSW5kZXgiLCAiLTEiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjEu
MTEgUmVtb3ZlIHRvbyBtYW55IGFyZ3MgZnJvbSBlbXB0eSBPcHRpb25zIik7CitzaG91bGRCZSgi
c2VsZWN0MS5vcHRpb25zLnJlbW92ZSgwLCAnZm9vJykiLCAidW5kZWZpbmVkIik7CitzaG91bGRC
ZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgic2VsZWN0MS5zZWxl
Y3RlZEluZGV4IiwgIi0xIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIxLjEyIFJlbW92ZSBpbnZh
bGlkIGluZGV4IC0yIGZyb20gZW1wdHkgT3B0aW9ucyIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0
aW9ucy5yZW1vdmUoLTIpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9u
cy5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICItMSIp
OworZGVidWcoIiIpOworCitkZWJ1ZygiMS4xMyBSZW1vdmUgaW52YWxpZCBpbmRleCAtMSBmcm9t
IGVtcHR5IE9wdGlvbnMiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnMucmVtb3ZlKC0xKSIs
ICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsK
K3Nob3VsZEJlKCJzZWxlY3QxLnNlbGVjdGVkSW5kZXgiLCAiLTEiKTsKK2RlYnVnKCIiKTsKKwor
ZGVidWcoIjEuMTQgUmVtb3ZlIGluZGV4IDAgZnJvbSBlbXB0eSBPcHRpb25zIik7CitzaG91bGRC
ZSgic2VsZWN0MS5vcHRpb25zLnJlbW92ZSgwKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJz
ZWxlY3QxLm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLnNlbGVjdGVk
SW5kZXgiLCAiLTEiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjEuMTUgUmVtb3ZlIGluZGV4IDEg
ZnJvbSBlbXB0eSBPcHRpb25zIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLnJlbW92ZSgx
KSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIiwgIjAi
KTsKK3Nob3VsZEJlKCJzZWxlY3QxLnNlbGVjdGVkSW5kZXgiLCAiLTEiKTsKK2RlYnVnKCIiKTsK
KworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisK
K2kgPSAwOwordmFyIHNlbGVjdDIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0MiIp
OworCitkZWJ1ZygiMi4xIFJlbW92ZSAob2JqZWN0KSBmcm9tIG5vbi1lbXB0eSBPcHRpb25zIik7
Cit2YWx1ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIkRJViIpOworc2hvdWxkQmUoInNlbGVj
dDIub3B0aW9ucy5yZW1vdmUodmFsdWUpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVj
dDIub3B0aW9ucy5sZW5ndGgiLCAiMTUiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5k
ZXgiLCAiMTMiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUiLCAiJ0InIik7
CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjIgUmVtb3ZlIChzdHJpbmcpIGZyb20gbm9uLWVtcHR5
IE9wdGlvbnMiKTsKK3ZhbHVlID0gIm8iOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5yZW1v
dmUodmFsdWUpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5sZW5n
dGgiLCAiMTQiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMTIiKTsKK3No
b3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUiLCAiJ0MnIik7CitkZWJ1ZygiIik7CisK
K2RlYnVnKCIyLjMgUmVtb3ZlIChmbG9hdCkgZnJvbSBub24tZW1wdHkgT3B0aW9ucyIpOwordmFs
dWUgPSAzLjE0Oworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5yZW1vdmUodmFsdWUpIiwgInVu
ZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5sZW5ndGgiLCAiMTMiKTsKK3No
b3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMTEiKTsKK3Nob3VsZEJlKCJzZWxlY3Qy
Lm9wdGlvbnNbM10udmFsdWUiLCAiJ0cnIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjQgUmVt
b3ZlIChib29sZWFuIHRydWUpIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMiKTsKK3ZhbHVlID0gdHJ1
ZTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSIsICJ1bmRlZmluZWQi
KTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjEyIik7CitzaG91bGRCZSgi
c2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjEwIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25z
WzFdLnZhbHVlIiwgIidFJyIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMi41IFJlbW92ZSAoYm9v
bGVhbiBmYWxzZSkgZnJvbSBub24tZW1wdHkgT3B0aW9ucyIpOwordmFsdWUgPSBmYWxzZTsKK3No
b3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSIsICJ1bmRlZmluZWQiKTsKK3No
b3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjExIik7CitzaG91bGRCZSgic2VsZWN0
Mi5zZWxlY3RlZEluZGV4IiwgIjkiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMV0udmFs
dWUiLCAiJ0cnIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjYgUmVtb3ZlICh1bmRlZmluZWQp
IGZyb20gbm9uLWVtcHR5IE9wdGlvbnMiKTsKK3ZhbHVlID0gdW5kZWZpbmVkOworc2hvdWxkQmUo
InNlbGVjdDIub3B0aW9ucy5yZW1vdmUodmFsdWUpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUo
InNlbGVjdDIub3B0aW9ucy5sZW5ndGgiLCAiMTAiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVj
dGVkSW5kZXgiLCAiOCIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSIsICIn
RyciKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjIuNyBSZW1vdmUgKG51bGwpIGZyb20gbm9uLWVt
cHR5IE9wdGlvbnMiKTsKK3ZhbHVlID0gbnVsbDsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMu
cmVtb3ZlKHZhbHVlKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMu
bGVuZ3RoIiwgIjkiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiNyIpOwor
c2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSIsICInSCciKTsKK2RlYnVnKCIiKTsK
KworZGVidWcoIjIuOCBSZW1vdmUgKG5lZ2F0aXZlIGluZmluaXR5KSBmcm9tIG5vbi1lbXB0eSBP
cHRpb25zIik7Cit2YWx1ZSA9IC0xLzA7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLnJlbW92
ZSh2YWx1ZSkiLCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0
aCIsICI4Iik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjYiKTsKK3Nob3Vs
ZEJlKCJzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUiLCAiJ0knIik7CitkZWJ1ZygiIik7CisKK2Rl
YnVnKCIyLjkgUmVtb3ZlIChOYU4pIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMiKTsKK3ZhbHVlID0g
MC8wOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5yZW1vdmUodmFsdWUpIiwgInVuZGVmaW5l
ZCIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5sZW5ndGgiLCAiNyIpOworc2hvdWxkQmUo
InNlbGVjdDIuc2VsZWN0ZWRJbmRleCIsICI1Iik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25z
WzBdLnZhbHVlIiwgIidKJyIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMi4xMCBSZW1vdmUgKHBv
c2l0aXZlIGluZmluaXR5KSBmcm9tIG5vbi1lbXB0eSBPcHRpb25zIik7Cit2YWx1ZSA9IDEvMDsK
K3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSIsICJ1bmRlZmluZWQiKTsK
K3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjYiKTsKK3Nob3VsZEJlKCJzZWxl
Y3QyLnNlbGVjdGVkSW5kZXgiLCAiNCIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1swXS52
YWx1ZSIsICInSyciKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjIuMTEgUmVtb3ZlIG5vIGFyZ3Mg
ZnJvbSBub24tZW1wdHkgT3B0aW9ucyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5yZW1v
dmUoKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwg
IjUiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMyIpOworc2hvdWxkQmUo
InNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSIsICInTCciKTsKK2RlYnVnKCIiKTsKKworZGVidWco
IjIuMTIgUmVtb3ZlIHRvbyBtYW55IGFyZ3MgZnJvbSBub24tZW1wdHkgT3B0aW9ucyIpOworc2hv
dWxkQmUoInNlbGVjdDIub3B0aW9ucy5yZW1vdmUoMCwgJ2ZvbycpIiwgInVuZGVmaW5lZCIpOwor
c2hvdWxkQmUoInNlbGVjdDIub3B0aW9ucy5sZW5ndGgiLCAiNCIpOworc2hvdWxkQmUoInNlbGVj
dDIuc2VsZWN0ZWRJbmRleCIsICIyIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzBdLnZh
bHVlIiwgIidNJyIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMi4xMyBSZW1vdmUgaW52YWxpZCBp
bmRleCAtMiBmcm9tIG5vbi1lbXB0eSBPcHRpb25zIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRp
b25zLnJlbW92ZSgtMikiLCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25z
Lmxlbmd0aCIsICI0Iik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjIiKTsK
K3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMl0udmFsdWUiLCAiJ08nIik7CitkZWJ1ZygiIik7
CisKK2RlYnVnKCIyLjE0IFJlbW92ZSBpbnZhbGlkIGluZGV4IC0xIGZyb20gbm9uLWVtcHR5IE9w
dGlvbnMiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKC0xKSIsICJ1bmRlZmlu
ZWQiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjQiKTsKK3Nob3VsZEJl
KCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMiIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9u
c1szXS52YWx1ZSIsICInUCciKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjIuMTUgUmVtb3ZlIGlu
ZGV4IDAgZnJvbSBub24tZW1wdHkgT3B0aW9ucyIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9u
cy5yZW1vdmUoMCkiLCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxl
bmd0aCIsICIzIik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjEiKTsKK3No
b3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUiLCAiJ04nIik7CitkZWJ1ZygiIik7CisK
K2RlYnVnKCIyLjE2IFJlbW92ZSBpbmRleCAxIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMiKTsKK3No
b3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKDEpIiwgInVuZGVmaW5lZCIpOworc2hvdWxk
QmUoInNlbGVjdDIub3B0aW9ucy5sZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoInNlbGVjdDIuc2Vs
ZWN0ZWRJbmRleCIsICIwIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIiwg
IidQJyIpOworZGVidWcoIiIpOworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjMWFiZWYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxODAgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhlIGJlaGF2aW9y
IG9mIHRoZSByZW1vdmUoKSBtZXRob2Qgb24gdGhlIHNlbGVjdC5vcHRpb25zIG9iamVjdC4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKzEuMSBSZW1vdmUgKG9iamVjdCkgZnJvbSBl
bXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDEub3B0aW9ucy5yZW1vdmUodmFsdWUpIGlzIHVuZGVm
aW5lZAorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZWN0MS5zZWxl
Y3RlZEluZGV4IGlzIC0xCisKKzEuMiBSZW1vdmUgKHN0cmluZykgZnJvbSBlbXB0eSBPcHRpb25z
CitQQVNTIHNlbGVjdDEub3B0aW9ucy5yZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5lZAorUEFTUyBz
ZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlz
IC0xCisKKzEuMyBSZW1vdmUgKGZsb2F0KSBmcm9tIGVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0
MS5vcHRpb25zLnJlbW92ZSh2YWx1ZSkgaXMgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDEub3B0aW9u
cy5sZW5ndGggaXMgMAorUEFTUyBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgLTEKKworMS40IFJl
bW92ZSAoYm9vbGVhbikgZnJvbSBlbXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDEub3B0aW9ucy5y
ZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlz
IDAKK1BBU1Mgc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIC0xCisKKzEuNSBSZW1vdmUgKHVuZGVm
aW5lZCkgZnJvbSBlbXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDEub3B0aW9ucy5yZW1vdmUodmFs
dWUpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1Mg
c2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIC0xCisKKzEuNiBSZW1vdmUgKG51bGwpIGZyb20gZW1w
dHkgT3B0aW9ucworUEFTUyBzZWxlY3QxLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSBpcyB1bmRlZmlu
ZWQKK1BBU1Mgc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAwCitQQVNTIHNlbGVjdDEuc2VsZWN0
ZWRJbmRleCBpcyAtMQorCisxLjcgUmVtb3ZlIChuZWdhdGl2ZSBpbmZpbml0eSkgZnJvbSBlbXB0
eSBPcHRpb25zCitQQVNTIHNlbGVjdDEub3B0aW9ucy5yZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5l
ZAorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZWN0MS5zZWxlY3Rl
ZEluZGV4IGlzIC0xCisKKzEuOCBSZW1vdmUgKE5hTikgZnJvbSBlbXB0eSBPcHRpb25zCitQQVNT
IHNlbGVjdDEub3B0aW9ucy5yZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxlY3Qx
Lm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIC0xCisK
KzEuOSBSZW1vdmUgKHBvc2l0aXZlIGluZmluaXR5KSBmcm9tIGVtcHR5IE9wdGlvbnMKK1BBU1Mg
c2VsZWN0MS5vcHRpb25zLnJlbW92ZSh2YWx1ZSkgaXMgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDEu
b3B0aW9ucy5sZW5ndGggaXMgMAorUEFTUyBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgLTEKKwor
MS4xMCBSZW1vdmUgbm8gYXJncyBmcm9tIGVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0MS5vcHRp
b25zLnJlbW92ZSgpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlz
IDAKK1BBU1Mgc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIC0xCisKKzEuMTEgUmVtb3ZlIHRvbyBt
YW55IGFyZ3MgZnJvbSBlbXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDEub3B0aW9ucy5yZW1vdmUo
MCwgJ2ZvbycpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDAK
K1BBU1Mgc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIC0xCisKKzEuMTIgUmVtb3ZlIGludmFsaWQg
aW5kZXggLTIgZnJvbSBlbXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDEub3B0aW9ucy5yZW1vdmUo
LTIpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1Mg
c2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIC0xCisKKzEuMTMgUmVtb3ZlIGludmFsaWQgaW5kZXgg
LTEgZnJvbSBlbXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDEub3B0aW9ucy5yZW1vdmUoLTEpIGlz
IHVuZGVmaW5lZAorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZWN0
MS5zZWxlY3RlZEluZGV4IGlzIC0xCisKKzEuMTQgUmVtb3ZlIGluZGV4IDAgZnJvbSBlbXB0eSBP
cHRpb25zCitQQVNTIHNlbGVjdDEub3B0aW9ucy5yZW1vdmUoMCkgaXMgdW5kZWZpbmVkCitQQVNT
IHNlbGVjdDEub3B0aW9ucy5sZW5ndGggaXMgMAorUEFTUyBzZWxlY3QxLnNlbGVjdGVkSW5kZXgg
aXMgLTEKKworMS4xNSBSZW1vdmUgaW5kZXggMSBmcm9tIGVtcHR5IE9wdGlvbnMKK1BBU1Mgc2Vs
ZWN0MS5vcHRpb25zLnJlbW92ZSgxKSBpcyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0MS5vcHRpb25z
Lmxlbmd0aCBpcyAwCitQQVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAtMQorCisyLjEgUmVt
b3ZlIChvYmplY3QpIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0Mi5vcHRpb25z
LnJlbW92ZSh2YWx1ZSkgaXMgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5ndGgg
aXMgMTUKK1BBU1Mgc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDEzCitQQVNTIHNlbGVjdDIub3B0
aW9uc1swXS52YWx1ZSBpcyAnQicKKworMi4yIFJlbW92ZSAoc3RyaW5nKSBmcm9tIG5vbi1lbXB0
eSBPcHRpb25zCitQQVNTIHNlbGVjdDIub3B0aW9ucy5yZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5l
ZAorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDE0CitQQVNTIHNlbGVjdDIuc2VsZWN0
ZWRJbmRleCBpcyAxMgorUEFTUyBzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUgaXMgJ0MnCisKKzIu
MyBSZW1vdmUgKGZsb2F0KSBmcm9tIG5vbi1lbXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDIub3B0
aW9ucy5yZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVu
Z3RoIGlzIDEzCitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxMQorUEFTUyBzZWxlY3Qy
Lm9wdGlvbnNbM10udmFsdWUgaXMgJ0cnCisKKzIuNCBSZW1vdmUgKGJvb2xlYW4gdHJ1ZSkgZnJv
bSBub24tZW1wdHkgT3B0aW9ucworUEFTUyBzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSBp
cyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyAxMgorUEFTUyBzZWxl
Y3QyLnNlbGVjdGVkSW5kZXggaXMgMTAKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIGlz
ICdFJworCisyLjUgUmVtb3ZlIChib29sZWFuIGZhbHNlKSBmcm9tIG5vbi1lbXB0eSBPcHRpb25z
CitQQVNTIHNlbGVjdDIub3B0aW9ucy5yZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5lZAorUEFTUyBz
ZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDExCitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBp
cyA5CitQQVNTIHNlbGVjdDIub3B0aW9uc1sxXS52YWx1ZSBpcyAnRycKKworMi42IFJlbW92ZSAo
dW5kZWZpbmVkKSBmcm9tIG5vbi1lbXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDIub3B0aW9ucy5y
ZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlz
IDEwCitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyA4CitQQVNTIHNlbGVjdDIub3B0aW9u
c1swXS52YWx1ZSBpcyAnRycKKworMi43IFJlbW92ZSAobnVsbCkgZnJvbSBub24tZW1wdHkgT3B0
aW9ucworUEFTUyBzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSBpcyB1bmRlZmluZWQKK1BB
U1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA5CitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRl
eCBpcyA3CitQQVNTIHNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSBpcyAnSCcKKworMi44IFJlbW92
ZSAobmVnYXRpdmUgaW5maW5pdHkpIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0
Mi5vcHRpb25zLnJlbW92ZSh2YWx1ZSkgaXMgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDIub3B0aW9u
cy5sZW5ndGggaXMgOAorUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgNgorUEFTUyBzZWxl
Y3QyLm9wdGlvbnNbMF0udmFsdWUgaXMgJ0knCisKKzIuOSBSZW1vdmUgKE5hTikgZnJvbSBub24t
ZW1wdHkgT3B0aW9ucworUEFTUyBzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSBpcyB1bmRl
ZmluZWQKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA3CitQQVNTIHNlbGVjdDIuc2Vs
ZWN0ZWRJbmRleCBpcyA1CitQQVNTIHNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSBpcyAnSicKKwor
Mi4xMCBSZW1vdmUgKHBvc2l0aXZlIGluZmluaXR5KSBmcm9tIG5vbi1lbXB0eSBPcHRpb25zCitQ
QVNTIHNlbGVjdDIub3B0aW9ucy5yZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxl
Y3QyLm9wdGlvbnMubGVuZ3RoIGlzIDYKK1BBU1Mgc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDQK
K1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIGlzICdLJworCisyLjExIFJlbW92ZSBubyBh
cmdzIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLnJlbW92ZSgp
IGlzIHVuZGVmaW5lZAorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDUKK1BBU1Mgc2Vs
ZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDMKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIGlz
ICdMJworCisyLjEyIFJlbW92ZSB0b28gbWFueSBhcmdzIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMK
K1BBU1Mgc2VsZWN0Mi5vcHRpb25zLnJlbW92ZSgwLCAnZm9vJykgaXMgdW5kZWZpbmVkCitQQVNT
IHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNAorUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXgg
aXMgMgorUEFTUyBzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUgaXMgJ00nCisKKzIuMTMgUmVtb3Zl
IGludmFsaWQgaW5kZXggLTIgZnJvbSBub24tZW1wdHkgT3B0aW9ucworUEFTUyBzZWxlY3QyLm9w
dGlvbnMucmVtb3ZlKC0yKSBpcyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0
aCBpcyA0CitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAyCitQQVNTIHNlbGVjdDIub3B0
aW9uc1syXS52YWx1ZSBpcyAnTycKKworMi4xNCBSZW1vdmUgaW52YWxpZCBpbmRleCAtMSBmcm9t
IG5vbi1lbXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDIub3B0aW9ucy5yZW1vdmUoLTEpIGlzIHVu
ZGVmaW5lZAorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDQKK1BBU1Mgc2VsZWN0Mi5z
ZWxlY3RlZEluZGV4IGlzIDIKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzNdLnZhbHVlIGlzICdQJwor
CisyLjE1IFJlbW92ZSBpbmRleCAwIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0
Mi5vcHRpb25zLnJlbW92ZSgwKSBpcyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxl
bmd0aCBpcyAzCitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxCitQQVNTIHNlbGVjdDIu
b3B0aW9uc1swXS52YWx1ZSBpcyAnTicKKworMi4xNiBSZW1vdmUgaW5kZXggMSBmcm9tIG5vbi1l
bXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDIub3B0aW9ucy5yZW1vdmUoMSkgaXMgdW5kZWZpbmVk
CitQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgMgorUEFTUyBzZWxlY3QyLnNlbGVjdGVk
SW5kZXggaXMgMAorUEFTUyBzZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUgaXMgJ1AnCisKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUtZ2MtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUtZ2MtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1YTFkY2UKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS1n
Yy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHJl
bW92aW5nIGEgPHNlbGVjdD4gb2JqZWN0IGZyb20gdGhlIERPTSwgdGhlbiBnYXJiYWdlIGNvbGxl
Y3RpbmcsIHRoZW4gcmVtb3ZpbmcgYW4gb3B0aW9uIGZyb20gc2VsZWN0Lm9wdGlvbnMgZG9lc24n
dCBjcmFzaC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgTm8gY3Jhc2gK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS1nYy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUtZ2MuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OWFkMDQxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUtZ2MuaHRtbApAQCAt
MCwwICsxLDM0IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8ZGl2PgorPHNlbGVjdCBpZD0ibXlzZWxlY3Qi
PgorPG9wdGlvbj5BPC9vcHRpb24+Cis8b3B0aW9uPkI8L29wdGlvbj4KKzxvcHRpb24+Qzwvb3B0
aW9uPgorPC9zZWxlY3Q+Cis8L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IHJlbW92aW5nIGEgJmx0O3NlbGVjdCZndDsgb2JqZWN0IGZyb20gdGhlIERP
TSwgdGhlbiBnYXJiYWdlIGNvbGxlY3RpbmcsIHRoZW4gcmVtb3ZpbmcgYW4gb3B0aW9uIGZyb20g
c2VsZWN0Lm9wdGlvbnMgZG9lc24ndCBjcmFzaC4iKTsKK3ZhciBzZWxlY3QgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgibXlzZWxlY3QiKTsKK3ZhciBvcHRpb25zID0gc2VsZWN0Lm9wdGlvbnM7
CitzZWxlY3QucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzZWxlY3QpOworc2VsZWN0ID0gbnVsbDsK
K2lmICh3aW5kb3cuR0NDb250cm9sbGVyKSB7CisgICAgd2luZG93LkdDQ29udHJvbGxlci5jb2xs
ZWN0KCk7Cit9IGVsc2UgeworICAgIGFsZXJ0KCJUaGlzIHRlc3Qgb25seSB3b3JrcyB3aXRoIER1
bXBSZW5kZXJUcmVlLiIpOworfQorb3B0aW9ucy5yZW1vdmUoMCk7Cit0ZXN0UGFzc2VkKCJObyBj
cmFzaCIpOworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvc2VsZWN0LW9wdGlvbnMtcmVtb3ZlLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjUxZDdjMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvanMvc2VsZWN0LW9wdGlvbnMtcmVtb3ZlLmh0bWwKQEAgLTAs
MCArMSwzNCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGRpdj4KKzxzZWxlY3QgaWQ9InNlbGVjdDEiPjwv
c2VsZWN0PgorPHNlbGVjdCBpZD0ic2VsZWN0MiI+Cis8b3B0aW9uIHZhbHVlPSJBIj4xPC9vcHRp
b24+Cis8b3B0aW9uIHZhbHVlPSJCIj4yPC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSJDIj4zPC9v
cHRpb24+Cis8b3B0aW9uIHZhbHVlPSJEIj40PC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSJFIj41
PC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSJGIj42PC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSJH
Ij43PC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSJIIj44PC9vcHRpb24+Cis8b3B0aW9uIHZhbHVl
PSJJIj45PC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSJKIj4xMDwvb3B0aW9uPgorPG9wdGlvbiB2
YWx1ZT0iSyI+MTE8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IkwiPjEyPC9vcHRpb24+Cis8b3B0
aW9uIHZhbHVlPSJNIj4xMzwvb3B0aW9uPgorPG9wdGlvbiB2YWx1ZT0iTiI+MTQ8L29wdGlvbj4K
KzxvcHRpb24gdmFsdWU9Ik8iIHNlbGVjdGVkPSJzZWxlY3RlZCI+MTU8L29wdGlvbj4KKzxvcHRp
b24gdmFsdWU9IlAiPjE2PC9vcHRpb24+Cis8L3NlbGVjdD4KKzwvZGl2PgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17816</attachid>
            <date>2007-12-10 00:09:15 -0800</date>
            <delta_ts>2007-12-10 07:52:11 -0800</delta_ts>
            <desc>Patch v3</desc>
            <filename>bug-9683-v3.diff</filename>
            <type>text/plain</type>
            <size>23569</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">Y29tbWl0IDNkOTVlZjEwZTJkNjhmYmFmNjA4ZThkZWUyOGE4Y2M0NzVmZDQzNTEKQXV0aG9yOiBE
YXZpZCBELiBLaWx6ZXIgPGRka2lsemVyQHdlYmtpdC5vcmc+CkRhdGU6ICAgU3VuIERlYyA5IDIz
OjU5OjA0IDIwMDcgLTA4MDAKCiAgICBCdWcgOTY4MzogSW1wbGVtZW50IHNlbGVjdC5vcHRpb25z
LnJlbW92ZSgpIG1ldGhvZAogICAgCiAgICBXZWJDb3JlOgogICAgCiAgICAgICAgICAgIEJ1ZyA5
NjgzOiBJbXBsZW1lbnQgc2VsZWN0Lm9wdGlvbnMucmVtb3ZlKCkgbWV0aG9kCiAgICAgICAgICAg
IDxodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjgzPgogICAgCiAgICAg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogICAgCiAgICAgICAgICAgIEltcGxl
bWVudCBzZWxlY3Qub3B0aW9ucy5yZW1vdmUoKSBieSBjYWxsaW5nIHNlbGVjdC5yZW1vdmUoKQog
ICAgICAgICAgICB3aXRoIHRoZSBzYW1lIGFyZ3VtZW50cy4gIFRoaXMgaXMgd2hhdCBNU0lFIDcg
ZG9lcywgYWx0aG91Z2ggaXRzCiAgICAgICAgICAgIHNlbGVjdC5yZW1vdmUoKSBtZXRob2QgZGlm
ZmVycyBmcm9tIFdlYktpdCdzIGJ5IHRocm93aW5nIGFuCiAgICAgICAgICAgIGV4Y2VwdGlvbiB3
aGVuIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50cyBvciB3aXRoIGEgbmVnYXRpdmUKICAgICAgICAg
ICAgaW50ZWdlciBhcmd1bWVudC4gIE5vdGUgdGhhdCB0aGUgRE9NIExldmVsIDEgZG9jdW1lbnRh
dGlvbgogICAgICAgICAgICBzcGVjaWZpZXMgdGhhdCBzZWxlY3QucmVtb3ZlKCkgZG9lcyBub3Qg
dGhyb3cgYW4gZXhjZXB0aW9uLgogICAgCiAgICAgICAgICAgIFRlc3RzOiBmYXN0L2pzL3NlbGVj
dC1vcHRpb25zLXJlbW92ZS1nYy5odG1sCiAgICAgICAgICAgICAgICAgICBmYXN0L2pzL3NlbGVj
dC1vcHRpb25zLXJlbW92ZS5odG1sCiAgICAKICAgICAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hU
TUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHA6CiAgICAgICAgICAgIChXZWJDb3JlOjpKU0hU
TUxPcHRpb25zQ29sbGVjdGlvbjo6cmVtb3ZlKTogQWRkZWQuCiAgICAgICAgICAgICogaHRtbC9I
VE1MT3B0aW9uc0NvbGxlY3Rpb24uY3BwOgogICAgICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdGlv
bnNDb2xsZWN0aW9uOjpyZW1vdmUpOiBBZGRlZC4KICAgICAgICAgICAgKiBodG1sL0hUTUxPcHRp
b25zQ29sbGVjdGlvbi5oOgogICAgICAgICAgICAqIGh0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9u
LmlkbDoKICAgIAogICAgTGF5b3V0VGVzdHM6CiAgICAKICAgICAgICAgICAgQnVnIDk2ODM6IElt
cGxlbWVudCBzZWxlY3Qub3B0aW9ucy5yZW1vdmUoKSBtZXRob2QKICAgICAgICAgICAgPGh0dHA6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2ODM+CiAgICAKICAgICAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAgICAKICAgICAgICAgICAgKiBmYXN0L2pzL3Jl
c291cmNlcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUuanM6IEFkZGVkLgogICAgICAgICAgICAqIGZh
c3QvanMvc2VsZWN0LW9wdGlvbnMtcmVtb3ZlLWV4cGVjdGVkLnR4dDogQWRkZWQuCiAgICAgICAg
ICAgICogZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUtZ2MtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KICAgICAgICAgICAgKiBmYXN0L2pzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS1nYy5odG1sOiBB
ZGRlZC4KICAgICAgICAgICAgKiBmYXN0L2pzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS5odG1sOiBB
ZGRlZC4KCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggYTA4OWQ0My4uODA2ZjJmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDA3LTEyLTA5ICBEYXZpZCBELiBLaWx6ZXIgIDxkZGtpbHplckB3ZWJraXQub3JnPgorCisgICAg
ICAgIEJ1ZyA5NjgzOiBJbXBsZW1lbnQgc2VsZWN0Lm9wdGlvbnMucmVtb3ZlKCkgbWV0aG9kCisg
ICAgICAgIDxodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjgzPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9qcy9y
ZXNvdXJjZXMvc2VsZWN0LW9wdGlvbnMtcmVtb3ZlLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2pzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvanMvc2VsZWN0LW9wdGlvbnMtcmVtb3ZlLWdjLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUtZ2MuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUuaHRtbDogQWRkZWQuCisKIDIw
MDctMTItMDggIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSdWJiZXIt
c3RhbXBlZCBieSBBZGFtIFJvYmVuLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9y
ZXNvdXJjZXMvc2VsZWN0LW9wdGlvbnMtcmVtb3ZlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9y
ZXNvdXJjZXMvc2VsZWN0LW9wdGlvbnMtcmVtb3ZlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjAyOWFjYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2pzL3Jlc291cmNlcy9zZWxlY3Qtb3B0aW9ucy1yZW1vdmUuanMKQEAgLTAsMCArMSwyMzIgQEAK
K2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoZSBiZWhhdmlvciBvZiB0aGUgcmVtb3Zl
KCkgbWV0aG9kIG9uIHRoZSBzZWxlY3Qub3B0aW9ucyBvYmplY3QuIik7CisKK3ZhciBzZWxlY3Qx
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdDEiKTsKK3ZhciB2YWx1ZTsKKworZGVi
dWcoIjEuMSBSZW1vdmUgKG9iamVjdCkgZnJvbSBlbXB0eSBPcHRpb25zIik7Cit2YWx1ZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoIkRJViIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5y
ZW1vdmUodmFsdWUpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5s
ZW5ndGgiLCAiMCIpOworc2hvdWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICItMSIpOwor
ZGVidWcoIiIpOworCitkZWJ1ZygiMS4yIFJlbW92ZSAoc3RyaW5nKSBmcm9tIGVtcHR5IE9wdGlv
bnMiKTsKK3ZhbHVlID0gIm8iOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5yZW1vdmUodmFs
dWUpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5sZW5ndGgiLCAi
MCIpOworc2hvdWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICItMSIpOworZGVidWcoIiIp
OworCitkZWJ1ZygiMS4zIFJlbW92ZSAoZmxvYXQpIGZyb20gZW1wdHkgT3B0aW9ucyIpOwordmFs
dWUgPSAzLjE0Oworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5yZW1vdmUodmFsdWUpIiwgInVu
ZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5sZW5ndGgiLCAiMCIpOworc2hv
dWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJbmRleCIsICItMSIpOworZGVidWcoIiIpOworCitkZWJ1
ZygiMS40IFJlbW92ZSAoYm9vbGVhbikgZnJvbSBlbXB0eSBPcHRpb25zIik7Cit2YWx1ZSA9IHRy
dWU7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLnJlbW92ZSh2YWx1ZSkiLCAidW5kZWZpbmVk
Iik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgi
c2VsZWN0MS5zZWxlY3RlZEluZGV4IiwgIi0xIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIxLjUg
UmVtb3ZlICh1bmRlZmluZWQpIGZyb20gZW1wdHkgT3B0aW9ucyIpOwordmFsdWUgPSB1bmRlZmlu
ZWQ7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLnJlbW92ZSh2YWx1ZSkiLCAidW5kZWZpbmVk
Iik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgi
c2VsZWN0MS5zZWxlY3RlZEluZGV4IiwgIi0xIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIxLjYg
UmVtb3ZlIChudWxsKSBmcm9tIGVtcHR5IE9wdGlvbnMiKTsKK3ZhbHVlID0gbnVsbDsKK3Nob3Vs
ZEJlKCJzZWxlY3QxLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSIsICJ1bmRlZmluZWQiKTsKK3Nob3Vs
ZEJlKCJzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLnNl
bGVjdGVkSW5kZXgiLCAiLTEiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjEuNyBSZW1vdmUgKG5l
Z2F0aXZlIGluZmluaXR5KSBmcm9tIGVtcHR5IE9wdGlvbnMiKTsKK3ZhbHVlID0gLTEvMDsKK3No
b3VsZEJlKCJzZWxlY3QxLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSIsICJ1bmRlZmluZWQiKTsKK3No
b3VsZEJlKCJzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJzZWxlY3Qx
LnNlbGVjdGVkSW5kZXgiLCAiLTEiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjEuOCBSZW1vdmUg
KE5hTikgZnJvbSBlbXB0eSBPcHRpb25zIik7Cit2YWx1ZSA9IDAvMDsKK3Nob3VsZEJlKCJzZWxl
Y3QxLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJzZWxl
Y3QxLm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLnNlbGVjdGVkSW5k
ZXgiLCAiLTEiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjEuOSBSZW1vdmUgKHBvc2l0aXZlIGlu
ZmluaXR5KSBmcm9tIGVtcHR5IE9wdGlvbnMiKTsKK3ZhbHVlID0gMS8wOworc2hvdWxkQmUoInNl
bGVjdDEub3B0aW9ucy5yZW1vdmUodmFsdWUpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNl
bGVjdDEub3B0aW9ucy5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUoInNlbGVjdDEuc2VsZWN0ZWRJ
bmRleCIsICItMSIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMS4xMCBSZW1vdmUgbm8gYXJncyBm
cm9tIGVtcHR5IE9wdGlvbnMiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLm9wdGlvbnMucmVtb3ZlKCki
LCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIwIik7
CitzaG91bGRCZSgic2VsZWN0MS5zZWxlY3RlZEluZGV4IiwgIi0xIik7CitkZWJ1ZygiIik7CisK
K2RlYnVnKCIxLjExIFJlbW92ZSB0b28gbWFueSBhcmdzIGZyb20gZW1wdHkgT3B0aW9ucyIpOwor
c2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5yZW1vdmUoMCwgJ2ZvbycpIiwgInVuZGVmaW5lZCIp
Oworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUoInNl
bGVjdDEuc2VsZWN0ZWRJbmRleCIsICItMSIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMS4xMiBS
ZW1vdmUgaW52YWxpZCBpbmRleCAtMiBmcm9tIGVtcHR5IE9wdGlvbnMiKTsKK3Nob3VsZEJlKCJz
ZWxlY3QxLm9wdGlvbnMucmVtb3ZlKC0yKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJzZWxl
Y3QxLm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJzZWxlY3QxLnNlbGVjdGVkSW5k
ZXgiLCAiLTEiKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjEuMTMgUmVtb3ZlIGludmFsaWQgaW5k
ZXggLTEgZnJvbSBlbXB0eSBPcHRpb25zIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLnJl
bW92ZSgtMSkiLCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0
aCIsICIwIik7CitzaG91bGRCZSgic2VsZWN0MS5zZWxlY3RlZEluZGV4IiwgIi0xIik7CitkZWJ1
ZygiIik7CisKK2RlYnVnKCIxLjE0IFJlbW92ZSBpbmRleCAwIGZyb20gZW1wdHkgT3B0aW9ucyIp
Oworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9ucy5yZW1vdmUoMCkiLCAidW5kZWZpbmVkIik7Citz
aG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgic2VsZWN0
MS5zZWxlY3RlZEluZGV4IiwgIi0xIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIxLjE1IFJlbW92
ZSBpbmRleCAxIGZyb20gZW1wdHkgT3B0aW9ucyIpOworc2hvdWxkQmUoInNlbGVjdDEub3B0aW9u
cy5yZW1vdmUoMSkiLCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgic2VsZWN0MS5vcHRpb25zLmxl
bmd0aCIsICIwIik7CitzaG91bGRCZSgic2VsZWN0MS5zZWxlY3RlZEluZGV4IiwgIi0xIik7Citk
ZWJ1ZygiIik7CisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorCitpID0gMDsKK3ZhciBzZWxlY3QyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InNlbGVjdDIiKTsKKworZGVidWcoIjIuMSBSZW1vdmUgKG9iamVjdCkgZnJvbSBub24tZW1wdHkg
T3B0aW9ucyIpOwordmFsdWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJESVYiKTsKK3Nob3Vs
ZEJlKCJzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSIsICJ1bmRlZmluZWQiKTsKK3Nob3Vs
ZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjE1Iik7CitzaG91bGRCZSgic2VsZWN0Mi5z
ZWxlY3RlZEluZGV4IiwgIjEzIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVl
IiwgIidCJyIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMi4yIFJlbW92ZSAoc3RyaW5nKSBmcm9t
IG5vbi1lbXB0eSBPcHRpb25zIik7Cit2YWx1ZSA9ICJvIjsKK3Nob3VsZEJlKCJzZWxlY3QyLm9w
dGlvbnMucmVtb3ZlKHZhbHVlKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9w
dGlvbnMubGVuZ3RoIiwgIjE0Iik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4Iiwg
IjEyIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIiwgIidDJyIpOworZGVi
dWcoIiIpOworCitkZWJ1ZygiMi4zIFJlbW92ZSAoZmxvYXQpIGZyb20gbm9uLWVtcHR5IE9wdGlv
bnMiKTsKK3ZhbHVlID0gMy4xNDsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZh
bHVlKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwg
IjEzIik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjExIik7CitzaG91bGRC
ZSgic2VsZWN0Mi5vcHRpb25zWzNdLnZhbHVlIiwgIidHJyIpOworZGVidWcoIiIpOworCitkZWJ1
ZygiMi40IFJlbW92ZSAoYm9vbGVhbiB0cnVlKSBmcm9tIG5vbi1lbXB0eSBPcHRpb25zIik7Cit2
YWx1ZSA9IHRydWU7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLnJlbW92ZSh2YWx1ZSkiLCAi
dW5kZWZpbmVkIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICIxMiIpOwor
c2hvdWxkQmUoInNlbGVjdDIuc2VsZWN0ZWRJbmRleCIsICIxMCIpOworc2hvdWxkQmUoInNlbGVj
dDIub3B0aW9uc1sxXS52YWx1ZSIsICInRSciKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjIuNSBS
ZW1vdmUgKGJvb2xlYW4gZmFsc2UpIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMiKTsKK3ZhbHVlID0g
ZmFsc2U7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLnJlbW92ZSh2YWx1ZSkiLCAidW5kZWZp
bmVkIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICIxMSIpOworc2hvdWxk
QmUoInNlbGVjdDIuc2VsZWN0ZWRJbmRleCIsICI5Iik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRp
b25zWzFdLnZhbHVlIiwgIidHJyIpOworZGVidWcoIiIpOworCitkZWJ1ZygiMi42IFJlbW92ZSAo
dW5kZWZpbmVkKSBmcm9tIG5vbi1lbXB0eSBPcHRpb25zIik7Cit2YWx1ZSA9IHVuZGVmaW5lZDsK
K3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSIsICJ1bmRlZmluZWQiKTsK
K3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjEwIik7CitzaG91bGRCZSgic2Vs
ZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjgiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMF0u
dmFsdWUiLCAiJ0cnIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjcgUmVtb3ZlIChudWxsKSBm
cm9tIG5vbi1lbXB0eSBPcHRpb25zIik7Cit2YWx1ZSA9IG51bGw7CitzaG91bGRCZSgic2VsZWN0
Mi5vcHRpb25zLnJlbW92ZSh2YWx1ZSkiLCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgic2VsZWN0
Mi5vcHRpb25zLmxlbmd0aCIsICI5Iik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4
IiwgIjciKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUiLCAiJ0gnIik7Citk
ZWJ1ZygiIik7CisKK2RlYnVnKCIyLjggUmVtb3ZlIChuZWdhdGl2ZSBpbmZpbml0eSkgZnJvbSBu
b24tZW1wdHkgT3B0aW9ucyIpOwordmFsdWUgPSAtMS8wOworc2hvdWxkQmUoInNlbGVjdDIub3B0
aW9ucy5yZW1vdmUodmFsdWUpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0
aW9ucy5sZW5ndGgiLCAiOCIpOworc2hvdWxkQmUoInNlbGVjdDIuc2VsZWN0ZWRJbmRleCIsICI2
Iik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIiwgIidJJyIpOworZGVidWco
IiIpOworCitkZWJ1ZygiMi45IFJlbW92ZSAoTmFOKSBmcm9tIG5vbi1lbXB0eSBPcHRpb25zIik7
Cit2YWx1ZSA9IDAvMDsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSIs
ICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjciKTsK
K3Nob3VsZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiNSIpOworc2hvdWxkQmUoInNlbGVj
dDIub3B0aW9uc1swXS52YWx1ZSIsICInSiciKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjIuMTAg
UmVtb3ZlIChwb3NpdGl2ZSBpbmZpbml0eSkgZnJvbSBub24tZW1wdHkgT3B0aW9ucyIpOwordmFs
dWUgPSAxLzA7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLnJlbW92ZSh2YWx1ZSkiLCAidW5k
ZWZpbmVkIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICI2Iik7CitzaG91
bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjQiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9w
dGlvbnNbMF0udmFsdWUiLCAiJ0snIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjExIFJlbW92
ZSBubyBhcmdzIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9w
dGlvbnMucmVtb3ZlKCkiLCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25z
Lmxlbmd0aCIsICI1Iik7CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjMiKTsK
K3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUiLCAiJ0wnIik7CitkZWJ1ZygiIik7
CisKK2RlYnVnKCIyLjEyIFJlbW92ZSB0b28gbWFueSBhcmdzIGZyb20gbm9uLWVtcHR5IE9wdGlv
bnMiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKDAsICdmb28nKSIsICJ1bmRl
ZmluZWQiKTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjQiKTsKK3Nob3Vs
ZEJlKCJzZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMiIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0
aW9uc1swXS52YWx1ZSIsICInTSciKTsKK2RlYnVnKCIiKTsKKworZGVidWcoIjIuMTMgUmVtb3Zl
IGludmFsaWQgaW5kZXggLTIgZnJvbSBub24tZW1wdHkgT3B0aW9ucyIpOworc2hvdWxkQmUoInNl
bGVjdDIub3B0aW9ucy5yZW1vdmUoLTIpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVj
dDIub3B0aW9ucy5sZW5ndGgiLCAiNCIpOworc2hvdWxkQmUoInNlbGVjdDIuc2VsZWN0ZWRJbmRl
eCIsICIyIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzJdLnZhbHVlIiwgIidPJyIpOwor
ZGVidWcoIiIpOworCitkZWJ1ZygiMi4xNCBSZW1vdmUgaW52YWxpZCBpbmRleCAtMSBmcm9tIG5v
bi1lbXB0eSBPcHRpb25zIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLnJlbW92ZSgtMSki
LCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLmxlbmd0aCIsICI0Iik7
CitzaG91bGRCZSgic2VsZWN0Mi5zZWxlY3RlZEluZGV4IiwgIjIiKTsKK3Nob3VsZEJlKCJzZWxl
Y3QyLm9wdGlvbnNbM10udmFsdWUiLCAiJ1AnIik7CitkZWJ1ZygiIik7CisKK2RlYnVnKCIyLjE1
IFJlbW92ZSBpbmRleCAwIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMiKTsKK3Nob3VsZEJlKCJzZWxl
Y3QyLm9wdGlvbnMucmVtb3ZlKDApIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInNlbGVjdDIu
b3B0aW9ucy5sZW5ndGgiLCAiMyIpOworc2hvdWxkQmUoInNlbGVjdDIuc2VsZWN0ZWRJbmRleCIs
ICIxIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIiwgIidOJyIpOworZGVi
dWcoIiIpOworCitkZWJ1ZygiMi4xNiBSZW1vdmUgaW5kZXggMSBmcm9tIG5vbi1lbXB0eSBPcHRp
b25zIik7CitzaG91bGRCZSgic2VsZWN0Mi5vcHRpb25zLnJlbW92ZSgxKSIsICJ1bmRlZmluZWQi
KTsKK3Nob3VsZEJlKCJzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJz
ZWxlY3QyLnNlbGVjdGVkSW5kZXgiLCAiMCIpOworc2hvdWxkQmUoInNlbGVjdDIub3B0aW9uc1sx
XS52YWx1ZSIsICInUCciKTsKK2RlYnVnKCIiKTsKKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvc2VsZWN0LW9wdGlvbnMtcmVtb3Zl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvanMvc2VsZWN0LW9wdGlvbnMtcmVtb3Zl
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YzFhYmVm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1y
ZW1vdmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTgwIEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
ZSBiZWhhdmlvciBvZiB0aGUgcmVtb3ZlKCkgbWV0aG9kIG9uIHRoZSBzZWxlY3Qub3B0aW9ucyBv
YmplY3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisxLjEgUmVtb3ZlIChvYmpl
Y3QpIGZyb20gZW1wdHkgT3B0aW9ucworUEFTUyBzZWxlY3QxLm9wdGlvbnMucmVtb3ZlKHZhbHVl
KSBpcyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAwCitQQVNTIHNl
bGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAtMQorCisxLjIgUmVtb3ZlIChzdHJpbmcpIGZyb20gZW1w
dHkgT3B0aW9ucworUEFTUyBzZWxlY3QxLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSBpcyB1bmRlZmlu
ZWQKK1BBU1Mgc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAwCitQQVNTIHNlbGVjdDEuc2VsZWN0
ZWRJbmRleCBpcyAtMQorCisxLjMgUmVtb3ZlIChmbG9hdCkgZnJvbSBlbXB0eSBPcHRpb25zCitQ
QVNTIHNlbGVjdDEub3B0aW9ucy5yZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxl
Y3QxLm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZWN0MS5zZWxlY3RlZEluZGV4IGlzIC0x
CisKKzEuNCBSZW1vdmUgKGJvb2xlYW4pIGZyb20gZW1wdHkgT3B0aW9ucworUEFTUyBzZWxlY3Qx
Lm9wdGlvbnMucmVtb3ZlKHZhbHVlKSBpcyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0MS5vcHRpb25z
Lmxlbmd0aCBpcyAwCitQQVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAtMQorCisxLjUgUmVt
b3ZlICh1bmRlZmluZWQpIGZyb20gZW1wdHkgT3B0aW9ucworUEFTUyBzZWxlY3QxLm9wdGlvbnMu
cmVtb3ZlKHZhbHVlKSBpcyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBp
cyAwCitQQVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAtMQorCisxLjYgUmVtb3ZlIChudWxs
KSBmcm9tIGVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0MS5vcHRpb25zLnJlbW92ZSh2YWx1ZSkg
aXMgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDEub3B0aW9ucy5sZW5ndGggaXMgMAorUEFTUyBzZWxl
Y3QxLnNlbGVjdGVkSW5kZXggaXMgLTEKKworMS43IFJlbW92ZSAobmVnYXRpdmUgaW5maW5pdHkp
IGZyb20gZW1wdHkgT3B0aW9ucworUEFTUyBzZWxlY3QxLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSBp
cyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAwCitQQVNTIHNlbGVj
dDEuc2VsZWN0ZWRJbmRleCBpcyAtMQorCisxLjggUmVtb3ZlIChOYU4pIGZyb20gZW1wdHkgT3B0
aW9ucworUEFTUyBzZWxlY3QxLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSBpcyB1bmRlZmluZWQKK1BB
U1Mgc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAwCitQQVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRl
eCBpcyAtMQorCisxLjkgUmVtb3ZlIChwb3NpdGl2ZSBpbmZpbml0eSkgZnJvbSBlbXB0eSBPcHRp
b25zCitQQVNTIHNlbGVjdDEub3B0aW9ucy5yZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5lZAorUEFT
UyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZWN0MS5zZWxlY3RlZEluZGV4
IGlzIC0xCisKKzEuMTAgUmVtb3ZlIG5vIGFyZ3MgZnJvbSBlbXB0eSBPcHRpb25zCitQQVNTIHNl
bGVjdDEub3B0aW9ucy5yZW1vdmUoKSBpcyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0MS5vcHRpb25z
Lmxlbmd0aCBpcyAwCitQQVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAtMQorCisxLjExIFJl
bW92ZSB0b28gbWFueSBhcmdzIGZyb20gZW1wdHkgT3B0aW9ucworUEFTUyBzZWxlY3QxLm9wdGlv
bnMucmVtb3ZlKDAsICdmb28nKSBpcyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0MS5vcHRpb25zLmxl
bmd0aCBpcyAwCitQQVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAtMQorCisxLjEyIFJlbW92
ZSBpbnZhbGlkIGluZGV4IC0yIGZyb20gZW1wdHkgT3B0aW9ucworUEFTUyBzZWxlY3QxLm9wdGlv
bnMucmVtb3ZlKC0yKSBpcyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBp
cyAwCitQQVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAtMQorCisxLjEzIFJlbW92ZSBpbnZh
bGlkIGluZGV4IC0xIGZyb20gZW1wdHkgT3B0aW9ucworUEFTUyBzZWxlY3QxLm9wdGlvbnMucmVt
b3ZlKC0xKSBpcyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0MS5vcHRpb25zLmxlbmd0aCBpcyAwCitQ
QVNTIHNlbGVjdDEuc2VsZWN0ZWRJbmRleCBpcyAtMQorCisxLjE0IFJlbW92ZSBpbmRleCAwIGZy
b20gZW1wdHkgT3B0aW9ucworUEFTUyBzZWxlY3QxLm9wdGlvbnMucmVtb3ZlKDApIGlzIHVuZGVm
aW5lZAorUEFTUyBzZWxlY3QxLm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZWN0MS5zZWxl
Y3RlZEluZGV4IGlzIC0xCisKKzEuMTUgUmVtb3ZlIGluZGV4IDEgZnJvbSBlbXB0eSBPcHRpb25z
CitQQVNTIHNlbGVjdDEub3B0aW9ucy5yZW1vdmUoMSkgaXMgdW5kZWZpbmVkCitQQVNTIHNlbGVj
dDEub3B0aW9ucy5sZW5ndGggaXMgMAorUEFTUyBzZWxlY3QxLnNlbGVjdGVkSW5kZXggaXMgLTEK
KworMi4xIFJlbW92ZSAob2JqZWN0KSBmcm9tIG5vbi1lbXB0eSBPcHRpb25zCitQQVNTIHNlbGVj
dDIub3B0aW9ucy5yZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxlY3QyLm9wdGlv
bnMubGVuZ3RoIGlzIDE1CitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAxMworUEFTUyBz
ZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUgaXMgJ0InCisKKzIuMiBSZW1vdmUgKHN0cmluZykgZnJv
bSBub24tZW1wdHkgT3B0aW9ucworUEFTUyBzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSBp
cyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyAxNAorUEFTUyBzZWxl
Y3QyLnNlbGVjdGVkSW5kZXggaXMgMTIKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIGlz
ICdDJworCisyLjMgUmVtb3ZlIChmbG9hdCkgZnJvbSBub24tZW1wdHkgT3B0aW9ucworUEFTUyBz
ZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSBpcyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0Mi5v
cHRpb25zLmxlbmd0aCBpcyAxMworUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMTEKK1BB
U1Mgc2VsZWN0Mi5vcHRpb25zWzNdLnZhbHVlIGlzICdHJworCisyLjQgUmVtb3ZlIChib29sZWFu
IHRydWUpIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLnJlbW92
ZSh2YWx1ZSkgaXMgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgMTIK
K1BBU1Mgc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDEwCitQQVNTIHNlbGVjdDIub3B0aW9uc1sx
XS52YWx1ZSBpcyAnRScKKworMi41IFJlbW92ZSAoYm9vbGVhbiBmYWxzZSkgZnJvbSBub24tZW1w
dHkgT3B0aW9ucworUEFTUyBzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSBpcyB1bmRlZmlu
ZWQKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyAxMQorUEFTUyBzZWxlY3QyLnNlbGVj
dGVkSW5kZXggaXMgOQorUEFTUyBzZWxlY3QyLm9wdGlvbnNbMV0udmFsdWUgaXMgJ0cnCisKKzIu
NiBSZW1vdmUgKHVuZGVmaW5lZCkgZnJvbSBub24tZW1wdHkgT3B0aW9ucworUEFTUyBzZWxlY3Qy
Lm9wdGlvbnMucmVtb3ZlKHZhbHVlKSBpcyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0Mi5vcHRpb25z
Lmxlbmd0aCBpcyAxMAorUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgOAorUEFTUyBzZWxl
Y3QyLm9wdGlvbnNbMF0udmFsdWUgaXMgJ0cnCisKKzIuNyBSZW1vdmUgKG51bGwpIGZyb20gbm9u
LWVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLnJlbW92ZSh2YWx1ZSkgaXMgdW5k
ZWZpbmVkCitQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgOQorUEFTUyBzZWxlY3QyLnNl
bGVjdGVkSW5kZXggaXMgNworUEFTUyBzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUgaXMgJ0gnCisK
KzIuOCBSZW1vdmUgKG5lZ2F0aXZlIGluZmluaXR5KSBmcm9tIG5vbi1lbXB0eSBPcHRpb25zCitQ
QVNTIHNlbGVjdDIub3B0aW9ucy5yZW1vdmUodmFsdWUpIGlzIHVuZGVmaW5lZAorUEFTUyBzZWxl
Y3QyLm9wdGlvbnMubGVuZ3RoIGlzIDgKK1BBU1Mgc2VsZWN0Mi5zZWxlY3RlZEluZGV4IGlzIDYK
K1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIGlzICdJJworCisyLjkgUmVtb3ZlIChOYU4p
IGZyb20gbm9uLWVtcHR5IE9wdGlvbnMKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLnJlbW92ZSh2YWx1
ZSkgaXMgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDIub3B0aW9ucy5sZW5ndGggaXMgNworUEFTUyBz
ZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgNQorUEFTUyBzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUg
aXMgJ0onCisKKzIuMTAgUmVtb3ZlIChwb3NpdGl2ZSBpbmZpbml0eSkgZnJvbSBub24tZW1wdHkg
T3B0aW9ucworUEFTUyBzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKHZhbHVlKSBpcyB1bmRlZmluZWQK
K1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA2CitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJ
bmRleCBpcyA0CitQQVNTIHNlbGVjdDIub3B0aW9uc1swXS52YWx1ZSBpcyAnSycKKworMi4xMSBS
ZW1vdmUgbm8gYXJncyBmcm9tIG5vbi1lbXB0eSBPcHRpb25zCitQQVNTIHNlbGVjdDIub3B0aW9u
cy5yZW1vdmUoKSBpcyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA1
CitQQVNTIHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAzCitQQVNTIHNlbGVjdDIub3B0aW9uc1sw
XS52YWx1ZSBpcyAnTCcKKworMi4xMiBSZW1vdmUgdG9vIG1hbnkgYXJncyBmcm9tIG5vbi1lbXB0
eSBPcHRpb25zCitQQVNTIHNlbGVjdDIub3B0aW9ucy5yZW1vdmUoMCwgJ2ZvbycpIGlzIHVuZGVm
aW5lZAorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDQKK1BBU1Mgc2VsZWN0Mi5zZWxl
Y3RlZEluZGV4IGlzIDIKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzBdLnZhbHVlIGlzICdNJworCisy
LjEzIFJlbW92ZSBpbnZhbGlkIGluZGV4IC0yIGZyb20gbm9uLWVtcHR5IE9wdGlvbnMKK1BBU1Mg
c2VsZWN0Mi5vcHRpb25zLnJlbW92ZSgtMikgaXMgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDIub3B0
aW9ucy5sZW5ndGggaXMgNAorUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMgorUEFTUyBz
ZWxlY3QyLm9wdGlvbnNbMl0udmFsdWUgaXMgJ08nCisKKzIuMTQgUmVtb3ZlIGludmFsaWQgaW5k
ZXggLTEgZnJvbSBub24tZW1wdHkgT3B0aW9ucworUEFTUyBzZWxlY3QyLm9wdGlvbnMucmVtb3Zl
KC0xKSBpcyB1bmRlZmluZWQKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zLmxlbmd0aCBpcyA0CitQQVNT
IHNlbGVjdDIuc2VsZWN0ZWRJbmRleCBpcyAyCitQQVNTIHNlbGVjdDIub3B0aW9uc1szXS52YWx1
ZSBpcyAnUCcKKworMi4xNSBSZW1vdmUgaW5kZXggMCBmcm9tIG5vbi1lbXB0eSBPcHRpb25zCitQ
QVNTIHNlbGVjdDIub3B0aW9ucy5yZW1vdmUoMCkgaXMgdW5kZWZpbmVkCitQQVNTIHNlbGVjdDIu
b3B0aW9ucy5sZW5ndGggaXMgMworUEFTUyBzZWxlY3QyLnNlbGVjdGVkSW5kZXggaXMgMQorUEFT
UyBzZWxlY3QyLm9wdGlvbnNbMF0udmFsdWUgaXMgJ04nCisKKzIuMTYgUmVtb3ZlIGluZGV4IDEg
ZnJvbSBub24tZW1wdHkgT3B0aW9ucworUEFTUyBzZWxlY3QyLm9wdGlvbnMucmVtb3ZlKDEpIGlz
IHVuZGVmaW5lZAorUEFTUyBzZWxlY3QyLm9wdGlvbnMubGVuZ3RoIGlzIDIKK1BBU1Mgc2VsZWN0
Mi5zZWxlY3RlZEluZGV4IGlzIDAKK1BBU1Mgc2VsZWN0Mi5vcHRpb25zWzFdLnZhbHVlIGlzICdQ
JworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvc2VsZWN0LW9wdGlvbnMtcmVtb3ZlLWdj
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvanMvc2VsZWN0LW9wdGlvbnMtcmVtb3Zl
LWdjLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNWEx
ZGNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9u
cy1yZW1vdmUtZ2MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1RoaXMgdGVzdCBjaGVj
a3MgdGhhdCByZW1vdmluZyBhIDxzZWxlY3Q+IG9iamVjdCBmcm9tIHRoZSBET00sIHRoZW4gZ2Fy
YmFnZSBjb2xsZWN0aW5nLCB0aGVuIHJlbW92aW5nIGFuIG9wdGlvbiBmcm9tIHNlbGVjdC5vcHRp
b25zIGRvZXNuJ3QgY3Jhc2guCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IE5vIGNyYXNoCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1yZW1v
dmUtZ2MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvc2VsZWN0LW9wdGlvbnMtcmVtb3ZlLWdj
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzVlN2M4OAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvc2VsZWN0LW9wdGlvbnMtcmVtb3ZlLWdj
Lmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0icmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGRpdj4KKzxzZWxlY3QgaWQ9
Im15c2VsZWN0Ij4KKzxvcHRpb24+QTwvb3B0aW9uPgorPG9wdGlvbj5CPC9vcHRpb24+Cis8b3B0
aW9uPkM8L29wdGlvbj4KKzwvc2VsZWN0PgorPC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCBjaGVja3MgdGhhdCByZW1vdmluZyBhICZsdDtzZWxlY3QmZ3Q7IG9iamVjdCBm
cm9tIHRoZSBET00sIHRoZW4gZ2FyYmFnZSBjb2xsZWN0aW5nLCB0aGVuIHJlbW92aW5nIGFuIG9w
dGlvbiBmcm9tIHNlbGVjdC5vcHRpb25zIGRvZXNuJ3QgY3Jhc2guIik7CisKK3ZhciBzZWxlY3Qg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibXlzZWxlY3QiKTsKK3ZhciBvcHRpb25zID0gc2Vs
ZWN0Lm9wdGlvbnM7CitzZWxlY3QucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzZWxlY3QpOworc2Vs
ZWN0ID0gbnVsbDsKKworLy8gY3JlYXRlIGxvdHMgb2Ygb2JqZWN0cyB0byBmb3JjZSBhIGdhcmJh
Z2UgY29sbGVjdGlvbgordmFyIGkgPSAwOwordmFyIHM7Cit3aGlsZSAoaSA8IDUwMDApIHsKKyAg
ICBpID0gaSsxLjExOworICAgIHMgPSBzICsgIiAiOworfQorCitvcHRpb25zLnJlbW92ZSgwKTsK
K3Rlc3RQYXNzZWQoIk5vIGNyYXNoIik7CitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL3NlbGVj
dC1vcHRpb25zLXJlbW92ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9u
cy1yZW1vdmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTFkN2Mz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9zZWxlY3Qtb3B0aW9ucy1y
ZW1vdmUuaHRtbApAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSJyZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8ZGl2PgorPHNlbGVj
dCBpZD0ic2VsZWN0MSI+PC9zZWxlY3Q+Cis8c2VsZWN0IGlkPSJzZWxlY3QyIj4KKzxvcHRpb24g
dmFsdWU9IkEiPjE8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IkIiPjI8L29wdGlvbj4KKzxvcHRp
b24gdmFsdWU9IkMiPjM8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IkQiPjQ8L29wdGlvbj4KKzxv
cHRpb24gdmFsdWU9IkUiPjU8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IkYiPjY8L29wdGlvbj4K
KzxvcHRpb24gdmFsdWU9IkciPjc8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IkgiPjg8L29wdGlv
bj4KKzxvcHRpb24gdmFsdWU9IkkiPjk8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IkoiPjEwPC9v
cHRpb24+Cis8b3B0aW9uIHZhbHVlPSJLIj4xMTwvb3B0aW9uPgorPG9wdGlvbiB2YWx1ZT0iTCI+
MTI8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9Ik0iPjEzPC9vcHRpb24+Cis8b3B0aW9uIHZhbHVl
PSJOIj4xNDwvb3B0aW9uPgorPG9wdGlvbiB2YWx1ZT0iTyIgc2VsZWN0ZWQ9InNlbGVjdGVkIj4x
NTwvb3B0aW9uPgorPG9wdGlvbiB2YWx1ZT0iUCI+MTY8L29wdGlvbj4KKzwvc2VsZWN0PgorPC9k
aXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NlbGVjdC1vcHRpb25zLXJlbW92ZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IGQwZmFiOWUuLjU4YmMxZTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMDct
MTItMDkgIERhdmlkIEQuIEtpbHplciAgPGRka2lsemVyQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
QnVnIDk2ODM6IEltcGxlbWVudCBzZWxlY3Qub3B0aW9ucy5yZW1vdmUoKSBtZXRob2QKKyAgICAg
ICAgPGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2ODM+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHNlbGVj
dC5vcHRpb25zLnJlbW92ZSgpIGJ5IGNhbGxpbmcgc2VsZWN0LnJlbW92ZSgpCisgICAgICAgIHdp
dGggdGhlIHNhbWUgYXJndW1lbnRzLiAgVGhpcyBpcyB3aGF0IE1TSUUgNyBkb2VzLCBhbHRob3Vn
aCBpdHMKKyAgICAgICAgc2VsZWN0LnJlbW92ZSgpIG1ldGhvZCBkaWZmZXJzIGZyb20gV2ViS2l0
J3MgYnkgdGhyb3dpbmcgYW4KKyAgICAgICAgZXhjZXB0aW9uIHdoZW4gY2FsbGVkIHdpdGggbm8g
YXJndW1lbnRzIG9yIHdpdGggYSBuZWdhdGl2ZQorICAgICAgICBpbnRlZ2VyIGFyZ3VtZW50LiAg
Tm90ZSB0aGF0IHRoZSBET00gTGV2ZWwgMSBkb2N1bWVudGF0aW9uCisgICAgICAgIHNwZWNpZmll
cyB0aGF0IHNlbGVjdC5yZW1vdmUoKSBkb2VzIG5vdCB0aHJvdyBhbiBleGNlcHRpb24uCisKKyAg
ICAgICAgVGVzdHM6IGZhc3QvanMvc2VsZWN0LW9wdGlvbnMtcmVtb3ZlLWdjLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvanMvc2VsZWN0LW9wdGlvbnMtcmVtb3ZlLmh0bWwKKworICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpyZW1vdmUpOiBBZGRlZC4KKyAgICAg
ICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MT3B0aW9uc0NvbGxlY3Rpb246OnJlbW92ZSk6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRN
TE9wdGlvbnNDb2xsZWN0aW9uLmg6CisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rp
b24uaWRsOgorCiAyMDA3LTEyLTA4ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNwcAppbmRleCAyZTg0ZmNhLi43MjY4OWJl
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTE9wdGlvbnNDb2xsZWN0aW9u
Q3VzdG9tLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTE9wdGlvbnNDb2xsZWN0
aW9uQ3VzdG9tLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkhUTUxPcHRpb25zQ29s
bGVjdGlvbi5oIgogI2luY2x1ZGUgIkhUTUxTZWxlY3RFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNI
VE1MT3B0aW9uRWxlbWVudC5oIgorI2luY2x1ZGUgIkpTSFRNTFNlbGVjdEVsZW1lbnQuaCIKICNp
bmNsdWRlICJKU0hUTUxTZWxlY3RFbGVtZW50Q3VzdG9tLmgiCiAKICNpbmNsdWRlIDx3dGYvTWF0
aEV4dHJhcy5oPgpAQCAtNjYsNCArNjcsMTEgQEAgdm9pZCBKU0hUTUxPcHRpb25zQ29sbGVjdGlv
bjo6aW5kZXhTZXR0ZXIoS0pTOjpFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGluZGV4LAogICAg
IHNlbGVjdEluZGV4U2V0dGVyKGJhc2UsIGV4ZWMsIGluZGV4LCB2YWx1ZSk7CiB9CiAKK0tKUzo6
SlNWYWx1ZSogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb246OnJlbW92ZShLSlM6OkV4ZWNTdGF0ZSog
ZXhlYywgY29uc3QgS0pTOjpMaXN0JiBhcmdzKQoreworICAgIEhUTUxPcHRpb25zQ29sbGVjdGlv
biogaW1wID0gc3RhdGljX2Nhc3Q8SFRNTE9wdGlvbnNDb2xsZWN0aW9uKj4oaW1wbCgpKTsKKyAg
ICBKU0hUTUxTZWxlY3RFbGVtZW50KiBiYXNlID0gc3RhdGljX2Nhc3Q8SlNIVE1MU2VsZWN0RWxl
bWVudCo+KHRvSlMoZXhlYywgaW1wLT5iYXNlKCkpKTsKKyAgICByZXR1cm4gYmFzZS0+cmVtb3Zl
KGV4ZWMsIGFyZ3MpOworfQorCiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlv
bnNDb2xsZWN0aW9uLmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uY3Bw
CmluZGV4IGRlZDQ0ZTMuLmQ1YTFhN2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MT3B0
aW9uc0NvbGxlY3Rpb24uY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rp
b24uY3BwCkBAIC02NCw2ICs2NCwxMSBAQCB2b2lkIEhUTUxPcHRpb25zQ29sbGVjdGlvbjo6YWRk
KFBhc3NSZWZQdHI8SFRNTE9wdGlvbkVsZW1lbnQ+IGVsZW1lbnQsIGludCBpbmRleAogICAgIEFT
U0VSVChlYyA9PSAwKTsKIH0KIAordm9pZCBIVE1MT3B0aW9uc0NvbGxlY3Rpb246OnJlbW92ZShp
bnQgaW5kZXgpCit7CisgICAgc3RhdGljX2Nhc3Q8SFRNTFNlbGVjdEVsZW1lbnQqPihiYXNlKCkp
LT5yZW1vdmUoaW5kZXgpOworfQorCiBpbnQgSFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpzZWxlY3Rl
ZEluZGV4KCkgY29uc3QKIHsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTFNlbGVjdEVsZW1l
bnQqPihiYXNlKCkpLT5zZWxlY3RlZEluZGV4KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
SFRNTE9wdGlvbnNDb2xsZWN0aW9uLmggYi9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0
aW9uLmgKaW5kZXggOTQwZDI2Zi4uOWZiNWJiZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hU
TUxPcHRpb25zQ29sbGVjdGlvbi5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxl
Y3Rpb24uaApAQCAtMzksNiArMzksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZChQYXNzUmVm
UHRyPEhUTUxPcHRpb25FbGVtZW50PiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgYWRkKFBh
c3NSZWZQdHI8SFRNTE9wdGlvbkVsZW1lbnQ+LCBpbnQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKTsK
KyAgICB2b2lkIHJlbW92ZShpbnQgaW5kZXgpOwogCiAgICAgaW50IHNlbGVjdGVkSW5kZXgoKSBj
b25zdDsKICAgICB2b2lkIHNldFNlbGVjdGVkSW5kZXgoaW50KTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxPcHRp
b25zQ29sbGVjdGlvbi5pZGwKaW5kZXggNWUwOTBmZS4uNmY1ODc2NSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hU
TUxPcHRpb25zQ29sbGVjdGlvbi5pZGwKQEAgLTM0LDYgKzM0LDcgQEAgbW9kdWxlIGh0bWwgewog
CiAgICAgICAgIHZvaWQgYWRkKGluIEhUTUxPcHRpb25FbGVtZW50IG9wdGlvbiwgaW4gW09wdGlv
bmFsXSB1bnNpZ25lZCBsb25nIGluZGV4KQogICAgICAgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0
aW9uKTsKKyAgICAgICAgW0N1c3RvbV0gdm9pZCByZW1vdmUoaW4gdW5zaWduZWQgbG9uZyBpbmRl
eCk7CiAKICNpZiAhZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKQogICAgICAgICBOb2RlIGl0
ZW0oaW4gdW5zaWduZWQgbG9uZyBpbmRleCk7Cg==
</data>
<flag name="review"
          id="7682"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>