<?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>50663</bug_id>
          
          <creation_ts>2010-12-07 19:38:57 -0800</creation_ts>
          <short_desc>Improve validation API support of &lt;object&gt; and &lt;keygen&gt;</short_desc>
          <delta_ts>2010-12-09 21:59:55 -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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>48821</dependson>
          <blocked>19264</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bashi</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webmaster</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>318553</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-12-07 19:38:57 -0800</bug_when>
    <thetext>http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#the-object-element

We should add
 - validity
 - validationMessage
 - checkValidity()
 - setCustomValidity()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319167</commentid>
    <comment_count>1</comment_count>
      <attachid>75997</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-12-08 17:52:18 -0800</bug_when>
    <thetext>Created attachment 75997
Patch V0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319171</commentid>
    <comment_count>2</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-12-08 17:56:36 -0800</bug_when>
    <thetext>This patch includes validation API tests for &lt;output&gt; and &lt;keygen&gt; since it seems that there is no test for them. For &lt;keygen&gt;, the willValidate property returns true for now, but I think it should be false because it is barred from constraint validation, as the HTML5 spec specified (http://dev.w3.org/html5/spec/the-button-element.html#the-keygen-element). I&apos;ll file a bug if my understand correctly.

(In reply to comment #1)
&gt; Created an attachment (id=75997) [details]
&gt; Patch V0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319178</commentid>
    <comment_count>3</comment_count>
      <attachid>75997</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-12-08 18:17:43 -0800</bug_when>
    <thetext>Comment on attachment 75997
Patch V0

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

&gt; LayoutTests/fast/forms/ValidityState-001-expected.txt:7
&gt; +SUCCESS
&gt; +SUCCESS
&gt; +SUCCESS
&gt;  SUCCESS

The test result readability is bad.
However it&apos;s ok.  You just followed the existing test.

&gt; LayoutTests/fast/forms/checkValidity-001-expected.txt:10
&gt; +PASS v[i].checkValidity() is true
&gt; +PASS v[i].checkValidity() is true
&gt; +PASS v[i].checkValidity() is true
&gt;  PASS v[i].checkValidity() is true

ditto.

&gt; LayoutTests/fast/forms/script-tests/setCustomValidity-existence.js:19
&gt; +    + &apos;&lt;/form&gt;&apos;;
&gt; +var controls = document.getElementsByName(&apos;victim&apos;);
&gt; +    for (var i = 0; i &lt; controls.length; i++)
&gt; +        shouldBe(&apos;typeof controls[i].setCustomValidity&apos;, &apos;&quot;function&quot;&apos;);

The indentation looks wrong.

The test result readability is not good.
shouldBe(&apos;document.getElementsByTagName(&quot;input&quot;)[0].setCustomValidity&apos;, &apos;&quot;function&quot;&apos;);
shouldBe(&apos;document.getElementsByTagName(&quot;textarea&quot;)[0].setCustomValidity&apos;, &apos;&quot;function&quot;&apos;);
...
is better.

&gt; LayoutTests/fast/forms/willvalidate-expected.txt:51
&gt; +Keygen element
&gt; +FIXME: Let keygen.willValidate be false because &lt;keygen&gt; is barred from constraint validation.
&gt; +FAIL document.getElementsByTagName(&quot;keygen&quot;)[0].willValidate should be false. Was true.

We should remove test cases for keygen, or should expand this bug so that it includes &lt;keygen&gt; fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319216</commentid>
    <comment_count>4</comment_count>
      <attachid>75997</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-12-08 19:23:05 -0800</bug_when>
    <thetext>Comment on attachment 75997
Patch V0

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

Kent-san,

Thank you for your prompt review. I&apos;ll post revised patch after the title of this bug changes.

&gt;&gt; LayoutTests/fast/forms/ValidityState-001-expected.txt:7
&gt;&gt;  SUCCESS
&gt; 
&gt; The test result readability is bad.
&gt; However it&apos;s ok.  You just followed the existing test.

I&apos;ve added tagName for each line.

&gt;&gt; LayoutTests/fast/forms/checkValidity-001-expected.txt:10
&gt;&gt;  PASS v[i].checkValidity() is true
&gt; 
&gt; ditto.

Modified to use the same representation that you suggested in the below comment.

&gt;&gt; LayoutTests/fast/forms/script-tests/setCustomValidity-existence.js:19
&gt;&gt; +        shouldBe(&apos;typeof controls[i].setCustomValidity&apos;, &apos;&quot;function&quot;&apos;);
&gt; 
&gt; The indentation looks wrong.
&gt; 
&gt; The test result readability is not good.
&gt; shouldBe(&apos;document.getElementsByTagName(&quot;input&quot;)[0].setCustomValidity&apos;, &apos;&quot;function&quot;&apos;);
&gt; shouldBe(&apos;document.getElementsByTagName(&quot;textarea&quot;)[0].setCustomValidity&apos;, &apos;&quot;function&quot;&apos;);
&gt; ...
&gt; is better.

I&apos;ve modified them following your suggestion. Thanks!

&gt;&gt; LayoutTests/fast/forms/willvalidate-expected.txt:51
&gt;&gt; +FAIL document.getElementsByTagName(&quot;keygen&quot;)[0].willValidate should be false. Was true.
&gt; 
&gt; We should remove test cases for keygen, or should expand this bug so that it includes &lt;keygen&gt; fix.

I&apos;d like to include the fix for &lt;keygen&gt; in this bug, so could you change the title of this bug something like &quot;Improve validation API support on &lt;object&gt; and &lt;keygen&gt;&quot; or more appropriate one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319252</commentid>
    <comment_count>5</comment_count>
      <attachid>76011</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-12-08 20:51:08 -0800</bug_when>
    <thetext>Created attachment 76011
Patch V1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319254</commentid>
    <comment_count>6</comment_count>
      <attachid>76011</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-12-08 20:54:10 -0800</bug_when>
    <thetext>Comment on attachment 76011
Patch V1

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

ok.

&gt; LayoutTests/fast/forms/checkValidity-001.html:23
&gt; +shouldBe(&apos;document.getElementsByTagName(&quot;fieldset&quot;)[0].checkValidity()&apos;, &apos;true&apos;);

nit: We can use shouldBeTrue().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319255</commentid>
    <comment_count>7</comment_count>
      <attachid>76011</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-12-08 20:59:54 -0800</bug_when>
    <thetext>Comment on attachment 76011
Patch V1

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

Kent-san,

Thanks for review!

&gt;&gt; LayoutTests/fast/forms/checkValidity-001.html:23
&gt;&gt; +shouldBe(&apos;document.getElementsByTagName(&quot;fieldset&quot;)[0].checkValidity()&apos;, &apos;true&apos;);
&gt; 
&gt; nit: We can use shouldBeTrue().

Thank you for letting me know that. I&apos;ll use it next time:-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319390</commentid>
    <comment_count>8</comment_count>
      <attachid>76011</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-09 04:13:17 -0800</bug_when>
    <thetext>Comment on attachment 76011
Patch V1

Rejecting patch 76011 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-cq-sl&apos;, &apos;build-and-test&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--test&apos;, &apos;--non-interactive&apos;]&quot; exit_code: 2
Last 500 characters of output:
octypes ............
fast/dom ......................................................................................................................................................................................................................................
fast/dom/plugin-attributes-enumeration.html -&gt; failed

Exiting early after 1 failures. 6959 tests run.
131.47s total testing time

6958 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout
3 test cases (&lt;1%) had stderr output

Full output: http://queues.webkit.org/results/6992007</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319770</commentid>
    <comment_count>9</comment_count>
      <attachid>76133</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-12-09 16:19:25 -0800</bug_when>
    <thetext>Created attachment 76133
Patch V2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319771</commentid>
    <comment_count>10</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-12-09 16:20:15 -0800</bug_when>
    <thetext>Fixed the expectation of fast/dom/plugin-attributes-enumeration.html.

(In reply to comment #9)
&gt; Created an attachment (id=76133) [details]
&gt; Patch V2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319776</commentid>
    <comment_count>11</comment_count>
      <attachid>76133</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-12-09 16:25:16 -0800</bug_when>
    <thetext>Comment on attachment 76133
Patch V2

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319924</commentid>
    <comment_count>12</comment_count>
      <attachid>76133</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-09 21:59:49 -0800</bug_when>
    <thetext>Comment on attachment 76133
Patch V2

Clearing flags on attachment: 76133

Committed r73686: &lt;http://trac.webkit.org/changeset/73686&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319925</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-09 21:59:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75997</attachid>
            <date>2010-12-08 17:52:18 -0800</date>
            <delta_ts>2010-12-08 20:51:03 -0800</delta_ts>
            <desc>Patch V0</desc>
            <filename>bug-50663-20101209105216.patch</filename>
            <type>text/plain</type>
            <size>13838</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZDBlNjIyNTZjYWFkZGVkM2Y5ZWI5MzdiODE1NDRjMmI3NGNiM2MyLi42ODA4YjI1
Y2MwZTNjYmY0NWI4ZWZiZGNmNTFmZGZiMjAxMWVmYTRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAK
KzIwMTAtMTItMDggIEtlbmljaGkgSXNoaWJhc2hpICA8YmFzaGlAZ29vZ2xlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdXBwb3J0IHZhbGlk
YXRpb24gQVBJIGZvciA8b2JqZWN0PgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTA2NjMKKworICAgICAgICBBZGRzIHRlc3RzIGZvciB2YWxpZGF0aW9u
IEFQSSBmb3IgPG9iamVjdD4uCisgICAgICAgIFRlc3RzIGZvciA8b3V0cHV0PiBhbmQgPGtleWdl
bj4gYXJlIGFsc28gYWRkZWQuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUt
MDAxLmh0bWw6IEFkZGVkIHRlc3RzIGZvciA8b2JqZWN0PiwgPG91dHB1dD4KKyAgICAgICAgYW5k
IDxrZXlnZW4+LgorICAgICAgICAqIGZhc3QvZm9ybXMvY2hlY2tWYWxpZGl0eS0wMDEuaHRtbDog
RGl0dG8uCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvc2V0Q3VzdG9tVmFsaWRp
dHktZXhpc3RlbmNlLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0
cy92YWxpZGF0aW9uTWVzc2FnZS5qczogQWRkZWQgdGVzdHMgZm9yIDxvYmplY3Q+LAorICAgICAg
ICA8b3V0cHV0PiBhbmQgPGtleWdlbj4uCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVz
dHMvd2lsbHZhbGlkYXRlLmpzOiBEaXR0by4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NldEN1c3Rv
bVZhbGlkaXR5LWV4aXN0ZW5jZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvc2V0Q3VzdG9tVmFsaWRpdHktZXhpc3RlbmNlLmh0bWw6IEFkZGVkLgorCiAyMDEwLTEy
LTA4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3
ZWQgQ2hyb21pdW0gcmViYXNlbGluZSBmb3IgcjczNTQ4LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLTAwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtMDAxLWV4cGVjdGVkLnR4dAppbmRleCAwM2EyOTc1
Y2QyMjIyMTU0MzliZjljZjhlYWEwNGZlMmUxNDNkMzJiLi5hOTczNmM0NGM3ZDk1MTVjYmYyY2Qy
YTA4NmVjZjFmN2Y4MGIzYTM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1Zh
bGlkaXR5U3RhdGUtMDAxLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L1ZhbGlkaXR5U3RhdGUtMDAxLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDkgQEAKIEVhY2ggZm9y
bSBjb250cm9sIGluIHRoaXMgZG9jdW1lbnQgZXhwb3NlcyBhIHZhbGlkaXR5IGF0dHJpYnV0ZSB0
aGF0IHJldHVybnMgYSBsaXZlIGluc3RhbmNlIG9mIFZhbGlkaXR5U3RhdGUuCiAKLSAgIAorICAg
ICAgCitTVUNDRVNTCitTVUNDRVNTCitTVUNDRVNTCiBTVUNDRVNTCiBTVUNDRVNTCiBTVUNDRVNT
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtMDAxLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtMDAxLmh0bWwKaW5kZXgg
YmZjMDg1ZGFmM2JhNGUwMzczYjlhOWNhNDdiYmY5MmI3ODQxMjU3Zi4uNTYzNTJmMjg1MzBhZTZh
ZGQ3YjMwZWUxMTIwMzIxOWFmMTU5YzM2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9WYWxpZGl0eVN0YXRlLTAwMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
VmFsaWRpdHlTdGF0ZS0wMDEuaHRtbApAQCAtMzQsNiArMzQsOSBAQCBhIGxpdmUgaW5zdGFuY2Ug
b2YgVmFsaWRpdHlTdGF0ZS48L3A+CiA8aW5wdXQgbmFtZT0idmljdGltIi8+CiA8dGV4dGFyZWEg
bmFtZT0idmljdGltIj48L3RleHRhcmVhPgogPGJ1dHRvbiBuYW1lPSJ2aWN0aW0iPjwvYnV0dG9u
PgorPG91dHB1dCBuYW1lPSJ2aWN0aW0iPjwvb3V0cHV0PgorPG9iamVjdCBuYW1lPSJ2aWN0aW0i
Pjwvb2JqZWN0PgorPGtleWdlbiBuYW1lPSJ2aWN0aW0iPjwva2V5Z2VuPgogPC9maWVsZHNldD4K
IDxocj4KIDxvbCBpZD0iY29uc29sZSI+PC9vbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvY2hlY2tWYWxpZGl0eS0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9jaGVja1ZhbGlkaXR5LTAwMS1leHBlY3RlZC50eHQKaW5kZXggNTU4M2Q2YzAyNTVm
ZDg2ZDVjOWRiYTk5NTk0MGI1YTQ2NDFiMDZmZS4uYzY5YjAwZjY4MmI5MTUxYTEwNjM5ZTJiNzJj
NjZkNGQ0YTI4ODViMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGVja1Zh
bGlkaXR5LTAwMS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGVj
a1ZhbGlkaXR5LTAwMS1leHBlY3RlZC50eHQKQEAgLTMsNyArMywxMCBAQCBUaGlzIHRlc3QgY2hl
Y2tzIGlmIGNoZWNrVmFsaWRpdHkoKSByZXR1cm5zIGNvcnJlY3RseSBhIHRydWUgKG1lYW5pbmcg
bm8gZXJyb3IpCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotIGxvcmVtIGlwc3VtICAK
KyBsb3JlbSBpcHN1bSAgICAgCitQQVNTIHZbaV0uY2hlY2tWYWxpZGl0eSgpIGlzIHRydWUKK1BB
U1MgdltpXS5jaGVja1ZhbGlkaXR5KCkgaXMgdHJ1ZQorUEFTUyB2W2ldLmNoZWNrVmFsaWRpdHko
KSBpcyB0cnVlCiBQQVNTIHZbaV0uY2hlY2tWYWxpZGl0eSgpIGlzIHRydWUKIFBBU1MgdltpXS5j
aGVja1ZhbGlkaXR5KCkgaXMgdHJ1ZQogUEFTUyB2W2ldLmNoZWNrVmFsaWRpdHkoKSBpcyB0cnVl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2NoZWNrVmFsaWRpdHktMDAxLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2NoZWNrVmFsaWRpdHktMDAxLmh0bWwKaW5kZXgg
OWYzNjJmYTZmNzIzMzlmNDUxYTNhZDY3ZDRkNDJhZGJmMjRhODViYi4uYmU3NDYyYzk5Y2MyMmNk
NjAxYmFlODBlZDNkZTRkZGRjZDJlNGZhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9jaGVja1ZhbGlkaXR5LTAwMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
Y2hlY2tWYWxpZGl0eS0wMDEuaHRtbApAQCAtMTIsNiArMTIsOSBAQAogPGJ1dHRvbiBuYW1lPSJ2
aWN0aW0iPmxvcmVtIGlwc3VtPC9idXR0b24+CiA8c2VsZWN0IG5hbWU9InZpY3RpbSI+PC9zZWxl
Y3Q+CiA8dGV4dGFyZWEgbmFtZT0idmljdGltIj48L3RleHRhcmVhPgorPG91dHB1dCBuYW1lPSJ2
aWN0aW0iPjwvb3V0cHV0PgorPG9iamVjdCBuYW1lPSJ2aWN0aW0iPjwvb2JqZWN0PgorPGtleWdl
biBuYW1lPSJ2aWN0aW0iPjwva2V5Z2VuPgogPC9mb3JtPgogPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CiA8c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvc2V0Q3VzdG9tVmFsaWRpdHktZXhpc3RlbmNlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zY3JpcHQtdGVzdHMvc2V0Q3VzdG9tVmFsaWRpdHktZXhpc3RlbmNlLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmUzMTM3NTBiZDViNjM0ODk1ZTMyOTI1N2FjY2Y0OTNiOWE1MWEwYjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9zZXRDdXN0b21WYWxp
ZGl0eS1leGlzdGVuY2UuanMKQEAgLTAsMCArMSwyMSBAQAorZGVzY3JpcHRpb24oJ0V4aXN0ZW5j
ZSB0ZXN0cyBmb3IgLnNldEN1c3RvbVZhbGlkaXR5IHByb3BlcnR5Jyk7CisKK3ZhciBwYXJlbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocGFyZW50KTsKKworZGVidWcoJ0V4aXN0ZW5jZSBvZiAuc2V0Q3VzdG9tVmFsaWRpdHknKTsK
K3BhcmVudC5pbm5lckhUTUwgPSAnPGZvcm0+JworICAgICsgJzxpbnB1dCBuYW1lPSJ2aWN0aW0i
Lz4nCisgICAgKyAnPHRleHRhcmVhIG5hbWU9InZpY3RpbSI+PC90ZXh0YXJlYT4nCisgICAgKyAn
PGZpZWxkc2V0IG5hbWU9InZpY3RpbSI+VGVzdDwvZmllbGRzZXQ+JworICAgICsgJzxidXR0b24g
bmFtZT0idmljdGltIj4nCisgICAgKyAnPHNlbGVjdCBuYW1lPSJ2aWN0aW0iPjwvc2VsZWN0PicK
KyAgICArICc8b3V0cHV0IG5hbWU9InZpY3RpbSI+PC9vdXRwdXQ+JworICAgICsgJzxvYmplY3Qg
bmFtZT0idmljdGltIj48L29iamVjdD4nCisgICAgKyAnPGtleWdlbiBuYW1lPSJ2aWN0aW0iPicK
KyAgICArICc8L2Zvcm0+JzsKK3ZhciBjb250cm9scyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlO
YW1lKCd2aWN0aW0nKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbnRyb2xzLmxlbmd0aDsg
aSsrKQorICAgICAgICBzaG91bGRCZSgndHlwZW9mIGNvbnRyb2xzW2ldLnNldEN1c3RvbVZhbGlk
aXR5JywgJyJmdW5jdGlvbiInKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy92YWxpZGF0aW9u
TWVzc2FnZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3ZhbGlkYXRp
b25NZXNzYWdlLmpzCmluZGV4IGQ2ODI2ZGUxODJlMzEzNzdhYzBjNDhkOTQ2OGNiNzZhOGE1NmY0
NzEuLjkyMTJkY2M5YmY5ZjY3YmU4OGNmOGY0YjVlNTg5YTZmY2VkODA0MjcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3ZhbGlkYXRpb25NZXNzYWdlLmpz
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3ZhbGlkYXRpb25NZXNz
YWdlLmpzCkBAIC01NSw0ICs1NSwyMiBAQCBoYXBweVNlbGVjdC5uYW1lID0gInNlbGVjdCI7CiBm
b3JtLmFwcGVuZENoaWxkKGhhcHB5U2VsZWN0KTsKIHNob3VsZEJlKCJoYXBweVNlbGVjdC52YWxp
ZGF0aW9uTWVzc2FnZSIsICInJyIpOwogCisvLyBPdXRwdXQgZWxlbWVudHMgY2FuJ3QgYmUgdmFs
aWRhdGVkCit2YXIgaGFwcHlPdXRwdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvdXRwdXQi
KTsKK2hhcHB5U2VsZWN0Lm5hbWUgPSAib3V0cHV0IjsKK2Zvcm0uYXBwZW5kQ2hpbGQoaGFwcHlP
dXRwdXQpOworc2hvdWxkQmUoImhhcHB5T3V0cHV0LnZhbGlkYXRpb25NZXNzYWdlIiwgIicnIik7
CisKKy8vIE9iamVjdCBlbGVtZW50cyBjYW4ndCBiZSB2YWxpZGF0ZWQKK3ZhciBoYXBweU9iamVj
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9iamVjdCIpOworaGFwcHlTZWxlY3QubmFtZSA9
ICJvYmplY3QiOworZm9ybS5hcHBlbmRDaGlsZChoYXBweU9iamVjdCk7CitzaG91bGRCZSgiaGFw
cHlPYmplY3QudmFsaWRhdGlvbk1lc3NhZ2UiLCAiJyciKTsKKworLy8gS2V5Z2VuIGNvbnRyb2xz
IGNhbid0IGJlIHZhbGlkYXRlZAordmFyIGhhcHB5S2V5Z2VuID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgia2V5Z2VuIik7CitoYXBweVNlbGVjdC5uYW1lID0gImtleWdlbiI7Citmb3JtLmFwcGVu
ZENoaWxkKGhhcHB5S2V5Z2VuKTsKK3Nob3VsZEJlKCJoYXBweUtleWdlbi52YWxpZGF0aW9uTWVz
c2FnZSIsICInJyIpOworCiB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3dpbGx2YWxpZGF0ZS5qcyBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3dpbGx2YWxpZGF0ZS5qcwppbmRl
eCBmMzhkNTg3ZDA2M2IxYmFjOWE3ODhmZTZhMWRkMmM5ZGJjMTMwYmJmLi5lNTZmZGE2NTYwY2I1
NWFkYTI5YmE3MmVmOWUxZTcwYTdjNmNmYmY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3NjcmlwdC10ZXN0cy93aWxsdmFsaWRhdGUuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9zY3JpcHQtdGVzdHMvd2lsbHZhbGlkYXRlLmpzCkBAIC0xMCw2ICsxMCw5IEBAIHBh
cmVudC5pbm5lckhUTUwgPSAnPGZvcm0+JwogICAgICsgJzxmaWVsZHNldCBuYW1lPSJ2aWN0aW0i
PlRlc3Q8L2ZpZWxkc2V0PicKICAgICArICc8YnV0dG9uIG5hbWU9InZpY3RpbSI+JwogICAgICsg
JzxzZWxlY3QgbmFtZT0idmljdGltIj48L3NlbGVjdD4nCisgICAgKyAnPG91dHB1dCBuYW1lPSJ2
aWN0aW0iPjwvb3V0cHV0PicKKyAgICArICc8b2JqZWN0IG5hbWU9InZpY3RpbSI+PC9vYmplY3Q+
JworICAgICsgJzxrZXlnZW4gbmFtZT0idmljdGltIj4nCiAgICAgKyAnPC9mb3JtPic7CiB2YXIg
Y29udHJvbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgndmljdGltJyk7CiAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBjb250cm9scy5sZW5ndGg7IGkrKykKQEAgLTY1LDQgKzY4LDIwIEBA
IGRlYnVnKCdUZXh0YXJlYSBlbGVtZW50Jyk7CiBwYXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtPjx0
ZXh0YXJlYSBuYW1lPSJ0ZXh0Ij48L3RleHRhcmVhPjwvZm9ybT4nOwogc2hvdWxkQmVUcnVlKCdk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGV4dGFyZWEiKVswXS53aWxsVmFsaWRhdGUn
KTsKIAorZGVidWcoJycpOworZGVidWcoJ091dHB1dCBlbGVtZW50Jyk7CitwYXJlbnQuaW5uZXJI
VE1MID0gJzxmb3JtPjxvdXRwdXQ+PC9vdXRwdXQ+PC9mb3JtPic7CitzaG91bGRCZUZhbHNlKCdk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgib3V0cHV0IilbMF0ud2lsbFZhbGlkYXRlJyk7
CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdPYmplY3QgZWxlbWVudCcpOworcGFyZW50LmlubmVySFRN
TCA9ICc8Zm9ybT48b2JqZWN0Pjwvb2JqZWN0PjwvZm9ybT4nOworc2hvdWxkQmVGYWxzZSgnZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm9iamVjdCIpWzBdLndpbGxWYWxpZGF0ZScpOwor
CitkZWJ1ZygnJyk7CitkZWJ1ZygnS2V5Z2VuIGVsZW1lbnQnKTsKK2RlYnVnKCdGSVhNRTogTGV0
IGtleWdlbi53aWxsVmFsaWRhdGUgYmUgZmFsc2UgYmVjYXVzZSAmbHQ7a2V5Z2VuJmd0OyBpcyBi
YXJyZWQgZnJvbSBjb25zdHJhaW50IHZhbGlkYXRpb24uJyk7CitwYXJlbnQuaW5uZXJIVE1MID0g
Jzxmb3JtPjxrZXlnZW4+PC9mb3JtPic7CitzaG91bGRCZUZhbHNlKCdkb2N1bWVudC5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgia2V5Z2VuIilbMF0ud2lsbFZhbGlkYXRlJyk7CisKIHZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9z
ZXRDdXN0b21WYWxpZGl0eS1leGlzdGVuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9zZXRDdXN0b21WYWxpZGl0eS1leGlzdGVuY2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2MWU2ZTY2MzYzZGM2Njk5Y2NjNTEyZThhZTk3YTE0YmRlY2VhMjcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NldEN1c3RvbVZhbGlkaXR5LWV4aXN0ZW5j
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorRXhpc3RlbmNlIHRlc3RzIGZvciAuc2V0
Q3VzdG9tVmFsaWRpdHkgcHJvcGVydHkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K0V4aXN0ZW5jZSBvZiAuc2V0Q3VzdG9tVmFsaWRpdHkKK1BBU1MgdHlwZW9mIGNvbnRyb2xzW2ld
LnNldEN1c3RvbVZhbGlkaXR5IGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIGNvbnRyb2xzW2ld
LnNldEN1c3RvbVZhbGlkaXR5IGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIGNvbnRyb2xzW2ld
LnNldEN1c3RvbVZhbGlkaXR5IGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIGNvbnRyb2xzW2ld
LnNldEN1c3RvbVZhbGlkaXR5IGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIGNvbnRyb2xzW2ld
LnNldEN1c3RvbVZhbGlkaXR5IGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIGNvbnRyb2xzW2ld
LnNldEN1c3RvbVZhbGlkaXR5IGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIGNvbnRyb2xzW2ld
LnNldEN1c3RvbVZhbGlkaXR5IGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIGNvbnRyb2xzW2ld
LnNldEN1c3RvbVZhbGlkaXR5IGlzICJmdW5jdGlvbiIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorVGVzdAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3NldEN1c3RvbVZhbGlkaXR5LWV4aXN0ZW5jZS5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9zZXRDdXN0b21WYWxpZGl0eS1leGlzdGVuY2UuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMTI2NGJhMDJiNDZiZjQ2Y2E4NjMxNDY0ZDMyOGQwYjVmMTJkNzI1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zZXRDdXN0b21WYWxpZGl0eS1leGlzdGVuY2Uu
aHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9zZXRDdXN0b21WYWxpZGl0eS1leGlz
dGVuY2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3ZhbGlkYXRpb25NZXNzYWdlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdmFsaWRhdGlvbk1lc3NhZ2UtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDBlMTJkOGEyNzFlNWRkOGY1NTNhMjFkMWE5YzJiZDdhYmU1ZGQ2MzEuLjUzYzhhMjhiZjk1
MDdkMTE5Y2Y1MjcwNTA2MmJlMGFlZDhiOThmNTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvdmFsaWRhdGlvbk1lc3NhZ2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdmFsaWRhdGlvbk1lc3NhZ2UtZXhwZWN0ZWQudHh0CkBAIC0xMSw2ICsxMSw5
IEBAIFBBU1MgYnV0LnZhbGlkYXRpb25NZXNzYWdlIGlzICcnCiBQQVNTIGFub25pbnB1dC52YWxp
ZGF0aW9uTWVzc2FnZSBpcyAnJwogUEFTUyBoYXBweUZpZWxkc2V0LnZhbGlkYXRpb25NZXNzYWdl
IGlzICcnCiBQQVNTIGhhcHB5U2VsZWN0LnZhbGlkYXRpb25NZXNzYWdlIGlzICcnCitQQVNTIGhh
cHB5T3V0cHV0LnZhbGlkYXRpb25NZXNzYWdlIGlzICcnCitQQVNTIGhhcHB5T2JqZWN0LnZhbGlk
YXRpb25NZXNzYWdlIGlzICcnCitQQVNTIGhhcHB5S2V5Z2VuLnZhbGlkYXRpb25NZXNzYWdlIGlz
ICcnCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2lsbHZhbGlkYXRlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2lsbHZhbGlkYXRlLWV4cGVjdGVkLnR4dAppbmRl
eCAyNzg3YmU4YWFkNjMwNmY4NDg0NDk3ZWRjN2EzZWM0NGVjMGIzNTZjLi40ZjAzNWI3ZjgzMWUz
ZGViYjg4YThmODAyMmRlYTFmOTExODU4ZGVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3dpbGx2YWxpZGF0ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy93aWxsdmFsaWRhdGUtZXhwZWN0ZWQudHh0CkBAIC05LDYgKzksOSBAQCBQQVNTIHR5cGVv
ZiBjb250cm9sc1tpXS53aWxsVmFsaWRhdGUgaXMgImJvb2xlYW4iCiBQQVNTIHR5cGVvZiBjb250
cm9sc1tpXS53aWxsVmFsaWRhdGUgaXMgImJvb2xlYW4iCiBQQVNTIHR5cGVvZiBjb250cm9sc1tp
XS53aWxsVmFsaWRhdGUgaXMgImJvb2xlYW4iCiBQQVNTIHR5cGVvZiBjb250cm9sc1tpXS53aWxs
VmFsaWRhdGUgaXMgImJvb2xlYW4iCitQQVNTIHR5cGVvZiBjb250cm9sc1tpXS53aWxsVmFsaWRh
dGUgaXMgImJvb2xlYW4iCitQQVNTIHR5cGVvZiBjb250cm9sc1tpXS53aWxsVmFsaWRhdGUgaXMg
ImJvb2xlYW4iCitQQVNTIHR5cGVvZiBjb250cm9sc1tpXS53aWxsVmFsaWRhdGUgaXMgImJvb2xl
YW4iCiAKIEZvcm0gYXNzb2NpYXRpb24KIFBBU1MgaW5wdXQud2lsbFZhbGlkYXRlIGlzIHRydWUK
QEAgLTM2LDYgKzM5LDE2IEBAIFBBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImZp
ZWxkc2V0IilbMF0ud2lsbFZhbGlkYXRlIGlzIGZhbHNlCiAKIFRleHRhcmVhIGVsZW1lbnQKIFBB
U1MgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRleHRhcmVhIilbMF0ud2lsbFZhbGlk
YXRlIGlzIHRydWUKKworT3V0cHV0IGVsZW1lbnQKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudHNC
eVRhZ05hbWUoIm91dHB1dCIpWzBdLndpbGxWYWxpZGF0ZSBpcyBmYWxzZQorCitPYmplY3QgZWxl
bWVudAorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgib2JqZWN0IilbMF0ud2ls
bFZhbGlkYXRlIGlzIGZhbHNlCisKK0tleWdlbiBlbGVtZW50CitGSVhNRTogTGV0IGtleWdlbi53
aWxsVmFsaWRhdGUgYmUgZmFsc2UgYmVjYXVzZSA8a2V5Z2VuPiBpcyBiYXJyZWQgZnJvbSBjb25z
dHJhaW50IHZhbGlkYXRpb24uCitGQUlMIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJr
ZXlnZW4iKVswXS53aWxsVmFsaWRhdGUgc2hvdWxkIGJlIGZhbHNlLiBXYXMgdHJ1ZS4KIFBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhMjNiNTE0OGEwOGNh
NmVjZWNlZmIxOWE3OTQyNjY4MmM5ZjU5YzE0Li4zZmVhYzZlMGQ2NjQ3YThiZjRhZjQxMzVjOWUw
YjcyOTliMmFhNGJjIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEwLTEyLTA4ICBLZW5pY2hpIElzaGliYXNo
aSAgPGJhc2hpQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgU3VwcG9ydCB2YWxpZGF0aW9uIEFQSSBmb3IgPG9iamVjdD4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwNjYzCisKKyAgICAg
ICAgQWRkcyB2YWxpZGF0aW9uIEFQSSB0byBIVE1MT2JqZWN0RWxlbWVudCBjbGFzcy4KKworICAg
ICAgICBUZXN0OiBmYXN0L2Zvcm1zL3NldEN1c3RvbVZhbGlkaXR5LWV4aXN0ZW5jZS5odG1sCisK
KyAgICAgICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MT2JqZWN0RWxlbWVudDo6dmFsaWRhdGlvbk1lc3NhZ2UpOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxPYmplY3RFbGVtZW50OjpjaGVja1ZhbGlkaXR5KTogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpIVE1MT2JqZWN0RWxlbWVudDo6c2V0Q3VzdG9tVmFsaWRpdHkpOiBBZGRlZC4K
KyAgICAgICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbDogQWRkZWQgdmFsaWRhdGlvbiBB
UEkgcHJvcGVydGllcy4KKwogMjAxMC0xMi0wOCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2Fy
Y2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmggYi9XZWJDb3JlL2h0
bWwvSFRNTE9iamVjdEVsZW1lbnQuaAppbmRleCBlNDIwNjI4ZmI3YTQzODY0NjU0ODI0ZmY3MzFj
NzA2NWEwYzNjYjJiLi5kNTc5N2ZmNmY5YjhmMDZhN2E5YWRjYzdmN2YxNDIwOTJlZGJhMWMwIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaAorKysgYi9XZWJDb3Jl
L2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaApAQCAtNTIsNiArNTIsMTIgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgYm9vbCBpc0VudW1lcmF0YWJsZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgYXBwZW5kRm9ybURhdGEoRm9ybURhdGFMaXN0JiwgYm9vbCk7CiAKKyAg
ICAvLyBJbXBsZW1lbnRhdGlvbnMgb2YgY29uc3RyYWludCB2YWxpZGF0aW9uIEFQSS4KKyAgICAv
LyBOb3RlIHRoYXQgdGhlIG9iamVjdCBlbGVtZW50cyBhcmUgYWx3YXlzIGJhcnJlZCBmcm9tIGNv
bnN0cmFpbnQgdmFsaWRhdGlvbi4KKyAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2UoKSB7IHJl
dHVybiBTdHJpbmcoKTsgfQorICAgIGJvb2wgY2hlY2tWYWxpZGl0eSgpIHsgcmV0dXJuIHRydWU7
IH0KKyAgICB2b2lkIHNldEN1c3RvbVZhbGlkaXR5KGNvbnN0IFN0cmluZyYpIHsgfQorCiAgICAg
dmlydHVhbCB2b2lkIGF0dHJpYnV0ZUNoYW5nZWQoQXR0cmlidXRlKiwgYm9vbCBwcmVzZXJ2ZURl
Y2xzID0gZmFsc2UpOwogCiAgICAgdXNpbmcgVHJlZVNoYXJlZDxDb250YWluZXJOb2RlPjo6cmVm
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbCBiL1dlYkNv
cmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5pZGwKaW5kZXggODI4MDFhZTBjZDdiYjZhZDQ5YWI0
NTIyNWZmMjMzN2ViNTM1ZDg4NS4uYzFmYThjMDAzOWE0NDZkMjg4Y2YyNzhmNDAxODk4NWYzZGRh
NjI4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbAorKysg
Yi9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsCkBAIC00Myw2ICs0MywxMCBAQCBt
b2R1bGUgaHRtbCB7CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gbG9uZyB2c3BhY2U7CiAg
ICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIHdpZHRoOwogICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgYm9vbGVhbiB3aWxsVmFsaWRhdGU7CisgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBWYWxpZGl0eVN0YXRlIHZhbGlkaXR5OworICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlOworICAgICAgICBib29sZWFuIGNoZWNrVmFs
aWRpdHkoKTsKKyAgICAgICAgdm9pZCBzZXRDdXN0b21WYWxpZGl0eShpbiBbQ29udmVydFVuZGVm
aW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGVycm9yKTsKIAogICAgICAgICAvLyBJ
bnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0No
ZWNrRnJhbWVTZWN1cml0eV0gRG9jdW1lbnQgY29udGVudERvY3VtZW50Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76011</attachid>
            <date>2010-12-08 20:51:08 -0800</date>
            <delta_ts>2010-12-09 16:19:19 -0800</delta_ts>
            <desc>Patch V1</desc>
            <filename>bug-50663-20101209135106.patch</filename>
            <type>text/plain</type>
            <size>17457</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjZjk5YjVkMGE1MzQxMWE1YjVjOWZlN2VkZTM3YmIwMDMzZmUzNzAzLi42NmVmNTA1
OTcyMTA4NDU5OTM4OWEzNGI1ZjdkZDEwZDljZWFjMTY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAK
KzIwMTAtMTItMDggIEtlbmljaGkgSXNoaWJhc2hpICA8YmFzaGlAZ29vZ2xlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXByb3ZlIHZhbGlk
YXRpb24gQVBJIHN1cHBvcnQgb2YgPG9iamVjdD4gYW5kIDxrZXlnZW4+CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDY2MworCisgICAgICAgIEFkZHMg
dGVzdHMgZm9yIHZhbGlkYXRpb24gQVBJIGZvciA8b2JqZWN0Pi4KKyAgICAgICAgVGVzdHMgZm9y
IDxvdXRwdXQ+IGFuZCA8a2V5Z2VuPiBhcmUgYWxzbyBhZGRlZC4KKworICAgICAgICAqIGZhc3Qv
Zm9ybXMvVmFsaWRpdHlTdGF0ZS0wMDEtZXhwZWN0ZWQudHh0OiBVcGRhdGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS0wMDEuaHRtbDogVXBkYXRlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL2NoZWNrVmFsaWRpdHktMDAxLWV4cGVjdGVkLnR4dDogVXBkYXRlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL2NoZWNrVmFsaWRpdHktMDAxLmh0bWw6IFVwZGF0ZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvc2V0Q3VzdG9tVmFsaWRpdHktZXhpc3RlbmNlLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy92YWxpZGF0aW9uTWVz
c2FnZS5qczogVXBkYXRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy93aWxs
dmFsaWRhdGUuanM6IFVwZGF0ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zZXRDdXN0b21WYWxp
ZGl0eS1leGlzdGVuY2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L3NldEN1c3RvbVZhbGlkaXR5LWV4aXN0ZW5jZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL3ZhbGlkYXRpb25NZXNzYWdlLWV4cGVjdGVkLnR4dDogVXBkYXRlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL3dpbGx2YWxpZGF0ZS1leHBlY3RlZC50eHQ6IFVwZGF0ZWQuCisKIDIwMTAt
MTItMDggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZDsgWWV0IGFub3RoZXIgQ2hyb21pdW0gcmViYXNlbGluZXMgZm9yIHI3MzU0OC4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS0wMDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLTAwMS1leHBlY3RlZC50
eHQKaW5kZXggMDNhMjk3NWNkMjIyMjE1NDM5YmY5Y2Y4ZWFhMDRmZTJlMTQzZDMyYi4uYWY3ZDRl
MDljMzY2OWRiNzcxZDQzNjRmM2QyZjI5NmQyZDZmNzg5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLTAwMS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLTAwMS1leHBlY3RlZC50eHQKQEAgLTEsOCAr
MSwxMSBAQAogRWFjaCBmb3JtIGNvbnRyb2wgaW4gdGhpcyBkb2N1bWVudCBleHBvc2VzIGEgdmFs
aWRpdHkgYXR0cmlidXRlIHRoYXQgcmV0dXJucyBhIGxpdmUgaW5zdGFuY2Ugb2YgVmFsaWRpdHlT
dGF0ZS4KIAotICAgCi1TVUNDRVNTCi1TVUNDRVNTCi1TVUNDRVNTCi1TVUNDRVNTCi1TVUNDRVNT
CisgICAgICAKK1Rlc3QgZm9yIEZJRUxEU0VUOiBTVUNDRVNTCitUZXN0IGZvciBTRUxFQ1Q6IFNV
Q0NFU1MKK1Rlc3QgZm9yIElOUFVUOiBTVUNDRVNTCitUZXN0IGZvciBURVhUQVJFQTogU1VDQ0VT
UworVGVzdCBmb3IgQlVUVE9OOiBTVUNDRVNTCitUZXN0IGZvciBPVVRQVVQ6IFNVQ0NFU1MKK1Rl
c3QgZm9yIE9CSkVDVDogU1VDQ0VTUworVGVzdCBmb3IgS0VZR0VOOiBTVUNDRVNTCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtMDAxLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtMDAxLmh0bWwKaW5kZXggYmZjMDg1ZGFm
M2JhNGUwMzczYjlhOWNhNDdiYmY5MmI3ODQxMjU3Zi4uNWM2YmEwOTc5ZWY1Nzg0YzM4MTFmM2Y2
ZGI5Y2UxMWE1NDE2NWEzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLTAwMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlT
dGF0ZS0wMDEuaHRtbApAQCAtMjIsNyArMjIsNyBAQAogICAgICAgICB2ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudHNCeU5hbWUoInZpY3RpbSIpOwogCiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCB2Lmxl
bmd0aDsgaSsrKQotICAgICAgICAgICAgbG9nKCh2W2ldLnZhbGlkaXR5ICYmIGNvdW50QXR0cih2
W2ldLnZhbGlkaXR5KSA9PSA5KSA/ICJTVUNDRVNTIiA6ICJGQUlMVVJFIik7CisgICAgICAgICAg
ICBsb2coJ1Rlc3QgZm9yICcgKyB2W2ldLnRhZ05hbWUgKyAnOiAnICsgKCh2W2ldLnZhbGlkaXR5
ICYmIGNvdW50QXR0cih2W2ldLnZhbGlkaXR5KSA9PSA5KSA/ICJTVUNDRVNTIiA6ICJGQUlMVVJF
IikpOwogICAgIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpAQCAtMzQsNiArMzQsOSBAQCBhIGxpdmUg
aW5zdGFuY2Ugb2YgVmFsaWRpdHlTdGF0ZS48L3A+CiA8aW5wdXQgbmFtZT0idmljdGltIi8+CiA8
dGV4dGFyZWEgbmFtZT0idmljdGltIj48L3RleHRhcmVhPgogPGJ1dHRvbiBuYW1lPSJ2aWN0aW0i
PjwvYnV0dG9uPgorPG91dHB1dCBuYW1lPSJ2aWN0aW0iPjwvb3V0cHV0PgorPG9iamVjdCBuYW1l
PSJ2aWN0aW0iPjwvb2JqZWN0PgorPGtleWdlbiBuYW1lPSJ2aWN0aW0iPjwva2V5Z2VuPgogPC9m
aWVsZHNldD4KIDxocj4KIDxvbCBpZD0iY29uc29sZSI+PC9vbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvY2hlY2tWYWxpZGl0eS0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9jaGVja1ZhbGlkaXR5LTAwMS1leHBlY3RlZC50eHQKaW5kZXggNTU4
M2Q2YzAyNTVmZDg2ZDVjOWRiYTk5NTk0MGI1YTQ2NDFiMDZmZS4uYWNjZTA0MmM3MGU4ZGJiMTIx
ZmYxNTI2MWI3YTc3YjhkNThmOTYxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9jaGVja1ZhbGlkaXR5LTAwMS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9jaGVja1ZhbGlkaXR5LTAwMS1leHBlY3RlZC50eHQKQEAgLTMsMTIgKzMsMTUgQEAgVGhp
cyB0ZXN0IGNoZWNrcyBpZiBjaGVja1ZhbGlkaXR5KCkgcmV0dXJucyBjb3JyZWN0bHkgYSB0cnVl
IChtZWFuaW5nIG5vIGVycm9yKQogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLSBsb3Jl
bSBpcHN1bSAgCi1QQVNTIHZbaV0uY2hlY2tWYWxpZGl0eSgpIGlzIHRydWUKLVBBU1MgdltpXS5j
aGVja1ZhbGlkaXR5KCkgaXMgdHJ1ZQotUEFTUyB2W2ldLmNoZWNrVmFsaWRpdHkoKSBpcyB0cnVl
Ci1QQVNTIHZbaV0uY2hlY2tWYWxpZGl0eSgpIGlzIHRydWUKLVBBU1MgdltpXS5jaGVja1ZhbGlk
aXR5KCkgaXMgdHJ1ZQorIGxvcmVtIGlwc3VtICAgICAKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoImZpZWxkc2V0IilbMF0uY2hlY2tWYWxpZGl0eSgpIGlzIHRydWUKK1BBU1Mg
ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMF0uY2hlY2tWYWxpZGl0eSgp
IGlzIHRydWUKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJ1dHRvbiIpWzBd
LmNoZWNrVmFsaWRpdHkoKSBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCJzZWxlY3QiKVswXS5jaGVja1ZhbGlkaXR5KCkgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgidGV4dGFyZWEiKVswXS5jaGVja1ZhbGlkaXR5KCkgaXMgdHJ1
ZQorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgib3V0cHV0IilbMF0uY2hlY2tW
YWxpZGl0eSgpIGlzIHRydWUKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm9i
amVjdCIpWzBdLmNoZWNrVmFsaWRpdHkoKSBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmdldEVsZW1l
bnRzQnlUYWdOYW1lKCJrZXlnZW4iKVswXS5jaGVja1ZhbGlkaXR5KCkgaXMgdHJ1ZQogUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2NoZWNrVmFsaWRpdHktMDAxLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2NoZWNrVmFsaWRpdHktMDAxLmh0bWwKaW5kZXggOWYzNjJmYTZmNzIzMzlm
NDUxYTNhZDY3ZDRkNDJhZGJmMjRhODViYi4uYjRjZmE0MmI4MzUzZjM1ZjVlOGFkOWEzYThhODFk
NmQwNWI3YjM4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGVja1ZhbGlk
aXR5LTAwMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY2hlY2tWYWxpZGl0eS0w
MDEuaHRtbApAQCAtMTIsMTQgKzEyLDIyIEBACiA8YnV0dG9uIG5hbWU9InZpY3RpbSI+bG9yZW0g
aXBzdW08L2J1dHRvbj4KIDxzZWxlY3QgbmFtZT0idmljdGltIj48L3NlbGVjdD4KIDx0ZXh0YXJl
YSBuYW1lPSJ2aWN0aW0iPjwvdGV4dGFyZWE+Cis8b3V0cHV0IG5hbWU9InZpY3RpbSI+PC9vdXRw
dXQ+Cis8b2JqZWN0IG5hbWU9InZpY3RpbSI+PC9vYmplY3Q+Cis8a2V5Z2VuIG5hbWU9InZpY3Rp
bSI+PC9rZXlnZW4+CiA8L2Zvcm0+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxzY3JpcHQ+
CiBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyBpZiBjaGVja1ZhbGlkaXR5KCkgcmV0dXJu
cyBjb3JyZWN0bHkgYSB0cnVlIChtZWFuaW5nIG5vIGVycm9yKSByZXN1bHQuIik7CiAKLXYgPSBk
b2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgidmljdGltIik7Ci1mb3IgKGkgPSAwOyBpIDwgdi5s
ZW5ndGg7IGkrKykKLSAgICBzaG91bGRCZSgidltpXS5jaGVja1ZhbGlkaXR5KCkiLCAidHJ1ZSIp
Oworc2hvdWxkQmUoJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJmaWVsZHNldCIpWzBd
LmNoZWNrVmFsaWRpdHkoKScsICd0cnVlJyk7CitzaG91bGRCZSgnZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoImlucHV0IilbMF0uY2hlY2tWYWxpZGl0eSgpJywgJ3RydWUnKTsKK3Nob3Vs
ZEJlKCdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYnV0dG9uIilbMF0uY2hlY2tWYWxp
ZGl0eSgpJywgJ3RydWUnKTsKK3Nob3VsZEJlKCdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFt
ZSgic2VsZWN0IilbMF0uY2hlY2tWYWxpZGl0eSgpJywgJ3RydWUnKTsKK3Nob3VsZEJlKCdkb2N1
bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGV4dGFyZWEiKVswXS5jaGVja1ZhbGlkaXR5KCkn
LCAndHJ1ZScpOworc2hvdWxkQmUoJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJvdXRw
dXQiKVswXS5jaGVja1ZhbGlkaXR5KCknLCAndHJ1ZScpOworc2hvdWxkQmUoJ2RvY3VtZW50Lmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCJvYmplY3QiKVswXS5jaGVja1ZhbGlkaXR5KCknLCAndHJ1ZScp
Oworc2hvdWxkQmUoJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJrZXlnZW4iKVswXS5j
aGVja1ZhbGlkaXR5KCknLCAndHJ1ZScpOwogCiB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQt
dGVzdHMvc2V0Q3VzdG9tVmFsaWRpdHktZXhpc3RlbmNlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zY3JpcHQtdGVzdHMvc2V0Q3VzdG9tVmFsaWRpdHktZXhpc3RlbmNlLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA1OTU0M2NmM2UyMmFmN2ZkYzc2YjY4ODc3MzhkZDUxMzc4YzAxMTkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9zZXRDdXN0b21WYWxp
ZGl0eS1leGlzdGVuY2UuanMKQEAgLTAsMCArMSwyNyBAQAorZGVzY3JpcHRpb24oJ0V4aXN0ZW5j
ZSB0ZXN0cyBmb3IgLnNldEN1c3RvbVZhbGlkaXR5IHByb3BlcnR5Jyk7CisKK3ZhciBwYXJlbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocGFyZW50KTsKKworZGVidWcoJ0V4aXN0ZW5jZSBvZiAuc2V0Q3VzdG9tVmFsaWRpdHknKTsK
K3BhcmVudC5pbm5lckhUTUwgPSAnPGZvcm0+JworICAgICsgJzxpbnB1dCBuYW1lPSJ2aWN0aW0i
Lz4nCisgICAgKyAnPHRleHRhcmVhIG5hbWU9InZpY3RpbSI+PC90ZXh0YXJlYT4nCisgICAgKyAn
PGZpZWxkc2V0IG5hbWU9InZpY3RpbSI+VGVzdDwvZmllbGRzZXQ+JworICAgICsgJzxidXR0b24g
bmFtZT0idmljdGltIj4nCisgICAgKyAnPHNlbGVjdCBuYW1lPSJ2aWN0aW0iPjwvc2VsZWN0PicK
KyAgICArICc8b3V0cHV0IG5hbWU9InZpY3RpbSI+PC9vdXRwdXQ+JworICAgICsgJzxvYmplY3Qg
bmFtZT0idmljdGltIj48L29iamVjdD4nCisgICAgKyAnPGtleWdlbiBuYW1lPSJ2aWN0aW0iPicK
KyAgICArICc8L2Zvcm0+JzsKKworc2hvdWxkQmUoJ3R5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgiaW5wdXQiKVswXS5zZXRDdXN0b21WYWxpZGl0eScsICciZnVuY3Rpb24iJyk7
CitzaG91bGRCZSgndHlwZW9mIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJidXR0b24i
KVswXS5zZXRDdXN0b21WYWxpZGl0eScsICciZnVuY3Rpb24iJyk7CitzaG91bGRCZSgndHlwZW9m
IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJmaWVsZHNldCIpWzBdLnNldEN1c3RvbVZh
bGlkaXR5JywgJyJmdW5jdGlvbiInKTsKK3Nob3VsZEJlKCd0eXBlb2YgZG9jdW1lbnQuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoInNlbGVjdCIpWzBdLnNldEN1c3RvbVZhbGlkaXR5JywgJyJmdW5jdGlv
biInKTsKK3Nob3VsZEJlKCd0eXBlb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRl
eHRhcmVhIilbMF0uc2V0Q3VzdG9tVmFsaWRpdHknLCAnImZ1bmN0aW9uIicpOworc2hvdWxkQmUo
J3R5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgib3V0cHV0IilbMF0uc2V0Q3Vz
dG9tVmFsaWRpdHknLCAnImZ1bmN0aW9uIicpOworc2hvdWxkQmUoJ3R5cGVvZiBkb2N1bWVudC5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgib2JqZWN0IilbMF0uc2V0Q3VzdG9tVmFsaWRpdHknLCAnImZ1
bmN0aW9uIicpOworc2hvdWxkQmUoJ3R5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFt
ZSgia2V5Z2VuIilbMF0uc2V0Q3VzdG9tVmFsaWRpdHknLCAnImZ1bmN0aW9uIicpOworCit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvc2NyaXB0LXRlc3RzL3ZhbGlkYXRpb25NZXNzYWdlLmpzIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9zY3JpcHQtdGVzdHMvdmFsaWRhdGlvbk1lc3NhZ2UuanMKaW5kZXggZDY4MjZkZTE4
MmUzMTM3N2FjMGM0OGQ5NDY4Y2I3NmE4YTU2ZjQ3MS4uOTIxMmRjYzliZjlmNjdiZTg4Y2Y4ZjRi
NWU1ODlhNmZjZWQ4MDQyNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3Jp
cHQtdGVzdHMvdmFsaWRhdGlvbk1lc3NhZ2UuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9zY3JpcHQtdGVzdHMvdmFsaWRhdGlvbk1lc3NhZ2UuanMKQEAgLTU1LDQgKzU1LDIyIEBAIGhh
cHB5U2VsZWN0Lm5hbWUgPSAic2VsZWN0IjsKIGZvcm0uYXBwZW5kQ2hpbGQoaGFwcHlTZWxlY3Qp
Owogc2hvdWxkQmUoImhhcHB5U2VsZWN0LnZhbGlkYXRpb25NZXNzYWdlIiwgIicnIik7CiAKKy8v
IE91dHB1dCBlbGVtZW50cyBjYW4ndCBiZSB2YWxpZGF0ZWQKK3ZhciBoYXBweU91dHB1dCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoIm91dHB1dCIpOworaGFwcHlTZWxlY3QubmFtZSA9ICJvdXRw
dXQiOworZm9ybS5hcHBlbmRDaGlsZChoYXBweU91dHB1dCk7CitzaG91bGRCZSgiaGFwcHlPdXRw
dXQudmFsaWRhdGlvbk1lc3NhZ2UiLCAiJyciKTsKKworLy8gT2JqZWN0IGVsZW1lbnRzIGNhbid0
IGJlIHZhbGlkYXRlZAordmFyIGhhcHB5T2JqZWN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
b2JqZWN0Iik7CitoYXBweVNlbGVjdC5uYW1lID0gIm9iamVjdCI7Citmb3JtLmFwcGVuZENoaWxk
KGhhcHB5T2JqZWN0KTsKK3Nob3VsZEJlKCJoYXBweU9iamVjdC52YWxpZGF0aW9uTWVzc2FnZSIs
ICInJyIpOworCisvLyBLZXlnZW4gY29udHJvbHMgY2FuJ3QgYmUgdmFsaWRhdGVkCit2YXIgaGFw
cHlLZXlnZW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJrZXlnZW4iKTsKK2hhcHB5U2VsZWN0
Lm5hbWUgPSAia2V5Z2VuIjsKK2Zvcm0uYXBwZW5kQ2hpbGQoaGFwcHlLZXlnZW4pOworc2hvdWxk
QmUoImhhcHB5S2V5Z2VuLnZhbGlkYXRpb25NZXNzYWdlIiwgIicnIik7CisKIHZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9z
Y3JpcHQtdGVzdHMvd2lsbHZhbGlkYXRlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3Jp
cHQtdGVzdHMvd2lsbHZhbGlkYXRlLmpzCmluZGV4IGYzOGQ1ODdkMDYzYjFiYWM5YTc4OGZlNmEx
ZGQyYzlkYmMxMzBiYmYuLjZmMTI2NTIxZDhkZWUyYjBhMWZhMWVhMjAyNjU1NTQ5ZTc0ODQyNDIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3dpbGx2YWxp
ZGF0ZS5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy93aWxsdmFs
aWRhdGUuanMKQEAgLTEwLDYgKzEwLDkgQEAgcGFyZW50LmlubmVySFRNTCA9ICc8Zm9ybT4nCiAg
ICAgKyAnPGZpZWxkc2V0IG5hbWU9InZpY3RpbSI+VGVzdDwvZmllbGRzZXQ+JwogICAgICsgJzxi
dXR0b24gbmFtZT0idmljdGltIj4nCiAgICAgKyAnPHNlbGVjdCBuYW1lPSJ2aWN0aW0iPjwvc2Vs
ZWN0PicKKyAgICArICc8b3V0cHV0IG5hbWU9InZpY3RpbSI+PC9vdXRwdXQ+JworICAgICsgJzxv
YmplY3QgbmFtZT0idmljdGltIj48L29iamVjdD4nCisgICAgKyAnPGtleWdlbiBuYW1lPSJ2aWN0
aW0iPicKICAgICArICc8L2Zvcm0+JzsKIHZhciBjb250cm9scyA9IGRvY3VtZW50LmdldEVsZW1l
bnRzQnlOYW1lKCd2aWN0aW0nKTsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbnRyb2xzLmxl
bmd0aDsgaSsrKQpAQCAtNjUsNCArNjgsMTkgQEAgZGVidWcoJ1RleHRhcmVhIGVsZW1lbnQnKTsK
IHBhcmVudC5pbm5lckhUTUwgPSAnPGZvcm0+PHRleHRhcmVhIG5hbWU9InRleHQiPjwvdGV4dGFy
ZWE+PC9mb3JtPic7CiBzaG91bGRCZVRydWUoJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCJ0ZXh0YXJlYSIpWzBdLndpbGxWYWxpZGF0ZScpOwogCitkZWJ1ZygnJyk7CitkZWJ1ZygnT3V0
cHV0IGVsZW1lbnQnKTsKK3BhcmVudC5pbm5lckhUTUwgPSAnPGZvcm0+PG91dHB1dD48L291dHB1
dD48L2Zvcm0+JzsKK3Nob3VsZEJlRmFsc2UoJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCJvdXRwdXQiKVswXS53aWxsVmFsaWRhdGUnKTsKKworZGVidWcoJycpOworZGVidWcoJ09iamVj
dCBlbGVtZW50Jyk7CitwYXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtPjxvYmplY3Q+PC9vYmplY3Q+
PC9mb3JtPic7CitzaG91bGRCZUZhbHNlKCdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgi
b2JqZWN0IilbMF0ud2lsbFZhbGlkYXRlJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdLZXlnZW4g
ZWxlbWVudCcpOworcGFyZW50LmlubmVySFRNTCA9ICc8Zm9ybT48a2V5Z2VuPjwvZm9ybT4nOwor
c2hvdWxkQmVGYWxzZSgnZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImtleWdlbiIpWzBd
LndpbGxWYWxpZGF0ZScpOworCiB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2V0Q3VzdG9tVmFsaWRpdHktZXhpc3RlbmNl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2V0Q3VzdG9tVmFsaWRpdHkt
ZXhpc3RlbmNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YWM0Zjg0YWE5OTBlMDZiZjg2ZTFm
ZjkwMjA0NWJkYzcyYzRmNzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zZXRDdXN0b21WYWxpZGl0eS1leGlzdGVuY2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTkgQEAKK0V4aXN0ZW5jZSB0ZXN0cyBmb3IgLnNldEN1c3RvbVZhbGlkaXR5IHByb3BlcnR5CisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitFeGlzdGVuY2Ugb2YgLnNldEN1c3RvbVZh
bGlkaXR5CitQQVNTIHR5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQi
KVswXS5zZXRDdXN0b21WYWxpZGl0eSBpcyAiZnVuY3Rpb24iCitQQVNTIHR5cGVvZiBkb2N1bWVu
dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYnV0dG9uIilbMF0uc2V0Q3VzdG9tVmFsaWRpdHkgaXMg
ImZ1bmN0aW9uIgorUEFTUyB0eXBlb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImZp
ZWxkc2V0IilbMF0uc2V0Q3VzdG9tVmFsaWRpdHkgaXMgImZ1bmN0aW9uIgorUEFTUyB0eXBlb2Yg
ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNlbGVjdCIpWzBdLnNldEN1c3RvbVZhbGlk
aXR5IGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCJ0ZXh0YXJlYSIpWzBdLnNldEN1c3RvbVZhbGlkaXR5IGlzICJmdW5jdGlvbiIKK1BBU1Mg
dHlwZW9mIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJvdXRwdXQiKVswXS5zZXRDdXN0
b21WYWxpZGl0eSBpcyAiZnVuY3Rpb24iCitQQVNTIHR5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgib2JqZWN0IilbMF0uc2V0Q3VzdG9tVmFsaWRpdHkgaXMgImZ1bmN0aW9uIgor
UEFTUyB0eXBlb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImtleWdlbiIpWzBdLnNl
dEN1c3RvbVZhbGlkaXR5IGlzICJmdW5jdGlvbiIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorVGVzdAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3NldEN1c3RvbVZhbGlkaXR5LWV4aXN0ZW5jZS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9zZXRDdXN0b21WYWxpZGl0eS1leGlzdGVuY2UuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MTI2NGJhMDJiNDZiZjQ2Y2E4NjMxNDY0ZDMyOGQwYjVmMTJkNzI1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zZXRDdXN0b21WYWxpZGl0eS1leGlzdGVuY2UuaHRt
bApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9zZXRDdXN0b21WYWxpZGl0eS1leGlzdGVu
Y2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3ZhbGlkYXRpb25NZXNzYWdlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvdmFsaWRhdGlvbk1lc3NhZ2UtZXhwZWN0ZWQudHh0CmluZGV4
IDBlMTJkOGEyNzFlNWRkOGY1NTNhMjFkMWE5YzJiZDdhYmU1ZGQ2MzEuLjUzYzhhMjhiZjk1MDdk
MTE5Y2Y1MjcwNTA2MmJlMGFlZDhiOThmNTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvdmFsaWRhdGlvbk1lc3NhZ2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvdmFsaWRhdGlvbk1lc3NhZ2UtZXhwZWN0ZWQudHh0CkBAIC0xMSw2ICsxMSw5IEBA
IFBBU1MgYnV0LnZhbGlkYXRpb25NZXNzYWdlIGlzICcnCiBQQVNTIGFub25pbnB1dC52YWxpZGF0
aW9uTWVzc2FnZSBpcyAnJwogUEFTUyBoYXBweUZpZWxkc2V0LnZhbGlkYXRpb25NZXNzYWdlIGlz
ICcnCiBQQVNTIGhhcHB5U2VsZWN0LnZhbGlkYXRpb25NZXNzYWdlIGlzICcnCitQQVNTIGhhcHB5
T3V0cHV0LnZhbGlkYXRpb25NZXNzYWdlIGlzICcnCitQQVNTIGhhcHB5T2JqZWN0LnZhbGlkYXRp
b25NZXNzYWdlIGlzICcnCitQQVNTIGhhcHB5S2V5Z2VuLnZhbGlkYXRpb25NZXNzYWdlIGlzICcn
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2lsbHZhbGlkYXRlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2lsbHZhbGlkYXRlLWV4cGVjdGVkLnR4dAppbmRleCAy
Nzg3YmU4YWFkNjMwNmY4NDg0NDk3ZWRjN2EzZWM0NGVjMGIzNTZjLi43YTFjMzkyYmFhNzU4ZDFh
ZTA1ODllYzQ0YWY4ZWI3ZmE5YTE1NDI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3dpbGx2YWxpZGF0ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy93aWxsdmFsaWRhdGUtZXhwZWN0ZWQudHh0CkBAIC05LDYgKzksOSBAQCBQQVNTIHR5cGVvZiBj
b250cm9sc1tpXS53aWxsVmFsaWRhdGUgaXMgImJvb2xlYW4iCiBQQVNTIHR5cGVvZiBjb250cm9s
c1tpXS53aWxsVmFsaWRhdGUgaXMgImJvb2xlYW4iCiBQQVNTIHR5cGVvZiBjb250cm9sc1tpXS53
aWxsVmFsaWRhdGUgaXMgImJvb2xlYW4iCiBQQVNTIHR5cGVvZiBjb250cm9sc1tpXS53aWxsVmFs
aWRhdGUgaXMgImJvb2xlYW4iCitQQVNTIHR5cGVvZiBjb250cm9sc1tpXS53aWxsVmFsaWRhdGUg
aXMgImJvb2xlYW4iCitQQVNTIHR5cGVvZiBjb250cm9sc1tpXS53aWxsVmFsaWRhdGUgaXMgImJv
b2xlYW4iCitQQVNTIHR5cGVvZiBjb250cm9sc1tpXS53aWxsVmFsaWRhdGUgaXMgImJvb2xlYW4i
CiAKIEZvcm0gYXNzb2NpYXRpb24KIFBBU1MgaW5wdXQud2lsbFZhbGlkYXRlIGlzIHRydWUKQEAg
LTM2LDYgKzM5LDE1IEBAIFBBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImZpZWxk
c2V0IilbMF0ud2lsbFZhbGlkYXRlIGlzIGZhbHNlCiAKIFRleHRhcmVhIGVsZW1lbnQKIFBBU1Mg
ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRleHRhcmVhIilbMF0ud2lsbFZhbGlkYXRl
IGlzIHRydWUKKworT3V0cHV0IGVsZW1lbnQKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRh
Z05hbWUoIm91dHB1dCIpWzBdLndpbGxWYWxpZGF0ZSBpcyBmYWxzZQorCitPYmplY3QgZWxlbWVu
dAorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgib2JqZWN0IilbMF0ud2lsbFZh
bGlkYXRlIGlzIGZhbHNlCisKK0tleWdlbiBlbGVtZW50CitQQVNTIGRvY3VtZW50LmdldEVsZW1l
bnRzQnlUYWdOYW1lKCJrZXlnZW4iKVswXS53aWxsVmFsaWRhdGUgaXMgZmFsc2UKIFBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2M2E2ZjE3YjYwODNhNjBl
ZDlmZDlmMTE4MTlmZmI0N2U0NGM1NWZiLi4xMTlkZmNiNTRjMTI0MWExZTZhNDlkNmQ0Y2RlOWU5
ZjgzYTFiOTljIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEwLTEyLTA4ICBLZW5pY2hpIElzaGliYXNoaSAg
PGJhc2hpQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW1wcm92ZSB2YWxpZGF0aW9uIEFQSSBzdXBwb3J0IG9mIDxvYmplY3Q+IGFu
ZCA8a2V5Z2VuPgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTA2NjMKKworICAgICAgICBBZGRzIHZhbGlkYXRpb24gQVBJIHRvIEhUTUxPYmplY3RFbGVt
ZW50IGNsYXNzLgorICAgICAgICBNYWtlcyBIVE1MS2V5Z2VuRWxlbWVudDo6d2lsbFZhbGlkYXRl
KCkgcmV0dXJuIGZhbHNlLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvc2V0Q3VzdG9tVmFs
aWRpdHktZXhpc3RlbmNlLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTEtleWdlbkVsZW1lbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxLZXlnZW5FbGVtZW50Ojp3aWxsVmFsaWRhdGUpOiBB
ZGRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MT2JqZWN0RWxlbWVudDo6dmFsaWRhdGlvbk1lc3NhZ2UpOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxPYmplY3RFbGVtZW50OjpjaGVja1ZhbGlkaXR5KTogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpIVE1MT2JqZWN0RWxlbWVudDo6c2V0Q3VzdG9tVmFsaWRpdHkpOiBB
ZGRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbDogQWRkZWQgdmFsaWRh
dGlvbiBBUEkgcHJvcGVydGllcy4KKwogMjAxMC0xMi0wOCAgRXJpayBBcnZpZHNzb24gIDxhcnZA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmggYi9XZWJDb3JlL2h0bWwvSFRN
TEtleWdlbkVsZW1lbnQuaAppbmRleCBmNzIyZTViMDE0YjZlNTY1MDM4NTY0NTkxYzg4MDI4MTcx
NTEyZmEzLi44MGY5NGI1NWY2YjBjNDUyNjk4NjgzZWU0Y2FkYjlkZTY3MWU1N2FlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwv
SFRNTEtleWdlbkVsZW1lbnQuaApAQCAtMzksNiArMzksNyBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKICAgICB2aXJ0dWFsIGJv
b2wgYXBwZW5kRm9ybURhdGEoRm9ybURhdGFMaXN0JiwgYm9vbCk7CiAKKyAgICB2aXJ0dWFsIGJv
b2wgd2lsbFZhbGlkYXRlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJv
b2wgaXNPcHRpb25hbEZvcm1Db250cm9sKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAg
IEF0b21pY1N0cmluZyBtX2NoYWxsZW5nZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1M
T2JqZWN0RWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmgKaW5kZXgg
ZTQyMDYyOGZiN2E0Mzg2NDY1NDgyNGZmNzMxYzcwNjVhMGMzY2IyYi4uZDU3OTdmZjZmOWI4ZjA2
YTdhOWFkY2M3ZjdmMTQyMDkyZWRiYTFjMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxP
YmplY3RFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmgKQEAg
LTUyLDYgKzUyLDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNFbnVtZXJhdGFibGUo
KSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIGFwcGVuZEZvcm1EYXRh
KEZvcm1EYXRhTGlzdCYsIGJvb2wpOwogCisgICAgLy8gSW1wbGVtZW50YXRpb25zIG9mIGNvbnN0
cmFpbnQgdmFsaWRhdGlvbiBBUEkuCisgICAgLy8gTm90ZSB0aGF0IHRoZSBvYmplY3QgZWxlbWVu
dHMgYXJlIGFsd2F5cyBiYXJyZWQgZnJvbSBjb25zdHJhaW50IHZhbGlkYXRpb24uCisgICAgU3Ry
aW5nIHZhbGlkYXRpb25NZXNzYWdlKCkgeyByZXR1cm4gU3RyaW5nKCk7IH0KKyAgICBib29sIGNo
ZWNrVmFsaWRpdHkoKSB7IHJldHVybiB0cnVlOyB9CisgICAgdm9pZCBzZXRDdXN0b21WYWxpZGl0
eShjb25zdCBTdHJpbmcmKSB7IH0KKwogICAgIHZpcnR1YWwgdm9pZCBhdHRyaWJ1dGVDaGFuZ2Vk
KEF0dHJpYnV0ZSosIGJvb2wgcHJlc2VydmVEZWNscyA9IGZhbHNlKTsKIAogICAgIHVzaW5nIFRy
ZWVTaGFyZWQ8Q29udGFpbmVyTm9kZT46OnJlZjsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9I
VE1MT2JqZWN0RWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRs
CmluZGV4IDgyODAxYWUwY2Q3YmI2YWQ0OWFiNDUyMjVmZjIzMzdlYjUzNWQ4ODUuLmMxZmE4YzAw
MzlhNDQ2ZDI4OGNmMjc4ZjQwMTg5ODVmM2RkYTYyOGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRt
bC9IVE1MT2JqZWN0RWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVt
ZW50LmlkbApAQCAtNDMsNiArNDMsMTAgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBhdHRyaWJ1
dGUgW1JlZmxlY3RdIGxvbmcgdnNwYWNlOwogICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERP
TVN0cmluZyB3aWR0aDsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gd2lsbFZh
bGlkYXRlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgVmFsaWRpdHlTdGF0ZSB2YWxpZGl0
eTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2Fn
ZTsKKyAgICAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5KCk7CisgICAgICAgIHZvaWQgc2V0Q3Vz
dG9tVmFsaWRpdHkoaW4gW0NvbnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmddIERPTVN0
cmluZyBlcnJvcik7CiAKICAgICAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKICAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDaGVja0ZyYW1lU2VjdXJpdHldIERvY3VtZW50IGNv
bnRlbnREb2N1bWVudDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76133</attachid>
            <date>2010-12-09 16:19:25 -0800</date>
            <delta_ts>2010-12-09 21:59:49 -0800</delta_ts>
            <desc>Patch V2</desc>
            <filename>bug-50663-20101210091923.patch</filename>
            <type>text/plain</type>
            <size>18009</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NzQ5NjMyMzQ3OTc0ZTcxNmQ3NjQ1OTY5ZjQxMDNkNjAzNmY2YWIyLi5kM2VhMjdh
ZTEwZTY2ZWFiY2E4ZGE4ZGVkN2MyYWMxMDA0NGM3MjdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAK
KzIwMTAtMTItMDkgIEtlbmljaGkgSXNoaWJhc2hpICA8YmFzaGlAZ29vZ2xlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXByb3ZlIHZhbGlk
YXRpb24gQVBJIHN1cHBvcnQgb2YgPG9iamVjdD4gYW5kIDxrZXlnZW4+CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDY2MworCisgICAgICAgIEFkZHMg
dGVzdHMgZm9yIHZhbGlkYXRpb24gQVBJIGZvciA8b2JqZWN0Pi4KKyAgICAgICAgVGVzdHMgZm9y
IDxvdXRwdXQ+IGFuZCA8a2V5Z2VuPiBhcmUgYWxzbyBhZGRlZC4KKworICAgICAgICAqIGZhc3Qv
ZG9tL3BsdWdpbi1hdHRyaWJ1dGVzLWVudW1lcmF0aW9uLWV4cGVjdGVkLnR4dDogVXBkYXRlZC4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtMDAxLWV4cGVjdGVkLnR4dDogVXBk
YXRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtMDAxLmh0bWw6IFVwZGF0
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9jaGVja1ZhbGlkaXR5LTAwMS1leHBlY3RlZC50eHQ6
IFVwZGF0ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9jaGVja1ZhbGlkaXR5LTAwMS5odG1sOiBV
cGRhdGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3NldEN1c3RvbVZhbGlk
aXR5LWV4aXN0ZW5jZS5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVz
dHMvdmFsaWRhdGlvbk1lc3NhZ2UuanM6IFVwZGF0ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9z
Y3JpcHQtdGVzdHMvd2lsbHZhbGlkYXRlLmpzOiBVcGRhdGVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvc2V0Q3VzdG9tVmFsaWRpdHktZXhpc3RlbmNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9zZXRDdXN0b21WYWxpZGl0eS1leGlzdGVuY2UuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy92YWxpZGF0aW9uTWVzc2FnZS1leHBlY3RlZC50eHQ6IFVw
ZGF0ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy93aWxsdmFsaWRhdGUtZXhwZWN0ZWQudHh0OiBV
cGRhdGVkLgorCiAyMDEwLTEyLTA5ICBQZXRlciBLYXN0aW5nICA8cGthc3RpbmdAZ29vZ2xlLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkIENocm9taXVtIHRlc3QgZXhwZWN0YXRpb25zIHVwZGF0
ZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3BsdWdpbi1hdHRyaWJ1dGVzLWVu
dW1lcmF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3BsdWdpbi1hdHRy
aWJ1dGVzLWVudW1lcmF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA4ZTBiMmE4YjQ1YWMxYTczNDY0
ZWMwYWIyYTNkMDU4NmY5YThlYTM4Li42YTZhZGU5NGU3Y2I3ZjU5ZjA2NDIwNDFkOWZiYWNhYjE4
ZGFhOTI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wbHVnaW4tYXR0cmlidXRl
cy1lbnVtZXJhdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcGx1
Z2luLWF0dHJpYnV0ZXMtZW51bWVyYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0xOCw2ICsxOCw4IEBA
IGhzcGFjZQogc3RhbmRieQogdHlwZQogdXNlTWFwCit2YWxpZGF0aW9uTWVzc2FnZQordmFsaWRp
dHkKIHZzcGFjZQogd2lsbFZhbGlkYXRlCiAtLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtMDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS0wMDEtZXhwZWN0ZWQudHh0CmluZGV4IDAzYTI5
NzVjZDIyMjIxNTQzOWJmOWNmOGVhYTA0ZmUyZTE0M2QzMmIuLmFmN2Q0ZTA5YzM2NjlkYjc3MWQ0
MzY0ZjNkMmYyOTZkMmQ2Zjc4OTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
VmFsaWRpdHlTdGF0ZS0wMDEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvVmFsaWRpdHlTdGF0ZS0wMDEtZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsMTEgQEAKIEVhY2gg
Zm9ybSBjb250cm9sIGluIHRoaXMgZG9jdW1lbnQgZXhwb3NlcyBhIHZhbGlkaXR5IGF0dHJpYnV0
ZSB0aGF0IHJldHVybnMgYSBsaXZlIGluc3RhbmNlIG9mIFZhbGlkaXR5U3RhdGUuCiAKLSAgIAot
U1VDQ0VTUwotU1VDQ0VTUwotU1VDQ0VTUwotU1VDQ0VTUwotU1VDQ0VTUworICAgICAgCitUZXN0
IGZvciBGSUVMRFNFVDogU1VDQ0VTUworVGVzdCBmb3IgU0VMRUNUOiBTVUNDRVNTCitUZXN0IGZv
ciBJTlBVVDogU1VDQ0VTUworVGVzdCBmb3IgVEVYVEFSRUE6IFNVQ0NFU1MKK1Rlc3QgZm9yIEJV
VFRPTjogU1VDQ0VTUworVGVzdCBmb3IgT1VUUFVUOiBTVUNDRVNTCitUZXN0IGZvciBPQkpFQ1Q6
IFNVQ0NFU1MKK1Rlc3QgZm9yIEtFWUdFTjogU1VDQ0VTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLTAwMS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9WYWxpZGl0eVN0YXRlLTAwMS5odG1sCmluZGV4IGJmYzA4NWRhZjNiYTRlMDM3M2I5YTlj
YTQ3YmJmOTJiNzg0MTI1N2YuLjVjNmJhMDk3OWVmNTc4NGMzODExZjNmNmRiOWNlMTFhNTQxNjVh
M2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS0wMDEu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtMDAxLmh0bWwK
QEAgLTIyLDcgKzIyLDcgQEAKICAgICAgICAgdiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1l
KCJ2aWN0aW0iKTsKIAogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgdi5sZW5ndGg7IGkrKykKLSAg
ICAgICAgICAgIGxvZygodltpXS52YWxpZGl0eSAmJiBjb3VudEF0dHIodltpXS52YWxpZGl0eSkg
PT0gOSkgPyAiU1VDQ0VTUyIgOiAiRkFJTFVSRSIpOworICAgICAgICAgICAgbG9nKCdUZXN0IGZv
ciAnICsgdltpXS50YWdOYW1lICsgJzogJyArICgodltpXS52YWxpZGl0eSAmJiBjb3VudEF0dHIo
dltpXS52YWxpZGl0eSkgPT0gOSkgPyAiU1VDQ0VTUyIgOiAiRkFJTFVSRSIpKTsKICAgICB9CiA8
L3NjcmlwdD4KIDwvaGVhZD4KQEAgLTM0LDYgKzM0LDkgQEAgYSBsaXZlIGluc3RhbmNlIG9mIFZh
bGlkaXR5U3RhdGUuPC9wPgogPGlucHV0IG5hbWU9InZpY3RpbSIvPgogPHRleHRhcmVhIG5hbWU9
InZpY3RpbSI+PC90ZXh0YXJlYT4KIDxidXR0b24gbmFtZT0idmljdGltIj48L2J1dHRvbj4KKzxv
dXRwdXQgbmFtZT0idmljdGltIj48L291dHB1dD4KKzxvYmplY3QgbmFtZT0idmljdGltIj48L29i
amVjdD4KKzxrZXlnZW4gbmFtZT0idmljdGltIj48L2tleWdlbj4KIDwvZmllbGRzZXQ+CiA8aHI+
CiA8b2wgaWQ9ImNvbnNvbGUiPjwvb2w+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2NoZWNrVmFsaWRpdHktMDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvY2hlY2tWYWxpZGl0eS0wMDEtZXhwZWN0ZWQudHh0CmluZGV4IDU1ODNkNmMwMjU1ZmQ4NmQ1
YzlkYmE5OTU5NDBiNWE0NjQxYjA2ZmUuLmFjY2UwNDJjNzBlOGRiYjEyMWZmMTUyNjFiN2E3N2I4
ZDU4Zjk2MTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY2hlY2tWYWxpZGl0
eS0wMDEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY2hlY2tWYWxp
ZGl0eS0wMDEtZXhwZWN0ZWQudHh0CkBAIC0zLDEyICszLDE1IEBAIFRoaXMgdGVzdCBjaGVja3Mg
aWYgY2hlY2tWYWxpZGl0eSgpIHJldHVybnMgY29ycmVjdGx5IGEgdHJ1ZSAobWVhbmluZyBubyBl
cnJvcikKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi0gbG9yZW0gaXBzdW0gIAotUEFT
UyB2W2ldLmNoZWNrVmFsaWRpdHkoKSBpcyB0cnVlCi1QQVNTIHZbaV0uY2hlY2tWYWxpZGl0eSgp
IGlzIHRydWUKLVBBU1MgdltpXS5jaGVja1ZhbGlkaXR5KCkgaXMgdHJ1ZQotUEFTUyB2W2ldLmNo
ZWNrVmFsaWRpdHkoKSBpcyB0cnVlCi1QQVNTIHZbaV0uY2hlY2tWYWxpZGl0eSgpIGlzIHRydWUK
KyBsb3JlbSBpcHN1bSAgICAgCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJm
aWVsZHNldCIpWzBdLmNoZWNrVmFsaWRpdHkoKSBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdLmNoZWNrVmFsaWRpdHkoKSBpcyB0cnVlCitQQVNT
IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJidXR0b24iKVswXS5jaGVja1ZhbGlkaXR5
KCkgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2VsZWN0Iilb
MF0uY2hlY2tWYWxpZGl0eSgpIGlzIHRydWUKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRh
Z05hbWUoInRleHRhcmVhIilbMF0uY2hlY2tWYWxpZGl0eSgpIGlzIHRydWUKK1BBU1MgZG9jdW1l
bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm91dHB1dCIpWzBdLmNoZWNrVmFsaWRpdHkoKSBpcyB0
cnVlCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJvYmplY3QiKVswXS5jaGVj
a1ZhbGlkaXR5KCkgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgi
a2V5Z2VuIilbMF0uY2hlY2tWYWxpZGl0eSgpIGlzIHRydWUKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9jaGVja1ZhbGlkaXR5LTAwMS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9j
aGVja1ZhbGlkaXR5LTAwMS5odG1sCmluZGV4IDlmMzYyZmE2ZjcyMzM5ZjQ1MWEzYWQ2N2Q0ZDQy
YWRiZjI0YTg1YmIuLmI0Y2ZhNDJiODM1M2YzNWY1ZThhZDlhM2E4YTgxZDZkMDViN2IzODIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY2hlY2tWYWxpZGl0eS0wMDEuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2NoZWNrVmFsaWRpdHktMDAxLmh0bWwKQEAgLTEy
LDE0ICsxMiwyMiBAQAogPGJ1dHRvbiBuYW1lPSJ2aWN0aW0iPmxvcmVtIGlwc3VtPC9idXR0b24+
CiA8c2VsZWN0IG5hbWU9InZpY3RpbSI+PC9zZWxlY3Q+CiA8dGV4dGFyZWEgbmFtZT0idmljdGlt
Ij48L3RleHRhcmVhPgorPG91dHB1dCBuYW1lPSJ2aWN0aW0iPjwvb3V0cHV0PgorPG9iamVjdCBu
YW1lPSJ2aWN0aW0iPjwvb2JqZWN0PgorPGtleWdlbiBuYW1lPSJ2aWN0aW0iPjwva2V5Z2VuPgog
PC9mb3JtPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CiA8c2NyaXB0PgogZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCBjaGVja3MgaWYgY2hlY2tWYWxpZGl0eSgpIHJldHVybnMgY29ycmVjdGx5IGEg
dHJ1ZSAobWVhbmluZyBubyBlcnJvcikgcmVzdWx0LiIpOwogCi12ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudHNCeU5hbWUoInZpY3RpbSIpOwotZm9yIChpID0gMDsgaSA8IHYubGVuZ3RoOyBpKyspCi0g
ICAgc2hvdWxkQmUoInZbaV0uY2hlY2tWYWxpZGl0eSgpIiwgInRydWUiKTsKK3Nob3VsZEJlKCdk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZmllbGRzZXQiKVswXS5jaGVja1ZhbGlkaXR5
KCknLCAndHJ1ZScpOworc2hvdWxkQmUoJ2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJp
bnB1dCIpWzBdLmNoZWNrVmFsaWRpdHkoKScsICd0cnVlJyk7CitzaG91bGRCZSgnZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoImJ1dHRvbiIpWzBdLmNoZWNrVmFsaWRpdHkoKScsICd0cnVl
Jyk7CitzaG91bGRCZSgnZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNlbGVjdCIpWzBd
LmNoZWNrVmFsaWRpdHkoKScsICd0cnVlJyk7CitzaG91bGRCZSgnZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoInRleHRhcmVhIilbMF0uY2hlY2tWYWxpZGl0eSgpJywgJ3RydWUnKTsKK3No
b3VsZEJlKCdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgib3V0cHV0IilbMF0uY2hlY2tW
YWxpZGl0eSgpJywgJ3RydWUnKTsKK3Nob3VsZEJlKCdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgib2JqZWN0IilbMF0uY2hlY2tWYWxpZGl0eSgpJywgJ3RydWUnKTsKK3Nob3VsZEJlKCdk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgia2V5Z2VuIilbMF0uY2hlY2tWYWxpZGl0eSgp
JywgJ3RydWUnKTsKIAogdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3NldEN1c3Rv
bVZhbGlkaXR5LWV4aXN0ZW5jZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRl
c3RzL3NldEN1c3RvbVZhbGlkaXR5LWV4aXN0ZW5jZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNTk1NDNjZjNl
MjJhZjdmZGM3NmI2ODg3NzM4ZGQ1MTM3OGMwMTE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvc2V0Q3VzdG9tVmFsaWRpdHktZXhpc3RlbmNl
LmpzCkBAIC0wLDAgKzEsMjcgQEAKK2Rlc2NyaXB0aW9uKCdFeGlzdGVuY2UgdGVzdHMgZm9yIC5z
ZXRDdXN0b21WYWxpZGl0eSBwcm9wZXJ0eScpOworCit2YXIgcGFyZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7CisK
K2RlYnVnKCdFeGlzdGVuY2Ugb2YgLnNldEN1c3RvbVZhbGlkaXR5Jyk7CitwYXJlbnQuaW5uZXJI
VE1MID0gJzxmb3JtPicKKyAgICArICc8aW5wdXQgbmFtZT0idmljdGltIi8+JworICAgICsgJzx0
ZXh0YXJlYSBuYW1lPSJ2aWN0aW0iPjwvdGV4dGFyZWE+JworICAgICsgJzxmaWVsZHNldCBuYW1l
PSJ2aWN0aW0iPlRlc3Q8L2ZpZWxkc2V0PicKKyAgICArICc8YnV0dG9uIG5hbWU9InZpY3RpbSI+
JworICAgICsgJzxzZWxlY3QgbmFtZT0idmljdGltIj48L3NlbGVjdD4nCisgICAgKyAnPG91dHB1
dCBuYW1lPSJ2aWN0aW0iPjwvb3V0cHV0PicKKyAgICArICc8b2JqZWN0IG5hbWU9InZpY3RpbSI+
PC9vYmplY3Q+JworICAgICsgJzxrZXlnZW4gbmFtZT0idmljdGltIj4nCisgICAgKyAnPC9mb3Jt
Pic7CisKK3Nob3VsZEJlKCd0eXBlb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlu
cHV0IilbMF0uc2V0Q3VzdG9tVmFsaWRpdHknLCAnImZ1bmN0aW9uIicpOworc2hvdWxkQmUoJ3R5
cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYnV0dG9uIilbMF0uc2V0Q3VzdG9t
VmFsaWRpdHknLCAnImZ1bmN0aW9uIicpOworc2hvdWxkQmUoJ3R5cGVvZiBkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgiZmllbGRzZXQiKVswXS5zZXRDdXN0b21WYWxpZGl0eScsICciZnVu
Y3Rpb24iJyk7CitzaG91bGRCZSgndHlwZW9mIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCJzZWxlY3QiKVswXS5zZXRDdXN0b21WYWxpZGl0eScsICciZnVuY3Rpb24iJyk7CitzaG91bGRC
ZSgndHlwZW9mIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZXh0YXJlYSIpWzBdLnNl
dEN1c3RvbVZhbGlkaXR5JywgJyJmdW5jdGlvbiInKTsKK3Nob3VsZEJlKCd0eXBlb2YgZG9jdW1l
bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm91dHB1dCIpWzBdLnNldEN1c3RvbVZhbGlkaXR5Jywg
JyJmdW5jdGlvbiInKTsKK3Nob3VsZEJlKCd0eXBlb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRh
Z05hbWUoIm9iamVjdCIpWzBdLnNldEN1c3RvbVZhbGlkaXR5JywgJyJmdW5jdGlvbiInKTsKK3No
b3VsZEJlKCd0eXBlb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImtleWdlbiIpWzBd
LnNldEN1c3RvbVZhbGlkaXR5JywgJyJmdW5jdGlvbiInKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10
ZXN0cy92YWxpZGF0aW9uTWVzc2FnZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0
LXRlc3RzL3ZhbGlkYXRpb25NZXNzYWdlLmpzCmluZGV4IDVjNTY1NDI3MDE1MTQyZWQyZDA2ZjQ0
NDYyYzdhY2M4NTVkN2E1ZjIuLjMxMjQ2Yzc0ZmVmOGJmNjEzNDZlMTc5MzU2ZmMwZjVmMDc1ZTQy
ZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3ZhbGlk
YXRpb25NZXNzYWdlLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3Rz
L3ZhbGlkYXRpb25NZXNzYWdlLmpzCkBAIC02Miw0ICs2MiwyMiBAQCBoYXBweVNlbGVjdC5uYW1l
ID0gInNlbGVjdCI7CiBmb3JtLmFwcGVuZENoaWxkKGhhcHB5U2VsZWN0KTsKIHNob3VsZEJlKCJo
YXBweVNlbGVjdC52YWxpZGF0aW9uTWVzc2FnZSIsICInJyIpOwogCisvLyBPdXRwdXQgZWxlbWVu
dHMgY2FuJ3QgYmUgdmFsaWRhdGVkCit2YXIgaGFwcHlPdXRwdXQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJvdXRwdXQiKTsKK2hhcHB5U2VsZWN0Lm5hbWUgPSAib3V0cHV0IjsKK2Zvcm0uYXBw
ZW5kQ2hpbGQoaGFwcHlPdXRwdXQpOworc2hvdWxkQmUoImhhcHB5T3V0cHV0LnZhbGlkYXRpb25N
ZXNzYWdlIiwgIicnIik7CisKKy8vIE9iamVjdCBlbGVtZW50cyBjYW4ndCBiZSB2YWxpZGF0ZWQK
K3ZhciBoYXBweU9iamVjdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9iamVjdCIpOworaGFw
cHlTZWxlY3QubmFtZSA9ICJvYmplY3QiOworZm9ybS5hcHBlbmRDaGlsZChoYXBweU9iamVjdCk7
CitzaG91bGRCZSgiaGFwcHlPYmplY3QudmFsaWRhdGlvbk1lc3NhZ2UiLCAiJyciKTsKKworLy8g
S2V5Z2VuIGNvbnRyb2xzIGNhbid0IGJlIHZhbGlkYXRlZAordmFyIGhhcHB5S2V5Z2VuID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgia2V5Z2VuIik7CitoYXBweVNlbGVjdC5uYW1lID0gImtleWdl
biI7Citmb3JtLmFwcGVuZENoaWxkKGhhcHB5S2V5Z2VuKTsKK3Nob3VsZEJlKCJoYXBweUtleWdl
bi52YWxpZGF0aW9uTWVzc2FnZSIsICInJyIpOworCiB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3dp
bGx2YWxpZGF0ZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3dpbGx2
YWxpZGF0ZS5qcwppbmRleCBmMzhkNTg3ZDA2M2IxYmFjOWE3ODhmZTZhMWRkMmM5ZGJjMTMwYmJm
Li42ZjEyNjUyMWQ4ZGVlMmIwYTFmYTFlYTIwMjY1NTU0OWU3NDg0MjQyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy93aWxsdmFsaWRhdGUuanMKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvd2lsbHZhbGlkYXRlLmpzCkBAIC0x
MCw2ICsxMCw5IEBAIHBhcmVudC5pbm5lckhUTUwgPSAnPGZvcm0+JwogICAgICsgJzxmaWVsZHNl
dCBuYW1lPSJ2aWN0aW0iPlRlc3Q8L2ZpZWxkc2V0PicKICAgICArICc8YnV0dG9uIG5hbWU9InZp
Y3RpbSI+JwogICAgICsgJzxzZWxlY3QgbmFtZT0idmljdGltIj48L3NlbGVjdD4nCisgICAgKyAn
PG91dHB1dCBuYW1lPSJ2aWN0aW0iPjwvb3V0cHV0PicKKyAgICArICc8b2JqZWN0IG5hbWU9InZp
Y3RpbSI+PC9vYmplY3Q+JworICAgICsgJzxrZXlnZW4gbmFtZT0idmljdGltIj4nCiAgICAgKyAn
PC9mb3JtPic7CiB2YXIgY29udHJvbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgndmlj
dGltJyk7CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb250cm9scy5sZW5ndGg7IGkrKykKQEAg
LTY1LDQgKzY4LDE5IEBAIGRlYnVnKCdUZXh0YXJlYSBlbGVtZW50Jyk7CiBwYXJlbnQuaW5uZXJI
VE1MID0gJzxmb3JtPjx0ZXh0YXJlYSBuYW1lPSJ0ZXh0Ij48L3RleHRhcmVhPjwvZm9ybT4nOwog
c2hvdWxkQmVUcnVlKCdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGV4dGFyZWEiKVsw
XS53aWxsVmFsaWRhdGUnKTsKIAorZGVidWcoJycpOworZGVidWcoJ091dHB1dCBlbGVtZW50Jyk7
CitwYXJlbnQuaW5uZXJIVE1MID0gJzxmb3JtPjxvdXRwdXQ+PC9vdXRwdXQ+PC9mb3JtPic7Citz
aG91bGRCZUZhbHNlKCdkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgib3V0cHV0IilbMF0u
d2lsbFZhbGlkYXRlJyk7CisKK2RlYnVnKCcnKTsKK2RlYnVnKCdPYmplY3QgZWxlbWVudCcpOwor
cGFyZW50LmlubmVySFRNTCA9ICc8Zm9ybT48b2JqZWN0Pjwvb2JqZWN0PjwvZm9ybT4nOworc2hv
dWxkQmVGYWxzZSgnZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm9iamVjdCIpWzBdLndp
bGxWYWxpZGF0ZScpOworCitkZWJ1ZygnJyk7CitkZWJ1ZygnS2V5Z2VuIGVsZW1lbnQnKTsKK3Bh
cmVudC5pbm5lckhUTUwgPSAnPGZvcm0+PGtleWdlbj48L2Zvcm0+JzsKK3Nob3VsZEJlRmFsc2Uo
J2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJrZXlnZW4iKVswXS53aWxsVmFsaWRhdGUn
KTsKKwogdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3NldEN1c3RvbVZhbGlkaXR5LWV4aXN0ZW5jZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NldEN1c3RvbVZhbGlkaXR5LWV4aXN0ZW5jZS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNWFjNGY4NGFhOTkwZTA2YmY4NmUxZmY5MDIwNDViZGM3MmM0
Zjc4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2V0Q3VzdG9t
VmFsaWRpdHktZXhpc3RlbmNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5IEBACitFeGlzdGVu
Y2UgdGVzdHMgZm9yIC5zZXRDdXN0b21WYWxpZGl0eSBwcm9wZXJ0eQorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworRXhpc3RlbmNlIG9mIC5zZXRDdXN0b21WYWxpZGl0eQorUEFTUyB0
eXBlb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMF0uc2V0Q3VzdG9t
VmFsaWRpdHkgaXMgImZ1bmN0aW9uIgorUEFTUyB0eXBlb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNC
eVRhZ05hbWUoImJ1dHRvbiIpWzBdLnNldEN1c3RvbVZhbGlkaXR5IGlzICJmdW5jdGlvbiIKK1BB
U1MgdHlwZW9mIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJmaWVsZHNldCIpWzBdLnNl
dEN1c3RvbVZhbGlkaXR5IGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCJzZWxlY3QiKVswXS5zZXRDdXN0b21WYWxpZGl0eSBpcyAiZnVuY3Rp
b24iCitQQVNTIHR5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGV4dGFyZWEi
KVswXS5zZXRDdXN0b21WYWxpZGl0eSBpcyAiZnVuY3Rpb24iCitQQVNTIHR5cGVvZiBkb2N1bWVu
dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgib3V0cHV0IilbMF0uc2V0Q3VzdG9tVmFsaWRpdHkgaXMg
ImZ1bmN0aW9uIgorUEFTUyB0eXBlb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm9i
amVjdCIpWzBdLnNldEN1c3RvbVZhbGlkaXR5IGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIGRv
Y3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJrZXlnZW4iKVswXS5zZXRDdXN0b21WYWxpZGl0
eSBpcyAiZnVuY3Rpb24iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKK1Rlc3QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zZXRD
dXN0b21WYWxpZGl0eS1leGlzdGVuY2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2V0
Q3VzdG9tVmFsaWRpdHktZXhpc3RlbmNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjEyNjRiYTAyYjQ2YmY0
NmNhODYzMTQ2NGQzMjhkMGI1ZjEyZDcyNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvc2V0Q3VzdG9tVmFsaWRpdHktZXhpc3RlbmNlLmh0bWwKQEAgLTAsMCArMSwx
MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQg
c3JjPSJzY3JpcHQtdGVzdHMvc2V0Q3VzdG9tVmFsaWRpdHktZXhpc3RlbmNlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy92YWxpZGF0aW9uTWVzc2FnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3ZhbGlkYXRpb25NZXNzYWdlLWV4cGVjdGVkLnR4dAppbmRleCBlOTE5NjFkMTAwOWYz
OTkxOTBjZGFkZTMzMDBmOTNhYjM0NDQ2NjRiLi43MjQ5YjJmZGNkZjM5MjBkNjQ4MDJkMzc3Njcz
OTcwYjQwYTAyNzAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3ZhbGlkYXRp
b25NZXNzYWdlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3ZhbGlk
YXRpb25NZXNzYWdlLWV4cGVjdGVkLnR4dApAQCAtMTIsNiArMTIsOSBAQCBQQVNTIGJ1dC52YWxp
ZGF0aW9uTWVzc2FnZSBpcyAnJwogUEFTUyBhbm9uaW5wdXQudmFsaWRhdGlvbk1lc3NhZ2UgaXMg
JycKIFBBU1MgaGFwcHlGaWVsZHNldC52YWxpZGF0aW9uTWVzc2FnZSBpcyAnJwogUEFTUyBoYXBw
eVNlbGVjdC52YWxpZGF0aW9uTWVzc2FnZSBpcyAnJworUEFTUyBoYXBweU91dHB1dC52YWxpZGF0
aW9uTWVzc2FnZSBpcyAnJworUEFTUyBoYXBweU9iamVjdC52YWxpZGF0aW9uTWVzc2FnZSBpcyAn
JworUEFTUyBoYXBweUtleWdlbi52YWxpZGF0aW9uTWVzc2FnZSBpcyAnJwogUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3dpbGx2YWxpZGF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3dpbGx2YWxpZGF0ZS1leHBlY3RlZC50eHQKaW5kZXggMjc4N2JlOGFhZDYzMDZm
ODQ4NDQ5N2VkYzdhM2VjNDRlYzBiMzU2Yy4uN2ExYzM5MmJhYTc1OGQxYWUwNTg5ZWM0NGFmOGVi
N2ZhOWExNTQyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy93aWxsdmFsaWRh
dGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvd2lsbHZhbGlkYXRl
LWV4cGVjdGVkLnR4dApAQCAtOSw2ICs5LDkgQEAgUEFTUyB0eXBlb2YgY29udHJvbHNbaV0ud2ls
bFZhbGlkYXRlIGlzICJib29sZWFuIgogUEFTUyB0eXBlb2YgY29udHJvbHNbaV0ud2lsbFZhbGlk
YXRlIGlzICJib29sZWFuIgogUEFTUyB0eXBlb2YgY29udHJvbHNbaV0ud2lsbFZhbGlkYXRlIGlz
ICJib29sZWFuIgogUEFTUyB0eXBlb2YgY29udHJvbHNbaV0ud2lsbFZhbGlkYXRlIGlzICJib29s
ZWFuIgorUEFTUyB0eXBlb2YgY29udHJvbHNbaV0ud2lsbFZhbGlkYXRlIGlzICJib29sZWFuIgor
UEFTUyB0eXBlb2YgY29udHJvbHNbaV0ud2lsbFZhbGlkYXRlIGlzICJib29sZWFuIgorUEFTUyB0
eXBlb2YgY29udHJvbHNbaV0ud2lsbFZhbGlkYXRlIGlzICJib29sZWFuIgogCiBGb3JtIGFzc29j
aWF0aW9uCiBQQVNTIGlucHV0LndpbGxWYWxpZGF0ZSBpcyB0cnVlCkBAIC0zNiw2ICszOSwxNSBA
QCBQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJmaWVsZHNldCIpWzBdLndpbGxW
YWxpZGF0ZSBpcyBmYWxzZQogCiBUZXh0YXJlYSBlbGVtZW50CiBQQVNTIGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCJ0ZXh0YXJlYSIpWzBdLndpbGxWYWxpZGF0ZSBpcyB0cnVlCisKK091
dHB1dCBlbGVtZW50CitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJvdXRwdXQi
KVswXS53aWxsVmFsaWRhdGUgaXMgZmFsc2UKKworT2JqZWN0IGVsZW1lbnQKK1BBU1MgZG9jdW1l
bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm9iamVjdCIpWzBdLndpbGxWYWxpZGF0ZSBpcyBmYWxz
ZQorCitLZXlnZW4gZWxlbWVudAorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgi
a2V5Z2VuIilbMF0ud2lsbFZhbGlkYXRlIGlzIGZhbHNlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzgxMDExNWE4YzZkMWE3Y2IzNTVmZjFjZjEzMTg1
NzY5Njg5ODkyNi4uNjQ2YzRiNGExYjY4ZmQ2NjAyZjNmYWRlOWY1MGI3MTg0MTVlYzAyNiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxMC0xMi0wOSAgS2VuaWNoaSBJc2hpYmFzaGkgIDxiYXNoaUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElt
cHJvdmUgdmFsaWRhdGlvbiBBUEkgc3VwcG9ydCBvZiA8b2JqZWN0PiBhbmQgPGtleWdlbj4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwNjYzCisKKyAg
ICAgICAgQWRkcyB2YWxpZGF0aW9uIEFQSSB0byBIVE1MT2JqZWN0RWxlbWVudCBjbGFzcy4KKyAg
ICAgICAgTWFrZXMgSFRNTEtleWdlbkVsZW1lbnQ6OndpbGxWYWxpZGF0ZSgpIHJldHVybiBmYWxz
ZS4KKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL3NldEN1c3RvbVZhbGlkaXR5LWV4aXN0ZW5j
ZS5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxLZXlnZW5FbGVtZW50Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MS2V5Z2VuRWxlbWVudDo6d2lsbFZhbGlkYXRlKTogQWRkZWQuCisgICAgICAg
ICogaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9iamVj
dEVsZW1lbnQ6OnZhbGlkYXRpb25NZXNzYWdlKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpI
VE1MT2JqZWN0RWxlbWVudDo6Y2hlY2tWYWxpZGl0eSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTE9iamVjdEVsZW1lbnQ6OnNldEN1c3RvbVZhbGlkaXR5KTogQWRkZWQuCisgICAgICAg
ICogaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5pZGw6IEFkZGVkIHZhbGlkYXRpb24gQVBJIHByb3Bl
cnRpZXMuCisKIDIwMTAtMTItMDkgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBUcnkgYW5kIGZpeCB0aGUgbWFjIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L0hUTUxLZXlnZW5FbGVtZW50LmggYi9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuaApp
bmRleCBmNzIyZTViMDE0YjZlNTY1MDM4NTY0NTkxYzg4MDI4MTcxNTEyZmEzLi44MGY5NGI1NWY2
YjBjNDUyNjk4NjgzZWU0Y2FkYjlkZTY3MWU1N2FlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwv
SFRNTEtleWdlbkVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQu
aApAQCAtMzksNiArMzksNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBl
ZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKICAgICB2aXJ0dWFsIGJvb2wgYXBwZW5kRm9ybURhdGEo
Rm9ybURhdGFMaXN0JiwgYm9vbCk7CiAKKyAgICB2aXJ0dWFsIGJvb2wgd2lsbFZhbGlkYXRlKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNPcHRpb25hbEZvcm1D
b250cm9sKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIEF0b21pY1N0cmluZyBtX2No
YWxsZW5nZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5oIGIv
V2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmgKaW5kZXggZTQyMDYyOGZiN2E0Mzg2NDY1
NDgyNGZmNzMxYzcwNjVhMGMzY2IyYi4uZDU3OTdmZjZmOWI4ZjA2YTdhOWFkY2M3ZjdmMTQyMDky
ZWRiYTFjMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmgKKysr
IGIvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmgKQEAgLTUyLDYgKzUyLDEyIEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNFbnVtZXJhdGFibGUoKSBjb25zdCB7IHJldHVybiB0
cnVlOyB9CiAgICAgdmlydHVhbCBib29sIGFwcGVuZEZvcm1EYXRhKEZvcm1EYXRhTGlzdCYsIGJv
b2wpOwogCisgICAgLy8gSW1wbGVtZW50YXRpb25zIG9mIGNvbnN0cmFpbnQgdmFsaWRhdGlvbiBB
UEkuCisgICAgLy8gTm90ZSB0aGF0IHRoZSBvYmplY3QgZWxlbWVudHMgYXJlIGFsd2F5cyBiYXJy
ZWQgZnJvbSBjb25zdHJhaW50IHZhbGlkYXRpb24uCisgICAgU3RyaW5nIHZhbGlkYXRpb25NZXNz
YWdlKCkgeyByZXR1cm4gU3RyaW5nKCk7IH0KKyAgICBib29sIGNoZWNrVmFsaWRpdHkoKSB7IHJl
dHVybiB0cnVlOyB9CisgICAgdm9pZCBzZXRDdXN0b21WYWxpZGl0eShjb25zdCBTdHJpbmcmKSB7
IH0KKwogICAgIHZpcnR1YWwgdm9pZCBhdHRyaWJ1dGVDaGFuZ2VkKEF0dHJpYnV0ZSosIGJvb2wg
cHJlc2VydmVEZWNscyA9IGZhbHNlKTsKIAogICAgIHVzaW5nIFRyZWVTaGFyZWQ8Q29udGFpbmVy
Tm9kZT46OnJlZjsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5p
ZGwgYi9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsCmluZGV4IDgyODAxYWUwY2Q3
YmI2YWQ0OWFiNDUyMjVmZjIzMzdlYjUzNWQ4ODUuLmMxZmE4YzAwMzlhNDQ2ZDI4OGNmMjc4ZjQw
MTg5ODVmM2RkYTYyOGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVu
dC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbApAQCAtNDMsNiAr
NDMsMTAgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGxvbmcg
dnNwYWNlOwogICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyB3aWR0aDsKICAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gd2lsbFZhbGlkYXRlOworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgVmFsaWRpdHlTdGF0ZSB2YWxpZGl0eTsKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKKyAgICAgICAgYm9vbGVh
biBjaGVja1ZhbGlkaXR5KCk7CisgICAgICAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoaW4gW0Nv
bnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBlcnJvcik7CiAKICAg
ICAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKICAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIFtDaGVja0ZyYW1lU2VjdXJpdHldIERvY3VtZW50IGNvbnRlbnREb2N1bWVudDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>