<?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>62432</bug_id>
          
          <creation_ts>2011-06-09 23:36:41 -0700</creation_ts>
          <short_desc>internals object should have createShadowContentElement()</short_desc>
          <delta_ts>2011-06-19 22:08:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>59802</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>418536</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-06-09 23:36:41 -0700</bug_when>
    <thetext>We need this to test it before making it web-facing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419473</commentid>
    <comment_count>1</comment_count>
      <attachid>96936</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-06-13 02:12:48 -0700</bug_when>
    <thetext>Created attachment 96936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419475</commentid>
    <comment_count>2</comment_count>
      <attachid>96936</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-13 02:16:33 -0700</bug_when>
    <thetext>Comment on attachment 96936
Patch

Attachment 96936 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/8829967</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419476</commentid>
    <comment_count>3</comment_count>
      <attachid>96937</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-06-13 02:18:16 -0700</bug_when>
    <thetext>Created attachment 96937
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419478</commentid>
    <comment_count>4</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-06-13 02:20:14 -0700</bug_when>
    <thetext>I know elementRenderTreeAsText() is a kind of unfortunate.
But I&apos;d like to argue:

- Reftests doesn&apos;t reach its prime time, and
- Having non-text layout tests for each content test is worse because it will be
   almost all about render tree construction, not neither layout or DOM tree construction,

and of course love to hear your opinion!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419494</commentid>
    <comment_count>5</comment_count>
      <attachid>96937</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-06-13 03:15:44 -0700</bug_when>
    <thetext>Comment on attachment 96937
Patch

Attachment 96937 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/8836147</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419591</commentid>
    <comment_count>6</comment_count>
      <attachid>96937</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-13 09:15:41 -0700</bug_when>
    <thetext>Comment on attachment 96937
Patch

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

I have no problem with exposing RenderTree representation like this. It&apos;s useful for building things that are more advanced than reftests.

&gt; Source/WebCore/WebCore.exp.in:802
&gt; +__ZN7WebCore6JSNode6s_infoE
&gt; +__ZNK7WebCore6JSNode21pushEventHandlerScopeEPN3JSC9ExecStateEPNS1_14ScopeChainNodeE
&gt; +__ZN7WebCore6JSNode13visitChildrenERN3JSC9MarkStackE
&gt; +__ZN7WebCore6JSNode3putEPN3JSC9ExecStateERKNS1_10IdentifierENS1_7JSValueERNS1_15PutPropertySlotE
&gt; +__ZN7WebCore10JSDocument3putEPN3JSC9ExecStateERKNS1_10IdentifierENS1_7JSValueERNS1_15PutPropertySlotE
&gt; +__ZN7WebCore10toDocumentEN3JSC7JSValueE

These are not specific to this patch. In fact, Dominic is already exporting them in bug 61671.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419871</commentid>
    <comment_count>7</comment_count>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-06-13 14:25:30 -0700</bug_when>
    <thetext>(In reply to comment #6)

&gt; These are not specific to this patch. In fact, Dominic is already exporting them in bug 61671.

Whoever writes the first method will have to export these, so export on. Whoever lands second can deal with merging it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420146</commentid>
    <comment_count>8</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-06-13 18:55:59 -0700</bug_when>
    <thetext>Hi Dimitri and Dominic, thank you for taking a look!

&gt; I have no problem with exposing RenderTree representation like this. It&apos;s useful for building things that are more advanced than reftests.
This is good to hear!

&gt; (In reply to comment #6)
&gt; 
&gt; &gt; These are not specific to this patch. In fact, Dominic is already exporting them in bug 61671.
&gt; 
&gt; Whoever writes the first method will have to export these, so export on. Whoever lands second can deal with merging it.
Yes, someone need to do this first. And I&apos;m happy to wait to land bug 61671 ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420154</commentid>
    <comment_count>9</comment_count>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-06-13 19:26:30 -0700</bug_when>
    <thetext> &gt; &gt; &gt; These are not specific to this patch. In fact, Dominic is already exporting them in bug 61671.
&gt; &gt; Whoever writes the first method will have to export these, so export on. Whoever lands second can deal with merging it.
&gt; Yes, someone need to do this first. And I&apos;m happy to wait to land bug 61671 ;-)

Only wait if you want to. These are in order so merging should be trivial.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420238</commentid>
    <comment_count>10</comment_count>
      <attachid>97073</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-06-13 23:22:59 -0700</bug_when>
    <thetext>Created attachment 97073
Trying to fix linker errors</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420245</commentid>
    <comment_count>11</comment_count>
      <attachid>97073</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-06-13 23:46:37 -0700</bug_when>
    <thetext>Comment on attachment 97073
Trying to fix linker errors

Attachment 97073 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/8832786</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420248</commentid>
    <comment_count>12</comment_count>
      <attachid>97076</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-06-13 23:57:53 -0700</bug_when>
    <thetext>Created attachment 97076
Passed Win. Attacking Gtk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420252</commentid>
    <comment_count>13</comment_count>
      <attachid>97076</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-06-14 00:07:34 -0700</bug_when>
    <thetext>Comment on attachment 97076
Passed Win. Attacking Gtk.

Attachment 97076 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/8841109</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420271</commentid>
    <comment_count>14</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-06-14 01:29:22 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Created an attachment (id=97073) [details]
&gt; Trying to fix linker errors
Hmm... It&apos;s tricky to figure out which symbol should be exported...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420280</commentid>
    <comment_count>15</comment_count>
      <attachid>97087</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-06-14 02:00:03 -0700</bug_when>
    <thetext>Created attachment 97087
Another try</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420283</commentid>
    <comment_count>16</comment_count>
      <attachid>97087</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-06-14 02:12:56 -0700</bug_when>
    <thetext>Comment on attachment 97087
Another try

Attachment 97087 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/8844008</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420344</commentid>
    <comment_count>17</comment_count>
      <attachid>97087</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-06-14 05:38:56 -0700</bug_when>
    <thetext>Comment on attachment 97087
Another try

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

I am working through similar stuff for bug 61671. The easiest thing I found was:

1. WebCore.exp.in already has all of the symbols you need. So just search for TypeNameXmemberName where X is strlen(&quot;memberName&quot;) and copy the mangled symbols from there.

2. GTK build doesn&apos;t depend on symbols.filter correctly, so you may need to do a clean build to get accurate results. (I guess your results from bots may have spurious failures for this reason also.)

&gt; Source/autotools/symbols.filter:29
&gt;  _ZN7WebCore21getCachedDOMStructureEPNS_17JSDOMGlobalObjectEPKN3JSC9ClassInfoE;

So there is no trouble merging these let&apos;s M-x sort-lines from this line inclusive to local: exclusive when we add symbols for Internals.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420347</commentid>
    <comment_count>18</comment_count>
      <attachid>97087</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-06-14 05:45:12 -0700</bug_when>
    <thetext>Comment on attachment 97087
Another try

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

&gt; Source/WebCore/WebCore.exp.in:798
&gt; +__ZNK7WebCore6JSNode21pushEventHandlerScopeEPN3JSC9ExecStateEPNS1_14ScopeChainNodeE

I am not sure that this file is globally ordered, but it looks locally ordered. Keep it ordered to make merging easier.

Note that 

__ZNK7WebCore10FooFactory &lt; __ZNK7WebCore3Foo because &apos;1&apos; &lt; &apos;3&apos;

and also be careful with ZN[^K] != ZNK

&gt; Source/WebKit2/win/WebKit2.def:138
&gt;          ?getCachedDOMStructure@WebCore@@YAPAVStructure@JSC@@PAVJSDOMGlobalObject@1@PBUClassInfo@3@@Z

Likewise we should M-x sort-lines this group too to make merging easier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420396</commentid>
    <comment_count>19</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-14 07:24:52 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 97087 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=97087&amp;action=review
&gt; 
&gt; I am working through similar stuff for bug 61671. The easiest thing I found was:
&gt; 
&gt; 1. WebCore.exp.in already has all of the symbols you need. So just search for TypeNameXmemberName where X is strlen(&quot;memberName&quot;) and copy the mangled symbols from there.
&gt; 
&gt; 2. GTK build doesn&apos;t depend on symbols.filter correctly, so you may need to do a clean build to get accurate results. (I guess your results from bots may have spurious failures for this reason also.)
&gt; 
&gt; &gt; Source/autotools/symbols.filter:29
&gt; &gt;  _ZN7WebCore21getCachedDOMStructureEPNS_17JSDOMGlobalObjectEPKN3JSC9ClassInfoE;
&gt; 
&gt; So there is no trouble merging these let&apos;s M-x sort-lines from this line inclusive to local: exclusive when we add symbols for Internals.

How hard would it be to write a tool around this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420401</commentid>
    <comment_count>20</comment_count>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-06-14 07:37:50 -0700</bug_when>
    <thetext>&gt; How hard would it be to write a tool around this?

Not too hard, maybe a few days, if the ambition is suitably low.

Something like: Take a built WebCoreTestSupport and dump its unresolved symbols, or take build log output, and update the right files with suitable mangling for the Linux, OS X family and the Windows family. (Is translating the mangled names hard?)

Is it worth it? I expect the number of missing symbols will diminish very sharply soon (just look at the intersection between the symbols in this patch and in the patch on bug 61671.) However every new bit of window.internals will touch some new symbol.

There is still a couple of gotchas:

1. Mac already exports a boatload of symbols that GTK doesn&apos;t, so just getting the unresolved symbols on Mac might not be a big enough delta for GTK.

2. If you&apos;re building on GTK it prints the pretty name of the missing symbol, which makes life difficult since there&apos;s nothing to cut-and-paste from (except WebCore.exp.in...)

It would be nice if there was a tool to nix unused symbols too so these don&apos;t grow unboundedly, too.

The biggest bang for buck is probably in documenting all of the places you need to add symbols and how the formats relate to each other (you can trivially mangle WebCore.exp.in symbols to GTK symbols by deleting one leading _ and adding a semicolon, for example.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420416</commentid>
    <comment_count>21</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-06-14 08:03:07 -0700</bug_when>
    <thetext>
(In reply to comment #19)
&gt; How hard would it be to write a tool around this?

Another alternative would be to export the symbols manually with annoatations. I believe that Kevin Olliver is doing this now with JSC, to eliminate the symbol lists there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421114</commentid>
    <comment_count>22</comment_count>
      <attachid>97252</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-06-15 01:37:26 -0700</bug_when>
    <thetext>Created attachment 97252
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421115</commentid>
    <comment_count>23</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-06-15 01:39:03 -0700</bug_when>
    <thetext>Hi guys, thank you for your advice.
I choose copy-from-exp strategy at this time.
Using annotation sounds promising though, especially for internals object
because there is no entry difference between ports in that case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421328</commentid>
    <comment_count>24</comment_count>
      <attachid>97252</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-06-15 08:52:18 -0700</bug_when>
    <thetext>Comment on attachment 97252
Patch

Attachment 97252 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/8866100</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421692</commentid>
    <comment_count>25</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-06-15 18:48:33 -0700</bug_when>
    <thetext>Gtk bot looks having in trouble. He said he couldn&apos;t build it without a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421694</commentid>
    <comment_count>26</comment_count>
      <attachid>97252</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-06-15 18:52:19 -0700</bug_when>
    <thetext>Comment on attachment 97252
Patch

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

&gt; Source/autotools/symbols.filter:37
&gt; +_ZN7WebCore20ShadowContentElement6createEPNS_8DocumentE

You are missing a trailing semicolon here.

&gt; Source/autotools/symbols.filter:43
&gt; +_ZN7WebCore9JSElement3putEPN3JSC9ExecStateERKNS1_10IdentifierENS1_7JSValueERNS1_15PutPropertySlotE

...and here, and check below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421704</commentid>
    <comment_count>27</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-06-15 19:15:32 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; (From update of attachment 97252 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=97252&amp;action=review
&gt; 
&gt; &gt; Source/autotools/symbols.filter:37
&gt; &gt; +_ZN7WebCore20ShadowContentElement6createEPNS_8DocumentE
&gt; 
&gt; You are missing a trailing semicolon here.
&gt; 
&gt; &gt; Source/autotools/symbols.filter:43
&gt; &gt; +_ZN7WebCore9JSElement3putEPN3JSC9ExecStateERKNS1_10IdentifierENS1_7JSValueERNS1_15PutPropertySlotE
&gt; 
&gt; ...and here, and check below.

Oops. Thank you for finding this. I&apos;ll fix them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421707</commentid>
    <comment_count>28</comment_count>
      <attachid>97386</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-06-15 19:25:52 -0700</bug_when>
    <thetext>Created attachment 97386
Another try</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422443</commentid>
    <comment_count>29</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-06-16 23:41:12 -0700</bug_when>
    <thetext>It&apos;s green and ready to review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422679</commentid>
    <comment_count>30</comment_count>
      <attachid>97386</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-17 10:11:13 -0700</bug_when>
    <thetext>Comment on attachment 97386
Another try

Glorious.

Guys. We _really_ need to make adding all these exported symbols easier. This is a lot less plumbing code, but golly! so many exports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422683</commentid>
    <comment_count>31</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-06-17 10:15:10 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; We _really_ need to make adding all these exported symbols easier. This is a lot less plumbing code, but golly! so many exports.

Switching to export macros instead of the export lists is a project that would resolve this. There are some pitfalls, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422684</commentid>
    <comment_count>32</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-17 10:16:29 -0700</bug_when>
    <thetext>(In reply to comment #31)
&gt; (In reply to comment #30)
&gt; &gt; We _really_ need to make adding all these exported symbols easier. This is a lot less plumbing code, but golly! so many exports.
&gt; 
&gt; Switching to export macros instead of the export lists is a project that would resolve this. There are some pitfalls, though.

Is this something mac/win ports would be interested in? This sounds really horrifically complex... but exciting? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422691</commentid>
    <comment_count>33</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-06-17 10:19:32 -0700</bug_when>
    <thetext>(In reply to comment #32)
&gt; Is this something mac/win ports would be interested in? This sounds really horrifically complex... but exciting? :)

To oversimplify, the answer is yes.

It would be helpful to have an easier way to control what’s exported that was less platform-specific.

It would be disappointing if the macro technique caused us to export a lot more things, although I’m not sure what the downsides are of exporting too much.

Not sure what the other issues are. A couple experts I’d talk to on this would be Mark Rowe and Maciej. There may be others in the Safari department at Apple with a view on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423422</commentid>
    <comment_count>34</comment_count>
      <attachid>97386</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-19 19:28:40 -0700</bug_when>
    <thetext>Comment on attachment 97386
Another try

Rejecting attachment 97386 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=ec2-cq-02&apos;, &apos;--port...&quot; exit_code: 2

Last 500 characters of output:
file Source/WebCore/testing/Internals.h
patching file Source/WebCore/testing/Internals.idl
Hunk #1 FAILED at 25.
1 out of 1 hunk FAILED -- saving rejects to file Source/WebCore/testing/Internals.idl.rej
patching file Source/WebKit2/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebKit2/win/WebKit2.def
patching file Source/autotools/symbols.filter

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

Full output: http://queues.webkit.org/results/8912313</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423474</commentid>
    <comment_count>35</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-06-19 22:08:35 -0700</bug_when>
    <thetext>Committed r89230: &lt;http://trac.webkit.org/changeset/89230&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96936</attachid>
            <date>2011-06-13 02:12:48 -0700</date>
            <delta_ts>2011-06-13 02:18:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62432-20110613181246.patch</filename>
            <type>text/plain</type>
            <size>16296</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODg2MzAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1ODIxMzg4Nzc1YWZjZTNjYzcyMjAz
ZGY0ODc3MjYyZjdiMmFkOTc1Li5kYWY1NmNkNDQyOWE3Y2IwMTBlYTY2YWZiNmUzNzhjYzExODA2
YjQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDYtMTMgIE1PUklUQSBIYWppbWUgIDxt
b3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhlIGludGVybmFscyBvYmplY3Qgc2hvdWxkIGhhdmUgY3JlYXRlU2hhZG93
Q29udGVudEVsZW1lbnQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjI0MzIKKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jcmVhdGUtY29udGVu
dC1lbGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L2NyZWF0ZS1jb250ZW50LWVsZW1lbnQuaHRtbDogQWRkZWQuCisKIDIwMTEtMDYtMTIgIE1PUklU
QSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjg4NjI1LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L2NyZWF0ZS1jb250ZW50LWVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2NyZWF0ZS1jb250ZW50LWVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdjNWQ0MzYyMmM3OWQ0ODM2OGVkZDM3N2Q0YmUwNzBmMTgzNWUwMWYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3JlYXRlLWNvbnRlbnQtZWxlbWVudC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIHRlc3QgY29tcGFyZXMgYSBzaGFkb3ct
YmFzZWQgcmVuZGVyIHRyZWUgd2l0aCBvbmUgZm9yIGEgcmVmcmVuY2UgRE9NIHRyZWUuCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jcmVhdGUtY29udGVu
dC1lbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3JlYXRlLWNvbnRl
bnQtZWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzNWRlNTZjOGI2ODc0OWNjOWRmMWY4MzdhOTYx
MDNiNmExYmM0NTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvY3JlYXRlLWNvbnRlbnQtZWxlbWVudC5odG1sCkBAIC0wLDAgKzEsNzAgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy8qIHJlbGF0aXZlIHBvc2l0aW9uaW5n
IGVuc3VyZXMgdW5kZXJseWluZyBSZW5kZXJMYXllciAqLworLmNvbnRhaW5lciB7CisgICAgcG9z
aXRpb246IHJlbGF0aXZlOworfQorPC9zdHlsZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2cobWVz
c2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRN
TCArPSAobWVzc2FnZSArICJcbiIpOworfQorCitmdW5jdGlvbiByZW1vdmVDb250YWluZXJMaW5l
cyh0ZXh0KQoreworICAgIHZhciBsaW5lcyA9IHRleHQuc3BsaXQoIlxuIik7CisgICAgbGluZXMu
c3BsaWNlKDAsIDIpOworICAgIHJldHVybiBsaW5lcy5qb2luKCJcbiIpOworfQorCitmdW5jdGlv
biBzZXR1cFRhcmdldFRyZWUoKQoreworICAgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKKyAgICB0YXJnZXQuaW5uZXJIVE1MID0gIjxzcGFuPmNvbnRlbnQ8L3Nw
YW4+IjsKKyAgICB2YXIgcm9vdCA9IGxheW91dFRlc3RDb250cm9sbGVyLmVuc3VyZVNoYWRvd1Jv
b3QodGFyZ2V0KTsKKyAgICAKKyAgICB2YXIgY2hpbGQwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgic3BhbiIpOworICAgIGNoaWxkMC5pbm5lckhUTUwgPSAiSGVsbG8sIjsKKyAgICByb290LmFw
cGVuZENoaWxkKGNoaWxkMCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZCh3aW5kb3cuaW50ZXJuYWxz
LmNyZWF0ZVNoYWRvd0NvbnRlbnRFbGVtZW50KGRvY3VtZW50KSk7CisgICAgdmFyIGNoaWxkMSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgICBjaGlsZDEuaW5uZXJIVE1MID0g
IldvcmxkLiI7CisgICAgcm9vdC5hcHBlbmRDaGlsZChjaGlsZDEpOworCisgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRhcmdldCIpLmFwcGVuZENoaWxkKHRhcmdldCk7Cit9CisKK2Z1bmN0
aW9uIHRlc3QoKQoreworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAg
ICBsb2coIlRoaXMgdGVzdCBjb21wYXJlcyBhIHNoYWRvdy1iYXNlZCByZW5kZXIgdHJlZSB3aXRo
IG9uZSBmb3IgYSByZWZyZW5jZSBET00gdHJlZS4iKTsKKyAgICBzZXR1cFRhcmdldFRyZWUoKTsK
KyAgICB2YXIgdGFyZ2V0Q29udGFpbmVyUmVuZGVyVHJlZSA9IHdpbmRvdy5pbnRlcm5hbHMuZWxl
bWVudFJlbmRlclRyZWVBc1RleHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldENvbnRh
aW5lciIpKTsKKyAgICB2YXIgdGFyZ2V0UmVuZGVyVHJlZSA9IHJlbW92ZUNvbnRhaW5lckxpbmVz
KHRhcmdldENvbnRhaW5lclJlbmRlclRyZWUpOworICAgIHZhciByZWZDb250YWluZXJSZW5kZXJU
cmVlID0gd2luZG93LmludGVybmFscy5lbGVtZW50UmVuZGVyVHJlZUFzVGV4dChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicmVmQ29udGFpbmVyIikpOworICAgIHZhciByZWZSZW5kZXJUcmVlID0g
cmVtb3ZlQ29udGFpbmVyTGluZXMocmVmQ29udGFpbmVyUmVuZGVyVHJlZSk7CisgICAgaWYgKHRh
cmdldFJlbmRlclRyZWUgPT0gcmVmUmVuZGVyVHJlZSkKKyAgICAgICAgbG9nKCJQQVNTIik7Cisg
ICAgZWxzZSB7CisgICAgICAgIGxvZygiRkFJTCIpOworICAgICAgICBsb2coIkV4cGVjdGVkOiIp
OworICAgICAgICBsb2cocmVmUmVuZGVyVHJlZSk7CisgICAgICAgIGxvZygiQWN0dWFsOiIpOwor
ICAgICAgICBsb2codGFyZ2V0UmVuZGVyVHJlZSk7CisgICAgfQorICAgIAorICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iikuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKK30KKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPGRpdiBpZD0idGVzdCI+Cis8
ZGl2IGNsYXNzPSJjb250YWluZXIiIGlkPSJ0YXJnZXRDb250YWluZXIiPjxkaXYgaWQ9InRhcmdl
dCI+PC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiIGlkPSJyZWZDb250YWluZXIi
PjxkaXY+PGRpdj48c3Bhbj5IZWxsbyw8L3NwYW4+PHNwYW4+Y29udGVudDwvc3Bhbj48c3Bhbj5X
b3JsZC48L3NwYW4+PC9kaXY+PC9kaXY+PC9kaXY+Cis8L2Rpdj4KKzxwcmUgaWQ9ImNvbnNvbGUi
PjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGM3NDQ1OGFkYTU0ZDAzZDI0
NWZiMjFjYjMwZTY4MDQ3YzUwMjFmZTEuLmI5Y2YwODNhY2ZjM2NmMTgzM2Y5ZWZmZDFiYmZjZjRl
Y2UwNjkzZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAxMS0wNi0xMyAgTU9SSVRB
IEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgaW50ZXJuYWxzIG9iamVjdCBzaG91bGQgaGF2ZSBj
cmVhdGVTaGFkb3dDb250ZW50RWxlbWVudCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02MjQzMgorCisgICAgICAgIFRoaXMgY2hhbmdlOgorICAgICAg
ICAtIGFkZGVkIEludGVybmFsczo6Y3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQoKSwgd2hpY2gg
Y3JlYXRlcywKKyAgICAgICAgICBTaGFkb3dDb250ZW50RWxlbWVudCBpbnN0YW5jZSB3aGljaCBp
bmNsdWRlcyBhbGwgaG9zdCBjaGlsZHJlbiwKKyAgICAgICAgLSBhZGRlZCBJbnRlcm5hbHM6OmVs
ZW1lbnRSZW5kZXJUcmVlQXNUZXh0KCkgdG8gaGVscCBjb250ZW50IGxheW91dCB0ZXN0aW5nLCBh
bmQKKyAgICAgICAgLSBVbmFic3RyYWN0ZWQgU2hhZG93Q29udGVudEVsZW1lbnQgYnkgZ2l2aW5n
IGEgZGVmYXVsdCBzaG91bGRJbmNsdWRlKCkgaW1wbGVtZW50YXRpb24uCisgICAgICAgIAorICAg
ICAgICBUZXN0OiBmYXN0L2RvbS9zaGFkb3cvY3JlYXRlLWNvbnRlbnQtZWxlbWVudC5odG1sCisK
KyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBkb20vU2hhZG93Q29udGVudEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Q29udGVudEVsZW1lbnQ6OmNyZWF0
ZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Q29udGVudEVsZW1lbnQ6OlNoYWRv
d0NvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd0NvbnRlbnRFbGVtZW50
Ojp+U2hhZG93Q29udGVudEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Q29udGVu
dEVsZW1lbnQ6OnNob3VsZEluY2x1ZGUpOiBHYXZlIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiB3
aGljaCBhbHdheXMgcmV0dXJucyB0cnVlLgorICAgICAgICAqIGRvbS9TaGFkb3dDb250ZW50RWxl
bWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlN1bW1hcnlDb250ZW50RWxlbWVudDo6U3VtbWFyeUNvbnRlbnRFbGVtZW50KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpleHRlcm5hbFJlcHJlc2VudGF0aW9uKTogRmFjdG9yZWQgb3V0IGZvciBzdXBwb3J0aW4g
cGVyLWVsZW1lbnQgcmVuZGVyIHRyZWUgZHVtcC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
VHJlZUFzVGV4dC5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6Y3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQpOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6ZWxlbWVudFJlbmRlclRyZWVBc1RleHQpOiBk
ZGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuaWRsOgorCiAyMDExLTA2LTEyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgppbmRleCBlYzg3YmIwY2ExNDRlNGU0ZTUyOTQ2MzE1NDJiNDMwMmM2YzE4MTNlLi5hNzZiOTlh
M2IwY2YxZjZjMjAwNzI3MGFmZTdmMTM2NjU1MWY3NzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpA
QCAtNTc3LDYgKzU3Nyw3IEBAIF9fWk43V2ViQ29yZTIyY29udGV4dE1lbnVJdGVtVGFnQm9sZEV2
CiBfX1pON1dlYkNvcmUyMmNvdW50ZXJWYWx1ZUZvckVsZW1lbnRFUE5TXzdFbGVtZW50RQogX19a
TjdXZWJDb3JlMjJjcmVhdGVGcmFnbWVudEZyb21UZXh0RVBOU181UmFuZ2VFUktOM1dURjZTdHJp
bmdFCiBfX1pON1dlYkNvcmUyMmV4dGVybmFsUmVwcmVzZW50YXRpb25FUE5TXzVGcmFtZUVqCitf
X1pON1dlYkNvcmUyMmV4dGVybmFsUmVwcmVzZW50YXRpb25FUE5TXzdFbGVtZW50RWoKIF9fWk43
V2ViQ29yZTIzQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDMUVSS05TXzE1UHJvdGVjdGlvblNwYWNl
RVJLTlNfMTBDcmVkZW50aWFsRWpSS05TXzE2UmVzb3VyY2VSZXNwb25zZUVSS05TXzEzUmVzb3Vy
Y2VFcnJvckUKIF9fWk43V2ViQ29yZTIzUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmRDMUVQTlNfOERv
Y3VtZW50RU4zV1RGMTBQYXNzUmVmUHRySU5TXzE2RG9jdW1lbnRGcmFnbWVudEVFRWpOU18xMEVk
aXRBY3Rpb25FCiBfX1pON1dlYkNvcmUyM2NyZWF0ZUZyYWdtZW50RnJvbU5vZGVzRVBOU184RG9j
dW1lbnRFUktOM1dURjZWZWN0b3JJUE5TXzROb2RlRUxtMEVFRQpAQCAtNzkzLDYgKzc5NCwxNCBA
QCBfX1pON1dlYkNvcmU2RWRpdG9yNmluZGVudEV2CiBfX1pON1dlYkNvcmU2RWRpdG9yN0NvbW1h
bmRDMUV2CiBfX1pON1dlYkNvcmU2RWRpdG9yN2NvbW1hbmRFUktOM1dURjZTdHJpbmdFCiBfX1pO
N1dlYkNvcmU2RWRpdG9yN291dGRlbnRFdgorX19aTjdXZWJDb3JlNkpTTm9kZTZzX2luZm9FCitf
X1pOSzdXZWJDb3JlNkpTTm9kZTIxcHVzaEV2ZW50SGFuZGxlclNjb3BlRVBOM0pTQzlFeGVjU3Rh
dGVFUE5TMV8xNFNjb3BlQ2hhaW5Ob2RlRQorX19aTjdXZWJDb3JlNkpTTm9kZTEzdmlzaXRDaGls
ZHJlbkVSTjNKU0M5TWFya1N0YWNrRQorX19aTjdXZWJDb3JlNkpTTm9kZTNwdXRFUE4zSlNDOUV4
ZWNTdGF0ZUVSS05TMV8xMElkZW50aWZpZXJFTlMxXzdKU1ZhbHVlRVJOUzFfMTVQdXRQcm9wZXJ0
eVNsb3RFCitfX1pON1dlYkNvcmUxMEpTRG9jdW1lbnQzcHV0RVBOM0pTQzlFeGVjU3RhdGVFUktO
UzFfMTBJZGVudGlmaWVyRU5TMV83SlNWYWx1ZUVSTlMxXzE1UHV0UHJvcGVydHlTbG90RQorX19a
TjdXZWJDb3JlMTB0b0RvY3VtZW50RU4zSlNDN0pTVmFsdWVFCitfX1pON1dlYkNvcmUyMFNoYWRv
d0NvbnRlbnRFbGVtZW50NmNyZWF0ZUVQTlNfOERvY3VtZW50RQorX19aTjdXZWJDb3JlMTVzZXRE
T01FeGNlcHRpb25FUE4zSlNDOUV4ZWNTdGF0ZUVpCiBfX1pON1dlYkNvcmU2V2lkZ2V0MTJzZXRG
cmFtZVJlY3RFUktOU183SW50UmVjdEUKIF9fWk43V2ViQ29yZTZXaWRnZXQxM3NldEJvdW5kc1Np
emVFUktOU183SW50U2l6ZUUKIF9fWk43V2ViQ29yZTZXaWRnZXQxNnJlbW92ZUZyb21QYXJlbnRF
dgpAQCAtOTg4LDYgKzk5Nyw3IEBAIF9fWk43V2ViQ29yZTlIVE1MTmFtZXM4dmlkZW9UYWdFCiBf
X1pON1dlYkNvcmU5SFRNTE5hbWVzOWlmcmFtZVRhZ0UKIF9fWk43V2ViQ29yZTlIVE1MTmFtZXM5
b2JqZWN0VGFnRQogX19aTjdXZWJDb3JlOUhUTUxOYW1lczlzY3JpcHRUYWdFCitfX1pON1dlYkNv
cmU5SlNFbGVtZW50M3B1dEVQTjNKU0M5RXhlY1N0YXRlRVJLTlMxXzEwSWRlbnRpZmllckVOUzFf
N0pTVmFsdWVFUk5TMV8xNVB1dFByb3BlcnR5U2xvdEUKIF9fWk43V2ViQ29yZTlKU0VsZW1lbnQ2
c19pbmZvRQogX19aTjdXZWJDb3JlOVBhZ2VDYWNoZTExc2V0Q2FwYWNpdHlFaQogX19aTjdXZWJD
b3JlOVBhZ2VDYWNoZTI3cmVsZWFzZUF1dG9yZWxlYXNlZFBhZ2VzTm93RXYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dDb250ZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuY3BwCmluZGV4IGYxODE3MTQ0MmY4MThjOGI3
MWMyYWNhZjQzNmYzYjA2Nzg0MjQ3MTUuLjZmYWQ0MmIwNzczNmYyOGY1NzcyM2UwOWEzN2Q2ZjQx
Nzg2NTlmYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dDb250ZW50RWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd0NvbnRlbnRFbGVtZW50LmNw
cApAQCAtMjcsMTAgKzI3LDI2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2hh
ZG93Q29udGVudEVsZW1lbnQuaCIKIAorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUg
IlNoYWRvd0NvbnRlbnRTZWxlY3Rvci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK1Bhc3NS
ZWZQdHI8U2hhZG93Q29udGVudEVsZW1lbnQ+IFNoYWRvd0NvbnRlbnRFbGVtZW50OjpjcmVhdGUo
RG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoUXVhbGlmaWVk
TmFtZSwgdGFnTmFtZSwgKG51bGxBdG9tLCAid2Via2l0U2hhZG93Q29udGVudCIsIEhUTUxOYW1l
czo6ZGl2VGFnLm5hbWVzcGFjZVVSSSgpKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTaGFk
b3dDb250ZW50RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOworfQorCitTaGFkb3dDb250ZW50
RWxlbWVudDo6U2hhZG93Q29udGVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQorICAgIDogU3R5bGVkRWxlbWVudChuYW1lLCBkb2N1bWVudCwg
Q3JlYXRlSFRNTEVsZW1lbnQpCit7Cit9CisKK1NoYWRvd0NvbnRlbnRFbGVtZW50Ojp+U2hhZG93
Q29udGVudEVsZW1lbnQoKQoreworfQorCiB2b2lkIFNoYWRvd0NvbnRlbnRFbGVtZW50OjphdHRh
Y2goKQogewogICAgIEFTU0VSVCghZmlyc3RDaGlsZCgpKTsgLy8gQ3VycmVudGx5IGRvZXNuJ3Qg
c3VwcG9ydCBhbnkgbGlnaHQgY2hpbGQuCkBAIC0zOSw0ICs1NSw5IEBAIHZvaWQgU2hhZG93Q29u
dGVudEVsZW1lbnQ6OmF0dGFjaCgpCiAgICAgICAgIHNlbGVjdG9yLT5hdHRhY2hDaGlsZHJlbkZv
cih0aGlzKTsKIH0KIAorYm9vbCBTaGFkb3dDb250ZW50RWxlbWVudDo6c2hvdWxkSW5jbHVkZShO
b2RlKikKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1NoYWRvd0NvbnRlbnRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hh
ZG93Q29udGVudEVsZW1lbnQuaAppbmRleCBmZmY4ZDY3YmE2M2Q1NjEyNzI3NWI3ODM1MDFhZmNh
N2E1ZWQ0YTAwLi5kZmRhZjllOWYzMTQ4Nzk3YTU3ODkzZTU1NzllMmM3MjVkNjE5OTg2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuaApAQCAtNDAsMTQgKzQwLDE1
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIFlvdSBzaG91bGQgY3JlYXRlIFNoYWRvd0NvbnRl
bnRFbGVtZW50IGR1cmluZyB0aGUgaG9zdCBjb25zdHJ1Y3Rpb24uCiBjbGFzcyBTaGFkb3dDb250
ZW50RWxlbWVudCA6IHB1YmxpYyBTdHlsZWRFbGVtZW50IHsKIHB1YmxpYzoKLSAgICBTaGFkb3dD
b250ZW50RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBEb2N1bWVudCogZG9jdW1l
bnQpCi0gICAgICAgIDogU3R5bGVkRWxlbWVudChuYW1lLCBkb2N1bWVudCwgQ3JlYXRlSFRNTEVs
ZW1lbnQpCi0gICAgewotICAgIH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFkb3dDb250ZW50
RWxlbWVudD4gY3JlYXRlKERvY3VtZW50Kik7CiAKLSAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW5j
bHVkZShOb2RlKikgPSAwOworICAgIHZpcnR1YWwgflNoYWRvd0NvbnRlbnRFbGVtZW50KCk7Cisg
ICAgdmlydHVhbCBib29sIHNob3VsZEluY2x1ZGUoTm9kZSopOwogICAgIHZpcnR1YWwgdm9pZCBh
dHRhY2goKTsKIAorcHJvdGVjdGVkOgorICAgIFNoYWRvd0NvbnRlbnRFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCiBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBp
c0NvbnRlbnRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9v
bCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JikgeyByZXR1cm4g
ZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNwcAppbmRl
eCBkNTI0NzU3MjUzN2Y1YWM5MTA0ODlkOTQzZjNiNDhlOWY5M2U5NTQ3Li41MTZiMzNiMWIwYTVj
Y2RmYTQ3ZWE3ZTNlZjM1Nzc1Mjc4Y2E2ZGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxTdW1tYXJ5RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
U3VtbWFyeUVsZW1lbnQuY3BwCkBAIC00Niw4ICs0Niw2IEBAIHByaXZhdGU6CiAgICAgICAgIDog
U2hhZG93Q29udGVudEVsZW1lbnQoSFRNTE5hbWVzOjpkaXZUYWcsIGRvY3VtZW50KQogICAgIHsK
ICAgICB9Ci0KLSAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW5jbHVkZShOb2RlKikgeyByZXR1cm4g
dHJ1ZTsgfQogfTsKIAogUGFzc1JlZlB0cjxTdW1tYXJ5Q29udGVudEVsZW1lbnQ+IFN1bW1hcnlD
b250ZW50RWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAppbmRleCBkMDk2Zjg3OGFlYTM1NWU0
YzMwYzhjYmY0NGMyNzEzMWUzYTY1ZTU5Li5mYzRiNTdkZjQ0YTdiM2JlZjBkYzNlNzNiZDc1YzFk
ZTZjODFmODkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJl
ZUFzVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1Rl
eHQuY3BwCkBAIC03NTYsMjkgKzc1Niw0NCBAQCBzdGF0aWMgdm9pZCB3cml0ZVNlbGVjdGlvbihU
ZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyT2JqZWN0KiBvKQogICAgICAgICAgICA8PCAic2Vs
ZWN0aW9uIGVuZDogICBwb3NpdGlvbiAiIDw8IHNlbGVjdGlvbi5lbmQoKS5kZXByZWNhdGVkRWRp
dGluZ09mZnNldCgpIDw8ICIgb2YgIiA8PCBub2RlUG9zaXRpb24oc2VsZWN0aW9uLmVuZCgpLmRl
cHJlY2F0ZWROb2RlKCkpIDw8ICJcbiI7CiB9CiAKK3N0YXRpYyBTdHJpbmcgZXh0ZXJuYWxSZXBy
ZXNlbnRhdGlvbihSZW5kZXJCb3gqIHJlbmRlcmVyLCBSZW5kZXJBc1RleHRCZWhhdmlvciBiZWhh
dmlvcikKK3sKKyAgICBUZXh0U3RyZWFtIHRzOworICAgIGlmICghcmVuZGVyZXItPmhhc0xheWVy
KCkpCisgICAgICAgIHRzLnJlbGVhc2UoKTsKKyAgICAgICAgCisgICAgUmVuZGVyTGF5ZXIqIGxh
eWVyID0gcmVuZGVyZXItPmxheWVyKCk7CisgICAgd3JpdGVMYXllcnModHMsIGxheWVyLCBsYXll
ciwgbGF5ZXItPnJlY3QoKSwgMCwgYmVoYXZpb3IpOworICAgIHdyaXRlU2VsZWN0aW9uKHRzLCBy
ZW5kZXJlcik7CisgICAgcmV0dXJuIHRzLnJlbGVhc2UoKTsKK30KKwogU3RyaW5nIGV4dGVybmFs
UmVwcmVzZW50YXRpb24oRnJhbWUqIGZyYW1lLCBSZW5kZXJBc1RleHRCZWhhdmlvciBiZWhhdmlv
cikKIHsKLSAgICBQcmludENvbnRleHQgcHJpbnRDb250ZXh0KGZyYW1lKTsKLSAgICBpZiAoYmVo
YXZpb3IgJiBSZW5kZXJBc1RleHRQcmludGluZ01vZGUpIHsKLSAgICAgICAgaWYgKCFmcmFtZS0+
Y29udGVudFJlbmRlcmVyKCkpCi0gICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgICAg
IHByaW50Q29udGV4dC5iZWdpbihmcmFtZS0+Y29udGVudFJlbmRlcmVyKCktPndpZHRoKCkpOwot
ICAgIH0KKyAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gZnJhbWUtPmNvbnRlbnRSZW5kZXJl
cigpOworICAgIGlmICghcmVuZGVyZXIgfHwgIXJlbmRlcmVyLT5pc0JveCgpKQorICAgICAgICBy
ZXR1cm4gU3RyaW5nKCk7CiAKKyAgICBQcmludENvbnRleHQgcHJpbnRDb250ZXh0KGZyYW1lKTsK
KyAgICBpZiAoYmVoYXZpb3IgJiBSZW5kZXJBc1RleHRQcmludGluZ01vZGUpCisgICAgICAgIHBy
aW50Q29udGV4dC5iZWdpbih0b1JlbmRlckJveChyZW5kZXJlciktPndpZHRoKCkpOwogICAgIGlm
ICghKGJlaGF2aW9yICYgUmVuZGVyQXNUZXh0RG9udFVwZGF0ZUxheW91dCkpCiAgICAgICAgIGZy
YW1lLT5kb2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKIAotICAgIFJlbmRlck9iamVjdCogbyA9
IGZyYW1lLT5jb250ZW50UmVuZGVyZXIoKTsKLSAgICBpZiAoIW8pCi0gICAgICAgIHJldHVybiBT
dHJpbmcoKTsKKyAgICByZXR1cm4gZXh0ZXJuYWxSZXByZXNlbnRhdGlvbih0b1JlbmRlckJveChy
ZW5kZXJlciksIGJlaGF2aW9yKTsKK30KIAotICAgIFRleHRTdHJlYW0gdHM7Ci0gICAgaWYgKG8t
Pmhhc0xheWVyKCkpIHsKLSAgICAgICAgUmVuZGVyTGF5ZXIqIGwgPSB0b1JlbmRlckJveChvKS0+
bGF5ZXIoKTsKLSAgICAgICAgd3JpdGVMYXllcnModHMsIGwsIGwsIGwtPnJlY3QoKSwgMCwgYmVo
YXZpb3IpOwotICAgICAgICB3cml0ZVNlbGVjdGlvbih0cywgbyk7Ci0gICAgfQotICAgIHJldHVy
biB0cy5yZWxlYXNlKCk7CitTdHJpbmcgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihFbGVtZW50KiBl
bGVtZW50LCBSZW5kZXJBc1RleHRCZWhhdmlvciBiZWhhdmlvcikKK3sKKyAgICBSZW5kZXJPYmpl
Y3QqIHJlbmRlcmVyID0gZWxlbWVudC0+cmVuZGVyZXIoKTsKKyAgICBpZiAoIXJlbmRlcmVyIHx8
ICFyZW5kZXJlci0+aXNCb3goKSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIC8vIERv
ZXNuJ3Qgc3VwcG9ydCBwcmludGluZyBtb2RlLgorICAgIEFTU0VSVCghKGJlaGF2aW9yICYgUmVu
ZGVyQXNUZXh0UHJpbnRpbmdNb2RlKSk7CisgICAgaWYgKCEoYmVoYXZpb3IgJiBSZW5kZXJBc1Rl
eHREb250VXBkYXRlTGF5b3V0KSAmJiBlbGVtZW50LT5kb2N1bWVudCgpKQorICAgICAgICBlbGVt
ZW50LT5kb2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKKyAgICAKKyAgICByZXR1cm4gZXh0ZXJu
YWxSZXByZXNlbnRhdGlvbih0b1JlbmRlckJveChyZW5kZXJlciksIGJlaGF2aW9yIHwgUmVuZGVy
QXNUZXh0U2hvd0FsbExheWVycyk7CiB9CiAKIHN0YXRpYyB2b2lkIHdyaXRlQ291bnRlclZhbHVl
c0Zyb21DaGlsZHJlbihUZXh0U3RyZWFtJiBzdHJlYW0sIFJlbmRlck9iamVjdCogcGFyZW50LCBi
b29sJiBpc0ZpcnN0Q291bnRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUcmVlQXNUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJl
ZUFzVGV4dC5oCmluZGV4IDRjOGIxNDVkNWEwNTVhMTI2MWY2ZWI5ZWZkYmNlNWM0OGM0MGZkOTcu
LjBhYTcyY2I3MjBkNjhmZjAwY2U2YTRmYjRlMTZlOGIyZDFiOTM4NzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuaApAQCAtNTYsNiArNTYsNyBAQCB0eXBl
ZGVmIHVuc2lnbmVkIFJlbmRlckFzVGV4dEJlaGF2aW9yOwogCiAvLyBZb3UgZG9uJ3QgbmVlZCBw
YWdlV2lkdGhJblBpeGVscyBpZiB5b3UgZG9uJ3Qgc3BlY2lmeSBSZW5kZXJBc1RleHRJblByaW50
aW5nTW9kZS4KIFN0cmluZyBleHRlcm5hbFJlcHJlc2VudGF0aW9uKEZyYW1lKiwgUmVuZGVyQXNU
ZXh0QmVoYXZpb3IgPSBSZW5kZXJBc1RleHRCZWhhdmlvck5vcm1hbCk7CitTdHJpbmcgZXh0ZXJu
YWxSZXByZXNlbnRhdGlvbihFbGVtZW50KiwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgPSBSZW5kZXJB
c1RleHRCZWhhdmlvck5vcm1hbCk7CiB2b2lkIHdyaXRlKFRleHRTdHJlYW0mLCBjb25zdCBSZW5k
ZXJPYmplY3QmLCBpbnQgaW5kZW50ID0gMCwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgPSBSZW5kZXJB
c1RleHRCZWhhdmlvck5vcm1hbCk7CiB2b2lkIHdyaXRlSW5kZW50KFRleHRTdHJlYW0mLCBpbnQg
aW5kZW50KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGM1ODkxM2U5
OWRkMGU0ZDhmMWMyNTdhYzAyNGQ2ODY4N2VlYWMyODQuLjMzMThlYTE2MzlhNjA4YWVlMTQ3YmY3
ZDY2ZjBhNGYzNjY1YzFmZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAg
LTI2LDYgKzI2LDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnRlcm5hbHMu
aCIKIAorI2luY2x1ZGUgIlJlbmRlclRyZWVBc3RleHQuaCIKKyNpbmNsdWRlICJTaGFkb3dDb250
ZW50RWxlbWVudC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBhc3NSZWZQdHI8SW50ZXJu
YWxzPiBJbnRlcm5hbHM6OmNyZWF0ZSgpCkBAIC00MSw0ICs0NCwzMCBAQCBJbnRlcm5hbHM6Oklu
dGVybmFscygpCiB7CiB9CiAKK1Bhc3NSZWZQdHI8RWxlbWVudD4gSW50ZXJuYWxzOjpjcmVhdGVT
aGFkb3dDb250ZW50RWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVj
KQoreworICAgIGlmICghZG9jdW1lbnQpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19F
UlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIHJldHVybiBTaGFkb3dDb250ZW50
RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKK30KKworU3RyaW5nIEludGVybmFsczo6ZWxlbWVu
dFJlbmRlclRyZWVBc1RleHQoRWxlbWVudCogZWxlbWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7
CisgICAgaWYgKCFlbGVtZW50KSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwor
ICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgfQorCisgICAgU3RyaW5nIHJlcHJlc2VudGF0
aW9uID0gZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihlbGVtZW50KTsKKyAgICBpZiAocmVwcmVzZW50
YXRpb24uaXNFbXB0eSgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAg
ICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgfQorCisgICAgcmV0dXJuIHJlcHJlc2VudGF0aW9u
OworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBjYmJkOWI5YzAzYjQ5
MmJmMWFhNDRjMTExM2I0YjBhNjBkM2U5NGU1Li5lNmQ2MWNiNjg5NzhlYzA0MmZhOTQ5ZGVjYzFh
NDg0NjUzNjYxMTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTI2LDE2ICsy
NiwyMyBAQAogI2lmbmRlZiBJbnRlcm5hbHNfaAogI2RlZmluZSBJbnRlcm5hbHNfaAogCisjaW5j
bHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEb2N1bWVudDsKK2NsYXNzIEVsZW1lbnQ7
CisKIGNsYXNzIEludGVybmFscyA6IHB1YmxpYyBSZWZDb3VudGVkPEludGVybmFscz4gewogcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEludGVybmFscz4gY3JlYXRlKCk7CiAgICAgdmly
dHVhbCB+SW50ZXJuYWxzKCk7CiAKKyAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZVNoYWRv
d0NvbnRlbnRFbGVtZW50KERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOworICAgIFN0cmluZyBl
bGVtZW50UmVuZGVyVHJlZUFzVGV4dChFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogcHJpdmF0
ZToKICAgICBJbnRlcm5hbHMoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwK
aW5kZXggMmRiNDU5NTUzYzk4MDZiMzFkYWZhOTIzNzJhNDczYzZhZDc1NzIyYS4uNzUyOGFiYTYz
MmE1ZGY5YjBkNzMyODNmNGQ2ZDk0MjFiYWE3OGM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmlkbApAQCAtMjUsNiArMjUsOCBAQAogCiBtb2R1bGUgd2luZG93IHsKICAgICBpbnRl
cmZhY2UgW09taXRDb25zdHJ1Y3Rvcl0gSW50ZXJuYWxzIHsKKyAgICAgICAgRWxlbWVudCBjcmVh
dGVTaGFkb3dDb250ZW50RWxlbWVudChpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzKERPTUV4
Y2VwdGlvbik7CisgICAgICAgIERPTVN0cmluZyBlbGVtZW50UmVuZGVyVHJlZUFzVGV4dChpbiBF
bGVtZW50IGVsZW1lbnQpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIH07CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96937</attachid>
            <date>2011-06-13 02:18:16 -0700</date>
            <delta_ts>2011-06-13 23:22:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62432-20110613181814.patch</filename>
            <type>text/plain</type>
            <size>16296</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODg2MzAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1ODIxMzg4Nzc1YWZjZTNjYzcyMjAz
ZGY0ODc3MjYyZjdiMmFkOTc1Li5kYWY1NmNkNDQyOWE3Y2IwMTBlYTY2YWZiNmUzNzhjYzExODA2
YjQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDYtMTMgIE1PUklUQSBIYWppbWUgIDxt
b3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhlIGludGVybmFscyBvYmplY3Qgc2hvdWxkIGhhdmUgY3JlYXRlU2hhZG93
Q29udGVudEVsZW1lbnQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjI0MzIKKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jcmVhdGUtY29udGVu
dC1lbGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L2NyZWF0ZS1jb250ZW50LWVsZW1lbnQuaHRtbDogQWRkZWQuCisKIDIwMTEtMDYtMTIgIE1PUklU
QSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjg4NjI1LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L2NyZWF0ZS1jb250ZW50LWVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2NyZWF0ZS1jb250ZW50LWVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdjNWQ0MzYyMmM3OWQ0ODM2OGVkZDM3N2Q0YmUwNzBmMTgzNWUwMWYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3JlYXRlLWNvbnRlbnQtZWxlbWVudC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIHRlc3QgY29tcGFyZXMgYSBzaGFkb3ct
YmFzZWQgcmVuZGVyIHRyZWUgd2l0aCBvbmUgZm9yIGEgcmVmcmVuY2UgRE9NIHRyZWUuCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jcmVhdGUtY29udGVu
dC1lbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3JlYXRlLWNvbnRl
bnQtZWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzNWRlNTZjOGI2ODc0OWNjOWRmMWY4MzdhOTYx
MDNiNmExYmM0NTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvY3JlYXRlLWNvbnRlbnQtZWxlbWVudC5odG1sCkBAIC0wLDAgKzEsNzAgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy8qIHJlbGF0aXZlIHBvc2l0aW9uaW5n
IGVuc3VyZXMgdW5kZXJseWluZyBSZW5kZXJMYXllciAqLworLmNvbnRhaW5lciB7CisgICAgcG9z
aXRpb246IHJlbGF0aXZlOworfQorPC9zdHlsZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2cobWVz
c2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRN
TCArPSAobWVzc2FnZSArICJcbiIpOworfQorCitmdW5jdGlvbiByZW1vdmVDb250YWluZXJMaW5l
cyh0ZXh0KQoreworICAgIHZhciBsaW5lcyA9IHRleHQuc3BsaXQoIlxuIik7CisgICAgbGluZXMu
c3BsaWNlKDAsIDIpOworICAgIHJldHVybiBsaW5lcy5qb2luKCJcbiIpOworfQorCitmdW5jdGlv
biBzZXR1cFRhcmdldFRyZWUoKQoreworICAgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKKyAgICB0YXJnZXQuaW5uZXJIVE1MID0gIjxzcGFuPmNvbnRlbnQ8L3Nw
YW4+IjsKKyAgICB2YXIgcm9vdCA9IGxheW91dFRlc3RDb250cm9sbGVyLmVuc3VyZVNoYWRvd1Jv
b3QodGFyZ2V0KTsKKyAgICAKKyAgICB2YXIgY2hpbGQwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgic3BhbiIpOworICAgIGNoaWxkMC5pbm5lckhUTUwgPSAiSGVsbG8sIjsKKyAgICByb290LmFw
cGVuZENoaWxkKGNoaWxkMCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZCh3aW5kb3cuaW50ZXJuYWxz
LmNyZWF0ZVNoYWRvd0NvbnRlbnRFbGVtZW50KGRvY3VtZW50KSk7CisgICAgdmFyIGNoaWxkMSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgICBjaGlsZDEuaW5uZXJIVE1MID0g
IldvcmxkLiI7CisgICAgcm9vdC5hcHBlbmRDaGlsZChjaGlsZDEpOworCisgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRhcmdldCIpLmFwcGVuZENoaWxkKHRhcmdldCk7Cit9CisKK2Z1bmN0
aW9uIHRlc3QoKQoreworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAg
ICBsb2coIlRoaXMgdGVzdCBjb21wYXJlcyBhIHNoYWRvdy1iYXNlZCByZW5kZXIgdHJlZSB3aXRo
IG9uZSBmb3IgYSByZWZyZW5jZSBET00gdHJlZS4iKTsKKyAgICBzZXR1cFRhcmdldFRyZWUoKTsK
KyAgICB2YXIgdGFyZ2V0Q29udGFpbmVyUmVuZGVyVHJlZSA9IHdpbmRvdy5pbnRlcm5hbHMuZWxl
bWVudFJlbmRlclRyZWVBc1RleHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldENvbnRh
aW5lciIpKTsKKyAgICB2YXIgdGFyZ2V0UmVuZGVyVHJlZSA9IHJlbW92ZUNvbnRhaW5lckxpbmVz
KHRhcmdldENvbnRhaW5lclJlbmRlclRyZWUpOworICAgIHZhciByZWZDb250YWluZXJSZW5kZXJU
cmVlID0gd2luZG93LmludGVybmFscy5lbGVtZW50UmVuZGVyVHJlZUFzVGV4dChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicmVmQ29udGFpbmVyIikpOworICAgIHZhciByZWZSZW5kZXJUcmVlID0g
cmVtb3ZlQ29udGFpbmVyTGluZXMocmVmQ29udGFpbmVyUmVuZGVyVHJlZSk7CisgICAgaWYgKHRh
cmdldFJlbmRlclRyZWUgPT0gcmVmUmVuZGVyVHJlZSkKKyAgICAgICAgbG9nKCJQQVNTIik7Cisg
ICAgZWxzZSB7CisgICAgICAgIGxvZygiRkFJTCIpOworICAgICAgICBsb2coIkV4cGVjdGVkOiIp
OworICAgICAgICBsb2cocmVmUmVuZGVyVHJlZSk7CisgICAgICAgIGxvZygiQWN0dWFsOiIpOwor
ICAgICAgICBsb2codGFyZ2V0UmVuZGVyVHJlZSk7CisgICAgfQorICAgIAorICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iikuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKK30KKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPGRpdiBpZD0idGVzdCI+Cis8
ZGl2IGNsYXNzPSJjb250YWluZXIiIGlkPSJ0YXJnZXRDb250YWluZXIiPjxkaXYgaWQ9InRhcmdl
dCI+PC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiIGlkPSJyZWZDb250YWluZXIi
PjxkaXY+PGRpdj48c3Bhbj5IZWxsbyw8L3NwYW4+PHNwYW4+Y29udGVudDwvc3Bhbj48c3Bhbj5X
b3JsZC48L3NwYW4+PC9kaXY+PC9kaXY+PC9kaXY+Cis8L2Rpdj4KKzxwcmUgaWQ9ImNvbnNvbGUi
PjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGM3NDQ1OGFkYTU0ZDAzZDI0
NWZiMjFjYjMwZTY4MDQ3YzUwMjFmZTEuLmI5Y2YwODNhY2ZjM2NmMTgzM2Y5ZWZmZDFiYmZjZjRl
Y2UwNjkzZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAxMS0wNi0xMyAgTU9SSVRB
IEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgaW50ZXJuYWxzIG9iamVjdCBzaG91bGQgaGF2ZSBj
cmVhdGVTaGFkb3dDb250ZW50RWxlbWVudCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02MjQzMgorCisgICAgICAgIFRoaXMgY2hhbmdlOgorICAgICAg
ICAtIGFkZGVkIEludGVybmFsczo6Y3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQoKSwgd2hpY2gg
Y3JlYXRlcywKKyAgICAgICAgICBTaGFkb3dDb250ZW50RWxlbWVudCBpbnN0YW5jZSB3aGljaCBp
bmNsdWRlcyBhbGwgaG9zdCBjaGlsZHJlbiwKKyAgICAgICAgLSBhZGRlZCBJbnRlcm5hbHM6OmVs
ZW1lbnRSZW5kZXJUcmVlQXNUZXh0KCkgdG8gaGVscCBjb250ZW50IGxheW91dCB0ZXN0aW5nLCBh
bmQKKyAgICAgICAgLSBVbmFic3RyYWN0ZWQgU2hhZG93Q29udGVudEVsZW1lbnQgYnkgZ2l2aW5n
IGEgZGVmYXVsdCBzaG91bGRJbmNsdWRlKCkgaW1wbGVtZW50YXRpb24uCisgICAgICAgIAorICAg
ICAgICBUZXN0OiBmYXN0L2RvbS9zaGFkb3cvY3JlYXRlLWNvbnRlbnQtZWxlbWVudC5odG1sCisK
KyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBkb20vU2hhZG93Q29udGVudEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Q29udGVudEVsZW1lbnQ6OmNyZWF0
ZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Q29udGVudEVsZW1lbnQ6OlNoYWRv
d0NvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd0NvbnRlbnRFbGVtZW50
Ojp+U2hhZG93Q29udGVudEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Q29udGVu
dEVsZW1lbnQ6OnNob3VsZEluY2x1ZGUpOiBHYXZlIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiB3
aGljaCBhbHdheXMgcmV0dXJucyB0cnVlLgorICAgICAgICAqIGRvbS9TaGFkb3dDb250ZW50RWxl
bWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlN1bW1hcnlDb250ZW50RWxlbWVudDo6U3VtbWFyeUNvbnRlbnRFbGVtZW50KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpleHRlcm5hbFJlcHJlc2VudGF0aW9uKTogRmFjdG9yZWQgb3V0IGZvciBzdXBwb3J0aW4g
cGVyLWVsZW1lbnQgcmVuZGVyIHRyZWUgZHVtcC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
VHJlZUFzVGV4dC5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6Y3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQpOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6ZWxlbWVudFJlbmRlclRyZWVBc1RleHQpOiBk
ZGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuaWRsOgorCiAyMDExLTA2LTEyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgppbmRleCBlYzg3YmIwY2ExNDRlNGU0ZTUyOTQ2MzE1NDJiNDMwMmM2YzE4MTNlLi5hNzZiOTlh
M2IwY2YxZjZjMjAwNzI3MGFmZTdmMTM2NjU1MWY3NzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpA
QCAtNTc3LDYgKzU3Nyw3IEBAIF9fWk43V2ViQ29yZTIyY29udGV4dE1lbnVJdGVtVGFnQm9sZEV2
CiBfX1pON1dlYkNvcmUyMmNvdW50ZXJWYWx1ZUZvckVsZW1lbnRFUE5TXzdFbGVtZW50RQogX19a
TjdXZWJDb3JlMjJjcmVhdGVGcmFnbWVudEZyb21UZXh0RVBOU181UmFuZ2VFUktOM1dURjZTdHJp
bmdFCiBfX1pON1dlYkNvcmUyMmV4dGVybmFsUmVwcmVzZW50YXRpb25FUE5TXzVGcmFtZUVqCitf
X1pON1dlYkNvcmUyMmV4dGVybmFsUmVwcmVzZW50YXRpb25FUE5TXzdFbGVtZW50RWoKIF9fWk43
V2ViQ29yZTIzQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDMUVSS05TXzE1UHJvdGVjdGlvblNwYWNl
RVJLTlNfMTBDcmVkZW50aWFsRWpSS05TXzE2UmVzb3VyY2VSZXNwb25zZUVSS05TXzEzUmVzb3Vy
Y2VFcnJvckUKIF9fWk43V2ViQ29yZTIzUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmRDMUVQTlNfOERv
Y3VtZW50RU4zV1RGMTBQYXNzUmVmUHRySU5TXzE2RG9jdW1lbnRGcmFnbWVudEVFRWpOU18xMEVk
aXRBY3Rpb25FCiBfX1pON1dlYkNvcmUyM2NyZWF0ZUZyYWdtZW50RnJvbU5vZGVzRVBOU184RG9j
dW1lbnRFUktOM1dURjZWZWN0b3JJUE5TXzROb2RlRUxtMEVFRQpAQCAtNzkzLDYgKzc5NCwxNCBA
QCBfX1pON1dlYkNvcmU2RWRpdG9yNmluZGVudEV2CiBfX1pON1dlYkNvcmU2RWRpdG9yN0NvbW1h
bmRDMUV2CiBfX1pON1dlYkNvcmU2RWRpdG9yN2NvbW1hbmRFUktOM1dURjZTdHJpbmdFCiBfX1pO
N1dlYkNvcmU2RWRpdG9yN291dGRlbnRFdgorX19aTjdXZWJDb3JlNkpTTm9kZTZzX2luZm9FCitf
X1pOSzdXZWJDb3JlNkpTTm9kZTIxcHVzaEV2ZW50SGFuZGxlclNjb3BlRVBOM0pTQzlFeGVjU3Rh
dGVFUE5TMV8xNFNjb3BlQ2hhaW5Ob2RlRQorX19aTjdXZWJDb3JlNkpTTm9kZTEzdmlzaXRDaGls
ZHJlbkVSTjNKU0M5TWFya1N0YWNrRQorX19aTjdXZWJDb3JlNkpTTm9kZTNwdXRFUE4zSlNDOUV4
ZWNTdGF0ZUVSS05TMV8xMElkZW50aWZpZXJFTlMxXzdKU1ZhbHVlRVJOUzFfMTVQdXRQcm9wZXJ0
eVNsb3RFCitfX1pON1dlYkNvcmUxMEpTRG9jdW1lbnQzcHV0RVBOM0pTQzlFeGVjU3RhdGVFUktO
UzFfMTBJZGVudGlmaWVyRU5TMV83SlNWYWx1ZUVSTlMxXzE1UHV0UHJvcGVydHlTbG90RQorX19a
TjdXZWJDb3JlMTB0b0RvY3VtZW50RU4zSlNDN0pTVmFsdWVFCitfX1pON1dlYkNvcmUyMFNoYWRv
d0NvbnRlbnRFbGVtZW50NmNyZWF0ZUVQTlNfOERvY3VtZW50RQorX19aTjdXZWJDb3JlMTVzZXRE
T01FeGNlcHRpb25FUE4zSlNDOUV4ZWNTdGF0ZUVpCiBfX1pON1dlYkNvcmU2V2lkZ2V0MTJzZXRG
cmFtZVJlY3RFUktOU183SW50UmVjdEUKIF9fWk43V2ViQ29yZTZXaWRnZXQxM3NldEJvdW5kc1Np
emVFUktOU183SW50U2l6ZUUKIF9fWk43V2ViQ29yZTZXaWRnZXQxNnJlbW92ZUZyb21QYXJlbnRF
dgpAQCAtOTg4LDYgKzk5Nyw3IEBAIF9fWk43V2ViQ29yZTlIVE1MTmFtZXM4dmlkZW9UYWdFCiBf
X1pON1dlYkNvcmU5SFRNTE5hbWVzOWlmcmFtZVRhZ0UKIF9fWk43V2ViQ29yZTlIVE1MTmFtZXM5
b2JqZWN0VGFnRQogX19aTjdXZWJDb3JlOUhUTUxOYW1lczlzY3JpcHRUYWdFCitfX1pON1dlYkNv
cmU5SlNFbGVtZW50M3B1dEVQTjNKU0M5RXhlY1N0YXRlRVJLTlMxXzEwSWRlbnRpZmllckVOUzFf
N0pTVmFsdWVFUk5TMV8xNVB1dFByb3BlcnR5U2xvdEUKIF9fWk43V2ViQ29yZTlKU0VsZW1lbnQ2
c19pbmZvRQogX19aTjdXZWJDb3JlOVBhZ2VDYWNoZTExc2V0Q2FwYWNpdHlFaQogX19aTjdXZWJD
b3JlOVBhZ2VDYWNoZTI3cmVsZWFzZUF1dG9yZWxlYXNlZFBhZ2VzTm93RXYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dDb250ZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuY3BwCmluZGV4IGYxODE3MTQ0MmY4MThjOGI3
MWMyYWNhZjQzNmYzYjA2Nzg0MjQ3MTUuLjZmYWQ0MmIwNzczNmYyOGY1NzcyM2UwOWEzN2Q2ZjQx
Nzg2NTlmYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dDb250ZW50RWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd0NvbnRlbnRFbGVtZW50LmNw
cApAQCAtMjcsMTAgKzI3LDI2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2hh
ZG93Q29udGVudEVsZW1lbnQuaCIKIAorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUg
IlNoYWRvd0NvbnRlbnRTZWxlY3Rvci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK1Bhc3NS
ZWZQdHI8U2hhZG93Q29udGVudEVsZW1lbnQ+IFNoYWRvd0NvbnRlbnRFbGVtZW50OjpjcmVhdGUo
RG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoUXVhbGlmaWVk
TmFtZSwgdGFnTmFtZSwgKG51bGxBdG9tLCAid2Via2l0U2hhZG93Q29udGVudCIsIEhUTUxOYW1l
czo6ZGl2VGFnLm5hbWVzcGFjZVVSSSgpKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTaGFk
b3dDb250ZW50RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOworfQorCitTaGFkb3dDb250ZW50
RWxlbWVudDo6U2hhZG93Q29udGVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQorICAgIDogU3R5bGVkRWxlbWVudChuYW1lLCBkb2N1bWVudCwg
Q3JlYXRlSFRNTEVsZW1lbnQpCit7Cit9CisKK1NoYWRvd0NvbnRlbnRFbGVtZW50Ojp+U2hhZG93
Q29udGVudEVsZW1lbnQoKQoreworfQorCiB2b2lkIFNoYWRvd0NvbnRlbnRFbGVtZW50OjphdHRh
Y2goKQogewogICAgIEFTU0VSVCghZmlyc3RDaGlsZCgpKTsgLy8gQ3VycmVudGx5IGRvZXNuJ3Qg
c3VwcG9ydCBhbnkgbGlnaHQgY2hpbGQuCkBAIC0zOSw0ICs1NSw5IEBAIHZvaWQgU2hhZG93Q29u
dGVudEVsZW1lbnQ6OmF0dGFjaCgpCiAgICAgICAgIHNlbGVjdG9yLT5hdHRhY2hDaGlsZHJlbkZv
cih0aGlzKTsKIH0KIAorYm9vbCBTaGFkb3dDb250ZW50RWxlbWVudDo6c2hvdWxkSW5jbHVkZShO
b2RlKikKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1NoYWRvd0NvbnRlbnRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hh
ZG93Q29udGVudEVsZW1lbnQuaAppbmRleCBmZmY4ZDY3YmE2M2Q1NjEyNzI3NWI3ODM1MDFhZmNh
N2E1ZWQ0YTAwLi5kZmRhZjllOWYzMTQ4Nzk3YTU3ODkzZTU1NzllMmM3MjVkNjE5OTg2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuaApAQCAtNDAsMTQgKzQwLDE1
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIFlvdSBzaG91bGQgY3JlYXRlIFNoYWRvd0NvbnRl
bnRFbGVtZW50IGR1cmluZyB0aGUgaG9zdCBjb25zdHJ1Y3Rpb24uCiBjbGFzcyBTaGFkb3dDb250
ZW50RWxlbWVudCA6IHB1YmxpYyBTdHlsZWRFbGVtZW50IHsKIHB1YmxpYzoKLSAgICBTaGFkb3dD
b250ZW50RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBEb2N1bWVudCogZG9jdW1l
bnQpCi0gICAgICAgIDogU3R5bGVkRWxlbWVudChuYW1lLCBkb2N1bWVudCwgQ3JlYXRlSFRNTEVs
ZW1lbnQpCi0gICAgewotICAgIH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFkb3dDb250ZW50
RWxlbWVudD4gY3JlYXRlKERvY3VtZW50Kik7CiAKLSAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW5j
bHVkZShOb2RlKikgPSAwOworICAgIHZpcnR1YWwgflNoYWRvd0NvbnRlbnRFbGVtZW50KCk7Cisg
ICAgdmlydHVhbCBib29sIHNob3VsZEluY2x1ZGUoTm9kZSopOwogICAgIHZpcnR1YWwgdm9pZCBh
dHRhY2goKTsKIAorcHJvdGVjdGVkOgorICAgIFNoYWRvd0NvbnRlbnRFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCiBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBp
c0NvbnRlbnRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9v
bCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JikgeyByZXR1cm4g
ZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNwcAppbmRl
eCBkNTI0NzU3MjUzN2Y1YWM5MTA0ODlkOTQzZjNiNDhlOWY5M2U5NTQ3Li41MTZiMzNiMWIwYTVj
Y2RmYTQ3ZWE3ZTNlZjM1Nzc1Mjc4Y2E2ZGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxTdW1tYXJ5RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
U3VtbWFyeUVsZW1lbnQuY3BwCkBAIC00Niw4ICs0Niw2IEBAIHByaXZhdGU6CiAgICAgICAgIDog
U2hhZG93Q29udGVudEVsZW1lbnQoSFRNTE5hbWVzOjpkaXZUYWcsIGRvY3VtZW50KQogICAgIHsK
ICAgICB9Ci0KLSAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW5jbHVkZShOb2RlKikgeyByZXR1cm4g
dHJ1ZTsgfQogfTsKIAogUGFzc1JlZlB0cjxTdW1tYXJ5Q29udGVudEVsZW1lbnQ+IFN1bW1hcnlD
b250ZW50RWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAppbmRleCBkMDk2Zjg3OGFlYTM1NWU0
YzMwYzhjYmY0NGMyNzEzMWUzYTY1ZTU5Li5mYzRiNTdkZjQ0YTdiM2JlZjBkYzNlNzNiZDc1YzFk
ZTZjODFmODkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJl
ZUFzVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1Rl
eHQuY3BwCkBAIC03NTYsMjkgKzc1Niw0NCBAQCBzdGF0aWMgdm9pZCB3cml0ZVNlbGVjdGlvbihU
ZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyT2JqZWN0KiBvKQogICAgICAgICAgICA8PCAic2Vs
ZWN0aW9uIGVuZDogICBwb3NpdGlvbiAiIDw8IHNlbGVjdGlvbi5lbmQoKS5kZXByZWNhdGVkRWRp
dGluZ09mZnNldCgpIDw8ICIgb2YgIiA8PCBub2RlUG9zaXRpb24oc2VsZWN0aW9uLmVuZCgpLmRl
cHJlY2F0ZWROb2RlKCkpIDw8ICJcbiI7CiB9CiAKK3N0YXRpYyBTdHJpbmcgZXh0ZXJuYWxSZXBy
ZXNlbnRhdGlvbihSZW5kZXJCb3gqIHJlbmRlcmVyLCBSZW5kZXJBc1RleHRCZWhhdmlvciBiZWhh
dmlvcikKK3sKKyAgICBUZXh0U3RyZWFtIHRzOworICAgIGlmICghcmVuZGVyZXItPmhhc0xheWVy
KCkpCisgICAgICAgIHRzLnJlbGVhc2UoKTsKKyAgICAgICAgCisgICAgUmVuZGVyTGF5ZXIqIGxh
eWVyID0gcmVuZGVyZXItPmxheWVyKCk7CisgICAgd3JpdGVMYXllcnModHMsIGxheWVyLCBsYXll
ciwgbGF5ZXItPnJlY3QoKSwgMCwgYmVoYXZpb3IpOworICAgIHdyaXRlU2VsZWN0aW9uKHRzLCBy
ZW5kZXJlcik7CisgICAgcmV0dXJuIHRzLnJlbGVhc2UoKTsKK30KKwogU3RyaW5nIGV4dGVybmFs
UmVwcmVzZW50YXRpb24oRnJhbWUqIGZyYW1lLCBSZW5kZXJBc1RleHRCZWhhdmlvciBiZWhhdmlv
cikKIHsKLSAgICBQcmludENvbnRleHQgcHJpbnRDb250ZXh0KGZyYW1lKTsKLSAgICBpZiAoYmVo
YXZpb3IgJiBSZW5kZXJBc1RleHRQcmludGluZ01vZGUpIHsKLSAgICAgICAgaWYgKCFmcmFtZS0+
Y29udGVudFJlbmRlcmVyKCkpCi0gICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgICAg
IHByaW50Q29udGV4dC5iZWdpbihmcmFtZS0+Y29udGVudFJlbmRlcmVyKCktPndpZHRoKCkpOwot
ICAgIH0KKyAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gZnJhbWUtPmNvbnRlbnRSZW5kZXJl
cigpOworICAgIGlmICghcmVuZGVyZXIgfHwgIXJlbmRlcmVyLT5pc0JveCgpKQorICAgICAgICBy
ZXR1cm4gU3RyaW5nKCk7CiAKKyAgICBQcmludENvbnRleHQgcHJpbnRDb250ZXh0KGZyYW1lKTsK
KyAgICBpZiAoYmVoYXZpb3IgJiBSZW5kZXJBc1RleHRQcmludGluZ01vZGUpCisgICAgICAgIHBy
aW50Q29udGV4dC5iZWdpbih0b1JlbmRlckJveChyZW5kZXJlciktPndpZHRoKCkpOwogICAgIGlm
ICghKGJlaGF2aW9yICYgUmVuZGVyQXNUZXh0RG9udFVwZGF0ZUxheW91dCkpCiAgICAgICAgIGZy
YW1lLT5kb2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKIAotICAgIFJlbmRlck9iamVjdCogbyA9
IGZyYW1lLT5jb250ZW50UmVuZGVyZXIoKTsKLSAgICBpZiAoIW8pCi0gICAgICAgIHJldHVybiBT
dHJpbmcoKTsKKyAgICByZXR1cm4gZXh0ZXJuYWxSZXByZXNlbnRhdGlvbih0b1JlbmRlckJveChy
ZW5kZXJlciksIGJlaGF2aW9yKTsKK30KIAotICAgIFRleHRTdHJlYW0gdHM7Ci0gICAgaWYgKG8t
Pmhhc0xheWVyKCkpIHsKLSAgICAgICAgUmVuZGVyTGF5ZXIqIGwgPSB0b1JlbmRlckJveChvKS0+
bGF5ZXIoKTsKLSAgICAgICAgd3JpdGVMYXllcnModHMsIGwsIGwsIGwtPnJlY3QoKSwgMCwgYmVo
YXZpb3IpOwotICAgICAgICB3cml0ZVNlbGVjdGlvbih0cywgbyk7Ci0gICAgfQotICAgIHJldHVy
biB0cy5yZWxlYXNlKCk7CitTdHJpbmcgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihFbGVtZW50KiBl
bGVtZW50LCBSZW5kZXJBc1RleHRCZWhhdmlvciBiZWhhdmlvcikKK3sKKyAgICBSZW5kZXJPYmpl
Y3QqIHJlbmRlcmVyID0gZWxlbWVudC0+cmVuZGVyZXIoKTsKKyAgICBpZiAoIXJlbmRlcmVyIHx8
ICFyZW5kZXJlci0+aXNCb3goKSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIC8vIERv
ZXNuJ3Qgc3VwcG9ydCBwcmludGluZyBtb2RlLgorICAgIEFTU0VSVCghKGJlaGF2aW9yICYgUmVu
ZGVyQXNUZXh0UHJpbnRpbmdNb2RlKSk7CisgICAgaWYgKCEoYmVoYXZpb3IgJiBSZW5kZXJBc1Rl
eHREb250VXBkYXRlTGF5b3V0KSAmJiBlbGVtZW50LT5kb2N1bWVudCgpKQorICAgICAgICBlbGVt
ZW50LT5kb2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKKyAgICAKKyAgICByZXR1cm4gZXh0ZXJu
YWxSZXByZXNlbnRhdGlvbih0b1JlbmRlckJveChyZW5kZXJlciksIGJlaGF2aW9yIHwgUmVuZGVy
QXNUZXh0U2hvd0FsbExheWVycyk7CiB9CiAKIHN0YXRpYyB2b2lkIHdyaXRlQ291bnRlclZhbHVl
c0Zyb21DaGlsZHJlbihUZXh0U3RyZWFtJiBzdHJlYW0sIFJlbmRlck9iamVjdCogcGFyZW50LCBi
b29sJiBpc0ZpcnN0Q291bnRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUcmVlQXNUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJl
ZUFzVGV4dC5oCmluZGV4IDRjOGIxNDVkNWEwNTVhMTI2MWY2ZWI5ZWZkYmNlNWM0OGM0MGZkOTcu
LjBhYTcyY2I3MjBkNjhmZjAwY2U2YTRmYjRlMTZlOGIyZDFiOTM4NzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuaApAQCAtNTYsNiArNTYsNyBAQCB0eXBl
ZGVmIHVuc2lnbmVkIFJlbmRlckFzVGV4dEJlaGF2aW9yOwogCiAvLyBZb3UgZG9uJ3QgbmVlZCBw
YWdlV2lkdGhJblBpeGVscyBpZiB5b3UgZG9uJ3Qgc3BlY2lmeSBSZW5kZXJBc1RleHRJblByaW50
aW5nTW9kZS4KIFN0cmluZyBleHRlcm5hbFJlcHJlc2VudGF0aW9uKEZyYW1lKiwgUmVuZGVyQXNU
ZXh0QmVoYXZpb3IgPSBSZW5kZXJBc1RleHRCZWhhdmlvck5vcm1hbCk7CitTdHJpbmcgZXh0ZXJu
YWxSZXByZXNlbnRhdGlvbihFbGVtZW50KiwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgPSBSZW5kZXJB
c1RleHRCZWhhdmlvck5vcm1hbCk7CiB2b2lkIHdyaXRlKFRleHRTdHJlYW0mLCBjb25zdCBSZW5k
ZXJPYmplY3QmLCBpbnQgaW5kZW50ID0gMCwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgPSBSZW5kZXJB
c1RleHRCZWhhdmlvck5vcm1hbCk7CiB2b2lkIHdyaXRlSW5kZW50KFRleHRTdHJlYW0mLCBpbnQg
aW5kZW50KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGM1ODkxM2U5
OWRkMGU0ZDhmMWMyNTdhYzAyNGQ2ODY4N2VlYWMyODQuLmQzODVmMTUwMjVmY2VhYWJhYmY3MjY4
N2E3ZDNhYzhjMTcyNjcxYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAg
LTI2LDYgKzI2LDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnRlcm5hbHMu
aCIKIAorI2luY2x1ZGUgIlJlbmRlclRyZWVBc1RleHQuaCIKKyNpbmNsdWRlICJTaGFkb3dDb250
ZW50RWxlbWVudC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBhc3NSZWZQdHI8SW50ZXJu
YWxzPiBJbnRlcm5hbHM6OmNyZWF0ZSgpCkBAIC00MSw0ICs0NCwzMCBAQCBJbnRlcm5hbHM6Oklu
dGVybmFscygpCiB7CiB9CiAKK1Bhc3NSZWZQdHI8RWxlbWVudD4gSW50ZXJuYWxzOjpjcmVhdGVT
aGFkb3dDb250ZW50RWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVj
KQoreworICAgIGlmICghZG9jdW1lbnQpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19F
UlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIHJldHVybiBTaGFkb3dDb250ZW50
RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKK30KKworU3RyaW5nIEludGVybmFsczo6ZWxlbWVu
dFJlbmRlclRyZWVBc1RleHQoRWxlbWVudCogZWxlbWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7
CisgICAgaWYgKCFlbGVtZW50KSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwor
ICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgfQorCisgICAgU3RyaW5nIHJlcHJlc2VudGF0
aW9uID0gZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihlbGVtZW50KTsKKyAgICBpZiAocmVwcmVzZW50
YXRpb24uaXNFbXB0eSgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAg
ICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgfQorCisgICAgcmV0dXJuIHJlcHJlc2VudGF0aW9u
OworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBjYmJkOWI5YzAzYjQ5
MmJmMWFhNDRjMTExM2I0YjBhNjBkM2U5NGU1Li5lNmQ2MWNiNjg5NzhlYzA0MmZhOTQ5ZGVjYzFh
NDg0NjUzNjYxMTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTI2LDE2ICsy
NiwyMyBAQAogI2lmbmRlZiBJbnRlcm5hbHNfaAogI2RlZmluZSBJbnRlcm5hbHNfaAogCisjaW5j
bHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEb2N1bWVudDsKK2NsYXNzIEVsZW1lbnQ7
CisKIGNsYXNzIEludGVybmFscyA6IHB1YmxpYyBSZWZDb3VudGVkPEludGVybmFscz4gewogcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEludGVybmFscz4gY3JlYXRlKCk7CiAgICAgdmly
dHVhbCB+SW50ZXJuYWxzKCk7CiAKKyAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZVNoYWRv
d0NvbnRlbnRFbGVtZW50KERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOworICAgIFN0cmluZyBl
bGVtZW50UmVuZGVyVHJlZUFzVGV4dChFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogcHJpdmF0
ZToKICAgICBJbnRlcm5hbHMoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwK
aW5kZXggMmRiNDU5NTUzYzk4MDZiMzFkYWZhOTIzNzJhNDczYzZhZDc1NzIyYS4uNzUyOGFiYTYz
MmE1ZGY5YjBkNzMyODNmNGQ2ZDk0MjFiYWE3OGM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmlkbApAQCAtMjUsNiArMjUsOCBAQAogCiBtb2R1bGUgd2luZG93IHsKICAgICBpbnRl
cmZhY2UgW09taXRDb25zdHJ1Y3Rvcl0gSW50ZXJuYWxzIHsKKyAgICAgICAgRWxlbWVudCBjcmVh
dGVTaGFkb3dDb250ZW50RWxlbWVudChpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzKERPTUV4
Y2VwdGlvbik7CisgICAgICAgIERPTVN0cmluZyBlbGVtZW50UmVuZGVyVHJlZUFzVGV4dChpbiBF
bGVtZW50IGVsZW1lbnQpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIH07CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97073</attachid>
            <date>2011-06-13 23:22:59 -0700</date>
            <delta_ts>2011-06-13 23:57:45 -0700</delta_ts>
            <desc>Trying to fix linker errors</desc>
            <filename>bug-62432-20110614152257.patch</filename>
            <type>text/plain</type>
            <size>19029</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODg2MzAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1ODIxMzg4Nzc1YWZjZTNjYzcyMjAz
ZGY0ODc3MjYyZjdiMmFkOTc1Li5kYWY1NmNkNDQyOWE3Y2IwMTBlYTY2YWZiNmUzNzhjYzExODA2
YjQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDYtMTMgIE1PUklUQSBIYWppbWUgIDxt
b3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhlIGludGVybmFscyBvYmplY3Qgc2hvdWxkIGhhdmUgY3JlYXRlU2hhZG93
Q29udGVudEVsZW1lbnQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjI0MzIKKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jcmVhdGUtY29udGVu
dC1lbGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L2NyZWF0ZS1jb250ZW50LWVsZW1lbnQuaHRtbDogQWRkZWQuCisKIDIwMTEtMDYtMTIgIE1PUklU
QSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjg4NjI1LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L2NyZWF0ZS1jb250ZW50LWVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L2NyZWF0ZS1jb250ZW50LWVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdjNWQ0MzYyMmM3OWQ0ODM2OGVkZDM3N2Q0YmUwNzBmMTgzNWUwMWYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3JlYXRlLWNvbnRlbnQtZWxlbWVudC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIHRlc3QgY29tcGFyZXMgYSBzaGFkb3ct
YmFzZWQgcmVuZGVyIHRyZWUgd2l0aCBvbmUgZm9yIGEgcmVmcmVuY2UgRE9NIHRyZWUuCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jcmVhdGUtY29udGVu
dC1lbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3JlYXRlLWNvbnRl
bnQtZWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzNWRlNTZjOGI2ODc0OWNjOWRmMWY4MzdhOTYx
MDNiNmExYmM0NTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvY3JlYXRlLWNvbnRlbnQtZWxlbWVudC5odG1sCkBAIC0wLDAgKzEsNzAgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy8qIHJlbGF0aXZlIHBvc2l0aW9uaW5n
IGVuc3VyZXMgdW5kZXJseWluZyBSZW5kZXJMYXllciAqLworLmNvbnRhaW5lciB7CisgICAgcG9z
aXRpb246IHJlbGF0aXZlOworfQorPC9zdHlsZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2cobWVz
c2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRN
TCArPSAobWVzc2FnZSArICJcbiIpOworfQorCitmdW5jdGlvbiByZW1vdmVDb250YWluZXJMaW5l
cyh0ZXh0KQoreworICAgIHZhciBsaW5lcyA9IHRleHQuc3BsaXQoIlxuIik7CisgICAgbGluZXMu
c3BsaWNlKDAsIDIpOworICAgIHJldHVybiBsaW5lcy5qb2luKCJcbiIpOworfQorCitmdW5jdGlv
biBzZXR1cFRhcmdldFRyZWUoKQoreworICAgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKKyAgICB0YXJnZXQuaW5uZXJIVE1MID0gIjxzcGFuPmNvbnRlbnQ8L3Nw
YW4+IjsKKyAgICB2YXIgcm9vdCA9IGxheW91dFRlc3RDb250cm9sbGVyLmVuc3VyZVNoYWRvd1Jv
b3QodGFyZ2V0KTsKKyAgICAKKyAgICB2YXIgY2hpbGQwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgic3BhbiIpOworICAgIGNoaWxkMC5pbm5lckhUTUwgPSAiSGVsbG8sIjsKKyAgICByb290LmFw
cGVuZENoaWxkKGNoaWxkMCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZCh3aW5kb3cuaW50ZXJuYWxz
LmNyZWF0ZVNoYWRvd0NvbnRlbnRFbGVtZW50KGRvY3VtZW50KSk7CisgICAgdmFyIGNoaWxkMSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgICBjaGlsZDEuaW5uZXJIVE1MID0g
IldvcmxkLiI7CisgICAgcm9vdC5hcHBlbmRDaGlsZChjaGlsZDEpOworCisgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRhcmdldCIpLmFwcGVuZENoaWxkKHRhcmdldCk7Cit9CisKK2Z1bmN0
aW9uIHRlc3QoKQoreworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAg
ICBsb2coIlRoaXMgdGVzdCBjb21wYXJlcyBhIHNoYWRvdy1iYXNlZCByZW5kZXIgdHJlZSB3aXRo
IG9uZSBmb3IgYSByZWZyZW5jZSBET00gdHJlZS4iKTsKKyAgICBzZXR1cFRhcmdldFRyZWUoKTsK
KyAgICB2YXIgdGFyZ2V0Q29udGFpbmVyUmVuZGVyVHJlZSA9IHdpbmRvdy5pbnRlcm5hbHMuZWxl
bWVudFJlbmRlclRyZWVBc1RleHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldENvbnRh
aW5lciIpKTsKKyAgICB2YXIgdGFyZ2V0UmVuZGVyVHJlZSA9IHJlbW92ZUNvbnRhaW5lckxpbmVz
KHRhcmdldENvbnRhaW5lclJlbmRlclRyZWUpOworICAgIHZhciByZWZDb250YWluZXJSZW5kZXJU
cmVlID0gd2luZG93LmludGVybmFscy5lbGVtZW50UmVuZGVyVHJlZUFzVGV4dChkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicmVmQ29udGFpbmVyIikpOworICAgIHZhciByZWZSZW5kZXJUcmVlID0g
cmVtb3ZlQ29udGFpbmVyTGluZXMocmVmQ29udGFpbmVyUmVuZGVyVHJlZSk7CisgICAgaWYgKHRh
cmdldFJlbmRlclRyZWUgPT0gcmVmUmVuZGVyVHJlZSkKKyAgICAgICAgbG9nKCJQQVNTIik7Cisg
ICAgZWxzZSB7CisgICAgICAgIGxvZygiRkFJTCIpOworICAgICAgICBsb2coIkV4cGVjdGVkOiIp
OworICAgICAgICBsb2cocmVmUmVuZGVyVHJlZSk7CisgICAgICAgIGxvZygiQWN0dWFsOiIpOwor
ICAgICAgICBsb2codGFyZ2V0UmVuZGVyVHJlZSk7CisgICAgfQorICAgIAorICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iikuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKK30KKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPGRpdiBpZD0idGVzdCI+Cis8
ZGl2IGNsYXNzPSJjb250YWluZXIiIGlkPSJ0YXJnZXRDb250YWluZXIiPjxkaXYgaWQ9InRhcmdl
dCI+PC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiIGlkPSJyZWZDb250YWluZXIi
PjxkaXY+PGRpdj48c3Bhbj5IZWxsbyw8L3NwYW4+PHNwYW4+Y29udGVudDwvc3Bhbj48c3Bhbj5X
b3JsZC48L3NwYW4+PC9kaXY+PC9kaXY+PC9kaXY+Cis8L2Rpdj4KKzxwcmUgaWQ9ImNvbnNvbGUi
PjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGM3NDQ1OGFkYTU0ZDAzZDI0
NWZiMjFjYjMwZTY4MDQ3YzUwMjFmZTEuLmI5Y2YwODNhY2ZjM2NmMTgzM2Y5ZWZmZDFiYmZjZjRl
Y2UwNjkzZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAxMS0wNi0xMyAgTU9SSVRB
IEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgaW50ZXJuYWxzIG9iamVjdCBzaG91bGQgaGF2ZSBj
cmVhdGVTaGFkb3dDb250ZW50RWxlbWVudCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02MjQzMgorCisgICAgICAgIFRoaXMgY2hhbmdlOgorICAgICAg
ICAtIGFkZGVkIEludGVybmFsczo6Y3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQoKSwgd2hpY2gg
Y3JlYXRlcywKKyAgICAgICAgICBTaGFkb3dDb250ZW50RWxlbWVudCBpbnN0YW5jZSB3aGljaCBp
bmNsdWRlcyBhbGwgaG9zdCBjaGlsZHJlbiwKKyAgICAgICAgLSBhZGRlZCBJbnRlcm5hbHM6OmVs
ZW1lbnRSZW5kZXJUcmVlQXNUZXh0KCkgdG8gaGVscCBjb250ZW50IGxheW91dCB0ZXN0aW5nLCBh
bmQKKyAgICAgICAgLSBVbmFic3RyYWN0ZWQgU2hhZG93Q29udGVudEVsZW1lbnQgYnkgZ2l2aW5n
IGEgZGVmYXVsdCBzaG91bGRJbmNsdWRlKCkgaW1wbGVtZW50YXRpb24uCisgICAgICAgIAorICAg
ICAgICBUZXN0OiBmYXN0L2RvbS9zaGFkb3cvY3JlYXRlLWNvbnRlbnQtZWxlbWVudC5odG1sCisK
KyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBkb20vU2hhZG93Q29udGVudEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Q29udGVudEVsZW1lbnQ6OmNyZWF0
ZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Q29udGVudEVsZW1lbnQ6OlNoYWRv
d0NvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd0NvbnRlbnRFbGVtZW50
Ojp+U2hhZG93Q29udGVudEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Q29udGVu
dEVsZW1lbnQ6OnNob3VsZEluY2x1ZGUpOiBHYXZlIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiB3
aGljaCBhbHdheXMgcmV0dXJucyB0cnVlLgorICAgICAgICAqIGRvbS9TaGFkb3dDb250ZW50RWxl
bWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlN1bW1hcnlDb250ZW50RWxlbWVudDo6U3VtbWFyeUNvbnRlbnRFbGVtZW50KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpleHRlcm5hbFJlcHJlc2VudGF0aW9uKTogRmFjdG9yZWQgb3V0IGZvciBzdXBwb3J0aW4g
cGVyLWVsZW1lbnQgcmVuZGVyIHRyZWUgZHVtcC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
VHJlZUFzVGV4dC5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6Y3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQpOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6ZWxlbWVudFJlbmRlclRyZWVBc1RleHQpOiBk
ZGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuaWRsOgorCiAyMDExLTA2LTEyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgppbmRleCBlYzg3YmIwY2ExNDRlNGU0ZTUyOTQ2MzE1NDJiNDMwMmM2YzE4MTNlLi5hNzZiOTlh
M2IwY2YxZjZjMjAwNzI3MGFmZTdmMTM2NjU1MWY3NzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpA
QCAtNTc3LDYgKzU3Nyw3IEBAIF9fWk43V2ViQ29yZTIyY29udGV4dE1lbnVJdGVtVGFnQm9sZEV2
CiBfX1pON1dlYkNvcmUyMmNvdW50ZXJWYWx1ZUZvckVsZW1lbnRFUE5TXzdFbGVtZW50RQogX19a
TjdXZWJDb3JlMjJjcmVhdGVGcmFnbWVudEZyb21UZXh0RVBOU181UmFuZ2VFUktOM1dURjZTdHJp
bmdFCiBfX1pON1dlYkNvcmUyMmV4dGVybmFsUmVwcmVzZW50YXRpb25FUE5TXzVGcmFtZUVqCitf
X1pON1dlYkNvcmUyMmV4dGVybmFsUmVwcmVzZW50YXRpb25FUE5TXzdFbGVtZW50RWoKIF9fWk43
V2ViQ29yZTIzQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDMUVSS05TXzE1UHJvdGVjdGlvblNwYWNl
RVJLTlNfMTBDcmVkZW50aWFsRWpSS05TXzE2UmVzb3VyY2VSZXNwb25zZUVSS05TXzEzUmVzb3Vy
Y2VFcnJvckUKIF9fWk43V2ViQ29yZTIzUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmRDMUVQTlNfOERv
Y3VtZW50RU4zV1RGMTBQYXNzUmVmUHRySU5TXzE2RG9jdW1lbnRGcmFnbWVudEVFRWpOU18xMEVk
aXRBY3Rpb25FCiBfX1pON1dlYkNvcmUyM2NyZWF0ZUZyYWdtZW50RnJvbU5vZGVzRVBOU184RG9j
dW1lbnRFUktOM1dURjZWZWN0b3JJUE5TXzROb2RlRUxtMEVFRQpAQCAtNzkzLDYgKzc5NCwxNCBA
QCBfX1pON1dlYkNvcmU2RWRpdG9yNmluZGVudEV2CiBfX1pON1dlYkNvcmU2RWRpdG9yN0NvbW1h
bmRDMUV2CiBfX1pON1dlYkNvcmU2RWRpdG9yN2NvbW1hbmRFUktOM1dURjZTdHJpbmdFCiBfX1pO
N1dlYkNvcmU2RWRpdG9yN291dGRlbnRFdgorX19aTjdXZWJDb3JlNkpTTm9kZTZzX2luZm9FCitf
X1pOSzdXZWJDb3JlNkpTTm9kZTIxcHVzaEV2ZW50SGFuZGxlclNjb3BlRVBOM0pTQzlFeGVjU3Rh
dGVFUE5TMV8xNFNjb3BlQ2hhaW5Ob2RlRQorX19aTjdXZWJDb3JlNkpTTm9kZTEzdmlzaXRDaGls
ZHJlbkVSTjNKU0M5TWFya1N0YWNrRQorX19aTjdXZWJDb3JlNkpTTm9kZTNwdXRFUE4zSlNDOUV4
ZWNTdGF0ZUVSS05TMV8xMElkZW50aWZpZXJFTlMxXzdKU1ZhbHVlRVJOUzFfMTVQdXRQcm9wZXJ0
eVNsb3RFCitfX1pON1dlYkNvcmUxMEpTRG9jdW1lbnQzcHV0RVBOM0pTQzlFeGVjU3RhdGVFUktO
UzFfMTBJZGVudGlmaWVyRU5TMV83SlNWYWx1ZUVSTlMxXzE1UHV0UHJvcGVydHlTbG90RQorX19a
TjdXZWJDb3JlMTB0b0RvY3VtZW50RU4zSlNDN0pTVmFsdWVFCitfX1pON1dlYkNvcmUyMFNoYWRv
d0NvbnRlbnRFbGVtZW50NmNyZWF0ZUVQTlNfOERvY3VtZW50RQorX19aTjdXZWJDb3JlMTVzZXRE
T01FeGNlcHRpb25FUE4zSlNDOUV4ZWNTdGF0ZUVpCiBfX1pON1dlYkNvcmU2V2lkZ2V0MTJzZXRG
cmFtZVJlY3RFUktOU183SW50UmVjdEUKIF9fWk43V2ViQ29yZTZXaWRnZXQxM3NldEJvdW5kc1Np
emVFUktOU183SW50U2l6ZUUKIF9fWk43V2ViQ29yZTZXaWRnZXQxNnJlbW92ZUZyb21QYXJlbnRF
dgpAQCAtOTg4LDYgKzk5Nyw3IEBAIF9fWk43V2ViQ29yZTlIVE1MTmFtZXM4dmlkZW9UYWdFCiBf
X1pON1dlYkNvcmU5SFRNTE5hbWVzOWlmcmFtZVRhZ0UKIF9fWk43V2ViQ29yZTlIVE1MTmFtZXM5
b2JqZWN0VGFnRQogX19aTjdXZWJDb3JlOUhUTUxOYW1lczlzY3JpcHRUYWdFCitfX1pON1dlYkNv
cmU5SlNFbGVtZW50M3B1dEVQTjNKU0M5RXhlY1N0YXRlRVJLTlMxXzEwSWRlbnRpZmllckVOUzFf
N0pTVmFsdWVFUk5TMV8xNVB1dFByb3BlcnR5U2xvdEUKIF9fWk43V2ViQ29yZTlKU0VsZW1lbnQ2
c19pbmZvRQogX19aTjdXZWJDb3JlOVBhZ2VDYWNoZTExc2V0Q2FwYWNpdHlFaQogX19aTjdXZWJD
b3JlOVBhZ2VDYWNoZTI3cmVsZWFzZUF1dG9yZWxlYXNlZFBhZ2VzTm93RXYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dDb250ZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuY3BwCmluZGV4IGYxODE3MTQ0MmY4MThjOGI3
MWMyYWNhZjQzNmYzYjA2Nzg0MjQ3MTUuLjZmYWQ0MmIwNzczNmYyOGY1NzcyM2UwOWEzN2Q2ZjQx
Nzg2NTlmYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dDb250ZW50RWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd0NvbnRlbnRFbGVtZW50LmNw
cApAQCAtMjcsMTAgKzI3LDI2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2hh
ZG93Q29udGVudEVsZW1lbnQuaCIKIAorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUg
IlNoYWRvd0NvbnRlbnRTZWxlY3Rvci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK1Bhc3NS
ZWZQdHI8U2hhZG93Q29udGVudEVsZW1lbnQ+IFNoYWRvd0NvbnRlbnRFbGVtZW50OjpjcmVhdGUo
RG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoUXVhbGlmaWVk
TmFtZSwgdGFnTmFtZSwgKG51bGxBdG9tLCAid2Via2l0U2hhZG93Q29udGVudCIsIEhUTUxOYW1l
czo6ZGl2VGFnLm5hbWVzcGFjZVVSSSgpKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTaGFk
b3dDb250ZW50RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOworfQorCitTaGFkb3dDb250ZW50
RWxlbWVudDo6U2hhZG93Q29udGVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQorICAgIDogU3R5bGVkRWxlbWVudChuYW1lLCBkb2N1bWVudCwg
Q3JlYXRlSFRNTEVsZW1lbnQpCit7Cit9CisKK1NoYWRvd0NvbnRlbnRFbGVtZW50Ojp+U2hhZG93
Q29udGVudEVsZW1lbnQoKQoreworfQorCiB2b2lkIFNoYWRvd0NvbnRlbnRFbGVtZW50OjphdHRh
Y2goKQogewogICAgIEFTU0VSVCghZmlyc3RDaGlsZCgpKTsgLy8gQ3VycmVudGx5IGRvZXNuJ3Qg
c3VwcG9ydCBhbnkgbGlnaHQgY2hpbGQuCkBAIC0zOSw0ICs1NSw5IEBAIHZvaWQgU2hhZG93Q29u
dGVudEVsZW1lbnQ6OmF0dGFjaCgpCiAgICAgICAgIHNlbGVjdG9yLT5hdHRhY2hDaGlsZHJlbkZv
cih0aGlzKTsKIH0KIAorYm9vbCBTaGFkb3dDb250ZW50RWxlbWVudDo6c2hvdWxkSW5jbHVkZShO
b2RlKikKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1NoYWRvd0NvbnRlbnRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hh
ZG93Q29udGVudEVsZW1lbnQuaAppbmRleCBmZmY4ZDY3YmE2M2Q1NjEyNzI3NWI3ODM1MDFhZmNh
N2E1ZWQ0YTAwLi5kZmRhZjllOWYzMTQ4Nzk3YTU3ODkzZTU1NzllMmM3MjVkNjE5OTg2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuaApAQCAtNDAsMTQgKzQwLDE1
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIFlvdSBzaG91bGQgY3JlYXRlIFNoYWRvd0NvbnRl
bnRFbGVtZW50IGR1cmluZyB0aGUgaG9zdCBjb25zdHJ1Y3Rpb24uCiBjbGFzcyBTaGFkb3dDb250
ZW50RWxlbWVudCA6IHB1YmxpYyBTdHlsZWRFbGVtZW50IHsKIHB1YmxpYzoKLSAgICBTaGFkb3dD
b250ZW50RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBEb2N1bWVudCogZG9jdW1l
bnQpCi0gICAgICAgIDogU3R5bGVkRWxlbWVudChuYW1lLCBkb2N1bWVudCwgQ3JlYXRlSFRNTEVs
ZW1lbnQpCi0gICAgewotICAgIH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFkb3dDb250ZW50
RWxlbWVudD4gY3JlYXRlKERvY3VtZW50Kik7CiAKLSAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW5j
bHVkZShOb2RlKikgPSAwOworICAgIHZpcnR1YWwgflNoYWRvd0NvbnRlbnRFbGVtZW50KCk7Cisg
ICAgdmlydHVhbCBib29sIHNob3VsZEluY2x1ZGUoTm9kZSopOwogICAgIHZpcnR1YWwgdm9pZCBh
dHRhY2goKTsKIAorcHJvdGVjdGVkOgorICAgIFNoYWRvd0NvbnRlbnRFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCiBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBp
c0NvbnRlbnRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9v
bCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JikgeyByZXR1cm4g
ZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNwcAppbmRl
eCBkNTI0NzU3MjUzN2Y1YWM5MTA0ODlkOTQzZjNiNDhlOWY5M2U5NTQ3Li41MTZiMzNiMWIwYTVj
Y2RmYTQ3ZWE3ZTNlZjM1Nzc1Mjc4Y2E2ZGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxTdW1tYXJ5RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
U3VtbWFyeUVsZW1lbnQuY3BwCkBAIC00Niw4ICs0Niw2IEBAIHByaXZhdGU6CiAgICAgICAgIDog
U2hhZG93Q29udGVudEVsZW1lbnQoSFRNTE5hbWVzOjpkaXZUYWcsIGRvY3VtZW50KQogICAgIHsK
ICAgICB9Ci0KLSAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW5jbHVkZShOb2RlKikgeyByZXR1cm4g
dHJ1ZTsgfQogfTsKIAogUGFzc1JlZlB0cjxTdW1tYXJ5Q29udGVudEVsZW1lbnQ+IFN1bW1hcnlD
b250ZW50RWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAppbmRleCBkMDk2Zjg3OGFlYTM1NWU0
YzMwYzhjYmY0NGMyNzEzMWUzYTY1ZTU5Li5mYzRiNTdkZjQ0YTdiM2JlZjBkYzNlNzNiZDc1YzFk
ZTZjODFmODkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJl
ZUFzVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1Rl
eHQuY3BwCkBAIC03NTYsMjkgKzc1Niw0NCBAQCBzdGF0aWMgdm9pZCB3cml0ZVNlbGVjdGlvbihU
ZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyT2JqZWN0KiBvKQogICAgICAgICAgICA8PCAic2Vs
ZWN0aW9uIGVuZDogICBwb3NpdGlvbiAiIDw8IHNlbGVjdGlvbi5lbmQoKS5kZXByZWNhdGVkRWRp
dGluZ09mZnNldCgpIDw8ICIgb2YgIiA8PCBub2RlUG9zaXRpb24oc2VsZWN0aW9uLmVuZCgpLmRl
cHJlY2F0ZWROb2RlKCkpIDw8ICJcbiI7CiB9CiAKK3N0YXRpYyBTdHJpbmcgZXh0ZXJuYWxSZXBy
ZXNlbnRhdGlvbihSZW5kZXJCb3gqIHJlbmRlcmVyLCBSZW5kZXJBc1RleHRCZWhhdmlvciBiZWhh
dmlvcikKK3sKKyAgICBUZXh0U3RyZWFtIHRzOworICAgIGlmICghcmVuZGVyZXItPmhhc0xheWVy
KCkpCisgICAgICAgIHRzLnJlbGVhc2UoKTsKKyAgICAgICAgCisgICAgUmVuZGVyTGF5ZXIqIGxh
eWVyID0gcmVuZGVyZXItPmxheWVyKCk7CisgICAgd3JpdGVMYXllcnModHMsIGxheWVyLCBsYXll
ciwgbGF5ZXItPnJlY3QoKSwgMCwgYmVoYXZpb3IpOworICAgIHdyaXRlU2VsZWN0aW9uKHRzLCBy
ZW5kZXJlcik7CisgICAgcmV0dXJuIHRzLnJlbGVhc2UoKTsKK30KKwogU3RyaW5nIGV4dGVybmFs
UmVwcmVzZW50YXRpb24oRnJhbWUqIGZyYW1lLCBSZW5kZXJBc1RleHRCZWhhdmlvciBiZWhhdmlv
cikKIHsKLSAgICBQcmludENvbnRleHQgcHJpbnRDb250ZXh0KGZyYW1lKTsKLSAgICBpZiAoYmVo
YXZpb3IgJiBSZW5kZXJBc1RleHRQcmludGluZ01vZGUpIHsKLSAgICAgICAgaWYgKCFmcmFtZS0+
Y29udGVudFJlbmRlcmVyKCkpCi0gICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgICAg
IHByaW50Q29udGV4dC5iZWdpbihmcmFtZS0+Y29udGVudFJlbmRlcmVyKCktPndpZHRoKCkpOwot
ICAgIH0KKyAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gZnJhbWUtPmNvbnRlbnRSZW5kZXJl
cigpOworICAgIGlmICghcmVuZGVyZXIgfHwgIXJlbmRlcmVyLT5pc0JveCgpKQorICAgICAgICBy
ZXR1cm4gU3RyaW5nKCk7CiAKKyAgICBQcmludENvbnRleHQgcHJpbnRDb250ZXh0KGZyYW1lKTsK
KyAgICBpZiAoYmVoYXZpb3IgJiBSZW5kZXJBc1RleHRQcmludGluZ01vZGUpCisgICAgICAgIHBy
aW50Q29udGV4dC5iZWdpbih0b1JlbmRlckJveChyZW5kZXJlciktPndpZHRoKCkpOwogICAgIGlm
ICghKGJlaGF2aW9yICYgUmVuZGVyQXNUZXh0RG9udFVwZGF0ZUxheW91dCkpCiAgICAgICAgIGZy
YW1lLT5kb2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKIAotICAgIFJlbmRlck9iamVjdCogbyA9
IGZyYW1lLT5jb250ZW50UmVuZGVyZXIoKTsKLSAgICBpZiAoIW8pCi0gICAgICAgIHJldHVybiBT
dHJpbmcoKTsKKyAgICByZXR1cm4gZXh0ZXJuYWxSZXByZXNlbnRhdGlvbih0b1JlbmRlckJveChy
ZW5kZXJlciksIGJlaGF2aW9yKTsKK30KIAotICAgIFRleHRTdHJlYW0gdHM7Ci0gICAgaWYgKG8t
Pmhhc0xheWVyKCkpIHsKLSAgICAgICAgUmVuZGVyTGF5ZXIqIGwgPSB0b1JlbmRlckJveChvKS0+
bGF5ZXIoKTsKLSAgICAgICAgd3JpdGVMYXllcnModHMsIGwsIGwsIGwtPnJlY3QoKSwgMCwgYmVo
YXZpb3IpOwotICAgICAgICB3cml0ZVNlbGVjdGlvbih0cywgbyk7Ci0gICAgfQotICAgIHJldHVy
biB0cy5yZWxlYXNlKCk7CitTdHJpbmcgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihFbGVtZW50KiBl
bGVtZW50LCBSZW5kZXJBc1RleHRCZWhhdmlvciBiZWhhdmlvcikKK3sKKyAgICBSZW5kZXJPYmpl
Y3QqIHJlbmRlcmVyID0gZWxlbWVudC0+cmVuZGVyZXIoKTsKKyAgICBpZiAoIXJlbmRlcmVyIHx8
ICFyZW5kZXJlci0+aXNCb3goKSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIC8vIERv
ZXNuJ3Qgc3VwcG9ydCBwcmludGluZyBtb2RlLgorICAgIEFTU0VSVCghKGJlaGF2aW9yICYgUmVu
ZGVyQXNUZXh0UHJpbnRpbmdNb2RlKSk7CisgICAgaWYgKCEoYmVoYXZpb3IgJiBSZW5kZXJBc1Rl
eHREb250VXBkYXRlTGF5b3V0KSAmJiBlbGVtZW50LT5kb2N1bWVudCgpKQorICAgICAgICBlbGVt
ZW50LT5kb2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKKyAgICAKKyAgICByZXR1cm4gZXh0ZXJu
YWxSZXByZXNlbnRhdGlvbih0b1JlbmRlckJveChyZW5kZXJlciksIGJlaGF2aW9yIHwgUmVuZGVy
QXNUZXh0U2hvd0FsbExheWVycyk7CiB9CiAKIHN0YXRpYyB2b2lkIHdyaXRlQ291bnRlclZhbHVl
c0Zyb21DaGlsZHJlbihUZXh0U3RyZWFtJiBzdHJlYW0sIFJlbmRlck9iamVjdCogcGFyZW50LCBi
b29sJiBpc0ZpcnN0Q291bnRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUcmVlQXNUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJl
ZUFzVGV4dC5oCmluZGV4IDRjOGIxNDVkNWEwNTVhMTI2MWY2ZWI5ZWZkYmNlNWM0OGM0MGZkOTcu
LjBhYTcyY2I3MjBkNjhmZjAwY2U2YTRmYjRlMTZlOGIyZDFiOTM4NzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuaApAQCAtNTYsNiArNTYsNyBAQCB0eXBl
ZGVmIHVuc2lnbmVkIFJlbmRlckFzVGV4dEJlaGF2aW9yOwogCiAvLyBZb3UgZG9uJ3QgbmVlZCBw
YWdlV2lkdGhJblBpeGVscyBpZiB5b3UgZG9uJ3Qgc3BlY2lmeSBSZW5kZXJBc1RleHRJblByaW50
aW5nTW9kZS4KIFN0cmluZyBleHRlcm5hbFJlcHJlc2VudGF0aW9uKEZyYW1lKiwgUmVuZGVyQXNU
ZXh0QmVoYXZpb3IgPSBSZW5kZXJBc1RleHRCZWhhdmlvck5vcm1hbCk7CitTdHJpbmcgZXh0ZXJu
YWxSZXByZXNlbnRhdGlvbihFbGVtZW50KiwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgPSBSZW5kZXJB
c1RleHRCZWhhdmlvck5vcm1hbCk7CiB2b2lkIHdyaXRlKFRleHRTdHJlYW0mLCBjb25zdCBSZW5k
ZXJPYmplY3QmLCBpbnQgaW5kZW50ID0gMCwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgPSBSZW5kZXJB
c1RleHRCZWhhdmlvck5vcm1hbCk7CiB2b2lkIHdyaXRlSW5kZW50KFRleHRTdHJlYW0mLCBpbnQg
aW5kZW50KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGM1ODkxM2U5
OWRkMGU0ZDhmMWMyNTdhYzAyNGQ2ODY4N2VlYWMyODQuLmQzODVmMTUwMjVmY2VhYWJhYmY3MjY4
N2E3ZDNhYzhjMTcyNjcxYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAg
LTI2LDYgKzI2LDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnRlcm5hbHMu
aCIKIAorI2luY2x1ZGUgIlJlbmRlclRyZWVBc1RleHQuaCIKKyNpbmNsdWRlICJTaGFkb3dDb250
ZW50RWxlbWVudC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBhc3NSZWZQdHI8SW50ZXJu
YWxzPiBJbnRlcm5hbHM6OmNyZWF0ZSgpCkBAIC00MSw0ICs0NCwzMCBAQCBJbnRlcm5hbHM6Oklu
dGVybmFscygpCiB7CiB9CiAKK1Bhc3NSZWZQdHI8RWxlbWVudD4gSW50ZXJuYWxzOjpjcmVhdGVT
aGFkb3dDb250ZW50RWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVj
KQoreworICAgIGlmICghZG9jdW1lbnQpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19F
UlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIHJldHVybiBTaGFkb3dDb250ZW50
RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKK30KKworU3RyaW5nIEludGVybmFsczo6ZWxlbWVu
dFJlbmRlclRyZWVBc1RleHQoRWxlbWVudCogZWxlbWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7
CisgICAgaWYgKCFlbGVtZW50KSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwor
ICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgfQorCisgICAgU3RyaW5nIHJlcHJlc2VudGF0
aW9uID0gZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihlbGVtZW50KTsKKyAgICBpZiAocmVwcmVzZW50
YXRpb24uaXNFbXB0eSgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAg
ICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgfQorCisgICAgcmV0dXJuIHJlcHJlc2VudGF0aW9u
OworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBjYmJkOWI5YzAzYjQ5
MmJmMWFhNDRjMTExM2I0YjBhNjBkM2U5NGU1Li5lNmQ2MWNiNjg5NzhlYzA0MmZhOTQ5ZGVjYzFh
NDg0NjUzNjYxMTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTI2LDE2ICsy
NiwyMyBAQAogI2lmbmRlZiBJbnRlcm5hbHNfaAogI2RlZmluZSBJbnRlcm5hbHNfaAogCisjaW5j
bHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEb2N1bWVudDsKK2NsYXNzIEVsZW1lbnQ7
CisKIGNsYXNzIEludGVybmFscyA6IHB1YmxpYyBSZWZDb3VudGVkPEludGVybmFscz4gewogcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEludGVybmFscz4gY3JlYXRlKCk7CiAgICAgdmly
dHVhbCB+SW50ZXJuYWxzKCk7CiAKKyAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZVNoYWRv
d0NvbnRlbnRFbGVtZW50KERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOworICAgIFN0cmluZyBl
bGVtZW50UmVuZGVyVHJlZUFzVGV4dChFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogcHJpdmF0
ZToKICAgICBJbnRlcm5hbHMoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwK
aW5kZXggMmRiNDU5NTUzYzk4MDZiMzFkYWZhOTIzNzJhNDczYzZhZDc1NzIyYS4uNzUyOGFiYTYz
MmE1ZGY5YjBkNzMyODNmNGQ2ZDk0MjFiYWE3OGM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmlkbApAQCAtMjUsNiArMjUsOCBAQAogCiBtb2R1bGUgd2luZG93IHsKICAgICBpbnRl
cmZhY2UgW09taXRDb25zdHJ1Y3Rvcl0gSW50ZXJuYWxzIHsKKyAgICAgICAgRWxlbWVudCBjcmVh
dGVTaGFkb3dDb250ZW50RWxlbWVudChpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzKERPTUV4
Y2VwdGlvbik7CisgICAgICAgIERPTVN0cmluZyBlbGVtZW50UmVuZGVyVHJlZUFzVGV4dChpbiBF
bGVtZW50IGVsZW1lbnQpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIH07CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCBmOWU5MzNhNmVlMjg0NWZkMWNjY2NhOWEzMDk4NDZlMjE1MjE4MjhhLi42MTQ2Yzdk
OTM0NmFkZGE0YWUyNmE4MWRlNzhhMmIyOTI5N2Q1ZGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTEtMDYtMTMgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGludGVy
bmFscyBvYmplY3Qgc2hvdWxkIGhhdmUgY3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQoKQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI0MzIgICAgICAg
IAorCisgICAgICAgICogd2luL1dlYktpdDIuZGVmOiBBZGRlZCBzb21lIG1vcmUgc3ltYm9scyBu
ZWNlc3NhcnkgZm9yCisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMgdG8gZnVuY3Rpb24gdG8gdGhl
IGdsb2JhbCBzeW1ib2wgbGlzdC4KKwogMjAxMS0wNi0xMiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYgYi9Tb3VyY2UvV2ViS2l0
Mi93aW4vV2ViS2l0Mi5kZWYKaW5kZXggMWM3MWEyNTczZWI0NTM2NTRjOWQ2NWJmZWM2NjUyZDQw
Y2UzYWYzYi4uZmJlYzk1ZmU4YjY1OTNiOWExOGYwNzA0NDMzMDBjYjY1ZWU5MDNjNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQy
L3dpbi9XZWJLaXQyLmRlZgpAQCAtMTM4LDMgKzEzOCwxMCBAQCBFWFBPUlRTCiAgICAgICAgID9n
ZXRDYWNoZWRET01TdHJ1Y3R1cmVAV2ViQ29yZUBAWUFQQVZTdHJ1Y3R1cmVASlNDQEBQQVZKU0RP
TUdsb2JhbE9iamVjdEAxQFBCVUNsYXNzSW5mb0AzQEBaCiAgICAgICAgID9jYWNoZURPTVN0cnVj
dHVyZUBXZWJDb3JlQEBZQVBBVlN0cnVjdHVyZUBKU0NAQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFA
UEFWMjNAUEJVQ2xhc3NJbmZvQDNAQFoKICAgICAgICAgP3ZpcnR1YWxGdW5jdGlvblRvUHJldmVu
dFdlYWtWdGFibGVASlNET01XcmFwcGVyQFdlYkNvcmVAQE1BRVhYWgorICAgICAgICA/Y3JlYXRl
QFNoYWRvd0NvbnRlbnRFbGVtZW50QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTaGFkb3dD
b250ZW50RWxlbWVudEBXZWJDb3JlQEBAV1RGQEBQQVZEb2N1bWVudEAyQEBaCisgICAgICAgID9l
eHRlcm5hbFJlcHJlc2VudGF0aW9uQFdlYkNvcmVAQFlBP0FWU3RyaW5nQFdURkBAUEFWRWxlbWVu
dEAxQElAWgorICAgICAgICA/c2V0RE9NRXhjZXB0aW9uQFdlYkNvcmVAQFlBWFBBVkV4ZWNTdGF0
ZUBKU0NAQEhAWgorICAgICAgICA/dG9Eb2N1bWVudEBXZWJDb3JlQEBZQVBBVkRvY3VtZW50QDFA
VkpTVmFsdWVASlNDQEBAWgorICAgICAgICA/Y3JlYXRlV3JhcHBlckBXZWJDb3JlQEBZQT9BVkpT
VmFsdWVASlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVk5vZGVA
MUBAWgorICAgICAgICA/dG9FbGVtZW50QFdlYkNvcmVAQFlBUEFWRWxlbWVudEAxQFZKU1ZhbHVl
QEpTQ0BAQFoKKyAgICAgICAgP2pzU3RyaW5nU2xvd0Nhc2VAV2ViQ29yZUBAWUE/QVZKU1ZhbHVl
QEpTQ0BAUEFWRXhlY1N0YXRlQDNAQUFWPyRIYXNoTWFwQFBBVlN0cmluZ0ltcGxAV1RGQEBWPyRX
ZWFrQFZKU1N0cmluZ0BKU0NAQEBKU0NAQFVTdHJpbmdIYXNoQDJAVT8kSGFzaFRyYWl0c0BQQVZT
dHJpbmdJbXBsQFdURkBAQDJAVT8kSGFzaFRyYWl0c0BWPyRXZWFrQFZKU1N0cmluZ0BKU0NAQEBK
U0NAQEAyQEBXVEZAQFBBVlN0cmluZ0ltcGxANkBAWgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2Uv
YXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IDczM2E2OWY2ZjRlYzU3NDI4NGNmM2QyNTUw
YTc5MzUzZjJiZDc0ZmUuLjQwMzdlZTVlNTM5N2JkYTFiMjQ4ZjAzYzViMjg0YTcxNWZkOWNjOWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNl
L2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtMjksNiArMjksMTEgQEAgX1pOMjREdW1wUmVu
ZGVyVHJlZVN1cHBvcnRHdGsqOwogX1pON1dlYkNvcmUyMWdldENhY2hlZERPTVN0cnVjdHVyZUVQ
TlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQS04zSlNDOUNsYXNzSW5mb0U7CiBfWk43V2ViQ29yZTE3
Y2FjaGVET01TdHJ1Y3R1cmVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE4zSlNDOVN0cnVjdHVy
ZUVQS05TMl85Q2xhc3NJbmZvRTsKIF9aTjdXZWJDb3JlMTJKU0RPTVdyYXBwZXIzNHZpcnR1YWxG
dW5jdGlvblRvUHJldmVudFdlYWtWdGFibGVFdjsKK19aVE43V2ViQ29yZTEwSlNEb2N1bWVudCoK
K19aVE43V2ViQ29yZTZKU05vZGUqCitfWk43V2ViQ29yZTlKU0VsZW1lbnQqCitfWk43V2ViQ29y
ZTIwU2hhZG93Q29udGVudEVsZW1lbnQ2Y3JlYXRlKgorX1pON1dlYkNvcmUyMmV4dGVybmFsUmVw
cmVzZW50YXRpb25FUE5TXzdFbGVtZW50RWoKIGxvY2FsOgogX1oqOwogY3RpKjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97076</attachid>
            <date>2011-06-13 23:57:53 -0700</date>
            <delta_ts>2011-06-14 01:59:55 -0700</delta_ts>
            <desc>Passed Win. Attacking Gtk.</desc>
            <filename>bug-62432-20110614155751.patch</filename>
            <type>text/plain</type>
            <size>19712</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODg2MzAKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCAxZGMwZWRmYmNjM2M5NmI4ZjYyYzI1MmUzZDNlMDU5YjkyZmIxNmE3Li4wYjQ2
NDEwNWNhNDRlMWFhMTlmZTY1NDRlMTcwOTJkYzJkYTE2MGUzIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDYtMTMgIE1PUklUQSBI
YWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhlIGludGVybmFscyBvYmplY3Qgc2hvdWxkIGhhdmUgY3Jl
YXRlU2hhZG93Q29udGVudEVsZW1lbnQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjI0MzIgICAgICAgIAorCisgICAgICAgICogU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlcjogQWRkZWQgc29tZSBtb3JlIHN5bWJvbHMgbmVjZXNzYXJ5IGZv
cgorICAgICAgICB3aW5kb3cuaW50ZXJuYWxzIHRvIGZ1bmN0aW9uIHRvIHRoZSBnbG9iYWwgc3lt
Ym9sIGxpc3QuCisgICAgICAgIAorCiAyMDExLTA2LTEwICBMdWNhcyBEZSBNYXJjaGkgIDxsdWNh
cy5kZW1hcmNoaUBwcm9mdXNpb24ubW9iaT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRo
IFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1ODIxMzg4Nzc1YWZjZTNjYzcyMjAzZGY0ODc3
MjYyZjdiMmFkOTc1Li5kYWY1NmNkNDQyOWE3Y2IwMTBlYTY2YWZiNmUzNzhjYzExODA2YjQ0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDYtMTMgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRh
QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhlIGludGVybmFscyBvYmplY3Qgc2hvdWxkIGhhdmUgY3JlYXRlU2hhZG93Q29udGVu
dEVsZW1lbnQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjI0MzIKKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jcmVhdGUtY29udGVudC1lbGVt
ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NyZWF0
ZS1jb250ZW50LWVsZW1lbnQuaHRtbDogQWRkZWQuCisKIDIwMTEtMDYtMTIgIE1PUklUQSBIYWpp
bWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjg4NjI1LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NyZWF0
ZS1jb250ZW50LWVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2NyZWF0ZS1jb250ZW50LWVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjNWQ0
MzYyMmM3OWQ0ODM2OGVkZDM3N2Q0YmUwNzBmMTgzNWUwMWYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3JlYXRlLWNvbnRlbnQtZWxlbWVudC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIHRlc3QgY29tcGFyZXMgYSBzaGFkb3ctYmFzZWQg
cmVuZGVyIHRyZWUgd2l0aCBvbmUgZm9yIGEgcmVmcmVuY2UgRE9NIHRyZWUuCitQQVNTCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jcmVhdGUtY29udGVudC1lbGVt
ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3JlYXRlLWNvbnRlbnQtZWxl
bWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzNWRlNTZjOGI2ODc0OWNjOWRmMWY4MzdhOTYxMDNiNmEx
YmM0NTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3Jl
YXRlLWNvbnRlbnQtZWxlbWVudC5odG1sCkBAIC0wLDAgKzEsNzAgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy8qIHJlbGF0aXZlIHBvc2l0aW9uaW5nIGVuc3Vy
ZXMgdW5kZXJseWluZyBSZW5kZXJMYXllciAqLworLmNvbnRhaW5lciB7CisgICAgcG9zaXRpb246
IHJlbGF0aXZlOworfQorPC9zdHlsZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2cobWVzc2FnZSkK
K3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCArPSAo
bWVzc2FnZSArICJcbiIpOworfQorCitmdW5jdGlvbiByZW1vdmVDb250YWluZXJMaW5lcyh0ZXh0
KQoreworICAgIHZhciBsaW5lcyA9IHRleHQuc3BsaXQoIlxuIik7CisgICAgbGluZXMuc3BsaWNl
KDAsIDIpOworICAgIHJldHVybiBsaW5lcy5qb2luKCJcbiIpOworfQorCitmdW5jdGlvbiBzZXR1
cFRhcmdldFRyZWUoKQoreworICAgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKKyAgICB0YXJnZXQuaW5uZXJIVE1MID0gIjxzcGFuPmNvbnRlbnQ8L3NwYW4+IjsK
KyAgICB2YXIgcm9vdCA9IGxheW91dFRlc3RDb250cm9sbGVyLmVuc3VyZVNoYWRvd1Jvb3QodGFy
Z2V0KTsKKyAgICAKKyAgICB2YXIgY2hpbGQwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3Bh
biIpOworICAgIGNoaWxkMC5pbm5lckhUTUwgPSAiSGVsbG8sIjsKKyAgICByb290LmFwcGVuZENo
aWxkKGNoaWxkMCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZCh3aW5kb3cuaW50ZXJuYWxzLmNyZWF0
ZVNoYWRvd0NvbnRlbnRFbGVtZW50KGRvY3VtZW50KSk7CisgICAgdmFyIGNoaWxkMSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgICBjaGlsZDEuaW5uZXJIVE1MID0gIldvcmxk
LiI7CisgICAgcm9vdC5hcHBlbmRDaGlsZChjaGlsZDEpOworCisgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRhcmdldCIpLmFwcGVuZENoaWxkKHRhcmdldCk7Cit9CisKK2Z1bmN0aW9uIHRl
c3QoKQoreworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsb2co
IlRoaXMgdGVzdCBjb21wYXJlcyBhIHNoYWRvdy1iYXNlZCByZW5kZXIgdHJlZSB3aXRoIG9uZSBm
b3IgYSByZWZyZW5jZSBET00gdHJlZS4iKTsKKyAgICBzZXR1cFRhcmdldFRyZWUoKTsKKyAgICB2
YXIgdGFyZ2V0Q29udGFpbmVyUmVuZGVyVHJlZSA9IHdpbmRvdy5pbnRlcm5hbHMuZWxlbWVudFJl
bmRlclRyZWVBc1RleHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldENvbnRhaW5lciIp
KTsKKyAgICB2YXIgdGFyZ2V0UmVuZGVyVHJlZSA9IHJlbW92ZUNvbnRhaW5lckxpbmVzKHRhcmdl
dENvbnRhaW5lclJlbmRlclRyZWUpOworICAgIHZhciByZWZDb250YWluZXJSZW5kZXJUcmVlID0g
d2luZG93LmludGVybmFscy5lbGVtZW50UmVuZGVyVHJlZUFzVGV4dChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicmVmQ29udGFpbmVyIikpOworICAgIHZhciByZWZSZW5kZXJUcmVlID0gcmVtb3Zl
Q29udGFpbmVyTGluZXMocmVmQ29udGFpbmVyUmVuZGVyVHJlZSk7CisgICAgaWYgKHRhcmdldFJl
bmRlclRyZWUgPT0gcmVmUmVuZGVyVHJlZSkKKyAgICAgICAgbG9nKCJQQVNTIik7CisgICAgZWxz
ZSB7CisgICAgICAgIGxvZygiRkFJTCIpOworICAgICAgICBsb2coIkV4cGVjdGVkOiIpOworICAg
ICAgICBsb2cocmVmUmVuZGVyVHJlZSk7CisgICAgICAgIGxvZygiQWN0dWFsOiIpOworICAgICAg
ICBsb2codGFyZ2V0UmVuZGVyVHJlZSk7CisgICAgfQorICAgIAorICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0ZXN0Iikuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKK30KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPGRpdiBpZD0idGVzdCI+Cis8ZGl2IGNs
YXNzPSJjb250YWluZXIiIGlkPSJ0YXJnZXRDb250YWluZXIiPjxkaXYgaWQ9InRhcmdldCI+PC9k
aXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiIGlkPSJyZWZDb250YWluZXIiPjxkaXY+
PGRpdj48c3Bhbj5IZWxsbyw8L3NwYW4+PHNwYW4+Y29udGVudDwvc3Bhbj48c3Bhbj5Xb3JsZC48
L3NwYW4+PC9kaXY+PC9kaXY+PC9kaXY+Cis8L2Rpdj4KKzxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJl
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGM3NDQ1OGFkYTU0ZDAzZDI0NWZiMjFj
YjMwZTY4MDQ3YzUwMjFmZTEuLmI5Y2YwODNhY2ZjM2NmMTgzM2Y5ZWZmZDFiYmZjZjRlY2UwNjkz
ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAxMS0wNi0xMyAgTU9SSVRBIEhhamlt
ZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGUgaW50ZXJuYWxzIG9iamVjdCBzaG91bGQgaGF2ZSBjcmVhdGVT
aGFkb3dDb250ZW50RWxlbWVudCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MjQzMgorCisgICAgICAgIFRoaXMgY2hhbmdlOgorICAgICAgICAtIGFk
ZGVkIEludGVybmFsczo6Y3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQoKSwgd2hpY2ggY3JlYXRl
cywKKyAgICAgICAgICBTaGFkb3dDb250ZW50RWxlbWVudCBpbnN0YW5jZSB3aGljaCBpbmNsdWRl
cyBhbGwgaG9zdCBjaGlsZHJlbiwKKyAgICAgICAgLSBhZGRlZCBJbnRlcm5hbHM6OmVsZW1lbnRS
ZW5kZXJUcmVlQXNUZXh0KCkgdG8gaGVscCBjb250ZW50IGxheW91dCB0ZXN0aW5nLCBhbmQKKyAg
ICAgICAgLSBVbmFic3RyYWN0ZWQgU2hhZG93Q29udGVudEVsZW1lbnQgYnkgZ2l2aW5nIGEgZGVm
YXVsdCBzaG91bGRJbmNsdWRlKCkgaW1wbGVtZW50YXRpb24uCisgICAgICAgIAorICAgICAgICBU
ZXN0OiBmYXN0L2RvbS9zaGFkb3cvY3JlYXRlLWNvbnRlbnQtZWxlbWVudC5odG1sCisKKyAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBkb20vU2hhZG93Q29udGVudEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Q29udGVudEVsZW1lbnQ6OmNyZWF0ZSk6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Q29udGVudEVsZW1lbnQ6OlNoYWRvd0NvbnRl
bnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd0NvbnRlbnRFbGVtZW50Ojp+U2hh
ZG93Q29udGVudEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Q29udGVudEVsZW1l
bnQ6OnNob3VsZEluY2x1ZGUpOiBHYXZlIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiB3aGljaCBh
bHdheXMgcmV0dXJucyB0cnVlLgorICAgICAgICAqIGRvbS9TaGFkb3dDb250ZW50RWxlbWVudC5o
OgorICAgICAgICAqIGh0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlN1bW1hcnlDb250ZW50RWxlbWVudDo6U3VtbWFyeUNvbnRlbnRFbGVtZW50KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpl
eHRlcm5hbFJlcHJlc2VudGF0aW9uKTogRmFjdG9yZWQgb3V0IGZvciBzdXBwb3J0aW4gcGVyLWVs
ZW1lbnQgcmVuZGVyIHRyZWUgZHVtcC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVHJlZUFz
VGV4dC5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsczo6Y3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQpOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkludGVybmFsczo6ZWxlbWVudFJlbmRlclRyZWVBc1RleHQpOiBkZGVkLgor
ICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuaWRsOgorCiAyMDExLTA2LTEyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRl
eCBlYzg3YmIwY2ExNDRlNGU0ZTUyOTQ2MzE1NDJiNDMwMmM2YzE4MTNlLi5hNzZiOTlhM2IwY2Yx
ZjZjMjAwNzI3MGFmZTdmMTM2NjU1MWY3NzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNTc3
LDYgKzU3Nyw3IEBAIF9fWk43V2ViQ29yZTIyY29udGV4dE1lbnVJdGVtVGFnQm9sZEV2CiBfX1pO
N1dlYkNvcmUyMmNvdW50ZXJWYWx1ZUZvckVsZW1lbnRFUE5TXzdFbGVtZW50RQogX19aTjdXZWJD
b3JlMjJjcmVhdGVGcmFnbWVudEZyb21UZXh0RVBOU181UmFuZ2VFUktOM1dURjZTdHJpbmdFCiBf
X1pON1dlYkNvcmUyMmV4dGVybmFsUmVwcmVzZW50YXRpb25FUE5TXzVGcmFtZUVqCitfX1pON1dl
YkNvcmUyMmV4dGVybmFsUmVwcmVzZW50YXRpb25FUE5TXzdFbGVtZW50RWoKIF9fWk43V2ViQ29y
ZTIzQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDMUVSS05TXzE1UHJvdGVjdGlvblNwYWNlRVJLTlNf
MTBDcmVkZW50aWFsRWpSS05TXzE2UmVzb3VyY2VSZXNwb25zZUVSS05TXzEzUmVzb3VyY2VFcnJv
ckUKIF9fWk43V2ViQ29yZTIzUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmRDMUVQTlNfOERvY3VtZW50
RU4zV1RGMTBQYXNzUmVmUHRySU5TXzE2RG9jdW1lbnRGcmFnbWVudEVFRWpOU18xMEVkaXRBY3Rp
b25FCiBfX1pON1dlYkNvcmUyM2NyZWF0ZUZyYWdtZW50RnJvbU5vZGVzRVBOU184RG9jdW1lbnRF
UktOM1dURjZWZWN0b3JJUE5TXzROb2RlRUxtMEVFRQpAQCAtNzkzLDYgKzc5NCwxNCBAQCBfX1pO
N1dlYkNvcmU2RWRpdG9yNmluZGVudEV2CiBfX1pON1dlYkNvcmU2RWRpdG9yN0NvbW1hbmRDMUV2
CiBfX1pON1dlYkNvcmU2RWRpdG9yN2NvbW1hbmRFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNv
cmU2RWRpdG9yN291dGRlbnRFdgorX19aTjdXZWJDb3JlNkpTTm9kZTZzX2luZm9FCitfX1pOSzdX
ZWJDb3JlNkpTTm9kZTIxcHVzaEV2ZW50SGFuZGxlclNjb3BlRVBOM0pTQzlFeGVjU3RhdGVFUE5T
MV8xNFNjb3BlQ2hhaW5Ob2RlRQorX19aTjdXZWJDb3JlNkpTTm9kZTEzdmlzaXRDaGlsZHJlbkVS
TjNKU0M5TWFya1N0YWNrRQorX19aTjdXZWJDb3JlNkpTTm9kZTNwdXRFUE4zSlNDOUV4ZWNTdGF0
ZUVSS05TMV8xMElkZW50aWZpZXJFTlMxXzdKU1ZhbHVlRVJOUzFfMTVQdXRQcm9wZXJ0eVNsb3RF
CitfX1pON1dlYkNvcmUxMEpTRG9jdW1lbnQzcHV0RVBOM0pTQzlFeGVjU3RhdGVFUktOUzFfMTBJ
ZGVudGlmaWVyRU5TMV83SlNWYWx1ZUVSTlMxXzE1UHV0UHJvcGVydHlTbG90RQorX19aTjdXZWJD
b3JlMTB0b0RvY3VtZW50RU4zSlNDN0pTVmFsdWVFCitfX1pON1dlYkNvcmUyMFNoYWRvd0NvbnRl
bnRFbGVtZW50NmNyZWF0ZUVQTlNfOERvY3VtZW50RQorX19aTjdXZWJDb3JlMTVzZXRET01FeGNl
cHRpb25FUE4zSlNDOUV4ZWNTdGF0ZUVpCiBfX1pON1dlYkNvcmU2V2lkZ2V0MTJzZXRGcmFtZVJl
Y3RFUktOU183SW50UmVjdEUKIF9fWk43V2ViQ29yZTZXaWRnZXQxM3NldEJvdW5kc1NpemVFUktO
U183SW50U2l6ZUUKIF9fWk43V2ViQ29yZTZXaWRnZXQxNnJlbW92ZUZyb21QYXJlbnRFdgpAQCAt
OTg4LDYgKzk5Nyw3IEBAIF9fWk43V2ViQ29yZTlIVE1MTmFtZXM4dmlkZW9UYWdFCiBfX1pON1dl
YkNvcmU5SFRNTE5hbWVzOWlmcmFtZVRhZ0UKIF9fWk43V2ViQ29yZTlIVE1MTmFtZXM5b2JqZWN0
VGFnRQogX19aTjdXZWJDb3JlOUhUTUxOYW1lczlzY3JpcHRUYWdFCitfX1pON1dlYkNvcmU5SlNF
bGVtZW50M3B1dEVQTjNKU0M5RXhlY1N0YXRlRVJLTlMxXzEwSWRlbnRpZmllckVOUzFfN0pTVmFs
dWVFUk5TMV8xNVB1dFByb3BlcnR5U2xvdEUKIF9fWk43V2ViQ29yZTlKU0VsZW1lbnQ2c19pbmZv
RQogX19aTjdXZWJDb3JlOVBhZ2VDYWNoZTExc2V0Q2FwYWNpdHlFaQogX19aTjdXZWJDb3JlOVBh
Z2VDYWNoZTI3cmVsZWFzZUF1dG9yZWxlYXNlZFBhZ2VzTm93RXYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TaGFkb3dDb250ZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vU2hhZG93Q29udGVudEVsZW1lbnQuY3BwCmluZGV4IGYxODE3MTQ0MmY4MThjOGI3MWMyYWNh
ZjQzNmYzYjA2Nzg0MjQ3MTUuLjZmYWQ0MmIwNzczNmYyOGY1NzcyM2UwOWEzN2Q2ZjQxNzg2NTlm
YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dDb250ZW50RWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd0NvbnRlbnRFbGVtZW50LmNwcApAQCAt
MjcsMTAgKzI3LDI2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2hhZG93Q29u
dGVudEVsZW1lbnQuaCIKIAorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIlNoYWRv
d0NvbnRlbnRTZWxlY3Rvci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK1Bhc3NSZWZQdHI8
U2hhZG93Q29udGVudEVsZW1lbnQ+IFNoYWRvd0NvbnRlbnRFbGVtZW50OjpjcmVhdGUoRG9jdW1l
bnQqIGRvY3VtZW50KQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoUXVhbGlmaWVkTmFtZSwg
dGFnTmFtZSwgKG51bGxBdG9tLCAid2Via2l0U2hhZG93Q29udGVudCIsIEhUTUxOYW1lczo6ZGl2
VGFnLm5hbWVzcGFjZVVSSSgpKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTaGFkb3dDb250
ZW50RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOworfQorCitTaGFkb3dDb250ZW50RWxlbWVu
dDo6U2hhZG93Q29udGVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgRG9jdW1l
bnQqIGRvY3VtZW50KQorICAgIDogU3R5bGVkRWxlbWVudChuYW1lLCBkb2N1bWVudCwgQ3JlYXRl
SFRNTEVsZW1lbnQpCit7Cit9CisKK1NoYWRvd0NvbnRlbnRFbGVtZW50Ojp+U2hhZG93Q29udGVu
dEVsZW1lbnQoKQoreworfQorCiB2b2lkIFNoYWRvd0NvbnRlbnRFbGVtZW50OjphdHRhY2goKQog
ewogICAgIEFTU0VSVCghZmlyc3RDaGlsZCgpKTsgLy8gQ3VycmVudGx5IGRvZXNuJ3Qgc3VwcG9y
dCBhbnkgbGlnaHQgY2hpbGQuCkBAIC0zOSw0ICs1NSw5IEBAIHZvaWQgU2hhZG93Q29udGVudEVs
ZW1lbnQ6OmF0dGFjaCgpCiAgICAgICAgIHNlbGVjdG9yLT5hdHRhY2hDaGlsZHJlbkZvcih0aGlz
KTsKIH0KIAorYm9vbCBTaGFkb3dDb250ZW50RWxlbWVudDo6c2hvdWxkSW5jbHVkZShOb2RlKikK
K3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NoYWRvd0NvbnRlbnRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Q29u
dGVudEVsZW1lbnQuaAppbmRleCBmZmY4ZDY3YmE2M2Q1NjEyNzI3NWI3ODM1MDFhZmNhN2E1ZWQ0
YTAwLi5kZmRhZjllOWYzMTQ4Nzk3YTU3ODkzZTU1NzllMmM3MjVkNjE5OTg2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuaApAQCAtNDAsMTQgKzQwLDE1IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIC8vIFlvdSBzaG91bGQgY3JlYXRlIFNoYWRvd0NvbnRlbnRFbGVt
ZW50IGR1cmluZyB0aGUgaG9zdCBjb25zdHJ1Y3Rpb24uCiBjbGFzcyBTaGFkb3dDb250ZW50RWxl
bWVudCA6IHB1YmxpYyBTdHlsZWRFbGVtZW50IHsKIHB1YmxpYzoKLSAgICBTaGFkb3dDb250ZW50
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi0g
ICAgICAgIDogU3R5bGVkRWxlbWVudChuYW1lLCBkb2N1bWVudCwgQ3JlYXRlSFRNTEVsZW1lbnQp
Ci0gICAgewotICAgIH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFkb3dDb250ZW50RWxlbWVu
dD4gY3JlYXRlKERvY3VtZW50Kik7CiAKLSAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW5jbHVkZShO
b2RlKikgPSAwOworICAgIHZpcnR1YWwgflNoYWRvd0NvbnRlbnRFbGVtZW50KCk7CisgICAgdmly
dHVhbCBib29sIHNob3VsZEluY2x1ZGUoTm9kZSopOwogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2go
KTsKIAorcHJvdGVjdGVkOgorICAgIFNoYWRvd0NvbnRlbnRFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCopOworCiBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBpc0NvbnRl
bnRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCByZW5k
ZXJlcklzTmVlZGVkKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JikgeyByZXR1cm4gZmFsc2U7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNwcAppbmRleCBkNTI0
NzU3MjUzN2Y1YWM5MTA0ODlkOTQzZjNiNDhlOWY5M2U5NTQ3Li41MTZiMzNiMWIwYTVjY2RmYTQ3
ZWE3ZTNlZjM1Nzc1Mjc4Y2E2ZGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxTdW1tYXJ5RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3VtbWFy
eUVsZW1lbnQuY3BwCkBAIC00Niw4ICs0Niw2IEBAIHByaXZhdGU6CiAgICAgICAgIDogU2hhZG93
Q29udGVudEVsZW1lbnQoSFRNTE5hbWVzOjpkaXZUYWcsIGRvY3VtZW50KQogICAgIHsKICAgICB9
Ci0KLSAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW5jbHVkZShOb2RlKikgeyByZXR1cm4gdHJ1ZTsg
fQogfTsKIAogUGFzc1JlZlB0cjxTdW1tYXJ5Q29udGVudEVsZW1lbnQ+IFN1bW1hcnlDb250ZW50
RWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAppbmRleCBkMDk2Zjg3OGFlYTM1NWU0YzMwYzhj
YmY0NGMyNzEzMWUzYTY1ZTU5Li5mYzRiNTdkZjQ0YTdiM2JlZjBkYzNlNzNiZDc1YzFkZTZjODFm
ODkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3Bw
CkBAIC03NTYsMjkgKzc1Niw0NCBAQCBzdGF0aWMgdm9pZCB3cml0ZVNlbGVjdGlvbihUZXh0U3Ry
ZWFtJiB0cywgY29uc3QgUmVuZGVyT2JqZWN0KiBvKQogICAgICAgICAgICA8PCAic2VsZWN0aW9u
IGVuZDogICBwb3NpdGlvbiAiIDw8IHNlbGVjdGlvbi5lbmQoKS5kZXByZWNhdGVkRWRpdGluZ09m
ZnNldCgpIDw8ICIgb2YgIiA8PCBub2RlUG9zaXRpb24oc2VsZWN0aW9uLmVuZCgpLmRlcHJlY2F0
ZWROb2RlKCkpIDw8ICJcbiI7CiB9CiAKK3N0YXRpYyBTdHJpbmcgZXh0ZXJuYWxSZXByZXNlbnRh
dGlvbihSZW5kZXJCb3gqIHJlbmRlcmVyLCBSZW5kZXJBc1RleHRCZWhhdmlvciBiZWhhdmlvcikK
K3sKKyAgICBUZXh0U3RyZWFtIHRzOworICAgIGlmICghcmVuZGVyZXItPmhhc0xheWVyKCkpCisg
ICAgICAgIHRzLnJlbGVhc2UoKTsKKyAgICAgICAgCisgICAgUmVuZGVyTGF5ZXIqIGxheWVyID0g
cmVuZGVyZXItPmxheWVyKCk7CisgICAgd3JpdGVMYXllcnModHMsIGxheWVyLCBsYXllciwgbGF5
ZXItPnJlY3QoKSwgMCwgYmVoYXZpb3IpOworICAgIHdyaXRlU2VsZWN0aW9uKHRzLCByZW5kZXJl
cik7CisgICAgcmV0dXJuIHRzLnJlbGVhc2UoKTsKK30KKwogU3RyaW5nIGV4dGVybmFsUmVwcmVz
ZW50YXRpb24oRnJhbWUqIGZyYW1lLCBSZW5kZXJBc1RleHRCZWhhdmlvciBiZWhhdmlvcikKIHsK
LSAgICBQcmludENvbnRleHQgcHJpbnRDb250ZXh0KGZyYW1lKTsKLSAgICBpZiAoYmVoYXZpb3Ig
JiBSZW5kZXJBc1RleHRQcmludGluZ01vZGUpIHsKLSAgICAgICAgaWYgKCFmcmFtZS0+Y29udGVu
dFJlbmRlcmVyKCkpCi0gICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgICAgIHByaW50
Q29udGV4dC5iZWdpbihmcmFtZS0+Y29udGVudFJlbmRlcmVyKCktPndpZHRoKCkpOwotICAgIH0K
KyAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gZnJhbWUtPmNvbnRlbnRSZW5kZXJlcigpOwor
ICAgIGlmICghcmVuZGVyZXIgfHwgIXJlbmRlcmVyLT5pc0JveCgpKQorICAgICAgICByZXR1cm4g
U3RyaW5nKCk7CiAKKyAgICBQcmludENvbnRleHQgcHJpbnRDb250ZXh0KGZyYW1lKTsKKyAgICBp
ZiAoYmVoYXZpb3IgJiBSZW5kZXJBc1RleHRQcmludGluZ01vZGUpCisgICAgICAgIHByaW50Q29u
dGV4dC5iZWdpbih0b1JlbmRlckJveChyZW5kZXJlciktPndpZHRoKCkpOwogICAgIGlmICghKGJl
aGF2aW9yICYgUmVuZGVyQXNUZXh0RG9udFVwZGF0ZUxheW91dCkpCiAgICAgICAgIGZyYW1lLT5k
b2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKIAotICAgIFJlbmRlck9iamVjdCogbyA9IGZyYW1l
LT5jb250ZW50UmVuZGVyZXIoKTsKLSAgICBpZiAoIW8pCi0gICAgICAgIHJldHVybiBTdHJpbmco
KTsKKyAgICByZXR1cm4gZXh0ZXJuYWxSZXByZXNlbnRhdGlvbih0b1JlbmRlckJveChyZW5kZXJl
ciksIGJlaGF2aW9yKTsKK30KIAotICAgIFRleHRTdHJlYW0gdHM7Ci0gICAgaWYgKG8tPmhhc0xh
eWVyKCkpIHsKLSAgICAgICAgUmVuZGVyTGF5ZXIqIGwgPSB0b1JlbmRlckJveChvKS0+bGF5ZXIo
KTsKLSAgICAgICAgd3JpdGVMYXllcnModHMsIGwsIGwsIGwtPnJlY3QoKSwgMCwgYmVoYXZpb3Ip
OwotICAgICAgICB3cml0ZVNlbGVjdGlvbih0cywgbyk7Ci0gICAgfQotICAgIHJldHVybiB0cy5y
ZWxlYXNlKCk7CitTdHJpbmcgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihFbGVtZW50KiBlbGVtZW50
LCBSZW5kZXJBc1RleHRCZWhhdmlvciBiZWhhdmlvcikKK3sKKyAgICBSZW5kZXJPYmplY3QqIHJl
bmRlcmVyID0gZWxlbWVudC0+cmVuZGVyZXIoKTsKKyAgICBpZiAoIXJlbmRlcmVyIHx8ICFyZW5k
ZXJlci0+aXNCb3goKSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIC8vIERvZXNuJ3Qg
c3VwcG9ydCBwcmludGluZyBtb2RlLgorICAgIEFTU0VSVCghKGJlaGF2aW9yICYgUmVuZGVyQXNU
ZXh0UHJpbnRpbmdNb2RlKSk7CisgICAgaWYgKCEoYmVoYXZpb3IgJiBSZW5kZXJBc1RleHREb250
VXBkYXRlTGF5b3V0KSAmJiBlbGVtZW50LT5kb2N1bWVudCgpKQorICAgICAgICBlbGVtZW50LT5k
b2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKKyAgICAKKyAgICByZXR1cm4gZXh0ZXJuYWxSZXBy
ZXNlbnRhdGlvbih0b1JlbmRlckJveChyZW5kZXJlciksIGJlaGF2aW9yIHwgUmVuZGVyQXNUZXh0
U2hvd0FsbExheWVycyk7CiB9CiAKIHN0YXRpYyB2b2lkIHdyaXRlQ291bnRlclZhbHVlc0Zyb21D
aGlsZHJlbihUZXh0U3RyZWFtJiBzdHJlYW0sIFJlbmRlck9iamVjdCogcGFyZW50LCBib29sJiBp
c0ZpcnN0Q291bnRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUcmVlQXNUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4
dC5oCmluZGV4IDRjOGIxNDVkNWEwNTVhMTI2MWY2ZWI5ZWZkYmNlNWM0OGM0MGZkOTcuLjBhYTcy
Y2I3MjBkNjhmZjAwY2U2YTRmYjRlMTZlOGIyZDFiOTM4NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuaApAQCAtNTYsNiArNTYsNyBAQCB0eXBlZGVmIHVu
c2lnbmVkIFJlbmRlckFzVGV4dEJlaGF2aW9yOwogCiAvLyBZb3UgZG9uJ3QgbmVlZCBwYWdlV2lk
dGhJblBpeGVscyBpZiB5b3UgZG9uJ3Qgc3BlY2lmeSBSZW5kZXJBc1RleHRJblByaW50aW5nTW9k
ZS4KIFN0cmluZyBleHRlcm5hbFJlcHJlc2VudGF0aW9uKEZyYW1lKiwgUmVuZGVyQXNUZXh0QmVo
YXZpb3IgPSBSZW5kZXJBc1RleHRCZWhhdmlvck5vcm1hbCk7CitTdHJpbmcgZXh0ZXJuYWxSZXBy
ZXNlbnRhdGlvbihFbGVtZW50KiwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgPSBSZW5kZXJBc1RleHRC
ZWhhdmlvck5vcm1hbCk7CiB2b2lkIHdyaXRlKFRleHRTdHJlYW0mLCBjb25zdCBSZW5kZXJPYmpl
Y3QmLCBpbnQgaW5kZW50ID0gMCwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgPSBSZW5kZXJBc1RleHRC
ZWhhdmlvck5vcm1hbCk7CiB2b2lkIHdyaXRlSW5kZW50KFRleHRTdHJlYW0mLCBpbnQgaW5kZW50
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGM1ODkxM2U5OWRkMGU0
ZDhmMWMyNTdhYzAyNGQ2ODY4N2VlYWMyODQuLmQzODVmMTUwMjVmY2VhYWJhYmY3MjY4N2E3ZDNh
YzhjMTcyNjcxYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTI2LDYg
KzI2LDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnRlcm5hbHMuaCIKIAor
I2luY2x1ZGUgIlJlbmRlclRyZWVBc1RleHQuaCIKKyNpbmNsdWRlICJTaGFkb3dDb250ZW50RWxl
bWVudC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBhc3NSZWZQdHI8SW50ZXJuYWxzPiBJ
bnRlcm5hbHM6OmNyZWF0ZSgpCkBAIC00MSw0ICs0NCwzMCBAQCBJbnRlcm5hbHM6OkludGVybmFs
cygpCiB7CiB9CiAKK1Bhc3NSZWZQdHI8RWxlbWVudD4gSW50ZXJuYWxzOjpjcmVhdGVTaGFkb3dD
b250ZW50RWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQorewor
ICAgIGlmICghZG9jdW1lbnQpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Cisg
ICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIHJldHVybiBTaGFkb3dDb250ZW50RWxlbWVu
dDo6Y3JlYXRlKGRvY3VtZW50KTsKK30KKworU3RyaW5nIEludGVybmFsczo6ZWxlbWVudFJlbmRl
clRyZWVBc1RleHQoRWxlbWVudCogZWxlbWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAg
aWYgKCFlbGVtZW50KSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAg
ICByZXR1cm4gU3RyaW5nKCk7CisgICAgfQorCisgICAgU3RyaW5nIHJlcHJlc2VudGF0aW9uID0g
ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihlbGVtZW50KTsKKyAgICBpZiAocmVwcmVzZW50YXRpb24u
aXNFbXB0eSgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICBy
ZXR1cm4gU3RyaW5nKCk7CisgICAgfQorCisgICAgcmV0dXJuIHJlcHJlc2VudGF0aW9uOworfQor
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBjYmJkOWI5YzAzYjQ5MmJmMWFh
NDRjMTExM2I0YjBhNjBkM2U5NGU1Li5lNmQ2MWNiNjg5NzhlYzA0MmZhOTQ5ZGVjYzFhNDg0NjUz
NjYxMTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTI2LDE2ICsyNiwyMyBA
QAogI2lmbmRlZiBJbnRlcm5hbHNfaAogI2RlZmluZSBJbnRlcm5hbHNfaAogCisjaW5jbHVkZSAi
RXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEb2N1bWVudDsKK2NsYXNzIEVsZW1lbnQ7CisKIGNs
YXNzIEludGVybmFscyA6IHB1YmxpYyBSZWZDb3VudGVkPEludGVybmFscz4gewogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEludGVybmFscz4gY3JlYXRlKCk7CiAgICAgdmlydHVhbCB+
SW50ZXJuYWxzKCk7CiAKKyAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZVNoYWRvd0NvbnRl
bnRFbGVtZW50KERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOworICAgIFN0cmluZyBlbGVtZW50
UmVuZGVyVHJlZUFzVGV4dChFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogcHJpdmF0ZToKICAg
ICBJbnRlcm5hbHMoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXgg
MmRiNDU5NTUzYzk4MDZiMzFkYWZhOTIzNzJhNDczYzZhZDc1NzIyYS4uNzUyOGFiYTYzMmE1ZGY5
YjBkNzMyODNmNGQ2ZDk0MjFiYWE3OGM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmlkbApAQCAtMjUsNiArMjUsOCBAQAogCiBtb2R1bGUgd2luZG93IHsKICAgICBpbnRlcmZhY2Ug
W09taXRDb25zdHJ1Y3Rvcl0gSW50ZXJuYWxzIHsKKyAgICAgICAgRWxlbWVudCBjcmVhdGVTaGFk
b3dDb250ZW50RWxlbWVudChpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CisgICAgICAgIERPTVN0cmluZyBlbGVtZW50UmVuZGVyVHJlZUFzVGV4dChpbiBFbGVtZW50
IGVsZW1lbnQpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCBmOWU5MzNhNmVlMjg0NWZkMWNjY2NhOWEzMDk4NDZlMjE1MjE4MjhhLi42MTQ2YzdkOTM0NmFk
ZGE0YWUyNmE4MWRlNzhhMmIyOTI5N2Q1ZGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTEtMDYtMTMgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGludGVybmFscyBv
YmplY3Qgc2hvdWxkIGhhdmUgY3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQoKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI0MzIgICAgICAgIAorCisg
ICAgICAgICogd2luL1dlYktpdDIuZGVmOiBBZGRlZCBzb21lIG1vcmUgc3ltYm9scyBuZWNlc3Nh
cnkgZm9yCisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMgdG8gZnVuY3Rpb24gdG8gdGhlIGdsb2Jh
bCBzeW1ib2wgbGlzdC4KKwogMjAxMS0wNi0xMiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0Mi5kZWYKaW5kZXggMWM3MWEyNTczZWI0NTM2NTRjOWQ2NWJmZWM2NjUyZDQwY2UzYWYz
Yi4uZmJlYzk1ZmU4YjY1OTNiOWExOGYwNzA0NDMzMDBjYjY1ZWU5MDNjNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyLmRlZgpAQCAtMTM4LDMgKzEzOCwxMCBAQCBFWFBPUlRTCiAgICAgICAgID9nZXRDYWNo
ZWRET01TdHJ1Y3R1cmVAV2ViQ29yZUBAWUFQQVZTdHJ1Y3R1cmVASlNDQEBQQVZKU0RPTUdsb2Jh
bE9iamVjdEAxQFBCVUNsYXNzSW5mb0AzQEBaCiAgICAgICAgID9jYWNoZURPTVN0cnVjdHVyZUBX
ZWJDb3JlQEBZQVBBVlN0cnVjdHVyZUBKU0NAQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWMjNA
UEJVQ2xhc3NJbmZvQDNAQFoKICAgICAgICAgP3ZpcnR1YWxGdW5jdGlvblRvUHJldmVudFdlYWtW
dGFibGVASlNET01XcmFwcGVyQFdlYkNvcmVAQE1BRVhYWgorICAgICAgICA/Y3JlYXRlQFNoYWRv
d0NvbnRlbnRFbGVtZW50QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTaGFkb3dDb250ZW50
RWxlbWVudEBXZWJDb3JlQEBAV1RGQEBQQVZEb2N1bWVudEAyQEBaCisgICAgICAgID9leHRlcm5h
bFJlcHJlc2VudGF0aW9uQFdlYkNvcmVAQFlBP0FWU3RyaW5nQFdURkBAUEFWRWxlbWVudEAxQElA
WgorICAgICAgICA/c2V0RE9NRXhjZXB0aW9uQFdlYkNvcmVAQFlBWFBBVkV4ZWNTdGF0ZUBKU0NA
QEhAWgorICAgICAgICA/dG9Eb2N1bWVudEBXZWJDb3JlQEBZQVBBVkRvY3VtZW50QDFAVkpTVmFs
dWVASlNDQEBAWgorICAgICAgICA/Y3JlYXRlV3JhcHBlckBXZWJDb3JlQEBZQT9BVkpTVmFsdWVA
SlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVk5vZGVAMUBAWgor
ICAgICAgICA/dG9FbGVtZW50QFdlYkNvcmVAQFlBUEFWRWxlbWVudEAxQFZKU1ZhbHVlQEpTQ0BA
QFoKKyAgICAgICAgP2pzU3RyaW5nU2xvd0Nhc2VAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BA
UEFWRXhlY1N0YXRlQDNAQUFWPyRIYXNoTWFwQFBBVlN0cmluZ0ltcGxAV1RGQEBWPyRXZWFrQFZK
U1N0cmluZ0BKU0NAQEBKU0NAQFVTdHJpbmdIYXNoQDJAVT8kSGFzaFRyYWl0c0BQQVZTdHJpbmdJ
bXBsQFdURkBAQDJAVT8kSGFzaFRyYWl0c0BWPyRXZWFrQFZKU1N0cmluZ0BKU0NAQEBKU0NAQEAy
QEBXVEZAQFBBVlN0cmluZ0ltcGxANkBAWgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rv
b2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IDczM2E2OWY2ZjRlYzU3NDI4NGNmM2QyNTUwYTc5MzUz
ZjJiZDc0ZmUuLjIzNmI0NmIyNmFkOTVlMTY3ZmEwMjE4YmMzNjQwMTJmMmQwODllNjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtMjksNiArMjksMTEgQEAgX1pOMjREdW1wUmVuZGVyVHJl
ZVN1cHBvcnRHdGsqOwogX1pON1dlYkNvcmUyMWdldENhY2hlZERPTVN0cnVjdHVyZUVQTlNfMTdK
U0RPTUdsb2JhbE9iamVjdEVQS04zSlNDOUNsYXNzSW5mb0U7CiBfWk43V2ViQ29yZTE3Y2FjaGVE
T01TdHJ1Y3R1cmVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE4zSlNDOVN0cnVjdHVyZUVQS05T
Ml85Q2xhc3NJbmZvRTsKIF9aTjdXZWJDb3JlMTJKU0RPTVdyYXBwZXIzNHZpcnR1YWxGdW5jdGlv
blRvUHJldmVudFdlYWtWdGFibGVFdjsKK19aVE43V2ViQ29yZTEwSlNEb2N1bWVudCo7CitfWlRO
N1dlYkNvcmU2SlNOb2RlKjsKK19aTjdXZWJDb3JlOUpTRWxlbWVudCo7CitfWk43V2ViQ29yZTIw
U2hhZG93Q29udGVudEVsZW1lbnQ2Y3JlYXRlKjsKK19aTjdXZWJDb3JlMjJleHRlcm5hbFJlcHJl
c2VudGF0aW9uRVBOU183RWxlbWVudEVqOwogbG9jYWw6CiBfWio7CiBjdGkqOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97087</attachid>
            <date>2011-06-14 02:00:03 -0700</date>
            <delta_ts>2011-06-15 01:37:18 -0700</delta_ts>
            <desc>Another try</desc>
            <filename>bug-62432-20110614180001.patch</filename>
            <type>text/plain</type>
            <size>20369</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODg2MzAKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCAxZGMwZWRmYmNjM2M5NmI4ZjYyYzI1MmUzZDNlMDU5YjkyZmIxNmE3Li4wYjQ2
NDEwNWNhNDRlMWFhMTlmZTY1NDRlMTcwOTJkYzJkYTE2MGUzIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDYtMTMgIE1PUklUQSBI
YWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhlIGludGVybmFscyBvYmplY3Qgc2hvdWxkIGhhdmUgY3Jl
YXRlU2hhZG93Q29udGVudEVsZW1lbnQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjI0MzIgICAgICAgIAorCisgICAgICAgICogU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlcjogQWRkZWQgc29tZSBtb3JlIHN5bWJvbHMgbmVjZXNzYXJ5IGZv
cgorICAgICAgICB3aW5kb3cuaW50ZXJuYWxzIHRvIGZ1bmN0aW9uIHRvIHRoZSBnbG9iYWwgc3lt
Ym9sIGxpc3QuCisgICAgICAgIAorCiAyMDExLTA2LTEwICBMdWNhcyBEZSBNYXJjaGkgIDxsdWNh
cy5kZW1hcmNoaUBwcm9mdXNpb24ubW9iaT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRo
IFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1ODIxMzg4Nzc1YWZjZTNjYzcyMjAzZGY0ODc3
MjYyZjdiMmFkOTc1Li5kYWY1NmNkNDQyOWE3Y2IwMTBlYTY2YWZiNmUzNzhjYzExODA2YjQ0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDYtMTMgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRh
QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhlIGludGVybmFscyBvYmplY3Qgc2hvdWxkIGhhdmUgY3JlYXRlU2hhZG93Q29udGVu
dEVsZW1lbnQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjI0MzIKKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jcmVhdGUtY29udGVudC1lbGVt
ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NyZWF0
ZS1jb250ZW50LWVsZW1lbnQuaHRtbDogQWRkZWQuCisKIDIwMTEtMDYtMTIgIE1PUklUQSBIYWpp
bWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjg4NjI1LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NyZWF0
ZS1jb250ZW50LWVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2NyZWF0ZS1jb250ZW50LWVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjNWQ0
MzYyMmM3OWQ0ODM2OGVkZDM3N2Q0YmUwNzBmMTgzNWUwMWYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3JlYXRlLWNvbnRlbnQtZWxlbWVudC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIHRlc3QgY29tcGFyZXMgYSBzaGFkb3ctYmFzZWQg
cmVuZGVyIHRyZWUgd2l0aCBvbmUgZm9yIGEgcmVmcmVuY2UgRE9NIHRyZWUuCitQQVNTCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jcmVhdGUtY29udGVudC1lbGVt
ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3JlYXRlLWNvbnRlbnQtZWxl
bWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzNWRlNTZjOGI2ODc0OWNjOWRmMWY4MzdhOTYxMDNiNmEx
YmM0NTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3Jl
YXRlLWNvbnRlbnQtZWxlbWVudC5odG1sCkBAIC0wLDAgKzEsNzAgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy8qIHJlbGF0aXZlIHBvc2l0aW9uaW5nIGVuc3Vy
ZXMgdW5kZXJseWluZyBSZW5kZXJMYXllciAqLworLmNvbnRhaW5lciB7CisgICAgcG9zaXRpb246
IHJlbGF0aXZlOworfQorPC9zdHlsZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2cobWVzc2FnZSkK
K3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCArPSAo
bWVzc2FnZSArICJcbiIpOworfQorCitmdW5jdGlvbiByZW1vdmVDb250YWluZXJMaW5lcyh0ZXh0
KQoreworICAgIHZhciBsaW5lcyA9IHRleHQuc3BsaXQoIlxuIik7CisgICAgbGluZXMuc3BsaWNl
KDAsIDIpOworICAgIHJldHVybiBsaW5lcy5qb2luKCJcbiIpOworfQorCitmdW5jdGlvbiBzZXR1
cFRhcmdldFRyZWUoKQoreworICAgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKKyAgICB0YXJnZXQuaW5uZXJIVE1MID0gIjxzcGFuPmNvbnRlbnQ8L3NwYW4+IjsK
KyAgICB2YXIgcm9vdCA9IGxheW91dFRlc3RDb250cm9sbGVyLmVuc3VyZVNoYWRvd1Jvb3QodGFy
Z2V0KTsKKyAgICAKKyAgICB2YXIgY2hpbGQwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3Bh
biIpOworICAgIGNoaWxkMC5pbm5lckhUTUwgPSAiSGVsbG8sIjsKKyAgICByb290LmFwcGVuZENo
aWxkKGNoaWxkMCk7CisgICAgcm9vdC5hcHBlbmRDaGlsZCh3aW5kb3cuaW50ZXJuYWxzLmNyZWF0
ZVNoYWRvd0NvbnRlbnRFbGVtZW50KGRvY3VtZW50KSk7CisgICAgdmFyIGNoaWxkMSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgICBjaGlsZDEuaW5uZXJIVE1MID0gIldvcmxk
LiI7CisgICAgcm9vdC5hcHBlbmRDaGlsZChjaGlsZDEpOworCisgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRhcmdldCIpLmFwcGVuZENoaWxkKHRhcmdldCk7Cit9CisKK2Z1bmN0aW9uIHRl
c3QoKQoreworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsb2co
IlRoaXMgdGVzdCBjb21wYXJlcyBhIHNoYWRvdy1iYXNlZCByZW5kZXIgdHJlZSB3aXRoIG9uZSBm
b3IgYSByZWZyZW5jZSBET00gdHJlZS4iKTsKKyAgICBzZXR1cFRhcmdldFRyZWUoKTsKKyAgICB2
YXIgdGFyZ2V0Q29udGFpbmVyUmVuZGVyVHJlZSA9IHdpbmRvdy5pbnRlcm5hbHMuZWxlbWVudFJl
bmRlclRyZWVBc1RleHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldENvbnRhaW5lciIp
KTsKKyAgICB2YXIgdGFyZ2V0UmVuZGVyVHJlZSA9IHJlbW92ZUNvbnRhaW5lckxpbmVzKHRhcmdl
dENvbnRhaW5lclJlbmRlclRyZWUpOworICAgIHZhciByZWZDb250YWluZXJSZW5kZXJUcmVlID0g
d2luZG93LmludGVybmFscy5lbGVtZW50UmVuZGVyVHJlZUFzVGV4dChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicmVmQ29udGFpbmVyIikpOworICAgIHZhciByZWZSZW5kZXJUcmVlID0gcmVtb3Zl
Q29udGFpbmVyTGluZXMocmVmQ29udGFpbmVyUmVuZGVyVHJlZSk7CisgICAgaWYgKHRhcmdldFJl
bmRlclRyZWUgPT0gcmVmUmVuZGVyVHJlZSkKKyAgICAgICAgbG9nKCJQQVNTIik7CisgICAgZWxz
ZSB7CisgICAgICAgIGxvZygiRkFJTCIpOworICAgICAgICBsb2coIkV4cGVjdGVkOiIpOworICAg
ICAgICBsb2cocmVmUmVuZGVyVHJlZSk7CisgICAgICAgIGxvZygiQWN0dWFsOiIpOworICAgICAg
ICBsb2codGFyZ2V0UmVuZGVyVHJlZSk7CisgICAgfQorICAgIAorICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0ZXN0Iikuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKK30KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPGRpdiBpZD0idGVzdCI+Cis8ZGl2IGNs
YXNzPSJjb250YWluZXIiIGlkPSJ0YXJnZXRDb250YWluZXIiPjxkaXYgaWQ9InRhcmdldCI+PC9k
aXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiIGlkPSJyZWZDb250YWluZXIiPjxkaXY+
PGRpdj48c3Bhbj5IZWxsbyw8L3NwYW4+PHNwYW4+Y29udGVudDwvc3Bhbj48c3Bhbj5Xb3JsZC48
L3NwYW4+PC9kaXY+PC9kaXY+PC9kaXY+Cis8L2Rpdj4KKzxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJl
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGM3NDQ1OGFkYTU0ZDAzZDI0NWZiMjFj
YjMwZTY4MDQ3YzUwMjFmZTEuLmI5Y2YwODNhY2ZjM2NmMTgzM2Y5ZWZmZDFiYmZjZjRlY2UwNjkz
ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAxMS0wNi0xMyAgTU9SSVRBIEhhamlt
ZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGUgaW50ZXJuYWxzIG9iamVjdCBzaG91bGQgaGF2ZSBjcmVhdGVT
aGFkb3dDb250ZW50RWxlbWVudCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MjQzMgorCisgICAgICAgIFRoaXMgY2hhbmdlOgorICAgICAgICAtIGFk
ZGVkIEludGVybmFsczo6Y3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQoKSwgd2hpY2ggY3JlYXRl
cywKKyAgICAgICAgICBTaGFkb3dDb250ZW50RWxlbWVudCBpbnN0YW5jZSB3aGljaCBpbmNsdWRl
cyBhbGwgaG9zdCBjaGlsZHJlbiwKKyAgICAgICAgLSBhZGRlZCBJbnRlcm5hbHM6OmVsZW1lbnRS
ZW5kZXJUcmVlQXNUZXh0KCkgdG8gaGVscCBjb250ZW50IGxheW91dCB0ZXN0aW5nLCBhbmQKKyAg
ICAgICAgLSBVbmFic3RyYWN0ZWQgU2hhZG93Q29udGVudEVsZW1lbnQgYnkgZ2l2aW5nIGEgZGVm
YXVsdCBzaG91bGRJbmNsdWRlKCkgaW1wbGVtZW50YXRpb24uCisgICAgICAgIAorICAgICAgICBU
ZXN0OiBmYXN0L2RvbS9zaGFkb3cvY3JlYXRlLWNvbnRlbnQtZWxlbWVudC5odG1sCisKKyAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBkb20vU2hhZG93Q29udGVudEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Q29udGVudEVsZW1lbnQ6OmNyZWF0ZSk6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Q29udGVudEVsZW1lbnQ6OlNoYWRvd0NvbnRl
bnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd0NvbnRlbnRFbGVtZW50Ojp+U2hh
ZG93Q29udGVudEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Q29udGVudEVsZW1l
bnQ6OnNob3VsZEluY2x1ZGUpOiBHYXZlIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiB3aGljaCBh
bHdheXMgcmV0dXJucyB0cnVlLgorICAgICAgICAqIGRvbS9TaGFkb3dDb250ZW50RWxlbWVudC5o
OgorICAgICAgICAqIGh0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlN1bW1hcnlDb250ZW50RWxlbWVudDo6U3VtbWFyeUNvbnRlbnRFbGVtZW50KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpl
eHRlcm5hbFJlcHJlc2VudGF0aW9uKTogRmFjdG9yZWQgb3V0IGZvciBzdXBwb3J0aW4gcGVyLWVs
ZW1lbnQgcmVuZGVyIHRyZWUgZHVtcC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVHJlZUFz
VGV4dC5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsczo6Y3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQpOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkludGVybmFsczo6ZWxlbWVudFJlbmRlclRyZWVBc1RleHQpOiBkZGVkLgor
ICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuaWRsOgorCiAyMDExLTA2LTEyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRl
eCBlYzg3YmIwY2ExNDRlNGU0ZTUyOTQ2MzE1NDJiNDMwMmM2YzE4MTNlLi5hNzZiOTlhM2IwY2Yx
ZjZjMjAwNzI3MGFmZTdmMTM2NjU1MWY3NzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNTc3
LDYgKzU3Nyw3IEBAIF9fWk43V2ViQ29yZTIyY29udGV4dE1lbnVJdGVtVGFnQm9sZEV2CiBfX1pO
N1dlYkNvcmUyMmNvdW50ZXJWYWx1ZUZvckVsZW1lbnRFUE5TXzdFbGVtZW50RQogX19aTjdXZWJD
b3JlMjJjcmVhdGVGcmFnbWVudEZyb21UZXh0RVBOU181UmFuZ2VFUktOM1dURjZTdHJpbmdFCiBf
X1pON1dlYkNvcmUyMmV4dGVybmFsUmVwcmVzZW50YXRpb25FUE5TXzVGcmFtZUVqCitfX1pON1dl
YkNvcmUyMmV4dGVybmFsUmVwcmVzZW50YXRpb25FUE5TXzdFbGVtZW50RWoKIF9fWk43V2ViQ29y
ZTIzQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDMUVSS05TXzE1UHJvdGVjdGlvblNwYWNlRVJLTlNf
MTBDcmVkZW50aWFsRWpSS05TXzE2UmVzb3VyY2VSZXNwb25zZUVSS05TXzEzUmVzb3VyY2VFcnJv
ckUKIF9fWk43V2ViQ29yZTIzUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmRDMUVQTlNfOERvY3VtZW50
RU4zV1RGMTBQYXNzUmVmUHRySU5TXzE2RG9jdW1lbnRGcmFnbWVudEVFRWpOU18xMEVkaXRBY3Rp
b25FCiBfX1pON1dlYkNvcmUyM2NyZWF0ZUZyYWdtZW50RnJvbU5vZGVzRVBOU184RG9jdW1lbnRF
UktOM1dURjZWZWN0b3JJUE5TXzROb2RlRUxtMEVFRQpAQCAtNzkzLDYgKzc5NCwxNCBAQCBfX1pO
N1dlYkNvcmU2RWRpdG9yNmluZGVudEV2CiBfX1pON1dlYkNvcmU2RWRpdG9yN0NvbW1hbmRDMUV2
CiBfX1pON1dlYkNvcmU2RWRpdG9yN2NvbW1hbmRFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNv
cmU2RWRpdG9yN291dGRlbnRFdgorX19aTjdXZWJDb3JlNkpTTm9kZTZzX2luZm9FCitfX1pOSzdX
ZWJDb3JlNkpTTm9kZTIxcHVzaEV2ZW50SGFuZGxlclNjb3BlRVBOM0pTQzlFeGVjU3RhdGVFUE5T
MV8xNFNjb3BlQ2hhaW5Ob2RlRQorX19aTjdXZWJDb3JlNkpTTm9kZTEzdmlzaXRDaGlsZHJlbkVS
TjNKU0M5TWFya1N0YWNrRQorX19aTjdXZWJDb3JlNkpTTm9kZTNwdXRFUE4zSlNDOUV4ZWNTdGF0
ZUVSS05TMV8xMElkZW50aWZpZXJFTlMxXzdKU1ZhbHVlRVJOUzFfMTVQdXRQcm9wZXJ0eVNsb3RF
CitfX1pON1dlYkNvcmUxMEpTRG9jdW1lbnQzcHV0RVBOM0pTQzlFeGVjU3RhdGVFUktOUzFfMTBJ
ZGVudGlmaWVyRU5TMV83SlNWYWx1ZUVSTlMxXzE1UHV0UHJvcGVydHlTbG90RQorX19aTjdXZWJD
b3JlMTB0b0RvY3VtZW50RU4zSlNDN0pTVmFsdWVFCitfX1pON1dlYkNvcmUyMFNoYWRvd0NvbnRl
bnRFbGVtZW50NmNyZWF0ZUVQTlNfOERvY3VtZW50RQorX19aTjdXZWJDb3JlMTVzZXRET01FeGNl
cHRpb25FUE4zSlNDOUV4ZWNTdGF0ZUVpCiBfX1pON1dlYkNvcmU2V2lkZ2V0MTJzZXRGcmFtZVJl
Y3RFUktOU183SW50UmVjdEUKIF9fWk43V2ViQ29yZTZXaWRnZXQxM3NldEJvdW5kc1NpemVFUktO
U183SW50U2l6ZUUKIF9fWk43V2ViQ29yZTZXaWRnZXQxNnJlbW92ZUZyb21QYXJlbnRFdgpAQCAt
OTg4LDYgKzk5Nyw3IEBAIF9fWk43V2ViQ29yZTlIVE1MTmFtZXM4dmlkZW9UYWdFCiBfX1pON1dl
YkNvcmU5SFRNTE5hbWVzOWlmcmFtZVRhZ0UKIF9fWk43V2ViQ29yZTlIVE1MTmFtZXM5b2JqZWN0
VGFnRQogX19aTjdXZWJDb3JlOUhUTUxOYW1lczlzY3JpcHRUYWdFCitfX1pON1dlYkNvcmU5SlNF
bGVtZW50M3B1dEVQTjNKU0M5RXhlY1N0YXRlRVJLTlMxXzEwSWRlbnRpZmllckVOUzFfN0pTVmFs
dWVFUk5TMV8xNVB1dFByb3BlcnR5U2xvdEUKIF9fWk43V2ViQ29yZTlKU0VsZW1lbnQ2c19pbmZv
RQogX19aTjdXZWJDb3JlOVBhZ2VDYWNoZTExc2V0Q2FwYWNpdHlFaQogX19aTjdXZWJDb3JlOVBh
Z2VDYWNoZTI3cmVsZWFzZUF1dG9yZWxlYXNlZFBhZ2VzTm93RXYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TaGFkb3dDb250ZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vU2hhZG93Q29udGVudEVsZW1lbnQuY3BwCmluZGV4IGYxODE3MTQ0MmY4MThjOGI3MWMyYWNh
ZjQzNmYzYjA2Nzg0MjQ3MTUuLjZmYWQ0MmIwNzczNmYyOGY1NzcyM2UwOWEzN2Q2ZjQxNzg2NTlm
YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dDb250ZW50RWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd0NvbnRlbnRFbGVtZW50LmNwcApAQCAt
MjcsMTAgKzI3LDI2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2hhZG93Q29u
dGVudEVsZW1lbnQuaCIKIAorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIlNoYWRv
d0NvbnRlbnRTZWxlY3Rvci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK1Bhc3NSZWZQdHI8
U2hhZG93Q29udGVudEVsZW1lbnQ+IFNoYWRvd0NvbnRlbnRFbGVtZW50OjpjcmVhdGUoRG9jdW1l
bnQqIGRvY3VtZW50KQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoUXVhbGlmaWVkTmFtZSwg
dGFnTmFtZSwgKG51bGxBdG9tLCAid2Via2l0U2hhZG93Q29udGVudCIsIEhUTUxOYW1lczo6ZGl2
VGFnLm5hbWVzcGFjZVVSSSgpKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTaGFkb3dDb250
ZW50RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOworfQorCitTaGFkb3dDb250ZW50RWxlbWVu
dDo6U2hhZG93Q29udGVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgRG9jdW1l
bnQqIGRvY3VtZW50KQorICAgIDogU3R5bGVkRWxlbWVudChuYW1lLCBkb2N1bWVudCwgQ3JlYXRl
SFRNTEVsZW1lbnQpCit7Cit9CisKK1NoYWRvd0NvbnRlbnRFbGVtZW50Ojp+U2hhZG93Q29udGVu
dEVsZW1lbnQoKQoreworfQorCiB2b2lkIFNoYWRvd0NvbnRlbnRFbGVtZW50OjphdHRhY2goKQog
ewogICAgIEFTU0VSVCghZmlyc3RDaGlsZCgpKTsgLy8gQ3VycmVudGx5IGRvZXNuJ3Qgc3VwcG9y
dCBhbnkgbGlnaHQgY2hpbGQuCkBAIC0zOSw0ICs1NSw5IEBAIHZvaWQgU2hhZG93Q29udGVudEVs
ZW1lbnQ6OmF0dGFjaCgpCiAgICAgICAgIHNlbGVjdG9yLT5hdHRhY2hDaGlsZHJlbkZvcih0aGlz
KTsKIH0KIAorYm9vbCBTaGFkb3dDb250ZW50RWxlbWVudDo6c2hvdWxkSW5jbHVkZShOb2RlKikK
K3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NoYWRvd0NvbnRlbnRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Q29u
dGVudEVsZW1lbnQuaAppbmRleCBmZmY4ZDY3YmE2M2Q1NjEyNzI3NWI3ODM1MDFhZmNhN2E1ZWQ0
YTAwLi5kZmRhZjllOWYzMTQ4Nzk3YTU3ODkzZTU1NzllMmM3MjVkNjE5OTg2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuaApAQCAtNDAsMTQgKzQwLDE1IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIC8vIFlvdSBzaG91bGQgY3JlYXRlIFNoYWRvd0NvbnRlbnRFbGVt
ZW50IGR1cmluZyB0aGUgaG9zdCBjb25zdHJ1Y3Rpb24uCiBjbGFzcyBTaGFkb3dDb250ZW50RWxl
bWVudCA6IHB1YmxpYyBTdHlsZWRFbGVtZW50IHsKIHB1YmxpYzoKLSAgICBTaGFkb3dDb250ZW50
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCi0g
ICAgICAgIDogU3R5bGVkRWxlbWVudChuYW1lLCBkb2N1bWVudCwgQ3JlYXRlSFRNTEVsZW1lbnQp
Ci0gICAgewotICAgIH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFkb3dDb250ZW50RWxlbWVu
dD4gY3JlYXRlKERvY3VtZW50Kik7CiAKLSAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW5jbHVkZShO
b2RlKikgPSAwOworICAgIHZpcnR1YWwgflNoYWRvd0NvbnRlbnRFbGVtZW50KCk7CisgICAgdmly
dHVhbCBib29sIHNob3VsZEluY2x1ZGUoTm9kZSopOwogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2go
KTsKIAorcHJvdGVjdGVkOgorICAgIFNoYWRvd0NvbnRlbnRFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCopOworCiBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBpc0NvbnRl
bnRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCByZW5k
ZXJlcklzTmVlZGVkKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JikgeyByZXR1cm4gZmFsc2U7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNwcAppbmRleCBkNTI0
NzU3MjUzN2Y1YWM5MTA0ODlkOTQzZjNiNDhlOWY5M2U5NTQ3Li41MTZiMzNiMWIwYTVjY2RmYTQ3
ZWE3ZTNlZjM1Nzc1Mjc4Y2E2ZGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxTdW1tYXJ5RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3VtbWFy
eUVsZW1lbnQuY3BwCkBAIC00Niw4ICs0Niw2IEBAIHByaXZhdGU6CiAgICAgICAgIDogU2hhZG93
Q29udGVudEVsZW1lbnQoSFRNTE5hbWVzOjpkaXZUYWcsIGRvY3VtZW50KQogICAgIHsKICAgICB9
Ci0KLSAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW5jbHVkZShOb2RlKikgeyByZXR1cm4gdHJ1ZTsg
fQogfTsKIAogUGFzc1JlZlB0cjxTdW1tYXJ5Q29udGVudEVsZW1lbnQ+IFN1bW1hcnlDb250ZW50
RWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAppbmRleCBkMDk2Zjg3OGFlYTM1NWU0YzMwYzhj
YmY0NGMyNzEzMWUzYTY1ZTU5Li5mYzRiNTdkZjQ0YTdiM2JlZjBkYzNlNzNiZDc1YzFkZTZjODFm
ODkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3Bw
CkBAIC03NTYsMjkgKzc1Niw0NCBAQCBzdGF0aWMgdm9pZCB3cml0ZVNlbGVjdGlvbihUZXh0U3Ry
ZWFtJiB0cywgY29uc3QgUmVuZGVyT2JqZWN0KiBvKQogICAgICAgICAgICA8PCAic2VsZWN0aW9u
IGVuZDogICBwb3NpdGlvbiAiIDw8IHNlbGVjdGlvbi5lbmQoKS5kZXByZWNhdGVkRWRpdGluZ09m
ZnNldCgpIDw8ICIgb2YgIiA8PCBub2RlUG9zaXRpb24oc2VsZWN0aW9uLmVuZCgpLmRlcHJlY2F0
ZWROb2RlKCkpIDw8ICJcbiI7CiB9CiAKK3N0YXRpYyBTdHJpbmcgZXh0ZXJuYWxSZXByZXNlbnRh
dGlvbihSZW5kZXJCb3gqIHJlbmRlcmVyLCBSZW5kZXJBc1RleHRCZWhhdmlvciBiZWhhdmlvcikK
K3sKKyAgICBUZXh0U3RyZWFtIHRzOworICAgIGlmICghcmVuZGVyZXItPmhhc0xheWVyKCkpCisg
ICAgICAgIHRzLnJlbGVhc2UoKTsKKyAgICAgICAgCisgICAgUmVuZGVyTGF5ZXIqIGxheWVyID0g
cmVuZGVyZXItPmxheWVyKCk7CisgICAgd3JpdGVMYXllcnModHMsIGxheWVyLCBsYXllciwgbGF5
ZXItPnJlY3QoKSwgMCwgYmVoYXZpb3IpOworICAgIHdyaXRlU2VsZWN0aW9uKHRzLCByZW5kZXJl
cik7CisgICAgcmV0dXJuIHRzLnJlbGVhc2UoKTsKK30KKwogU3RyaW5nIGV4dGVybmFsUmVwcmVz
ZW50YXRpb24oRnJhbWUqIGZyYW1lLCBSZW5kZXJBc1RleHRCZWhhdmlvciBiZWhhdmlvcikKIHsK
LSAgICBQcmludENvbnRleHQgcHJpbnRDb250ZXh0KGZyYW1lKTsKLSAgICBpZiAoYmVoYXZpb3Ig
JiBSZW5kZXJBc1RleHRQcmludGluZ01vZGUpIHsKLSAgICAgICAgaWYgKCFmcmFtZS0+Y29udGVu
dFJlbmRlcmVyKCkpCi0gICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgICAgIHByaW50
Q29udGV4dC5iZWdpbihmcmFtZS0+Y29udGVudFJlbmRlcmVyKCktPndpZHRoKCkpOwotICAgIH0K
KyAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gZnJhbWUtPmNvbnRlbnRSZW5kZXJlcigpOwor
ICAgIGlmICghcmVuZGVyZXIgfHwgIXJlbmRlcmVyLT5pc0JveCgpKQorICAgICAgICByZXR1cm4g
U3RyaW5nKCk7CiAKKyAgICBQcmludENvbnRleHQgcHJpbnRDb250ZXh0KGZyYW1lKTsKKyAgICBp
ZiAoYmVoYXZpb3IgJiBSZW5kZXJBc1RleHRQcmludGluZ01vZGUpCisgICAgICAgIHByaW50Q29u
dGV4dC5iZWdpbih0b1JlbmRlckJveChyZW5kZXJlciktPndpZHRoKCkpOwogICAgIGlmICghKGJl
aGF2aW9yICYgUmVuZGVyQXNUZXh0RG9udFVwZGF0ZUxheW91dCkpCiAgICAgICAgIGZyYW1lLT5k
b2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKIAotICAgIFJlbmRlck9iamVjdCogbyA9IGZyYW1l
LT5jb250ZW50UmVuZGVyZXIoKTsKLSAgICBpZiAoIW8pCi0gICAgICAgIHJldHVybiBTdHJpbmco
KTsKKyAgICByZXR1cm4gZXh0ZXJuYWxSZXByZXNlbnRhdGlvbih0b1JlbmRlckJveChyZW5kZXJl
ciksIGJlaGF2aW9yKTsKK30KIAotICAgIFRleHRTdHJlYW0gdHM7Ci0gICAgaWYgKG8tPmhhc0xh
eWVyKCkpIHsKLSAgICAgICAgUmVuZGVyTGF5ZXIqIGwgPSB0b1JlbmRlckJveChvKS0+bGF5ZXIo
KTsKLSAgICAgICAgd3JpdGVMYXllcnModHMsIGwsIGwsIGwtPnJlY3QoKSwgMCwgYmVoYXZpb3Ip
OwotICAgICAgICB3cml0ZVNlbGVjdGlvbih0cywgbyk7Ci0gICAgfQotICAgIHJldHVybiB0cy5y
ZWxlYXNlKCk7CitTdHJpbmcgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihFbGVtZW50KiBlbGVtZW50
LCBSZW5kZXJBc1RleHRCZWhhdmlvciBiZWhhdmlvcikKK3sKKyAgICBSZW5kZXJPYmplY3QqIHJl
bmRlcmVyID0gZWxlbWVudC0+cmVuZGVyZXIoKTsKKyAgICBpZiAoIXJlbmRlcmVyIHx8ICFyZW5k
ZXJlci0+aXNCb3goKSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIC8vIERvZXNuJ3Qg
c3VwcG9ydCBwcmludGluZyBtb2RlLgorICAgIEFTU0VSVCghKGJlaGF2aW9yICYgUmVuZGVyQXNU
ZXh0UHJpbnRpbmdNb2RlKSk7CisgICAgaWYgKCEoYmVoYXZpb3IgJiBSZW5kZXJBc1RleHREb250
VXBkYXRlTGF5b3V0KSAmJiBlbGVtZW50LT5kb2N1bWVudCgpKQorICAgICAgICBlbGVtZW50LT5k
b2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKKyAgICAKKyAgICByZXR1cm4gZXh0ZXJuYWxSZXBy
ZXNlbnRhdGlvbih0b1JlbmRlckJveChyZW5kZXJlciksIGJlaGF2aW9yIHwgUmVuZGVyQXNUZXh0
U2hvd0FsbExheWVycyk7CiB9CiAKIHN0YXRpYyB2b2lkIHdyaXRlQ291bnRlclZhbHVlc0Zyb21D
aGlsZHJlbihUZXh0U3RyZWFtJiBzdHJlYW0sIFJlbmRlck9iamVjdCogcGFyZW50LCBib29sJiBp
c0ZpcnN0Q291bnRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUcmVlQXNUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4
dC5oCmluZGV4IDRjOGIxNDVkNWEwNTVhMTI2MWY2ZWI5ZWZkYmNlNWM0OGM0MGZkOTcuLjBhYTcy
Y2I3MjBkNjhmZjAwY2U2YTRmYjRlMTZlOGIyZDFiOTM4NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuaApAQCAtNTYsNiArNTYsNyBAQCB0eXBlZGVmIHVu
c2lnbmVkIFJlbmRlckFzVGV4dEJlaGF2aW9yOwogCiAvLyBZb3UgZG9uJ3QgbmVlZCBwYWdlV2lk
dGhJblBpeGVscyBpZiB5b3UgZG9uJ3Qgc3BlY2lmeSBSZW5kZXJBc1RleHRJblByaW50aW5nTW9k
ZS4KIFN0cmluZyBleHRlcm5hbFJlcHJlc2VudGF0aW9uKEZyYW1lKiwgUmVuZGVyQXNUZXh0QmVo
YXZpb3IgPSBSZW5kZXJBc1RleHRCZWhhdmlvck5vcm1hbCk7CitTdHJpbmcgZXh0ZXJuYWxSZXBy
ZXNlbnRhdGlvbihFbGVtZW50KiwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgPSBSZW5kZXJBc1RleHRC
ZWhhdmlvck5vcm1hbCk7CiB2b2lkIHdyaXRlKFRleHRTdHJlYW0mLCBjb25zdCBSZW5kZXJPYmpl
Y3QmLCBpbnQgaW5kZW50ID0gMCwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgPSBSZW5kZXJBc1RleHRC
ZWhhdmlvck5vcm1hbCk7CiB2b2lkIHdyaXRlSW5kZW50KFRleHRTdHJlYW0mLCBpbnQgaW5kZW50
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGM1ODkxM2U5OWRkMGU0
ZDhmMWMyNTdhYzAyNGQ2ODY4N2VlYWMyODQuLmQzODVmMTUwMjVmY2VhYWJhYmY3MjY4N2E3ZDNh
YzhjMTcyNjcxYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTI2LDYg
KzI2LDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnRlcm5hbHMuaCIKIAor
I2luY2x1ZGUgIlJlbmRlclRyZWVBc1RleHQuaCIKKyNpbmNsdWRlICJTaGFkb3dDb250ZW50RWxl
bWVudC5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBhc3NSZWZQdHI8SW50ZXJuYWxzPiBJ
bnRlcm5hbHM6OmNyZWF0ZSgpCkBAIC00MSw0ICs0NCwzMCBAQCBJbnRlcm5hbHM6OkludGVybmFs
cygpCiB7CiB9CiAKK1Bhc3NSZWZQdHI8RWxlbWVudD4gSW50ZXJuYWxzOjpjcmVhdGVTaGFkb3dD
b250ZW50RWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQorewor
ICAgIGlmICghZG9jdW1lbnQpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Cisg
ICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIHJldHVybiBTaGFkb3dDb250ZW50RWxlbWVu
dDo6Y3JlYXRlKGRvY3VtZW50KTsKK30KKworU3RyaW5nIEludGVybmFsczo6ZWxlbWVudFJlbmRl
clRyZWVBc1RleHQoRWxlbWVudCogZWxlbWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAg
aWYgKCFlbGVtZW50KSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAg
ICByZXR1cm4gU3RyaW5nKCk7CisgICAgfQorCisgICAgU3RyaW5nIHJlcHJlc2VudGF0aW9uID0g
ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihlbGVtZW50KTsKKyAgICBpZiAocmVwcmVzZW50YXRpb24u
aXNFbXB0eSgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICBy
ZXR1cm4gU3RyaW5nKCk7CisgICAgfQorCisgICAgcmV0dXJuIHJlcHJlc2VudGF0aW9uOworfQor
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBjYmJkOWI5YzAzYjQ5MmJmMWFh
NDRjMTExM2I0YjBhNjBkM2U5NGU1Li5lNmQ2MWNiNjg5NzhlYzA0MmZhOTQ5ZGVjYzFhNDg0NjUz
NjYxMTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTI2LDE2ICsyNiwyMyBA
QAogI2lmbmRlZiBJbnRlcm5hbHNfaAogI2RlZmluZSBJbnRlcm5hbHNfaAogCisjaW5jbHVkZSAi
RXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEb2N1bWVudDsKK2NsYXNzIEVsZW1lbnQ7CisKIGNs
YXNzIEludGVybmFscyA6IHB1YmxpYyBSZWZDb3VudGVkPEludGVybmFscz4gewogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEludGVybmFscz4gY3JlYXRlKCk7CiAgICAgdmlydHVhbCB+
SW50ZXJuYWxzKCk7CiAKKyAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZVNoYWRvd0NvbnRl
bnRFbGVtZW50KERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOworICAgIFN0cmluZyBlbGVtZW50
UmVuZGVyVHJlZUFzVGV4dChFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogcHJpdmF0ZToKICAg
ICBJbnRlcm5hbHMoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXgg
MmRiNDU5NTUzYzk4MDZiMzFkYWZhOTIzNzJhNDczYzZhZDc1NzIyYS4uNzUyOGFiYTYzMmE1ZGY5
YjBkNzMyODNmNGQ2ZDk0MjFiYWE3OGM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmlkbApAQCAtMjUsNiArMjUsOCBAQAogCiBtb2R1bGUgd2luZG93IHsKICAgICBpbnRlcmZhY2Ug
W09taXRDb25zdHJ1Y3Rvcl0gSW50ZXJuYWxzIHsKKyAgICAgICAgRWxlbWVudCBjcmVhdGVTaGFk
b3dDb250ZW50RWxlbWVudChpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CisgICAgICAgIERPTVN0cmluZyBlbGVtZW50UmVuZGVyVHJlZUFzVGV4dChpbiBFbGVtZW50
IGVsZW1lbnQpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCBmOWU5MzNhNmVlMjg0NWZkMWNjY2NhOWEzMDk4NDZlMjE1MjE4MjhhLi42MTQ2YzdkOTM0NmFk
ZGE0YWUyNmE4MWRlNzhhMmIyOTI5N2Q1ZGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTEtMDYtMTMgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGludGVybmFscyBv
YmplY3Qgc2hvdWxkIGhhdmUgY3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQoKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI0MzIgICAgICAgIAorCisg
ICAgICAgICogd2luL1dlYktpdDIuZGVmOiBBZGRlZCBzb21lIG1vcmUgc3ltYm9scyBuZWNlc3Nh
cnkgZm9yCisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMgdG8gZnVuY3Rpb24gdG8gdGhlIGdsb2Jh
bCBzeW1ib2wgbGlzdC4KKwogMjAxMS0wNi0xMiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0Mi5kZWYKaW5kZXggMWM3MWEyNTczZWI0NTM2NTRjOWQ2NWJmZWM2NjUyZDQwY2UzYWYz
Yi4uZmJlYzk1ZmU4YjY1OTNiOWExOGYwNzA0NDMzMDBjYjY1ZWU5MDNjNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyLmRlZgpAQCAtMTM4LDMgKzEzOCwxMCBAQCBFWFBPUlRTCiAgICAgICAgID9nZXRDYWNo
ZWRET01TdHJ1Y3R1cmVAV2ViQ29yZUBAWUFQQVZTdHJ1Y3R1cmVASlNDQEBQQVZKU0RPTUdsb2Jh
bE9iamVjdEAxQFBCVUNsYXNzSW5mb0AzQEBaCiAgICAgICAgID9jYWNoZURPTVN0cnVjdHVyZUBX
ZWJDb3JlQEBZQVBBVlN0cnVjdHVyZUBKU0NAQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWMjNA
UEJVQ2xhc3NJbmZvQDNAQFoKICAgICAgICAgP3ZpcnR1YWxGdW5jdGlvblRvUHJldmVudFdlYWtW
dGFibGVASlNET01XcmFwcGVyQFdlYkNvcmVAQE1BRVhYWgorICAgICAgICA/Y3JlYXRlQFNoYWRv
d0NvbnRlbnRFbGVtZW50QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTaGFkb3dDb250ZW50
RWxlbWVudEBXZWJDb3JlQEBAV1RGQEBQQVZEb2N1bWVudEAyQEBaCisgICAgICAgID9leHRlcm5h
bFJlcHJlc2VudGF0aW9uQFdlYkNvcmVAQFlBP0FWU3RyaW5nQFdURkBAUEFWRWxlbWVudEAxQElA
WgorICAgICAgICA/c2V0RE9NRXhjZXB0aW9uQFdlYkNvcmVAQFlBWFBBVkV4ZWNTdGF0ZUBKU0NA
QEhAWgorICAgICAgICA/dG9Eb2N1bWVudEBXZWJDb3JlQEBZQVBBVkRvY3VtZW50QDFAVkpTVmFs
dWVASlNDQEBAWgorICAgICAgICA/Y3JlYXRlV3JhcHBlckBXZWJDb3JlQEBZQT9BVkpTVmFsdWVA
SlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVk5vZGVAMUBAWgor
ICAgICAgICA/dG9FbGVtZW50QFdlYkNvcmVAQFlBUEFWRWxlbWVudEAxQFZKU1ZhbHVlQEpTQ0BA
QFoKKyAgICAgICAgP2pzU3RyaW5nU2xvd0Nhc2VAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BA
UEFWRXhlY1N0YXRlQDNAQUFWPyRIYXNoTWFwQFBBVlN0cmluZ0ltcGxAV1RGQEBWPyRXZWFrQFZK
U1N0cmluZ0BKU0NAQEBKU0NAQFVTdHJpbmdIYXNoQDJAVT8kSGFzaFRyYWl0c0BQQVZTdHJpbmdJ
bXBsQFdURkBAQDJAVT8kSGFzaFRyYWl0c0BWPyRXZWFrQFZKU1N0cmluZ0BKU0NAQEBKU0NAQEAy
QEBXVEZAQFBBVlN0cmluZ0ltcGxANkBAWgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rv
b2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IDczM2E2OWY2ZjRlYzU3NDI4NGNmM2QyNTUwYTc5MzUz
ZjJiZDc0ZmUuLjk1OTQ0Y2ZmZjEyMTI5ZTBjZDMxM2RjM2FlOWFlYmMyZGE1NTYxNjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtMjksNiArMjksMTggQEAgX1pOMjREdW1wUmVuZGVyVHJl
ZVN1cHBvcnRHdGsqOwogX1pON1dlYkNvcmUyMWdldENhY2hlZERPTVN0cnVjdHVyZUVQTlNfMTdK
U0RPTUdsb2JhbE9iamVjdEVQS04zSlNDOUNsYXNzSW5mb0U7CiBfWk43V2ViQ29yZTE3Y2FjaGVE
T01TdHJ1Y3R1cmVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE4zSlNDOVN0cnVjdHVyZUVQS05T
Ml85Q2xhc3NJbmZvRTsKIF9aTjdXZWJDb3JlMTJKU0RPTVdyYXBwZXIzNHZpcnR1YWxGdW5jdGlv
blRvUHJldmVudFdlYWtWdGFibGVFdjsKK19aTjdXZWJDb3JlMTBKU0RvY3VtZW50M3B1dEVQTjNK
U0M5RXhlY1N0YXRlRVJLTlMxXzEwSWRlbnRpZmllckVOUzFfN0pTVmFsdWVFUk5TMV8xNVB1dFBy
b3BlcnR5U2xvdEU7CitfWk43V2ViQ29yZTEwSlNEb2N1bWVudDZzX2luZm9FOworX1pOSzdXZWJD
b3JlNkpTTm9kZTIxcHVzaEV2ZW50SGFuZGxlclNjb3BlRVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8x
NFNjb3BlQ2hhaW5Ob2RlRTsKK19aTjdXZWJDb3JlNkpTTm9kZTNwdXRFUE4zSlNDOUV4ZWNTdGF0
ZUVSS05TMV8xMElkZW50aWZpZXJFTlMxXzdKU1ZhbHVlRVJOUzFfMTVQdXRQcm9wZXJ0eVNsb3RF
OworX1pON1dlYkNvcmU2SlNOb2RlNnNfaW5mb0U7CitfWk43V2ViQ29yZTZKU05vZGUxM3Zpc2l0
Q2hpbGRyZW5FUk4zSlNDOU1hcmtTdGFja0U7CitfWk43V2ViQ29yZTl0b0VsZW1lbnRFTjNKU0M3
SlNWYWx1ZUU7CitfWk43V2ViQ29yZTEwdG9Eb2N1bWVudEVOM0pTQzdKU1ZhbHVlRTsKK19aTjdX
ZWJDb3JlMTNjcmVhdGVXcmFwcGVyRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxP
YmplY3RFUE5TXzROb2RlRTsKK19aTjdXZWJDb3JlMTVzZXRET01FeGNlcHRpb25FUE4zSlNDOUV4
ZWNTdGF0ZUVpOworX1pON1dlYkNvcmUxNmpzU3RyaW5nU2xvd0Nhc2VFUE4zSlNDOUV4ZWNTdGF0
ZUVSTjNXVEY3SGFzaE1hcElQTlMzXzEwU3RyaW5nSW1wbEVOUzBfNFdlYWtJTlMwXzhKU1N0cmlu
Z0VFRU5TM18xMFN0cmluZ0hhc2hFTlMzXzEwSGFzaFRyYWl0c0lTNl9FRU5TQl9JUzlfRUVFRVM2
XzsKK19aTjdXZWJDb3JlMjJleHRlcm5hbFJlcHJlc2VudGF0aW9uRVBOU183RWxlbWVudEVqOwog
bG9jYWw6CiBfWio7CiBjdGkqOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97252</attachid>
            <date>2011-06-15 01:37:26 -0700</date>
            <delta_ts>2011-06-15 19:25:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62432-20110615173723.patch</filename>
            <type>text/plain</type>
            <size>28065</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODg5MTQKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCA3YWVjMjlkNjA3ODRkNzQ3ZDI5YWExMmFmMjdkMzdiODg2YTEwODk1Li44YjZh
NDVmYjdjYjk1MWI5OWFjZWM4YWVkNmUyNTIyNDM1YjgwNzA4IDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDYtMTMgIE1PUklUQSBI
YWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhlIGludGVybmFscyBvYmplY3Qgc2hvdWxkIGhhdmUgY3Jl
YXRlU2hhZG93Q29udGVudEVsZW1lbnQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjI0MzIgICAgICAgIAorCisgICAgICAgICogU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlcjogQWRkZWQgc29tZSBtb3JlIHN5bWJvbHMgbmVjZXNzYXJ5IGZv
cgorICAgICAgICB3aW5kb3cuaW50ZXJuYWxzIHRvIGZ1bmN0aW9uIHRvIHRoZSBnbG9iYWwgc3lt
Ym9sIGxpc3QuCisgICAgICAgIAorCiAyMDExLTA2LTE0ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hv
aUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA0Zjk0ZmQ2ODM0NmM0ZmYwZGRjODcyOGMwZjA1ZDZlNzAzYTU2M2IwLi5jNjM0NWY3N2I4MTEz
YjNmZThiZGY4ZTE0MjcyZTIwMzcyODQwZWU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEt
MDYtMTMgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGludGVybmFscyBvYmplY3Qg
c2hvdWxkIGhhdmUgY3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI0MzIKKworICAgICAgICAqIGZhc3Qv
ZG9tL3NoYWRvdy9jcmVhdGUtY29udGVudC1lbGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9kb20vc2hhZG93L2NyZWF0ZS1jb250ZW50LWVsZW1lbnQuaHRtbDogQWRk
ZWQuCisKIDIwMTEtMDYtMTAgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRG1pdHJ5IFRpdG92LgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2NyZWF0ZS1jb250ZW50LWVsZW1lbnQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NyZWF0ZS1jb250ZW50LWVsZW1lbnQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjNWQ0MzYyMmM3OWQ0ODM2OGVkZDM3N2Q0YmUwNzBmMTgz
NWUwMWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3Jl
YXRlLWNvbnRlbnQtZWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIHRl
c3QgY29tcGFyZXMgYSBzaGFkb3ctYmFzZWQgcmVuZGVyIHRyZWUgd2l0aCBvbmUgZm9yIGEgcmVm
cmVuY2UgRE9NIHRyZWUuCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9jcmVhdGUtY29udGVudC1lbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvY3JlYXRlLWNvbnRlbnQtZWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzNWRlNTZj
OGI2ODc0OWNjOWRmMWY4MzdhOTYxMDNiNmExYmM0NTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3JlYXRlLWNvbnRlbnQtZWxlbWVudC5odG1sCkBAIC0w
LDAgKzEsNzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy8q
IHJlbGF0aXZlIHBvc2l0aW9uaW5nIGVuc3VyZXMgdW5kZXJseWluZyBSZW5kZXJMYXllciAqLwor
LmNvbnRhaW5lciB7CisgICAgcG9zaXRpb246IHJlbGF0aXZlOworfQorPC9zdHlsZT4KKzxzY3Jp
cHQ+CitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29uc29sZSIpLmlubmVySFRNTCArPSAobWVzc2FnZSArICJcbiIpOworfQorCitmdW5jdGlv
biByZW1vdmVDb250YWluZXJMaW5lcyh0ZXh0KQoreworICAgIHZhciBsaW5lcyA9IHRleHQuc3Bs
aXQoIlxuIik7CisgICAgbGluZXMuc3BsaWNlKDAsIDIpOworICAgIHJldHVybiBsaW5lcy5qb2lu
KCJcbiIpOworfQorCitmdW5jdGlvbiBzZXR1cFRhcmdldFRyZWUoKQoreworICAgIHZhciB0YXJn
ZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICB0YXJnZXQuaW5uZXJIVE1M
ID0gIjxzcGFuPmNvbnRlbnQ8L3NwYW4+IjsKKyAgICB2YXIgcm9vdCA9IGxheW91dFRlc3RDb250
cm9sbGVyLmVuc3VyZVNoYWRvd1Jvb3QodGFyZ2V0KTsKKyAgICAKKyAgICB2YXIgY2hpbGQwID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOworICAgIGNoaWxkMC5pbm5lckhUTUwgPSAi
SGVsbG8sIjsKKyAgICByb290LmFwcGVuZENoaWxkKGNoaWxkMCk7CisgICAgcm9vdC5hcHBlbmRD
aGlsZCh3aW5kb3cuaW50ZXJuYWxzLmNyZWF0ZVNoYWRvd0NvbnRlbnRFbGVtZW50KGRvY3VtZW50
KSk7CisgICAgdmFyIGNoaWxkMSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAg
ICBjaGlsZDEuaW5uZXJIVE1MID0gIldvcmxkLiI7CisgICAgcm9vdC5hcHBlbmRDaGlsZChjaGls
ZDEpOworCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpLmFwcGVuZENoaWxk
KHRhcmdldCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICBsb2coIlRoaXMgdGVzdCBjb21wYXJlcyBhIHNoYWRvdy1i
YXNlZCByZW5kZXIgdHJlZSB3aXRoIG9uZSBmb3IgYSByZWZyZW5jZSBET00gdHJlZS4iKTsKKyAg
ICBzZXR1cFRhcmdldFRyZWUoKTsKKyAgICB2YXIgdGFyZ2V0Q29udGFpbmVyUmVuZGVyVHJlZSA9
IHdpbmRvdy5pbnRlcm5hbHMuZWxlbWVudFJlbmRlclRyZWVBc1RleHQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRhcmdldENvbnRhaW5lciIpKTsKKyAgICB2YXIgdGFyZ2V0UmVuZGVyVHJlZSA9
IHJlbW92ZUNvbnRhaW5lckxpbmVzKHRhcmdldENvbnRhaW5lclJlbmRlclRyZWUpOworICAgIHZh
ciByZWZDb250YWluZXJSZW5kZXJUcmVlID0gd2luZG93LmludGVybmFscy5lbGVtZW50UmVuZGVy
VHJlZUFzVGV4dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVmQ29udGFpbmVyIikpOworICAg
IHZhciByZWZSZW5kZXJUcmVlID0gcmVtb3ZlQ29udGFpbmVyTGluZXMocmVmQ29udGFpbmVyUmVu
ZGVyVHJlZSk7CisgICAgaWYgKHRhcmdldFJlbmRlclRyZWUgPT0gcmVmUmVuZGVyVHJlZSkKKyAg
ICAgICAgbG9nKCJQQVNTIik7CisgICAgZWxzZSB7CisgICAgICAgIGxvZygiRkFJTCIpOworICAg
ICAgICBsb2coIkV4cGVjdGVkOiIpOworICAgICAgICBsb2cocmVmUmVuZGVyVHJlZSk7CisgICAg
ICAgIGxvZygiQWN0dWFsOiIpOworICAgICAgICBsb2codGFyZ2V0UmVuZGVyVHJlZSk7CisgICAg
fQorICAgIAorICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iikuc3R5bGUuZGlzcGxh
eSA9ICJub25lIjsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCki
PgorPGRpdiBpZD0idGVzdCI+Cis8ZGl2IGNsYXNzPSJjb250YWluZXIiIGlkPSJ0YXJnZXRDb250
YWluZXIiPjxkaXYgaWQ9InRhcmdldCI+PC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJjb250YWlu
ZXIiIGlkPSJyZWZDb250YWluZXIiPjxkaXY+PGRpdj48c3Bhbj5IZWxsbyw8L3NwYW4+PHNwYW4+
Y29udGVudDwvc3Bhbj48c3Bhbj5Xb3JsZC48L3NwYW4+PC9kaXY+PC9kaXY+PC9kaXY+Cis8L2Rp
dj4KKzxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDY4MGM5OTQxMGQ5ZTE4YzFjNTQwYjkxZDBlMjU3NmFlNzJiMDEyNzMuLmZhZjI3MDg2NWMz
ZDAwM2M2OGUyODM4ODQ1ZGY3MmQ4YTE0ZGZlNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBA
QAorMjAxMS0wNi0xMyAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgaW50ZXJuYWxz
IG9iamVjdCBzaG91bGQgaGF2ZSBjcmVhdGVTaGFkb3dDb250ZW50RWxlbWVudCgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjQzMgorCisgICAgICAg
IFRoaXMgY2hhbmdlOgorICAgICAgICAtIGFkZGVkIEludGVybmFsczo6Y3JlYXRlU2hhZG93Q29u
dGVudEVsZW1lbnQoKSwgd2hpY2ggY3JlYXRlcywKKyAgICAgICAgICBTaGFkb3dDb250ZW50RWxl
bWVudCBpbnN0YW5jZSB3aGljaCBpbmNsdWRlcyBhbGwgaG9zdCBjaGlsZHJlbiwKKyAgICAgICAg
LSBhZGRlZCBJbnRlcm5hbHM6OmVsZW1lbnRSZW5kZXJUcmVlQXNUZXh0KCkgdG8gaGVscCBjb250
ZW50IGxheW91dCB0ZXN0aW5nLCBhbmQKKyAgICAgICAgLSBVbmFic3RyYWN0ZWQgU2hhZG93Q29u
dGVudEVsZW1lbnQgYnkgZ2l2aW5nIGEgZGVmYXVsdCBzaG91bGRJbmNsdWRlKCkgaW1wbGVtZW50
YXRpb24uCisgICAgICAgIAorICAgICAgICBUZXN0OiBmYXN0L2RvbS9zaGFkb3cvY3JlYXRlLWNv
bnRlbnQtZWxlbWVudC5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAg
KiBkb20vU2hhZG93Q29udGVudEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93
Q29udGVudEVsZW1lbnQ6OmNyZWF0ZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93
Q29udGVudEVsZW1lbnQ6OlNoYWRvd0NvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlNoYWRvd0NvbnRlbnRFbGVtZW50Ojp+U2hhZG93Q29udGVudEVsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6U2hhZG93Q29udGVudEVsZW1lbnQ6OnNob3VsZEluY2x1ZGUpOiBHYXZlIGEgZGVm
YXVsdCBpbXBsZW1lbnRhdGlvbiB3aGljaCBhbHdheXMgcmV0dXJucyB0cnVlLgorICAgICAgICAq
IGRvbS9TaGFkb3dDb250ZW50RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTFN1bW1hcnlF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1bW1hcnlDb250ZW50RWxlbWVudDo6U3Vt
bWFyeUNvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpleHRlcm5hbFJlcHJlc2VudGF0aW9uKTogRmFjdG9y
ZWQgb3V0IGZvciBzdXBwb3J0aW4gcGVyLWVsZW1lbnQgcmVuZGVyIHRyZWUgZHVtcC4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5oOgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6Y3JlYXRlU2hhZG93Q29u
dGVudEVsZW1lbnQpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6ZWxlbWVu
dFJlbmRlclRyZWVBc1RleHQpOiBkZGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDExLTA2LTE1ICBOaWtvbGFz
IFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IERhdmlkIEh5YXR0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4g
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA0Y2M4ODA1M2FjNjJlY2UyN2Rk
ZGM0ODQ4ODk4M2FmMGQzNWZjYzEzLi4zY2JlNDFlODdlMmEyZTg0ZjIwZTVkNWRkZDFkOTE2YzFi
MTBkYzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTQwLDYgKzE0MCw3IEBAIF9fWk4zV1RG
NlN0cmluZ0MxRVBLMTBfX0NGU3RyaW5nCiBfX1pON1dlYkNvcmUxMENyZWRlbnRpYWxDMUVSS04z
V1RGNlN0cmluZ0VTNF9OU18yMUNyZWRlbnRpYWxQZXJzaXN0ZW5jZUUKIF9fWk43V2ViQ29yZTEw
Q3JlZGVudGlhbEMxRXYKIF9fWk43V2ViQ29yZTEwRmxvYXRQb2ludEMxRVJLTlNfOEludFBvaW50
RQorX19aTjdXZWJDb3JlMTBKU0RvY3VtZW50M3B1dEVQTjNKU0M5RXhlY1N0YXRlRVJLTlMxXzEw
SWRlbnRpZmllckVOUzFfN0pTVmFsdWVFUk5TMV8xNVB1dFByb3BlcnR5U2xvdEUKIF9fWk43V2Vi
Q29yZTEwSlNEb2N1bWVudDZzX2luZm9FCiBfX1pON1dlYkNvcmUxME1vdXNlRXZlbnQ2Y3JlYXRl
RVJLTjNXVEYxMkF0b21pY1N0cmluZ0VOUzFfMTBQYXNzUmVmUHRySU5TXzlET01XaW5kb3dFRUVS
S05TXzE4UGxhdGZvcm1Nb3VzZUV2ZW50RWlOUzVfSU5TXzROb2RlRUVFCiBfX1pON1dlYkNvcmUx
ME1vdXNlRXZlbnRDMUVSS04zV1RGMTJBdG9taWNTdHJpbmdFYmJOUzFfMTBQYXNzUmVmUHRySU5T
XzlET01XaW5kb3dFRUVpaWlpaWJiYmJ0TlM1X0lOU18xMUV2ZW50VGFyZ2V0RUVFTlM1X0lOU185
Q2xpcGJvYXJkRUVFYgpAQCAtMTUwLDYgKzE1MSw3IEBAIF9fWk43V2ViQ29yZTEwU2Nyb2xsVmll
dzI0d2luZG93UmVzaXplclJlY3RDaGFuZ2VkRXYKIF9fWk43V2ViQ29yZTEwZGVsZXRlRmlsZUVS
S04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTEwaGFuZEN1cnNvckV2CiBfX1pON1dlYkNvcmUx
MHNldENvb2tpZXNFUE5TXzhEb2N1bWVudEVSS05TXzRLVVJMRVJLTjNXVEY2U3RyaW5nRQorX19a
TjdXZWJDb3JlMTB0b0RvY3VtZW50RU4zSlNDN0pTVmFsdWVFCiBfX1pON1dlYkNvcmUxMUJpdG1h
cEltYWdlQzFFUDdDR0ltYWdlUE5TXzEzSW1hZ2VPYnNlcnZlckUKIF9fWk43V2ViQ29yZTExQ2Fj
aGVkRnJhbWUyM2NhY2hlZEZyYW1lUGxhdGZvcm1EYXRhRXYKIF9fWk43V2ViQ29yZTExQ2FjaGVk
RnJhbWUyNnNldENhY2hlZEZyYW1lUGxhdGZvcm1EYXRhRU4zV1RGMTBQYXNzT3duUHRySU5TXzIz
Q2FjaGVkRnJhbWVQbGF0Zm9ybURhdGFFRUUKQEAgLTM1Miw4ICszNTQsOCBAQCBfX1pON1dlYkNv
cmUxNEZyYW1lU2VsZWN0aW9uMTJzZXRTZWxlY3Rpb25FUktOU18xNlZpc2libGVTZWxlY3Rpb25F
ak5TMF8xOUN1cnNvcgogX19aTjdXZWJDb3JlMTRGcmFtZVNlbGVjdGlvbjE1cmV2ZWFsU2VsZWN0
aW9uRVJLTlNfMTVTY3JvbGxBbGlnbm1lbnRFYgogX19aTjdXZWJDb3JlMTRGcmFtZVNlbGVjdGlv
bjE2c2V0U2VsZWN0ZWRSYW5nZUVQTlNfNVJhbmdlRU5TXzlFQWZmaW5pdHlFYgogX19aTjdXZWJD
b3JlMTRGcmFtZVNlbGVjdGlvbjIwc2V0U2VsZWN0aW9uRnJvbU5vbmVFdgotX19aTjdXZWJDb3Jl
MTRGcmFtZVNlbGVjdGlvbjZtb2RpZnlFTlMwXzExRUFsdGVyYXRpb25FTlNfMThTZWxlY3Rpb25E
aXJlY3Rpb25FTlNfMTVUZXh0R3JhbnVsYXJpdHlFYgogX19aTjdXZWJDb3JlMTRGcmFtZVNlbGVj
dGlvbjVjbGVhckV2CitfX1pON1dlYkNvcmUxNEZyYW1lU2VsZWN0aW9uNm1vZGlmeUVOUzBfMTFF
QWx0ZXJhdGlvbkVOU18xOFNlbGVjdGlvbkRpcmVjdGlvbkVOU18xNVRleHRHcmFudWxhcml0eUVi
CiBfX1pON1dlYkNvcmUxNEZyYW1lU2VsZWN0aW9uOXNlbGVjdEFsbEV2CiBfX1pON1dlYkNvcmUx
NEZyYW1lU2VsZWN0aW9uQzFFUE5TXzVGcmFtZUUKIF9fWk43V2ViQ29yZTE0UmVzb3VyY2VIYW5k
bGUxMnJlbGVhc2VQcm94eUV2CkBAIC00MzYsNiArNDM4LDcgQEAgX19aTjdXZWJDb3JlMTVkZWZh
dWx0TGFuZ3VhZ2VFdgogX19aTjdXZWJDb3JlMTVsb2NhbGl6ZWRTdHJpbmdFUEtjCiBfX1pON1dl
YkNvcmUxNXBhdGhHZXRGaWxlTmFtZUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTE1cmVw
b3J0RXhjZXB0aW9uRVBOM0pTQzlFeGVjU3RhdGVFTlMwXzdKU1ZhbHVlRQorX19aTjdXZWJDb3Jl
MTVzZXRET01FeGNlcHRpb25FUE4zSlNDOUV4ZWNTdGF0ZUVpCiBfX1pON1dlYkNvcmUxNXZpc2l0
ZWRMaW5rSGFzaEVQS3RqCiBfX1pON1dlYkNvcmUxNkFic3RyYWN0RGF0YWJhc2UxNHNldElzQXZh
aWxhYmxlRWIKIF9fWk43V2ViQ29yZTE2RGV2aWNlTW90aW9uRGF0YTEyQWNjZWxlcmF0aW9uNmNy
ZWF0ZUViZGJkYmQKQEAgLTQ4OSwxNCArNDkyLDE1IEBAIF9fWk43V2ViQ29yZTE2ZW5jbG9zaW5n
SW50UmVjdEVSSzdfTlNSZWN0CiBfX1pON1dlYkNvcmUxNmVuY2xvc2luZ0ludFJlY3RFUktOU185
RmxvYXRSZWN0RQogX19aTjdXZWJDb3JlMTZpc0VuZE9mUGFyYWdyYXBoRVJLTlNfMTVWaXNpYmxl
UG9zaXRpb25FTlNfMjdFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGVFCiBfX1pON1dlYkNvcmUx
NnN0YXJ0T2ZQYXJhZ3JhcGhFUktOU18xNVZpc2libGVQb3NpdGlvbkVOU18yN0VkaXRpbmdCb3Vu
ZGFyeUNyb3NzaW5nUnVsZUUKLV9fWk43V2ViQ29yZTE3Q3JlZGVudGlhbFN0b3JhZ2UzZ2V0RVJL
TlNfMTVQcm90ZWN0aW9uU3BhY2VFCiBfX1pON1dlYkNvcmUxN0NyZWRlbnRpYWxTdG9yYWdlMjRn
ZXRGcm9tUGVyc2lzdGVudFN0b3JhZ2VFUktOU18xNVByb3RlY3Rpb25TcGFjZUUKK19fWk43V2Vi
Q29yZTE3Q3JlZGVudGlhbFN0b3JhZ2UzZ2V0RVJLTlNfMTVQcm90ZWN0aW9uU3BhY2VFCiBfX1pO
N1dlYkNvcmUxN0RPTUltcGxlbWVudGF0aW9uMTNpc1hNTE1JTUVUeXBlRVJLTjNXVEY2U3RyaW5n
RQogX19aTjdXZWJDb3JlMTdET01JbXBsZW1lbnRhdGlvbjE0aXNUZXh0TUlNRVR5cGVFUktOM1dU
RjZTdHJpbmdFCiBfX1pON1dlYkNvcmUxN0RldmljZU9yaWVudGF0aW9uNmNyZWF0ZUViZGJkYmQK
IF9fWk43V2ViQ29yZTE3R2x5cGhQYWdlVHJlZU5vZGUxOHRyZWVHbHlwaFBhZ2VDb3VudEV2CiBf
X1pON1dlYkNvcmUxN0hpc3RvcnlDb250cm9sbGVyMjZzYXZlRG9jdW1lbnRBbmRTY3JvbGxTdGF0
ZUV2CiBfX1pON1dlYkNvcmUxN0hpc3RvcnlDb250cm9sbGVyMzNyZXN0b3JlU2Nyb2xsUG9zaXRp
b25BbmRWaWV3U3RhdGVFdgorX19aTjdXZWJDb3JlMTdjYWNoZURPTVN0cnVjdHVyZUVQTlNfMTdK
U0RPTUdsb2JhbE9iamVjdEVQTjNKU0M5U3RydWN0dXJlRVBLTlMyXzlDbGFzc0luZm9FCiBfX1pO
N1dlYkNvcmUxN25hbWVGb3JDdXJzb3JUeXBlRU5TXzZDdXJzb3I0VHlwZUUKIF9fWk43V2ViQ29y
ZTE3b3BlblRlbXBvcmFyeUZpbGVFUktOM1dURjZTdHJpbmdFUmkKIF9fWk43V2ViQ29yZTE4UGxh
dGZvcm1Nb3VzZUV2ZW50QzFFUDdOU0V2ZW50UDZOU1ZpZXcKQEAgLTU0MSw2ICs1NDUsNyBAQCBf
X1pON1dlYkNvcmUxOWFwcGxpY2F0aW9uSXNTYWZhcmlFdgogX19aTjdXZWJDb3JlMjBSZW5kZXJF
bWJlZGRlZE9iamVjdDMwc2V0U2hvd3NDcmFzaGVkUGx1Z2luSW5kaWNhdG9yRXYKIF9fWk43V2Vi
Q29yZTIwUmVzb3VyY2VSZXNwb25zZUJhc2UyNHNldEV4cGVjdGVkQ29udGVudExlbmd0aEV4CiBf
X1pON1dlYkNvcmUyMFJlc291cmNlUmVzcG9uc2VCYXNlQzJFdgorX19aTjdXZWJDb3JlMjBTaGFk
b3dDb250ZW50RWxlbWVudDZjcmVhdGVFUE5TXzhEb2N1bWVudEUKIF9fWk43V2ViQ29yZTIwU3Bh
Y2VTcGxpdFN0cmluZ0RhdGExMmNyZWF0ZVZlY3RvckV2CiBfX1pON1dlYkNvcmUyMFVzZXJHZXN0
dXJlSW5kaWNhdG9yMjNzX3Byb2Nlc3NpbmdVc2VyR2VzdHVyZUUKIF9fWk43V2ViQ29yZTIwVXNl
ckdlc3R1cmVJbmRpY2F0b3JDMUVOU18yNlByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlRQpAQCAt
NTQ4LDcgKzU1Myw2IEBAIF9fWk43V2ViQ29yZTIwVXNlckdlc3R1cmVJbmRpY2F0b3JEMUV2CiBf
X1pON1dlYkNvcmUyMG1ha2VSR0JBMzJGcm9tRmxvYXRzRWZmZmYKIF9fWk43V2ViQ29yZTIwcHJv
dG9jb2xJc0phdmFTY3JpcHRFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUyMUJhY2tGb3J3
YXJkQ29udHJvbGxlcjExaXRlbUF0SW5kZXhFaQotX19aTjdXZWJDb3JlMjFtZW1vcnlQcmVzc3Vy
ZUhhbmRsZXJFdgogX19aTjdXZWJDb3JlMjFNZW1vcnlQcmVzc3VyZUhhbmRsZXI3aW5zdGFsbEV2
CiBfX1pON1dlYkNvcmUyMVBsYXRmb3JtS2V5Ym9hcmRFdmVudDI0ZGlzYW1iaWd1YXRlS2V5RG93
bkV2ZW50RU5TMF80VHlwZUViCiBfX1pON1dlYkNvcmUyMVBsYXRmb3JtS2V5Ym9hcmRFdmVudEMx
RVA3TlNFdmVudApAQCAtNTYzLDkgKzU2NywxMSBAQCBfX1pON1dlYkNvcmUyMVVzZXJDb250ZW50
VVJMUGF0dGVybjVwYXJzZUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTIxV2luZG93c0xh
dGluMUVuY29kaW5nRXYKIF9fWk43V2ViQ29yZTIxYXBwbGljYXRpb25Jc0FwZXJ0dXJlRXYKIF9f
Wk43V2ViQ29yZTIxZmluZEV2ZW50V2l0aEtleVN0YXRlRVBOU181RXZlbnRFCitfX1pON1dlYkNv
cmUyMWdldENhY2hlZERPTVN0cnVjdHVyZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQS04zSlND
OUNsYXNzSW5mb0UKIF9fWk43V2ViQ29yZTIxaXNCYWNrRm9yd2FyZExvYWRUeXBlRU5TXzEzRnJh
bWVMb2FkVHlwZUUKIF9fWk43V2ViQ29yZTIxbWFpblRocmVhZE5vcm1hbFdvcmxkRXYKIF9fWk43
V2ViQ29yZTIxbWFya2VyVGV4dEZvckxpc3RJdGVtRVBOU183RWxlbWVudEUKK19fWk43V2ViQ29y
ZTIxbWVtb3J5UHJlc3N1cmVIYW5kbGVyRXYKIF9fWk43V2ViQ29yZTIxcmVwb3J0VGhyZWFkVmlv
bGF0aW9uRVBLY05TXzIwVGhyZWFkVmlvbGF0aW9uUm91bmRFCiBfX1pON1dlYkNvcmUyMXJlc291
cmNlTG9hZFNjaGVkdWxlckV2CiBfX1pON1dlYkNvcmUyMXNldEdsb2JhbEljb25EYXRhYmFzZUVQ
TlNfMTZJY29uRGF0YWJhc2VCYXNlRQpAQCAtNTc3LDYgKzU4Myw3IEBAIF9fWk43V2ViQ29yZTIy
Y29udGV4dE1lbnVJdGVtVGFnQm9sZEV2CiBfX1pON1dlYkNvcmUyMmNvdW50ZXJWYWx1ZUZvckVs
ZW1lbnRFUE5TXzdFbGVtZW50RQogX19aTjdXZWJDb3JlMjJjcmVhdGVGcmFnbWVudEZyb21UZXh0
RVBOU181UmFuZ2VFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUyMmV4dGVybmFsUmVwcmVz
ZW50YXRpb25FUE5TXzVGcmFtZUVqCitfX1pON1dlYkNvcmUyMmV4dGVybmFsUmVwcmVzZW50YXRp
b25FUE5TXzdFbGVtZW50RWoKIF9fWk43V2ViQ29yZTIzQXV0aGVudGljYXRpb25DaGFsbGVuZ2VD
MUVSS05TXzE1UHJvdGVjdGlvblNwYWNlRVJLTlNfMTBDcmVkZW50aWFsRWpSS05TXzE2UmVzb3Vy
Y2VSZXNwb25zZUVSS05TXzEzUmVzb3VyY2VFcnJvckUKIF9fWk43V2ViQ29yZTIzUmVwbGFjZVNl
bGVjdGlvbkNvbW1hbmRDMUVQTlNfOERvY3VtZW50RU4zV1RGMTBQYXNzUmVmUHRySU5TXzE2RG9j
dW1lbnRGcmFnbWVudEVFRWpOU18xMEVkaXRBY3Rpb25FCiBfX1pON1dlYkNvcmUyM2NyZWF0ZUZy
YWdtZW50RnJvbU5vZGVzRVBOU184RG9jdW1lbnRFUktOM1dURjZWZWN0b3JJUE5TXzROb2RlRUxt
MEVFRQpAQCAtNzk0LDYgKzgwMSw5IEBAIF9fWk43V2ViQ29yZTZFZGl0b3I2aW5kZW50RXYKIF9f
Wk43V2ViQ29yZTZFZGl0b3I3Q29tbWFuZEMxRXYKIF9fWk43V2ViQ29yZTZFZGl0b3I3Y29tbWFu
ZEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTZFZGl0b3I3b3V0ZGVudEV2CitfX1pON1dl
YkNvcmU2SlNOb2RlMTN2aXNpdENoaWxkcmVuRVJOM0pTQzlNYXJrU3RhY2tFCitfX1pON1dlYkNv
cmU2SlNOb2RlM3B1dEVQTjNKU0M5RXhlY1N0YXRlRVJLTlMxXzEwSWRlbnRpZmllckVOUzFfN0pT
VmFsdWVFUk5TMV8xNVB1dFByb3BlcnR5U2xvdEUKK19fWk43V2ViQ29yZTZKU05vZGU2c19pbmZv
RQogX19aTjdXZWJDb3JlNldpZGdldDEyc2V0RnJhbWVSZWN0RVJLTlNfN0ludFJlY3RFCiBfX1pO
N1dlYkNvcmU2V2lkZ2V0MTNzZXRCb3VuZHNTaXplRVJLTlNfN0ludFNpemVFCiBfX1pON1dlYkNv
cmU2V2lkZ2V0MTZyZW1vdmVGcm9tUGFyZW50RXYKQEAgLTkzNCw3ICs5NDQsNiBAQCBfX1pON1dl
YkNvcmU5RnJhbWVWaWV3MTRhZGp1c3RWaWV3U2l6ZUV2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3
MTRzZXRNYXJnaW5XaWR0aEVpCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTRzZXROZWVkc0xheW91
dEV2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTRzZXRUcmFuc3BhcmVudEViCi1fX1pOSzdXZWJD
b3JlOUZyYW1lVmlldzEzaXNUcmFuc3BhcmVudEV2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTVz
ZXRNYXJnaW5IZWlnaHRFaQogX19aTjdXZWJDb3JlOUZyYW1lVmlldzE2c2V0UGFpbnRCZWhhdmlv
ckVqCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTdzZXRTY3JvbGxQb3NpdGlvbkVSS05TXzhJbnRQ
b2ludEUKQEAgLTk0Miw3ICs5NTEsNiBAQCBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTh1cGRhdGVD
b250cm9sVGludHNFdgogX19aTjdXZWJDb3JlOUZyYW1lVmlldzIwZW50ZXJDb21wb3NpdGluZ01v
ZGVFdgogX19aTjdXZWJDb3JlOUZyYW1lVmlldzIxZmx1c2hEZWZlcnJlZFJlcGFpbnRzRXYKIF9f
Wk43V2ViQ29yZTlGcmFtZVZpZXcyMnNldEJhc2VCYWNrZ3JvdW5kQ29sb3JFUktOU181Q29sb3JF
Ci1fX1pOSzdXZWJDb3JlOUZyYW1lVmlldzE5YmFzZUJhY2tncm91bmRDb2xvckV2CiBfX1pON1dl
YkNvcmU5RnJhbWVWaWV3MjN1cGRhdGVDYW5IYXZlU2Nyb2xsYmFyc0V2CiBfX1pON1dlYkNvcmU5
RnJhbWVWaWV3MjRmb3JjZUxheW91dEZvclBhZ2luYXRpb25FUktOU185RmxvYXRTaXplRWZOU18x
OUFkanVzdFZpZXdTaXplT3JOb3RFCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjZhZGp1c3RQYWdl
SGVpZ2h0RGVwcmVjYXRlZEVQZmZmZgpAQCAtOTg5LDYgKzk5Nyw3IEBAIF9fWk43V2ViQ29yZTlI
VE1MTmFtZXM4dmlkZW9UYWdFCiBfX1pON1dlYkNvcmU5SFRNTE5hbWVzOWlmcmFtZVRhZ0UKIF9f
Wk43V2ViQ29yZTlIVE1MTmFtZXM5b2JqZWN0VGFnRQogX19aTjdXZWJDb3JlOUhUTUxOYW1lczlz
Y3JpcHRUYWdFCitfX1pON1dlYkNvcmU5SlNFbGVtZW50M3B1dEVQTjNKU0M5RXhlY1N0YXRlRVJL
TlMxXzEwSWRlbnRpZmllckVOUzFfN0pTVmFsdWVFUk5TMV8xNVB1dFByb3BlcnR5U2xvdEUKIF9f
Wk43V2ViQ29yZTlKU0VsZW1lbnQ2c19pbmZvRQogX19aTjdXZWJDb3JlOVBhZ2VDYWNoZTExc2V0
Q2FwYWNpdHlFaQogX19aTjdXZWJDb3JlOVBhZ2VDYWNoZTI3cmVsZWFzZUF1dG9yZWxlYXNlZFBh
Z2VzTm93RXYKQEAgLTEwMjAsMTEgKzEwMjksOCBAQCBfX1pON1dlYkNvcmU5bWFrZVJhbmdlRVJL
TlNfMTVWaXNpYmxlUG9zaXRpb25FUzJfCiBfX1pON1dlYkNvcmU5cGFnZUNhY2hlRXYKIF9fWk43
V2ViQ29yZTlwbGFpblRleHRFUEtOU181UmFuZ2VFTlNfMjBUZXh0SXRlcmF0b3JCZWhhdmlvckUK
IF9fWk43V2ViQ29yZTl0b0VsZW1lbnRFTjNKU0M3SlNWYWx1ZUUKLV9fWk43V2ViQ29yZTE3Y2Fj
aGVET01TdHJ1Y3R1cmVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE4zSlNDOVN0cnVjdHVyZUVQ
S05TMl85Q2xhc3NJbmZvRQotX19aTjdXZWJDb3JlMjFnZXRDYWNoZWRET01TdHJ1Y3R1cmVFUE5T
XzE3SlNET01HbG9iYWxPYmplY3RFUEtOM0pTQzlDbGFzc0luZm9FCiBfX1pOSzNKU0M4QmluZGlu
Z3MxMFJvb3RPYmplY3QxMmdsb2JhbE9iamVjdEV2CiBfX1pOSzNXVEY2U3RyaW5nMTRjcmVhdGVD
RlN0cmluZ0V2Ci1fX1pOSzdXZWJDb3JlNUZyYW1lMjZnZXREb2N1bWVudEJhY2tncm91bmRDb2xv
ckV2CiBfX1pOSzdXZWJDb3JlMTBDcmVkZW50aWFsMTFoYXNQYXNzd29yZEV2CiBfX1pOSzdXZWJD
b3JlMTBDcmVkZW50aWFsMTFwZXJzaXN0ZW5jZUV2CiBfX1pOSzdXZWJDb3JlMTBDcmVkZW50aWFs
NHVzZXJFdgpAQCAtMTIyNCw2ICsxMjMwLDcgQEAgX19aTks3V2ViQ29yZTVGcmFtZTE0c2VsZWN0
aW9uSW1hZ2VFYgogX19aTks3V2ViQ29yZTVGcmFtZTE1Y29udGVudFJlbmRlcmVyRXYKIF9fWk5L
N1dlYkNvcmU1RnJhbWUxNWxheWVyVHJlZUFzVGV4dEViCiBfX1pOSzdXZWJDb3JlNUZyYW1lMThk
b2N1bWVudFR5cGVTdHJpbmdFdgorX19aTks3V2ViQ29yZTVGcmFtZTI2Z2V0RG9jdW1lbnRCYWNr
Z3JvdW5kQ29sb3JFdgogX19aTks3V2ViQ29yZTVGcmFtZTMxZGlzcGxheVN0cmluZ01vZGlmaWVk
QnlFbmNvZGluZ0VSS04zV1RGNlN0cmluZ0UKIF9fWk5LN1dlYkNvcmU1RnJhbWU4c2V0dGluZ3NF
dgogX19aTks3V2ViQ29yZTVGcmFtZTlkb21XaW5kb3dFdgpAQCAtMTI2Miw2ICsxMjY5LDcgQEAg
X19aTks3V2ViQ29yZTZFZGl0b3I3Y2FuQ29weUV2CiBfX1pOSzdXZWJDb3JlNkVkaXRvcjdjYW5F
ZGl0RXYKIF9fWk5LN1dlYkNvcmU2RWRpdG9yOGNhblBhc3RlRXYKIF9fWk5LN1dlYkNvcmU2RWRp
dG9yOWNhbkRlbGV0ZUV2CitfX1pOSzdXZWJDb3JlNkpTTm9kZTIxcHVzaEV2ZW50SGFuZGxlclNj
b3BlRVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8xNFNjb3BlQ2hhaW5Ob2RlRQogX19aTks3V2ViQ29y
ZTZXaWRnZXQxNHBsYXRmb3JtV2lkZ2V0RXYKIF9fWk5LN1dlYkNvcmU2V2lkZ2V0MjNjb252ZXJ0
VG9Db250YWluaW5nVmlld0VSS05TXzdJbnRSZWN0RQogX19aTks3V2ViQ29yZTZXaWRnZXQyM2Nv
bnZlcnRUb0NvbnRhaW5pbmdWaWV3RVJLTlNfOEludFBvaW50RQpAQCAtMTMwOSw3ICsxMzE3LDkg
QEAgX19aTks3V2ViQ29yZTlGcmFtZVRyZWUyNHRyYXZlcnNlUHJldmlvdXNXaXRoV3JhcEViCiBf
X1pOSzdXZWJDb3JlOUZyYW1lVHJlZTRmaW5kRVJLTjNXVEYxMkF0b21pY1N0cmluZ0UKIF9fWk5L
N1dlYkNvcmU5RnJhbWVUcmVlNnBhcmVudEViCiBfX1pOSzdXZWJDb3JlOUZyYW1lVmlldzExbmVl
ZHNMYXlvdXRFdgorX19aTks3V2ViQ29yZTlGcmFtZVZpZXcxM2lzVHJhbnNwYXJlbnRFdgogX19a
Tks3V2ViQ29yZTlGcmFtZVZpZXcxM3BhaW50QmVoYXZpb3JFdgorX19aTks3V2ViQ29yZTlGcmFt
ZVZpZXcxOWJhc2VCYWNrZ3JvdW5kQ29sb3JFdgogX19aTks3V2ViQ29yZTlGcmFtZVZpZXcyMGlz
U29mdHdhcmVSZW5kZXJhYmxlRXYKIF9fWk5LN1dlYkNvcmU5RnJhbWVWaWV3MjJ3aW5kb3dDbGlw
UmVjdEZvckxheWVyRVBLTlNfMTFSZW5kZXJMYXllckViCiBfX1pOSzdXZWJDb3JlOUZyYW1lVmll
dzI4aXNFbmNsb3NlZEluQ29tcG9zaXRpbmdMYXllckV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1No
YWRvd0NvbnRlbnRFbGVtZW50LmNwcAppbmRleCBjODY2NTQ3MThiM2RlOTQ4ZGUwNjkzNDM5NjIy
MjE3MTVmN2YyZGVkLi4xZGNkM2RlYzA3MjlkYTAxZTZiZWY5NDRkMzhiZDJlZWIxY2IyZGQ0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dDb250ZW50RWxlbWVudC5jcHAKQEAgLTI3LDEw
ICsyNywyNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNoYWRvd0NvbnRlbnRF
bGVtZW50LmgiCiAKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJTaGFkb3dDb250
ZW50U2VsZWN0b3IuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitQYXNzUmVmUHRyPFNoYWRv
d0NvbnRlbnRFbGVtZW50PiBTaGFkb3dDb250ZW50RWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBk
b2N1bWVudCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFF1YWxpZmllZE5hbWUsIHRhZ05h
bWUsIChudWxsQXRvbSwgIndlYmtpdFNoYWRvd0NvbnRlbnQiLCBIVE1MTmFtZXM6OmRpdlRhZy5u
YW1lc3BhY2VVUkkoKSkpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2hhZG93Q29udGVudEVs
ZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKK30KKworU2hhZG93Q29udGVudEVsZW1lbnQ6OlNo
YWRvd0NvbnRlbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIERvY3VtZW50KiBk
b2N1bWVudCkKKyAgICA6IFN0eWxlZEVsZW1lbnQobmFtZSwgZG9jdW1lbnQsIENyZWF0ZUhUTUxF
bGVtZW50KQoreworfQorCitTaGFkb3dDb250ZW50RWxlbWVudDo6flNoYWRvd0NvbnRlbnRFbGVt
ZW50KCkKK3sKK30KKwogdm9pZCBTaGFkb3dDb250ZW50RWxlbWVudDo6YXR0YWNoKCkKIHsKICAg
ICBBU1NFUlQoIWZpcnN0Q2hpbGQoKSk7IC8vIEN1cnJlbnRseSBkb2Vzbid0IHN1cHBvcnQgYW55
IGxpZ2h0IGNoaWxkLgpAQCAtNTIsNCArNjgsOSBAQCB2b2lkIFNoYWRvd0NvbnRlbnRFbGVtZW50
OjpkZXRhY2goKQogICAgIFN0eWxlZEVsZW1lbnQ6OmRldGFjaCgpOwogfQogCitib29sIFNoYWRv
d0NvbnRlbnRFbGVtZW50OjpzaG91bGRJbmNsdWRlKE5vZGUqKQoreworICAgIHJldHVybiB0cnVl
OworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Q29udGVudEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dDb250ZW50RWxlbWVudC5oCmluZGV4
IGFiNmU1YTAwZWFiZjgxNDY5OTMyNjg2ZDg3ZjNlNzEyMDg3YTg2NjkuLjYzNDlmYTU2MjY5ZDEx
ZTEyMGQ0MTdiZmRiZTNiMzExM2UwNDBjMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TaGFkb3dDb250ZW50RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dD
b250ZW50RWxlbWVudC5oCkBAIC00MCwxOCArNDAsMTkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
Ly8gWW91IHNob3VsZCBjcmVhdGUgU2hhZG93Q29udGVudEVsZW1lbnQgZHVyaW5nIHRoZSBob3N0
IGNvbnN0cnVjdGlvbi4KIGNsYXNzIFNoYWRvd0NvbnRlbnRFbGVtZW50IDogcHVibGljIFN0eWxl
ZEVsZW1lbnQgewogcHVibGljOgotICAgIFNoYWRvd0NvbnRlbnRFbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmIG5hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLSAgICAgICAgOiBTdHlsZWRFbGVt
ZW50KG5hbWUsIGRvY3VtZW50LCBDcmVhdGVIVE1MRWxlbWVudCkKLSAgICB7Ci0gICAgfQorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFNoYWRvd0NvbnRlbnRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQq
KTsKIAotICAgIHZpcnR1YWwgYm9vbCBzaG91bGRJbmNsdWRlKE5vZGUqKSA9IDA7CisgICAgdmly
dHVhbCB+U2hhZG93Q29udGVudEVsZW1lbnQoKTsKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW5j
bHVkZShOb2RlKik7CiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaCgpOwogICAgIHZpcnR1YWwgdm9p
ZCBkZXRhY2goKTsKIAogICAgIE5vZGUqIGluY2x1c2lvbkF0KHNpemVfdCkgY29uc3Q7CiAgICAg
c2l6ZV90IGluY2x1c2lvbkNvdW50KCkgY29uc3Q7CiAKK3Byb3RlY3RlZDoKKyAgICBTaGFkb3dD
b250ZW50RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKKwogcHJpdmF0
ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNDb250ZW50RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBOb2RlUmVuZGVy
aW5nQ29udGV4dCYpIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTdW1tYXJ5RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxT
dW1tYXJ5RWxlbWVudC5jcHAKaW5kZXggZDUyNDc1NzI1MzdmNWFjOTEwNDg5ZDk0M2YzYjQ4ZTlm
OTNlOTU0Ny4uNTE2YjMzYjFiMGE1Y2NkZmE0N2VhN2UzZWYzNTc3NTI3OGNhNmRiNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3VtbWFyeUVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNwcApAQCAtNDYsOCArNDYsNiBA
QCBwcml2YXRlOgogICAgICAgICA6IFNoYWRvd0NvbnRlbnRFbGVtZW50KEhUTUxOYW1lczo6ZGl2
VGFnLCBkb2N1bWVudCkKICAgICB7CiAgICAgfQotCi0gICAgdmlydHVhbCBib29sIHNob3VsZElu
Y2x1ZGUoTm9kZSopIHsgcmV0dXJuIHRydWU7IH0KIH07CiAKIFBhc3NSZWZQdHI8U3VtbWFyeUNv
bnRlbnRFbGVtZW50PiBTdW1tYXJ5Q29udGVudEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9j
dW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFz
VGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAK
aW5kZXggZDA5NmY4NzhhZWEzNTVlNGMzMGM4Y2JmNDRjMjcxMzFlM2E2NWU1OS4uZmM0YjU3ZGY0
NGE3YjNiZWYwZGMzZTczYmQ3NWMxZGU2YzgxZjg5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcApAQCAtNzU2LDI5ICs3NTYsNDQgQEAgc3RhdGlj
IHZvaWQgd3JpdGVTZWxlY3Rpb24oVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRlck9iamVjdCog
bykKICAgICAgICAgICAgPDwgInNlbGVjdGlvbiBlbmQ6ICAgcG9zaXRpb24gIiA8PCBzZWxlY3Rp
b24uZW5kKCkuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSA8PCAiIG9mICIgPDwgbm9kZVBvc2l0
aW9uKHNlbGVjdGlvbi5lbmQoKS5kZXByZWNhdGVkTm9kZSgpKSA8PCAiXG4iOwogfQogCitzdGF0
aWMgU3RyaW5nIGV4dGVybmFsUmVwcmVzZW50YXRpb24oUmVuZGVyQm94KiByZW5kZXJlciwgUmVu
ZGVyQXNUZXh0QmVoYXZpb3IgYmVoYXZpb3IpCit7CisgICAgVGV4dFN0cmVhbSB0czsKKyAgICBp
ZiAoIXJlbmRlcmVyLT5oYXNMYXllcigpKQorICAgICAgICB0cy5yZWxlYXNlKCk7CisgICAgICAg
IAorICAgIFJlbmRlckxheWVyKiBsYXllciA9IHJlbmRlcmVyLT5sYXllcigpOworICAgIHdyaXRl
TGF5ZXJzKHRzLCBsYXllciwgbGF5ZXIsIGxheWVyLT5yZWN0KCksIDAsIGJlaGF2aW9yKTsKKyAg
ICB3cml0ZVNlbGVjdGlvbih0cywgcmVuZGVyZXIpOworICAgIHJldHVybiB0cy5yZWxlYXNlKCk7
Cit9CisKIFN0cmluZyBleHRlcm5hbFJlcHJlc2VudGF0aW9uKEZyYW1lKiBmcmFtZSwgUmVuZGVy
QXNUZXh0QmVoYXZpb3IgYmVoYXZpb3IpCiB7Ci0gICAgUHJpbnRDb250ZXh0IHByaW50Q29udGV4
dChmcmFtZSk7Ci0gICAgaWYgKGJlaGF2aW9yICYgUmVuZGVyQXNUZXh0UHJpbnRpbmdNb2RlKSB7
Ci0gICAgICAgIGlmICghZnJhbWUtPmNvbnRlbnRSZW5kZXJlcigpKQotICAgICAgICAgICAgcmV0
dXJuIFN0cmluZygpOwotICAgICAgICBwcmludENvbnRleHQuYmVnaW4oZnJhbWUtPmNvbnRlbnRS
ZW5kZXJlcigpLT53aWR0aCgpKTsKLSAgICB9CisgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9
IGZyYW1lLT5jb250ZW50UmVuZGVyZXIoKTsKKyAgICBpZiAoIXJlbmRlcmVyIHx8ICFyZW5kZXJl
ci0+aXNCb3goKSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOwogCisgICAgUHJpbnRDb250ZXh0
IHByaW50Q29udGV4dChmcmFtZSk7CisgICAgaWYgKGJlaGF2aW9yICYgUmVuZGVyQXNUZXh0UHJp
bnRpbmdNb2RlKQorICAgICAgICBwcmludENvbnRleHQuYmVnaW4odG9SZW5kZXJCb3gocmVuZGVy
ZXIpLT53aWR0aCgpKTsKICAgICBpZiAoIShiZWhhdmlvciAmIFJlbmRlckFzVGV4dERvbnRVcGRh
dGVMYXlvdXQpKQogICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7CiAK
LSAgICBSZW5kZXJPYmplY3QqIG8gPSBmcmFtZS0+Y29udGVudFJlbmRlcmVyKCk7Ci0gICAgaWYg
KCFvKQotICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgcmV0dXJuIGV4dGVybmFsUmVwcmVz
ZW50YXRpb24odG9SZW5kZXJCb3gocmVuZGVyZXIpLCBiZWhhdmlvcik7Cit9CiAKLSAgICBUZXh0
U3RyZWFtIHRzOwotICAgIGlmIChvLT5oYXNMYXllcigpKSB7Ci0gICAgICAgIFJlbmRlckxheWVy
KiBsID0gdG9SZW5kZXJCb3gobyktPmxheWVyKCk7Ci0gICAgICAgIHdyaXRlTGF5ZXJzKHRzLCBs
LCBsLCBsLT5yZWN0KCksIDAsIGJlaGF2aW9yKTsKLSAgICAgICAgd3JpdGVTZWxlY3Rpb24odHMs
IG8pOwotICAgIH0KLSAgICByZXR1cm4gdHMucmVsZWFzZSgpOworU3RyaW5nIGV4dGVybmFsUmVw
cmVzZW50YXRpb24oRWxlbWVudCogZWxlbWVudCwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgYmVoYXZp
b3IpCit7CisgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IGVsZW1lbnQtPnJlbmRlcmVyKCk7
CisgICAgaWYgKCFyZW5kZXJlciB8fCAhcmVuZGVyZXItPmlzQm94KCkpCisgICAgICAgIHJldHVy
biBTdHJpbmcoKTsKKyAgICAvLyBEb2Vzbid0IHN1cHBvcnQgcHJpbnRpbmcgbW9kZS4KKyAgICBB
U1NFUlQoIShiZWhhdmlvciAmIFJlbmRlckFzVGV4dFByaW50aW5nTW9kZSkpOworICAgIGlmICgh
KGJlaGF2aW9yICYgUmVuZGVyQXNUZXh0RG9udFVwZGF0ZUxheW91dCkgJiYgZWxlbWVudC0+ZG9j
dW1lbnQoKSkKKyAgICAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7Cisg
ICAgCisgICAgcmV0dXJuIGV4dGVybmFsUmVwcmVzZW50YXRpb24odG9SZW5kZXJCb3gocmVuZGVy
ZXIpLCBiZWhhdmlvciB8IFJlbmRlckFzVGV4dFNob3dBbGxMYXllcnMpOwogfQogCiBzdGF0aWMg
dm9pZCB3cml0ZUNvdW50ZXJWYWx1ZXNGcm9tQ2hpbGRyZW4oVGV4dFN0cmVhbSYgc3RyZWFtLCBS
ZW5kZXJPYmplY3QqIHBhcmVudCwgYm9vbCYgaXNGaXJzdENvdW50ZXIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuaAppbmRleCA0YzhiMTQ1ZDVhMDU1YTEyNjFm
NmViOWVmZGJjZTVjNDhjNDBmZDk3Li4wYWE3MmNiNzIwZDY4ZmYwMGNlNmE0ZmI0ZTE2ZThiMmQx
YjkzODc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFz
VGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmgK
QEAgLTU2LDYgKzU2LDcgQEAgdHlwZWRlZiB1bnNpZ25lZCBSZW5kZXJBc1RleHRCZWhhdmlvcjsK
IAogLy8gWW91IGRvbid0IG5lZWQgcGFnZVdpZHRoSW5QaXhlbHMgaWYgeW91IGRvbid0IHNwZWNp
ZnkgUmVuZGVyQXNUZXh0SW5QcmludGluZ01vZGUuCiBTdHJpbmcgZXh0ZXJuYWxSZXByZXNlbnRh
dGlvbihGcmFtZSosIFJlbmRlckFzVGV4dEJlaGF2aW9yID0gUmVuZGVyQXNUZXh0QmVoYXZpb3JO
b3JtYWwpOworU3RyaW5nIGV4dGVybmFsUmVwcmVzZW50YXRpb24oRWxlbWVudCosIFJlbmRlckFz
VGV4dEJlaGF2aW9yID0gUmVuZGVyQXNUZXh0QmVoYXZpb3JOb3JtYWwpOwogdm9pZCB3cml0ZShU
ZXh0U3RyZWFtJiwgY29uc3QgUmVuZGVyT2JqZWN0JiwgaW50IGluZGVudCA9IDAsIFJlbmRlckFz
VGV4dEJlaGF2aW9yID0gUmVuZGVyQXNUZXh0QmVoYXZpb3JOb3JtYWwpOwogdm9pZCB3cml0ZUlu
ZGVudChUZXh0U3RyZWFtJiwgaW50IGluZGVudCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAppbmRleCBjNTg5MTNlOTlkZDBlNGQ4ZjFjMjU3YWMwMjRkNjg2ODdlZWFjMjg0Li5k
Mzg1ZjE1MDI1ZmNlYWFiYWJmNzI2ODdhN2QzYWM4YzE3MjY3MWMxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCkBAIC0yNiw2ICsyNiw5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiSW50ZXJuYWxzLmgiCiAKKyNpbmNsdWRlICJSZW5kZXJUcmVlQXNUZXh0Lmgi
CisjaW5jbHVkZSAiU2hhZG93Q29udGVudEVsZW1lbnQuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBQYXNzUmVmUHRyPEludGVybmFscz4gSW50ZXJuYWxzOjpjcmVhdGUoKQpAQCAtNDEsNCAr
NDQsMzAgQEAgSW50ZXJuYWxzOjpJbnRlcm5hbHMoKQogewogfQogCitQYXNzUmVmUHRyPEVsZW1l
bnQ+IEludGVybmFsczo6Y3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQoRG9jdW1lbnQqIGRvY3Vt
ZW50LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWRvY3VtZW50KSB7CisgICAgICAg
IGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAg
ICByZXR1cm4gU2hhZG93Q29udGVudEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7Cit9CisKK1N0
cmluZyBJbnRlcm5hbHM6OmVsZW1lbnRSZW5kZXJUcmVlQXNUZXh0KEVsZW1lbnQqIGVsZW1lbnQs
IEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghZWxlbWVudCkgeworICAgICAgICBlYyA9
IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIH0KKwor
ICAgIFN0cmluZyByZXByZXNlbnRhdGlvbiA9IGV4dGVybmFsUmVwcmVzZW50YXRpb24oZWxlbWVu
dCk7CisgICAgaWYgKHJlcHJlc2VudGF0aW9uLmlzRW1wdHkoKSkgeworICAgICAgICBlYyA9IElO
VkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIH0KKworICAg
IHJldHVybiByZXByZXNlbnRhdGlvbjsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmgKaW5kZXggY2JiZDliOWMwM2I0OTJiZjFhYTQ0YzExMTNiNGIwYTYwZDNlOTRlNS4uZTZkNjFj
YjY4OTc4ZWMwNDJmYTk0OWRlY2MxYTQ4NDY1MzY2MTE0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCkBAIC0yNiwxNiArMjYsMjMgQEAKICNpZm5kZWYgSW50ZXJuYWxzX2gKICNkZWZp
bmUgSW50ZXJuYWxzX2gKIAorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRG9j
dW1lbnQ7CitjbGFzcyBFbGVtZW50OworCiBjbGFzcyBJbnRlcm5hbHMgOiBwdWJsaWMgUmVmQ291
bnRlZDxJbnRlcm5hbHM+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbnRlcm5h
bHM+IGNyZWF0ZSgpOwogICAgIHZpcnR1YWwgfkludGVybmFscygpOwogCisgICAgUGFzc1JlZlB0
cjxFbGVtZW50PiBjcmVhdGVTaGFkb3dDb250ZW50RWxlbWVudChEb2N1bWVudCosIEV4Y2VwdGlv
bkNvZGUmKTsKKyAgICBTdHJpbmcgZWxlbWVudFJlbmRlclRyZWVBc1RleHQoRWxlbWVudCosIEV4
Y2VwdGlvbkNvZGUmKTsKIHByaXZhdGU6CiAgICAgSW50ZXJuYWxzKCk7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDJkYjQ1OTU1M2M5ODA2YjMxZGFmYTkyMzcyYTQ3
M2M2YWQ3NTcyMmEuLjc1MjhhYmE2MzJhNWRmOWIwZDczMjgzZjRkNmQ5NDIxYmFhNzhjOTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTI1LDYgKzI1LDggQEAKIAogbW9k
dWxlIHdpbmRvdyB7CiAgICAgaW50ZXJmYWNlIFtPbWl0Q29uc3RydWN0b3JdIEludGVybmFscyB7
CisgICAgICAgIEVsZW1lbnQgY3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQoaW4gRG9jdW1lbnQg
ZG9jdW1lbnQpIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICBET01TdHJpbmcgZWxlbWVu
dFJlbmRlclRyZWVBc1RleHQoaW4gRWxlbWVudCBlbGVtZW50KSByYWlzZXMoRE9NRXhjZXB0aW9u
KTsKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTZmMTg5ZDE4YjQxNjJkZjIyZmIzYWQxOTlh
MzZlZGUwZmM5MmU4Ni4uMDRiYjk2YTI5Y2IxOTVhNzg3N2MyYzNmMzc3MzdkZWIxZTFiZTMwMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTA2LTEzICBNT1JJVEEgSGFqaW1lICA8
bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoZSBpbnRlcm5hbHMgb2JqZWN0IHNob3VsZCBoYXZlIGNyZWF0ZVNoYWRv
d0NvbnRlbnRFbGVtZW50KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTYyNDMyICAgICAgICAKKworICAgICAgICAqIHdpbi9XZWJLaXQyLmRlZjogQWRk
ZWQgc29tZSBtb3JlIHN5bWJvbHMgbmVjZXNzYXJ5IGZvcgorICAgICAgICB3aW5kb3cuaW50ZXJu
YWxzIHRvIGZ1bmN0aW9uIHRvIHRoZSBnbG9iYWwgc3ltYm9sIGxpc3QuCisKIDIwMTEtMDYtMTQg
IEV1bm1pIExlZSAgPGV1bm1pMTUubGVlQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IFNhbSBXZWluaWcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5k
ZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKaW5kZXggMWM3MWEyNTczZWI0NTM2
NTRjOWQ2NWJmZWM2NjUyZDQwY2UzYWYzYi4uZmJlYzk1ZmU4YjY1OTNiOWExOGYwNzA0NDMzMDBj
YjY1ZWU5MDNjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCisr
KyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgpAQCAtMTM4LDMgKzEzOCwxMCBAQCBF
WFBPUlRTCiAgICAgICAgID9nZXRDYWNoZWRET01TdHJ1Y3R1cmVAV2ViQ29yZUBAWUFQQVZTdHJ1
Y3R1cmVASlNDQEBQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBCVUNsYXNzSW5mb0AzQEBaCiAgICAg
ICAgID9jYWNoZURPTVN0cnVjdHVyZUBXZWJDb3JlQEBZQVBBVlN0cnVjdHVyZUBKU0NAQFBBVkpT
RE9NR2xvYmFsT2JqZWN0QDFAUEFWMjNAUEJVQ2xhc3NJbmZvQDNAQFoKICAgICAgICAgP3ZpcnR1
YWxGdW5jdGlvblRvUHJldmVudFdlYWtWdGFibGVASlNET01XcmFwcGVyQFdlYkNvcmVAQE1BRVhY
WgorICAgICAgICA/Y3JlYXRlQFNoYWRvd0NvbnRlbnRFbGVtZW50QFdlYkNvcmVAQFNBP0FWPyRQ
YXNzUmVmUHRyQFZTaGFkb3dDb250ZW50RWxlbWVudEBXZWJDb3JlQEBAV1RGQEBQQVZEb2N1bWVu
dEAyQEBaCisgICAgICAgID9leHRlcm5hbFJlcHJlc2VudGF0aW9uQFdlYkNvcmVAQFlBP0FWU3Ry
aW5nQFdURkBAUEFWRWxlbWVudEAxQElAWgorICAgICAgICA/c2V0RE9NRXhjZXB0aW9uQFdlYkNv
cmVAQFlBWFBBVkV4ZWNTdGF0ZUBKU0NAQEhAWgorICAgICAgICA/dG9Eb2N1bWVudEBXZWJDb3Jl
QEBZQVBBVkRvY3VtZW50QDFAVkpTVmFsdWVASlNDQEBAWgorICAgICAgICA/Y3JlYXRlV3JhcHBl
ckBXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2Jh
bE9iamVjdEAxQFBBVk5vZGVAMUBAWgorICAgICAgICA/dG9FbGVtZW50QFdlYkNvcmVAQFlBUEFW
RWxlbWVudEAxQFZKU1ZhbHVlQEpTQ0BAQFoKKyAgICAgICAgP2pzU3RyaW5nU2xvd0Nhc2VAV2Vi
Q29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAQUFWPyRIYXNoTWFwQFBBVlN0
cmluZ0ltcGxAV1RGQEBWPyRXZWFrQFZKU1N0cmluZ0BKU0NAQEBKU0NAQFVTdHJpbmdIYXNoQDJA
VT8kSGFzaFRyYWl0c0BQQVZTdHJpbmdJbXBsQFdURkBAQDJAVT8kSGFzaFRyYWl0c0BWPyRXZWFr
QFZKU1N0cmluZ0BKU0NAQEBKU0NAQEAyQEBXVEZAQFBBVlN0cmluZ0ltcGxANkBAWgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9s
cy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IDczM2E2OWY2
ZjRlYzU3NDI4NGNmM2QyNTUwYTc5MzUzZjJiZDc0ZmUuLjFlZTU1NDczZDNkZTlkNmE3ZjliODFk
ZDUzYTM1MDFkNGJmMzJmODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5m
aWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtMjYsOSArMjYs
MjQgQEAgX1pOM1dURjdDU3RyaW5nQzJFUEtjbTsKIF9aTjNXVEY3Q1N0cmluZ0QxRXY7CiBfWk4z
V1RGN0NTdHJpbmdhU0VSS1MwXzsKIF9aTjI0RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrKjsKLV9a
TjdXZWJDb3JlMjFnZXRDYWNoZWRET01TdHJ1Y3R1cmVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RF
UEtOM0pTQzlDbGFzc0luZm9FOwotX1pON1dlYkNvcmUxN2NhY2hlRE9NU3RydWN0dXJlRVBOU18x
N0pTRE9NR2xvYmFsT2JqZWN0RVBOM0pTQzlTdHJ1Y3R1cmVFUEtOUzJfOUNsYXNzSW5mb0U7Citf
Wk43V2ViQ29yZTEwSlNEb2N1bWVudDNwdXRFUE4zSlNDOUV4ZWNTdGF0ZUVSS05TMV8xMElkZW50
aWZpZXJFTlMxXzdKU1ZhbHVlRVJOUzFfMTVQdXRQcm9wZXJ0eVNsb3RFOworX1pON1dlYkNvcmUx
MEpTRG9jdW1lbnQ2c19pbmZvRTsKK19aTjdXZWJDb3JlMTB0b0RvY3VtZW50RU4zSlNDN0pTVmFs
dWVFOwogX1pON1dlYkNvcmUxMkpTRE9NV3JhcHBlcjM0dmlydHVhbEZ1bmN0aW9uVG9QcmV2ZW50
V2Vha1Z0YWJsZUV2OworX1pON1dlYkNvcmUxM2NyZWF0ZVdyYXBwZXJFUE4zSlNDOUV4ZWNTdGF0
ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQTlNfNE5vZGVFOworX1pON1dlYkNvcmUxNXNldERP
TUV4Y2VwdGlvbkVQTjNKU0M5RXhlY1N0YXRlRWk7CitfWk43V2ViQ29yZTE2anNTdHJpbmdTbG93
Q2FzZUVQTjNKU0M5RXhlY1N0YXRlRVJOM1dURjdIYXNoTWFwSVBOUzNfMTBTdHJpbmdJbXBsRU5T
MF80V2Vha0lOUzBfOEpTU3RyaW5nRUVFTlMzXzEwU3RyaW5nSGFzaEVOUzNfMTBIYXNoVHJhaXRz
SVM2X0VFTlNCX0lTOV9FRUVFUzZfOworX1pON1dlYkNvcmUxN2NhY2hlRE9NU3RydWN0dXJlRVBO
U18xN0pTRE9NR2xvYmFsT2JqZWN0RVBOM0pTQzlTdHJ1Y3R1cmVFUEtOUzJfOUNsYXNzSW5mb0U7
CitfWk43V2ViQ29yZTIwU2hhZG93Q29udGVudEVsZW1lbnQ2Y3JlYXRlRVBOU184RG9jdW1lbnRF
CitfWk43V2ViQ29yZTIxZ2V0Q2FjaGVkRE9NU3RydWN0dXJlRVBOU18xN0pTRE9NR2xvYmFsT2Jq
ZWN0RVBLTjNKU0M5Q2xhc3NJbmZvRTsKK19aTjdXZWJDb3JlMjJleHRlcm5hbFJlcHJlc2VudGF0
aW9uRVBOU183RWxlbWVudEVqOworX1pON1dlYkNvcmU2SlNOb2RlMTN2aXNpdENoaWxkcmVuRVJO
M0pTQzlNYXJrU3RhY2tFOworX1pON1dlYkNvcmU2SlNOb2RlM3B1dEVQTjNKU0M5RXhlY1N0YXRl
RVJLTlMxXzEwSWRlbnRpZmllckVOUzFfN0pTVmFsdWVFUk5TMV8xNVB1dFByb3BlcnR5U2xvdEU7
CitfWk43V2ViQ29yZTZKU05vZGU2c19pbmZvRTsKK19aTjdXZWJDb3JlOUpTRWxlbWVudDNwdXRF
UE4zSlNDOUV4ZWNTdGF0ZUVSS05TMV8xMElkZW50aWZpZXJFTlMxXzdKU1ZhbHVlRVJOUzFfMTVQ
dXRQcm9wZXJ0eVNsb3RFCitfWk43V2ViQ29yZTlKU0VsZW1lbnQ2c19pbmZvRQorX1pON1dlYkNv
cmU5dG9FbGVtZW50RU4zSlNDN0pTVmFsdWVFOworX1pOSzdXZWJDb3JlNkpTTm9kZTIxcHVzaEV2
ZW50SGFuZGxlclNjb3BlRVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8xNFNjb3BlQ2hhaW5Ob2RlRTsK
IGxvY2FsOgogX1oqOwogY3RpKjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97386</attachid>
            <date>2011-06-15 19:25:52 -0700</date>
            <delta_ts>2011-06-19 19:28:40 -0700</delta_ts>
            <desc>Another try</desc>
            <filename>bug-62432-20110616112550.patch</filename>
            <type>text/plain</type>
            <size>28069</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODg5OTQKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCAwN2NjNWNhZjVlNzcxMzQ3YTliN2VkODk1MjIzMzVkZDExYjZhODM2Li5lNTA0
YTkzYjJlMWFhOWU0OTQ3ZjllZWMxMjIyYjk5NjE5NTgzZDc3IDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDYtMTMgIE1PUklUQSBI
YWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhlIGludGVybmFscyBvYmplY3Qgc2hvdWxkIGhhdmUgY3Jl
YXRlU2hhZG93Q29udGVudEVsZW1lbnQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjI0MzIgICAgICAgIAorCisgICAgICAgICogU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlcjogQWRkZWQgc29tZSBtb3JlIHN5bWJvbHMgbmVjZXNzYXJ5IGZv
cgorICAgICAgICB3aW5kb3cuaW50ZXJuYWxzIHRvIGZ1bmN0aW9uIHRvIHRoZSBnbG9iYWwgc3lt
Ym9sIGxpc3QuCisgICAgICAgIAorCiAyMDExLTA2LTE1ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hv
aUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBSdWJiZXIgc3RhbXBlZCBieSBFcmljIFNlaWRlbC4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlOTVlMjAzNGI5ZDgwZTMxMzJjZTY5MmY5ZjU1NzhkMGE3N2FkYzMwLi43YjNhZDI1
OGRkNjdjMzYxOGM2NDMyNTEyZDUzODJlYWEyZmY2NjUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTEtMDYtMTMgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGludGVybmFscyBv
YmplY3Qgc2hvdWxkIGhhdmUgY3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQoKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI0MzIKKworICAgICAgICAq
IGZhc3QvZG9tL3NoYWRvdy9jcmVhdGUtY29udGVudC1lbGVtZW50LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2NyZWF0ZS1jb250ZW50LWVsZW1lbnQuaHRt
bDogQWRkZWQuCisKIDIwMTEtMDYtMTUgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZXhwZWN0YXRpb25zIGNoYW5nZS4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jcmVhdGUtY29udGVudC1lbGVtZW50LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jcmVhdGUtY29udGVudC1l
bGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YzVkNDM2MjJjNzlkNDgzNjhlZGQzNzdk
NGJlMDcwZjE4MzVlMDFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L2NyZWF0ZS1jb250ZW50LWVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBA
QAorVGhpcyB0ZXN0IGNvbXBhcmVzIGEgc2hhZG93LWJhc2VkIHJlbmRlciB0cmVlIHdpdGggb25l
IGZvciBhIHJlZnJlbmNlIERPTSB0cmVlLgorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvY3JlYXRlLWNvbnRlbnQtZWxlbWVudC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2NyZWF0ZS1jb250ZW50LWVsZW1lbnQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMzVkZTU2YzhiNjg3NDljYzlkZjFmODM3YTk2MTAzYjZhMWJjNDU3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NyZWF0ZS1jb250ZW50LWVsZW1lbnQu
aHRtbApAQCAtMCwwICsxLDcwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c3R5bGU+CisvKiByZWxhdGl2ZSBwb3NpdGlvbmluZyBlbnN1cmVzIHVuZGVybHlpbmcgUmVuZGVy
TGF5ZXIgKi8KKy5jb250YWluZXIgeworICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKK30KKzwvc3R5
bGU+Cis8c2NyaXB0PgorZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gKG1lc3NhZ2UgKyAiXG4iKTsKK30K
KworZnVuY3Rpb24gcmVtb3ZlQ29udGFpbmVyTGluZXModGV4dCkKK3sKKyAgICB2YXIgbGluZXMg
PSB0ZXh0LnNwbGl0KCJcbiIpOworICAgIGxpbmVzLnNwbGljZSgwLCAyKTsKKyAgICByZXR1cm4g
bGluZXMuam9pbigiXG4iKTsKK30KKworZnVuY3Rpb24gc2V0dXBUYXJnZXRUcmVlKCkKK3sKKyAg
ICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgdGFyZ2V0
LmlubmVySFRNTCA9ICI8c3Bhbj5jb250ZW50PC9zcGFuPiI7CisgICAgdmFyIHJvb3QgPSBsYXlv
dXRUZXN0Q29udHJvbGxlci5lbnN1cmVTaGFkb3dSb290KHRhcmdldCk7CisgICAgCisgICAgdmFy
IGNoaWxkMCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgICBjaGlsZDAuaW5u
ZXJIVE1MID0gIkhlbGxvLCI7CisgICAgcm9vdC5hcHBlbmRDaGlsZChjaGlsZDApOworICAgIHJv
b3QuYXBwZW5kQ2hpbGQod2luZG93LmludGVybmFscy5jcmVhdGVTaGFkb3dDb250ZW50RWxlbWVu
dChkb2N1bWVudCkpOworICAgIHZhciBjaGlsZDEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJz
cGFuIik7CisgICAgY2hpbGQxLmlubmVySFRNTCA9ICJXb3JsZC4iOworICAgIHJvb3QuYXBwZW5k
Q2hpbGQoY2hpbGQxKTsKKworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKS5h
cHBlbmRDaGlsZCh0YXJnZXQpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbG9nKCJUaGlzIHRlc3QgY29tcGFyZXMg
YSBzaGFkb3ctYmFzZWQgcmVuZGVyIHRyZWUgd2l0aCBvbmUgZm9yIGEgcmVmcmVuY2UgRE9NIHRy
ZWUuIik7CisgICAgc2V0dXBUYXJnZXRUcmVlKCk7CisgICAgdmFyIHRhcmdldENvbnRhaW5lclJl
bmRlclRyZWUgPSB3aW5kb3cuaW50ZXJuYWxzLmVsZW1lbnRSZW5kZXJUcmVlQXNUZXh0KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXRDb250YWluZXIiKSk7CisgICAgdmFyIHRhcmdldFJl
bmRlclRyZWUgPSByZW1vdmVDb250YWluZXJMaW5lcyh0YXJnZXRDb250YWluZXJSZW5kZXJUcmVl
KTsKKyAgICB2YXIgcmVmQ29udGFpbmVyUmVuZGVyVHJlZSA9IHdpbmRvdy5pbnRlcm5hbHMuZWxl
bWVudFJlbmRlclRyZWVBc1RleHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlZkNvbnRhaW5l
ciIpKTsKKyAgICB2YXIgcmVmUmVuZGVyVHJlZSA9IHJlbW92ZUNvbnRhaW5lckxpbmVzKHJlZkNv
bnRhaW5lclJlbmRlclRyZWUpOworICAgIGlmICh0YXJnZXRSZW5kZXJUcmVlID09IHJlZlJlbmRl
clRyZWUpCisgICAgICAgIGxvZygiUEFTUyIpOworICAgIGVsc2UgeworICAgICAgICBsb2coIkZB
SUwiKTsKKyAgICAgICAgbG9nKCJFeHBlY3RlZDoiKTsKKyAgICAgICAgbG9nKHJlZlJlbmRlclRy
ZWUpOworICAgICAgICBsb2coIkFjdHVhbDoiKTsKKyAgICAgICAgbG9nKHRhcmdldFJlbmRlclRy
ZWUpOworICAgIH0KKyAgICAKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpLnN0
eWxlLmRpc3BsYXkgPSAibm9uZSI7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9h
ZD0idGVzdCgpIj4KKzxkaXYgaWQ9InRlc3QiPgorPGRpdiBjbGFzcz0iY29udGFpbmVyIiBpZD0i
dGFyZ2V0Q29udGFpbmVyIj48ZGl2IGlkPSJ0YXJnZXQiPjwvZGl2PjwvZGl2PgorPGRpdiBjbGFz
cz0iY29udGFpbmVyIiBpZD0icmVmQ29udGFpbmVyIj48ZGl2PjxkaXY+PHNwYW4+SGVsbG8sPC9z
cGFuPjxzcGFuPmNvbnRlbnQ8L3NwYW4+PHNwYW4+V29ybGQuPC9zcGFuPjwvZGl2PjwvZGl2Pjwv
ZGl2PgorPC9kaXY+Cis8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1ZDFlYjJlZjdlYjIwZmRjZmJjZGYwNTFiMWNiOTg4YTY0ZjVjYzRiLi40
NjBmY2JkMTM3ZTQ5MzljZmU4YTY0OWJkOGIxMWU5MjZmYjM3Njg4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzYgQEAKKzIwMTEtMDYtMTMgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IGludGVybmFscyBvYmplY3Qgc2hvdWxkIGhhdmUgY3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQo
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI0MzIK
KworICAgICAgICBUaGlzIGNoYW5nZToKKyAgICAgICAgLSBhZGRlZCBJbnRlcm5hbHM6OmNyZWF0
ZVNoYWRvd0NvbnRlbnRFbGVtZW50KCksIHdoaWNoIGNyZWF0ZXMsCisgICAgICAgICAgU2hhZG93
Q29udGVudEVsZW1lbnQgaW5zdGFuY2Ugd2hpY2ggaW5jbHVkZXMgYWxsIGhvc3QgY2hpbGRyZW4s
CisgICAgICAgIC0gYWRkZWQgSW50ZXJuYWxzOjplbGVtZW50UmVuZGVyVHJlZUFzVGV4dCgpIHRv
IGhlbHAgY29udGVudCBsYXlvdXQgdGVzdGluZywgYW5kCisgICAgICAgIC0gVW5hYnN0cmFjdGVk
IFNoYWRvd0NvbnRlbnRFbGVtZW50IGJ5IGdpdmluZyBhIGRlZmF1bHQgc2hvdWxkSW5jbHVkZSgp
IGltcGxlbWVudGF0aW9uLgorICAgICAgICAKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93
L2NyZWF0ZS1jb250ZW50LWVsZW1lbnQuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46
CisgICAgICAgICogZG9tL1NoYWRvd0NvbnRlbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNoYWRvd0NvbnRlbnRFbGVtZW50OjpjcmVhdGUpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlNoYWRvd0NvbnRlbnRFbGVtZW50OjpTaGFkb3dDb250ZW50RWxlbWVudCk6CisgICAgICAg
IChXZWJDb3JlOjpTaGFkb3dDb250ZW50RWxlbWVudDo6flNoYWRvd0NvbnRlbnRFbGVtZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd0NvbnRlbnRFbGVtZW50OjpzaG91bGRJbmNsdWRlKTog
R2F2ZSBhIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gd2hpY2ggYWx3YXlzIHJldHVybnMgdHJ1ZS4K
KyAgICAgICAgKiBkb20vU2hhZG93Q29udGVudEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxTdW1tYXJ5RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdW1tYXJ5Q29udGVudEVs
ZW1lbnQ6OlN1bW1hcnlDb250ZW50RWxlbWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clRyZWVBc1RleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZXh0ZXJuYWxSZXByZXNlbnRhdGlv
bik6IEZhY3RvcmVkIG91dCBmb3Igc3VwcG9ydGluIHBlci1lbGVtZW50IHJlbmRlciB0cmVlIGR1
bXAuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuaDoKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmNyZWF0
ZVNoYWRvd0NvbnRlbnRFbGVtZW50KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bHM6OmVsZW1lbnRSZW5kZXJUcmVlQXNUZXh0KTogZGRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAxMS0wNi0x
NSAgUm9iIEJ1aXMgIDxyYnVpc0ByaW0uY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA0Y2M4ODA1M2FjNjJlY2UyN2RkZGM0ODQ4
ODk4M2FmMGQzNWZjYzEzLi4zY2JlNDFlODdlMmEyZTg0ZjIwZTVkNWRkZDFkOTE2YzFiMTBkYzVm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTQwLDYgKzE0MCw3IEBAIF9fWk4zV1RGNlN0cmlu
Z0MxRVBLMTBfX0NGU3RyaW5nCiBfX1pON1dlYkNvcmUxMENyZWRlbnRpYWxDMUVSS04zV1RGNlN0
cmluZ0VTNF9OU18yMUNyZWRlbnRpYWxQZXJzaXN0ZW5jZUUKIF9fWk43V2ViQ29yZTEwQ3JlZGVu
dGlhbEMxRXYKIF9fWk43V2ViQ29yZTEwRmxvYXRQb2ludEMxRVJLTlNfOEludFBvaW50RQorX19a
TjdXZWJDb3JlMTBKU0RvY3VtZW50M3B1dEVQTjNKU0M5RXhlY1N0YXRlRVJLTlMxXzEwSWRlbnRp
ZmllckVOUzFfN0pTVmFsdWVFUk5TMV8xNVB1dFByb3BlcnR5U2xvdEUKIF9fWk43V2ViQ29yZTEw
SlNEb2N1bWVudDZzX2luZm9FCiBfX1pON1dlYkNvcmUxME1vdXNlRXZlbnQ2Y3JlYXRlRVJLTjNX
VEYxMkF0b21pY1N0cmluZ0VOUzFfMTBQYXNzUmVmUHRySU5TXzlET01XaW5kb3dFRUVSS05TXzE4
UGxhdGZvcm1Nb3VzZUV2ZW50RWlOUzVfSU5TXzROb2RlRUVFCiBfX1pON1dlYkNvcmUxME1vdXNl
RXZlbnRDMUVSS04zV1RGMTJBdG9taWNTdHJpbmdFYmJOUzFfMTBQYXNzUmVmUHRySU5TXzlET01X
aW5kb3dFRUVpaWlpaWJiYmJ0TlM1X0lOU18xMUV2ZW50VGFyZ2V0RUVFTlM1X0lOU185Q2xpcGJv
YXJkRUVFYgpAQCAtMTUwLDYgKzE1MSw3IEBAIF9fWk43V2ViQ29yZTEwU2Nyb2xsVmlldzI0d2lu
ZG93UmVzaXplclJlY3RDaGFuZ2VkRXYKIF9fWk43V2ViQ29yZTEwZGVsZXRlRmlsZUVSS04zV1RG
NlN0cmluZ0UKIF9fWk43V2ViQ29yZTEwaGFuZEN1cnNvckV2CiBfX1pON1dlYkNvcmUxMHNldENv
b2tpZXNFUE5TXzhEb2N1bWVudEVSS05TXzRLVVJMRVJLTjNXVEY2U3RyaW5nRQorX19aTjdXZWJD
b3JlMTB0b0RvY3VtZW50RU4zSlNDN0pTVmFsdWVFCiBfX1pON1dlYkNvcmUxMUJpdG1hcEltYWdl
QzFFUDdDR0ltYWdlUE5TXzEzSW1hZ2VPYnNlcnZlckUKIF9fWk43V2ViQ29yZTExQ2FjaGVkRnJh
bWUyM2NhY2hlZEZyYW1lUGxhdGZvcm1EYXRhRXYKIF9fWk43V2ViQ29yZTExQ2FjaGVkRnJhbWUy
NnNldENhY2hlZEZyYW1lUGxhdGZvcm1EYXRhRU4zV1RGMTBQYXNzT3duUHRySU5TXzIzQ2FjaGVk
RnJhbWVQbGF0Zm9ybURhdGFFRUUKQEAgLTM1Miw4ICszNTQsOCBAQCBfX1pON1dlYkNvcmUxNEZy
YW1lU2VsZWN0aW9uMTJzZXRTZWxlY3Rpb25FUktOU18xNlZpc2libGVTZWxlY3Rpb25Fak5TMF8x
OUN1cnNvcgogX19aTjdXZWJDb3JlMTRGcmFtZVNlbGVjdGlvbjE1cmV2ZWFsU2VsZWN0aW9uRVJL
TlNfMTVTY3JvbGxBbGlnbm1lbnRFYgogX19aTjdXZWJDb3JlMTRGcmFtZVNlbGVjdGlvbjE2c2V0
U2VsZWN0ZWRSYW5nZUVQTlNfNVJhbmdlRU5TXzlFQWZmaW5pdHlFYgogX19aTjdXZWJDb3JlMTRG
cmFtZVNlbGVjdGlvbjIwc2V0U2VsZWN0aW9uRnJvbU5vbmVFdgotX19aTjdXZWJDb3JlMTRGcmFt
ZVNlbGVjdGlvbjZtb2RpZnlFTlMwXzExRUFsdGVyYXRpb25FTlNfMThTZWxlY3Rpb25EaXJlY3Rp
b25FTlNfMTVUZXh0R3JhbnVsYXJpdHlFYgogX19aTjdXZWJDb3JlMTRGcmFtZVNlbGVjdGlvbjVj
bGVhckV2CitfX1pON1dlYkNvcmUxNEZyYW1lU2VsZWN0aW9uNm1vZGlmeUVOUzBfMTFFQWx0ZXJh
dGlvbkVOU18xOFNlbGVjdGlvbkRpcmVjdGlvbkVOU18xNVRleHRHcmFudWxhcml0eUViCiBfX1pO
N1dlYkNvcmUxNEZyYW1lU2VsZWN0aW9uOXNlbGVjdEFsbEV2CiBfX1pON1dlYkNvcmUxNEZyYW1l
U2VsZWN0aW9uQzFFUE5TXzVGcmFtZUUKIF9fWk43V2ViQ29yZTE0UmVzb3VyY2VIYW5kbGUxMnJl
bGVhc2VQcm94eUV2CkBAIC00MzYsNiArNDM4LDcgQEAgX19aTjdXZWJDb3JlMTVkZWZhdWx0TGFu
Z3VhZ2VFdgogX19aTjdXZWJDb3JlMTVsb2NhbGl6ZWRTdHJpbmdFUEtjCiBfX1pON1dlYkNvcmUx
NXBhdGhHZXRGaWxlTmFtZUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTE1cmVwb3J0RXhj
ZXB0aW9uRVBOM0pTQzlFeGVjU3RhdGVFTlMwXzdKU1ZhbHVlRQorX19aTjdXZWJDb3JlMTVzZXRE
T01FeGNlcHRpb25FUE4zSlNDOUV4ZWNTdGF0ZUVpCiBfX1pON1dlYkNvcmUxNXZpc2l0ZWRMaW5r
SGFzaEVQS3RqCiBfX1pON1dlYkNvcmUxNkFic3RyYWN0RGF0YWJhc2UxNHNldElzQXZhaWxhYmxl
RWIKIF9fWk43V2ViQ29yZTE2RGV2aWNlTW90aW9uRGF0YTEyQWNjZWxlcmF0aW9uNmNyZWF0ZUVi
ZGJkYmQKQEAgLTQ4OSwxNCArNDkyLDE1IEBAIF9fWk43V2ViQ29yZTE2ZW5jbG9zaW5nSW50UmVj
dEVSSzdfTlNSZWN0CiBfX1pON1dlYkNvcmUxNmVuY2xvc2luZ0ludFJlY3RFUktOU185RmxvYXRS
ZWN0RQogX19aTjdXZWJDb3JlMTZpc0VuZE9mUGFyYWdyYXBoRVJLTlNfMTVWaXNpYmxlUG9zaXRp
b25FTlNfMjdFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGVFCiBfX1pON1dlYkNvcmUxNnN0YXJ0
T2ZQYXJhZ3JhcGhFUktOU18xNVZpc2libGVQb3NpdGlvbkVOU18yN0VkaXRpbmdCb3VuZGFyeUNy
b3NzaW5nUnVsZUUKLV9fWk43V2ViQ29yZTE3Q3JlZGVudGlhbFN0b3JhZ2UzZ2V0RVJLTlNfMTVQ
cm90ZWN0aW9uU3BhY2VFCiBfX1pON1dlYkNvcmUxN0NyZWRlbnRpYWxTdG9yYWdlMjRnZXRGcm9t
UGVyc2lzdGVudFN0b3JhZ2VFUktOU18xNVByb3RlY3Rpb25TcGFjZUUKK19fWk43V2ViQ29yZTE3
Q3JlZGVudGlhbFN0b3JhZ2UzZ2V0RVJLTlNfMTVQcm90ZWN0aW9uU3BhY2VFCiBfX1pON1dlYkNv
cmUxN0RPTUltcGxlbWVudGF0aW9uMTNpc1hNTE1JTUVUeXBlRVJLTjNXVEY2U3RyaW5nRQogX19a
TjdXZWJDb3JlMTdET01JbXBsZW1lbnRhdGlvbjE0aXNUZXh0TUlNRVR5cGVFUktOM1dURjZTdHJp
bmdFCiBfX1pON1dlYkNvcmUxN0RldmljZU9yaWVudGF0aW9uNmNyZWF0ZUViZGJkYmQKIF9fWk43
V2ViQ29yZTE3R2x5cGhQYWdlVHJlZU5vZGUxOHRyZWVHbHlwaFBhZ2VDb3VudEV2CiBfX1pON1dl
YkNvcmUxN0hpc3RvcnlDb250cm9sbGVyMjZzYXZlRG9jdW1lbnRBbmRTY3JvbGxTdGF0ZUV2CiBf
X1pON1dlYkNvcmUxN0hpc3RvcnlDb250cm9sbGVyMzNyZXN0b3JlU2Nyb2xsUG9zaXRpb25BbmRW
aWV3U3RhdGVFdgorX19aTjdXZWJDb3JlMTdjYWNoZURPTVN0cnVjdHVyZUVQTlNfMTdKU0RPTUds
b2JhbE9iamVjdEVQTjNKU0M5U3RydWN0dXJlRVBLTlMyXzlDbGFzc0luZm9FCiBfX1pON1dlYkNv
cmUxN25hbWVGb3JDdXJzb3JUeXBlRU5TXzZDdXJzb3I0VHlwZUUKIF9fWk43V2ViQ29yZTE3b3Bl
blRlbXBvcmFyeUZpbGVFUktOM1dURjZTdHJpbmdFUmkKIF9fWk43V2ViQ29yZTE4UGxhdGZvcm1N
b3VzZUV2ZW50QzFFUDdOU0V2ZW50UDZOU1ZpZXcKQEAgLTU0MSw2ICs1NDUsNyBAQCBfX1pON1dl
YkNvcmUxOWFwcGxpY2F0aW9uSXNTYWZhcmlFdgogX19aTjdXZWJDb3JlMjBSZW5kZXJFbWJlZGRl
ZE9iamVjdDMwc2V0U2hvd3NDcmFzaGVkUGx1Z2luSW5kaWNhdG9yRXYKIF9fWk43V2ViQ29yZTIw
UmVzb3VyY2VSZXNwb25zZUJhc2UyNHNldEV4cGVjdGVkQ29udGVudExlbmd0aEV4CiBfX1pON1dl
YkNvcmUyMFJlc291cmNlUmVzcG9uc2VCYXNlQzJFdgorX19aTjdXZWJDb3JlMjBTaGFkb3dDb250
ZW50RWxlbWVudDZjcmVhdGVFUE5TXzhEb2N1bWVudEUKIF9fWk43V2ViQ29yZTIwU3BhY2VTcGxp
dFN0cmluZ0RhdGExMmNyZWF0ZVZlY3RvckV2CiBfX1pON1dlYkNvcmUyMFVzZXJHZXN0dXJlSW5k
aWNhdG9yMjNzX3Byb2Nlc3NpbmdVc2VyR2VzdHVyZUUKIF9fWk43V2ViQ29yZTIwVXNlckdlc3R1
cmVJbmRpY2F0b3JDMUVOU18yNlByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlRQpAQCAtNTQ4LDcg
KzU1Myw2IEBAIF9fWk43V2ViQ29yZTIwVXNlckdlc3R1cmVJbmRpY2F0b3JEMUV2CiBfX1pON1dl
YkNvcmUyMG1ha2VSR0JBMzJGcm9tRmxvYXRzRWZmZmYKIF9fWk43V2ViQ29yZTIwcHJvdG9jb2xJ
c0phdmFTY3JpcHRFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUyMUJhY2tGb3J3YXJkQ29u
dHJvbGxlcjExaXRlbUF0SW5kZXhFaQotX19aTjdXZWJDb3JlMjFtZW1vcnlQcmVzc3VyZUhhbmRs
ZXJFdgogX19aTjdXZWJDb3JlMjFNZW1vcnlQcmVzc3VyZUhhbmRsZXI3aW5zdGFsbEV2CiBfX1pO
N1dlYkNvcmUyMVBsYXRmb3JtS2V5Ym9hcmRFdmVudDI0ZGlzYW1iaWd1YXRlS2V5RG93bkV2ZW50
RU5TMF80VHlwZUViCiBfX1pON1dlYkNvcmUyMVBsYXRmb3JtS2V5Ym9hcmRFdmVudEMxRVA3TlNF
dmVudApAQCAtNTYzLDkgKzU2NywxMSBAQCBfX1pON1dlYkNvcmUyMVVzZXJDb250ZW50VVJMUGF0
dGVybjVwYXJzZUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTIxV2luZG93c0xhdGluMUVu
Y29kaW5nRXYKIF9fWk43V2ViQ29yZTIxYXBwbGljYXRpb25Jc0FwZXJ0dXJlRXYKIF9fWk43V2Vi
Q29yZTIxZmluZEV2ZW50V2l0aEtleVN0YXRlRVBOU181RXZlbnRFCitfX1pON1dlYkNvcmUyMWdl
dENhY2hlZERPTVN0cnVjdHVyZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQS04zSlNDOUNsYXNz
SW5mb0UKIF9fWk43V2ViQ29yZTIxaXNCYWNrRm9yd2FyZExvYWRUeXBlRU5TXzEzRnJhbWVMb2Fk
VHlwZUUKIF9fWk43V2ViQ29yZTIxbWFpblRocmVhZE5vcm1hbFdvcmxkRXYKIF9fWk43V2ViQ29y
ZTIxbWFya2VyVGV4dEZvckxpc3RJdGVtRVBOU183RWxlbWVudEUKK19fWk43V2ViQ29yZTIxbWVt
b3J5UHJlc3N1cmVIYW5kbGVyRXYKIF9fWk43V2ViQ29yZTIxcmVwb3J0VGhyZWFkVmlvbGF0aW9u
RVBLY05TXzIwVGhyZWFkVmlvbGF0aW9uUm91bmRFCiBfX1pON1dlYkNvcmUyMXJlc291cmNlTG9h
ZFNjaGVkdWxlckV2CiBfX1pON1dlYkNvcmUyMXNldEdsb2JhbEljb25EYXRhYmFzZUVQTlNfMTZJ
Y29uRGF0YWJhc2VCYXNlRQpAQCAtNTc3LDYgKzU4Myw3IEBAIF9fWk43V2ViQ29yZTIyY29udGV4
dE1lbnVJdGVtVGFnQm9sZEV2CiBfX1pON1dlYkNvcmUyMmNvdW50ZXJWYWx1ZUZvckVsZW1lbnRF
UE5TXzdFbGVtZW50RQogX19aTjdXZWJDb3JlMjJjcmVhdGVGcmFnbWVudEZyb21UZXh0RVBOU181
UmFuZ2VFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUyMmV4dGVybmFsUmVwcmVzZW50YXRp
b25FUE5TXzVGcmFtZUVqCitfX1pON1dlYkNvcmUyMmV4dGVybmFsUmVwcmVzZW50YXRpb25FUE5T
XzdFbGVtZW50RWoKIF9fWk43V2ViQ29yZTIzQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDMUVSS05T
XzE1UHJvdGVjdGlvblNwYWNlRVJLTlNfMTBDcmVkZW50aWFsRWpSS05TXzE2UmVzb3VyY2VSZXNw
b25zZUVSS05TXzEzUmVzb3VyY2VFcnJvckUKIF9fWk43V2ViQ29yZTIzUmVwbGFjZVNlbGVjdGlv
bkNvbW1hbmRDMUVQTlNfOERvY3VtZW50RU4zV1RGMTBQYXNzUmVmUHRySU5TXzE2RG9jdW1lbnRG
cmFnbWVudEVFRWpOU18xMEVkaXRBY3Rpb25FCiBfX1pON1dlYkNvcmUyM2NyZWF0ZUZyYWdtZW50
RnJvbU5vZGVzRVBOU184RG9jdW1lbnRFUktOM1dURjZWZWN0b3JJUE5TXzROb2RlRUxtMEVFRQpA
QCAtNzk0LDYgKzgwMSw5IEBAIF9fWk43V2ViQ29yZTZFZGl0b3I2aW5kZW50RXYKIF9fWk43V2Vi
Q29yZTZFZGl0b3I3Q29tbWFuZEMxRXYKIF9fWk43V2ViQ29yZTZFZGl0b3I3Y29tbWFuZEVSS04z
V1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTZFZGl0b3I3b3V0ZGVudEV2CitfX1pON1dlYkNvcmU2
SlNOb2RlMTN2aXNpdENoaWxkcmVuRVJOM0pTQzlNYXJrU3RhY2tFCitfX1pON1dlYkNvcmU2SlNO
b2RlM3B1dEVQTjNKU0M5RXhlY1N0YXRlRVJLTlMxXzEwSWRlbnRpZmllckVOUzFfN0pTVmFsdWVF
Uk5TMV8xNVB1dFByb3BlcnR5U2xvdEUKK19fWk43V2ViQ29yZTZKU05vZGU2c19pbmZvRQogX19a
TjdXZWJDb3JlNldpZGdldDEyc2V0RnJhbWVSZWN0RVJLTlNfN0ludFJlY3RFCiBfX1pON1dlYkNv
cmU2V2lkZ2V0MTNzZXRCb3VuZHNTaXplRVJLTlNfN0ludFNpemVFCiBfX1pON1dlYkNvcmU2V2lk
Z2V0MTZyZW1vdmVGcm9tUGFyZW50RXYKQEAgLTkzNCw3ICs5NDQsNiBAQCBfX1pON1dlYkNvcmU5
RnJhbWVWaWV3MTRhZGp1c3RWaWV3U2l6ZUV2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTRzZXRN
YXJnaW5XaWR0aEVpCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTRzZXROZWVkc0xheW91dEV2CiBf
X1pON1dlYkNvcmU5RnJhbWVWaWV3MTRzZXRUcmFuc3BhcmVudEViCi1fX1pOSzdXZWJDb3JlOUZy
YW1lVmlldzEzaXNUcmFuc3BhcmVudEV2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTVzZXRNYXJn
aW5IZWlnaHRFaQogX19aTjdXZWJDb3JlOUZyYW1lVmlldzE2c2V0UGFpbnRCZWhhdmlvckVqCiBf
X1pON1dlYkNvcmU5RnJhbWVWaWV3MTdzZXRTY3JvbGxQb3NpdGlvbkVSS05TXzhJbnRQb2ludEUK
QEAgLTk0Miw3ICs5NTEsNiBAQCBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTh1cGRhdGVDb250cm9s
VGludHNFdgogX19aTjdXZWJDb3JlOUZyYW1lVmlldzIwZW50ZXJDb21wb3NpdGluZ01vZGVFdgog
X19aTjdXZWJDb3JlOUZyYW1lVmlldzIxZmx1c2hEZWZlcnJlZFJlcGFpbnRzRXYKIF9fWk43V2Vi
Q29yZTlGcmFtZVZpZXcyMnNldEJhc2VCYWNrZ3JvdW5kQ29sb3JFUktOU181Q29sb3JFCi1fX1pO
SzdXZWJDb3JlOUZyYW1lVmlldzE5YmFzZUJhY2tncm91bmRDb2xvckV2CiBfX1pON1dlYkNvcmU5
RnJhbWVWaWV3MjN1cGRhdGVDYW5IYXZlU2Nyb2xsYmFyc0V2CiBfX1pON1dlYkNvcmU5RnJhbWVW
aWV3MjRmb3JjZUxheW91dEZvclBhZ2luYXRpb25FUktOU185RmxvYXRTaXplRWZOU18xOUFkanVz
dFZpZXdTaXplT3JOb3RFCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjZhZGp1c3RQYWdlSGVpZ2h0
RGVwcmVjYXRlZEVQZmZmZgpAQCAtOTg5LDYgKzk5Nyw3IEBAIF9fWk43V2ViQ29yZTlIVE1MTmFt
ZXM4dmlkZW9UYWdFCiBfX1pON1dlYkNvcmU5SFRNTE5hbWVzOWlmcmFtZVRhZ0UKIF9fWk43V2Vi
Q29yZTlIVE1MTmFtZXM5b2JqZWN0VGFnRQogX19aTjdXZWJDb3JlOUhUTUxOYW1lczlzY3JpcHRU
YWdFCitfX1pON1dlYkNvcmU5SlNFbGVtZW50M3B1dEVQTjNKU0M5RXhlY1N0YXRlRVJLTlMxXzEw
SWRlbnRpZmllckVOUzFfN0pTVmFsdWVFUk5TMV8xNVB1dFByb3BlcnR5U2xvdEUKIF9fWk43V2Vi
Q29yZTlKU0VsZW1lbnQ2c19pbmZvRQogX19aTjdXZWJDb3JlOVBhZ2VDYWNoZTExc2V0Q2FwYWNp
dHlFaQogX19aTjdXZWJDb3JlOVBhZ2VDYWNoZTI3cmVsZWFzZUF1dG9yZWxlYXNlZFBhZ2VzTm93
RXYKQEAgLTEwMjAsMTEgKzEwMjksOCBAQCBfX1pON1dlYkNvcmU5bWFrZVJhbmdlRVJLTlNfMTVW
aXNpYmxlUG9zaXRpb25FUzJfCiBfX1pON1dlYkNvcmU5cGFnZUNhY2hlRXYKIF9fWk43V2ViQ29y
ZTlwbGFpblRleHRFUEtOU181UmFuZ2VFTlNfMjBUZXh0SXRlcmF0b3JCZWhhdmlvckUKIF9fWk43
V2ViQ29yZTl0b0VsZW1lbnRFTjNKU0M3SlNWYWx1ZUUKLV9fWk43V2ViQ29yZTE3Y2FjaGVET01T
dHJ1Y3R1cmVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE4zSlNDOVN0cnVjdHVyZUVQS05TMl85
Q2xhc3NJbmZvRQotX19aTjdXZWJDb3JlMjFnZXRDYWNoZWRET01TdHJ1Y3R1cmVFUE5TXzE3SlNE
T01HbG9iYWxPYmplY3RFUEtOM0pTQzlDbGFzc0luZm9FCiBfX1pOSzNKU0M4QmluZGluZ3MxMFJv
b3RPYmplY3QxMmdsb2JhbE9iamVjdEV2CiBfX1pOSzNXVEY2U3RyaW5nMTRjcmVhdGVDRlN0cmlu
Z0V2Ci1fX1pOSzdXZWJDb3JlNUZyYW1lMjZnZXREb2N1bWVudEJhY2tncm91bmRDb2xvckV2CiBf
X1pOSzdXZWJDb3JlMTBDcmVkZW50aWFsMTFoYXNQYXNzd29yZEV2CiBfX1pOSzdXZWJDb3JlMTBD
cmVkZW50aWFsMTFwZXJzaXN0ZW5jZUV2CiBfX1pOSzdXZWJDb3JlMTBDcmVkZW50aWFsNHVzZXJF
dgpAQCAtMTIyNCw2ICsxMjMwLDcgQEAgX19aTks3V2ViQ29yZTVGcmFtZTE0c2VsZWN0aW9uSW1h
Z2VFYgogX19aTks3V2ViQ29yZTVGcmFtZTE1Y29udGVudFJlbmRlcmVyRXYKIF9fWk5LN1dlYkNv
cmU1RnJhbWUxNWxheWVyVHJlZUFzVGV4dEViCiBfX1pOSzdXZWJDb3JlNUZyYW1lMThkb2N1bWVu
dFR5cGVTdHJpbmdFdgorX19aTks3V2ViQ29yZTVGcmFtZTI2Z2V0RG9jdW1lbnRCYWNrZ3JvdW5k
Q29sb3JFdgogX19aTks3V2ViQ29yZTVGcmFtZTMxZGlzcGxheVN0cmluZ01vZGlmaWVkQnlFbmNv
ZGluZ0VSS04zV1RGNlN0cmluZ0UKIF9fWk5LN1dlYkNvcmU1RnJhbWU4c2V0dGluZ3NFdgogX19a
Tks3V2ViQ29yZTVGcmFtZTlkb21XaW5kb3dFdgpAQCAtMTI2Miw2ICsxMjY5LDcgQEAgX19aTks3
V2ViQ29yZTZFZGl0b3I3Y2FuQ29weUV2CiBfX1pOSzdXZWJDb3JlNkVkaXRvcjdjYW5FZGl0RXYK
IF9fWk5LN1dlYkNvcmU2RWRpdG9yOGNhblBhc3RlRXYKIF9fWk5LN1dlYkNvcmU2RWRpdG9yOWNh
bkRlbGV0ZUV2CitfX1pOSzdXZWJDb3JlNkpTTm9kZTIxcHVzaEV2ZW50SGFuZGxlclNjb3BlRVBO
M0pTQzlFeGVjU3RhdGVFUE5TMV8xNFNjb3BlQ2hhaW5Ob2RlRQogX19aTks3V2ViQ29yZTZXaWRn
ZXQxNHBsYXRmb3JtV2lkZ2V0RXYKIF9fWk5LN1dlYkNvcmU2V2lkZ2V0MjNjb252ZXJ0VG9Db250
YWluaW5nVmlld0VSS05TXzdJbnRSZWN0RQogX19aTks3V2ViQ29yZTZXaWRnZXQyM2NvbnZlcnRU
b0NvbnRhaW5pbmdWaWV3RVJLTlNfOEludFBvaW50RQpAQCAtMTMwOSw3ICsxMzE3LDkgQEAgX19a
Tks3V2ViQ29yZTlGcmFtZVRyZWUyNHRyYXZlcnNlUHJldmlvdXNXaXRoV3JhcEViCiBfX1pOSzdX
ZWJDb3JlOUZyYW1lVHJlZTRmaW5kRVJLTjNXVEYxMkF0b21pY1N0cmluZ0UKIF9fWk5LN1dlYkNv
cmU5RnJhbWVUcmVlNnBhcmVudEViCiBfX1pOSzdXZWJDb3JlOUZyYW1lVmlldzExbmVlZHNMYXlv
dXRFdgorX19aTks3V2ViQ29yZTlGcmFtZVZpZXcxM2lzVHJhbnNwYXJlbnRFdgogX19aTks3V2Vi
Q29yZTlGcmFtZVZpZXcxM3BhaW50QmVoYXZpb3JFdgorX19aTks3V2ViQ29yZTlGcmFtZVZpZXcx
OWJhc2VCYWNrZ3JvdW5kQ29sb3JFdgogX19aTks3V2ViQ29yZTlGcmFtZVZpZXcyMGlzU29mdHdh
cmVSZW5kZXJhYmxlRXYKIF9fWk5LN1dlYkNvcmU5RnJhbWVWaWV3MjJ3aW5kb3dDbGlwUmVjdEZv
ckxheWVyRVBLTlNfMTFSZW5kZXJMYXllckViCiBfX1pOSzdXZWJDb3JlOUZyYW1lVmlldzI4aXNF
bmNsb3NlZEluQ29tcG9zaXRpbmdMYXllckV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vU2hhZG93Q29udGVudEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd0Nv
bnRlbnRFbGVtZW50LmNwcAppbmRleCBjODY2NTQ3MThiM2RlOTQ4ZGUwNjkzNDM5NjIyMjE3MTVm
N2YyZGVkLi4xZGNkM2RlYzA3MjlkYTAxZTZiZWY5NDRkMzhiZDJlZWIxY2IyZGQ0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dDb250ZW50RWxlbWVudC5jcHAKQEAgLTI3LDEwICsyNywy
NiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNoYWRvd0NvbnRlbnRFbGVtZW50
LmgiCiAKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJTaGFkb3dDb250ZW50U2Vs
ZWN0b3IuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitQYXNzUmVmUHRyPFNoYWRvd0NvbnRl
bnRFbGVtZW50PiBTaGFkb3dDb250ZW50RWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVu
dCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFF1YWxpZmllZE5hbWUsIHRhZ05hbWUsIChu
dWxsQXRvbSwgIndlYmtpdFNoYWRvd0NvbnRlbnQiLCBIVE1MTmFtZXM6OmRpdlRhZy5uYW1lc3Bh
Y2VVUkkoKSkpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2hhZG93Q29udGVudEVsZW1lbnQo
dGFnTmFtZSwgZG9jdW1lbnQpKTsKK30KKworU2hhZG93Q29udGVudEVsZW1lbnQ6OlNoYWRvd0Nv
bnRlbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIERvY3VtZW50KiBkb2N1bWVu
dCkKKyAgICA6IFN0eWxlZEVsZW1lbnQobmFtZSwgZG9jdW1lbnQsIENyZWF0ZUhUTUxFbGVtZW50
KQoreworfQorCitTaGFkb3dDb250ZW50RWxlbWVudDo6flNoYWRvd0NvbnRlbnRFbGVtZW50KCkK
K3sKK30KKwogdm9pZCBTaGFkb3dDb250ZW50RWxlbWVudDo6YXR0YWNoKCkKIHsKICAgICBBU1NF
UlQoIWZpcnN0Q2hpbGQoKSk7IC8vIEN1cnJlbnRseSBkb2Vzbid0IHN1cHBvcnQgYW55IGxpZ2h0
IGNoaWxkLgpAQCAtNTIsNCArNjgsOSBAQCB2b2lkIFNoYWRvd0NvbnRlbnRFbGVtZW50OjpkZXRh
Y2goKQogICAgIFN0eWxlZEVsZW1lbnQ6OmRldGFjaCgpOwogfQogCitib29sIFNoYWRvd0NvbnRl
bnRFbGVtZW50OjpzaG91bGRJbmNsdWRlKE5vZGUqKQoreworICAgIHJldHVybiB0cnVlOworfQor
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dDb250ZW50RWxlbWVudC5oCmluZGV4IGFiNmU1
YTAwZWFiZjgxNDY5OTMyNjg2ZDg3ZjNlNzEyMDg3YTg2NjkuLjYzNDlmYTU2MjY5ZDExZTEyMGQ0
MTdiZmRiZTNiMzExM2UwNDBjMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFk
b3dDb250ZW50RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dDb250ZW50
RWxlbWVudC5oCkBAIC00MCwxOCArNDAsMTkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gWW91
IHNob3VsZCBjcmVhdGUgU2hhZG93Q29udGVudEVsZW1lbnQgZHVyaW5nIHRoZSBob3N0IGNvbnN0
cnVjdGlvbi4KIGNsYXNzIFNoYWRvd0NvbnRlbnRFbGVtZW50IDogcHVibGljIFN0eWxlZEVsZW1l
bnQgewogcHVibGljOgotICAgIFNoYWRvd0NvbnRlbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmIG5hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKLSAgICAgICAgOiBTdHlsZWRFbGVtZW50KG5h
bWUsIGRvY3VtZW50LCBDcmVhdGVIVE1MRWxlbWVudCkKLSAgICB7Ci0gICAgfQorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFNoYWRvd0NvbnRlbnRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqKTsKIAot
ICAgIHZpcnR1YWwgYm9vbCBzaG91bGRJbmNsdWRlKE5vZGUqKSA9IDA7CisgICAgdmlydHVhbCB+
U2hhZG93Q29udGVudEVsZW1lbnQoKTsKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW5jbHVkZShO
b2RlKik7CiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaCgpOwogICAgIHZpcnR1YWwgdm9pZCBkZXRh
Y2goKTsKIAogICAgIE5vZGUqIGluY2x1c2lvbkF0KHNpemVfdCkgY29uc3Q7CiAgICAgc2l6ZV90
IGluY2x1c2lvbkNvdW50KCkgY29uc3Q7CiAKK3Byb3RlY3RlZDoKKyAgICBTaGFkb3dDb250ZW50
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKKwogcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIGJvb2wgaXNDb250ZW50RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0K
ICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBOb2RlUmVuZGVyaW5nQ29u
dGV4dCYpIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxTdW1tYXJ5RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdW1tYXJ5
RWxlbWVudC5jcHAKaW5kZXggZDUyNDc1NzI1MzdmNWFjOTEwNDg5ZDk0M2YzYjQ4ZTlmOTNlOTU0
Ny4uNTE2YjMzYjFiMGE1Y2NkZmE0N2VhN2UzZWYzNTc3NTI3OGNhNmRiNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3VtbWFyeUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNwcApAQCAtNDYsOCArNDYsNiBAQCBwcml2
YXRlOgogICAgICAgICA6IFNoYWRvd0NvbnRlbnRFbGVtZW50KEhUTUxOYW1lczo6ZGl2VGFnLCBk
b2N1bWVudCkKICAgICB7CiAgICAgfQotCi0gICAgdmlydHVhbCBib29sIHNob3VsZEluY2x1ZGUo
Tm9kZSopIHsgcmV0dXJuIHRydWU7IH0KIH07CiAKIFBhc3NSZWZQdHI8U3VtbWFyeUNvbnRlbnRF
bGVtZW50PiBTdW1tYXJ5Q29udGVudEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKaW5kZXgg
ZDA5NmY4NzhhZWEzNTVlNGMzMGM4Y2JmNDRjMjcxMzFlM2E2NWU1OS4uZmM0YjU3ZGY0NGE3YjNi
ZWYwZGMzZTczYmQ3NWMxZGU2YzgxZjg5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUcmVlQXNUZXh0LmNwcApAQCAtNzU2LDI5ICs3NTYsNDQgQEAgc3RhdGljIHZvaWQg
d3JpdGVTZWxlY3Rpb24oVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRlck9iamVjdCogbykKICAg
ICAgICAgICAgPDwgInNlbGVjdGlvbiBlbmQ6ICAgcG9zaXRpb24gIiA8PCBzZWxlY3Rpb24uZW5k
KCkuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSA8PCAiIG9mICIgPDwgbm9kZVBvc2l0aW9uKHNl
bGVjdGlvbi5lbmQoKS5kZXByZWNhdGVkTm9kZSgpKSA8PCAiXG4iOwogfQogCitzdGF0aWMgU3Ry
aW5nIGV4dGVybmFsUmVwcmVzZW50YXRpb24oUmVuZGVyQm94KiByZW5kZXJlciwgUmVuZGVyQXNU
ZXh0QmVoYXZpb3IgYmVoYXZpb3IpCit7CisgICAgVGV4dFN0cmVhbSB0czsKKyAgICBpZiAoIXJl
bmRlcmVyLT5oYXNMYXllcigpKQorICAgICAgICB0cy5yZWxlYXNlKCk7CisgICAgICAgIAorICAg
IFJlbmRlckxheWVyKiBsYXllciA9IHJlbmRlcmVyLT5sYXllcigpOworICAgIHdyaXRlTGF5ZXJz
KHRzLCBsYXllciwgbGF5ZXIsIGxheWVyLT5yZWN0KCksIDAsIGJlaGF2aW9yKTsKKyAgICB3cml0
ZVNlbGVjdGlvbih0cywgcmVuZGVyZXIpOworICAgIHJldHVybiB0cy5yZWxlYXNlKCk7Cit9CisK
IFN0cmluZyBleHRlcm5hbFJlcHJlc2VudGF0aW9uKEZyYW1lKiBmcmFtZSwgUmVuZGVyQXNUZXh0
QmVoYXZpb3IgYmVoYXZpb3IpCiB7Ci0gICAgUHJpbnRDb250ZXh0IHByaW50Q29udGV4dChmcmFt
ZSk7Ci0gICAgaWYgKGJlaGF2aW9yICYgUmVuZGVyQXNUZXh0UHJpbnRpbmdNb2RlKSB7Ci0gICAg
ICAgIGlmICghZnJhbWUtPmNvbnRlbnRSZW5kZXJlcigpKQotICAgICAgICAgICAgcmV0dXJuIFN0
cmluZygpOwotICAgICAgICBwcmludENvbnRleHQuYmVnaW4oZnJhbWUtPmNvbnRlbnRSZW5kZXJl
cigpLT53aWR0aCgpKTsKLSAgICB9CisgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IGZyYW1l
LT5jb250ZW50UmVuZGVyZXIoKTsKKyAgICBpZiAoIXJlbmRlcmVyIHx8ICFyZW5kZXJlci0+aXNC
b3goKSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOwogCisgICAgUHJpbnRDb250ZXh0IHByaW50
Q29udGV4dChmcmFtZSk7CisgICAgaWYgKGJlaGF2aW9yICYgUmVuZGVyQXNUZXh0UHJpbnRpbmdN
b2RlKQorICAgICAgICBwcmludENvbnRleHQuYmVnaW4odG9SZW5kZXJCb3gocmVuZGVyZXIpLT53
aWR0aCgpKTsKICAgICBpZiAoIShiZWhhdmlvciAmIFJlbmRlckFzVGV4dERvbnRVcGRhdGVMYXlv
dXQpKQogICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7CiAKLSAgICBS
ZW5kZXJPYmplY3QqIG8gPSBmcmFtZS0+Y29udGVudFJlbmRlcmVyKCk7Ci0gICAgaWYgKCFvKQot
ICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgcmV0dXJuIGV4dGVybmFsUmVwcmVzZW50YXRp
b24odG9SZW5kZXJCb3gocmVuZGVyZXIpLCBiZWhhdmlvcik7Cit9CiAKLSAgICBUZXh0U3RyZWFt
IHRzOwotICAgIGlmIChvLT5oYXNMYXllcigpKSB7Ci0gICAgICAgIFJlbmRlckxheWVyKiBsID0g
dG9SZW5kZXJCb3gobyktPmxheWVyKCk7Ci0gICAgICAgIHdyaXRlTGF5ZXJzKHRzLCBsLCBsLCBs
LT5yZWN0KCksIDAsIGJlaGF2aW9yKTsKLSAgICAgICAgd3JpdGVTZWxlY3Rpb24odHMsIG8pOwot
ICAgIH0KLSAgICByZXR1cm4gdHMucmVsZWFzZSgpOworU3RyaW5nIGV4dGVybmFsUmVwcmVzZW50
YXRpb24oRWxlbWVudCogZWxlbWVudCwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgYmVoYXZpb3IpCit7
CisgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IGVsZW1lbnQtPnJlbmRlcmVyKCk7CisgICAg
aWYgKCFyZW5kZXJlciB8fCAhcmVuZGVyZXItPmlzQm94KCkpCisgICAgICAgIHJldHVybiBTdHJp
bmcoKTsKKyAgICAvLyBEb2Vzbid0IHN1cHBvcnQgcHJpbnRpbmcgbW9kZS4KKyAgICBBU1NFUlQo
IShiZWhhdmlvciAmIFJlbmRlckFzVGV4dFByaW50aW5nTW9kZSkpOworICAgIGlmICghKGJlaGF2
aW9yICYgUmVuZGVyQXNUZXh0RG9udFVwZGF0ZUxheW91dCkgJiYgZWxlbWVudC0+ZG9jdW1lbnQo
KSkKKyAgICAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7CisgICAgCisg
ICAgcmV0dXJuIGV4dGVybmFsUmVwcmVzZW50YXRpb24odG9SZW5kZXJCb3gocmVuZGVyZXIpLCBi
ZWhhdmlvciB8IFJlbmRlckFzVGV4dFNob3dBbGxMYXllcnMpOwogfQogCiBzdGF0aWMgdm9pZCB3
cml0ZUNvdW50ZXJWYWx1ZXNGcm9tQ2hpbGRyZW4oVGV4dFN0cmVhbSYgc3RyZWFtLCBSZW5kZXJP
YmplY3QqIHBhcmVudCwgYm9vbCYgaXNGaXJzdENvdW50ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuaAppbmRleCA0YzhiMTQ1ZDVhMDU1YTEyNjFmNmViOWVm
ZGJjZTVjNDhjNDBmZDk3Li4wYWE3MmNiNzIwZDY4ZmYwMGNlNmE0ZmI0ZTE2ZThiMmQxYjkzODc5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmgKQEAgLTU2
LDYgKzU2LDcgQEAgdHlwZWRlZiB1bnNpZ25lZCBSZW5kZXJBc1RleHRCZWhhdmlvcjsKIAogLy8g
WW91IGRvbid0IG5lZWQgcGFnZVdpZHRoSW5QaXhlbHMgaWYgeW91IGRvbid0IHNwZWNpZnkgUmVu
ZGVyQXNUZXh0SW5QcmludGluZ01vZGUuCiBTdHJpbmcgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihG
cmFtZSosIFJlbmRlckFzVGV4dEJlaGF2aW9yID0gUmVuZGVyQXNUZXh0QmVoYXZpb3JOb3JtYWwp
OworU3RyaW5nIGV4dGVybmFsUmVwcmVzZW50YXRpb24oRWxlbWVudCosIFJlbmRlckFzVGV4dEJl
aGF2aW9yID0gUmVuZGVyQXNUZXh0QmVoYXZpb3JOb3JtYWwpOwogdm9pZCB3cml0ZShUZXh0U3Ry
ZWFtJiwgY29uc3QgUmVuZGVyT2JqZWN0JiwgaW50IGluZGVudCA9IDAsIFJlbmRlckFzVGV4dEJl
aGF2aW9yID0gUmVuZGVyQXNUZXh0QmVoYXZpb3JOb3JtYWwpOwogdm9pZCB3cml0ZUluZGVudChU
ZXh0U3RyZWFtJiwgaW50IGluZGVudCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAppbmRleCBjNTg5MTNlOTlkZDBlNGQ4ZjFjMjU3YWMwMjRkNjg2ODdlZWFjMjg0Li5kMzg1ZjE1
MDI1ZmNlYWFiYWJmNzI2ODdhN2QzYWM4YzE3MjY3MWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwCkBAIC0yNiw2ICsyNiw5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiSW50ZXJuYWxzLmgiCiAKKyNpbmNsdWRlICJSZW5kZXJUcmVlQXNUZXh0LmgiCisjaW5j
bHVkZSAiU2hhZG93Q29udGVudEVsZW1lbnQuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBQ
YXNzUmVmUHRyPEludGVybmFscz4gSW50ZXJuYWxzOjpjcmVhdGUoKQpAQCAtNDEsNCArNDQsMzAg
QEAgSW50ZXJuYWxzOjpJbnRlcm5hbHMoKQogewogfQogCitQYXNzUmVmUHRyPEVsZW1lbnQ+IElu
dGVybmFsczo6Y3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBF
eGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWRvY3VtZW50KSB7CisgICAgICAgIGVjID0g
SU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICByZXR1
cm4gU2hhZG93Q29udGVudEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7Cit9CisKK1N0cmluZyBJ
bnRlcm5hbHM6OmVsZW1lbnRSZW5kZXJUcmVlQXNUZXh0KEVsZW1lbnQqIGVsZW1lbnQsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQoreworICAgIGlmICghZWxlbWVudCkgeworICAgICAgICBlYyA9IElOVkFM
SURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIH0KKworICAgIFN0
cmluZyByZXByZXNlbnRhdGlvbiA9IGV4dGVybmFsUmVwcmVzZW50YXRpb24oZWxlbWVudCk7Cisg
ICAgaWYgKHJlcHJlc2VudGF0aW9uLmlzRW1wdHkoKSkgeworICAgICAgICBlYyA9IElOVkFMSURf
QUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIH0KKworICAgIHJldHVy
biByZXByZXNlbnRhdGlvbjsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5k
ZXggY2JiZDliOWMwM2I0OTJiZjFhYTQ0YzExMTNiNGIwYTYwZDNlOTRlNS4uZTZkNjFjYjY4OTc4
ZWMwNDJmYTk0OWRlY2MxYTQ4NDY1MzY2MTE0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oCkBAIC0yNiwxNiArMjYsMjMgQEAKICNpZm5kZWYgSW50ZXJuYWxzX2gKICNkZWZpbmUgSW50
ZXJuYWxzX2gKIAorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRG9jdW1lbnQ7
CitjbGFzcyBFbGVtZW50OworCiBjbGFzcyBJbnRlcm5hbHMgOiBwdWJsaWMgUmVmQ291bnRlZDxJ
bnRlcm5hbHM+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbnRlcm5hbHM+IGNy
ZWF0ZSgpOwogICAgIHZpcnR1YWwgfkludGVybmFscygpOwogCisgICAgUGFzc1JlZlB0cjxFbGVt
ZW50PiBjcmVhdGVTaGFkb3dDb250ZW50RWxlbWVudChEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUm
KTsKKyAgICBTdHJpbmcgZWxlbWVudFJlbmRlclRyZWVBc1RleHQoRWxlbWVudCosIEV4Y2VwdGlv
bkNvZGUmKTsKIHByaXZhdGU6CiAgICAgSW50ZXJuYWxzKCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsCmluZGV4IDJkYjQ1OTU1M2M5ODA2YjMxZGFmYTkyMzcyYTQ3M2M2YWQ3
NTcyMmEuLjc1MjhhYmE2MzJhNWRmOWIwZDczMjgzZjRkNmQ5NDIxYmFhNzhjOTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTI1LDYgKzI1LDggQEAKIAogbW9kdWxlIHdp
bmRvdyB7CiAgICAgaW50ZXJmYWNlIFtPbWl0Q29uc3RydWN0b3JdIEludGVybmFscyB7CisgICAg
ICAgIEVsZW1lbnQgY3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQoaW4gRG9jdW1lbnQgZG9jdW1l
bnQpIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICBET01TdHJpbmcgZWxlbWVudFJlbmRl
clRyZWVBc1RleHQoaW4gRWxlbWVudCBlbGVtZW50KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAg
ICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzcyODM3MmFiZjgwNjg1Njc5MTljMGIwNzAxNDY3NzJh
MGExYjgwZC4uYTZjNmVmODY5OWY4YzBlMmRiMzIxMDNkZTE2MGUwMGFmZWQ5NDBmNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTA2LTEzICBNT1JJVEEgSGFqaW1lICA8bW9ycml0
YUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoZSBpbnRlcm5hbHMgb2JqZWN0IHNob3VsZCBoYXZlIGNyZWF0ZVNoYWRvd0NvbnRl
bnRFbGVtZW50KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTYyNDMyICAgICAgICAKKworICAgICAgICAqIHdpbi9XZWJLaXQyLmRlZjogQWRkZWQgc29t
ZSBtb3JlIHN5bWJvbHMgbmVjZXNzYXJ5IGZvcgorICAgICAgICB3aW5kb3cuaW50ZXJuYWxzIHRv
IGZ1bmN0aW9uIHRvIHRoZSBnbG9iYWwgc3ltYm9sIGxpc3QuCisKIDIwMTEtMDYtMTUgIFJ5dWFu
IENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFJ1YmJlciBzdGFtcGVk
IGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIu
ZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCmluZGV4IDFjNzFhMjU3M2ViNDUz
NjU0YzlkNjViZmVjNjY1MmQ0MGNlM2FmM2IuLmZiZWM5NWZlOGI2NTkzYjlhMThmMDcwNDQzMzAw
Y2I2NWVlOTAzYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgor
KysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKQEAgLTEzOCwzICsxMzgsMTAgQEAg
RVhQT1JUUwogICAgICAgICA/Z2V0Q2FjaGVkRE9NU3RydWN0dXJlQFdlYkNvcmVAQFlBUEFWU3Ry
dWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQlVDbGFzc0luZm9AM0BAWgogICAg
ICAgICA/Y2FjaGVET01TdHJ1Y3R1cmVAV2ViQ29yZUBAWUFQQVZTdHJ1Y3R1cmVASlNDQEBQQVZK
U0RPTUdsb2JhbE9iamVjdEAxQFBBVjIzQFBCVUNsYXNzSW5mb0AzQEBaCiAgICAgICAgID92aXJ0
dWFsRnVuY3Rpb25Ub1ByZXZlbnRXZWFrVnRhYmxlQEpTRE9NV3JhcHBlckBXZWJDb3JlQEBNQUVY
WFoKKyAgICAgICAgP2NyZWF0ZUBTaGFkb3dDb250ZW50RWxlbWVudEBXZWJDb3JlQEBTQT9BVj8k
UGFzc1JlZlB0ckBWU2hhZG93Q29udGVudEVsZW1lbnRAV2ViQ29yZUBAQFdURkBAUEFWRG9jdW1l
bnRAMkBAWgorICAgICAgICA/ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbkBXZWJDb3JlQEBZQT9BVlN0
cmluZ0BXVEZAQFBBVkVsZW1lbnRAMUBJQFoKKyAgICAgICAgP3NldERPTUV4Y2VwdGlvbkBXZWJD
b3JlQEBZQVhQQVZFeGVjU3RhdGVASlNDQEBIQFoKKyAgICAgICAgP3RvRG9jdW1lbnRAV2ViQ29y
ZUBAWUFQQVZEb2N1bWVudEAxQFZKU1ZhbHVlQEpTQ0BAQFoKKyAgICAgICAgP2NyZWF0ZVdyYXBw
ZXJAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAUEFWSlNET01HbG9i
YWxPYmplY3RAMUBQQVZOb2RlQDFAQFoKKyAgICAgICAgP3RvRWxlbWVudEBXZWJDb3JlQEBZQVBB
VkVsZW1lbnRAMUBWSlNWYWx1ZUBKU0NAQEBaCisgICAgICAgID9qc1N0cmluZ1Nsb3dDYXNlQFdl
YkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQEFBVj8kSGFzaE1hcEBQQVZT
dHJpbmdJbXBsQFdURkBAVj8kV2Vha0BWSlNTdHJpbmdASlNDQEBASlNDQEBVU3RyaW5nSGFzaEAy
QFU/JEhhc2hUcmFpdHNAUEFWU3RyaW5nSW1wbEBXVEZAQEAyQFU/JEhhc2hUcmFpdHNAVj8kV2Vh
a0BWSlNTdHJpbmdASlNDQEBASlNDQEBAMkBAV1RGQEBQQVZTdHJpbmdJbXBsQDZAQFoKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJv
bHMuZmlsdGVyIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgppbmRleCA3MzNhNjlm
NmY0ZWM1NzQyODRjZjNkMjU1MGE3OTM1M2YyYmQ3NGZlLi45MWE3ZmU5YjQ0MzM4MjQ4Yjk4MGYz
MzZjYWI4ZjUxMzVkY2MyYzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMu
ZmlsdGVyCisrKyBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKQEAgLTI2LDkgKzI2
LDI0IEBAIF9aTjNXVEY3Q1N0cmluZ0MyRVBLY207CiBfWk4zV1RGN0NTdHJpbmdEMUV2OwogX1pO
M1dURjdDU3RyaW5nYVNFUktTMF87CiBfWk4yNER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ayo7Ci1f
Wk43V2ViQ29yZTIxZ2V0Q2FjaGVkRE9NU3RydWN0dXJlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0
RVBLTjNKU0M5Q2xhc3NJbmZvRTsKLV9aTjdXZWJDb3JlMTdjYWNoZURPTVN0cnVjdHVyZUVQTlNf
MTdKU0RPTUdsb2JhbE9iamVjdEVQTjNKU0M5U3RydWN0dXJlRVBLTlMyXzlDbGFzc0luZm9FOwor
X1pON1dlYkNvcmUxMEpTRG9jdW1lbnQzcHV0RVBOM0pTQzlFeGVjU3RhdGVFUktOUzFfMTBJZGVu
dGlmaWVyRU5TMV83SlNWYWx1ZUVSTlMxXzE1UHV0UHJvcGVydHlTbG90RTsKK19aTjdXZWJDb3Jl
MTBKU0RvY3VtZW50NnNfaW5mb0U7CitfWk43V2ViQ29yZTEwdG9Eb2N1bWVudEVOM0pTQzdKU1Zh
bHVlRTsKIF9aTjdXZWJDb3JlMTJKU0RPTVdyYXBwZXIzNHZpcnR1YWxGdW5jdGlvblRvUHJldmVu
dFdlYWtWdGFibGVFdjsKK19aTjdXZWJDb3JlMTNjcmVhdGVXcmFwcGVyRVBOM0pTQzlFeGVjU3Rh
dGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE5TXzROb2RlRTsKK19aTjdXZWJDb3JlMTVzZXRE
T01FeGNlcHRpb25FUE4zSlNDOUV4ZWNTdGF0ZUVpOworX1pON1dlYkNvcmUxNmpzU3RyaW5nU2xv
d0Nhc2VFUE4zSlNDOUV4ZWNTdGF0ZUVSTjNXVEY3SGFzaE1hcElQTlMzXzEwU3RyaW5nSW1wbEVO
UzBfNFdlYWtJTlMwXzhKU1N0cmluZ0VFRU5TM18xMFN0cmluZ0hhc2hFTlMzXzEwSGFzaFRyYWl0
c0lTNl9FRU5TQl9JUzlfRUVFRVM2XzsKK19aTjdXZWJDb3JlMTdjYWNoZURPTVN0cnVjdHVyZUVQ
TlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQTjNKU0M5U3RydWN0dXJlRVBLTlMyXzlDbGFzc0luZm9F
OworX1pON1dlYkNvcmUyMFNoYWRvd0NvbnRlbnRFbGVtZW50NmNyZWF0ZUVQTlNfOERvY3VtZW50
RTsKK19aTjdXZWJDb3JlMjFnZXRDYWNoZWRET01TdHJ1Y3R1cmVFUE5TXzE3SlNET01HbG9iYWxP
YmplY3RFUEtOM0pTQzlDbGFzc0luZm9FOworX1pON1dlYkNvcmUyMmV4dGVybmFsUmVwcmVzZW50
YXRpb25FUE5TXzdFbGVtZW50RWo7CitfWk43V2ViQ29yZTZKU05vZGUxM3Zpc2l0Q2hpbGRyZW5F
Uk4zSlNDOU1hcmtTdGFja0U7CitfWk43V2ViQ29yZTZKU05vZGUzcHV0RVBOM0pTQzlFeGVjU3Rh
dGVFUktOUzFfMTBJZGVudGlmaWVyRU5TMV83SlNWYWx1ZUVSTlMxXzE1UHV0UHJvcGVydHlTbG90
RTsKK19aTjdXZWJDb3JlNkpTTm9kZTZzX2luZm9FOworX1pON1dlYkNvcmU5SlNFbGVtZW50M3B1
dEVQTjNKU0M5RXhlY1N0YXRlRVJLTlMxXzEwSWRlbnRpZmllckVOUzFfN0pTVmFsdWVFUk5TMV8x
NVB1dFByb3BlcnR5U2xvdEU7CitfWk43V2ViQ29yZTlKU0VsZW1lbnQ2c19pbmZvRTsKK19aTjdX
ZWJDb3JlOXRvRWxlbWVudEVOM0pTQzdKU1ZhbHVlRTsKK19aTks3V2ViQ29yZTZKU05vZGUyMXB1
c2hFdmVudEhhbmRsZXJTY29wZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFfMTRTY29wZUNoYWluTm9k
ZUU7CiBsb2NhbDoKIF9aKjsKIGN0aSo7Cg==
</data>
<flag name="review"
          id="91319"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
    <flag name="commit-queue"
          id="91772"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>