<?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>58346</bug_id>
          
          <creation_ts>2011-04-12 10:31:17 -0700</creation_ts>
          <short_desc>Convert media controls hooks to a client interface</short_desc>
          <delta_ts>2011-04-18 21:28:58 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>58345</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>menard</cc>
    
    <cc>sjl</cc>
    
    <cc>webkit-ews</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>384115</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-12 10:31:17 -0700</bug_when>
    <thetext>To facilitate cleaner separation of concerns and allow ports build their own DOM UI (rather than hacking it in using RenderTheme), we should create a MediaControlsClient interface, which is consumed by HTMLMediaElement. The implementors of the interface can then supply their own implementation of media controls.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384117</commentid>
    <comment_count>1</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-12 10:33:26 -0700</bug_when>
    <thetext>The hooks mentioned above are all the methods on MediaControlRootElement that HTMLMediaElement uses to signal a change of the state:


    void show();
    void hide();
    void makeOpaque();
    void makeTransparent();

    void reset();

    void playbackProgressed();
    void playbackStarted();
    void playbackStopped();

    void changedMute();
    void changedVolume();

    void enteredFullscreen();
    void exitedFullscreen();

    void reportedError();
    void changedNetworkState();
    void loadedMetadata();
    void changedClosedCaptionsVisibility();

    void showVolumeSlider();
    void updateTimeDisplay();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385182</commentid>
    <comment_count>2</comment_count>
    <who name="Steve Lacey">sjl</who>
    <bug_when>2011-04-13 13:46:39 -0700</bug_when>
    <thetext>Am looking at taking this on.

From a quick look, it seems like we could (which is basically reiterating Dimitri&apos;s comment):

1) Create a MediaControlsClient interface.
2) Derive MediaControls from that and rename to MediaControlRootElement.
3) Have MediaElement use that.

This seems fairly simple and would keep everything working. Ports can then implement their own MediaControlClient instead of MediaControlRootElement as and when they wish.

Any gotchas?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385186</commentid>
    <comment_count>3</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-13 13:49:38 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Am looking at taking this on.
&gt; 
&gt; From a quick look, it seems like we could (which is basically reiterating Dimitri&apos;s comment):
&gt; 
&gt; 1) Create a MediaControlsClient interface.
&gt; 2) Derive MediaControls from that and rename to MediaControlRootElement.
&gt; 3) Have MediaElement use that.
&gt; 
&gt; This seems fairly simple and would keep everything working. Ports can then implement their own MediaControlClient instead of MediaControlRootElement as and when they wish.
&gt; 
&gt; Any gotchas?

This is a reasonable first step.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387120</commentid>
    <comment_count>4</comment_count>
      <attachid>89898</attachid>
    <who name="Steve Lacey">sjl</who>
    <bug_when>2011-04-15 18:19:29 -0700</bug_when>
    <thetext>Created attachment 89898
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387145</commentid>
    <comment_count>5</comment_count>
      <attachid>89900</attachid>
    <who name="Steve Lacey">sjl</who>
    <bug_when>2011-04-15 18:34:02 -0700</bug_when>
    <thetext>Created attachment 89900
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387146</commentid>
    <comment_count>6</comment_count>
    <who name="Steve Lacey">sjl</who>
    <bug_when>2011-04-15 18:34:44 -0700</bug_when>
    <thetext>First patch was missing project.pbxproj change. Fixed in second patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387171</commentid>
    <comment_count>7</comment_count>
      <attachid>89900</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-15 19:48:29 -0700</bug_when>
    <thetext>Comment on attachment 89900
Patch

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

&gt; Source/WebCore/html/shadow/MediaControlClient.h:38
&gt; +class MediaControlClient : public HTMLDivElement {

This is interesting. If it&apos;s a subclass of an HTMLDivElement, it&apos;s probably not a client. I was imagining MediaControlClient to not be a subclass of anything, but maybe that would be too convoluted.

I think what you have is fine, but you need to get rid of the Client designation. This is a base class, and the convention in WebKit is to use a Base suffix. So this would be an HTMLMediaControlBase.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387180</commentid>
    <comment_count>8</comment_count>
    <who name="Steve Lacey">sjl</who>
    <bug_when>2011-04-15 20:49:43 -0700</bug_when>
    <thetext>Thanks for the quick review!

That was what I thought too. But the issue became one that ideally:

1) The HTMLMediaElement would maintain a reference to the controls interface on the object.
2) The object is added to the shadow root, which maintains a reference.

Who owns what then becomes tricky and you&apos;d end up splitting into various objects and lifetimes become an issue.

It became simpler just to think of the interface as a base class.

Anyhow - yup! I should have changed the name :-)  Will fix on Monday.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387204</commentid>
    <comment_count>9</comment_count>
    <who name="Steve Lacey">sjl</who>
    <bug_when>2011-04-15 22:14:48 -0700</bug_when>
    <thetext>Clarification: MediaControlBase or HTMLMediaControlBase? I expect the former as it&apos;s not a core html element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387219</commentid>
    <comment_count>10</comment_count>
      <attachid>89917</attachid>
    <who name="Steve Lacey">sjl</who>
    <bug_when>2011-04-15 22:58:08 -0700</bug_when>
    <thetext>Created attachment 89917
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387220</commentid>
    <comment_count>11</comment_count>
    <who name="Steve Lacey">sjl</who>
    <bug_when>2011-04-15 22:58:43 -0700</bug_when>
    <thetext>New patch is a pure name change MediaControlClient -&gt; MediaControlBase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387262</commentid>
    <comment_count>12</comment_count>
      <attachid>89917</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-16 09:52:59 -0700</bug_when>
    <thetext>Comment on attachment 89917
Patch

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

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:22965
&gt; +				1F0D6E0E13590DE700236592 /* MediaControlBase.h in Headers */,

The XCode changes look like they haven&apos;t been sorted. Can you run sort-XCode-project-files on this?

&gt; Source/WebCore/html/shadow/MediaControlBase.h:34
&gt; +#include &lt;HTMLDivElement.h&gt;
&gt; +#include &lt;HTMLMediaElement.h&gt;
&gt; +#include &lt;HTMLNames.h&gt;

&quot;&quot;, not &lt;&gt;

&gt; Source/WebCore/html/shadow/MediaControlBase.h:38
&gt; +class MediaControlBase : public HTMLDivElement {

I am sorry about flip-flopping here, but looking at callsites, it&apos;s clear that they are working with an interface, not a base class. So we should call this new thing MediaControls, not MediaControlBase.

&gt; Source/WebCore/html/shadow/MediaControlBase.h:42
&gt; +    // This function is to be implemented in your platform-specific media

port-specific.

&gt; Source/WebCore/html/shadow/MediaControlBase.h:73
&gt; +    MediaControlBase(HTMLMediaElement* mediaElement)
&gt; +        : HTMLDivElement(HTMLNames::divTag, mediaElement-&gt;document()) { }

I know you want to keep this change to only have a header file, but you could save a couple of header includes if you just have a source file with it.

&gt; Source/WebCore/html/shadow/MediaControlBase.h:81
&gt; +#endif

extra break after first endif would be helpful.

&gt; Source/WebCore/html/shadow/MediaControlRootElement.h:28
&gt; +#ifndef MediaControlRootElement_h
&gt; +#define MediaControlRootElement_h

Ha! Thanks for noticing this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387700</commentid>
    <comment_count>13</comment_count>
      <attachid>89917</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-04-18 07:27:43 -0700</bug_when>
    <thetext>Comment on attachment 89917
Patch

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

&gt; Source/WebCore/html/HTMLMediaElement.h:338
&gt; +

Extra spaces?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387701</commentid>
    <comment_count>14</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-04-18 07:28:27 -0700</bug_when>
    <thetext>Just a stupid question but this is only for the logic part right?

The styling will still happen is RenderThemeXYZ ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387880</commentid>
    <comment_count>15</comment_count>
      <attachid>90059</attachid>
    <who name="Steve Lacey">sjl</who>
    <bug_when>2011-04-18 11:19:08 -0700</bug_when>
    <thetext>Created attachment 90059
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387884</commentid>
    <comment_count>16</comment_count>
    <who name="Steve Lacey">sjl</who>
    <bug_when>2011-04-18 11:22:05 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 89917 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=89917&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:22965
&gt; &gt; +				1F0D6E0E13590DE700236592 /* MediaControlBase.h in Headers */,
&gt; 
&gt; The XCode changes look like they haven&apos;t been sorted. Can you run sort-XCode-project-files on this?

Done. Though this resulted in a lot of changes! Am presuming this hasn&apos;t been run for a while and that the script did the right thing...

&gt; 
&gt; &gt; Source/WebCore/html/shadow/MediaControlBase.h:34
&gt; &gt; +#include &lt;HTMLDivElement.h&gt;
&gt; &gt; +#include &lt;HTMLMediaElement.h&gt;
&gt; &gt; +#include &lt;HTMLNames.h&gt;
&gt; 
&gt; &quot;&quot;, not &lt;&gt;

Done.

&gt; 
&gt; &gt; Source/WebCore/html/shadow/MediaControlBase.h:38
&gt; &gt; +class MediaControlBase : public HTMLDivElement {
&gt; 
&gt; I am sorry about flip-flopping here, but looking at callsites, it&apos;s clear that they are working with an interface, not a base class. So we should call this new thing MediaControls, not MediaControlBase.

Done.

&gt; 
&gt; &gt; Source/WebCore/html/shadow/MediaControlBase.h:42
&gt; &gt; +    // This function is to be implemented in your platform-specific media
&gt; 
&gt; port-specific.

Done.

&gt; 
&gt; &gt; Source/WebCore/html/shadow/MediaControlBase.h:73
&gt; &gt; +    MediaControlBase(HTMLMediaElement* mediaElement)
&gt; &gt; +        : HTMLDivElement(HTMLNames::divTag, mediaElement-&gt;document()) { }
&gt; 
&gt; I know you want to keep this change to only have a header file, but you could save a couple of header includes if you just have a source file with it.

Done.

&gt; 
&gt; &gt; Source/WebCore/html/shadow/MediaControlBase.h:81
&gt; &gt; +#endif
&gt; 
&gt; extra break after first endif would be helpful.

Done. Was just following the style in other includes...

&gt; 
&gt; &gt; Source/WebCore/html/shadow/MediaControlRootElement.h:28
&gt; &gt; +#ifndef MediaControlRootElement_h
&gt; &gt; +#define MediaControlRootElement_h
&gt; 
&gt; Ha! Thanks for noticing this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387885</commentid>
    <comment_count>17</comment_count>
    <who name="Steve Lacey">sjl</who>
    <bug_when>2011-04-18 11:22:57 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 89917 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=89917&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLMediaElement.h:338
&gt; &gt; +
&gt; 
&gt; Extra spaces?

My change removed some spurious spaces due to me adding an new member and then taking it away. Are the spaces needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387894</commentid>
    <comment_count>18</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-04-18 11:31:28 -0700</bug_when>
    <thetext>Attachment 90059 did not build on qt:
Build output: http://queues.webkit.org/results/8457976</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387939</commentid>
    <comment_count>19</comment_count>
      <attachid>90069</attachid>
    <who name="Steve Lacey">sjl</who>
    <bug_when>2011-04-18 12:26:16 -0700</bug_when>
    <thetext>Created attachment 90069
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387940</commentid>
    <comment_count>20</comment_count>
    <who name="Steve Lacey">sjl</who>
    <bug_when>2011-04-18 12:27:54 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; Attachment 90059 [details] did not build on qt:
&gt; Build output: http://queues.webkit.org/results/8457976

Should be fixed in the followup patch. Messed up the pbxproj. Nice catch by the bots...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387965</commentid>
    <comment_count>21</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-04-18 13:02:36 -0700</bug_when>
    <thetext>Attachment 90069 did not build on qt:
Build output: http://queues.webkit.org/results/8473016</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387974</commentid>
    <comment_count>22</comment_count>
    <who name="Steve Lacey">sjl</who>
    <bug_when>2011-04-18 13:17:05 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; Attachment 90069 [details] did not build on qt:
&gt; Build output: http://queues.webkit.org/results/8473016


Looks like MediaControls.cpp is not being pulled into the qt build. I can&apos;t see any missing makefile. Is there another file where this should be listed? A grep over webkit for another doesn&apos;t show any missing change.

Any clues?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388019</commentid>
    <comment_count>23</comment_count>
      <attachid>90088</attachid>
    <who name="Steve Lacey">sjl</who>
    <bug_when>2011-04-18 13:58:42 -0700</bug_when>
    <thetext>Created attachment 90088
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388020</commentid>
    <comment_count>24</comment_count>
    <who name="Steve Lacey">sjl</who>
    <bug_when>2011-04-18 14:00:13 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; (In reply to comment #21)
&gt; &gt; Attachment 90069 [details] [details] did not build on qt:
&gt; &gt; Build output: http://queues.webkit.org/results/8473016
&gt; 
&gt; 
&gt; Looks like MediaControls.cpp is not being pulled into the qt build. I can&apos;t see any missing makefile. Is there another file where this should be listed? A grep over webkit for another doesn&apos;t show any missing change.
&gt; 
&gt; Any clues?

Answering my own question: missed WebCore.pro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388059</commentid>
    <comment_count>25</comment_count>
      <attachid>90098</attachid>
    <who name="Steve Lacey">sjl</who>
    <bug_when>2011-04-18 14:48:32 -0700</bug_when>
    <thetext>Created attachment 90098
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388062</commentid>
    <comment_count>26</comment_count>
    <who name="Steve Lacey">sjl</who>
    <bug_when>2011-04-18 14:49:14 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; Created an attachment (id=90098) [details]
&gt; Patch

No change other than a merge with head to try and get the qt bot to apply the patch successfully.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388284</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-18 21:26:13 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 90098:

http/tests/misc/favicon-loads-with-icon-loading-override.html bug 58412 (author: alice.liu@apple.com)
http/tests/media/video-load-twice.html bug 51138 (authors: eric.carlson@apple.com and jamesr@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388285</commentid>
    <comment_count>28</comment_count>
      <attachid>90098</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-18 21:28:51 -0700</bug_when>
    <thetext>Comment on attachment 90098
Patch

Clearing flags on attachment: 90098

Committed r84222: &lt;http://trac.webkit.org/changeset/84222&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388286</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-18 21:28:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89898</attachid>
            <date>2011-04-15 18:19:29 -0700</date>
            <delta_ts>2011-04-15 18:33:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58346-20110415181928.patch</filename>
            <type>text/plain</type>
            <size>18466</size>
            <attacher name="Steve Lacey">sjl</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQwNDcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxYjEyYzNkZWUyY2ZjYTUw
M2FmOTZkZTQ0YmM1MWVmZDQ0M2NjNmUyLi41Yjc5ZWFjZDg0MjM1NDY4N2M0NGU0ZjY0NjA3ZjI0
MWQ0OTA2Nzg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMDQtMTUgIFN0ZXZl
IExhY2V5ICA8c2psQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBEZWNvdXBsZSBtZWRpYSBjb250cm9scyB1c2FnZSBmcm9tIGlt
cGxlbWVudGF0aW9uLgorICAgICAgICBUaGlzIGFsbG93cyBlYWNoIHBvcnQgdG8gaW1wbGVtZW50
IHRoaWVyIG93biBjb250cm9scyBpbiBhIGRpZmZlcmVudAorICAgICAgICBtYW5uZXIgdG8gdGhl
IGRlZmF1bHQgd2Via2l0IGltcGxlbWVudGF0aW9uLgorCisgICAgICAgIENvbnZlcnQgbWVkaWEg
Y29udHJvbHMgaG9va3MgdG8gYSBjbGllbnQgaW50ZXJmYWNlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODM0NgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cyBuZWVkZWQgYXMgbm8gZnVuY3Rpb25hbGl0eSBoYXMgY2hhbmdlZC4KKworICAgICAgICAqIEdO
VW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYUNvbnRy
b2xzKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmVuc3VyZU1lZGlhQ29u
dHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cHJlRGlzcGF0Y2hF
dmVudEhhbmRsZXIpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbENsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhQ29udHJvbENsaWVudDo6fk1lZGlhQ29udHJvbENsaWVudCk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xDbGllbnQ6Ok1lZGlhQ29udHJvbENsaWVudCk6CisgICAg
ICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sUGFu
ZWxNdXRlQnV0dG9uRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5l
bE11dGVCdXR0b25FbGVtZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250
cm9sVGltZWxpbmVFbGVtZW50OjpNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50OjpjcmVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29u
dHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29u
dHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50OjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvc2hh
ZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmg6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sUm9vdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9v
dEVsZW1lbnQ6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhQ29udHJvbENsaWVudDo6Y3JlYXRlKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xSb290RWxlbWVudC5oOgorCiAyMDExLTA0LTE1ICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJA
Z29vZ2xlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBDaHJvbWl1bSBMaW51eCBSZWxlYXNl
IGJ1aWxkIGZpeCBkdWUgdG8gdW51c2VkIHZhcmlhYmxlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCmluZGV4IGIwZTExNGMwMTRlNzM5MzkyNzYxNjFhNmYxYThlMDU3ZTc3OTM2N2MuLjBj
MjE4OWUxMzRmOThmOTUwNTc4YmIyMzhlNTkxZDA2MjZmMWExZWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQpAQCAtMTg0Miw2ICsxODQyLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NGaWx0ZXIuaCBcCiAJU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvRGV0YWlsc01hcmtlckNvbnRyb2wuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9EZXRhaWxzTWFya2VyQ29udHJvbC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xDbGllbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9NZWRpYUNvbnRyb2xSb290RWxlbWVudC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDBhZmZi
NGRkMjZjMGQ0OGMzZGY4NTE2OTJmZGMyYTYzY2FhN2MwNDguLmNiZGQ5N2IzOGQyNDAxNTQxYmUz
YWZhM2ZjMzBjYWYzZWQ0N2UyZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTMxNjcsNiArMzE2Nyw3
IEBACiAgICAgICAgICAgICAnaHRtbC9wYXJzZXIvWFNTRmlsdGVyLmgnLAogICAgICAgICAgICAg
J2h0bWwvc2hhZG93L0RldGFpbHNNYXJrZXJDb250cm9sLmNwcCcsCiAgICAgICAgICAgICAnaHRt
bC9zaGFkb3cvRGV0YWlsc01hcmtlckNvbnRyb2wuaCcsCisgICAgICAgICAgICAnaHRtbC9zaGFk
b3cvTWVkaWFDb250cm9sQ2xpZW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvc2hhZG93L01lZGlh
Q29udHJvbEVsZW1lbnRzLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sRWxlbWVudHMuaCcsCiAgICAgICAgICAgICAnaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9v
dEVsZW1lbnQuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKaW5kZXggYmYzNGU3ZTEzNGRhOTc5MTY0ZGU0ODkwOTAwZjYxNDRlYThlMzY0Yi4uMGI1
ZTEwYzA1MDQyOWFhYjU0ZjU5ZmJjMjUwZmFlZTRiNzMzMGVmOSAxMDA3NTUKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTU2Njg1LDYgKzU2Njg1LDEwIEBA
CiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxo
dG1sXHNoYWRvd1xNZWRpYUNvbnRyb2xDbGllbnQuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJ
CQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcc2hhZG93XE1lZGlhQ29udHJvbEVs
ZW1lbnRzLmNwcCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwCmluZGV4IGJhYjkwMjRiNDE5MDlmMTg0MGIzMjVkNjBjMGRjNTYzMWI1
NzcwZDIuLjYzMTkwZGI2YjYyMDZlZGNiZWZlYmYyNmFhMGM0ZTNiMTQ0YTQ0NWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNDgsNyArNDgsNyBAQAogI2lu
Y2x1ZGUgIkhUTUxTb3VyY2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFZpZGVvRWxlbWVudC5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlICJNZWRpYUNvbnRyb2xSb290RWxlbWVu
dC5oIgorI2luY2x1ZGUgIk1lZGlhQ29udHJvbENsaWVudC5oIgogI2luY2x1ZGUgIk1lZGlhRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJNZWRpYUVycm9yLmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0Lmgi
CkBAIC0yNjQ5LDkgKzI2NDksMTQgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpwcml2YXRlQnJv
d3NpbmdTdGF0ZURpZENoYW5nZSgpCiAgICAgbV9wbGF5ZXItPnNldFByaXZhdGVCcm93c2luZ01v
ZGUocHJpdmF0ZU1vZGUpOwogfQogCi1NZWRpYUNvbnRyb2xSb290RWxlbWVudCogSFRNTE1lZGlh
RWxlbWVudDo6bWVkaWFDb250cm9scygpCitNZWRpYUNvbnRyb2xDbGllbnQqIEhUTUxNZWRpYUVs
ZW1lbnQ6Om1lZGlhQ29udHJvbHMoKQogewotICAgIHJldHVybiBzaGFkb3dSb290KCkgPyB0b01l
ZGlhQ29udHJvbHMoc2hhZG93Um9vdCgpLT5maXJzdENoaWxkKCkpIDogMDsKKyAgICBpZiAoIXNo
YWRvd1Jvb3QoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBOb2RlKiBub2RlID0gc2hhZG93
Um9vdCgpLT5maXJzdENoaWxkKCk7CisgICAgQVNTRVJUKG5vZGUtPmlzSFRNTEVsZW1lbnQoKSk7
CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PE1lZGlhQ29udHJvbENsaWVudCo+KG5vZGUpOwogfQog
CiBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Omhhc01lZGlhQ29udHJvbHMoKQpAQCAtMjY2NSwxMCAr
MjY3MCwxMCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmVuc3VyZU1lZGlhQ29udHJvbHMoKQog
ICAgICAgICByZXR1cm47CiAKICAgICBFeGNlcHRpb25Db2RlIGVjOwotICAgIGVuc3VyZVNoYWRv
d1Jvb3QoKS0+YXBwZW5kQ2hpbGQoTWVkaWFDb250cm9sUm9vdEVsZW1lbnQ6OmNyZWF0ZSh0aGlz
KSwgZWMpOworICAgIGVuc3VyZVNoYWRvd1Jvb3QoKS0+YXBwZW5kQ2hpbGQoTWVkaWFDb250cm9s
Q2xpZW50OjpjcmVhdGUodGhpcyksIGVjKTsKIH0KIAotdm9pZCogSFRNTE1lZGlhRWxlbWVudDo6
cHJlRGlzcGF0Y2hFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KSAKK3ZvaWQqIEhUTUxNZWRpYUVs
ZW1lbnQ6OnByZURpc3BhdGNoRXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKIHsKICAgICBpZiAo
ZXZlbnQgJiYgZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkud2Via2l0ZnVsbHNjcmVlbmNo
YW5nZUV2ZW50KSB7CiAgICAgICAgIGlmIChjb250cm9scygpKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDI5M2Y3MTM4Yzg5OTNkN2M4ZTYxMzU5YjYzYTYxNTFm
OTFhNzNlMmEuLjY3NGI0YjFjMGVlM2Y2OGYxMjEzNjkzYWIwNDBiN2E5ZTgzMmYwYzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRXZlbnQ7CiBjbGFzcyBIVE1MU291cmNlRWxlbWVudDsK
LWNsYXNzIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50OworY2xhc3MgTWVkaWFDb250cm9sQ2xpZW50
OwogY2xhc3MgTWVkaWFFcnJvcjsKIGNsYXNzIEtVUkw7CiBjbGFzcyBUaW1lUmFuZ2VzOwpAQCAt
MTcyLDcgKzE3Miw3IEBAIHB1YmxpYzoKICAgICBib29sIGNsb3NlZENhcHRpb25zVmlzaWJsZSgp
IGNvbnN0OwogICAgIHZvaWQgc2V0Q2xvc2VkQ2FwdGlvbnNWaXNpYmxlKGJvb2wpOwogCi0gICAg
TWVkaWFDb250cm9sUm9vdEVsZW1lbnQqIG1lZGlhQ29udHJvbHMoKTsKKyAgICBNZWRpYUNvbnRy
b2xDbGllbnQqIG1lZGlhQ29udHJvbHMoKTsKIAogICAgIGJvb2wgcHJvY2Vzc2luZ1VzZXJHZXN0
dXJlKCkgY29uc3Q7CiAKQEAgLTMzNSw2ICszMzUsOCBAQCBwcml2YXRlOgogICAgIFRpbWVyPEhU
TUxNZWRpYUVsZW1lbnQ+IG1fcGxheWJhY2tQcm9ncmVzc1RpbWVyOwogICAgIFZlY3RvcjxSZWZQ
dHI8RXZlbnQ+ID4gbV9wZW5kaW5nRXZlbnRzOwogICAgIFJlZlB0cjxUaW1lUmFuZ2VzPiBtX3Bs
YXllZFRpbWVSYW5nZXM7CisKKyAgICBSZWZQdHI8TWVkaWFDb250cm9sQ2xpZW50PiBtX2NvbnRy
b2xzOwogICAgIAogICAgIGZsb2F0IG1fcGxheWJhY2tSYXRlOwogICAgIGZsb2F0IG1fZGVmYXVs
dFBsYXliYWNrUmF0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01l
ZGlhQ29udHJvbENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGQ0NTFlYjU2YzBjOTRkYmRkMzhlOTJkZWNjMDE4ODcz
NmQ2ZjIxMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01l
ZGlhQ29udHJvbENsaWVudC5oCkBAIC0wLDAgKzEsODIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBNZWRp
YUNvbnRyb2xDbGllbnRfaAorI2RlZmluZSBNZWRpYUNvbnRyb2xDbGllbnRfaAorCisjaWYgRU5B
QkxFKFZJREVPKQorCisjaW5jbHVkZSA8SFRNTERpdkVsZW1lbnQuaD4KKyNpbmNsdWRlIDxIVE1M
TWVkaWFFbGVtZW50Lmg+CisjaW5jbHVkZSA8SFRNTE5hbWVzLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgTWVkaWFDb250cm9sQ2xpZW50IDogcHVibGljIEhUTUxEaXZFbGVtZW50
IHsKKyAgcHVibGljOgorICAgIHZpcnR1YWwgfk1lZGlhQ29udHJvbENsaWVudCgpIHt9CisKKyAg
ICAvLyBUaGlzIGZ1bmN0aW9uIGlzIHRvIGJlIGltcGxlbWVudGVkIGluIHlvdXIgcGxhdGZvcm0t
c3BlY2lmaWMgbWVkaWEKKyAgICAvLyBjb250cm9scyBpbXBsZW1lbnRhdGlvbi4KKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xDbGllbnQ+IGNyZWF0ZShIVE1MTWVkaWFFbGVtZW50
Kik7CisKKyAgICB2aXJ0dWFsIHZvaWQgc2hvdygpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgaGlk
ZSgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgbWFrZU9wYXF1ZSgpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgbWFrZVRyYW5zcGFyZW50KCkgPSAwOworCisgICAgdmlydHVhbCB2b2lkIHJlc2V0KCkg
PSAwOworCisgICAgdmlydHVhbCB2b2lkIHBsYXliYWNrUHJvZ3Jlc3NlZCgpID0gMDsKKyAgICB2
aXJ0dWFsIHZvaWQgcGxheWJhY2tTdGFydGVkKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBwbGF5
YmFja1N0b3BwZWQoKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgY2hhbmdlZE11dGUoKSA9IDA7
CisgICAgdmlydHVhbCB2b2lkIGNoYW5nZWRWb2x1bWUoKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZv
aWQgZW50ZXJlZEZ1bGxzY3JlZW4oKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGV4aXRlZEZ1bGxz
Y3JlZW4oKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0ZWRFcnJvcigpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgY2hhbmdlZE5ldHdvcmtTdGF0ZSgpID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgbG9hZGVkTWV0YWRhdGEoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGNoYW5nZWRDbG9zZWRD
YXB0aW9uc1Zpc2liaWxpdHkoKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgc2hvd1ZvbHVtZVNs
aWRlcigpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVGltZURpc3BsYXkoKSA9IDA7CisK
K3Byb3RlY3RlZDoKKyAgICBNZWRpYUNvbnRyb2xDbGllbnQoSFRNTE1lZGlhRWxlbWVudCogbWVk
aWFFbGVtZW50KQorICAgICAgICA6IEhUTUxEaXZFbGVtZW50KEhUTUxOYW1lczo6ZGl2VGFnLCBt
ZWRpYUVsZW1lbnQtPmRvY3VtZW50KCkpIHsgfQorCitwcml2YXRlOgorICAgIE1lZGlhQ29udHJv
bENsaWVudCgpOworfTsKKworfQorCisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IDUyMjA5Y2Q3
YmYwMTYzYWYyOTY2OWZlZmVjMTNhZWRhOWNiYjBmYTYuLjFlMDViODVjODBhZTIyZmIyOWIyMTE0
YjYzMTQ0YzM3NmQzNDRiZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTM4LDcgKzM4LDcgQEAKICNpbmNsdWRlICJG
cmFtZS5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmlu
Z3MuaCIKLSNpbmNsdWRlICJNZWRpYUNvbnRyb2xSb290RWxlbWVudC5oIgorI2luY2x1ZGUgIk1l
ZGlhQ29udHJvbENsaWVudC5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJQ
YWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyRmxleGlibGVCb3guaCIKQEAgLTM0NiwxMyArMzQ2LDEz
IEBAIHZvaWQgTWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQ6OnVwZGF0ZURpc3BsYXlUeXBl
KCkKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1pbmxpbmUgTWVkaWFDb250
cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxl
bWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50KiBjb250cm9scykKK2lubGluZSBNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50
OjpNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1l
ZGlhRWxlbWVudCwgTWVkaWFDb250cm9sQ2xpZW50KiBjb250cm9scykKICAgICA6IE1lZGlhQ29u
dHJvbE11dGVCdXR0b25FbGVtZW50KG1lZGlhRWxlbWVudCwgTWVkaWFNdXRlQnV0dG9uKQogICAg
ICwgbV9jb250cm9scyhjb250cm9scykKIHsKIH0KIAotUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xQ
YW5lbE11dGVCdXR0b25FbGVtZW50PiBNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50
OjpjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBNZWRpYUNvbnRyb2xSb290
RWxlbWVudCogY29udHJvbHMpCitQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRv
bkVsZW1lbnQ+IE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShIVE1M
TWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbENsaWVudCogY29udHJvbHMp
CiB7CiAgICAgQVNTRVJUKGNvbnRyb2xzKTsKIApAQCAtNjI2LDEzICs2MjYsMTMgQEAgY29uc3Qg
QXRvbWljU3RyaW5nJiBNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1l
bnQ6OnNoYWRvd1BzZXVkb0kKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1N
ZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6Ok1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudChI
VE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50KiBj
b250cm9scykKK01lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6TWVkaWFDb250cm9sVGltZWxp
bmVFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVkaWFDb250cm9sQ2xp
ZW50KiBjb250cm9scykKICAgICA6IE1lZGlhQ29udHJvbElucHV0RWxlbWVudChtZWRpYUVsZW1l
bnQsIE1lZGlhU2xpZGVyKQogICAgICwgbV9jb250cm9scyhjb250cm9scykKIHsKIH0KIAotUGFz
c1JlZlB0cjxNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ+IE1lZGlhQ29udHJvbFRpbWVsaW5l
RWxlbWVudDo6Y3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVkaWFDb250
cm9sUm9vdEVsZW1lbnQqIGNvbnRyb2xzKQorUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xUaW1lbGlu
ZUVsZW1lbnQ+IE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6Y3JlYXRlKEhUTUxNZWRpYUVs
ZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVkaWFDb250cm9sQ2xpZW50KiBjb250cm9scykKIHsKICAg
ICBBU1NFUlQoY29udHJvbHMpOwogCkBAIC03NjcsMTMgKzc2NywxMyBAQCBjb25zdCBBdG9taWNT
dHJpbmcmIE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5Wb2x1bWVTbGlkZXJFbGVtZW50OjpzaGFkb3dQ
c2V1ZG9JZCgpCiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotaW5saW5lIE1l
ZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xGdWxsc2NyZWVu
QnV0dG9uRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJv
bFJvb3RFbGVtZW50KiBjb250cm9scykKK2lubGluZSBNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0
dG9uRWxlbWVudDo6TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlh
RWxlbWVudCogbWVkaWFFbGVtZW50LCBNZWRpYUNvbnRyb2xDbGllbnQqIGNvbnRyb2xzKQogICAg
IDogTWVkaWFDb250cm9sSW5wdXRFbGVtZW50KG1lZGlhRWxlbWVudCwgTWVkaWFGdWxsc2NyZWVu
QnV0dG9uKQogICAgICwgbV9jb250cm9scyhjb250cm9scykKIHsKIH0KIAotUGFzc1JlZlB0cjxN
ZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudD4gTWVkaWFDb250cm9sRnVsbHNjcmVl
bkJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1l
ZGlhQ29udHJvbFJvb3RFbGVtZW50KiBjb250cm9scykKK1Bhc3NSZWZQdHI8TWVkaWFDb250cm9s
RnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ+IE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVt
ZW50OjpjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBNZWRpYUNvbnRyb2xD
bGllbnQqIGNvbnRyb2xzKQogewogICAgIEFTU0VSVChjb250cm9scyk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oCmluZGV4IDk0ZDRi
YzYxMjZmZjcwYzg2MDQ4MjZhYmVjYmIxNmM2ZDNhZGQxMTcuLjBlYzhjMGRiM2M0ZmZmZmUwNWU2
ZmFkY2Q2YWVlYzRjYzM1MmUzNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvTWVkaWFDb250cm9sRWxlbWVudHMuaApAQCAtNDIsNyArNDIsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIEV2ZW50OwogY2xhc3MgRnJhbWU7Ci1jbGFzcyBNZWRpYUNvbnRyb2xS
b290RWxlbWVudDsKK2NsYXNzIE1lZGlhQ29udHJvbENsaWVudDsKIAogLy8gTXVzdCBtYXRjaCBX
ZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaAogZW51bSBNZWRpYUNvbnRyb2xFbGVtZW50VHlwZSB7CkBA
IC0xOTMsMTUgKzE5MywxNSBAQCBwcml2YXRlOgogCiBjbGFzcyBNZWRpYUNvbnRyb2xQYW5lbE11
dGVCdXR0b25FbGVtZW50IDogcHVibGljIE1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0
b25FbGVtZW50PiBjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50Kik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9u
RWxlbWVudD4gY3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xDbGllbnQqKTsK
IAogcHJpdmF0ZToKLSAgICBNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50KEhUTUxN
ZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCopOworICAgIE1lZGlhQ29udHJv
bFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbENs
aWVudCopOwogCiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsK
ICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgc2hhZG93UHNldWRvSWQoKSBjb25zdDsK
IAotICAgIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50KiBtX2NvbnRyb2xzOworICAgIE1lZGlhQ29u
dHJvbENsaWVudCogbV9jb250cm9sczsKIH07CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KQEAgLTMyNSwxOCArMzI1LDE4IEBAIHByaXZhdGU6CiAKIGNsYXNzIE1lZGlhQ29udHJv
bFRpbWVsaW5lRWxlbWVudCA6IHB1YmxpYyBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQgewogcHVi
bGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudD4g
Y3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCopOworICAg
IHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudD4gY3JlYXRlKEhU
TUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xDbGllbnQqKTsKIAogICAgIHZpcnR1YWwgdm9p
ZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiAgICAgdm9pZCBzZXRQb3NpdGlvbihmbG9h
dCk7CiAgICAgdm9pZCBzZXREdXJhdGlvbihmbG9hdCk7CiAKIHByaXZhdGU6Ci0gICAgTWVkaWFD
b250cm9sVGltZWxpbmVFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xSb290
RWxlbWVudCopOworICAgIE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudChIVE1MTWVkaWFFbGVt
ZW50KiwgTWVkaWFDb250cm9sQ2xpZW50Kik7CiAKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0
cmluZyYgc2hhZG93UHNldWRvSWQoKSBjb25zdDsKIAotICAgIE1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50KiBtX2NvbnRyb2xzOworICAgIE1lZGlhQ29udHJvbENsaWVudCogbV9jb250cm9sczsKIH07
CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTM1OSwxNiArMzU5LDE2IEBA
IHByaXZhdGU6CiAKIGNsYXNzIE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50IDog
cHVibGljIE1lZGlhQ29udHJvbElucHV0RWxlbWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBh
c3NSZWZQdHI8TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ+IGNyZWF0ZShIVE1M
TWVkaWFFbGVtZW50KiwgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQqKTsKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudD4gY3JlYXRlKEhUTUxN
ZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xDbGllbnQqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBk
ZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiAKIHByaXZhdGU6Ci0gICAgTWVkaWFDb250cm9s
RnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbFJv
b3RFbGVtZW50Kik7CisgICAgTWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQoSFRN
TE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbENsaWVudCopOwogCiAgICAgdmlydHVhbCBjb25z
dCBBdG9taWNTdHJpbmcmIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7CiAKLSAgICBNZWRpYUNvbnRy
b2xSb290RWxlbWVudCogbV9jb250cm9sczsKKyAgICBNZWRpYUNvbnRyb2xDbGllbnQqIG1fY29u
dHJvbHM7CiB9OwogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudC5jcHAK
aW5kZXggMTQ3ZjBiNmY3YjlhMDYzZTdkOGFlYWQ0ZTQyNjA0NmY2MTMxZWQ3Yy4uZTY4ZjhlNzQy
MTZkYjQzMjY5YmFiYmZhMWVjZThlOGQ2MGQzMDk2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmNwcApAQCAtMjksMjYg
KzI5LDE2IEBACiAjaWYgRU5BQkxFKFZJREVPKQogI2luY2x1ZGUgIk1lZGlhQ29udHJvbFJvb3RF
bGVtZW50LmgiCiAKLSNpbmNsdWRlICJFdmVudE5hbWVzLmgiCi0jaW5jbHVkZSAiRmxvYXRDb252
ZXJzaW9uLmgiCi0jaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiTWVkaWFDb250cm9s
RWxlbWVudHMuaCIKLSNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgot
I2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKLSNpbmNs
dWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgotCiAK
IHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdXNpbmcgbmFt
ZXNwYWNlIEhUTUxOYW1lczsKLQogTWVkaWFDb250cm9sUm9vdEVsZW1lbnQ6Ok1lZGlhQ29udHJv
bFJvb3RFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKLSAgICA6IEhUTUxE
aXZFbGVtZW50KGRpdlRhZywgbWVkaWFFbGVtZW50LT5kb2N1bWVudCgpKQorICAgIDogTWVkaWFD
b250cm9sQ2xpZW50KG1lZGlhRWxlbWVudCkKICAgICAsIG1fbWVkaWFFbGVtZW50KG1lZGlhRWxl
bWVudCkKICAgICAsIG1fcmV3aW5kQnV0dG9uKDApCiAgICAgLCBtX3BsYXlCdXR0b24oMCkKQEAg
LTc0LDYgKzY0LDExIEBAIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50OjpNZWRpYUNvbnRyb2xSb290
RWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCiB7CiB9CiAKK1Bhc3NSZWZQ
dHI8TWVkaWFDb250cm9sQ2xpZW50PiBNZWRpYUNvbnRyb2xDbGllbnQ6OmNyZWF0ZShIVE1MTWVk
aWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCit7CisgICAgcmV0dXJuIE1lZGlhQ29udHJvbFJvb3RF
bGVtZW50OjpjcmVhdGUobWVkaWFFbGVtZW50KTsKK30KKwogUGFzc1JlZlB0cjxNZWRpYUNvbnRy
b2xSb290RWxlbWVudD4gTWVkaWFDb250cm9sUm9vdEVsZW1lbnQ6OmNyZWF0ZShIVE1MTWVkaWFF
bGVtZW50KiBtZWRpYUVsZW1lbnQpCiB7CiAgICAgaWYgKCFtZWRpYUVsZW1lbnQtPmRvY3VtZW50
KCktPnBhZ2UoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlh
Q29udHJvbFJvb3RFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xSb290RWxlbWVudC5oCmluZGV4IDBhODU1ODIyMTA1YjU4NTY0NmI2MWEwMzVjNzFjZmVi
YjUzN2E5Y2YuLjc4YjBiMDdjNzQ5Njk5Mzk2OWQ1NjNmZDI2YTI0MDdiMTQzZmIwZGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1l
bnQuaApAQCAtMjQsMTggKzI0LDE2IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYg
TWVkaWFDb250cm9sc19oCi0jZGVmaW5lIE1lZGlhQ29udHJvbHNfaAorI2lmbmRlZiBNZWRpYUNv
bnRyb2xSb290RWxlbWVudF9oCisjZGVmaW5lIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50X2gKIAog
I2lmIEVOQUJMRShWSURFTykKIAotI2luY2x1ZGUgIkhUTUxEaXZFbGVtZW50LmgiCi0jaW5jbHVk
ZSAiVGltZXIuaCIKKyNpbmNsdWRlICJNZWRpYUNvbnRyb2xDbGllbnQuaCIKICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSFRNTEVsZW1lbnQ7
CiBjbGFzcyBIVE1MSW5wdXRFbGVtZW50OwogY2xhc3MgSFRNTE1lZGlhRWxlbWVudDsKIGNsYXNz
IEV2ZW50OwpAQCAtNjgsMTAgKzY2LDExIEBAIGNsYXNzIE1lZGlhUGxheWVyOwogY2xhc3MgUmVu
ZGVyQm94OwogY2xhc3MgUmVuZGVyTWVkaWE7CiAKLWNsYXNzIE1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50IDogcHVibGljIEhUTUxEaXZFbGVtZW50IHsKK2NsYXNzIE1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50IDogcHVibGljIE1lZGlhQ29udHJvbENsaWVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8TWVkaWFDb250cm9sUm9vdEVsZW1lbnQ+IGNyZWF0ZShIVE1MTWVkaWFFbGVtZW50
Kik7CiAKKyAgICAvLyBNZWRpYUNvbnRyb2xDbGllbnQgaW1wbGVtZW50YXRpb24uCiAgICAgdm9p
ZCBzaG93KCk7CiAgICAgdm9pZCBoaWRlKCk7CiAgICAgdm9pZCBtYWtlT3BhcXVlKCk7CkBAIC0x
MjgsMTIgKzEyNyw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX29wYXF1ZTsKIH07CiAKLWlubGlu
ZSBNZWRpYUNvbnRyb2xSb290RWxlbWVudCogdG9NZWRpYUNvbnRyb2xzKE5vZGUqIG5vZGUpCi17
Ci0gICAgQVNTRVJUKG5vZGUtPmlzSFRNTEVsZW1lbnQoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19j
YXN0PE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Kj4obm9kZSk7Ci19Ci0KIH0KIAogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89900</attachid>
            <date>2011-04-15 18:34:02 -0700</date>
            <delta_ts>2011-04-15 22:58:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58346-20110415183400.patch</filename>
            <type>text/plain</type>
            <size>22171</size>
            <attacher name="Steve Lacey">sjl</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQwNDcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxYjEyYzNkZWUyY2ZjYTUw
M2FmOTZkZTQ0YmM1MWVmZDQ0M2NjNmUyLi5kYjY2NWRlYWVlNjU4OTk0MmE4NWVkOTEwOGQ1MTVk
ZjA5YTBlZDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTEtMDQtMTUgIFN0ZXZl
IExhY2V5ICA8c2psQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBEZWNvdXBsZSBtZWRpYSBjb250cm9scyB1c2FnZSBmcm9tIGlt
cGxlbWVudGF0aW9uLgorICAgICAgICBUaGlzIGFsbG93cyBlYWNoIHBvcnQgdG8gaW1wbGVtZW50
IHRoaWVyIG93biBjb250cm9scyBpbiBhIGRpZmZlcmVudAorICAgICAgICBtYW5uZXIgdG8gdGhl
IGRlZmF1bHQgd2Via2l0IGltcGxlbWVudGF0aW9uLgorCisgICAgICAgIENvbnZlcnQgbWVkaWEg
Y29udHJvbHMgaG9va3MgdG8gYSBjbGllbnQgaW50ZXJmYWNlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODM0NgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cyBuZWVkZWQgYXMgZnVuY3Rpb25hbGl0eSBoYXMgbm90IGNoYW5nZWQuCisKKyAgICAgICAgKiBH
TlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBX
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhQ29udHJvbHMpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6ZW5zdXJlTWVkaWFDb250cm9scyk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpwcmVEaXNwYXRjaEV2ZW50SGFuZGxl
cik6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sQ2xpZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFDb250cm9sQ2xpZW50Ojp+TWVkaWFDb250cm9sQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhQ29udHJvbENsaWVudDo6TWVkaWFDb250cm9sQ2xpZW50KToKKyAgICAgICAgKiBodG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0
b25FbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRv
bkVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xUaW1lbGlu
ZUVsZW1lbnQ6Ok1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sRnVsbHNj
cmVlbkJ1dHRvbkVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sRnVsbHNj
cmVlbkJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sRWxlbWVudHMuaDoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudDo6
TWVkaWFDb250cm9sUm9vdEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
Q2xpZW50OjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RF
bGVtZW50Lmg6CisKIDIwMTEtMDQtMTUgIEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQuIENocm9taXVtIExpbnV4IFJlbGVhc2UgYnVpbGQgZml4
IGR1ZSB0byB1bnVzZWQgdmFyaWFibGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5k
ZXggYjBlMTE0YzAxNGU3MzkzOTI3NjE2MWE2ZjFhOGUwNTdlNzc5MzY3Yy4uMGMyMTg5ZTEzNGY5
OGY5NTA1NzhiYjIzOGU1OTFkMDYyNmYxYTFlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCkBAIC0xODQyLDYgKzE4NDIsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0ZpbHRlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9EZXRhaWxzTWFya2VyQ29udHJvbC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0RldGFpbHNNYXJrZXJDb250cm9sLmggXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L01lZGlhQ29udHJvbENsaWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRp
YUNvbnRyb2xFbGVtZW50cy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlh
Q29udHJvbEVsZW1lbnRzLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29u
dHJvbFJvb3RFbGVtZW50LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMGFmZmI0ZGQyNmMwZDQ4
YzNkZjg1MTY5MmZkYzJhNjNjYWE3YzA0OC4uY2JkZDk3YjM4ZDI0MDE1NDFiZTNhZmEzZmMzMGNh
ZjNlZDQ3ZTJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMzE2Nyw2ICszMTY3LDcgQEAKICAgICAg
ICAgICAgICdodG1sL3BhcnNlci9YU1NGaWx0ZXIuaCcsCiAgICAgICAgICAgICAnaHRtbC9zaGFk
b3cvRGV0YWlsc01hcmtlckNvbnRyb2wuY3BwJywKICAgICAgICAgICAgICdodG1sL3NoYWRvdy9E
ZXRhaWxzTWFya2VyQ29udHJvbC5oJywKKyAgICAgICAgICAgICdodG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xDbGllbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxl
bWVudHMuY3BwJywKICAgICAgICAgICAgICdodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5oJywKICAgICAgICAgICAgICdodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudC5j
cHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRl
eCBiZjM0ZTdlMTM0ZGE5NzkxNjRkZTQ4OTA5MDBmNjE0NGVhOGUzNjRiLi4wYjVlMTBjMDUwNDI5
YWFiNTRmNTlmYmMyNTBmYWVlNGI3MzMwZWY5IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNTY2ODUsNiArNTY2ODUsMTAgQEAKIAkJCQkJPgog
CQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcc2hhZG93
XE1lZGlhQ29udHJvbENsaWVudC5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxzaGFkb3dcTWVkaWFDb250cm9sRWxlbWVudHMuY3Bw
IgogCQkJCQk+CiAJCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDExZWUxMGJiYjA1NzIyNmI5MmEzOTk1N2VlODgw
NTc4MDNiMTc2NzQuLjA5ZjRiYWFkNGE2NjVlZGEwYmI2YmY1YTM1NDI1YTlkNWIxMDc3ZWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTY0Myw2ICs2NDMsNyBAQAogCQkxQ0Y2QkUxNDBFOUJCNDY3MDAyNUUxQ0QgLyogT2JqQ05v
ZGVGaWx0ZXJDb25kaXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQ0Y2QkUxMjBFOUJCNDY3MDAyNUUxQ0QgLyogT2JqQ05vZGVGaWx0ZXJDb25k
aXRpb24ubW0gKi87IH07CiAJCTFDRjZCRTE1MEU5QkI0NjcwMDI1RTFDRCAvKiBPYmpDTm9kZUZp
bHRlckNvbmRpdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUNGNkJFMTMwRTlCQjQ2NzAwMjVFMUNEIC8qIE9iakNOb2RlRmlsdGVyQ29uZGl0aW9u
LmggKi87IH07CiAJCTFDRkFFMzIzMEE2RDZBM0YwMDMyNTkzRCAvKiBsaWJvYmpjLmR5bGliIGlu
IEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNGQUUzMjIw
QTZENkEzRjAwMzI1OTNEIC8qIGxpYm9iamMuZHlsaWIgKi87IH07CisJCTFGMEQ2RTBFMTM1OTBE
RTcwMDIzNjU5MiAvKiBNZWRpYUNvbnRyb2xDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFGMEQ2RTBEMTM1OTBERTcwMDIzNjU5MiAvKiBNZWRp
YUNvbnRyb2xDbGllbnQuaCAqLzsgfTsKIAkJMjBENjI5MjYxMjUzNjkwQjAwMDgxNTQzIC8qIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyMEQ2MjkyNDEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmNwcCAqLzsgfTsKIAkJMjBENjI5MjcxMjUzNjkwQjAwMDgxNTQzIC8qIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMjBENjI5MjUxMjUzNjkwQjAwMDgxNTQzIC8qIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oICovOyB9OwogCQkyMjc3Nzc2MDEzNDVERUE5MDA4RUE0NTUgLyogSW5zcGVj
dG9yRnJvbnRlbmRDaGFubmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyMjc3Nzc1RjEzNDVERUE5MDA4RUE0NTUgLyogSW5zcGVjdG9yRnJvbnRlbmRD
aGFubmVsLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
QEAgLTcwODcsNiArNzA4OCw3IEBACiAJCTFDRjZCRTEyMEU5QkI0NjcwMDI1RTFDRCAvKiBPYmpD
Tm9kZUZpbHRlckNvbmRpdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IE9iakNOb2RlRmlsdGVyQ29uZGl0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQ0Y2QkUxMzBFOUJCNDY3MDAyNUUxQ0QgLyogT2JqQ05vZGVGaWx0ZXJDb25kaXRp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT2JqQ05vZGVGaWx0ZXJDb25k
aXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGQUUzMjIwQTZENkEzRjAw
MzI1OTNEIC8qIGxpYm9iamMuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IGxpYm9iamMu
ZHlsaWI7IHBhdGggPSAvdXNyL2xpYi9saWJvYmpjLmR5bGliOyBzb3VyY2VUcmVlID0gIjxhYnNv
bHV0ZT4iOyB9OworCQkxRjBENkUwRDEzNTkwREU3MDAyMzY1OTIgLyogTWVkaWFDb250cm9sQ2xp
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhQ29udHJvbENsaWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyMEQ2MjkyNDEyNTM2OTBCMDAwODE1
NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTIwRDYyOTI1MTI1MzY5MEIwMDA4MTU0MyAvKiBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTIyNzc3
NzVGMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzUwMyw2ICsxMzUwNSw3IEBACiAJCTQxNTBG
OUVEMTJCNkUwOTkwMDA4Qzg2MCAvKiBzaGFkb3cgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKAorCQkJCTFGMEQ2RTBEMTM1OTBERTcwMDIzNjU5MiAvKiBNZWRpYUNv
bnRyb2xDbGllbnQuaCAqLywKIAkJCQlBN0M5QUJGNjEzNTdBM0JGMDBGNTUwM0YgLyogRGV0YWls
c01hcmtlckNvbnRyb2wuY3BwICovLAogCQkJCUE3QzlBQkY3MTM1N0EzQkYwMEY1NTAzRiAvKiBE
ZXRhaWxzTWFya2VyQ29udHJvbC5oICovLAogCQkJCTQxNzI1M0E4MTM1NEJCQkMwMDM2MEYyQSAv
KiBNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgKi8sCkBAIC0yMjkzNCw2ICsyMjkzNyw3IEBACiAJ
CQkJOTc3RTJFMEYxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0ZpbHRlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMjJCRDlGN0YxMzUzNjI1QzAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0YS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMjJCRDlGODExMzUzNjRGRTAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0
YUNHLmggaW4gSGVhZGVycyAqLywKKwkJCQkxRjBENkUwRTEzNTkwREU3MDAyMzY1OTIgLyogTWVk
aWFDb250cm9sQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVw
bG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwCmluZGV4IGJhYjkwMjRiNDE5MDlmMTg0MGIzMjVkNjBjMGRjNTYzMWI1
NzcwZDIuLjYzMTkwZGI2YjYyMDZlZGNiZWZlYmYyNmFhMGM0ZTNiMTQ0YTQ0NWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNDgsNyArNDgsNyBAQAogI2lu
Y2x1ZGUgIkhUTUxTb3VyY2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFZpZGVvRWxlbWVudC5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlICJNZWRpYUNvbnRyb2xSb290RWxlbWVu
dC5oIgorI2luY2x1ZGUgIk1lZGlhQ29udHJvbENsaWVudC5oIgogI2luY2x1ZGUgIk1lZGlhRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJNZWRpYUVycm9yLmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0Lmgi
CkBAIC0yNjQ5LDkgKzI2NDksMTQgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpwcml2YXRlQnJv
d3NpbmdTdGF0ZURpZENoYW5nZSgpCiAgICAgbV9wbGF5ZXItPnNldFByaXZhdGVCcm93c2luZ01v
ZGUocHJpdmF0ZU1vZGUpOwogfQogCi1NZWRpYUNvbnRyb2xSb290RWxlbWVudCogSFRNTE1lZGlh
RWxlbWVudDo6bWVkaWFDb250cm9scygpCitNZWRpYUNvbnRyb2xDbGllbnQqIEhUTUxNZWRpYUVs
ZW1lbnQ6Om1lZGlhQ29udHJvbHMoKQogewotICAgIHJldHVybiBzaGFkb3dSb290KCkgPyB0b01l
ZGlhQ29udHJvbHMoc2hhZG93Um9vdCgpLT5maXJzdENoaWxkKCkpIDogMDsKKyAgICBpZiAoIXNo
YWRvd1Jvb3QoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBOb2RlKiBub2RlID0gc2hhZG93
Um9vdCgpLT5maXJzdENoaWxkKCk7CisgICAgQVNTRVJUKG5vZGUtPmlzSFRNTEVsZW1lbnQoKSk7
CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PE1lZGlhQ29udHJvbENsaWVudCo+KG5vZGUpOwogfQog
CiBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Omhhc01lZGlhQ29udHJvbHMoKQpAQCAtMjY2NSwxMCAr
MjY3MCwxMCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmVuc3VyZU1lZGlhQ29udHJvbHMoKQog
ICAgICAgICByZXR1cm47CiAKICAgICBFeGNlcHRpb25Db2RlIGVjOwotICAgIGVuc3VyZVNoYWRv
d1Jvb3QoKS0+YXBwZW5kQ2hpbGQoTWVkaWFDb250cm9sUm9vdEVsZW1lbnQ6OmNyZWF0ZSh0aGlz
KSwgZWMpOworICAgIGVuc3VyZVNoYWRvd1Jvb3QoKS0+YXBwZW5kQ2hpbGQoTWVkaWFDb250cm9s
Q2xpZW50OjpjcmVhdGUodGhpcyksIGVjKTsKIH0KIAotdm9pZCogSFRNTE1lZGlhRWxlbWVudDo6
cHJlRGlzcGF0Y2hFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KSAKK3ZvaWQqIEhUTUxNZWRpYUVs
ZW1lbnQ6OnByZURpc3BhdGNoRXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKIHsKICAgICBpZiAo
ZXZlbnQgJiYgZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkud2Via2l0ZnVsbHNjcmVlbmNo
YW5nZUV2ZW50KSB7CiAgICAgICAgIGlmIChjb250cm9scygpKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDI5M2Y3MTM4Yzg5OTNkN2M4ZTYxMzU5YjYzYTYxNTFm
OTFhNzNlMmEuLjY3NGI0YjFjMGVlM2Y2OGYxMjEzNjkzYWIwNDBiN2E5ZTgzMmYwYzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRXZlbnQ7CiBjbGFzcyBIVE1MU291cmNlRWxlbWVudDsK
LWNsYXNzIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50OworY2xhc3MgTWVkaWFDb250cm9sQ2xpZW50
OwogY2xhc3MgTWVkaWFFcnJvcjsKIGNsYXNzIEtVUkw7CiBjbGFzcyBUaW1lUmFuZ2VzOwpAQCAt
MTcyLDcgKzE3Miw3IEBAIHB1YmxpYzoKICAgICBib29sIGNsb3NlZENhcHRpb25zVmlzaWJsZSgp
IGNvbnN0OwogICAgIHZvaWQgc2V0Q2xvc2VkQ2FwdGlvbnNWaXNpYmxlKGJvb2wpOwogCi0gICAg
TWVkaWFDb250cm9sUm9vdEVsZW1lbnQqIG1lZGlhQ29udHJvbHMoKTsKKyAgICBNZWRpYUNvbnRy
b2xDbGllbnQqIG1lZGlhQ29udHJvbHMoKTsKIAogICAgIGJvb2wgcHJvY2Vzc2luZ1VzZXJHZXN0
dXJlKCkgY29uc3Q7CiAKQEAgLTMzNSw2ICszMzUsOCBAQCBwcml2YXRlOgogICAgIFRpbWVyPEhU
TUxNZWRpYUVsZW1lbnQ+IG1fcGxheWJhY2tQcm9ncmVzc1RpbWVyOwogICAgIFZlY3RvcjxSZWZQ
dHI8RXZlbnQ+ID4gbV9wZW5kaW5nRXZlbnRzOwogICAgIFJlZlB0cjxUaW1lUmFuZ2VzPiBtX3Bs
YXllZFRpbWVSYW5nZXM7CisKKyAgICBSZWZQdHI8TWVkaWFDb250cm9sQ2xpZW50PiBtX2NvbnRy
b2xzOwogICAgIAogICAgIGZsb2F0IG1fcGxheWJhY2tSYXRlOwogICAgIGZsb2F0IG1fZGVmYXVs
dFBsYXliYWNrUmF0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01l
ZGlhQ29udHJvbENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGQ0NTFlYjU2YzBjOTRkYmRkMzhlOTJkZWNjMDE4ODcz
NmQ2ZjIxMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01l
ZGlhQ29udHJvbENsaWVudC5oCkBAIC0wLDAgKzEsODIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBNZWRp
YUNvbnRyb2xDbGllbnRfaAorI2RlZmluZSBNZWRpYUNvbnRyb2xDbGllbnRfaAorCisjaWYgRU5B
QkxFKFZJREVPKQorCisjaW5jbHVkZSA8SFRNTERpdkVsZW1lbnQuaD4KKyNpbmNsdWRlIDxIVE1M
TWVkaWFFbGVtZW50Lmg+CisjaW5jbHVkZSA8SFRNTE5hbWVzLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgTWVkaWFDb250cm9sQ2xpZW50IDogcHVibGljIEhUTUxEaXZFbGVtZW50
IHsKKyAgcHVibGljOgorICAgIHZpcnR1YWwgfk1lZGlhQ29udHJvbENsaWVudCgpIHt9CisKKyAg
ICAvLyBUaGlzIGZ1bmN0aW9uIGlzIHRvIGJlIGltcGxlbWVudGVkIGluIHlvdXIgcGxhdGZvcm0t
c3BlY2lmaWMgbWVkaWEKKyAgICAvLyBjb250cm9scyBpbXBsZW1lbnRhdGlvbi4KKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xDbGllbnQ+IGNyZWF0ZShIVE1MTWVkaWFFbGVtZW50
Kik7CisKKyAgICB2aXJ0dWFsIHZvaWQgc2hvdygpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgaGlk
ZSgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgbWFrZU9wYXF1ZSgpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgbWFrZVRyYW5zcGFyZW50KCkgPSAwOworCisgICAgdmlydHVhbCB2b2lkIHJlc2V0KCkg
PSAwOworCisgICAgdmlydHVhbCB2b2lkIHBsYXliYWNrUHJvZ3Jlc3NlZCgpID0gMDsKKyAgICB2
aXJ0dWFsIHZvaWQgcGxheWJhY2tTdGFydGVkKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBwbGF5
YmFja1N0b3BwZWQoKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgY2hhbmdlZE11dGUoKSA9IDA7
CisgICAgdmlydHVhbCB2b2lkIGNoYW5nZWRWb2x1bWUoKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZv
aWQgZW50ZXJlZEZ1bGxzY3JlZW4oKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGV4aXRlZEZ1bGxz
Y3JlZW4oKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0ZWRFcnJvcigpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgY2hhbmdlZE5ldHdvcmtTdGF0ZSgpID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgbG9hZGVkTWV0YWRhdGEoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGNoYW5nZWRDbG9zZWRD
YXB0aW9uc1Zpc2liaWxpdHkoKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgc2hvd1ZvbHVtZVNs
aWRlcigpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVGltZURpc3BsYXkoKSA9IDA7CisK
K3Byb3RlY3RlZDoKKyAgICBNZWRpYUNvbnRyb2xDbGllbnQoSFRNTE1lZGlhRWxlbWVudCogbWVk
aWFFbGVtZW50KQorICAgICAgICA6IEhUTUxEaXZFbGVtZW50KEhUTUxOYW1lczo6ZGl2VGFnLCBt
ZWRpYUVsZW1lbnQtPmRvY3VtZW50KCkpIHsgfQorCitwcml2YXRlOgorICAgIE1lZGlhQ29udHJv
bENsaWVudCgpOworfTsKKworfQorCisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IDUyMjA5Y2Q3
YmYwMTYzYWYyOTY2OWZlZmVjMTNhZWRhOWNiYjBmYTYuLjFlMDViODVjODBhZTIyZmIyOWIyMTE0
YjYzMTQ0YzM3NmQzNDRiZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTM4LDcgKzM4LDcgQEAKICNpbmNsdWRlICJG
cmFtZS5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmlu
Z3MuaCIKLSNpbmNsdWRlICJNZWRpYUNvbnRyb2xSb290RWxlbWVudC5oIgorI2luY2x1ZGUgIk1l
ZGlhQ29udHJvbENsaWVudC5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJQ
YWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyRmxleGlibGVCb3guaCIKQEAgLTM0NiwxMyArMzQ2LDEz
IEBAIHZvaWQgTWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQ6OnVwZGF0ZURpc3BsYXlUeXBl
KCkKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1pbmxpbmUgTWVkaWFDb250
cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxl
bWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50KiBjb250cm9scykKK2lubGluZSBNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50
OjpNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1l
ZGlhRWxlbWVudCwgTWVkaWFDb250cm9sQ2xpZW50KiBjb250cm9scykKICAgICA6IE1lZGlhQ29u
dHJvbE11dGVCdXR0b25FbGVtZW50KG1lZGlhRWxlbWVudCwgTWVkaWFNdXRlQnV0dG9uKQogICAg
ICwgbV9jb250cm9scyhjb250cm9scykKIHsKIH0KIAotUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xQ
YW5lbE11dGVCdXR0b25FbGVtZW50PiBNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50
OjpjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBNZWRpYUNvbnRyb2xSb290
RWxlbWVudCogY29udHJvbHMpCitQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRv
bkVsZW1lbnQ+IE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShIVE1M
TWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbENsaWVudCogY29udHJvbHMp
CiB7CiAgICAgQVNTRVJUKGNvbnRyb2xzKTsKIApAQCAtNjI2LDEzICs2MjYsMTMgQEAgY29uc3Qg
QXRvbWljU3RyaW5nJiBNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1l
bnQ6OnNoYWRvd1BzZXVkb0kKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1N
ZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6Ok1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudChI
VE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50KiBj
b250cm9scykKK01lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6TWVkaWFDb250cm9sVGltZWxp
bmVFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVkaWFDb250cm9sQ2xp
ZW50KiBjb250cm9scykKICAgICA6IE1lZGlhQ29udHJvbElucHV0RWxlbWVudChtZWRpYUVsZW1l
bnQsIE1lZGlhU2xpZGVyKQogICAgICwgbV9jb250cm9scyhjb250cm9scykKIHsKIH0KIAotUGFz
c1JlZlB0cjxNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ+IE1lZGlhQ29udHJvbFRpbWVsaW5l
RWxlbWVudDo6Y3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVkaWFDb250
cm9sUm9vdEVsZW1lbnQqIGNvbnRyb2xzKQorUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xUaW1lbGlu
ZUVsZW1lbnQ+IE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6Y3JlYXRlKEhUTUxNZWRpYUVs
ZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVkaWFDb250cm9sQ2xpZW50KiBjb250cm9scykKIHsKICAg
ICBBU1NFUlQoY29udHJvbHMpOwogCkBAIC03NjcsMTMgKzc2NywxMyBAQCBjb25zdCBBdG9taWNT
dHJpbmcmIE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5Wb2x1bWVTbGlkZXJFbGVtZW50OjpzaGFkb3dQ
c2V1ZG9JZCgpCiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotaW5saW5lIE1l
ZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xGdWxsc2NyZWVu
QnV0dG9uRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJv
bFJvb3RFbGVtZW50KiBjb250cm9scykKK2lubGluZSBNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0
dG9uRWxlbWVudDo6TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlh
RWxlbWVudCogbWVkaWFFbGVtZW50LCBNZWRpYUNvbnRyb2xDbGllbnQqIGNvbnRyb2xzKQogICAg
IDogTWVkaWFDb250cm9sSW5wdXRFbGVtZW50KG1lZGlhRWxlbWVudCwgTWVkaWFGdWxsc2NyZWVu
QnV0dG9uKQogICAgICwgbV9jb250cm9scyhjb250cm9scykKIHsKIH0KIAotUGFzc1JlZlB0cjxN
ZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudD4gTWVkaWFDb250cm9sRnVsbHNjcmVl
bkJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1l
ZGlhQ29udHJvbFJvb3RFbGVtZW50KiBjb250cm9scykKK1Bhc3NSZWZQdHI8TWVkaWFDb250cm9s
RnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ+IE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVt
ZW50OjpjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBNZWRpYUNvbnRyb2xD
bGllbnQqIGNvbnRyb2xzKQogewogICAgIEFTU0VSVChjb250cm9scyk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oCmluZGV4IDk0ZDRi
YzYxMjZmZjcwYzg2MDQ4MjZhYmVjYmIxNmM2ZDNhZGQxMTcuLjBlYzhjMGRiM2M0ZmZmZmUwNWU2
ZmFkY2Q2YWVlYzRjYzM1MmUzNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvTWVkaWFDb250cm9sRWxlbWVudHMuaApAQCAtNDIsNyArNDIsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIEV2ZW50OwogY2xhc3MgRnJhbWU7Ci1jbGFzcyBNZWRpYUNvbnRyb2xS
b290RWxlbWVudDsKK2NsYXNzIE1lZGlhQ29udHJvbENsaWVudDsKIAogLy8gTXVzdCBtYXRjaCBX
ZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaAogZW51bSBNZWRpYUNvbnRyb2xFbGVtZW50VHlwZSB7CkBA
IC0xOTMsMTUgKzE5MywxNSBAQCBwcml2YXRlOgogCiBjbGFzcyBNZWRpYUNvbnRyb2xQYW5lbE11
dGVCdXR0b25FbGVtZW50IDogcHVibGljIE1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0
b25FbGVtZW50PiBjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50Kik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9u
RWxlbWVudD4gY3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xDbGllbnQqKTsK
IAogcHJpdmF0ZToKLSAgICBNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50KEhUTUxN
ZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCopOworICAgIE1lZGlhQ29udHJv
bFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbENs
aWVudCopOwogCiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsK
ICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgc2hhZG93UHNldWRvSWQoKSBjb25zdDsK
IAotICAgIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50KiBtX2NvbnRyb2xzOworICAgIE1lZGlhQ29u
dHJvbENsaWVudCogbV9jb250cm9sczsKIH07CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KQEAgLTMyNSwxOCArMzI1LDE4IEBAIHByaXZhdGU6CiAKIGNsYXNzIE1lZGlhQ29udHJv
bFRpbWVsaW5lRWxlbWVudCA6IHB1YmxpYyBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQgewogcHVi
bGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudD4g
Y3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCopOworICAg
IHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudD4gY3JlYXRlKEhU
TUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xDbGllbnQqKTsKIAogICAgIHZpcnR1YWwgdm9p
ZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiAgICAgdm9pZCBzZXRQb3NpdGlvbihmbG9h
dCk7CiAgICAgdm9pZCBzZXREdXJhdGlvbihmbG9hdCk7CiAKIHByaXZhdGU6Ci0gICAgTWVkaWFD
b250cm9sVGltZWxpbmVFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xSb290
RWxlbWVudCopOworICAgIE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudChIVE1MTWVkaWFFbGVt
ZW50KiwgTWVkaWFDb250cm9sQ2xpZW50Kik7CiAKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0
cmluZyYgc2hhZG93UHNldWRvSWQoKSBjb25zdDsKIAotICAgIE1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50KiBtX2NvbnRyb2xzOworICAgIE1lZGlhQ29udHJvbENsaWVudCogbV9jb250cm9sczsKIH07
CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTM1OSwxNiArMzU5LDE2IEBA
IHByaXZhdGU6CiAKIGNsYXNzIE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50IDog
cHVibGljIE1lZGlhQ29udHJvbElucHV0RWxlbWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBh
c3NSZWZQdHI8TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ+IGNyZWF0ZShIVE1M
TWVkaWFFbGVtZW50KiwgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQqKTsKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudD4gY3JlYXRlKEhUTUxN
ZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xDbGllbnQqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBk
ZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiAKIHByaXZhdGU6Ci0gICAgTWVkaWFDb250cm9s
RnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbFJv
b3RFbGVtZW50Kik7CisgICAgTWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQoSFRN
TE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbENsaWVudCopOwogCiAgICAgdmlydHVhbCBjb25z
dCBBdG9taWNTdHJpbmcmIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7CiAKLSAgICBNZWRpYUNvbnRy
b2xSb290RWxlbWVudCogbV9jb250cm9sczsKKyAgICBNZWRpYUNvbnRyb2xDbGllbnQqIG1fY29u
dHJvbHM7CiB9OwogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudC5jcHAK
aW5kZXggMTQ3ZjBiNmY3YjlhMDYzZTdkOGFlYWQ0ZTQyNjA0NmY2MTMxZWQ3Yy4uZTY4ZjhlNzQy
MTZkYjQzMjY5YmFiYmZhMWVjZThlOGQ2MGQzMDk2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmNwcApAQCAtMjksMjYg
KzI5LDE2IEBACiAjaWYgRU5BQkxFKFZJREVPKQogI2luY2x1ZGUgIk1lZGlhQ29udHJvbFJvb3RF
bGVtZW50LmgiCiAKLSNpbmNsdWRlICJFdmVudE5hbWVzLmgiCi0jaW5jbHVkZSAiRmxvYXRDb252
ZXJzaW9uLmgiCi0jaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiTWVkaWFDb250cm9s
RWxlbWVudHMuaCIKLSNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgot
I2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKLSNpbmNs
dWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgotCiAK
IHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdXNpbmcgbmFt
ZXNwYWNlIEhUTUxOYW1lczsKLQogTWVkaWFDb250cm9sUm9vdEVsZW1lbnQ6Ok1lZGlhQ29udHJv
bFJvb3RFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKLSAgICA6IEhUTUxE
aXZFbGVtZW50KGRpdlRhZywgbWVkaWFFbGVtZW50LT5kb2N1bWVudCgpKQorICAgIDogTWVkaWFD
b250cm9sQ2xpZW50KG1lZGlhRWxlbWVudCkKICAgICAsIG1fbWVkaWFFbGVtZW50KG1lZGlhRWxl
bWVudCkKICAgICAsIG1fcmV3aW5kQnV0dG9uKDApCiAgICAgLCBtX3BsYXlCdXR0b24oMCkKQEAg
LTc0LDYgKzY0LDExIEBAIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50OjpNZWRpYUNvbnRyb2xSb290
RWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCiB7CiB9CiAKK1Bhc3NSZWZQ
dHI8TWVkaWFDb250cm9sQ2xpZW50PiBNZWRpYUNvbnRyb2xDbGllbnQ6OmNyZWF0ZShIVE1MTWVk
aWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCit7CisgICAgcmV0dXJuIE1lZGlhQ29udHJvbFJvb3RF
bGVtZW50OjpjcmVhdGUobWVkaWFFbGVtZW50KTsKK30KKwogUGFzc1JlZlB0cjxNZWRpYUNvbnRy
b2xSb290RWxlbWVudD4gTWVkaWFDb250cm9sUm9vdEVsZW1lbnQ6OmNyZWF0ZShIVE1MTWVkaWFF
bGVtZW50KiBtZWRpYUVsZW1lbnQpCiB7CiAgICAgaWYgKCFtZWRpYUVsZW1lbnQtPmRvY3VtZW50
KCktPnBhZ2UoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlh
Q29udHJvbFJvb3RFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xSb290RWxlbWVudC5oCmluZGV4IDBhODU1ODIyMTA1YjU4NTY0NmI2MWEwMzVjNzFjZmVi
YjUzN2E5Y2YuLjc4YjBiMDdjNzQ5Njk5Mzk2OWQ1NjNmZDI2YTI0MDdiMTQzZmIwZGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1l
bnQuaApAQCAtMjQsMTggKzI0LDE2IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYg
TWVkaWFDb250cm9sc19oCi0jZGVmaW5lIE1lZGlhQ29udHJvbHNfaAorI2lmbmRlZiBNZWRpYUNv
bnRyb2xSb290RWxlbWVudF9oCisjZGVmaW5lIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50X2gKIAog
I2lmIEVOQUJMRShWSURFTykKIAotI2luY2x1ZGUgIkhUTUxEaXZFbGVtZW50LmgiCi0jaW5jbHVk
ZSAiVGltZXIuaCIKKyNpbmNsdWRlICJNZWRpYUNvbnRyb2xDbGllbnQuaCIKICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSFRNTEVsZW1lbnQ7
CiBjbGFzcyBIVE1MSW5wdXRFbGVtZW50OwogY2xhc3MgSFRNTE1lZGlhRWxlbWVudDsKIGNsYXNz
IEV2ZW50OwpAQCAtNjgsMTAgKzY2LDExIEBAIGNsYXNzIE1lZGlhUGxheWVyOwogY2xhc3MgUmVu
ZGVyQm94OwogY2xhc3MgUmVuZGVyTWVkaWE7CiAKLWNsYXNzIE1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50IDogcHVibGljIEhUTUxEaXZFbGVtZW50IHsKK2NsYXNzIE1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50IDogcHVibGljIE1lZGlhQ29udHJvbENsaWVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8TWVkaWFDb250cm9sUm9vdEVsZW1lbnQ+IGNyZWF0ZShIVE1MTWVkaWFFbGVtZW50
Kik7CiAKKyAgICAvLyBNZWRpYUNvbnRyb2xDbGllbnQgaW1wbGVtZW50YXRpb24uCiAgICAgdm9p
ZCBzaG93KCk7CiAgICAgdm9pZCBoaWRlKCk7CiAgICAgdm9pZCBtYWtlT3BhcXVlKCk7CkBAIC0x
MjgsMTIgKzEyNyw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX29wYXF1ZTsKIH07CiAKLWlubGlu
ZSBNZWRpYUNvbnRyb2xSb290RWxlbWVudCogdG9NZWRpYUNvbnRyb2xzKE5vZGUqIG5vZGUpCi17
Ci0gICAgQVNTRVJUKG5vZGUtPmlzSFRNTEVsZW1lbnQoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19j
YXN0PE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Kj4obm9kZSk7Ci19Ci0KIH0KIAogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89917</attachid>
            <date>2011-04-15 22:58:08 -0700</date>
            <delta_ts>2011-04-18 11:19:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58346-20110415225807.patch</filename>
            <type>text/plain</type>
            <size>21995</size>
            <attacher name="Steve Lacey">sjl</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQwNzkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5OTk1Y2NhYTYyMmY4NTIy
ZDQ3YjYxZjJkZThjMmM1MzUzYzAzZmFmLi44MzcxZmYxNzE4NTAwYmQyNjM1MDdlZjJkMzA0MjY1
Zjk2ZTVhMjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTEtMDQtMTUgIFN0ZXZl
IExhY2V5ICA8c2psQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBEZWNvdXBsZSBtZWRpYSBjb250cm9scyB1c2FnZSBmcm9tIGlt
cGxlbWVudGF0aW9uLgorICAgICAgICBUaGlzIGFsbG93cyBlYWNoIHBvcnQgdG8gaW1wbGVtZW50
IHRoaWVyIG93biBjb250cm9scyBpbiBhIGRpZmZlcmVudAorICAgICAgICBtYW5uZXIgdG8gdGhl
IGRlZmF1bHQgd2Via2l0IGltcGxlbWVudGF0aW9uLgorCisgICAgICAgIENvbnZlcnQgbWVkaWEg
Y29udHJvbHMgaG9va3MgdG8gYSBjbGllbnQgaW50ZXJmYWNlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODM0NgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cyBhcyB0aGVyZSBpcyBubyBmdW5jdGlvbmFsIGNoYW5nZS4KKworICAgICAgICAqIEdOVW1ha2Vm
aWxlLmxpc3QuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFDb250cm9scyk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjplbnN1cmVNZWRpYUNvbnRyb2xzKToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnByZURpc3BhdGNoRXZlbnRIYW5kbGVyKToKKyAg
ICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9N
ZWRpYUNvbnRyb2xCYXNlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
QmFzZTo6fk1lZGlhQ29udHJvbEJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
QmFzZTo6TWVkaWFDb250cm9sQmFzZSk6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUGFuZWxNdXRl
QnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50OjpjcmVhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50OjpNZWRpYUNv
bnRyb2xUaW1lbGluZUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVGlt
ZWxpbmVFbGVtZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sRnVs
bHNjcmVlbkJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50
OjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmg6
CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnQ6Ok1lZGlhQ29udHJvbFJvb3RF
bGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbEJhc2U6OmNyZWF0ZSk6Cisg
ICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuaDoKKwogMjAxMS0w
NC0xNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYzAxYjBj
Mzk1NmQ1MTgwMzY4OWY2YjQxNzJlYjIxOTM5MTY3MWIyNC4uZjgxMTE0NzkwZDIxOGMzYjRkMzli
MTFhYTdhZjc0MTAxMjAzZTRiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0x
ODQ1LDYgKzE4NDUsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL1hTU0ZpbHRlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EZXRh
aWxzTWFya2VyQ29udHJvbC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RldGFp
bHNNYXJrZXJDb250cm9sLmggXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29u
dHJvbEJhc2UuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxl
bWVudHMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVt
ZW50cy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxl
bWVudC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDY3YmRlNzkxYTQ3MjdlNjBmY2NmYTA3OTA2
NjU5ZTcxNWFmYzA4ODAuLjExMGRhNjQ0MWI4MDJlZThiOWIyMGEwYzUxNThmNDA0YWYzN2QzNjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTMxNzAsNiArMzE3MCw3IEBACiAgICAgICAgICAgICAnaHRt
bC9wYXJzZXIvWFNTRmlsdGVyLmgnLAogICAgICAgICAgICAgJ2h0bWwvc2hhZG93L0RldGFpbHNN
YXJrZXJDb250cm9sLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9zaGFkb3cvRGV0YWlsc01hcmtl
ckNvbnRyb2wuaCcsCisgICAgICAgICAgICAnaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sQmFzZS5o
JywKICAgICAgICAgICAgICdodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAnLAog
ICAgICAgICAgICAgJ2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgnLAogICAgICAg
ICAgICAgJ2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmNwcCcsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDUwZTQ4NjNkYTNh
MmU5MGJiZGZiYTg1N2RiZDZlN2UwMDc4ZDQ1N2UuLjZkZTcxYTAwMmM5OWI1YTVjOWY0MWE0MjU4
YmUwNDA2NGI5NGUzOWQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCkBAIC01NjcwOSw2ICs1NjcwOSwxMCBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgog
CQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxzaGFkb3dcTWVkaWFDb250cm9s
QmFzZS5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0
aD0iLi5caHRtbFxzaGFkb3dcTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIgogCQkJCQk+CiAJCQkJ
PC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDU3ODdjZWFmYTAyYjUwYWI1ZTdmMDhhZjA5YTE1MzNmZDdjN2Q1ZDMuLjI2
YzAwODFmMTM0NTRjZDFkZTAxZWRiZTRhM2JmMDQyZTBmNzI3MzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTY0Myw2ICs2NDMs
NyBAQAogCQkxQ0Y2QkUxNDBFOUJCNDY3MDAyNUUxQ0QgLyogT2JqQ05vZGVGaWx0ZXJDb25kaXRp
b24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0Y2
QkUxMjBFOUJCNDY3MDAyNUUxQ0QgLyogT2JqQ05vZGVGaWx0ZXJDb25kaXRpb24ubW0gKi87IH07
CiAJCTFDRjZCRTE1MEU5QkI0NjcwMDI1RTFDRCAvKiBPYmpDTm9kZUZpbHRlckNvbmRpdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNGNkJFMTMw
RTlCQjQ2NzAwMjVFMUNEIC8qIE9iakNOb2RlRmlsdGVyQ29uZGl0aW9uLmggKi87IH07CiAJCTFD
RkFFMzIzMEE2RDZBM0YwMDMyNTkzRCAvKiBsaWJvYmpjLmR5bGliIGluIEZyYW1ld29ya3MgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNGQUUzMjIwQTZENkEzRjAwMzI1OTNE
IC8qIGxpYm9iamMuZHlsaWIgKi87IH07CisJCTFGMEQ2RTBFMTM1OTBERTcwMDIzNjU5MiAvKiBN
ZWRpYUNvbnRyb2xCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxRjBENkUwRDEzNTkwREU3MDAyMzY1OTIgLyogTWVkaWFDb250cm9sQmFzZS5oICov
OyB9OwogCQkyMEQ2MjkyNjEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIw
RDYyOTI0MTI1MzY5MEIwMDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwICov
OyB9OwogCQkyMEQ2MjkyNzEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyMEQ2
MjkyNTEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggKi87IH07
CiAJCTIyNzc3NzYwMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIyNzc3NzVG
MTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNzA5Myw2ICs3MDk0LDcg
QEAKIAkJMUNGNkJFMTIwRTlCQjQ2NzAwMjVFMUNEIC8qIE9iakNOb2RlRmlsdGVyQ29uZGl0aW9u
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gT2JqQ05vZGVGaWx0
ZXJDb25kaXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDRjZCRTEzMEU5
QkI0NjcwMDI1RTFDRCAvKiBPYmpDTm9kZUZpbHRlckNvbmRpdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBPYmpDTm9kZUZpbHRlckNvbmRpdGlvbi5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxQ0ZBRTMyMjBBNkQ2QTNGMDAzMjU5M0QgLyogbGlib2JqYy5k
eWxpYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9ICJj
b21waWxlZC5tYWNoLW8uZHlsaWIiOyBuYW1lID0gbGlib2JqYy5keWxpYjsgcGF0aCA9IC91c3Iv
bGliL2xpYm9iamMuZHlsaWI7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CisJCTFGMEQ2
RTBEMTM1OTBERTcwMDIzNjU5MiAvKiBNZWRpYUNvbnRyb2xCYXNlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhQ29udHJvbEJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMjBENjI5MjQxMjUzNjkwQjAwMDgxNTQzIC8qIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyMEQ2
MjkyNTEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyMjc3Nzc1RjEzNDVERUE5MDA4RUE0NTUgLyog
SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTM1MTUsNiArMTM1MTcsNyBAQAogCQk0MTUwRjlFRDEyQjZFMDk5MDAwOEM4NjAgLyog
c2hhZG93ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkx
RjBENkUwRDEzNTkwREU3MDAyMzY1OTIgLyogTWVkaWFDb250cm9sQmFzZS5oICovLAogCQkJCUE3
QzlBQkY2MTM1N0EzQkYwMEY1NTAzRiAvKiBEZXRhaWxzTWFya2VyQ29udHJvbC5jcHAgKi8sCiAJ
CQkJQTdDOUFCRjcxMzU3QTNCRjAwRjU1MDNGIC8qIERldGFpbHNNYXJrZXJDb250cm9sLmggKi8s
CiAJCQkJNDE3MjUzQTgxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmNw
cCAqLywKQEAgLTIyOTU5LDYgKzIyOTYyLDcgQEAKIAkJCQk5M0YxOTlFRDA4MjQ1RTU5MDAxRTlB
QkMgLyogWFNMVFByb2Nlc3Nvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFCRTUxMkUwQ0Y2QzUx
MjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3RTJF
MEYxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0ZpbHRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUYw
RDZFMEUxMzU5MERFNzAwMjM2NTkyIC8qIE1lZGlhQ29udHJvbEJhc2UuaCBpbiBIZWFkZXJzICov
LAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggYjRhYzE0ZTI3
OTRjNzFhMjhiZDY4YjBjZjg2ODUzMTEyZDMzZTkwZS4uNmMzMGU3ZDkxMTZkYTZkNmUzYTRmMGE1
NWIwMGNhOTc5NDRlMDhmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwCkBAIC00OSw3ICs0OSw3IEBACiAjaW5jbHVkZSAiSFRNTFNvdXJjZUVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MVmlkZW9FbGVtZW50LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgotI2luY2x1
ZGUgIk1lZGlhQ29udHJvbFJvb3RFbGVtZW50LmgiCisjaW5jbHVkZSAiTWVkaWFDb250cm9sQmFz
ZS5oIgogI2luY2x1ZGUgIk1lZGlhRG9jdW1lbnQuaCIKICNpbmNsdWRlICJNZWRpYUVycm9yLmgi
CiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCkBAIC0yNjUzLDkgKzI2NTMsMTQgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50Ojpwcml2YXRlQnJvd3NpbmdTdGF0ZURpZENoYW5nZSgpCiAgICAgbV9wbGF5
ZXItPnNldFByaXZhdGVCcm93c2luZ01vZGUocHJpdmF0ZU1vZGUpOwogfQogCi1NZWRpYUNvbnRy
b2xSb290RWxlbWVudCogSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFDb250cm9scygpCitNZWRpYUNv
bnRyb2xCYXNlKiBIVE1MTWVkaWFFbGVtZW50OjptZWRpYUNvbnRyb2xzKCkKIHsKLSAgICByZXR1
cm4gc2hhZG93Um9vdCgpID8gdG9NZWRpYUNvbnRyb2xzKHNoYWRvd1Jvb3QoKS0+Zmlyc3RDaGls
ZCgpKSA6IDA7CisgICAgaWYgKCFzaGFkb3dSb290KCkpCisgICAgICAgIHJldHVybiAwOworCisg
ICAgTm9kZSogbm9kZSA9IHNoYWRvd1Jvb3QoKS0+Zmlyc3RDaGlsZCgpOworICAgIEFTU0VSVChu
b2RlLT5pc0hUTUxFbGVtZW50KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxNZWRpYUNvbnRy
b2xCYXNlKj4obm9kZSk7CiB9CiAKIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6aGFzTWVkaWFDb250
cm9scygpCkBAIC0yNjY5LDEwICsyNjc0LDEwIEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZW5z
dXJlTWVkaWFDb250cm9scygpCiAgICAgICAgIHJldHVybjsKIAogICAgIEV4Y2VwdGlvbkNvZGUg
ZWM7Ci0gICAgZW5zdXJlU2hhZG93Um9vdCgpLT5hcHBlbmRDaGlsZChNZWRpYUNvbnRyb2xSb290
RWxlbWVudDo6Y3JlYXRlKHRoaXMpLCBlYyk7CisgICAgZW5zdXJlU2hhZG93Um9vdCgpLT5hcHBl
bmRDaGlsZChNZWRpYUNvbnRyb2xCYXNlOjpjcmVhdGUodGhpcyksIGVjKTsKIH0KIAotdm9pZCog
SFRNTE1lZGlhRWxlbWVudDo6cHJlRGlzcGF0Y2hFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KSAK
K3ZvaWQqIEhUTUxNZWRpYUVsZW1lbnQ6OnByZURpc3BhdGNoRXZlbnRIYW5kbGVyKEV2ZW50KiBl
dmVudCkKIHsKICAgICBpZiAoZXZlbnQgJiYgZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCku
d2Via2l0ZnVsbHNjcmVlbmNoYW5nZUV2ZW50KSB7CiAgICAgICAgIGlmIChjb250cm9scygpKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDI5M2Y3MTM4Yzg5OTNk
N2M4ZTYxMzU5YjYzYTYxNTFmOTFhNzNlMmEuLjQ3ODZiNzYyNGQ2NmY5OTc0ZDFmZDY1ZTMxYzdi
Y2RiNWIzMzY4ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC00
MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRXZlbnQ7CiBjbGFzcyBI
VE1MU291cmNlRWxlbWVudDsKLWNsYXNzIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50OworY2xhc3Mg
TWVkaWFDb250cm9sQmFzZTsKIGNsYXNzIE1lZGlhRXJyb3I7CiBjbGFzcyBLVVJMOwogY2xhc3Mg
VGltZVJhbmdlczsKQEAgLTE3Miw3ICsxNzIsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBjbG9zZWRD
YXB0aW9uc1Zpc2libGUoKSBjb25zdDsKICAgICB2b2lkIHNldENsb3NlZENhcHRpb25zVmlzaWJs
ZShib29sKTsKIAotICAgIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50KiBtZWRpYUNvbnRyb2xzKCk7
CisgICAgTWVkaWFDb250cm9sQmFzZSogbWVkaWFDb250cm9scygpOwogCiAgICAgYm9vbCBwcm9j
ZXNzaW5nVXNlckdlc3R1cmUoKSBjb25zdDsKIApAQCAtMzM1LDcgKzMzNSw3IEBAIHByaXZhdGU6
CiAgICAgVGltZXI8SFRNTE1lZGlhRWxlbWVudD4gbV9wbGF5YmFja1Byb2dyZXNzVGltZXI7CiAg
ICAgVmVjdG9yPFJlZlB0cjxFdmVudD4gPiBtX3BlbmRpbmdFdmVudHM7CiAgICAgUmVmUHRyPFRp
bWVSYW5nZXM+IG1fcGxheWVkVGltZVJhbmdlczsKLSAgICAKKwogICAgIGZsb2F0IG1fcGxheWJh
Y2tSYXRlOwogICAgIGZsb2F0IG1fZGVmYXVsdFBsYXliYWNrUmF0ZTsKICAgICBib29sIG1fd2Vi
a2l0UHJlc2VydmVzUGl0Y2g7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9NZWRpYUNvbnRyb2xCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xCYXNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzk1ZjM4NGY3NjU0MWJkZGM0MTUyNDg1N2RlYTVhM2M2
ODgzYzgyMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01l
ZGlhQ29udHJvbEJhc2UuaApAQCAtMCwwICsxLDgyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTWVkaWFD
b250cm9sQmFzZV9oCisjZGVmaW5lIE1lZGlhQ29udHJvbEJhc2VfaAorCisjaWYgRU5BQkxFKFZJ
REVPKQorCisjaW5jbHVkZSA8SFRNTERpdkVsZW1lbnQuaD4KKyNpbmNsdWRlIDxIVE1MTWVkaWFF
bGVtZW50Lmg+CisjaW5jbHVkZSA8SFRNTE5hbWVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgTWVkaWFDb250cm9sQmFzZSA6IHB1YmxpYyBIVE1MRGl2RWxlbWVudCB7CisgIHB1
YmxpYzoKKyAgICB2aXJ0dWFsIH5NZWRpYUNvbnRyb2xCYXNlKCkge30KKworICAgIC8vIFRoaXMg
ZnVuY3Rpb24gaXMgdG8gYmUgaW1wbGVtZW50ZWQgaW4geW91ciBwbGF0Zm9ybS1zcGVjaWZpYyBt
ZWRpYQorICAgIC8vIGNvbnRyb2xzIGltcGxlbWVudGF0aW9uLgorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPE1lZGlhQ29udHJvbEJhc2U+IGNyZWF0ZShIVE1MTWVkaWFFbGVtZW50Kik7CisKKyAgICB2
aXJ0dWFsIHZvaWQgc2hvdygpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgaGlkZSgpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgbWFrZU9wYXF1ZSgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgbWFrZVRy
YW5zcGFyZW50KCkgPSAwOworCisgICAgdmlydHVhbCB2b2lkIHJlc2V0KCkgPSAwOworCisgICAg
dmlydHVhbCB2b2lkIHBsYXliYWNrUHJvZ3Jlc3NlZCgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
cGxheWJhY2tTdGFydGVkKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBwbGF5YmFja1N0b3BwZWQo
KSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgY2hhbmdlZE11dGUoKSA9IDA7CisgICAgdmlydHVh
bCB2b2lkIGNoYW5nZWRWb2x1bWUoKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgZW50ZXJlZEZ1
bGxzY3JlZW4oKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGV4aXRlZEZ1bGxzY3JlZW4oKSA9IDA7
CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0ZWRFcnJvcigpID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgY2hhbmdlZE5ldHdvcmtTdGF0ZSgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgbG9hZGVkTWV0
YWRhdGEoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGNoYW5nZWRDbG9zZWRDYXB0aW9uc1Zpc2li
aWxpdHkoKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgc2hvd1ZvbHVtZVNsaWRlcigpID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVGltZURpc3BsYXkoKSA9IDA7CisKK3Byb3RlY3RlZDoK
KyAgICBNZWRpYUNvbnRyb2xCYXNlKEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKKyAg
ICAgICAgOiBIVE1MRGl2RWxlbWVudChIVE1MTmFtZXM6OmRpdlRhZywgbWVkaWFFbGVtZW50LT5k
b2N1bWVudCgpKSB7IH0KKworcHJpdmF0ZToKKyAgICBNZWRpYUNvbnRyb2xCYXNlKCk7Cit9Owor
Cit9CisKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKaW5kZXggNTIyMDljZDdiZjAxNjNhZjI5NjY5ZmVm
ZWMxM2FlZGE5Y2JiMGZhNi4uNjNlMGYzNjU3YWFlODAwYTQ4NDMwMTFlZjYxMWRhOGIyMWVlNDQ3
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxl
bWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVs
ZW1lbnRzLmNwcApAQCAtMzgsNyArMzgsNyBAQAogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgotI2luY2x1ZGUg
Ik1lZGlhQ29udHJvbFJvb3RFbGVtZW50LmgiCisjaW5jbHVkZSAiTWVkaWFDb250cm9sQmFzZS5o
IgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAi
UmVuZGVyRmxleGlibGVCb3guaCIKQEAgLTM0NiwxMyArMzQ2LDEzIEBAIHZvaWQgTWVkaWFDb250
cm9sTXV0ZUJ1dHRvbkVsZW1lbnQ6OnVwZGF0ZURpc3BsYXlUeXBlKCkKIAogLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQogCi1pbmxpbmUgTWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9u
RWxlbWVudDo6TWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVudChIVE1MTWVkaWFFbGVt
ZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50KiBjb250cm9scykKK2lu
bGluZSBNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xQYW5l
bE11dGVCdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVkaWFD
b250cm9sQmFzZSogY29udHJvbHMpCiAgICAgOiBNZWRpYUNvbnRyb2xNdXRlQnV0dG9uRWxlbWVu
dChtZWRpYUVsZW1lbnQsIE1lZGlhTXV0ZUJ1dHRvbikKICAgICAsIG1fY29udHJvbHMoY29udHJv
bHMpCiB7CiB9CiAKLVBhc3NSZWZQdHI8TWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVu
dD4gTWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVudDo6Y3JlYXRlKEhUTUxNZWRpYUVs
ZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQqIGNvbnRyb2xzKQor
UGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50PiBNZWRpYUNvbnRy
b2xQYW5lbE11dGVCdXR0b25FbGVtZW50OjpjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFF
bGVtZW50LCBNZWRpYUNvbnRyb2xCYXNlKiBjb250cm9scykKIHsKICAgICBBU1NFUlQoY29udHJv
bHMpOwogCkBAIC02MjYsMTMgKzYyNiwxMyBAQCBjb25zdCBBdG9taWNTdHJpbmcmIE1lZGlhQ29u
dHJvbFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudDo6c2hhZG93UHNldWRvSQogCiAv
LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLU1lZGlhQ29udHJvbFRpbWVsaW5lRWxl
bWVudDo6TWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlh
RWxlbWVudCwgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQqIGNvbnRyb2xzKQorTWVkaWFDb250cm9s
VGltZWxpbmVFbGVtZW50OjpNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQoSFRNTE1lZGlhRWxl
bWVudCogbWVkaWFFbGVtZW50LCBNZWRpYUNvbnRyb2xCYXNlKiBjb250cm9scykKICAgICA6IE1l
ZGlhQ29udHJvbElucHV0RWxlbWVudChtZWRpYUVsZW1lbnQsIE1lZGlhU2xpZGVyKQogICAgICwg
bV9jb250cm9scyhjb250cm9scykKIHsKIH0KIAotUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xUaW1l
bGluZUVsZW1lbnQ+IE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6Y3JlYXRlKEhUTUxNZWRp
YUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQqIGNvbnRyb2xz
KQorUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ+IE1lZGlhQ29udHJvbFRp
bWVsaW5lRWxlbWVudDo6Y3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVk
aWFDb250cm9sQmFzZSogY29udHJvbHMpCiB7CiAgICAgQVNTRVJUKGNvbnRyb2xzKTsKIApAQCAt
NzY3LDEzICs3NjcsMTMgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBNZWRpYUNvbnRyb2xGdWxsc2Ny
ZWVuVm9sdW1lU2xpZGVyRWxlbWVudDo6c2hhZG93UHNldWRvSWQoKQogCiAvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiAKLWlubGluZSBNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9u
RWxlbWVudDo6TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxl
bWVudCogbWVkaWFFbGVtZW50LCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCogY29udHJvbHMpCitp
bmxpbmUgTWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbEZ1
bGxzY3JlZW5CdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVk
aWFDb250cm9sQmFzZSogY29udHJvbHMpCiAgICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQo
bWVkaWFFbGVtZW50LCBNZWRpYUZ1bGxzY3JlZW5CdXR0b24pCiAgICAgLCBtX2NvbnRyb2xzKGNv
bnRyb2xzKQogewogfQogCi1QYXNzUmVmUHRyPE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25F
bGVtZW50PiBNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudDo6Y3JlYXRlKEhUTUxN
ZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQqIGNvbnRy
b2xzKQorUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudD4gTWVk
aWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShIVE1MTWVkaWFFbGVtZW50
KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbEJhc2UqIGNvbnRyb2xzKQogewogICAgIEFTU0VS
VChjb250cm9scyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01l
ZGlhQ29udHJvbEVsZW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xFbGVtZW50cy5oCmluZGV4IDk0ZDRiYzYxMjZmZjcwYzg2MDQ4MjZhYmVjYmIxNmM2ZDNh
ZGQxMTcuLjk3N2MxZjFlMjhhNGY0Y2Y2N2I0YTQ4MjUyYTQ2N2YzMWM3Y2Q2Y2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaApAQCAt
NDIsNyArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEV2ZW50OwogY2xhc3Mg
RnJhbWU7Ci1jbGFzcyBNZWRpYUNvbnRyb2xSb290RWxlbWVudDsKK2NsYXNzIE1lZGlhQ29udHJv
bEJhc2U7CiAKIC8vIE11c3QgbWF0Y2ggV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmgKIGVudW0gTWVk
aWFDb250cm9sRWxlbWVudFR5cGUgewpAQCAtMTkzLDE1ICsxOTMsMTUgQEAgcHJpdmF0ZToKIAog
Y2xhc3MgTWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVudCA6IHB1YmxpYyBNZWRpYUNv
bnRyb2xNdXRlQnV0dG9uRWxlbWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8
TWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVudD4gY3JlYXRlKEhUTUxNZWRpYUVsZW1l
bnQqLCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCopOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1l
ZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQ+IGNyZWF0ZShIVE1MTWVkaWFFbGVtZW50
KiwgTWVkaWFDb250cm9sQmFzZSopOwogCiBwcml2YXRlOgotICAgIE1lZGlhQ29udHJvbFBhbmVs
TXV0ZUJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50Kik7CisgICAgTWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVudChIVE1MTWVkaWFF
bGVtZW50KiwgTWVkaWFDb250cm9sQmFzZSopOwogCiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRF
dmVudEhhbmRsZXIoRXZlbnQqKTsKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgc2hh
ZG93UHNldWRvSWQoKSBjb25zdDsKIAotICAgIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50KiBtX2Nv
bnRyb2xzOworICAgIE1lZGlhQ29udHJvbEJhc2UqIG1fY29udHJvbHM7CiB9OwogCiAvLyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0zMjUsMTggKzMyNSwxOCBAQCBwcml2YXRlOgog
CiBjbGFzcyBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQgOiBwdWJsaWMgTWVkaWFDb250cm9s
SW5wdXRFbGVtZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNvbnRy
b2xUaW1lbGluZUVsZW1lbnQ+IGNyZWF0ZShIVE1MTWVkaWFFbGVtZW50KiwgTWVkaWFDb250cm9s
Um9vdEVsZW1lbnQqKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xUaW1lbGlu
ZUVsZW1lbnQ+IGNyZWF0ZShIVE1MTWVkaWFFbGVtZW50KiwgTWVkaWFDb250cm9sQmFzZSopOwog
CiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsKICAgICB2b2lk
IHNldFBvc2l0aW9uKGZsb2F0KTsKICAgICB2b2lkIHNldER1cmF0aW9uKGZsb2F0KTsKIAogcHJp
dmF0ZToKLSAgICBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCos
IE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Kik7CisgICAgTWVkaWFDb250cm9sVGltZWxpbmVFbGVt
ZW50KEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xCYXNlKik7CiAKICAgICB2aXJ0dWFs
IGNvbnN0IEF0b21pY1N0cmluZyYgc2hhZG93UHNldWRvSWQoKSBjb25zdDsKIAotICAgIE1lZGlh
Q29udHJvbFJvb3RFbGVtZW50KiBtX2NvbnRyb2xzOworICAgIE1lZGlhQ29udHJvbEJhc2UqIG1f
Y29udHJvbHM7CiB9OwogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0zNTks
MTYgKzM1OSwxNiBAQCBwcml2YXRlOgogCiBjbGFzcyBNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0
dG9uRWxlbWVudCA6IHB1YmxpYyBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQgewogcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50
PiBjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Kik7Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ+
IGNyZWF0ZShIVE1MTWVkaWFFbGVtZW50KiwgTWVkaWFDb250cm9sQmFzZSopOwogCiAgICAgdmly
dHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsKIAogcHJpdmF0ZToKLSAgICBN
ZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiwgTWVk
aWFDb250cm9sUm9vdEVsZW1lbnQqKTsKKyAgICBNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9u
RWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiwgTWVkaWFDb250cm9sQmFzZSopOwogCiAgICAgdmly
dHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7CiAKLSAgICBN
ZWRpYUNvbnRyb2xSb290RWxlbWVudCogbV9jb250cm9sczsKKyAgICBNZWRpYUNvbnRyb2xCYXNl
KiBtX2NvbnRyb2xzOwogfTsKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1l
bnQuY3BwCmluZGV4IDE0N2YwYjZmN2I5YTA2M2U3ZDhhZWFkNGU0MjYwNDZmNjEzMWVkN2MuLmI3
ODZmY2FkMDJhZjMwYTI1MGUzYTgwMzkwM2E1MWRhNGM1MDg5NTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudC5jcHAKQEAg
LTI5LDI2ICsyOSwxNiBAQAogI2lmIEVOQUJMRShWSURFTykKICNpbmNsdWRlICJNZWRpYUNvbnRy
b2xSb290RWxlbWVudC5oIgogCi0jaW5jbHVkZSAiRXZlbnROYW1lcy5oIgotI2luY2x1ZGUgIkZs
b2F0Q29udmVyc2lvbi5oIgotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIk1lZGlh
Q29udHJvbEVsZW1lbnRzLmgiCi0jaW5jbHVkZSAiTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIlBh
Z2UuaCIKLSNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgi
Ci0jaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+Ci0jaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMu
aD4KLQogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXVz
aW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7Ci0KIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50OjpNZWRp
YUNvbnRyb2xSb290RWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCi0gICAg
OiBIVE1MRGl2RWxlbWVudChkaXZUYWcsIG1lZGlhRWxlbWVudC0+ZG9jdW1lbnQoKSkKKyAgICA6
IE1lZGlhQ29udHJvbEJhc2UobWVkaWFFbGVtZW50KQogICAgICwgbV9tZWRpYUVsZW1lbnQobWVk
aWFFbGVtZW50KQogICAgICwgbV9yZXdpbmRCdXR0b24oMCkKICAgICAsIG1fcGxheUJ1dHRvbigw
KQpAQCAtNzQsNiArNjQsMTEgQEAgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQ6Ok1lZGlhQ29udHJv
bFJvb3RFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKIHsKIH0KIAorUGFz
c1JlZlB0cjxNZWRpYUNvbnRyb2xCYXNlPiBNZWRpYUNvbnRyb2xCYXNlOjpjcmVhdGUoSFRNTE1l
ZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KQoreworICAgIHJldHVybiBNZWRpYUNvbnRyb2xSb290
RWxlbWVudDo6Y3JlYXRlKG1lZGlhRWxlbWVudCk7Cit9CisKIFBhc3NSZWZQdHI8TWVkaWFDb250
cm9sUm9vdEVsZW1lbnQ+IE1lZGlhQ29udHJvbFJvb3RFbGVtZW50OjpjcmVhdGUoSFRNTE1lZGlh
RWxlbWVudCogbWVkaWFFbGVtZW50KQogewogICAgIGlmICghbWVkaWFFbGVtZW50LT5kb2N1bWVu
dCgpLT5wYWdlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRp
YUNvbnRyb2xSb290RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sUm9vdEVsZW1lbnQuaAppbmRleCAwYTg1NTgyMjEwNWI1ODU2NDZiNjFhMDM1YzcxY2Zl
YmI1MzdhOWNmLi45ZmNkMjI1Y2VjYTNmODczOTg2MjExOGRjMzMyZmVmYzlhZmYxNmM4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVt
ZW50LmgKQEAgLTI0LDE4ICsyNCwxNiBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVm
IE1lZGlhQ29udHJvbHNfaAotI2RlZmluZSBNZWRpYUNvbnRyb2xzX2gKKyNpZm5kZWYgTWVkaWFD
b250cm9sUm9vdEVsZW1lbnRfaAorI2RlZmluZSBNZWRpYUNvbnRyb2xSb290RWxlbWVudF9oCiAK
ICNpZiBFTkFCTEUoVklERU8pCiAKLSNpbmNsdWRlICJIVE1MRGl2RWxlbWVudC5oIgotI2luY2x1
ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSAiTWVkaWFDb250cm9sQmFzZS5oIgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBIVE1MRWxlbWVudDsK
IGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7CiBjbGFzcyBIVE1MTWVkaWFFbGVtZW50OwogY2xhc3Mg
RXZlbnQ7CkBAIC02OCwxMCArNjYsMTEgQEAgY2xhc3MgTWVkaWFQbGF5ZXI7CiBjbGFzcyBSZW5k
ZXJCb3g7CiBjbGFzcyBSZW5kZXJNZWRpYTsKIAotY2xhc3MgTWVkaWFDb250cm9sUm9vdEVsZW1l
bnQgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQgeworY2xhc3MgTWVkaWFDb250cm9sUm9vdEVsZW1l
bnQgOiBwdWJsaWMgTWVkaWFDb250cm9sQmFzZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8TWVkaWFDb250cm9sUm9vdEVsZW1lbnQ+IGNyZWF0ZShIVE1MTWVkaWFFbGVtZW50Kik7
CiAKKyAgICAvLyBNZWRpYUNvbnRyb2xCYXNlIGltcGxlbWVudGF0aW9uLgogICAgIHZvaWQgc2hv
dygpOwogICAgIHZvaWQgaGlkZSgpOwogICAgIHZvaWQgbWFrZU9wYXF1ZSgpOwpAQCAtMTI4LDEy
ICsxMjcsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9vcGFxdWU7CiB9OwogCi1pbmxpbmUgTWVk
aWFDb250cm9sUm9vdEVsZW1lbnQqIHRvTWVkaWFDb250cm9scyhOb2RlKiBub2RlKQotewotICAg
IEFTU0VSVChub2RlLT5pc0hUTUxFbGVtZW50KCkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxN
ZWRpYUNvbnRyb2xSb290RWxlbWVudCo+KG5vZGUpOwotfQotCiB9CiAKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90059</attachid>
            <date>2011-04-18 11:19:08 -0700</date>
            <delta_ts>2011-04-18 12:26:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58346-20110418111907.patch</filename>
            <type>text/plain</type>
            <size>51561</size>
            <attacher name="Steve Lacey">sjl</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQxNTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Fu
ZHJvaWQubWsgYi9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLm1rCmluZGV4IDg4YjlkYjExNDFlYjQw
YjY2MjAwY2ZhYjdjNGExOTBkYTdiY2IzZTEuLjViZTEyYTkwZDY0OWQwODE3OGRjZmQ4NjM3MjA3
N2UwODExMTQxOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQubWsKKysrIGIv
U291cmNlL1dlYkNvcmUvQW5kcm9pZC5tawpAQCAtMzU1LDYgKzM1NSw3IEBAIExPQ0FMX1NSQ19G
SUxFUyA6PSAkKExPQ0FMX1NSQ19GSUxFUykgXAogCWh0bWwvcGFyc2VyL1RleHRWaWV3U291cmNl
UGFyc2VyLmNwcCBcCiAJaHRtbC9wYXJzZXIvWFNTRmlsdGVyLmNwcCBcCiAJXAorCWh0bWwvc2hh
ZG93L01lZGlhQ29udHJvbHMuY3BwIFwKIAlodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5jcHAgXAogCWh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmNwcCBcCiAJaHRt
bC9zaGFkb3cvTWV0ZXJTaGFkb3dFbGVtZW50LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IGU0ZGY2MjVlMmEyNzRkOTNkMTNlNDIxZmM3OTdhNDMzNmE1NmFiMGMuLjg3NjVjM2I3NzljNGNk
NGMwMmNkMGZmNmE1ZjYzMjVlODA3MmUzNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC04ODUs
NiArODg1LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGh0bWwvcGFyc2VyL1hTU0ZpbHRl
ci5jcHAKIAogICAgIGh0bWwvc2hhZG93L0RldGFpbHNNYXJrZXJDb250cm9sLmNwcAorICAgIGh0
bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwCiAgICAgaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
Um9vdEVsZW1lbnQuY3BwCiAgICAgaHRtbC9zaGFkb3cvTWV0ZXJTaGFkb3dFbGVtZW50LmNwcAog
ICAgIGh0bWwvc2hhZG93L1Byb2dyZXNzU2hhZG93RWxlbWVudC5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBk
YThmZDIyMWMxZmQxZjM2NWQ2YTFlYzc2ZWI4NzRiM2Q1YzhjMjdlLi4yMDBmNjhlYzExZDAxZjNl
YjgyOWI1MDgxNmM3OGQ0NGEwY2NkY2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIw
MTEtMDQtMTggIFN0ZXZlIExhY2V5ICA8c2psQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWNvdXBsZSBtZWRpYSBjb250cm9s
cyB1c2FnZSBmcm9tIGltcGxlbWVudGF0aW9uLgorICAgICAgICBUaGlzIGFsbG93cyBlYWNoIHBv
cnQgdG8gaW1wbGVtZW50IHRoaWVyIG93biBjb250cm9scyBpbiBhIGRpZmZlcmVudAorICAgICAg
ICBtYW5uZXIgdG8gdGhlIGRlZmF1bHQgd2Via2l0IGltcGxlbWVudGF0aW9uLgorCisgICAgICAg
IENvbnZlcnQgbWVkaWEgY29udHJvbHMgaG9va3MgdG8gYSBjbGllbnQgaW50ZXJmYWNlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODM0NgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cyBhcyB0aGVyZSBpcyBubyBmdW5jdGlvbmFsIGNoYW5nZS4KKworICAg
ICAgICAqIEFuZHJvaWQubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
R05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICog
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYUNvbnRyb2xzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmVuc3VyZU1lZGlhQ29udHJvbHMpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cHJlRGlzcGF0Y2hFdmVudEhhbmRs
ZXIpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwv
c2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRv
bkVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9u
RWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFRpbWVsaW5l
RWxlbWVudDo6TWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xGdWxsc2Ny
ZWVuQnV0dG9uRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xGdWxsc2Ny
ZWVuQnV0dG9uRWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xFbGVtZW50cy5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50OjpN
ZWRpYUNvbnRyb2xSb290RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xz
OjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50
Lmg6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sczo6TWVkaWFDb250cm9scyk6CisgICAgICAgICog
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhQ29udHJvbHM6On5NZWRpYUNvbnRyb2xzKToKKwogMjAxMS0wNC0xNSAgTU9SSVRBIEhhamlt
ZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRo
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYzQxM2RlZTcxNTYxMmE3MDY5MzY2
MjBiODkxM2ZhNjQ2YjMyY2Y1Yy4uZDYyMTY5ZmI2ZmZhYjRjNDJhMTQ3OTViZTYyZWQ5MTA1ZGM1
N2ZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xODQ1LDYgKzE4NDUsOCBA
QCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0Zp
bHRlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EZXRhaWxzTWFya2VyQ29udHJv
bC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RldGFpbHNNYXJrZXJDb250cm9s
LmggXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwIFwKKwlT
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmggXAogCVNvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaCBcCiAJU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCBhOGQ3YjJkM2YyNjliMTg4Y2EyNzU5MWRkY2M2NDlmYzk0Nzk2OGMyLi4wZjNiNzk2OTI0
NDQwMmQ0Y2Y1MTFiMjgwYTk5OGY5MDAzOTQxN2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zMTc2
LDYgKzMxNzYsOCBAQAogICAgICAgICAgICAgJ2h0bWwvcGFyc2VyL1hTU0ZpbHRlci5oJywKICAg
ICAgICAgICAgICdodG1sL3NoYWRvdy9EZXRhaWxzTWFya2VyQ29udHJvbC5jcHAnLAogICAgICAg
ICAgICAgJ2h0bWwvc2hhZG93L0RldGFpbHNNYXJrZXJDb250cm9sLmgnLAorICAgICAgICAgICAg
J2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwJywKKyAgICAgICAgICAgICdodG1sL3NoYWRv
dy9NZWRpYUNvbnRyb2xzLmgnLAogICAgICAgICAgICAgJ2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bEVsZW1lbnRzLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxl
bWVudHMuaCcsCiAgICAgICAgICAgICAnaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1l
bnQuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
aW5kZXggZGI2ZjllYjBkMzg3NzdiNmRlYTQxMGY1NmE4YTYxZWIyMjlkNmVmYS4uMjhmMzQ5MGM0
ZWM5M2VmMzE1OTY4ZWNjODc4NjA1OWI4MzUzNDk1ZiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTU2NzA5LDYgKzU2NzA5LDE0IEBACiAJCQkJ
CT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXHNo
YWRvd1xNZWRpYUNvbnRyb2xzLmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQor
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcc2hhZG93XE1lZGlhQ29udHJvbHMuaCIKKwkJCQkJ
PgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcc2hh
ZG93XE1lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0
NTg2ZGE3YWRlOGRiMTM0ODMyN2MxMDFiZTlmNTY3ZTkxMmRlMGZiLi4wOWY0YmFhZDRhNjY1ZWRh
MGJiNmJmNWEzNTQyNWE5ZDViMTA3N2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02NDMsNiArNjQzLDcgQEAKIAkJMUNGNkJF
MTQwRTlCQjQ2NzAwMjVFMUNEIC8qIE9iakNOb2RlRmlsdGVyQ29uZGl0aW9uLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNGNkJFMTIwRTlCQjQ2NzAw
MjVFMUNEIC8qIE9iakNOb2RlRmlsdGVyQ29uZGl0aW9uLm1tICovOyB9OwogCQkxQ0Y2QkUxNTBF
OUJCNDY3MDAyNUUxQ0QgLyogT2JqQ05vZGVGaWx0ZXJDb25kaXRpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRjZCRTEzMEU5QkI0NjcwMDI1RTFD
RCAvKiBPYmpDTm9kZUZpbHRlckNvbmRpdGlvbi5oICovOyB9OwogCQkxQ0ZBRTMyMzBBNkQ2QTNG
MDAzMjU5M0QgLyogbGlib2JqYy5keWxpYiBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFDRkFFMzIyMEE2RDZBM0YwMDMyNTkzRCAvKiBsaWJvYmpjLmR5
bGliICovOyB9OworCQkxRjBENkUwRTEzNTkwREU3MDAyMzY1OTIgLyogTWVkaWFDb250cm9sQ2xp
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjBE
NkUwRDEzNTkwREU3MDAyMzY1OTIgLyogTWVkaWFDb250cm9sQ2xpZW50LmggKi87IH07CiAJCTIw
RDYyOTI2MTI1MzY5MEIwMDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjBENjI5MjQxMjUz
NjkwQjAwMDgxNTQzIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgKi87IH07CiAJCTIw
RDYyOTI3MTI1MzY5MEIwMDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIwRDYyOTI1MTI1MzY5
MEIwMDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCAqLzsgfTsKIAkJMjI3Nzc3
NjAxMzQ1REVBOTAwOEVBNDU1IC8qIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjI3Nzc3NUYxMzQ1REVBOTAw
OEVBNDU1IC8qIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yNjYzLDEyICsyNjY0LDYgQEAKIAkJODky
Q0YxOTQxMzRDNjIwRDAwQUFFREExIC8qIFN0b3JhZ2VJbmZvVXNhZ2VDYWxsYmFjay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkyQ0YxOEYxMzRDNjIw
RDAwQUFFREExIC8qIFN0b3JhZ2VJbmZvVXNhZ2VDYWxsYmFjay5oICovOyB9OwogCQk4OTJDRjFF
QzEzNEM2NTU1MDBBQUVEQTEgLyogU3RvcmFnZUluZm8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkyQ0YxRUExMzRDNjU1NTAwQUFFREExIC8qIFN0
b3JhZ2VJbmZvLmNwcCAqLzsgfTsKIAkJODkyQ0YxRUQxMzRDNjU1NTAwQUFFREExIC8qIFN0b3Jh
Z2VJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
OTJDRjFFQjEzNEM2NTU1MDBBQUVEQTEgLyogU3RvcmFnZUluZm8uaCAqLzsgfTsKLQkJODkyQ0Yy
MEIxMzRDOEJCMzAwQUFFREExIC8qIEpTU3RvcmFnZUluZm8uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODkyQ0YyMDMxMzRDOEJCMzAwQUFFREExIC8q
IEpTU3RvcmFnZUluZm8uY3BwICovOyB9OwotCQk4OTJDRjIwQzEzNEM4QkIzMDBBQUVEQTEgLyog
SlNTdG9yYWdlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODkyQ0YyMDQxMzRDOEJCMzAwQUFFREExIC8qIEpTU3RvcmFnZUluZm8uaCAqLzsgfTsK
LQkJODkyQ0YyMEQxMzRDOEJCMzAwQUFFREExIC8qIEpTU3RvcmFnZUluZm9FcnJvckNhbGxiYWNr
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5MkNG
MjA1MTM0QzhCQjMwMEFBRURBMSAvKiBKU1N0b3JhZ2VJbmZvRXJyb3JDYWxsYmFjay5jcHAgKi87
IH07Ci0JCTg5MkNGMjBFMTM0QzhCQjMwMEFBRURBMSAvKiBKU1N0b3JhZ2VJbmZvRXJyb3JDYWxs
YmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODky
Q0YyMDYxMzRDOEJCMzAwQUFFREExIC8qIEpTU3RvcmFnZUluZm9FcnJvckNhbGxiYWNrLmggKi87
IH07Ci0JCTg5MkNGMjExMTM0QzhCQjMwMEFBRURBMSAvKiBKU1N0b3JhZ2VJbmZvVXNhZ2VDYWxs
YmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
OTJDRjIwOTEzNEM4QkIzMDBBQUVEQTEgLyogSlNTdG9yYWdlSW5mb1VzYWdlQ2FsbGJhY2suY3Bw
ICovOyB9OwotCQk4OTJDRjIxMjEzNEM4QkIzMDBBQUVEQTEgLyogSlNTdG9yYWdlSW5mb1VzYWdl
Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg5MkNGMjBBMTM0QzhCQjMwMEFBRURBMSAvKiBKU1N0b3JhZ2VJbmZvVXNhZ2VDYWxsYmFjay5o
ICovOyB9OwogCQk4OTNDNDdBNzEyMzg5MDhCMDAyQjNEODYgLyogRmlsZUNhbGxiYWNrLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdBNTEyMzg5
MDhCMDAyQjNEODYgLyogRmlsZUNhbGxiYWNrLmggKi87IH07CiAJCTg5M0M0N0E4MTIzODkwOEIw
MDJCM0Q4NiAvKiBGaWxlV3JpdGVyQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0N0E2MTIzODkwOEIwMDJCM0Q4NiAvKiBGaWxlV3Jp
dGVyQ2FsbGJhY2suaCAqLzsgfTsKIAkJODkzQzQ3QjcxMjM4QTA5OTAwMkIzRDg2IC8qIEpTRmls
ZUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg5M0M0N0I1MTIzOEEwOTkwMDJCM0Q4NiAvKiBKU0ZpbGVDYWxsYmFjay5jcHAgKi87IH07
CkBAIC0yNzkwLDEyICsyNzg1LDYgQEAKIAkJOEFGNEU1NUMxMURDNUE2MzAwMEVEM0RFIC8qIFBl
cmZvcm1hbmNlVGltaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4QUY0RTU1OTExREM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuaCAq
LzsgfTsKIAkJOEM2RUE2MTkxMUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEM2
RUE2MTcxMUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwICovOyB9
OwogCQk4QzZFQTYxQTExRUY3RTA0MDBGRDhFRTMgLyogUnVudGltZUVuYWJsZWRGZWF0dXJlcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEM2RUE2MTgx
MUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCAqLzsgfTsKLQkJOENB
REYyQTkxMzVDN0IzNjAwOUVGNDNGIC8qIExldmVsREJDb21wYXJhdG9yLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4Q0FERjJBMzEzNUM3QjM2MDA5RUY0
M0YgLyogTGV2ZWxEQkNvbXBhcmF0b3IuaCAqLzsgfTsKLQkJOENBREYyQUExMzVDN0IzNjAwOUVG
NDNGIC8qIExldmVsREJEYXRhYmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4Q0FERjJBNDEzNUM3QjM2MDA5RUY0M0YgLyogTGV2ZWxEQkRhdGFi
YXNlLmNwcCAqLzsgfTsKLQkJOENBREYyQUIxMzVDN0IzNjAwOUVGNDNGIC8qIExldmVsREJEYXRh
YmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOENB
REYyQTUxMzVDN0IzNjAwOUVGNDNGIC8qIExldmVsREJEYXRhYmFzZS5oICovOyB9OwotCQk4Q0FE
RjJBQzEzNUM3QjM2MDA5RUY0M0YgLyogTGV2ZWxEQkl0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhDQURGMkE2MTM1QzdCMzYwMDlFRjQz
RiAvKiBMZXZlbERCSXRlcmF0b3IuY3BwICovOyB9OwotCQk4Q0FERjJBRDEzNUM3QjM2MDA5RUY0
M0YgLyogTGV2ZWxEQkl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4Q0FERjJBNzEzNUM3QjM2MDA5RUY0M0YgLyogTGV2ZWxEQkl0ZXJhdG9y
LmggKi87IH07Ci0JCThDQURGMkFFMTM1QzdCMzYwMDlFRjQzRiAvKiBMZXZlbERCU2xpY2UuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhDQURGMkE4MTM1
QzdCMzYwMDlFRjQzRiAvKiBMZXZlbERCU2xpY2UuaCAqLzsgfTsKIAkJOEY2NzU2MUIxMjg4QjE3
QjAwNDdBQ0EzIC8qIEV2ZW50UXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDhGNjc1NjE5MTI4OEIxN0IwMDQ3QUNBMyAvKiBFdmVudFF1ZXVlLmgg
Ki87IH07CiAJCThGNjc1NjFDMTI4OEIxN0IwMDQ3QUNBMyAvKiBFdmVudFF1ZXVlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhGNjc1NjFBMTI4OEIx
N0IwMDQ3QUNBMyAvKiBFdmVudFF1ZXVlLmNwcCAqLzsgfTsKIAkJOEZBQzc3NEQxMTk4NzJDQjAw
MTVBRTk0IC8qIEpTTWFpblRocmVhZEV4ZWNTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4RjkzNEQ4NDExODlGMUVFMDA1MDhENUQgLyogSlNN
YWluVGhyZWFkRXhlY1N0YXRlLmNwcCAqLzsgfTsKQEAgLTU3MDYsOCArNTY5NSw2IEBACiAJCUYz
NDc0MkU5MTM0MzYzNTAwMDUzMUJDMiAvKiBXb3JrZXJTY3JpcHREZWJ1Z1NlcnZlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM0NzQyRTcxMzQzNjM1
MDAwNTMxQkMyIC8qIFdvcmtlclNjcmlwdERlYnVnU2VydmVyLmggKi87IH07CiAJCUYzNjQ0QUZG
MTExOTgwNTkwMEUwRDUzNyAvKiBJbmplY3RlZFNjcmlwdC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzY0NEFGRDExMTk4MDU5MDBFMEQ1MzcgLyog
SW5qZWN0ZWRTY3JpcHQuY3BwICovOyB9OwogCQlGMzY0NEIwMDExMTk4MDU5MDBFMEQ1MzcgLyog
SW5qZWN0ZWRTY3JpcHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEYzNjQ0QUZFMTExOTgwNTkwMEUwRDUzNyAvKiBJbmplY3RlZFNjcmlwdC5oICovOyB9
OwotCQlGMzZFMDdBNDEzNThBOEJFMDBBQUNCQzkgLyogV29ya2VySW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzZF
MDdBMjEzNThBOEJFMDBBQUNCQzkgLyogV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAgKi87
IH07Ci0JCUYzNkUwN0E1MTM1OEE4QkUwMEFBQ0JDOSAvKiBXb3JrZXJJbnNwZWN0b3JDb250cm9s
bGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzZF
MDdBMzEzNThBOEJFMDBBQUNCQzkgLyogV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oICovOyB9
OwogCQlGMzc1Q0MwNzExNTBEMzAwMDA4RERCODEgLyogSW5zcGVjdG9yV29ya2VyUmVzb3VyY2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzNzVDQzA2
MTE1MEQzMDAwMDhEREI4MSAvKiBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZS5oICovOyB9OwogCQlG
MzkyMjQ5QzEyNkYxMUFFMDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzkyMjQ5QTEyNkYx
MUFFMDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgKi87IH07CiAJCUYzOTIy
NDlEMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzkyMjQ5QjEyNkYxMUFFMDBB
OTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oICovOyB9OwpAQCAtNzEwMSw2ICs3MDg4
LDcgQEAKIAkJMUNGNkJFMTIwRTlCQjQ2NzAwMjVFMUNEIC8qIE9iakNOb2RlRmlsdGVyQ29uZGl0
aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gT2JqQ05vZGVG
aWx0ZXJDb25kaXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDRjZCRTEz
MEU5QkI0NjcwMDI1RTFDRCAvKiBPYmpDTm9kZUZpbHRlckNvbmRpdGlvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBPYmpDTm9kZUZpbHRlckNvbmRpdGlvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0ZBRTMyMjBBNkQ2QTNGMDAzMjU5M0QgLyogbGlib2Jq
Yy5keWxpYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBuYW1lID0gbGlib2JqYy5keWxpYjsgcGF0aCA9IC91
c3IvbGliL2xpYm9iamMuZHlsaWI7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CisJCTFG
MEQ2RTBEMTM1OTBERTcwMDIzNjU5MiAvKiBNZWRpYUNvbnRyb2xDbGllbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFDb250cm9sQ2xpZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTIwRDYyOTI0MTI1MzY5MEIwMDA4MTU0MyAvKiBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMjBENjI5MjUxMjUzNjkwQjAwMDgxNTQzIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjI3Nzc3NUYxMzQ1REVBOTAwOEVB
NDU1IC8qIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTkyMjUsMTIgKzkyMTMsNiBAQAogCQk4OTJDRjE4RjEzNEM2MjBEMDBBQUVE
QTEgLyogU3RvcmFnZUluZm9Vc2FnZUNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFN0b3JhZ2VJbmZvVXNhZ2VDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4OTJDRjFFQTEzNEM2NTU1MDBBQUVEQTEgLyogU3RvcmFnZUluZm8uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RvcmFnZUluZm8uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTJDRjFFQjEzNEM2NTU1MDBBQUVEQTEgLyogU3Rv
cmFnZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RvcmFnZUluZm8u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJODkyQ0YyMDMxMzRDOEJCMzAwQUFFREEx
IC8qIEpTU3RvcmFnZUluZm8uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNTdG9yYWdlSW5mby5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTg5MkNG
MjA0MTM0QzhCQjMwMEFBRURBMSAvKiBKU1N0b3JhZ2VJbmZvLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTU3RvcmFnZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJODkyQ0YyMDUxMzRDOEJCMzAwQUFFREExIC8qIEpTU3RvcmFnZUluZm9FcnJvckNhbGxi
YWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3RvcmFnZUlu
Zm9FcnJvckNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJODkyQ0Yy
MDYxMzRDOEJCMzAwQUFFREExIC8qIEpTU3RvcmFnZUluZm9FcnJvckNhbGxiYWNrLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU3RvcmFnZUluZm9FcnJvckNhbGxiYWNrLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTg5MkNGMjA5MTM0QzhCQjMwMEFBRURBMSAv
KiBKU1N0b3JhZ2VJbmZvVXNhZ2VDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU1N0b3JhZ2VJbmZvVXNhZ2VDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTg5MkNGMjBBMTM0QzhCQjMwMEFBRURBMSAvKiBKU1N0b3JhZ2VJ
bmZvVXNhZ2VDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1N0
b3JhZ2VJbmZvVXNhZ2VDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
OTNDNDdBNTEyMzg5MDhCMDAyQjNEODYgLyogRmlsZUNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IEZpbGVDYWxsYmFjay5oOyBwYXRoID0gZmlsZWFwaS9GaWxlQ2Fs
bGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODkzQzQ3QTYxMjM4OTA4QjAw
MkIzRDg2IC8qIEZpbGVXcml0ZXJDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBGaWxlV3JpdGVyQ2FsbGJhY2suaDsgcGF0aCA9IGZpbGVhcGkvRmlsZVdyaXRlckNh
bGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5M0M0N0I1MTIzOEEwOTkw
MDJCM0Q4NiAvKiBKU0ZpbGVDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU0ZpbGVDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC05MzU1LDEyICs5MzM3LDYgQEAKIAkJOEFGNEU1NUExMURDNUE2MzAwMEVEM0RFIC8qIFBl
cmZvcm1hbmNlVGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJmb3JtYW5jZVRp
bWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThDNkVBNjE3MTFFRjdFMDQw
MEZEOEVFMyAvKiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwOyBwYXRoID0gZ2Vu
ZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOEM2RUE2MTgxMUVGN0UwNDAwRkQ4RUUzIC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oOyBwYXRoID0gZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCThDQURGMkEzMTM1QzdCMzYwMDlFRjQzRiAvKiBMZXZlbERCQ29t
cGFyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMZXZlbERCQ29tcGFy
YXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4Q0FERjJBNDEzNUM3QjM2MDA5
RUY0M0YgLyogTGV2ZWxEQkRhdGFiYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IExldmVsREJEYXRhYmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCThDQURGMkE1MTM1QzdCMzYwMDlFRjQzRiAvKiBMZXZlbERCRGF0YWJhc2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGV2ZWxEQkRhdGFiYXNlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCThDQURGMkE2MTM1QzdCMzYwMDlFRjQzRiAvKiBMZXZlbERCSXRl
cmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGV2ZWxEQkl0
ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOENBREYyQTcxMzVDN0Iz
NjAwOUVGNDNGIC8qIExldmVsREJJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBMZXZlbERCSXRlcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
OENBREYyQTgxMzVDN0IzNjAwOUVGNDNGIC8qIExldmVsREJTbGljZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBMZXZlbERCU2xpY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOEY2NzU2MTkxMjg4QjE3QjAwNDdBQ0EzIC8qIEV2ZW50UXVldWUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRRdWV1ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4RjY3NTYxQTEyODhCMTdCMDA0N0FDQTMgLyogRXZlbnRRdWV1ZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFdmVudFF1ZXVlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEY5MzREODMxMTg5RjFFRTAwNTA4RDVEIC8qIEpT
TWFpblRocmVhZEV4ZWNTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U01haW5UaHJlYWRFeGVjU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEy
MjUwLDggKzEyMjI2LDYgQEAKIAkJRjM0NzQyRTcxMzQzNjM1MDAwNTMxQkMyIC8qIFdvcmtlclNj
cmlwdERlYnVnU2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtl
clNjcmlwdERlYnVnU2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzNjQ0
QUZEMTExOTgwNTkwMEUwRDUzNyAvKiBJbmplY3RlZFNjcmlwdC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmplY3RlZFNjcmlwdC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUYzNjQ0QUZFMTExOTgwNTkwMEUwRDUzNyAvKiBJbmplY3RlZFNjcmlw
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZFNjcmlwdC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGMzZFMDdBMjEzNThBOEJFMDBBQUNCQzkgLyog
V29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJRjM2RTA3QTMxMzU4QThCRTAwQUFDQkM5IC8qIFdvcmtlckluc3BlY3Rv
ckNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV29ya2VySW5z
cGVjdG9yQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGMzc1Q0Mw
NjExNTBEMzAwMDA4RERCODEgLyogSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjM5MjI0OUExMjZGMTFBRTAwQTkyNkQ5IC8qIFNjcmlw
dENhbGxTdGFja0ZhY3RvcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUYzOTIyNDlCMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdENhbGxTdGFja0ZhY3Rvcnku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzUwLDggKzEzMzI0LDYgQEAKIAkJ
CQk3NTUzQ0ZFNjEwOEY0NzNGMDBFQTI4MUUgLyogVGltZWxpbmVSZWNvcmRGYWN0b3J5LmggKi8s
CiAJCQkJRjM0NzQyREUxMzQzNjMxRjAwNTMxQkMyIC8qIFdvcmtlckRlYnVnZ2VyQWdlbnQuY3Bw
ICovLAogCQkJCUYzNDc0MkRGMTM0MzYzMUYwMDUzMUJDMiAvKiBXb3JrZXJEZWJ1Z2dlckFnZW50
LmggKi8sCi0JCQkJRjM2RTA3QTIxMzU4QThCRTAwQUFDQkM5IC8qIFdvcmtlckluc3BlY3RvckNv
bnRyb2xsZXIuY3BwICovLAotCQkJCUYzNkUwN0EzMTM1OEE4QkUwMEFBQ0JDOSAvKiBXb3JrZXJJ
bnNwZWN0b3JDb250cm9sbGVyLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IGluc3BlY3RvcjsKIAkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0xMzUzMyw2ICsxMzUwNSw3IEBACiAJCTQxNTBG
OUVEMTJCNkUwOTkwMDA4Qzg2MCAvKiBzaGFkb3cgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKAorCQkJCTFGMEQ2RTBEMTM1OTBERTcwMDIzNjU5MiAvKiBNZWRpYUNv
bnRyb2xDbGllbnQuaCAqLywKIAkJCQlBN0M5QUJGNjEzNTdBM0JGMDBGNTUwM0YgLyogRGV0YWls
c01hcmtlckNvbnRyb2wuY3BwICovLAogCQkJCUE3QzlBQkY3MTM1N0EzQkYwMEY1NTAzRiAvKiBE
ZXRhaWxzTWFya2VyQ29udHJvbC5oICovLAogCQkJCTQxNzI1M0E4MTM1NEJCQkMwMDM2MEYyQSAv
KiBNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgKi8sCkBAIC0xNTU2Myw2ICsxNTUzNiw4IEBACiAJ
CQljaGlsZHJlbiA9ICgKIAkJCQkyRTJEOTlDQjEwRTJCQkRBMDA0OTYzMzcgLyogSlNCbG9iLmNw
cCAqLywKIAkJCQkyRTJEOTlDQzEwRTJCQkRBMDA0OTYzMzcgLyogSlNCbG9iLmggKi8sCisJCQkJ
ODlDRDAyOTExMUM4NUI4NzAwNzBCNzkxIC8qIEpTV2ViS2l0QmxvYkJ1aWxkZXIuY3BwICovLAor
CQkJCTg5Q0QwMjkyMTFDODVCODcwMDcwQjc5MSAvKiBKU1dlYktpdEJsb2JCdWlsZGVyLmggKi8s
CiAJCQkJODk4Nzg1ODYxMjJDQTI2QTAwM0FBQkRBIC8qIEpTRGlyZWN0b3J5RW50cnkuY3BwICov
LAogCQkJCTg5ODc4NTg3MTIyQ0EyNkEwMDNBQUJEQSAvKiBKU0RpcmVjdG9yeUVudHJ5LmggKi8s
CiAJCQkJODkzQzQ4MjYxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlTeW5jLmNw
cCAqLywKQEAgLTE1NjE5LDI1ICsxNTU5NCwxMCBAQAogCQkJCTg5ODc4NUExMTIyQ0EyQTcwMDNB
QUJEQSAvKiBKU01ldGFkYXRhLmggKi8sCiAJCQkJODk4Nzg1QTIxMjJDQTJBNzAwM0FBQkRBIC8q
IEpTTWV0YWRhdGFDYWxsYmFjay5jcHAgKi8sCiAJCQkJODk4Nzg1QTMxMjJDQTJBNzAwM0FBQkRB
IC8qIEpTTWV0YWRhdGFDYWxsYmFjay5oICovLAotCQkJCTg5Q0QwMjkxMTFDODVCODcwMDcwQjc5
MSAvKiBKU1dlYktpdEJsb2JCdWlsZGVyLmNwcCAqLywKLQkJCQk4OUNEMDI5MjExQzg1Qjg3MDA3
MEI3OTEgLyogSlNXZWJLaXRCbG9iQnVpbGRlci5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBGaWxl
QVBJOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKLQkJOENBREYyQTIxMzVDN0Iz
NjAwOUVGNDNGIC8qIGxldmVsZGIgKi8gPSB7Ci0JCQlpc2EgPSBQQlhHcm91cDsKLQkJCWNoaWxk
cmVuID0gKAotCQkJCThDQURGMkEzMTM1QzdCMzYwMDlFRjQzRiAvKiBMZXZlbERCQ29tcGFyYXRv
ci5oICovLAotCQkJCThDQURGMkE0MTM1QzdCMzYwMDlFRjQzRiAvKiBMZXZlbERCRGF0YWJhc2Uu
Y3BwICovLAotCQkJCThDQURGMkE1MTM1QzdCMzYwMDlFRjQzRiAvKiBMZXZlbERCRGF0YWJhc2Uu
aCAqLywKLQkJCQk4Q0FERjJBNjEzNUM3QjM2MDA5RUY0M0YgLyogTGV2ZWxEQkl0ZXJhdG9yLmNw
cCAqLywKLQkJCQk4Q0FERjJBNzEzNUM3QjM2MDA5RUY0M0YgLyogTGV2ZWxEQkl0ZXJhdG9yLmgg
Ki8sCi0JCQkJOENBREYyQTgxMzVDN0IzNjAwOUVGNDNGIC8qIExldmVsREJTbGljZS5oICovLAot
CQkJKTsKLQkJCXBhdGggPSBsZXZlbGRiOwotCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKLQkJ
fTsKIAkJOTMzMDlEODYwOTlFNjQ5MTAwNTZFNTgxIC8qIGVkaXRpbmcgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtMTYyMDMsNiArMTYxNjMsOCBAQAogCQkJ
CTk3NkQ2Qzc0MTIyQjhBM0QwMDFGRDFGNyAvKiBBc3luY0ZpbGVXcml0ZXJDbGllbnQuaCAqLywK
IAkJCQk5NzZENkM1OTEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYi5jcHAgKi8sCiAJCQkJOTc2RDZD
NUExMjJCOEEzRDAwMUZEMUY3IC8qIEJsb2IuaCAqLywKKwkJCQk5NzZENkM1QzEyMkI4QTNEMDAx
RkQxRjcgLyogV2ViS2l0QmxvYkJ1aWxkZXIuY3BwICovLAorCQkJCTk3NkQ2QzVEMTIyQjhBM0Qw
MDFGRDFGNyAvKiBXZWJLaXRCbG9iQnVpbGRlci5oICovLAogCQkJCTk3NkQ2QzVGMTIyQjhBM0Qw
MDFGRDFGNyAvKiBCbG9iVVJMLmNwcCAqLywKIAkJCQk5NzZENkM2MDEyMkI4QTNEMDAxRkQxRjcg
LyogQmxvYlVSTC5oICovLAogCQkJCTg5ODc4NTM5MTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJlY3Rv
cnlFbnRyeS5jcHAgKi8sCkBAIC0xNjI3Nyw4ICsxNjIzOSw2IEBACiAJCQkJODk4Nzg1NTExMjJD
QTA2NDAwM0FBQkRBIC8qIE1ldGFkYXRhQ2FsbGJhY2suaCAqLywKIAkJCQk5NzZENkM3NTEyMkI4
QTNEMDAxRkQxRjcgLyogVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHAgKi8sCiAJCQkJOTc2RDZD
NzYxMjJCOEEzRDAwMUZEMUY3IC8qIFRocmVhZGFibGVCbG9iUmVnaXN0cnkuaCAqLywKLQkJCQk5
NzZENkM1QzEyMkI4QTNEMDAxRkQxRjcgLyogV2ViS2l0QmxvYkJ1aWxkZXIuY3BwICovLAotCQkJ
CTk3NkQ2QzVEMTIyQjhBM0QwMDFGRDFGNyAvKiBXZWJLaXRCbG9iQnVpbGRlci5oICovLAogCQkJ
KTsKIAkJCW5hbWUgPSBmaWxlYXBpOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE3
MTgxLDEyICsxNzE0MSw2IEBACiAJCQkJNTFFM0Y5RDUwREEwNUUxRDAwMjUwOTExIC8qIEpTU3Rv
cmFnZS5oICovLAogCQkJCTUxRTBCQUU4MERBNTVENEEwMEE5RTQxNyAvKiBKU1N0b3JhZ2VFdmVu
dC5jcHAgKi8sCiAJCQkJNTFFMEJBRTkwREE1NUQ0QTAwQTlFNDE3IC8qIEpTU3RvcmFnZUV2ZW50
LmggKi8sCi0JCQkJODkyQ0YyMDMxMzRDOEJCMzAwQUFFREExIC8qIEpTU3RvcmFnZUluZm8uY3Bw
ICovLAotCQkJCTg5MkNGMjA0MTM0QzhCQjMwMEFBRURBMSAvKiBKU1N0b3JhZ2VJbmZvLmggKi8s
Ci0JCQkJODkyQ0YyMDUxMzRDOEJCMzAwQUFFREExIC8qIEpTU3RvcmFnZUluZm9FcnJvckNhbGxi
YWNrLmNwcCAqLywKLQkJCQk4OTJDRjIwNjEzNEM4QkIzMDBBQUVEQTEgLyogSlNTdG9yYWdlSW5m
b0Vycm9yQ2FsbGJhY2suaCAqLywKLQkJCQk4OTJDRjIwOTEzNEM4QkIzMDBBQUVEQTEgLyogSlNT
dG9yYWdlSW5mb1VzYWdlQ2FsbGJhY2suY3BwICovLAotCQkJCTg5MkNGMjBBMTM0QzhCQjMwMEFB
RURBMSAvKiBKU1N0b3JhZ2VJbmZvVXNhZ2VDYWxsYmFjay5oICovLAogCQkJKTsKIAkJCW5hbWUg
PSBTdG9yYWdlOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE4NjUyLDcgKzE4NjA2
LDYgQEAKIAkJCQlBNUM5NzRDRTExNDg1RkRBMDA2NkYyQUIgLyogY29jb2EgKi8sCiAJCQkJQjJB
MDE1OTEwQUY2Q0Q1MzAwNkJDRTBFIC8qIGdyYXBoaWNzICovLAogCQkJCUE1OUUzQzFCMTE1ODBG
MzQwMDcyOTI4RSAvKiBpcGhvbmUgKi8sCi0JCQkJOENBREYyQTIxMzVDN0IzNjAwOUVGNDNGIC8q
IGxldmVsZGIgKi8sCiAJCQkJNjU4MkExNDgwOTk5OUQ2QzAwQkVFQjZEIC8qIG1hYyAqLywKIAkJ
CQk1OUM3N0YxMDEwNTQ1OTFDMDA1MDYxMDQgLyogbW9jayAqLywKIAkJCQk2NTZCODRENzBBRUEx
Q0U5MDBBMDk1QjQgLyogbmV0d29yayAqLywKQEAgLTE4NzMwLDcgKzE4NjgzLDYgQEAKIAkJCQlF
NEQ2ODc3ODBFRDdBRTRGMDA2RUE5NzggLyogUHVyZ2VhYmxlQnVmZmVyLmggKi8sCiAJCQkJN0Uz
M0NEMDAxMjdGMzQwRDAwQkU4RjE3IC8qIFB1cmdlUHJpb3JpdHkuaCAqLywKIAkJCQkxQzYzQTI0
NjBGNzE2NDY2MDBDMDlENUEgLyogUnVuTG9vcFRpbWVyLmggKi8sCi0JCQkJMjkzRUFFMjAxMzU2
QjMyRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5jcHAgKi8sCiAJCQkJMjkz
RUFFMUUxMzU2QjJGRTAwNjdBQ0Y5IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oICovLAog
CQkJCTUxNjJDN0YyMTFGNzdFRkEwMDYxMkVGRSAvKiBTY2hlbWVSZWdpc3RyeS5jcHAgKi8sCiAJ
CQkJNTE2MkM3RjMxMUY3N0VGQjAwNjEyRUZFIC8qIFNjaGVtZVJlZ2lzdHJ5LmggKi8sCkBAIC0x
ODc3NCw2ICsxODcyNiw3IEBACiAJCQkJOTM4MEY0NzEwOUExMUFCNDAwMUZEQjM0IC8qIFdpZGdl
dC5jcHAgKi8sCiAJCQkJOTM4MEY0NzIwOUExMUFCNDAwMUZEQjM0IC8qIFdpZGdldC5oICovLAog
CQkJCUUxRTFCRUZGMTE1RkY2RkIwMDZGNTJDQSAvKiBXaW5kb3dzS2V5Ym9hcmRDb2Rlcy5oICov
LAorCQkJCTI5M0VBRTIwMTM1NkIzMkUwMDY3QUNGOSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVj
a3MuY3BwICovLAogCQkJKTsKIAkJCXBhdGggPSBwbGF0Zm9ybTsKIAkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CkBAIC0xOTg4Niw2ICsxOTgzOSw3IEBACiAJCQlpc2EgPSBQQlhIZWFkZXJzQnVp
bGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgK
KwkJCQkyOTNFQUUxRjEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCNUI1REM2QTExOUJCM0Q1MDAyQTg3OTAgLyogQWJzdHJh
Y3REYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFFMUIxRDEwRkY1OTg2OTAwNTc2QjNC
IC8qIEFic3RyYWN0V29ya2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOUE4MTIyRTBGQkI5QzFE
MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yMDAwNyw2ICsxOTk2MSw3IEBACiAJCQkJRkQzMTYwMjcxMkIwMjY3NjAwQzFBMzU5IC8qIEJp
cXVhZFByb2Nlc3Nvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg5OTQzMjgwQjQyMzM4ODAwRDdD
ODAyIC8qIEJpdG1hcEltYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzZENkM3OTEyMkI4QTNE
MDAxRkQxRjcgLyogQmxvYi5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTc2RDZDN0MxMjJCOEEzRDAw
MUZEMUY3IC8qIFdlYktpdEJsb2JCdWlsZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRURFRjFG
NDEyMUIwRUZDMDA3MjZEQjIgLyogQmxvYkRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFREVG
MUY1MTIxQjBFRkMwMDcyNkRCMiAvKiBCbG9iUmVnaXN0cnkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTJFREVGMUY3MTIxQjBFRkMwMDcyNkRCMiAvKiBCbG9iUmVnaXN0cnlJbXBsLmggaW4gSGVhZGVy
cyAqLywKQEAgLTIxMzU5LDggKzIxMzE0LDYgQEAKIAkJCQk4QUI0QkM3NzEyNkZEQjcxMDBERUI3
MjcgLyogSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUIyNzUzNTcwMEIwNTM4MTQwMDJDRTY0RiAvKiBJbWFnZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQjJBMTBCOTIwQjM4MThCRDAwMDk5QUE0IC8qIEltYWdlQnVmZmVyLmggaW4gSGVh
ZGVycyAqLywKLQkJCQkyMkJEOUY3RjEzNTM2MjVDMDA5QkQxMDIgLyogSW1hZ2VCdWZmZXJEYXRh
LmggaW4gSGVhZGVycyAqLywKLQkJCQkyMkJEOUY4MTEzNTM2NEZFMDA5QkQxMDIgLyogSW1hZ2VC
dWZmZXJEYXRhQ0cuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3Nzk3OTFBMEQ2QjlEMEMwMDM4NTFC
OSAvKiBJbWFnZURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3MjA1QUI2MTIzOTI5MTAwMEIx
NzM4MCAvKiBJbWFnZURvY3VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGNTVCM0RDMjEyNTFG
MTJEMDAzRUYyNjkgLyogSW1hZ2VJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjE0NzAs
NiArMjE0MjMsNyBAQAogCQkJCUJDOTQ2MzQ4MTA3QTkzNjYwMDg1NzE5MyAvKiBKU0JlZm9yZUxv
YWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE3MjFGRDMxMUQyN0VGMjAwNjM4QjQyIC8q
IEpTQmVmb3JlUHJvY2Vzc0V2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTJEOTlDRTEwRTJC
QkRBMDA0OTYzMzcgLyogSlNCbG9iLmggaW4gSGVhZGVycyAqLywKKwkJCQk4OUNEMDI5NDExQzg1
Qjg3MDA3MEI3OTEgLyogSlNXZWJLaXRCbG9iQnVpbGRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MTQ0OUUyNEMxMDdENEE4NDAwQjU3OTNGIC8qIEpTQ2FsbGJhY2tEYXRhLmggaW4gSGVhZGVycyAq
LywKIAkJCQk2NURGMzIzQTA5RDFERTY1MDAwQkUzMjUgLyogSlNDYW52YXNHcmFkaWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNjVERjMyM0MwOUQxREU2NTAwMEJFMzI1IC8qIEpTQ2FudmFzUGF0
dGVybi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMTc1NSw5ICsyMTcwOSw2IEBACiAJCQkJQjU4Q0VC
NkQxMTkxMzYxQzAwMkE2NzkwIC8qIEpTU1FMVHJhbnNhY3Rpb25TeW5jLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCNTVENUFBNDExOTEzMUZDMDBCQ0MzMTUgLyogSlNTUUxUcmFuc2FjdGlvblN5bmND
YWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFFMEJBRUIwREE1NUQ0QTAwQTlFNDE3IC8q
IEpTU3RvcmFnZUV2ZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQk4OTJDRjIwQzEzNEM4QkIzMDBB
QUVEQTEgLyogSlNTdG9yYWdlSW5mby5oIGluIEhlYWRlcnMgKi8sCi0JCQkJODkyQ0YyMEUxMzRD
OEJCMzAwQUFFREExIC8qIEpTU3RvcmFnZUluZm9FcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAq
LywKLQkJCQk4OTJDRjIxMjEzNEM4QkIzMDBBQUVEQTEgLyogSlNTdG9yYWdlSW5mb1VzYWdlQ2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRjUwMjZBMTAyQkE5NDMwMDY2RjM5QSAvKiBK
U1N0eWxlTWVkaWEuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRTAxMzlCMEMwQkVGMTgwMDQzODYw
QSAvKiBKU1N0eWxlU2hlZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NEVCRDgzMENCOEM5Nzcw
MDA3OTYwOSAvKiBKU1N0eWxlU2hlZXRMaXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTIxOTIxLDcg
KzIxODcyLDYgQEAKIAkJCQkzMTk0NjE2MzEzMDIwQjIwMDA0QkIzRjggLyogSlNXZWJLaXRBbmlt
YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTMxQzBGRjNFMEU0Q0VGQUMwMDdENkZFNSAvKiBK
U1dlYktpdEFuaW1hdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTk0NjFGRjEzMDIy
QkI4MDA0QkIzRjggLyogSlNXZWJLaXRBbmltYXRpb25MaXN0LmggaW4gSGVhZGVycyAqLywKLQkJ
CQk4OUNEMDI5NDExQzg1Qjg3MDA3MEI3OTEgLyogSlNXZWJLaXRCbG9iQnVpbGRlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMzE2RkUwNzIwRTZDQ0JFRTAwQkY2MDg4IC8qIEpTV2ViS2l0Q1NTS2V5
ZnJhbWVSdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTZGRTA3NDBFNkNDQkVFMDBCRjYwODgg
LyogSlNXZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTgzOTE0
MDBGMUU3Njc1MDBDMjM3ODIgLyogSlNXZWJLaXRDU1NNYXRyaXguaCBpbiBIZWFkZXJzICovLApA
QCAtMjIzMzUsNyArMjIyODUsNiBAQAogCQkJCTFBNTY5RDIxMEQ3RTJCODIwMDdDMzk4MyAvKiBy
dW50aW1lX21ldGhvZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1NjlEMjMwRDdFMkI4MjAwN0Mz
OTgzIC8qIHJ1bnRpbWVfb2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTU2OUQyNTBEN0Uy
QjgyMDA3QzM5ODMgLyogcnVudGltZV9yb290LmggaW4gSGVhZGVycyAqLywKLQkJCQkyOTNFQUUx
RjEzNTZCMkZFMDA2N0FDRjkgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk4QzZFQTYxQTExRUY3RTA0MDBGRDhFRTMgLyogUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTExQ0IwRUY4NkQ0NzAwOUQwQ0FGIC8qIFNj
YWxlVHJhbnNmb3JtT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1REZFOEY1NzBEMTY0
NzdDMDA3NkU5MzcgLyogU2NoZWR1bGVkQWN0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTIyNDcz
LDEyICsyMjQyMiw4IEBACiAJCQkJNTFFMEJBQkIwREE1NTQ3MTAwQTlFNDE3IC8qIFN0b3JhZ2VF
dmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzVFQkREODQxMDVFRERFQzAwNTY4MTZGIC8qIFN0
b3JhZ2VFdmVudERpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTg5MkNGMUVEMTM0QzY1
NTUwMEFBRURBMSAvKiBTdG9yYWdlSW5mby5oIGluIEhlYWRlcnMgKi8sCi0JCQkJODkyQ0YxRUQx
MzRDNjU1NTAwQUFFREExIC8qIFN0b3JhZ2VJbmZvLmggaW4gSGVhZGVycyAqLywKLQkJCQk4OTJD
RjE5MjEzNEM2MjBEMDBBQUVEQTEgLyogU3RvcmFnZUluZm9FcnJvckNhbGxiYWNrLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk4OTJDRjE5MjEzNEM2MjBEMDBBQUVEQTEgLyogU3RvcmFnZUluZm9FcnJv
ckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk4OTJDRjE5MzEzNEM2MjBEMDBBQUVEQTEg
LyogU3RvcmFnZUluZm9RdW90YUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKLQkJCQk4OTJDRjE5
MzEzNEM2MjBEMDBBQUVEQTEgLyogU3RvcmFnZUluZm9RdW90YUNhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLywKLQkJCQk4OTJDRjE5NDEzNEM2MjBEMDBBQUVEQTEgLyogU3RvcmFnZUluZm9Vc2FnZUNh
bGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk4OTJDRjE5NDEzNEM2MjBEMDBBQUVEQTEgLyog
U3RvcmFnZUluZm9Vc2FnZUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUUwQkIzODBE
QTVBQ0I2MDBBOUU0MTcgLyogU3RvcmFnZU1hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzUwRDBF
ODMwRkY0MjcyOTAwQUMyNjQ0IC8qIFN0b3JhZ2VOYW1lc3BhY2UuaCBpbiBIZWFkZXJzICovLApA
QCAtMjI4NzAsNyArMjI4MTUsNiBAQAogCQkJCTMxOUU2OUIzMTMyOTlCQkQwMDRBQzkxQSAvKiBX
ZWJLaXRBbmltYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTMxQzBGRjIyMEU0Q0VCNkUwMDdE
NkZFNSAvKiBXZWJLaXRBbmltYXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE5RTY5
QjYxMzI5OUJCRDAwNEFDOTFBIC8qIFdlYktpdEFuaW1hdGlvbkxpc3QuaCBpbiBIZWFkZXJzICov
LAotCQkJCTk3NkQ2QzdDMTIyQjhBM0QwMDFGRDFGNyAvKiBXZWJLaXRCbG9iQnVpbGRlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMzEyODhFNzMwRTMwMDVENjAwMzYxOUFFIC8qIFdlYktpdENTU0tl
eWZyYW1lUnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzEyODhFNzUwRTMwMDVENjAwMzYxOUFF
IC8qIFdlYktpdENTU0tleWZyYW1lc1J1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5ODM5MTU5
MEYxRTc3NjkwMEMyMzc4MiAvKiBXZWJLaXRDU1NNYXRyaXguaCBpbiBIZWFkZXJzICovLApAQCAt
MjI5NDAsNyArMjI4ODQsNiBAQAogCQkJCTJFNDM0NjQ5MEY1NDZBODIwMEIwRjFCQSAvKiBXb3Jr
ZXJDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0QjBGNTQ2QTgyMDBCMEYxQkEg
LyogV29ya2VyQ29udGV4dFByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlGMzQ3NDJFMTEzNDM2
MzFGMDA1MzFCQzIgLyogV29ya2VyRGVidWdnZXJBZ2VudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
RjM2RTA3QTUxMzU4QThCRTAwQUFDQkM5IC8qIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTE4RjgzMUI4MEZENDhDNzgwMEQ4QzU2QiAvKiBXb3JrZXJMb2Fk
ZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NEQwRjU0NkE4MjAwQjBGMUJBIC8q
IFdvcmtlckxvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY1MDBGNTQ2QTgyMDBC
MEYxQkEgLyogV29ya2VyTWVzc2FnaW5nUHJveHkuaCBpbiBIZWFkZXJzICovLApAQCAtMjI5OTIs
MTAgKzIyOTM1LDkgQEAKIAkJCQk5M0YxOTlFRDA4MjQ1RTU5MDAxRTlBQkMgLyogWFNMVFByb2Nl
c3Nvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFCRTUxMkUwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhT
TFRVbmljb2RlU29ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3RTJFMEYxMkYwRkM5QzAwQzEz
Mzc5IC8qIFhTU0ZpbHRlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJOENBREYyQTkxMzVDN0IzNjAw
OUVGNDNGIC8qIExldmVsREJDb21wYXJhdG9yLmggaW4gSGVhZGVycyAqLywKLQkJCQk4Q0FERjJB
QjEzNUM3QjM2MDA5RUY0M0YgLyogTGV2ZWxEQkRhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKLQkJ
CQk4Q0FERjJBRDEzNUM3QjM2MDA5RUY0M0YgLyogTGV2ZWxEQkl0ZXJhdG9yLmggaW4gSGVhZGVy
cyAqLywKLQkJCQk4Q0FERjJBRTEzNUM3QjM2MDA5RUY0M0YgLyogTGV2ZWxEQlNsaWNlLmggaW4g
SGVhZGVycyAqLywKKwkJCQkyMkJEOUY3RjEzNTM2MjVDMDA5QkQxMDIgLyogSW1hZ2VCdWZmZXJE
YXRhLmggaW4gSGVhZGVycyAqLywKKwkJCQkyMkJEOUY4MTEzNTM2NEZFMDA5QkQxMDIgLyogSW1h
Z2VCdWZmZXJEYXRhQ0cuaCBpbiBIZWFkZXJzICovLAorCQkJCTFGMEQ2RTBFMTM1OTBERTcwMDIz
NjU5MiAvKiBNZWRpYUNvbnRyb2xDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1
bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjMzODIsNiAr
MjMzMjQsNyBAQAogCQkJCUZEMzE2MDI2MTJCMDI2NzYwMEMxQTM1OSAvKiBCaXF1YWRQcm9jZXNz
b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg5OTQzMjkwQjQyMzM4ODAwRDdDODAyIC8qIEJp
dG1hcEltYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3NkQ2Qzc4MTIyQjhBM0QwMDFGRDFG
NyAvKiBCbG9iLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTk3NkQ2QzdCMTIyQjhBM0QwMDFGRDFG
NyAvKiBXZWJLaXRCbG9iQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRURFRjFGMzEy
MUIwRUZDMDA3MjZEQjIgLyogQmxvYkRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkVERUYx
RjYxMjFCMEVGQzAwNzI2REIyIC8qIEJsb2JSZWdpc3RyeUltcGwuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMkVCNEJDRDIxMjFGMDNFMzAwRUM0ODg1IC8qIEJsb2JSZXNvdXJjZUhhbmRsZS5jcHAg
aW4gU291cmNlcyAqLywKQEAgLTI0MTg1LDcgKzI0MTI4LDYgQEAKIAkJCQkxQTcxRDU3QjBGMzM4
MTkwMDBGOUNFNEUgLyogSWRlbnRpZmllclJlcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjc1
MzU2RjBCMDUzODE0MDAyQ0U2NEYgLyogSW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJB
MTBCOTQwQjM4MThENzAwMDk5QUE0IC8qIEltYWdlQnVmZmVyQ0cuY3BwIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMjI5MkIyN0MxMzU2NjY5NDAwQ0YxMUVGIC8qIEltYWdlQnVmZmVyRGF0YUNHLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUIyNzUzNTVFMEIwNTM4MTQwMDJDRTY0RiAvKiBJbWFnZUNHLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUE3Nzk3OTE5MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURh
dGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTcyMDVBQjUxMjM5MjkxMDAwQjE3MzgwIC8qIElt
YWdlRG9jdW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNDI5MSw2ICsyNDIzMyw3IEBACiAJ
CQkJQkM5NDYzNDYxMDdBOTM0QjAwODU3MTkzIC8qIEpTQmVmb3JlTG9hZEV2ZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUxNzIxRkQyMTFEMjdFRjIwMDYzOEI0MiAvKiBKU0JlZm9yZVByb2Nl
c3NFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRTJEOTlDRDEwRTJCQkRBMDA0OTYzMzcg
LyogSlNCbG9iLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5Q0QwMjkzMTFDODVCODcwMDcwQjc5
MSAvKiBKU1dlYktpdEJsb2JCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0NDlFMjg3
MTA3RDREQjQwMEI1NzkzRiAvKiBKU0NhbGxiYWNrRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk2NURGMzIzOTA5RDFERTY1MDAwQkUzMjUgLyogSlNDYW52YXNHcmFkaWVudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk2NURGMzIzQjA5RDFERTY1MDAwQkUzMjUgLyogSlNDYW52YXNQYXR0ZXJu
LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjQ2NjIsOSArMjQ2MDUsNiBAQAogCQkJCTUxRTNGOUQ2
MERBMDVFMUQwMDI1MDkxMSAvKiBKU1N0b3JhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFE
MEM1MTYwREFBOTBCNzAwM0IzODMxIC8qIEpTU3RvcmFnZUN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1MUUwQkFFQTBEQTU1RDRBMDBBOUU0MTcgLyogSlNTdG9yYWdlRXZlbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCi0JCQkJODkyQ0YyMEIxMzRDOEJCMzAwQUFFREExIC8qIEpTU3RvcmFnZUlu
Zm8uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJODkyQ0YyMEQxMzRDOEJCMzAwQUFFREExIC8qIEpT
U3RvcmFnZUluZm9FcnJvckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTg5MkNGMjEx
MTM0QzhCQjMwMEFBRURBMSAvKiBKU1N0b3JhZ2VJbmZvVXNhZ2VDYWxsYmFjay5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRkY1MDI2OTEwMkJBOTQzMDA2NkYzOUEgLyogSlNTdHlsZU1lZGlhLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDRTAxMzlBMEMwQkVGMTgwMDQzODYwQSAvKiBKU1N0eWxl
U2hlZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM5OEEyN0QwQzBDOTk1MDAwNEJFQkY3IC8q
IEpTU3R5bGVTaGVldEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI0ODQxLDcgKzI0Nzgx
LDYgQEAKIAkJCQkzMUMwRkYzRDBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJLaXRBbmltYXRpb25F
dmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTk0NjFGRTEzMDIyQkI4MDA0QkIzRjggLyog
SlNXZWJLaXRBbmltYXRpb25MaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxOTQ2MjMyMTMw
MjJGNjUwMDRCQjNGOCAvKiBKU1dlYktpdEFuaW1hdGlvbkxpc3RDdXN0b20uY3BwIGluIFNvdXJj
ZXMgKi8sCi0JCQkJODlDRDAyOTMxMUM4NUI4NzAwNzBCNzkxIC8qIEpTV2ViS2l0QmxvYkJ1aWxk
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE2RkUwNzEwRTZDQ0JFRTAwQkY2MDg4IC8qIEpT
V2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxQUQxNEM1MTI5
NzM1NDkwMEFDQTk4OSAvKiBKU1dlYktpdENTU0tleWZyYW1lUnVsZUN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkzMTZGRTA3MzBFNkNDQkVFMDBCRjYwODggLyogSlNXZWJLaXRDU1NLZXlm
cmFtZXNSdWxlLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjUxODQsNyArMjUxMjMsNiBAQAogCQkJ
CTFBNTY5RDIwMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lX21ldGhvZC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxQTU2OUQyMjBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9vYmplY3QuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUE1NjlEMjQwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1bnRpbWVf
cm9vdC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkyOTNFQUUyMTEzNTZCMzJFMDA2N0FDRjkgLyog
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCThDNkVBNjE5
MTFFRjdFMDQwMEZEOEVFMyAvKiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTQ5RTkxMUNBMEVGODZENDcwMDlEMENBRiAvKiBTY2FsZVRyYW5zZm9ybU9wZXJh
dGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1REZFOEY1NjBEMTY0NzdCMDA3NkU5MzcgLyog
U2NoZWR1bGVkQWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjU1OTAsNyArMjU1MjgsNiBA
QAogCQkJCTMxOUU2OUIyMTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMzFDMEZGMjEwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdEFuaW1h
dGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxOUU2OUI1MTMyOTlCQkQwMDRBQzkx
QSAvKiBXZWJLaXRBbmltYXRpb25MaXN0LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTk3NkQ2QzdC
MTIyQjhBM0QwMDFGRDFGNyAvKiBXZWJLaXRCbG9iQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkzMTI4OEU3MjBFMzAwNUQ2MDAzNjE5QUUgLyogV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTMxMjg4RTc0MEUzMDA1RDYwMDM2MTlBRSAvKiBXZWJLaXRD
U1NLZXlmcmFtZXNSdWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5ODM5MTU4MEYxRTc3Njkw
MEMyMzc4MiAvKiBXZWJLaXRDU1NNYXRyaXguY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNTY1Niw3
ICsyNTU5Myw2IEBACiAJCQkJMkU0MzQ2NDUwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkyRTQzNDY0ODBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyQ29u
dGV4dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGMzQ3NDJFMDEzNDM2MzFGMDA1MzFCQzIgLyog
V29ya2VyRGVidWdnZXJBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlGMzZFMDdBNDEzNThB
OEJFMDBBQUNCQzkgLyogV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkyRTQzNDY0QzBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyTG9jYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMkU0MzQ2NEYwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlck1lc3Nh
Z2luZ1Byb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxMjcxQTE0MEVFRUM4MDQwMEY2MTIx
MyAvKiBXb3JrZXJOYXZpZ2F0b3IuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNTcwMiw4ICsyNTYz
OCw4IEBACiAJCQkJOTNGMTlCMDUwODI0NUU1OTAwMUU5QUJDIC8qIFhTTFRQcm9jZXNzb3JMaWJ4
c2x0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxQkU1MTJEMENGNkM1MTIwMDJFQTk1OSAvKiBY
U0xUVW5pY29kZVNvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTc3RTJFMEUxMkYwRkM5QzAw
QzEzMzc5IC8qIFhTU0ZpbHRlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk4Q0FERjJBQTEzNUM3
QjM2MDA5RUY0M0YgLyogTGV2ZWxEQkRhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCThD
QURGMkFDMTM1QzdCMzYwMDlFRjQzRiAvKiBMZXZlbERCSXRlcmF0b3IuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJMjI5MkIyN0MxMzU2NjY5NDAwQ0YxMUVGIC8qIEltYWdlQnVmZmVyRGF0YUNHLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTI5M0VBRTIxMTM1NkIzMkUwMDY3QUNGOSAvKiBSdW50aW1l
QXBwbGljYXRpb25DaGVja3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBiNGFjMTRlMjc5NGM3MWEyOGJkNjhiMGNmODY4NTMx
MTJkMzNlOTBlLi42ZGI3YjRlNTU1ZjY0NjIxYWQ2NWYwMzIxNTIwNmQxOTExMjczMzExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTQ5LDcgKzQ5LDcgQEAK
ICNpbmNsdWRlICJIVE1MU291cmNlRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxWaWRlb0VsZW1l
bnQuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSAiTWVkaWFDb250cm9sUm9vdEVs
ZW1lbnQuaCIKKyNpbmNsdWRlICJNZWRpYUNvbnRyb2xzLmgiCiAjaW5jbHVkZSAiTWVkaWFEb2N1
bWVudC5oIgogI2luY2x1ZGUgIk1lZGlhRXJyb3IuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIK
QEAgLTI2NTMsOSArMjY1MywxNCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnByaXZhdGVCcm93
c2luZ1N0YXRlRGlkQ2hhbmdlKCkKICAgICBtX3BsYXllci0+c2V0UHJpdmF0ZUJyb3dzaW5nTW9k
ZShwcml2YXRlTW9kZSk7CiB9CiAKLU1lZGlhQ29udHJvbFJvb3RFbGVtZW50KiBIVE1MTWVkaWFF
bGVtZW50OjptZWRpYUNvbnRyb2xzKCkKK01lZGlhQ29udHJvbHMqIEhUTUxNZWRpYUVsZW1lbnQ6
Om1lZGlhQ29udHJvbHMoKQogewotICAgIHJldHVybiBzaGFkb3dSb290KCkgPyB0b01lZGlhQ29u
dHJvbHMoc2hhZG93Um9vdCgpLT5maXJzdENoaWxkKCkpIDogMDsKKyAgICBpZiAoIXNoYWRvd1Jv
b3QoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBOb2RlKiBub2RlID0gc2hhZG93Um9vdCgp
LT5maXJzdENoaWxkKCk7CisgICAgQVNTRVJUKG5vZGUtPmlzSFRNTEVsZW1lbnQoKSk7CisgICAg
cmV0dXJuIHN0YXRpY19jYXN0PE1lZGlhQ29udHJvbHMqPihub2RlKTsKIH0KIAogYm9vbCBIVE1M
TWVkaWFFbGVtZW50OjpoYXNNZWRpYUNvbnRyb2xzKCkKQEAgLTI2NjksMTAgKzI2NzQsMTAgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjplbnN1cmVNZWRpYUNvbnRyb2xzKCkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgRXhjZXB0aW9uQ29kZSBlYzsKLSAgICBlbnN1cmVTaGFkb3dSb290KCktPmFw
cGVuZENoaWxkKE1lZGlhQ29udHJvbFJvb3RFbGVtZW50OjpjcmVhdGUodGhpcyksIGVjKTsKKyAg
ICBlbnN1cmVTaGFkb3dSb290KCktPmFwcGVuZENoaWxkKE1lZGlhQ29udHJvbHM6OmNyZWF0ZSh0
aGlzKSwgZWMpOwogfQogCi12b2lkKiBIVE1MTWVkaWFFbGVtZW50OjpwcmVEaXNwYXRjaEV2ZW50
SGFuZGxlcihFdmVudCogZXZlbnQpIAordm9pZCogSFRNTE1lZGlhRWxlbWVudDo6cHJlRGlzcGF0
Y2hFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogewogICAgIGlmIChldmVudCAmJiBldmVudC0+
dHlwZSgpID09IGV2ZW50TmFtZXMoKS53ZWJraXRmdWxsc2NyZWVuY2hhbmdlRXZlbnQpIHsKICAg
ICAgICAgaWYgKGNvbnRyb2xzKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmgKaW5kZXggMjkzZjcxMzhjODk5M2Q3YzhlNjEzNTliNjNhNjE1MWY5MWE3M2UyYS4uNjA0Y2Rm
ODQwOWE1ZTA1NTAxM2UzODcyMmFkMDUwNjFhNGVkOTEwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKQEAgLTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBFdmVudDsKIGNsYXNzIEhUTUxTb3VyY2VFbGVtZW50OwotY2xhc3MgTWVkaWFDb250
cm9sUm9vdEVsZW1lbnQ7CitjbGFzcyBNZWRpYUNvbnRyb2xzOwogY2xhc3MgTWVkaWFFcnJvcjsK
IGNsYXNzIEtVUkw7CiBjbGFzcyBUaW1lUmFuZ2VzOwpAQCAtMTcyLDcgKzE3Miw3IEBAIHB1Ymxp
YzoKICAgICBib29sIGNsb3NlZENhcHRpb25zVmlzaWJsZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0
Q2xvc2VkQ2FwdGlvbnNWaXNpYmxlKGJvb2wpOwogCi0gICAgTWVkaWFDb250cm9sUm9vdEVsZW1l
bnQqIG1lZGlhQ29udHJvbHMoKTsKKyAgICBNZWRpYUNvbnRyb2xzKiBtZWRpYUNvbnRyb2xzKCk7
CiAKICAgICBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIGNvbnN0OwogCkBAIC0zMzUsNyAr
MzM1LDcgQEAgcHJpdmF0ZToKICAgICBUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiBtX3BsYXliYWNr
UHJvZ3Jlc3NUaW1lcjsKICAgICBWZWN0b3I8UmVmUHRyPEV2ZW50PiA+IG1fcGVuZGluZ0V2ZW50
czsKICAgICBSZWZQdHI8VGltZVJhbmdlcz4gbV9wbGF5ZWRUaW1lUmFuZ2VzOwotICAgIAorCiAg
ICAgZmxvYXQgbV9wbGF5YmFja1JhdGU7CiAgICAgZmxvYXQgbV9kZWZhdWx0UGxheWJhY2tSYXRl
OwogICAgIGJvb2wgbV93ZWJraXRQcmVzZXJ2ZXNQaXRjaDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAppbmRleCA1MjIwOWNkN2Jm
MDE2M2FmMjk2NjlmZWZlYzEzYWVkYTljYmIwZmE2Li4zMjg2NDBiNzRkODBjMDEwNDg3YTY0YzYw
MTYyNTEyZDI0ZDM3YzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9N
ZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
TWVkaWFDb250cm9sRWxlbWVudHMuY3BwCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSAiRnJh
bWUuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJMb2NhbGl6ZWRTdHJpbmdz
LmgiCi0jaW5jbHVkZSAiTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuaCIKKyNpbmNsdWRlICJNZWRp
YUNvbnRyb2xzLmgiCiAjaW5jbHVkZSAiTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIK
ICNpbmNsdWRlICJSZW5kZXJGbGV4aWJsZUJveC5oIgpAQCAtMzQ2LDEzICszNDYsMTMgQEAgdm9p
ZCBNZWRpYUNvbnRyb2xNdXRlQnV0dG9uRWxlbWVudDo6dXBkYXRlRGlzcGxheVR5cGUoKQogCiAv
LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLWlubGluZSBNZWRpYUNvbnRyb2xQYW5l
bE11dGVCdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50KEhU
TUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQqIGNv
bnRyb2xzKQoraW5saW5lIE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQ6Ok1lZGlh
Q29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVt
ZW50LCBNZWRpYUNvbnRyb2xzKiBjb250cm9scykKICAgICA6IE1lZGlhQ29udHJvbE11dGVCdXR0
b25FbGVtZW50KG1lZGlhRWxlbWVudCwgTWVkaWFNdXRlQnV0dG9uKQogICAgICwgbV9jb250cm9s
cyhjb250cm9scykKIHsKIH0KIAotUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0
b25FbGVtZW50PiBNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50OjpjcmVhdGUoSFRN
TE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCogY29u
dHJvbHMpCitQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQ+IE1l
ZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShIVE1MTWVkaWFFbGVtZW50
KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbHMqIGNvbnRyb2xzKQogewogICAgIEFTU0VSVChj
b250cm9scyk7CiAKQEAgLTYyNiwxMyArNjI2LDEzIEBAIGNvbnN0IEF0b21pY1N0cmluZyYgTWVk
aWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpzaGFkb3dQc2V1ZG9J
CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotTWVkaWFDb250cm9sVGltZWxp
bmVFbGVtZW50OjpNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCog
bWVkaWFFbGVtZW50LCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCogY29udHJvbHMpCitNZWRpYUNv
bnRyb2xUaW1lbGluZUVsZW1lbnQ6Ok1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudChIVE1MTWVk
aWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbHMqIGNvbnRyb2xzKQogICAgIDog
TWVkaWFDb250cm9sSW5wdXRFbGVtZW50KG1lZGlhRWxlbWVudCwgTWVkaWFTbGlkZXIpCiAgICAg
LCBtX2NvbnRyb2xzKGNvbnRyb2xzKQogewogfQogCi1QYXNzUmVmUHRyPE1lZGlhQ29udHJvbFRp
bWVsaW5lRWxlbWVudD4gTWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50OjpjcmVhdGUoSFRNTE1l
ZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCogY29udHJv
bHMpCitQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudD4gTWVkaWFDb250cm9s
VGltZWxpbmVFbGVtZW50OjpjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBN
ZWRpYUNvbnRyb2xzKiBjb250cm9scykKIHsKICAgICBBU1NFUlQoY29udHJvbHMpOwogCkBAIC03
NjcsMTMgKzc2NywxMyBAQCBjb25zdCBBdG9taWNTdHJpbmcmIE1lZGlhQ29udHJvbEZ1bGxzY3Jl
ZW5Wb2x1bWVTbGlkZXJFbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpCiAKIC8vIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIAotaW5saW5lIE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25F
bGVtZW50OjpNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudChIVE1MTWVkaWFFbGVt
ZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50KiBjb250cm9scykKK2lu
bGluZSBNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sRnVs
bHNjcmVlbkJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBNZWRp
YUNvbnRyb2xzKiBjb250cm9scykKICAgICA6IE1lZGlhQ29udHJvbElucHV0RWxlbWVudChtZWRp
YUVsZW1lbnQsIE1lZGlhRnVsbHNjcmVlbkJ1dHRvbikKICAgICAsIG1fY29udHJvbHMoY29udHJv
bHMpCiB7CiB9CiAKLVBhc3NSZWZQdHI8TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1l
bnQ+IE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50OjpjcmVhdGUoSFRNTE1lZGlh
RWxlbWVudCogbWVkaWFFbGVtZW50LCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCogY29udHJvbHMp
CitQYXNzUmVmUHRyPE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50PiBNZWRpYUNv
bnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudDo6Y3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqIG1l
ZGlhRWxlbWVudCwgTWVkaWFDb250cm9scyogY29udHJvbHMpCiB7CiAgICAgQVNTRVJUKGNvbnRy
b2xzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sRWxlbWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVs
ZW1lbnRzLmgKaW5kZXggOTRkNGJjNjEyNmZmNzBjODYwNDgyNmFiZWNiYjE2YzZkM2FkZDExNy4u
ZGIzMTU4YjI5NGJhYTk3NDkxMGYxN2IwMThlOGUyOWNhYzkzNTI5NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oCkBAIC00Miw3ICs0
Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRXZlbnQ7CiBjbGFzcyBGcmFtZTsK
LWNsYXNzIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50OworY2xhc3MgTWVkaWFDb250cm9sczsKIAog
Ly8gTXVzdCBtYXRjaCBXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaAogZW51bSBNZWRpYUNvbnRyb2xF
bGVtZW50VHlwZSB7CkBAIC0xOTMsMTUgKzE5MywxNSBAQCBwcml2YXRlOgogCiBjbGFzcyBNZWRp
YUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50IDogcHVibGljIE1lZGlhQ29udHJvbE11dGVC
dXR0b25FbGVtZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNvbnRy
b2xQYW5lbE11dGVCdXR0b25FbGVtZW50PiBjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCosIE1lZGlh
Q29udHJvbFJvb3RFbGVtZW50Kik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFDb250cm9s
UGFuZWxNdXRlQnV0dG9uRWxlbWVudD4gY3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNv
bnRyb2xzKik7CiAKIHByaXZhdGU6Ci0gICAgTWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxl
bWVudChIVE1MTWVkaWFFbGVtZW50KiwgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQqKTsKKyAgICBN
ZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRp
YUNvbnRyb2xzKik7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVu
dCopOwogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBzaGFkb3dQc2V1ZG9JZCgpIGNv
bnN0OwogCi0gICAgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQqIG1fY29udHJvbHM7CisgICAgTWVk
aWFDb250cm9scyogbV9jb250cm9sczsKIH07CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KQEAgLTMyNSwxOCArMzI1LDE4IEBAIHByaXZhdGU6CiAKIGNsYXNzIE1lZGlhQ29udHJv
bFRpbWVsaW5lRWxlbWVudCA6IHB1YmxpYyBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQgewogcHVi
bGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudD4g
Y3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCopOworICAg
IHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudD4gY3JlYXRlKEhU
TUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xzKik7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGVm
YXVsdEV2ZW50SGFuZGxlcihFdmVudCopOwogICAgIHZvaWQgc2V0UG9zaXRpb24oZmxvYXQpOwog
ICAgIHZvaWQgc2V0RHVyYXRpb24oZmxvYXQpOwogCiBwcml2YXRlOgotICAgIE1lZGlhQ29udHJv
bFRpbWVsaW5lRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiwgTWVkaWFDb250cm9sUm9vdEVsZW1l
bnQqKTsKKyAgICBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCos
IE1lZGlhQ29udHJvbHMqKTsKIAogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBzaGFk
b3dQc2V1ZG9JZCgpIGNvbnN0OwogCi0gICAgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQqIG1fY29u
dHJvbHM7CisgICAgTWVkaWFDb250cm9scyogbV9jb250cm9sczsKIH07CiAKIC8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTM1OSwxNiArMzU5LDE2IEBAIHByaXZhdGU6CiAKIGNs
YXNzIE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50IDogcHVibGljIE1lZGlhQ29u
dHJvbElucHV0RWxlbWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFD
b250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ+IGNyZWF0ZShIVE1MTWVkaWFFbGVtZW50Kiwg
TWVkaWFDb250cm9sUm9vdEVsZW1lbnQqKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNv
bnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudD4gY3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqLCBN
ZWRpYUNvbnRyb2xzKik7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihF
dmVudCopOwogCiBwcml2YXRlOgotICAgIE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVt
ZW50KEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCopOworICAgIE1l
ZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRp
YUNvbnRyb2xzKik7CiAKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgc2hhZG93UHNl
dWRvSWQoKSBjb25zdDsKIAotICAgIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50KiBtX2NvbnRyb2xz
OworICAgIE1lZGlhQ29udHJvbHMqIG1fY29udHJvbHM7CiB9OwogCiAvLyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9N
ZWRpYUNvbnRyb2xSb290RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9N
ZWRpYUNvbnRyb2xSb290RWxlbWVudC5jcHAKaW5kZXggMTQ3ZjBiNmY3YjlhMDYzZTdkOGFlYWQ0
ZTQyNjA0NmY2MTMxZWQ3Yy4uMjNhMjVmNTY5ZmMwZWI3MTBlMjdjYjU1Yzg3OThkM2FkMmVkNTY4
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9v
dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bFJvb3RFbGVtZW50LmNwcApAQCAtMjksMjYgKzI5LDE2IEBACiAjaWYgRU5BQkxFKFZJREVPKQog
I2luY2x1ZGUgIk1lZGlhQ29udHJvbFJvb3RFbGVtZW50LmgiCiAKLSNpbmNsdWRlICJFdmVudE5h
bWVzLmgiCi0jaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCi0jaW5jbHVkZSAiSFRNTE5hbWVz
LmgiCiAjaW5jbHVkZSAiTWVkaWFDb250cm9sRWxlbWVudHMuaCIKLSNpbmNsdWRlICJNb3VzZUV2
ZW50LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgotI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5j
bHVkZSAiUmVuZGVyVGhlbWUuaCIKLSNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNs
dWRlIDx3dGYvTWF0aEV4dHJhcy5oPgotCiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKLQogTWVkaWFDb250
cm9sUm9vdEVsZW1lbnQ6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQq
IG1lZGlhRWxlbWVudCkKLSAgICA6IEhUTUxEaXZFbGVtZW50KGRpdlRhZywgbWVkaWFFbGVtZW50
LT5kb2N1bWVudCgpKQorICAgIDogTWVkaWFDb250cm9scyhtZWRpYUVsZW1lbnQpCiAgICAgLCBt
X21lZGlhRWxlbWVudChtZWRpYUVsZW1lbnQpCiAgICAgLCBtX3Jld2luZEJ1dHRvbigwKQogICAg
ICwgbV9wbGF5QnV0dG9uKDApCkBAIC03NCw2ICs2NCwxMSBAQCBNZWRpYUNvbnRyb2xSb290RWxl
bWVudDo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVt
ZW50KQogewogfQogCitQYXNzUmVmUHRyPE1lZGlhQ29udHJvbHM+IE1lZGlhQ29udHJvbHM6OmNy
ZWF0ZShIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCit7CisgICAgcmV0dXJuIE1lZGlh
Q29udHJvbFJvb3RFbGVtZW50OjpjcmVhdGUobWVkaWFFbGVtZW50KTsKK30KKwogUGFzc1JlZlB0
cjxNZWRpYUNvbnRyb2xSb290RWxlbWVudD4gTWVkaWFDb250cm9sUm9vdEVsZW1lbnQ6OmNyZWF0
ZShIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCiB7CiAgICAgaWYgKCFtZWRpYUVsZW1l
bnQtPmRvY3VtZW50KCktPnBhZ2UoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudC5oCmluZGV4IDBhODU1ODIyMTA1YjU4NTY0NmI2
MWEwMzVjNzFjZmViYjUzN2E5Y2YuLjhjNmQzZWM4MmYzNTRiZDc5ZTQzMDcxYWViYzRmYmE1NDZh
ZjEyM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bFJvb3RFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sUm9vdEVsZW1lbnQuaApAQCAtMjQsMTggKzI0LDE2IEBACiAgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICov
CiAKLSNpZm5kZWYgTWVkaWFDb250cm9sc19oCi0jZGVmaW5lIE1lZGlhQ29udHJvbHNfaAorI2lm
bmRlZiBNZWRpYUNvbnRyb2xSb290RWxlbWVudF9oCisjZGVmaW5lIE1lZGlhQ29udHJvbFJvb3RF
bGVtZW50X2gKIAogI2lmIEVOQUJMRShWSURFTykKIAotI2luY2x1ZGUgIkhUTUxEaXZFbGVtZW50
LmgiCi0jaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNsdWRlICJNZWRpYUNvbnRyb2xzLmgiCiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEhUTUxF
bGVtZW50OwogY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIGNsYXNzIEhUTUxNZWRpYUVsZW1lbnQ7
CiBjbGFzcyBFdmVudDsKQEAgLTY4LDEwICs2NiwxMSBAQCBjbGFzcyBNZWRpYVBsYXllcjsKIGNs
YXNzIFJlbmRlckJveDsKIGNsYXNzIFJlbmRlck1lZGlhOwogCi1jbGFzcyBNZWRpYUNvbnRyb2xS
b290RWxlbWVudCA6IHB1YmxpYyBIVE1MRGl2RWxlbWVudCB7CitjbGFzcyBNZWRpYUNvbnRyb2xS
b290RWxlbWVudCA6IHB1YmxpYyBNZWRpYUNvbnRyb2xzIHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xSb290RWxlbWVudD4gY3JlYXRlKEhUTUxNZWRpYUVsZW1l
bnQqKTsKIAorICAgIC8vIE1lZGlhQ29udHJvbHMgaW1wbGVtZW50YXRpb24uCiAgICAgdm9pZCBz
aG93KCk7CiAgICAgdm9pZCBoaWRlKCk7CiAgICAgdm9pZCBtYWtlT3BhcXVlKCk7CkBAIC0xMjgs
MTIgKzEyNyw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX29wYXF1ZTsKIH07CiAKLWlubGluZSBN
ZWRpYUNvbnRyb2xSb290RWxlbWVudCogdG9NZWRpYUNvbnRyb2xzKE5vZGUqIG5vZGUpCi17Ci0g
ICAgQVNTRVJUKG5vZGUtPmlzSFRNTEVsZW1lbnQoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0
PE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Kj4obm9kZSk7Ci19Ci0KIH0KIAogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2
MWZkMTliNzllMzE3ODMyNjM1N2Y2OTc4YWM0MDlmZjVhMGViN2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcApAQCAtMCwwICsx
LDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShWSURFTykK
KworI2luY2x1ZGUgIk1lZGlhQ29udHJvbHMuaCIKKworI2luY2x1ZGUgIkhUTUxEaXZFbGVtZW50
LmgiCisjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxOYW1lcy5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK01lZGlhQ29udHJvbHM6Ok1lZGlhQ29udHJvbHMo
SFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KQorICAgIDogSFRNTERpdkVsZW1lbnQoSFRN
TE5hbWVzOjpkaXZUYWcsIG1lZGlhRWxlbWVudC0+ZG9jdW1lbnQoKSkKK3sKK30KKworfQorCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bHMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kYzg4ZWJiMjVjODJmN2JjYTlkZGE2NWU4MmMwY2Q4NzU0NzQ4OGE4Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oCkBAIC0w
LDAgKzEsODIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBNZWRpYUNvbnRyb2xzX2gKKyNkZWZpbmUgTWVk
aWFDb250cm9sc19oCisKKyNpZiBFTkFCTEUoVklERU8pCisKKyNpbmNsdWRlICJIVE1MRGl2RWxl
bWVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEhUTUxNZWRpYUVsZW1lbnQ7
CisKK2NsYXNzIE1lZGlhQ29udHJvbHMgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQgeworICBwdWJs
aWM6CisgICAgdmlydHVhbCB+TWVkaWFDb250cm9scygpIHt9CisKKyAgICAvLyBUaGlzIGZ1bmN0
aW9uIGlzIHRvIGJlIGltcGxlbWVudGVkIGluIHlvdXIgcG9ydC1zcGVjaWZpYyBtZWRpYQorICAg
IC8vIGNvbnRyb2xzIGltcGxlbWVudGF0aW9uLgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlh
Q29udHJvbHM+IGNyZWF0ZShIVE1MTWVkaWFFbGVtZW50Kik7CisKKyAgICB2aXJ0dWFsIHZvaWQg
c2hvdygpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgaGlkZSgpID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgbWFrZU9wYXF1ZSgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgbWFrZVRyYW5zcGFyZW50KCkg
PSAwOworCisgICAgdmlydHVhbCB2b2lkIHJlc2V0KCkgPSAwOworCisgICAgdmlydHVhbCB2b2lk
IHBsYXliYWNrUHJvZ3Jlc3NlZCgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcGxheWJhY2tTdGFy
dGVkKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBwbGF5YmFja1N0b3BwZWQoKSA9IDA7CisKKyAg
ICB2aXJ0dWFsIHZvaWQgY2hhbmdlZE11dGUoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGNoYW5n
ZWRWb2x1bWUoKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgZW50ZXJlZEZ1bGxzY3JlZW4oKSA9
IDA7CisgICAgdmlydHVhbCB2b2lkIGV4aXRlZEZ1bGxzY3JlZW4oKSA9IDA7CisKKyAgICB2aXJ0
dWFsIHZvaWQgcmVwb3J0ZWRFcnJvcigpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgY2hhbmdlZE5l
dHdvcmtTdGF0ZSgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgbG9hZGVkTWV0YWRhdGEoKSA9IDA7
CisgICAgdmlydHVhbCB2b2lkIGNoYW5nZWRDbG9zZWRDYXB0aW9uc1Zpc2liaWxpdHkoKSA9IDA7
CisKKyAgICB2aXJ0dWFsIHZvaWQgc2hvd1ZvbHVtZVNsaWRlcigpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgdXBkYXRlVGltZURpc3BsYXkoKSA9IDA7CisKK3Byb3RlY3RlZDoKKyAgICBNZWRpYUNv
bnRyb2xzKEhUTUxNZWRpYUVsZW1lbnQqKTsKKworcHJpdmF0ZToKKyAgICBNZWRpYUNvbnRyb2xz
KCk7Cit9OworCit9CisKKyNlbmRpZgorCisjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90069</attachid>
            <date>2011-04-18 12:26:16 -0700</date>
            <delta_ts>2011-04-18 13:58:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58346-20110418122615.patch</filename>
            <type>text/plain</type>
            <size>29639</size>
            <attacher name="Steve Lacey">sjl</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQxNTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Fu
ZHJvaWQubWsgYi9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLm1rCmluZGV4IDg4YjlkYjExNDFlYjQw
YjY2MjAwY2ZhYjdjNGExOTBkYTdiY2IzZTEuLjViZTEyYTkwZDY0OWQwODE3OGRjZmQ4NjM3MjA3
N2UwODExMTQxOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQubWsKKysrIGIv
U291cmNlL1dlYkNvcmUvQW5kcm9pZC5tawpAQCAtMzU1LDYgKzM1NSw3IEBAIExPQ0FMX1NSQ19G
SUxFUyA6PSAkKExPQ0FMX1NSQ19GSUxFUykgXAogCWh0bWwvcGFyc2VyL1RleHRWaWV3U291cmNl
UGFyc2VyLmNwcCBcCiAJaHRtbC9wYXJzZXIvWFNTRmlsdGVyLmNwcCBcCiAJXAorCWh0bWwvc2hh
ZG93L01lZGlhQ29udHJvbHMuY3BwIFwKIAlodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5jcHAgXAogCWh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmNwcCBcCiAJaHRt
bC9zaGFkb3cvTWV0ZXJTaGFkb3dFbGVtZW50LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IGU0ZGY2MjVlMmEyNzRkOTNkMTNlNDIxZmM3OTdhNDMzNmE1NmFiMGMuLjg3NjVjM2I3NzljNGNk
NGMwMmNkMGZmNmE1ZjYzMjVlODA3MmUzNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC04ODUs
NiArODg1LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGh0bWwvcGFyc2VyL1hTU0ZpbHRl
ci5jcHAKIAogICAgIGh0bWwvc2hhZG93L0RldGFpbHNNYXJrZXJDb250cm9sLmNwcAorICAgIGh0
bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwCiAgICAgaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
Um9vdEVsZW1lbnQuY3BwCiAgICAgaHRtbC9zaGFkb3cvTWV0ZXJTaGFkb3dFbGVtZW50LmNwcAog
ICAgIGh0bWwvc2hhZG93L1Byb2dyZXNzU2hhZG93RWxlbWVudC5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBk
YThmZDIyMWMxZmQxZjM2NWQ2YTFlYzc2ZWI4NzRiM2Q1YzhjMjdlLi4yMDBmNjhlYzExZDAxZjNl
YjgyOWI1MDgxNmM3OGQ0NGEwY2NkY2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIw
MTEtMDQtMTggIFN0ZXZlIExhY2V5ICA8c2psQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWNvdXBsZSBtZWRpYSBjb250cm9s
cyB1c2FnZSBmcm9tIGltcGxlbWVudGF0aW9uLgorICAgICAgICBUaGlzIGFsbG93cyBlYWNoIHBv
cnQgdG8gaW1wbGVtZW50IHRoaWVyIG93biBjb250cm9scyBpbiBhIGRpZmZlcmVudAorICAgICAg
ICBtYW5uZXIgdG8gdGhlIGRlZmF1bHQgd2Via2l0IGltcGxlbWVudGF0aW9uLgorCisgICAgICAg
IENvbnZlcnQgbWVkaWEgY29udHJvbHMgaG9va3MgdG8gYSBjbGllbnQgaW50ZXJmYWNlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODM0NgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cyBhcyB0aGVyZSBpcyBubyBmdW5jdGlvbmFsIGNoYW5nZS4KKworICAg
ICAgICAqIEFuZHJvaWQubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
R05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICog
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYUNvbnRyb2xzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmVuc3VyZU1lZGlhQ29udHJvbHMpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cHJlRGlzcGF0Y2hFdmVudEhhbmRs
ZXIpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwv
c2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRv
bkVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9u
RWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFRpbWVsaW5l
RWxlbWVudDo6TWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xGdWxsc2Ny
ZWVuQnV0dG9uRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xGdWxsc2Ny
ZWVuQnV0dG9uRWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xFbGVtZW50cy5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50OjpN
ZWRpYUNvbnRyb2xSb290RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xz
OjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50
Lmg6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sczo6TWVkaWFDb250cm9scyk6CisgICAgICAgICog
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhQ29udHJvbHM6On5NZWRpYUNvbnRyb2xzKToKKwogMjAxMS0wNC0xNSAgTU9SSVRBIEhhamlt
ZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRo
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYzQxM2RlZTcxNTYxMmE3MDY5MzY2
MjBiODkxM2ZhNjQ2YjMyY2Y1Yy4uZDYyMTY5ZmI2ZmZhYjRjNDJhMTQ3OTViZTYyZWQ5MTA1ZGM1
N2ZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xODQ1LDYgKzE4NDUsOCBA
QCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0Zp
bHRlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EZXRhaWxzTWFya2VyQ29udHJv
bC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RldGFpbHNNYXJrZXJDb250cm9s
LmggXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwIFwKKwlT
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmggXAogCVNvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaCBcCiAJU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCBhOGQ3YjJkM2YyNjliMTg4Y2EyNzU5MWRkY2M2NDlmYzk0Nzk2OGMyLi4wZjNiNzk2OTI0
NDQwMmQ0Y2Y1MTFiMjgwYTk5OGY5MDAzOTQxN2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zMTc2
LDYgKzMxNzYsOCBAQAogICAgICAgICAgICAgJ2h0bWwvcGFyc2VyL1hTU0ZpbHRlci5oJywKICAg
ICAgICAgICAgICdodG1sL3NoYWRvdy9EZXRhaWxzTWFya2VyQ29udHJvbC5jcHAnLAogICAgICAg
ICAgICAgJ2h0bWwvc2hhZG93L0RldGFpbHNNYXJrZXJDb250cm9sLmgnLAorICAgICAgICAgICAg
J2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwJywKKyAgICAgICAgICAgICdodG1sL3NoYWRv
dy9NZWRpYUNvbnRyb2xzLmgnLAogICAgICAgICAgICAgJ2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bEVsZW1lbnRzLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxl
bWVudHMuaCcsCiAgICAgICAgICAgICAnaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1l
bnQuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
aW5kZXggZGI2ZjllYjBkMzg3NzdiNmRlYTQxMGY1NmE4YTYxZWIyMjlkNmVmYS4uMjhmMzQ5MGM0
ZWM5M2VmMzE1OTY4ZWNjODc4NjA1OWI4MzUzNDk1ZiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTU2NzA5LDYgKzU2NzA5LDE0IEBACiAJCQkJ
CT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXHNo
YWRvd1xNZWRpYUNvbnRyb2xzLmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQor
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcc2hhZG93XE1lZGlhQ29udHJvbHMuaCIKKwkJCQkJ
PgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcc2hh
ZG93XE1lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0
NTg2ZGE3YWRlOGRiMTM0ODMyN2MxMDFiZTlmNTY3ZTkxMmRlMGZiLi4zNzdjYjA3ZjhmNjJjNWQw
ZjQwN2Q2NDM2MDc1YjFjYTc2MGQ1OGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02NDMsNiArNjQzLDggQEAKIAkJMUNGNkJF
MTQwRTlCQjQ2NzAwMjVFMUNEIC8qIE9iakNOb2RlRmlsdGVyQ29uZGl0aW9uLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNGNkJFMTIwRTlCQjQ2NzAw
MjVFMUNEIC8qIE9iakNOb2RlRmlsdGVyQ29uZGl0aW9uLm1tICovOyB9OwogCQkxQ0Y2QkUxNTBF
OUJCNDY3MDAyNUUxQ0QgLyogT2JqQ05vZGVGaWx0ZXJDb25kaXRpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRjZCRTEzMEU5QkI0NjcwMDI1RTFD
RCAvKiBPYmpDTm9kZUZpbHRlckNvbmRpdGlvbi5oICovOyB9OwogCQkxQ0ZBRTMyMzBBNkQ2QTNG
MDAzMjU5M0QgLyogbGlib2JqYy5keWxpYiBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFDRkFFMzIyMEE2RDZBM0YwMDMyNTkzRCAvKiBsaWJvYmpjLmR5
bGliICovOyB9OworCQkxRjNDM0JFQTEzNUNBRjNDMDBCOEMxQUMgLyogTWVkaWFDb250cm9scy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjNDM0JF
ODEzNUNBRjNDMDBCOEMxQUMgLyogTWVkaWFDb250cm9scy5jcHAgKi87IH07CisJCTFGM0MzQkVC
MTM1Q0FGM0MwMEI4QzFBQyAvKiBNZWRpYUNvbnRyb2xzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjNDM0JFOTEzNUNBRjNDMDBCOEMxQUMgLyogTWVk
aWFDb250cm9scy5oICovOyB9OwogCQkyMEQ2MjkyNjEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDIwRDYyOTI0MTI1MzY5MEIwMDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uY3BwICovOyB9OwogCQkyMEQ2MjkyNzEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyMEQ2MjkyNTEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmggKi87IH07CiAJCTIyNzc3NzYwMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JG
cm9udGVuZENoYW5uZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDIyNzc3NzVGMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5u
ZWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAt
NzEwMSw2ICs3MTAzLDggQEAKIAkJMUNGNkJFMTIwRTlCQjQ2NzAwMjVFMUNEIC8qIE9iakNOb2Rl
RmlsdGVyQ29uZGl0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gT2JqQ05vZGVGaWx0ZXJDb25kaXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFDRjZCRTEzMEU5QkI0NjcwMDI1RTFDRCAvKiBPYmpDTm9kZUZpbHRlckNvbmRpdGlvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPYmpDTm9kZUZpbHRlckNvbmRpdGlv
bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0ZBRTMyMjBBNkQ2QTNGMDAzMjU5
M0QgLyogbGlib2JqYy5keWxpYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBuYW1lID0gbGlib2JqYy5keWxp
YjsgcGF0aCA9IC91c3IvbGliL2xpYm9iamMuZHlsaWI7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRl
PiI7IH07CisJCTFGM0MzQkU4MTM1Q0FGM0MwMEI4QzFBQyAvKiBNZWRpYUNvbnRyb2xzLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhQ29udHJvbHMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxRjNDM0JFOTEzNUNBRjNDMDBCOEMxQUMgLyog
TWVkaWFDb250cm9scy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUNv
bnRyb2xzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTIwRDYyOTI0MTI1MzY5MEIw
MDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjBENjI5MjUxMjUzNjkwQjAwMDgxNTQzIC8qIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MjI3Nzc3NUYxMzQ1REVBOTAwOEVBNDU1IC8qIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNTM5LDYgKzEzNTQzLDggQEAKIAkJ
CQk0MTcyNTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuaCAqLywK
IAkJCQk0MTU3QUY3RjEyRjFGQjA0MDBBOEM2RjUgLyogTWVkaWFDb250cm9sUm9vdEVsZW1lbnQu
Y3BwICovLAogCQkJCTQxNTdBRjdFMTJGMUZCMDQwMEE4QzZGNSAvKiBNZWRpYUNvbnRyb2xSb290
RWxlbWVudC5oICovLAorCQkJCTFGM0MzQkU4MTM1Q0FGM0MwMEI4QzFBQyAvKiBNZWRpYUNvbnRy
b2xzLmNwcCAqLywKKwkJCQkxRjNDM0JFOTEzNUNBRjNDMDBCOEMxQUMgLyogTWVkaWFDb250cm9s
cy5oICovLAogCQkJCUE3OEU1MjZEMTM0NkJEMTcwMEFEOUMzMSAvKiBNZXRlclNoYWRvd0VsZW1l
bnQuY3BwICovLAogCQkJCUE3OEU1MjZFMTM0NkJEMTcwMEFEOUMzMSAvKiBNZXRlclNoYWRvd0Vs
ZW1lbnQuaCAqLywKIAkJCQlBNzE1RTY1MDEzNEJCQkVDMDBEOEU3MTMgLyogUHJvZ3Jlc3NTaGFk
b3dFbGVtZW50LmNwcCAqLywKQEAgLTIxMDUxLDggKzIxMDU3LDggQEAKIAkJCQkxQ0ExOUUxNjBE
QzI1NUNBMDA2NUE5OTQgLyogRXZlbnRMb29wLmggaW4gSGVhZGVycyAqLywKIAkJCQk5Mzk4ODVD
NDA4QjdFM0QxMDBFNzA3QzQgLyogRXZlbnROYW1lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEY2
NzU2MUIxMjg4QjE3QjAwNDdBQ0EzIC8qIEV2ZW50UXVldWUuaCBpbiBIZWFkZXJzICovLAotCQkJ
CUUwRkVGMzcyQjE3QzUzRUFDMUMxRkJFRSAvKiBFdmVudFNvdXJjZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMjI3NzdCNEIxMzRBMDE4QzAwOEVBNDU1IC8qIEV2ZW50c0NvbGxlY3Rvci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJRTBGRUYzNzJCMTdDNTNFQUMxQzFGQkVFIC8qIEV2ZW50U291cmNlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlFMTJFREI3QjBCMzA4QTc4MDAyNzA0QjYgLyogRXZlbnRUYXJn
ZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNjBEOEYzMEQyQTExRTAwMEI5OTE4RiAvKiBFeGNl
cHRpb25CYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzVGQkNGMjA5QkExNDNCMDBFMjMwQjEg
LyogRXhjZXB0aW9uQ29kZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMTk2Miw2ICsyMTk2OCwxMCBA
QAogCQkJCUJDRTY1QkVCMEVBQ0RGMTYwMDdFNDUzMyAvKiBMZW5ndGguaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDRkY2NDkxMEVBRDE1QzIwMEMxRDZGNyAvKiBMZW5ndGhCb3guaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDRkY2NDkyMEVBRDE1QzIwMEMxRDZGNyAvKiBMZW5ndGhTaXplLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk4Q0FERjJBOTEzNUM3QjM2MDA5RUY0M0YgLyogTGV2ZWxEQkNvbXBhcmF0
b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCThDQURGMkFCMTM1QzdCMzYwMDlFRjQzRiAvKiBMZXZl
bERCRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCThDQURGMkFEMTM1QzdCMzYwMDlFRjQz
RiAvKiBMZXZlbERCSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCThDQURGMkFFMTM1QzdC
MzYwMDlFRjQzRiAvKiBMZXZlbERCU2xpY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0NzMwRDkx
MTI0OEYwQjMwMEQzQTlDOSAvKiBMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIy
Mjc5NjUwRDAwQkYyMjAwNzFCNzgyIC8qIExpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQUIzMUM5MUUxMEFFMUI4RTAwMEM3QjkyIC8qIExpbmVDbGFtcFZhbHVl
LmggaW4gSGVhZGVycyAqLywKQEAgLTIxOTk5LDYgKzIyMDA5LDcgQEAKIAkJCQk5MzFCQ0M2MTEx
MjRERkNCMDBCRTcwREQgLyogTWVkaWFDYW5TdGFydExpc3RlbmVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0MTcyNTNBQjEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuaCBp
biBIZWFkZXJzICovLAogCQkJCTQxNTdBRjgwMTJGMUZCMDQwMEE4QzZGNSAvKiBNZWRpYUNvbnRy
b2xSb290RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUYzQzNCRUIxMzVDQUYzQzAwQjhD
MUFDIC8qIE1lZGlhQ29udHJvbHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3MjA1QUI4MTIzOTI5
MTAwMEIxNzM4MCAvKiBNZWRpYURvY3VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDQ2MTNB
RDBDRDYzMzEwMDBGQURBNzUgLyogTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEUx
OTU5MjIwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmggaW4gSGVhZGVycyAq
LywKQEAgLTIyOTkyLDEwICsyMzAwMyw2IEBACiAJCQkJOTNGMTk5RUQwODI0NUU1OTAwMUU5QUJD
IC8qIFhTTFRQcm9jZXNzb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQkU1MTJFMENGNkM1MTIw
MDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3N0UyRTBG
MTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NGaWx0ZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCThDQURG
MkE5MTM1QzdCMzYwMDlFRjQzRiAvKiBMZXZlbERCQ29tcGFyYXRvci5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJOENBREYyQUIxMzVDN0IzNjAwOUVGNDNGIC8qIExldmVsREJEYXRhYmFzZS5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJOENBREYyQUQxMzVDN0IzNjAwOUVGNDNGIC8qIExldmVsREJJdGVyYXRv
ci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJOENBREYyQUUxMzVDN0IzNjAwOUVGNDNGIC8qIExldmVs
REJTbGljZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMzkxNSw4ICsyMzkyMiw4IEBACiAJCQkJMUNB
MTlFMDUwREMyNTU5NTAwNjVBOTk0IC8qIEV2ZW50TG9vcE1hYy5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTkzOTg4NUMzMDhCN0UzRDEwMEU3MDdDNCAvKiBFdmVudE5hbWVzLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCThGNjc1NjFDMTI4OEIxN0IwMDQ3QUNBMyAvKiBFdmVudFF1ZXVlLmNwcCBpbiBT
b3VyY2VzICovLAotCQkJCUUwRkVGMzcyQjI3QzUzRUFDMUMxRkJFRSAvKiBFdmVudFNvdXJjZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkyMjc3N0I0QTEzNEEwMThDMDA4RUE0NTUgLyogRXZlbnRz
Q29sbGVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUUwRkVGMzcyQjI3QzUzRUFDMUMxRkJF
RSAvKiBFdmVudFNvdXJjZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTJFREJFQTBCMzA4RTBC
MDAyNzA0QjYgLyogRXZlbnRUYXJnZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM2MEQ4RjIw
RDJBMTFFMDAwQjk5MThGIC8qIEV4Y2VwdGlvbkJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
OTM4MzFCNTcwRDA4N0Q2MDAwRTVDOTg0IC8qIEV4Y2VwdGlvbkNvZGUuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC0yNDg5NCw2ICsyNDkwMSw4IEBACiAJCQkJNTEyREQ4RjQwRDkxRTZBRjAwMEY4OUVF
IC8qIExlZ2FjeVdlYkFyY2hpdmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFCMjQxN0IwRDkz
MUYzRjAwRTgzRjVDIC8qIExlZ2FjeVdlYkFyY2hpdmVNYWMubW0gaW4gU291cmNlcyAqLywKIAkJ
CQlCQ0U2NUJFQTBFQUNERjE2MDA3RTQ1MzMgLyogTGVuZ3RoLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCThDQURGMkFBMTM1QzdCMzYwMDlFRjQzRiAvKiBMZXZlbERCRGF0YWJhc2UuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJOENBREYyQUMxMzVDN0IzNjAwOUVGNDNGIC8qIExldmVsREJJdGVyYXRv
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NDczMEQ5MDEyNDhGMEIzMDBEM0E5QzkgLyogTGln
aHRTb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODlCNUVBQTExMUU4MDAzRDAwRjIzNjdF
IC8qIExpbmVFbmRpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTdBRDJGODcwRUM4OUQwNzAw
OEFCMDAyIC8qIExpbmtIYXNoLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjQ5MjcsNiArMjQ5MzYs
NyBAQAogCQkJCTQ5RTkxMUM2MEVGODZENDcwMDlEMENBRiAvKiBNYXRyaXhUcmFuc2Zvcm1PcGVy
YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE3MjUzQUExMzU0QkJCQzAwMzYwRjJBIC8q
IE1lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxNTdBRjgxMTJG
MUZCMDQwMEE4QzZGNSAvKiBNZWRpYUNvbnRyb2xSb290RWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkxRjNDM0JFQTEzNUNBRjNDMDBCOEMxQUMgLyogTWVkaWFDb250cm9scy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk5NzIwNUFCNzEyMzkyOTEwMDBCMTczODAgLyogTWVkaWFEb2N1bWVu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0RTE5NTkyMTBBMzlEQUJBMDAyMjBGRTUgLyogTWVk
aWFGZWF0dXJlTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThFQTgwMDkwQTE5NTE2RTAw
QThFRjVGIC8qIE1lZGlhTGlzdC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI1NzAyLDggKzI1NzEy
LDYgQEAKIAkJCQk5M0YxOUIwNTA4MjQ1RTU5MDAxRTlBQkMgLyogWFNMVFByb2Nlc3NvckxpYnhz
bHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFCRTUxMkQwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhT
TFRVbmljb2RlU29ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzdFMkUwRTEyRjBGQzlDMDBD
MTMzNzkgLyogWFNTRmlsdGVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCThDQURGMkFBMTM1QzdC
MzYwMDlFRjQzRiAvKiBMZXZlbERCRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJOENB
REYyQUMxMzVDN0IzNjAwOUVGNDNGIC8qIExldmVsREJJdGVyYXRvci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGI0YWMxNGUy
Nzk0YzcxYTI4YmQ2OGIwY2Y4Njg1MzExMmQzM2U5MGUuLjZkYjdiNGU1NTVmNjQ2MjFhZDY1ZjAz
MjE1MjA2ZDE5MTEyNzMzMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcApAQCAtNDksNyArNDksNyBAQAogI2luY2x1ZGUgIkhUTUxTb3VyY2VFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSFRNTFZpZGVvRWxlbWVudC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNs
dWRlICJNZWRpYUNvbnRyb2xSb290RWxlbWVudC5oIgorI2luY2x1ZGUgIk1lZGlhQ29udHJvbHMu
aCIKICNpbmNsdWRlICJNZWRpYURvY3VtZW50LmgiCiAjaW5jbHVkZSAiTWVkaWFFcnJvci5oIgog
I2luY2x1ZGUgIk1lZGlhTGlzdC5oIgpAQCAtMjY1Myw5ICsyNjUzLDE0IEBAIHZvaWQgSFRNTE1l
ZGlhRWxlbWVudDo6cHJpdmF0ZUJyb3dzaW5nU3RhdGVEaWRDaGFuZ2UoKQogICAgIG1fcGxheWVy
LT5zZXRQcml2YXRlQnJvd3NpbmdNb2RlKHByaXZhdGVNb2RlKTsKIH0KIAotTWVkaWFDb250cm9s
Um9vdEVsZW1lbnQqIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhQ29udHJvbHMoKQorTWVkaWFDb250
cm9scyogSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFDb250cm9scygpCiB7Ci0gICAgcmV0dXJuIHNo
YWRvd1Jvb3QoKSA/IHRvTWVkaWFDb250cm9scyhzaGFkb3dSb290KCktPmZpcnN0Q2hpbGQoKSkg
OiAwOworICAgIGlmICghc2hhZG93Um9vdCgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIE5v
ZGUqIG5vZGUgPSBzaGFkb3dSb290KCktPmZpcnN0Q2hpbGQoKTsKKyAgICBBU1NFUlQobm9kZS0+
aXNIVE1MRWxlbWVudCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TWVkaWFDb250cm9scyo+
KG5vZGUpOwogfQogCiBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Omhhc01lZGlhQ29udHJvbHMoKQpA
QCAtMjY2OSwxMCArMjY3NCwxMCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmVuc3VyZU1lZGlh
Q29udHJvbHMoKQogICAgICAgICByZXR1cm47CiAKICAgICBFeGNlcHRpb25Db2RlIGVjOwotICAg
IGVuc3VyZVNoYWRvd1Jvb3QoKS0+YXBwZW5kQ2hpbGQoTWVkaWFDb250cm9sUm9vdEVsZW1lbnQ6
OmNyZWF0ZSh0aGlzKSwgZWMpOworICAgIGVuc3VyZVNoYWRvd1Jvb3QoKS0+YXBwZW5kQ2hpbGQo
TWVkaWFDb250cm9sczo6Y3JlYXRlKHRoaXMpLCBlYyk7CiB9CiAKLXZvaWQqIEhUTUxNZWRpYUVs
ZW1lbnQ6OnByZURpc3BhdGNoRXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkgCit2b2lkKiBIVE1M
TWVkaWFFbGVtZW50OjpwcmVEaXNwYXRjaEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiB7CiAg
ICAgaWYgKGV2ZW50ICYmIGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLndlYmtpdGZ1bGxz
Y3JlZW5jaGFuZ2VFdmVudCkgewogICAgICAgICBpZiAoY29udHJvbHMoKSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCAyOTNmNzEzOGM4OTkzZDdjOGU2MTM1OWI2
M2E2MTUxZjkxYTczZTJhLi42MDRjZGY4NDA5YTVlMDU1MDEzZTM4NzIyYWQwNTA2MWE0ZWQ5MTA1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtNDEsNyArNDEsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEV2ZW50OwogY2xhc3MgSFRNTFNvdXJjZUVs
ZW1lbnQ7Ci1jbGFzcyBNZWRpYUNvbnRyb2xSb290RWxlbWVudDsKK2NsYXNzIE1lZGlhQ29udHJv
bHM7CiBjbGFzcyBNZWRpYUVycm9yOwogY2xhc3MgS1VSTDsKIGNsYXNzIFRpbWVSYW5nZXM7CkBA
IC0xNzIsNyArMTcyLDcgQEAgcHVibGljOgogICAgIGJvb2wgY2xvc2VkQ2FwdGlvbnNWaXNpYmxl
KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDbG9zZWRDYXB0aW9uc1Zpc2libGUoYm9vbCk7CiAKLSAg
ICBNZWRpYUNvbnRyb2xSb290RWxlbWVudCogbWVkaWFDb250cm9scygpOworICAgIE1lZGlhQ29u
dHJvbHMqIG1lZGlhQ29udHJvbHMoKTsKIAogICAgIGJvb2wgcHJvY2Vzc2luZ1VzZXJHZXN0dXJl
KCkgY29uc3Q7CiAKQEAgLTMzNSw3ICszMzUsNyBAQCBwcml2YXRlOgogICAgIFRpbWVyPEhUTUxN
ZWRpYUVsZW1lbnQ+IG1fcGxheWJhY2tQcm9ncmVzc1RpbWVyOwogICAgIFZlY3RvcjxSZWZQdHI8
RXZlbnQ+ID4gbV9wZW5kaW5nRXZlbnRzOwogICAgIFJlZlB0cjxUaW1lUmFuZ2VzPiBtX3BsYXll
ZFRpbWVSYW5nZXM7Ci0gICAgCisKICAgICBmbG9hdCBtX3BsYXliYWNrUmF0ZTsKICAgICBmbG9h
dCBtX2RlZmF1bHRQbGF5YmFja1JhdGU7CiAgICAgYm9vbCBtX3dlYmtpdFByZXNlcnZlc1BpdGNo
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxl
bWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVu
dHMuY3BwCmluZGV4IDUyMjA5Y2Q3YmYwMTYzYWYyOTY2OWZlZmVjMTNhZWRhOWNiYjBmYTYuLjMy
ODY0MGI3NGQ4MGMwMTA0ODdhNjRjNjAxNjI1MTJkMjRkMzdjNDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTM4LDcg
KzM4LDcgQEAKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2lu
Y2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKLSNpbmNsdWRlICJNZWRpYUNvbnRyb2xSb290RWxl
bWVudC5oIgorI2luY2x1ZGUgIk1lZGlhQ29udHJvbHMuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50
LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlbmRlckZsZXhpYmxlQm94LmgiCkBA
IC0zNDYsMTMgKzM0NiwxMyBAQCB2b2lkIE1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50Ojp1
cGRhdGVEaXNwbGF5VHlwZSgpCiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAot
aW5saW5lIE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbFBh
bmVsTXV0ZUJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBNZWRp
YUNvbnRyb2xSb290RWxlbWVudCogY29udHJvbHMpCitpbmxpbmUgTWVkaWFDb250cm9sUGFuZWxN
dXRlQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVudChIVE1M
TWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbHMqIGNvbnRyb2xzKQogICAg
IDogTWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQobWVkaWFFbGVtZW50LCBNZWRpYU11dGVC
dXR0b24pCiAgICAgLCBtX2NvbnRyb2xzKGNvbnRyb2xzKQogewogfQogCi1QYXNzUmVmUHRyPE1l
ZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQ+IE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1
dHRvbkVsZW1lbnQ6OmNyZWF0ZShIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlh
Q29udHJvbFJvb3RFbGVtZW50KiBjb250cm9scykKK1Bhc3NSZWZQdHI8TWVkaWFDb250cm9sUGFu
ZWxNdXRlQnV0dG9uRWxlbWVudD4gTWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVudDo6
Y3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVkaWFDb250cm9scyogY29u
dHJvbHMpCiB7CiAgICAgQVNTRVJUKGNvbnRyb2xzKTsKIApAQCAtNjI2LDEzICs2MjYsMTMgQEAg
Y29uc3QgQXRvbWljU3RyaW5nJiBNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRv
bkVsZW1lbnQ6OnNoYWRvd1BzZXVkb0kKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogCi1NZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6Ok1lZGlhQ29udHJvbFRpbWVsaW5lRWxl
bWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50KiBjb250cm9scykKK01lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6TWVkaWFDb250cm9s
VGltZWxpbmVFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVkaWFDb250
cm9scyogY29udHJvbHMpCiAgICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQobWVkaWFFbGVt
ZW50LCBNZWRpYVNsaWRlcikKICAgICAsIG1fY29udHJvbHMoY29udHJvbHMpCiB7CiB9CiAKLVBh
c3NSZWZQdHI8TWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50PiBNZWRpYUNvbnRyb2xUaW1lbGlu
ZUVsZW1lbnQ6OmNyZWF0ZShIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29u
dHJvbFJvb3RFbGVtZW50KiBjb250cm9scykKK1Bhc3NSZWZQdHI8TWVkaWFDb250cm9sVGltZWxp
bmVFbGVtZW50PiBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OmNyZWF0ZShIVE1MTWVkaWFF
bGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbHMqIGNvbnRyb2xzKQogewogICAgIEFT
U0VSVChjb250cm9scyk7CiAKQEAgLTc2NywxMyArNzY3LDEzIEBAIGNvbnN0IEF0b21pY1N0cmlu
ZyYgTWVkaWFDb250cm9sRnVsbHNjcmVlblZvbHVtZVNsaWRlckVsZW1lbnQ6OnNoYWRvd1BzZXVk
b0lkKCkKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1pbmxpbmUgTWVkaWFD
b250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0
b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVkaWFDb250cm9sUm9v
dEVsZW1lbnQqIGNvbnRyb2xzKQoraW5saW5lIE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25F
bGVtZW50OjpNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudChIVE1MTWVkaWFFbGVt
ZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbHMqIGNvbnRyb2xzKQogICAgIDogTWVkaWFD
b250cm9sSW5wdXRFbGVtZW50KG1lZGlhRWxlbWVudCwgTWVkaWFGdWxsc2NyZWVuQnV0dG9uKQog
ICAgICwgbV9jb250cm9scyhjb250cm9scykKIHsKIH0KIAotUGFzc1JlZlB0cjxNZWRpYUNvbnRy
b2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudD4gTWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVs
ZW1lbnQ6OmNyZWF0ZShIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJv
bFJvb3RFbGVtZW50KiBjb250cm9scykKK1Bhc3NSZWZQdHI8TWVkaWFDb250cm9sRnVsbHNjcmVl
bkJ1dHRvbkVsZW1lbnQ+IE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50OjpjcmVh
dGUoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBNZWRpYUNvbnRyb2xzKiBjb250cm9s
cykKIHsKICAgICBBU1NFUlQoY29udHJvbHMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaAppbmRleCA5NGQ0YmM2MTI2ZmY3MGM4NjA0
ODI2YWJlY2JiMTZjNmQzYWRkMTE3Li5kYjMxNThiMjk0YmFhOTc0OTEwZjE3YjAxOGU4ZTI5Y2Fj
OTM1Mjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRy
b2xFbGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bEVsZW1lbnRzLmgKQEAgLTQyLDcgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBFdmVudDsKIGNsYXNzIEZyYW1lOwotY2xhc3MgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQ7Citj
bGFzcyBNZWRpYUNvbnRyb2xzOwogCiAvLyBNdXN0IG1hdGNoIFdlYktpdFN5c3RlbUludGVyZmFj
ZS5oCiBlbnVtIE1lZGlhQ29udHJvbEVsZW1lbnRUeXBlIHsKQEAgLTE5MywxNSArMTkzLDE1IEBA
IHByaXZhdGU6CiAKIGNsYXNzIE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQgOiBw
dWJsaWMgTWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQgewogcHVibGljOgotICAgIHN0YXRp
YyBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQ+IGNyZWF0ZShI
VE1MTWVkaWFFbGVtZW50KiwgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQqKTsKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50PiBjcmVhdGUoSFRN
TE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbHMqKTsKIAogcHJpdmF0ZToKLSAgICBNZWRpYUNv
bnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRy
b2xSb290RWxlbWVudCopOworICAgIE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQo
SFRNTE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbHMqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBk
ZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJp
bmcmIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7CiAKLSAgICBNZWRpYUNvbnRyb2xSb290RWxlbWVu
dCogbV9jb250cm9sczsKKyAgICBNZWRpYUNvbnRyb2xzKiBtX2NvbnRyb2xzOwogfTsKIAogLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMzI1LDE4ICszMjUsMTggQEAgcHJpdmF0
ZToKIAogY2xhc3MgTWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50IDogcHVibGljIE1lZGlhQ29u
dHJvbElucHV0RWxlbWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFD
b250cm9sVGltZWxpbmVFbGVtZW50PiBjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCosIE1lZGlhQ29u
dHJvbFJvb3RFbGVtZW50Kik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFDb250cm9sVGlt
ZWxpbmVFbGVtZW50PiBjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbHMqKTsK
IAogICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiAgICAgdm9p
ZCBzZXRQb3NpdGlvbihmbG9hdCk7CiAgICAgdm9pZCBzZXREdXJhdGlvbihmbG9hdCk7CiAKIHBy
aXZhdGU6Ci0gICAgTWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQq
LCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCopOworICAgIE1lZGlhQ29udHJvbFRpbWVsaW5lRWxl
bWVudChIVE1MTWVkaWFFbGVtZW50KiwgTWVkaWFDb250cm9scyopOwogCiAgICAgdmlydHVhbCBj
b25zdCBBdG9taWNTdHJpbmcmIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7CiAKLSAgICBNZWRpYUNv
bnRyb2xSb290RWxlbWVudCogbV9jb250cm9sczsKKyAgICBNZWRpYUNvbnRyb2xzKiBtX2NvbnRy
b2xzOwogfTsKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMzU5LDE2ICsz
NTksMTYgQEAgcHJpdmF0ZToKIAogY2xhc3MgTWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVs
ZW1lbnQgOiBwdWJsaWMgTWVkaWFDb250cm9sSW5wdXRFbGVtZW50IHsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudD4gY3Jl
YXRlKEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCopOworICAgIHN0
YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50PiBjcmVh
dGUoSFRNTE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbHMqKTsKIAogICAgIHZpcnR1YWwgdm9p
ZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiAKIHByaXZhdGU6Ci0gICAgTWVkaWFDb250
cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJv
bFJvb3RFbGVtZW50Kik7CisgICAgTWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQo
SFRNTE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbHMqKTsKIAogICAgIHZpcnR1YWwgY29uc3Qg
QXRvbWljU3RyaW5nJiBzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0OwogCi0gICAgTWVkaWFDb250cm9s
Um9vdEVsZW1lbnQqIG1fY29udHJvbHM7CisgICAgTWVkaWFDb250cm9scyogbV9jb250cm9sczsK
IH07CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmNwcAppbmRleCAx
NDdmMGI2ZjdiOWEwNjNlN2Q4YWVhZDRlNDI2MDQ2ZjYxMzFlZDdjLi4yM2EyNWY1NjlmYzBlYjcx
MGUyN2NiNTVjODc5OGQzYWQyZWQ1Njg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuY3BwCkBAIC0yOSwyNiArMjksMTYg
QEAKICNpZiBFTkFCTEUoVklERU8pCiAjaW5jbHVkZSAiTWVkaWFDb250cm9sUm9vdEVsZW1lbnQu
aCIKIAotI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKLSNpbmNsdWRlICJGbG9hdENvbnZlcnNpb24u
aCIKLSNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJNZWRpYUNvbnRyb2xFbGVtZW50
cy5oIgotI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCi0jaW5jbHVk
ZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgotI2luY2x1ZGUgPHd0
Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+Ci0KIAogdXNpbmcg
bmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi11c2luZyBuYW1lc3BhY2Ug
SFRNTE5hbWVzOwotCiBNZWRpYUNvbnRyb2xSb290RWxlbWVudDo6TWVkaWFDb250cm9sUm9vdEVs
ZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KQotICAgIDogSFRNTERpdkVsZW1l
bnQoZGl2VGFnLCBtZWRpYUVsZW1lbnQtPmRvY3VtZW50KCkpCisgICAgOiBNZWRpYUNvbnRyb2xz
KG1lZGlhRWxlbWVudCkKICAgICAsIG1fbWVkaWFFbGVtZW50KG1lZGlhRWxlbWVudCkKICAgICAs
IG1fcmV3aW5kQnV0dG9uKDApCiAgICAgLCBtX3BsYXlCdXR0b24oMCkKQEAgLTc0LDYgKzY0LDEx
IEBAIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50OjpNZWRpYUNvbnRyb2xSb290RWxlbWVudChIVE1M
TWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCiB7CiB9CiAKK1Bhc3NSZWZQdHI8TWVkaWFDb250
cm9scz4gTWVkaWFDb250cm9sczo6Y3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVu
dCkKK3sKKyAgICByZXR1cm4gTWVkaWFDb250cm9sUm9vdEVsZW1lbnQ6OmNyZWF0ZShtZWRpYUVs
ZW1lbnQpOworfQorCiBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFJvb3RFbGVtZW50PiBNZWRpYUNv
bnRyb2xSb290RWxlbWVudDo6Y3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkK
IHsKICAgICBpZiAoIW1lZGlhRWxlbWVudC0+ZG9jdW1lbnQoKS0+cGFnZSgpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmgKaW5k
ZXggMGE4NTU4MjIxMDViNTg1NjQ2YjYxYTAzNWM3MWNmZWJiNTM3YTljZi4uOGM2ZDNlYzgyZjM1
NGJkNzllNDMwNzFhZWJjNGZiYTU0NmFmMTIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudC5oCkBAIC0yNCwxOCArMjQsMTYg
QEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBNZWRpYUNvbnRyb2xzX2gKLSNkZWZp
bmUgTWVkaWFDb250cm9sc19oCisjaWZuZGVmIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50X2gKKyNk
ZWZpbmUgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFZJREVPKQogCi0j
aW5jbHVkZSAiSFRNTERpdkVsZW1lbnQuaCIKLSNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUg
Ik1lZGlhQ29udHJvbHMuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgSFRNTEVsZW1lbnQ7CiBjbGFzcyBIVE1MSW5wdXRFbGVtZW50Owog
Y2xhc3MgSFRNTE1lZGlhRWxlbWVudDsKIGNsYXNzIEV2ZW50OwpAQCAtNjgsMTAgKzY2LDExIEBA
IGNsYXNzIE1lZGlhUGxheWVyOwogY2xhc3MgUmVuZGVyQm94OwogY2xhc3MgUmVuZGVyTWVkaWE7
CiAKLWNsYXNzIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50IDogcHVibGljIEhUTUxEaXZFbGVtZW50
IHsKK2NsYXNzIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50IDogcHVibGljIE1lZGlhQ29udHJvbHMg
ewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFJvb3RFbGVtZW50
PiBjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCopOwogCisgICAgLy8gTWVkaWFDb250cm9scyBpbXBs
ZW1lbnRhdGlvbi4KICAgICB2b2lkIHNob3coKTsKICAgICB2b2lkIGhpZGUoKTsKICAgICB2b2lk
IG1ha2VPcGFxdWUoKTsKQEAgLTEyOCwxMiArMTI3LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
b3BhcXVlOwogfTsKIAotaW5saW5lIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50KiB0b01lZGlhQ29u
dHJvbHMoTm9kZSogbm9kZSkKLXsKLSAgICBBU1NFUlQobm9kZS0+aXNIVE1MRWxlbWVudCgpKTsK
LSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TWVkaWFDb250cm9sUm9vdEVsZW1lbnQqPihub2RlKTsK
LX0KLQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L01lZGlhQ29udHJvbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9scy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjYxZmQxOWI3OWUzMTc4MzI2MzU3ZjY5NzhhYzQwOWZmNWEw
ZWI3YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlh
Q29udHJvbHMuY3BwCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorCisjaWYgRU5BQkxFKFZJREVPKQorCisjaW5jbHVkZSAiTWVkaWFDb250cm9scy5oIgorCisj
aW5jbHVkZSAiSFRNTERpdkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50Lmgi
CisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTWVkaWFD
b250cm9sczo6TWVkaWFDb250cm9scyhIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCisg
ICAgOiBIVE1MRGl2RWxlbWVudChIVE1MTmFtZXM6OmRpdlRhZywgbWVkaWFFbGVtZW50LT5kb2N1
bWVudCgpKQoreworfQorCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
TWVkaWFDb250cm9scy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjODhlYmIyNWM4MmY3YmNhOWRkYTY1ZTgyYzBj
ZDg3NTQ3NDg4YTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9NZWRpYUNvbnRyb2xzLmgKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE1lZGlh
Q29udHJvbHNfaAorI2RlZmluZSBNZWRpYUNvbnRyb2xzX2gKKworI2lmIEVOQUJMRShWSURFTykK
KworI2luY2x1ZGUgIkhUTUxEaXZFbGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgSFRNTE1lZGlhRWxlbWVudDsKKworY2xhc3MgTWVkaWFDb250cm9scyA6IHB1YmxpYyBI
VE1MRGl2RWxlbWVudCB7CisgIHB1YmxpYzoKKyAgICB2aXJ0dWFsIH5NZWRpYUNvbnRyb2xzKCkg
e30KKworICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgdG8gYmUgaW1wbGVtZW50ZWQgaW4geW91ciBw
b3J0LXNwZWNpZmljIG1lZGlhCisgICAgLy8gY29udHJvbHMgaW1wbGVtZW50YXRpb24uCisgICAg
c3RhdGljIFBhc3NSZWZQdHI8TWVkaWFDb250cm9scz4gY3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQq
KTsKKworICAgIHZpcnR1YWwgdm9pZCBzaG93KCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBoaWRl
KCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBtYWtlT3BhcXVlKCkgPSAwOworICAgIHZpcnR1YWwg
dm9pZCBtYWtlVHJhbnNwYXJlbnQoKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVzZXQoKSA9
IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgcGxheWJhY2tQcm9ncmVzc2VkKCkgPSAwOworICAgIHZp
cnR1YWwgdm9pZCBwbGF5YmFja1N0YXJ0ZWQoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHBsYXli
YWNrU3RvcHBlZCgpID0gMDsKKworICAgIHZpcnR1YWwgdm9pZCBjaGFuZ2VkTXV0ZSgpID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQgY2hhbmdlZFZvbHVtZSgpID0gMDsKKworICAgIHZpcnR1YWwgdm9p
ZCBlbnRlcmVkRnVsbHNjcmVlbigpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZXhpdGVkRnVsbHNj
cmVlbigpID0gMDsKKworICAgIHZpcnR1YWwgdm9pZCByZXBvcnRlZEVycm9yKCkgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBjaGFuZ2VkTmV0d29ya1N0YXRlKCkgPSAwOworICAgIHZpcnR1YWwgdm9p
ZCBsb2FkZWRNZXRhZGF0YSgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgY2hhbmdlZENsb3NlZENh
cHRpb25zVmlzaWJpbGl0eSgpID0gMDsKKworICAgIHZpcnR1YWwgdm9pZCBzaG93Vm9sdW1lU2xp
ZGVyKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVUaW1lRGlzcGxheSgpID0gMDsKKwor
cHJvdGVjdGVkOgorICAgIE1lZGlhQ29udHJvbHMoSFRNTE1lZGlhRWxlbWVudCopOworCitwcml2
YXRlOgorICAgIE1lZGlhQ29udHJvbHMoKTsKK307CisKK30KKworI2VuZGlmCisKKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90088</attachid>
            <date>2011-04-18 13:58:42 -0700</date>
            <delta_ts>2011-04-18 14:48:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58346-20110418135841.patch</filename>
            <type>text/plain</type>
            <size>32078</size>
            <attacher name="Steve Lacey">sjl</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQxNTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Fu
ZHJvaWQubWsgYi9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLm1rCmluZGV4IDg4YjlkYjExNDFlYjQw
YjY2MjAwY2ZhYjdjNGExOTBkYTdiY2IzZTEuLjViZTEyYTkwZDY0OWQwODE3OGRjZmQ4NjM3MjA3
N2UwODExMTQxOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQubWsKKysrIGIv
U291cmNlL1dlYkNvcmUvQW5kcm9pZC5tawpAQCAtMzU1LDYgKzM1NSw3IEBAIExPQ0FMX1NSQ19G
SUxFUyA6PSAkKExPQ0FMX1NSQ19GSUxFUykgXAogCWh0bWwvcGFyc2VyL1RleHRWaWV3U291cmNl
UGFyc2VyLmNwcCBcCiAJaHRtbC9wYXJzZXIvWFNTRmlsdGVyLmNwcCBcCiAJXAorCWh0bWwvc2hh
ZG93L01lZGlhQ29udHJvbHMuY3BwIFwKIAlodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5jcHAgXAogCWh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmNwcCBcCiAJaHRt
bC9zaGFkb3cvTWV0ZXJTaGFkb3dFbGVtZW50LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IGU0ZGY2MjVlMmEyNzRkOTNkMTNlNDIxZmM3OTdhNDMzNmE1NmFiMGMuLjg3NjVjM2I3NzljNGNk
NGMwMmNkMGZmNmE1ZjYzMjVlODA3MmUzNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC04ODUs
NiArODg1LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGh0bWwvcGFyc2VyL1hTU0ZpbHRl
ci5jcHAKIAogICAgIGh0bWwvc2hhZG93L0RldGFpbHNNYXJrZXJDb250cm9sLmNwcAorICAgIGh0
bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwCiAgICAgaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
Um9vdEVsZW1lbnQuY3BwCiAgICAgaHRtbC9zaGFkb3cvTWV0ZXJTaGFkb3dFbGVtZW50LmNwcAog
ICAgIGh0bWwvc2hhZG93L1Byb2dyZXNzU2hhZG93RWxlbWVudC5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBk
YThmZDIyMWMxZmQxZjM2NWQ2YTFlYzc2ZWI4NzRiM2Q1YzhjMjdlLi44MTViMjkxMTY2MGQxN2U1
ZTc1ODJkYTBmMDczMjIyN2MzYzY3N2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODYgQEAKKzIw
MTEtMDQtMTggIFN0ZXZlIExhY2V5ICA8c2psQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWNvdXBsZSBtZWRpYSBjb250cm9s
cyB1c2FnZSBmcm9tIGltcGxlbWVudGF0aW9uLgorICAgICAgICBUaGlzIGFsbG93cyBlYWNoIHBv
cnQgdG8gaW1wbGVtZW50IHRoaWVyIG93biBjb250cm9scyBpbiBhIGRpZmZlcmVudAorICAgICAg
ICBtYW5uZXIgdG8gdGhlIGRlZmF1bHQgd2Via2l0IGltcGxlbWVudGF0aW9uLgorCisgICAgICAg
IENvbnZlcnQgbWVkaWEgY29udHJvbHMgaG9va3MgdG8gYSBjbGllbnQgaW50ZXJmYWNlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODM0NgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cyBhcyB0aGVyZSBpcyBubyBmdW5jdGlvbmFsIGNoYW5nZS4KKworICAg
ICAgICAqIEFuZHJvaWQubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
R05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICog
V2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6Cisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGh0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50OjptZWRpYUNvbnRyb2xzKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OmVuc3VyZU1lZGlhQ29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6cHJlRGlzcGF0Y2hFdmVudEhhbmRsZXIpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxl
bWVudC5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQ6Ok1l
ZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6TWVkaWFDb250cm9sVGltZWxpbmVFbGVt
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVt
ZW50OjpNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudDo6Y3JlYXRlKToKKyAgICAg
ICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oOgorICAgICAgICAqIGh0bWwv
c2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhQ29udHJvbFJvb3RFbGVtZW50OjpNZWRpYUNvbnRyb2xSb290RWxlbWVudCk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvc2hhZG93
L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9scy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sczo6TWVk
aWFDb250cm9scyk6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHM6On5NZWRpYUNvbnRyb2xzKToKKwor
MjAxMS0wNC0xOCAgU3RldmUgTGFjZXkgIDxzamxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERlY291cGxlIG1lZGlhIGNvbnRy
b2xzIHVzYWdlIGZyb20gaW1wbGVtZW50YXRpb24uCisgICAgICAgIFRoaXMgYWxsb3dzIGVhY2gg
cG9ydCB0byBpbXBsZW1lbnQgdGhpZXIgb3duIGNvbnRyb2xzIGluIGEgZGlmZmVyZW50CisgICAg
ICAgIG1hbm5lciB0byB0aGUgZGVmYXVsdCB3ZWJraXQgaW1wbGVtZW50YXRpb24uCisKKyAgICAg
ICAgQ29udmVydCBtZWRpYSBjb250cm9scyBob29rcyB0byBhIGNsaWVudCBpbnRlcmZhY2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4MzQ2CisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzIGFzIHRoZXJlIGlzIG5vIGZ1bmN0aW9uYWwgY2hhbmdlLgorCisg
ICAgICAgICogQW5kcm9pZC5tazoKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAg
KiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhQ29udHJvbHMpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6ZW5zdXJlTWVkaWFDb250cm9scyk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpwcmVEaXNwYXRjaEV2ZW50SGFu
ZGxlcik6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogaHRt
bC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sUGFuZWxNdXRlQnV0
dG9uRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0
b25FbGVtZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVGltZWxp
bmVFbGVtZW50OjpNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbEZ1bGxz
Y3JlZW5CdXR0b25FbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbEZ1bGxz
Y3JlZW5CdXR0b25FbGVtZW50OjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlh
Q29udHJvbEVsZW1lbnRzLmg6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9v
dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnQ6
Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJv
bHM6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1l
bnQuaDoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzOjpNZWRpYUNvbnRyb2xzKToKKyAgICAgICAg
KiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFDb250cm9sczo6fk1lZGlhQ29udHJvbHMpOgorCiAyMDExLTA0LTE1ICBNT1JJVEEgSGFq
aW1lICA8bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFy
dGguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBjNDEzZGVlNzE1NjEyYTcwNjkz
NjYyMGI4OTEzZmE2NDZiMzJjZjVjLi5kNjIxNjlmYjZmZmFiNGM0MmExNDc5NWJlNjJlZDkxMDVk
YzU3ZmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTE4NDUsNiArMTg0NSw4
IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNT
RmlsdGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RldGFpbHNNYXJrZXJDb250
cm9sLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGV0YWlsc01hcmtlckNvbnRy
b2wuaCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5jcHAgXAor
CVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuaCBcCiAJU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudC5jcHAgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CmluZGV4IGE4ZDdiMmQzZjI2OWIxODhjYTI3NTkxZGRjYzY0OWZjOTQ3OTY4YzIuLjBmM2I3OTY5
MjQ0NDAyZDRjZjUxMWIyODBhOTk4ZjkwMDM5NDE3YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTMx
NzYsNiArMzE3Niw4IEBACiAgICAgICAgICAgICAnaHRtbC9wYXJzZXIvWFNTRmlsdGVyLmgnLAog
ICAgICAgICAgICAgJ2h0bWwvc2hhZG93L0RldGFpbHNNYXJrZXJDb250cm9sLmNwcCcsCiAgICAg
ICAgICAgICAnaHRtbC9zaGFkb3cvRGV0YWlsc01hcmtlckNvbnRyb2wuaCcsCisgICAgICAgICAg
ICAnaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5jcHAnLAorICAgICAgICAgICAgJ2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbHMuaCcsCiAgICAgICAgICAgICAnaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sRWxlbWVudHMuY3BwJywKICAgICAgICAgICAgICdodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5oJywKICAgICAgICAgICAgICdodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxl
bWVudC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCBlMGIyNWQ3Y2Y5YTIzYjAwYWNiMGYzZTEwN2Ji
NmU3ZWU3MzAzMTA5Li41Njg4OWY1MDg5MDIwYWExZjA5OWE4NGM2ODExOTlhNjI4NzIzYzAyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnBybwpAQCAtODA0LDYgKzgwNCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGh0bWwv
cGFyc2VyL1RleHRWaWV3U291cmNlUGFyc2VyLmNwcCBcCiAgICAgaHRtbC9wYXJzZXIvWFNTRmls
dGVyLmNwcCBcCiAgICAgaHRtbC9zaGFkb3cvRGV0YWlsc01hcmtlckNvbnRyb2wuY3BwIFwKKyAg
ICBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcCBcCiAgICAgaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sUm9vdEVsZW1lbnQuY3BwIFwKICAgICBodG1sL3NoYWRvdy9NZXRlclNoYWRvd0VsZW1l
bnQuY3BwIFwKICAgICBodG1sL3NoYWRvdy9Qcm9ncmVzc1NoYWRvd0VsZW1lbnQuY3BwIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggZGI2Zjll
YjBkMzg3NzdiNmRlYTQxMGY1NmE4YTYxZWIyMjlkNmVmYS4uMjhmMzQ5MGM0ZWM5M2VmMzE1OTY4
ZWNjODc4NjA1OWI4MzUzNDk1ZiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKQEAgLTU2NzA5LDYgKzU2NzA5LDE0IEBACiAJCQkJCT4KIAkJCQk8L0Zp
bGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXHNoYWRvd1xNZWRpYUNv
bnRyb2xzLmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGh0bWxcc2hhZG93XE1lZGlhQ29udHJvbHMuaCIKKwkJCQkJPgorCQkJCTwvRmls
ZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcc2hhZG93XE1lZGlhQ29u
dHJvbEVsZW1lbnRzLmNwcCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0NTg2ZGE3YWRlOGRi
MTM0ODMyN2MxMDFiZTlmNTY3ZTkxMmRlMGZiLi4zNzdjYjA3ZjhmNjJjNWQwZjQwN2Q2NDM2MDc1
YjFjYTc2MGQ1OGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC02NDMsNiArNjQzLDggQEAKIAkJMUNGNkJFMTQwRTlCQjQ2NzAw
MjVFMUNEIC8qIE9iakNOb2RlRmlsdGVyQ29uZGl0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNGNkJFMTIwRTlCQjQ2NzAwMjVFMUNEIC8qIE9i
akNOb2RlRmlsdGVyQ29uZGl0aW9uLm1tICovOyB9OwogCQkxQ0Y2QkUxNTBFOUJCNDY3MDAyNUUx
Q0QgLyogT2JqQ05vZGVGaWx0ZXJDb25kaXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRjZCRTEzMEU5QkI0NjcwMDI1RTFDRCAvKiBPYmpDTm9k
ZUZpbHRlckNvbmRpdGlvbi5oICovOyB9OwogCQkxQ0ZBRTMyMzBBNkQ2QTNGMDAzMjU5M0QgLyog
bGlib2JqYy5keWxpYiBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFDRkFFMzIyMEE2RDZBM0YwMDMyNTkzRCAvKiBsaWJvYmpjLmR5bGliICovOyB9Owor
CQkxRjNDM0JFQTEzNUNBRjNDMDBCOEMxQUMgLyogTWVkaWFDb250cm9scy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjNDM0JFODEzNUNBRjNDMDBC
OEMxQUMgLyogTWVkaWFDb250cm9scy5jcHAgKi87IH07CisJCTFGM0MzQkVCMTM1Q0FGM0MwMEI4
QzFBQyAvKiBNZWRpYUNvbnRyb2xzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxRjNDM0JFOTEzNUNBRjNDMDBCOEMxQUMgLyogTWVkaWFDb250cm9scy5o
ICovOyB9OwogCQkyMEQ2MjkyNjEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDIwRDYyOTI0MTI1MzY5MEIwMDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3Bw
ICovOyB9OwogCQkyMEQ2MjkyNzEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
MEQ2MjkyNTEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggKi87
IH07CiAJCTIyNzc3NzYwMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5u
ZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIyNzc3
NzVGMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNzEwMSw2ICs3MTAz
LDggQEAKIAkJMUNGNkJFMTIwRTlCQjQ2NzAwMjVFMUNEIC8qIE9iakNOb2RlRmlsdGVyQ29uZGl0
aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gT2JqQ05vZGVG
aWx0ZXJDb25kaXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDRjZCRTEz
MEU5QkI0NjcwMDI1RTFDRCAvKiBPYmpDTm9kZUZpbHRlckNvbmRpdGlvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBPYmpDTm9kZUZpbHRlckNvbmRpdGlvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0ZBRTMyMjBBNkQ2QTNGMDAzMjU5M0QgLyogbGlib2Jq
Yy5keWxpYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBuYW1lID0gbGlib2JqYy5keWxpYjsgcGF0aCA9IC91
c3IvbGliL2xpYm9iamMuZHlsaWI7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CisJCTFG
M0MzQkU4MTM1Q0FGM0MwMEI4QzFBQyAvKiBNZWRpYUNvbnRyb2xzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhQ29udHJvbHMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxRjNDM0JFOTEzNUNBRjNDMDBCOEMxQUMgLyogTWVkaWFDb250cm9s
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUNvbnRyb2xzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTIwRDYyOTI0MTI1MzY5MEIwMDA4MTU0MyAvKiBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMjBENjI5MjUxMjUzNjkwQjAwMDgxNTQzIC8qIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjI3Nzc3NUYxMzQ1
REVBOTAwOEVBNDU1IC8qIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNTM5LDYgKzEzNTQzLDggQEAKIAkJCQk0MTcyNTNBOTEz
NTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuaCAqLywKIAkJCQk0MTU3QUY3
RjEyRjFGQjA0MDBBOEM2RjUgLyogTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuY3BwICovLAogCQkJ
CTQxNTdBRjdFMTJGMUZCMDQwMEE4QzZGNSAvKiBNZWRpYUNvbnRyb2xSb290RWxlbWVudC5oICov
LAorCQkJCTFGM0MzQkU4MTM1Q0FGM0MwMEI4QzFBQyAvKiBNZWRpYUNvbnRyb2xzLmNwcCAqLywK
KwkJCQkxRjNDM0JFOTEzNUNBRjNDMDBCOEMxQUMgLyogTWVkaWFDb250cm9scy5oICovLAogCQkJ
CUE3OEU1MjZEMTM0NkJEMTcwMEFEOUMzMSAvKiBNZXRlclNoYWRvd0VsZW1lbnQuY3BwICovLAog
CQkJCUE3OEU1MjZFMTM0NkJEMTcwMEFEOUMzMSAvKiBNZXRlclNoYWRvd0VsZW1lbnQuaCAqLywK
IAkJCQlBNzE1RTY1MDEzNEJCQkVDMDBEOEU3MTMgLyogUHJvZ3Jlc3NTaGFkb3dFbGVtZW50LmNw
cCAqLywKQEAgLTIxMDUxLDggKzIxMDU3LDggQEAKIAkJCQkxQ0ExOUUxNjBEQzI1NUNBMDA2NUE5
OTQgLyogRXZlbnRMb29wLmggaW4gSGVhZGVycyAqLywKIAkJCQk5Mzk4ODVDNDA4QjdFM0QxMDBF
NzA3QzQgLyogRXZlbnROYW1lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEY2NzU2MUIxMjg4QjE3
QjAwNDdBQ0EzIC8qIEV2ZW50UXVldWUuaCBpbiBIZWFkZXJzICovLAotCQkJCUUwRkVGMzcyQjE3
QzUzRUFDMUMxRkJFRSAvKiBFdmVudFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjI3NzdC
NEIxMzRBMDE4QzAwOEVBNDU1IC8qIEV2ZW50c0NvbGxlY3Rvci5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJRTBGRUYzNzJCMTdDNTNFQUMxQzFGQkVFIC8qIEV2ZW50U291cmNlLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMTJFREI3QjBCMzA4QTc4MDAyNzA0QjYgLyogRXZlbnRUYXJnZXQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDNjBEOEYzMEQyQTExRTAwMEI5OTE4RiAvKiBFeGNlcHRpb25CYXNlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5MzVGQkNGMjA5QkExNDNCMDBFMjMwQjEgLyogRXhjZXB0aW9u
Q29kZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMTk2Miw2ICsyMTk2OCwxMCBAQAogCQkJCUJDRTY1
QkVCMEVBQ0RGMTYwMDdFNDUzMyAvKiBMZW5ndGguaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRkY2
NDkxMEVBRDE1QzIwMEMxRDZGNyAvKiBMZW5ndGhCb3guaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
RkY2NDkyMEVBRDE1QzIwMEMxRDZGNyAvKiBMZW5ndGhTaXplLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk4Q0FERjJBOTEzNUM3QjM2MDA5RUY0M0YgLyogTGV2ZWxEQkNvbXBhcmF0b3IuaCBpbiBIZWFk
ZXJzICovLAorCQkJCThDQURGMkFCMTM1QzdCMzYwMDlFRjQzRiAvKiBMZXZlbERCRGF0YWJhc2Uu
aCBpbiBIZWFkZXJzICovLAorCQkJCThDQURGMkFEMTM1QzdCMzYwMDlFRjQzRiAvKiBMZXZlbERC
SXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCThDQURGMkFFMTM1QzdCMzYwMDlFRjQzRiAv
KiBMZXZlbERCU2xpY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0NzMwRDkxMTI0OEYwQjMwMEQz
QTlDOSAvKiBMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjc5NjUwRDAwQkYy
MjAwNzFCNzgyIC8qIExpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQUIzMUM5MUUxMEFFMUI4RTAwMEM3QjkyIC8qIExpbmVDbGFtcFZhbHVlLmggaW4gSGVhZGVy
cyAqLywKQEAgLTIxOTk5LDYgKzIyMDA5LDcgQEAKIAkJCQk5MzFCQ0M2MTExMjRERkNCMDBCRTcw
REQgLyogTWVkaWFDYW5TdGFydExpc3RlbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTcyNTNB
QjEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTQxNTdBRjgwMTJGMUZCMDQwMEE4QzZGNSAvKiBNZWRpYUNvbnRyb2xSb290RWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUYzQzNCRUIxMzVDQUYzQzAwQjhDMUFDIC8qIE1lZGlh
Q29udHJvbHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3MjA1QUI4MTIzOTI5MTAwMEIxNzM4MCAv
KiBNZWRpYURvY3VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDQ2MTNBRDBDRDYzMzEwMDBG
QURBNzUgLyogTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEUxOTU5MjIwQTM5REFC
QTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmggaW4gSGVhZGVycyAqLywKQEAgLTIyOTky
LDEwICsyMzAwMyw2IEBACiAJCQkJOTNGMTk5RUQwODI0NUU1OTAwMUU5QUJDIC8qIFhTTFRQcm9j
ZXNzb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQkU1MTJFMENGNkM1MTIwMDJFQTk1OSAvKiBY
U0xUVW5pY29kZVNvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3N0UyRTBGMTJGMEZDOUMwMEMx
MzM3OSAvKiBYU1NGaWx0ZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCThDQURGMkE5MTM1QzdCMzYw
MDlFRjQzRiAvKiBMZXZlbERCQ29tcGFyYXRvci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJOENBREYy
QUIxMzVDN0IzNjAwOUVGNDNGIC8qIExldmVsREJEYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJOENBREYyQUQxMzVDN0IzNjAwOUVGNDNGIC8qIExldmVsREJJdGVyYXRvci5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJOENBREYyQUUxMzVDN0IzNjAwOUVGNDNGIC8qIExldmVsREJTbGljZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CiAJCX07CkBAIC0yMzkxNSw4ICsyMzkyMiw4IEBACiAJCQkJMUNBMTlFMDUwREMyNTU5
NTAwNjVBOTk0IC8qIEV2ZW50TG9vcE1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkzOTg4NUMz
MDhCN0UzRDEwMEU3MDdDNCAvKiBFdmVudE5hbWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCThG
Njc1NjFDMTI4OEIxN0IwMDQ3QUNBMyAvKiBFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCUUwRkVGMzcyQjI3QzUzRUFDMUMxRkJFRSAvKiBFdmVudFNvdXJjZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkyMjc3N0I0QTEzNEEwMThDMDA4RUE0NTUgLyogRXZlbnRzQ29sbGVjdG9yLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUUwRkVGMzcyQjI3QzUzRUFDMUMxRkJFRSAvKiBFdmVudFNv
dXJjZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTJFREJFQTBCMzA4RTBCMDAyNzA0QjYgLyog
RXZlbnRUYXJnZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM2MEQ4RjIwRDJBMTFFMDAwQjk5
MThGIC8qIEV4Y2VwdGlvbkJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM4MzFCNTcwRDA4
N0Q2MDAwRTVDOTg0IC8qIEV4Y2VwdGlvbkNvZGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNDg5
NCw2ICsyNDkwMSw4IEBACiAJCQkJNTEyREQ4RjQwRDkxRTZBRjAwMEY4OUVFIC8qIExlZ2FjeVdl
YkFyY2hpdmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFCMjQxN0IwRDkzMUYzRjAwRTgzRjVD
IC8qIExlZ2FjeVdlYkFyY2hpdmVNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQ0U2NUJFQTBF
QUNERjE2MDA3RTQ1MzMgLyogTGVuZ3RoLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCThDQURGMkFB
MTM1QzdCMzYwMDlFRjQzRiAvKiBMZXZlbERCRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJOENBREYyQUMxMzVDN0IzNjAwOUVGNDNGIC8qIExldmVsREJJdGVyYXRvci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk4NDczMEQ5MDEyNDhGMEIzMDBEM0E5QzkgLyogTGlnaHRTb3VyY2UuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJODlCNUVBQTExMUU4MDAzRDAwRjIzNjdFIC8qIExpbmVFbmRp
bmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTdBRDJGODcwRUM4OUQwNzAwOEFCMDAyIC8qIExp
bmtIYXNoLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjQ5MjcsNiArMjQ5MzYsNyBAQAogCQkJCTQ5
RTkxMUM2MEVGODZENDcwMDlEMENBRiAvKiBNYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNDE3MjUzQUExMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJv
bEVsZW1lbnRzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxNTdBRjgxMTJGMUZCMDQwMEE4QzZG
NSAvKiBNZWRpYUNvbnRyb2xSb290RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxRjND
M0JFQTEzNUNBRjNDMDBCOEMxQUMgLyogTWVkaWFDb250cm9scy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5NzIwNUFCNzEyMzkyOTEwMDBCMTczODAgLyogTWVkaWFEb2N1bWVudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk0RTE5NTkyMTBBMzlEQUJBMDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFt
ZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThFQTgwMDkwQTE5NTE2RTAwQThFRjVGIC8qIE1l
ZGlhTGlzdC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI1NzAyLDggKzI1NzEyLDYgQEAKIAkJCQk5
M0YxOUIwNTA4MjQ1RTU5MDAxRTlBQkMgLyogWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRTFCRTUxMkQwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29y
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzdFMkUwRTEyRjBGQzlDMDBDMTMzNzkgLyogWFNT
RmlsdGVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCThDQURGMkFBMTM1QzdCMzYwMDlFRjQzRiAv
KiBMZXZlbERCRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJOENBREYyQUMxMzVDN0Iz
NjAwOUVGNDNGIC8qIExldmVsREJJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGI0YWMxNGUyNzk0YzcxYTI4YmQ2
OGIwY2Y4Njg1MzExMmQzM2U5MGUuLjZkYjdiNGU1NTVmNjQ2MjFhZDY1ZjAzMjE1MjA2ZDE5MTEy
NzMzMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNDks
NyArNDksNyBAQAogI2luY2x1ZGUgIkhUTUxTb3VyY2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRN
TFZpZGVvRWxlbWVudC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlICJNZWRpYUNv
bnRyb2xSb290RWxlbWVudC5oIgorI2luY2x1ZGUgIk1lZGlhQ29udHJvbHMuaCIKICNpbmNsdWRl
ICJNZWRpYURvY3VtZW50LmgiCiAjaW5jbHVkZSAiTWVkaWFFcnJvci5oIgogI2luY2x1ZGUgIk1l
ZGlhTGlzdC5oIgpAQCAtMjY1Myw5ICsyNjUzLDE0IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
cHJpdmF0ZUJyb3dzaW5nU3RhdGVEaWRDaGFuZ2UoKQogICAgIG1fcGxheWVyLT5zZXRQcml2YXRl
QnJvd3NpbmdNb2RlKHByaXZhdGVNb2RlKTsKIH0KIAotTWVkaWFDb250cm9sUm9vdEVsZW1lbnQq
IEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhQ29udHJvbHMoKQorTWVkaWFDb250cm9scyogSFRNTE1l
ZGlhRWxlbWVudDo6bWVkaWFDb250cm9scygpCiB7Ci0gICAgcmV0dXJuIHNoYWRvd1Jvb3QoKSA/
IHRvTWVkaWFDb250cm9scyhzaGFkb3dSb290KCktPmZpcnN0Q2hpbGQoKSkgOiAwOworICAgIGlm
ICghc2hhZG93Um9vdCgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIE5vZGUqIG5vZGUgPSBz
aGFkb3dSb290KCktPmZpcnN0Q2hpbGQoKTsKKyAgICBBU1NFUlQobm9kZS0+aXNIVE1MRWxlbWVu
dCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TWVkaWFDb250cm9scyo+KG5vZGUpOwogfQog
CiBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Omhhc01lZGlhQ29udHJvbHMoKQpAQCAtMjY2OSwxMCAr
MjY3NCwxMCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmVuc3VyZU1lZGlhQ29udHJvbHMoKQog
ICAgICAgICByZXR1cm47CiAKICAgICBFeGNlcHRpb25Db2RlIGVjOwotICAgIGVuc3VyZVNoYWRv
d1Jvb3QoKS0+YXBwZW5kQ2hpbGQoTWVkaWFDb250cm9sUm9vdEVsZW1lbnQ6OmNyZWF0ZSh0aGlz
KSwgZWMpOworICAgIGVuc3VyZVNoYWRvd1Jvb3QoKS0+YXBwZW5kQ2hpbGQoTWVkaWFDb250cm9s
czo6Y3JlYXRlKHRoaXMpLCBlYyk7CiB9CiAKLXZvaWQqIEhUTUxNZWRpYUVsZW1lbnQ6OnByZURp
c3BhdGNoRXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkgCit2b2lkKiBIVE1MTWVkaWFFbGVtZW50
OjpwcmVEaXNwYXRjaEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiB7CiAgICAgaWYgKGV2ZW50
ICYmIGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2VF
dmVudCkgewogICAgICAgICBpZiAoY29udHJvbHMoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaAppbmRleCAyOTNmNzEzOGM4OTkzZDdjOGU2MTM1OWI2M2E2MTUxZjkxYTcz
ZTJhLi42MDRjZGY4NDA5YTVlMDU1MDEzZTM4NzIyYWQwNTA2MWE0ZWQ5MTA1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEV2ZW50OwogY2xhc3MgSFRNTFNvdXJjZUVsZW1lbnQ7Ci1jbGFz
cyBNZWRpYUNvbnRyb2xSb290RWxlbWVudDsKK2NsYXNzIE1lZGlhQ29udHJvbHM7CiBjbGFzcyBN
ZWRpYUVycm9yOwogY2xhc3MgS1VSTDsKIGNsYXNzIFRpbWVSYW5nZXM7CkBAIC0xNzIsNyArMTcy
LDcgQEAgcHVibGljOgogICAgIGJvb2wgY2xvc2VkQ2FwdGlvbnNWaXNpYmxlKCkgY29uc3Q7CiAg
ICAgdm9pZCBzZXRDbG9zZWRDYXB0aW9uc1Zpc2libGUoYm9vbCk7CiAKLSAgICBNZWRpYUNvbnRy
b2xSb290RWxlbWVudCogbWVkaWFDb250cm9scygpOworICAgIE1lZGlhQ29udHJvbHMqIG1lZGlh
Q29udHJvbHMoKTsKIAogICAgIGJvb2wgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkgY29uc3Q7CiAK
QEAgLTMzNSw3ICszMzUsNyBAQCBwcml2YXRlOgogICAgIFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+
IG1fcGxheWJhY2tQcm9ncmVzc1RpbWVyOwogICAgIFZlY3RvcjxSZWZQdHI8RXZlbnQ+ID4gbV9w
ZW5kaW5nRXZlbnRzOwogICAgIFJlZlB0cjxUaW1lUmFuZ2VzPiBtX3BsYXllZFRpbWVSYW5nZXM7
Ci0gICAgCisKICAgICBmbG9hdCBtX3BsYXliYWNrUmF0ZTsKICAgICBmbG9hdCBtX2RlZmF1bHRQ
bGF5YmFja1JhdGU7CiAgICAgYm9vbCBtX3dlYmtpdFByZXNlcnZlc1BpdGNoOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4
IDUyMjA5Y2Q3YmYwMTYzYWYyOTY2OWZlZmVjMTNhZWRhOWNiYjBmYTYuLjMyODY0MGI3NGQ4MGMw
MTA0ODdhNjRjNjAxNjI1MTJkMjRkMzdjNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTM4LDcgKzM4LDcgQEAKICNp
bmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkxvY2Fs
aXplZFN0cmluZ3MuaCIKLSNpbmNsdWRlICJNZWRpYUNvbnRyb2xSb290RWxlbWVudC5oIgorI2lu
Y2x1ZGUgIk1lZGlhQ29udHJvbHMuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAjaW5jbHVk
ZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlbmRlckZsZXhpYmxlQm94LmgiCkBAIC0zNDYsMTMgKzM0
NiwxMyBAQCB2b2lkIE1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50Ojp1cGRhdGVEaXNwbGF5
VHlwZSgpCiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotaW5saW5lIE1lZGlh
Q29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRv
bkVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBNZWRpYUNvbnRyb2xSb290
RWxlbWVudCogY29udHJvbHMpCitpbmxpbmUgTWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxl
bWVudDo6TWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVudChIVE1MTWVkaWFFbGVtZW50
KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbHMqIGNvbnRyb2xzKQogICAgIDogTWVkaWFDb250
cm9sTXV0ZUJ1dHRvbkVsZW1lbnQobWVkaWFFbGVtZW50LCBNZWRpYU11dGVCdXR0b24pCiAgICAg
LCBtX2NvbnRyb2xzKGNvbnRyb2xzKQogewogfQogCi1QYXNzUmVmUHRyPE1lZGlhQ29udHJvbFBh
bmVsTXV0ZUJ1dHRvbkVsZW1lbnQ+IE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQ6
OmNyZWF0ZShIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbFJvb3RF
bGVtZW50KiBjb250cm9scykKK1Bhc3NSZWZQdHI8TWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9u
RWxlbWVudD4gTWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVudDo6Y3JlYXRlKEhUTUxN
ZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVkaWFDb250cm9scyogY29udHJvbHMpCiB7CiAg
ICAgQVNTRVJUKGNvbnRyb2xzKTsKIApAQCAtNjI2LDEzICs2MjYsMTMgQEAgY29uc3QgQXRvbWlj
U3RyaW5nJiBNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ6OnNo
YWRvd1BzZXVkb0kKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1NZWRpYUNv
bnRyb2xUaW1lbGluZUVsZW1lbnQ6Ok1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudChIVE1MTWVk
aWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50KiBjb250cm9s
cykKK01lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6TWVkaWFDb250cm9sVGltZWxpbmVFbGVt
ZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVkaWFDb250cm9scyogY29udHJv
bHMpCiAgICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQobWVkaWFFbGVtZW50LCBNZWRpYVNs
aWRlcikKICAgICAsIG1fY29udHJvbHMoY29udHJvbHMpCiB7CiB9CiAKLVBhc3NSZWZQdHI8TWVk
aWFDb250cm9sVGltZWxpbmVFbGVtZW50PiBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OmNy
ZWF0ZShIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50KiBjb250cm9scykKK1Bhc3NSZWZQdHI8TWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50PiBN
ZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OmNyZWF0ZShIVE1MTWVkaWFFbGVtZW50KiBtZWRp
YUVsZW1lbnQsIE1lZGlhQ29udHJvbHMqIGNvbnRyb2xzKQogewogICAgIEFTU0VSVChjb250cm9s
cyk7CiAKQEAgLTc2NywxMyArNzY3LDEzIEBAIGNvbnN0IEF0b21pY1N0cmluZyYgTWVkaWFDb250
cm9sRnVsbHNjcmVlblZvbHVtZVNsaWRlckVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKCkKIAogLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1pbmxpbmUgTWVkaWFDb250cm9sRnVsbHNj
cmVlbkJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50KEhU
TUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQqIGNv
bnRyb2xzKQoraW5saW5lIE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50OjpNZWRp
YUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVs
ZW1lbnQsIE1lZGlhQ29udHJvbHMqIGNvbnRyb2xzKQogICAgIDogTWVkaWFDb250cm9sSW5wdXRF
bGVtZW50KG1lZGlhRWxlbWVudCwgTWVkaWFGdWxsc2NyZWVuQnV0dG9uKQogICAgICwgbV9jb250
cm9scyhjb250cm9scykKIHsKIH0KIAotUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xGdWxsc2NyZWVu
QnV0dG9uRWxlbWVudD4gTWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ6OmNyZWF0
ZShIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50
KiBjb250cm9scykKK1Bhc3NSZWZQdHI8TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1l
bnQ+IE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50OjpjcmVhdGUoSFRNTE1lZGlh
RWxlbWVudCogbWVkaWFFbGVtZW50LCBNZWRpYUNvbnRyb2xzKiBjb250cm9scykKIHsKICAgICBB
U1NFUlQoY29udHJvbHMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVk
aWFDb250cm9sRWxlbWVudHMuaAppbmRleCA5NGQ0YmM2MTI2ZmY3MGM4NjA0ODI2YWJlY2JiMTZj
NmQzYWRkMTE3Li5kYjMxNThiMjk0YmFhOTc0OTEwZjE3YjAxOGU4ZTI5Y2FjOTM1Mjk2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgK
QEAgLTQyLDcgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFdmVudDsKIGNs
YXNzIEZyYW1lOwotY2xhc3MgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQ7CitjbGFzcyBNZWRpYUNv
bnRyb2xzOwogCiAvLyBNdXN0IG1hdGNoIFdlYktpdFN5c3RlbUludGVyZmFjZS5oCiBlbnVtIE1l
ZGlhQ29udHJvbEVsZW1lbnRUeXBlIHsKQEAgLTE5MywxNSArMTkzLDE1IEBAIHByaXZhdGU6CiAK
IGNsYXNzIE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQgOiBwdWJsaWMgTWVkaWFD
b250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRy
PE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQ+IGNyZWF0ZShIVE1MTWVkaWFFbGVt
ZW50KiwgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQqKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxN
ZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50PiBjcmVhdGUoSFRNTE1lZGlhRWxlbWVu
dCosIE1lZGlhQ29udHJvbHMqKTsKIAogcHJpdmF0ZToKLSAgICBNZWRpYUNvbnRyb2xQYW5lbE11
dGVCdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xSb290RWxlbWVu
dCopOworICAgIE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxl
bWVudCosIE1lZGlhQ29udHJvbHMqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRI
YW5kbGVyKEV2ZW50Kik7CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHNoYWRvd1Bz
ZXVkb0lkKCkgY29uc3Q7CiAKLSAgICBNZWRpYUNvbnRyb2xSb290RWxlbWVudCogbV9jb250cm9s
czsKKyAgICBNZWRpYUNvbnRyb2xzKiBtX2NvbnRyb2xzOwogfTsKIAogLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQpAQCAtMzI1LDE4ICszMjUsMTggQEAgcHJpdmF0ZToKIAogY2xhc3Mg
TWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50IDogcHVibGljIE1lZGlhQ29udHJvbElucHV0RWxl
bWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFDb250cm9sVGltZWxp
bmVFbGVtZW50PiBjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50Kik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50
PiBjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbHMqKTsKIAogICAgIHZpcnR1
YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiAgICAgdm9pZCBzZXRQb3NpdGlv
bihmbG9hdCk7CiAgICAgdm9pZCBzZXREdXJhdGlvbihmbG9hdCk7CiAKIHByaXZhdGU6Ci0gICAg
TWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRy
b2xSb290RWxlbWVudCopOworICAgIE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudChIVE1MTWVk
aWFFbGVtZW50KiwgTWVkaWFDb250cm9scyopOwogCiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNT
dHJpbmcmIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7CiAKLSAgICBNZWRpYUNvbnRyb2xSb290RWxl
bWVudCogbV9jb250cm9sczsKKyAgICBNZWRpYUNvbnRyb2xzKiBtX2NvbnRyb2xzOwogfTsKIAog
Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMzU5LDE2ICszNTksMTYgQEAgcHJp
dmF0ZToKIAogY2xhc3MgTWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQgOiBwdWJs
aWMgTWVkaWFDb250cm9sSW5wdXRFbGVtZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudD4gY3JlYXRlKEhUTUxNZWRp
YUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCopOworICAgIHN0YXRpYyBQYXNzUmVm
UHRyPE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50PiBjcmVhdGUoSFRNTE1lZGlh
RWxlbWVudCosIE1lZGlhQ29udHJvbHMqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZl
bnRIYW5kbGVyKEV2ZW50Kik7CiAKIHByaXZhdGU6Ci0gICAgTWVkaWFDb250cm9sRnVsbHNjcmVl
bkJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50
Kik7CisgICAgTWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxl
bWVudCosIE1lZGlhQ29udHJvbHMqKTsKIAogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5n
JiBzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0OwogCi0gICAgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQq
IG1fY29udHJvbHM7CisgICAgTWVkaWFDb250cm9scyogbV9jb250cm9sczsKIH07CiAKIC8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmNwcAppbmRleCAxNDdmMGI2ZjdiOWEw
NjNlN2Q4YWVhZDRlNDI2MDQ2ZjYxMzFlZDdjLi4yM2EyNWY1NjlmYzBlYjcxMGUyN2NiNTVjODc5
OGQzYWQyZWQ1Njg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRp
YUNvbnRyb2xSb290RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
TWVkaWFDb250cm9sUm9vdEVsZW1lbnQuY3BwCkBAIC0yOSwyNiArMjksMTYgQEAKICNpZiBFTkFC
TEUoVklERU8pCiAjaW5jbHVkZSAiTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuaCIKIAotI2luY2x1
ZGUgIkV2ZW50TmFtZXMuaCIKLSNpbmNsdWRlICJGbG9hdENvbnZlcnNpb24uaCIKLSNpbmNsdWRl
ICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJNZWRpYUNvbnRyb2xFbGVtZW50cy5oIgotI2luY2x1
ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCi0jaW5jbHVkZSAiUmVuZGVyTGF5
ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgotI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGlt
ZS5oPgotI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+Ci0KIAogdXNpbmcgbmFtZXNwYWNlIHN0
ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi11c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwot
CiBNZWRpYUNvbnRyb2xSb290RWxlbWVudDo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnQoSFRNTE1l
ZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KQotICAgIDogSFRNTERpdkVsZW1lbnQoZGl2VGFnLCBt
ZWRpYUVsZW1lbnQtPmRvY3VtZW50KCkpCisgICAgOiBNZWRpYUNvbnRyb2xzKG1lZGlhRWxlbWVu
dCkKICAgICAsIG1fbWVkaWFFbGVtZW50KG1lZGlhRWxlbWVudCkKICAgICAsIG1fcmV3aW5kQnV0
dG9uKDApCiAgICAgLCBtX3BsYXlCdXR0b24oMCkKQEAgLTc0LDYgKzY0LDExIEBAIE1lZGlhQ29u
dHJvbFJvb3RFbGVtZW50OjpNZWRpYUNvbnRyb2xSb290RWxlbWVudChIVE1MTWVkaWFFbGVtZW50
KiBtZWRpYUVsZW1lbnQpCiB7CiB9CiAKK1Bhc3NSZWZQdHI8TWVkaWFDb250cm9scz4gTWVkaWFD
b250cm9sczo6Y3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKK3sKKyAgICBy
ZXR1cm4gTWVkaWFDb250cm9sUm9vdEVsZW1lbnQ6OmNyZWF0ZShtZWRpYUVsZW1lbnQpOworfQor
CiBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFJvb3RFbGVtZW50PiBNZWRpYUNvbnRyb2xSb290RWxl
bWVudDo6Y3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKIHsKICAgICBpZiAo
IW1lZGlhRWxlbWVudC0+ZG9jdW1lbnQoKS0+cGFnZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmgKaW5kZXggMGE4NTU4MjIx
MDViNTg1NjQ2YjYxYTAzNWM3MWNmZWJiNTM3YTljZi4uOGM2ZDNlYzgyZjM1NGJkNzllNDMwNzFh
ZWJjNGZiYTU0NmFmMTIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
TWVkaWFDb250cm9sUm9vdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9NZWRpYUNvbnRyb2xSb290RWxlbWVudC5oCkBAIC0yNCwxOCArMjQsMTYgQEAKICAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCiAgKi8KIAotI2lmbmRlZiBNZWRpYUNvbnRyb2xzX2gKLSNkZWZpbmUgTWVkaWFDb250
cm9sc19oCisjaWZuZGVmIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50X2gKKyNkZWZpbmUgTWVkaWFD
b250cm9sUm9vdEVsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFZJREVPKQogCi0jaW5jbHVkZSAiSFRN
TERpdkVsZW1lbnQuaCIKLSNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUgIk1lZGlhQ29udHJv
bHMuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgSFRNTEVsZW1lbnQ7CiBjbGFzcyBIVE1MSW5wdXRFbGVtZW50OwogY2xhc3MgSFRNTE1l
ZGlhRWxlbWVudDsKIGNsYXNzIEV2ZW50OwpAQCAtNjgsMTAgKzY2LDExIEBAIGNsYXNzIE1lZGlh
UGxheWVyOwogY2xhc3MgUmVuZGVyQm94OwogY2xhc3MgUmVuZGVyTWVkaWE7CiAKLWNsYXNzIE1l
ZGlhQ29udHJvbFJvb3RFbGVtZW50IDogcHVibGljIEhUTUxEaXZFbGVtZW50IHsKK2NsYXNzIE1l
ZGlhQ29udHJvbFJvb3RFbGVtZW50IDogcHVibGljIE1lZGlhQ29udHJvbHMgewogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFJvb3RFbGVtZW50PiBjcmVhdGUoSFRN
TE1lZGlhRWxlbWVudCopOwogCisgICAgLy8gTWVkaWFDb250cm9scyBpbXBsZW1lbnRhdGlvbi4K
ICAgICB2b2lkIHNob3coKTsKICAgICB2b2lkIGhpZGUoKTsKICAgICB2b2lkIG1ha2VPcGFxdWUo
KTsKQEAgLTEyOCwxMiArMTI3LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fb3BhcXVlOwogfTsK
IAotaW5saW5lIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50KiB0b01lZGlhQ29udHJvbHMoTm9kZSog
bm9kZSkKLXsKLSAgICBBU1NFUlQobm9kZS0+aXNIVE1MRWxlbWVudCgpKTsKLSAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8TWVkaWFDb250cm9sUm9vdEVsZW1lbnQqPihub2RlKTsKLX0KLQogfQogCiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjYxZmQxOWI3OWUzMTc4MzI2MzU3ZjY5NzhhYzQwOWZmNWEwZWI3YgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3Bw
CkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5B
QkxFKFZJREVPKQorCisjaW5jbHVkZSAiTWVkaWFDb250cm9scy5oIgorCisjaW5jbHVkZSAiSFRN
TERpdkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCisjaW5jbHVkZSAi
SFRNTE5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTWVkaWFDb250cm9sczo6TWVk
aWFDb250cm9scyhIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCisgICAgOiBIVE1MRGl2
RWxlbWVudChIVE1MTmFtZXM6OmRpdlRhZywgbWVkaWFFbGVtZW50LT5kb2N1bWVudCgpKQorewor
fQorCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
TWVkaWFDb250cm9scy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmRjODhlYmIyNWM4MmY3YmNhOWRkYTY1ZTgyYzBjZDg3NTQ3NDg4YTgK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRy
b2xzLmgKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE1lZGlhQ29udHJvbHNfaAor
I2RlZmluZSBNZWRpYUNvbnRyb2xzX2gKKworI2lmIEVOQUJMRShWSURFTykKKworI2luY2x1ZGUg
IkhUTUxEaXZFbGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSFRNTE1l
ZGlhRWxlbWVudDsKKworY2xhc3MgTWVkaWFDb250cm9scyA6IHB1YmxpYyBIVE1MRGl2RWxlbWVu
dCB7CisgIHB1YmxpYzoKKyAgICB2aXJ0dWFsIH5NZWRpYUNvbnRyb2xzKCkge30KKworICAgIC8v
IFRoaXMgZnVuY3Rpb24gaXMgdG8gYmUgaW1wbGVtZW50ZWQgaW4geW91ciBwb3J0LXNwZWNpZmlj
IG1lZGlhCisgICAgLy8gY29udHJvbHMgaW1wbGVtZW50YXRpb24uCisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8TWVkaWFDb250cm9scz4gY3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqKTsKKworICAgIHZp
cnR1YWwgdm9pZCBzaG93KCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBoaWRlKCkgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBtYWtlT3BhcXVlKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBtYWtlVHJh
bnNwYXJlbnQoKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVzZXQoKSA9IDA7CisKKyAgICB2
aXJ0dWFsIHZvaWQgcGxheWJhY2tQcm9ncmVzc2VkKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBw
bGF5YmFja1N0YXJ0ZWQoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHBsYXliYWNrU3RvcHBlZCgp
ID0gMDsKKworICAgIHZpcnR1YWwgdm9pZCBjaGFuZ2VkTXV0ZSgpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgY2hhbmdlZFZvbHVtZSgpID0gMDsKKworICAgIHZpcnR1YWwgdm9pZCBlbnRlcmVkRnVs
bHNjcmVlbigpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZXhpdGVkRnVsbHNjcmVlbigpID0gMDsK
KworICAgIHZpcnR1YWwgdm9pZCByZXBvcnRlZEVycm9yKCkgPSAwOworICAgIHZpcnR1YWwgdm9p
ZCBjaGFuZ2VkTmV0d29ya1N0YXRlKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBsb2FkZWRNZXRh
ZGF0YSgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgY2hhbmdlZENsb3NlZENhcHRpb25zVmlzaWJp
bGl0eSgpID0gMDsKKworICAgIHZpcnR1YWwgdm9pZCBzaG93Vm9sdW1lU2xpZGVyKCkgPSAwOwor
ICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVUaW1lRGlzcGxheSgpID0gMDsKKworcHJvdGVjdGVkOgor
ICAgIE1lZGlhQ29udHJvbHMoSFRNTE1lZGlhRWxlbWVudCopOworCitwcml2YXRlOgorICAgIE1l
ZGlhQ29udHJvbHMoKTsKK307CisKK30KKworI2VuZGlmCisKKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90098</attachid>
            <date>2011-04-18 14:48:32 -0700</date>
            <delta_ts>2011-04-18 21:28:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58346-20110418144830.patch</filename>
            <type>text/plain</type>
            <size>30222</size>
            <attacher name="Steve Lacey">sjl</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQxODUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Fu
ZHJvaWQubWsgYi9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLm1rCmluZGV4IDg4YjlkYjExNDFlYjQw
YjY2MjAwY2ZhYjdjNGExOTBkYTdiY2IzZTEuLjViZTEyYTkwZDY0OWQwODE3OGRjZmQ4NjM3MjA3
N2UwODExMTQxOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQubWsKKysrIGIv
U291cmNlL1dlYkNvcmUvQW5kcm9pZC5tawpAQCAtMzU1LDYgKzM1NSw3IEBAIExPQ0FMX1NSQ19G
SUxFUyA6PSAkKExPQ0FMX1NSQ19GSUxFUykgXAogCWh0bWwvcGFyc2VyL1RleHRWaWV3U291cmNl
UGFyc2VyLmNwcCBcCiAJaHRtbC9wYXJzZXIvWFNTRmlsdGVyLmNwcCBcCiAJXAorCWh0bWwvc2hh
ZG93L01lZGlhQ29udHJvbHMuY3BwIFwKIAlodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5jcHAgXAogCWh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmNwcCBcCiAJaHRt
bC9zaGFkb3cvTWV0ZXJTaGFkb3dFbGVtZW50LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IGU0ZGY2MjVlMmEyNzRkOTNkMTNlNDIxZmM3OTdhNDMzNmE1NmFiMGMuLjg3NjVjM2I3NzljNGNk
NGMwMmNkMGZmNmE1ZjYzMjVlODA3MmUzNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC04ODUs
NiArODg1LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGh0bWwvcGFyc2VyL1hTU0ZpbHRl
ci5jcHAKIAogICAgIGh0bWwvc2hhZG93L0RldGFpbHNNYXJrZXJDb250cm9sLmNwcAorICAgIGh0
bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwCiAgICAgaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
Um9vdEVsZW1lbnQuY3BwCiAgICAgaHRtbC9zaGFkb3cvTWV0ZXJTaGFkb3dFbGVtZW50LmNwcAog
ICAgIGh0bWwvc2hhZG93L1Byb2dyZXNzU2hhZG93RWxlbWVudC5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2
ODJjZjZkNGI5MmVmZmZkNmVlMzk3MjVjN2YwNjhmY2ZmYTIzNGQwLi4zNWU4NWZhZTg2OGY0NDMw
ZDI3ZDc4YmMyNjlmZTA4ZGI3MzJmOWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIw
MTEtMDQtMTggIFN0ZXZlIExhY2V5ICA8c2psQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWNvdXBsZSBtZWRpYSBjb250cm9s
cyB1c2FnZSBmcm9tIGltcGxlbWVudGF0aW9uLgorICAgICAgICBUaGlzIGFsbG93cyBlYWNoIHBv
cnQgdG8gaW1wbGVtZW50IHRoaWVyIG93biBjb250cm9scyBpbiBhIGRpZmZlcmVudAorICAgICAg
ICBtYW5uZXIgdG8gdGhlIGRlZmF1bHQgd2Via2l0IGltcGxlbWVudGF0aW9uLgorCisgICAgICAg
IENvbnZlcnQgbWVkaWEgY29udHJvbHMgaG9va3MgdG8gYSBjbGllbnQgaW50ZXJmYWNlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODM0NgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cyBhcyB0aGVyZSBpcyBubyBmdW5jdGlvbmFsIGNoYW5nZS4KKworICAg
ICAgICAqIEFuZHJvaWQubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
R05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICog
V2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6Cisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGh0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50OjptZWRpYUNvbnRyb2xzKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OmVuc3VyZU1lZGlhQ29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6cHJlRGlzcGF0Y2hFdmVudEhhbmRsZXIpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxl
bWVudC5oOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQ6Ok1l
ZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6TWVkaWFDb250cm9sVGltZWxpbmVFbGVt
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVt
ZW50OjpNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudDo6Y3JlYXRlKToKKyAgICAg
ICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oOgorICAgICAgICAqIGh0bWwv
c2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhQ29udHJvbFJvb3RFbGVtZW50OjpNZWRpYUNvbnRyb2xSb290RWxlbWVudCk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xzOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvc2hhZG93
L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9scy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sczo6TWVk
aWFDb250cm9scyk6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHM6On5NZWRpYUNvbnRyb2xzKToKKwog
MjAxMS0wNC0xOCAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEdhdmluIEJhcnJhY2xvdWdoLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
aW5kZXggYzQxM2RlZTcxNTYxMmE3MDY5MzY2MjBiODkxM2ZhNjQ2YjMyY2Y1Yy4uZDYyMTY5ZmI2
ZmZhYjRjNDJhMTQ3OTViZTYyZWQ5MTA1ZGM1N2ZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCkBAIC0xODQ1LDYgKzE4NDUsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0ZpbHRlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9EZXRhaWxzTWFya2VyQ29udHJvbC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L0RldGFpbHNNYXJrZXJDb250cm9sLmggXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbHMuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRp
YUNvbnRyb2xzLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVs
ZW1lbnRzLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxl
bWVudHMuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVs
ZW1lbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBhOGQ3YjJkM2YyNjliMTg4Y2EyNzU5MWRk
Y2M2NDlmYzk0Nzk2OGMyLi4wZjNiNzk2OTI0NDQwMmQ0Y2Y1MTFiMjgwYTk5OGY5MDAzOTQxN2M1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zMTc2LDYgKzMxNzYsOCBAQAogICAgICAgICAgICAgJ2h0
bWwvcGFyc2VyL1hTU0ZpbHRlci5oJywKICAgICAgICAgICAgICdodG1sL3NoYWRvdy9EZXRhaWxz
TWFya2VyQ29udHJvbC5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvc2hhZG93L0RldGFpbHNNYXJr
ZXJDb250cm9sLmgnLAorICAgICAgICAgICAgJ2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3Bw
JywKKyAgICAgICAgICAgICdodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmgnLAogICAgICAgICAg
ICAgJ2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCcsCiAgICAgICAgICAgICAn
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaCcsCiAgICAgICAgICAgICAnaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggZTBi
MjVkN2NmOWEyM2IwMGFjYjBmM2UxMDdiYjZlN2VlNzMwMzEwOS4uNTY4ODlmNTA4OTAyMGFhMWYw
OTlhODRjNjgxMTk5YTYyODcyM2MwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5wcm8KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTgwNCw2ICs4MDQsNyBA
QCBTT1VSQ0VTICs9IFwKICAgICBodG1sL3BhcnNlci9UZXh0Vmlld1NvdXJjZVBhcnNlci5jcHAg
XAogICAgIGh0bWwvcGFyc2VyL1hTU0ZpbHRlci5jcHAgXAogICAgIGh0bWwvc2hhZG93L0RldGFp
bHNNYXJrZXJDb250cm9sLmNwcCBcCisgICAgaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5jcHAg
XAogICAgIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmNwcCBcCiAgICAgaHRt
bC9zaGFkb3cvTWV0ZXJTaGFkb3dFbGVtZW50LmNwcCBcCiAgICAgaHRtbC9zaGFkb3cvUHJvZ3Jl
c3NTaGFkb3dFbGVtZW50LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCmluZGV4IGRiNmY5ZWIwZDM4Nzc3YjZkZWE0MTBmNTZhOGE2MWViMjI5ZDZl
ZmEuLjI4ZjM0OTBjNGVjOTNlZjMxNTk2OGVjYzg3ODYwNTliODM1MzQ5NWYgMTAwNzU1Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC01NjcwOSw2ICs1Njcw
OSwxNCBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0
aD0iLi5caHRtbFxzaGFkb3dcTWVkaWFDb250cm9scy5jcHAiCisJCQkJCT4KKwkJCQk8L0ZpbGU+
CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXHNoYWRvd1xNZWRpYUNvbnRy
b2xzLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRo
PSIuLlxodG1sXHNoYWRvd1xNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAiCiAJCQkJCT4KIAkJCQk8
L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggNDU4NmRhN2FkZThkYjEzNDgzMjdjMTAxYmU5ZjU2N2U5MTJkZTBmYi4uMzc3
Y2IwN2Y4ZjYyYzVkMGY0MDdkNjQzNjA3NWIxY2E3NjBkNThmYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjQzLDYgKzY0Myw4
IEBACiAJCTFDRjZCRTE0MEU5QkI0NjcwMDI1RTFDRCAvKiBPYmpDTm9kZUZpbHRlckNvbmRpdGlv
bi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRjZC
RTEyMEU5QkI0NjcwMDI1RTFDRCAvKiBPYmpDTm9kZUZpbHRlckNvbmRpdGlvbi5tbSAqLzsgfTsK
IAkJMUNGNkJFMTUwRTlCQjQ2NzAwMjVFMUNEIC8qIE9iakNOb2RlRmlsdGVyQ29uZGl0aW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0Y2QkUxMzBF
OUJCNDY3MDAyNUUxQ0QgLyogT2JqQ05vZGVGaWx0ZXJDb25kaXRpb24uaCAqLzsgfTsKIAkJMUNG
QUUzMjMwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9iamMuZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0ZBRTMyMjBBNkQ2QTNGMDAzMjU5M0Qg
LyogbGlib2JqYy5keWxpYiAqLzsgfTsKKwkJMUYzQzNCRUExMzVDQUYzQzAwQjhDMUFDIC8qIE1l
ZGlhQ29udHJvbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUYzQzNCRTgxMzVDQUYzQzAwQjhDMUFDIC8qIE1lZGlhQ29udHJvbHMuY3BwICovOyB9
OworCQkxRjNDM0JFQjEzNUNBRjNDMDBCOEMxQUMgLyogTWVkaWFDb250cm9scy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUYzQzNCRTkxMzVDQUYzQzAw
QjhDMUFDIC8qIE1lZGlhQ29udHJvbHMuaCAqLzsgfTsKIAkJMjBENjI5MjYxMjUzNjkwQjAwMDgx
NTQzIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyMEQ2MjkyNDEyNTM2OTBCMDAwODE1NDMgLyogSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCAqLzsgfTsKIAkJMjBENjI5MjcxMjUzNjkwQjAwMDgx
NTQzIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjBENjI5MjUxMjUzNjkwQjAwMDgxNTQzIC8qIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oICovOyB9OwogCQkyMjc3Nzc2MDEzNDVERUE5MDA4RUE0NTUg
LyogSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyMjc3Nzc1RjEzNDVERUE5MDA4RUE0NTUgLyogSW5zcGVjdG9y
RnJvbnRlbmRDaGFubmVsLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKQEAgLTcxMDEsNiArNzEwMyw4IEBACiAJCTFDRjZCRTEyMEU5QkI0NjcwMDI1RTFD
RCAvKiBPYmpDTm9kZUZpbHRlckNvbmRpdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IE9iakNOb2RlRmlsdGVyQ29uZGl0aW9uLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxQ0Y2QkUxMzBFOUJCNDY3MDAyNUUxQ0QgLyogT2JqQ05vZGVGaWx0
ZXJDb25kaXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT2JqQ05vZGVG
aWx0ZXJDb25kaXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGQUUzMjIw
QTZENkEzRjAwMzI1OTNEIC8qIGxpYm9iamMuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9
IGxpYm9iamMuZHlsaWI7IHBhdGggPSAvdXNyL2xpYi9saWJvYmpjLmR5bGliOyBzb3VyY2VUcmVl
ID0gIjxhYnNvbHV0ZT4iOyB9OworCQkxRjNDM0JFODEzNUNBRjNDMDBCOEMxQUMgLyogTWVkaWFD
b250cm9scy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYUNv
bnRyb2xzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUYzQzNCRTkxMzVDQUYz
QzAwQjhDMUFDIC8qIE1lZGlhQ29udHJvbHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTWVkaWFDb250cm9scy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyMEQ2
MjkyNDEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTIwRDYyOTI1MTI1MzY5MEIwMDA4
MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTIyNzc3NzVGMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGcm9udGVu
ZENoYW5uZWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yRnJv
bnRlbmRDaGFubmVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzUzOSw2ICsx
MzU0Myw4IEBACiAJCQkJNDE3MjUzQTkxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVs
ZW1lbnRzLmggKi8sCiAJCQkJNDE1N0FGN0YxMkYxRkIwNDAwQThDNkY1IC8qIE1lZGlhQ29udHJv
bFJvb3RFbGVtZW50LmNwcCAqLywKIAkJCQk0MTU3QUY3RTEyRjFGQjA0MDBBOEM2RjUgLyogTWVk
aWFDb250cm9sUm9vdEVsZW1lbnQuaCAqLywKKwkJCQkxRjNDM0JFODEzNUNBRjNDMDBCOEMxQUMg
LyogTWVkaWFDb250cm9scy5jcHAgKi8sCisJCQkJMUYzQzNCRTkxMzVDQUYzQzAwQjhDMUFDIC8q
IE1lZGlhQ29udHJvbHMuaCAqLywKIAkJCQlBNzhFNTI2RDEzNDZCRDE3MDBBRDlDMzEgLyogTWV0
ZXJTaGFkb3dFbGVtZW50LmNwcCAqLywKIAkJCQlBNzhFNTI2RTEzNDZCRDE3MDBBRDlDMzEgLyog
TWV0ZXJTaGFkb3dFbGVtZW50LmggKi8sCiAJCQkJQTcxNUU2NTAxMzRCQkJFQzAwRDhFNzEzIC8q
IFByb2dyZXNzU2hhZG93RWxlbWVudC5jcHAgKi8sCkBAIC0yMTA1MSw4ICsyMTA1Nyw4IEBACiAJ
CQkJMUNBMTlFMTYwREMyNTVDQTAwNjVBOTk0IC8qIEV2ZW50TG9vcC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTM5ODg1QzQwOEI3RTNEMTAwRTcwN0M0IC8qIEV2ZW50TmFtZXMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCThGNjc1NjFCMTI4OEIxN0IwMDQ3QUNBMyAvKiBFdmVudFF1ZXVlLmggaW4gSGVh
ZGVycyAqLywKLQkJCQlFMEZFRjM3MkIxN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaCBp
biBIZWFkZXJzICovLAogCQkJCTIyNzc3QjRCMTM0QTAxOEMwMDhFQTQ1NSAvKiBFdmVudHNDb2xs
ZWN0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUUwRkVGMzcyQjE3QzUzRUFDMUMxRkJFRSAvKiBF
dmVudFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyRURCN0IwQjMwOEE3ODAwMjcwNEI2
IC8qIEV2ZW50VGFyZ2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzYwRDhGMzBEMkExMUUwMDBC
OTkxOEYgLyogRXhjZXB0aW9uQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1RkJDRjIwOUJB
MTQzQjAwRTIzMEIxIC8qIEV4Y2VwdGlvbkNvZGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjE5NjIs
NiArMjE5NjgsMTAgQEAKIAkJCQlCQ0U2NUJFQjBFQUNERjE2MDA3RTQ1MzMgLyogTGVuZ3RoLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQ0ZGNjQ5MTBFQUQxNUMyMDBDMUQ2RjcgLyogTGVuZ3RoQm94
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0ZGNjQ5MjBFQUQxNUMyMDBDMUQ2RjcgLyogTGVuZ3Ro
U2l6ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOENBREYyQTkxMzVDN0IzNjAwOUVGNDNGIC8qIExl
dmVsREJDb21wYXJhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk4Q0FERjJBQjEzNUM3QjM2MDA5
RUY0M0YgLyogTGV2ZWxEQkRhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQk4Q0FERjJBRDEz
NUM3QjM2MDA5RUY0M0YgLyogTGV2ZWxEQkl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk4
Q0FERjJBRTEzNUM3QjM2MDA5RUY0M0YgLyogTGV2ZWxEQlNsaWNlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk4NDczMEQ5MTEyNDhGMEIzMDBEM0E5QzkgLyogTGlnaHRTb3VyY2UuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUIyMjI3OTY1MEQwMEJGMjIwMDcxQjc4MiAvKiBMaW5lYXJHcmFkaWVudEF0dHJp
YnV0ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUFCMzFDOTFFMTBBRTFCOEUwMDBDN0I5MiAvKiBM
aW5lQ2xhbXBWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMTk5OSw2ICsyMjAwOSw3IEBACiAJ
CQkJOTMxQkNDNjExMTI0REZDQjAwQkU3MEREIC8qIE1lZGlhQ2FuU3RhcnRMaXN0ZW5lci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDE3MjUzQUIxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJv
bEVsZW1lbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTU3QUY4MDEyRjFGQjA0MDBBOEM2RjUg
LyogTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTFGM0MzQkVC
MTM1Q0FGM0MwMEI4QzFBQyAvKiBNZWRpYUNvbnRyb2xzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
NzIwNUFCODEyMzkyOTEwMDBCMTczODAgLyogTWVkaWFEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTQ0NjEzQUQwQ0Q2MzMxMDAwRkFEQTc1IC8qIE1lZGlhRXJyb3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTRFMTk1OTIyMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yMjk5MiwxMCArMjMwMDMsNiBAQAogCQkJCTkzRjE5OUVEMDgy
NDVFNTkwMDFFOUFCQyAvKiBYU0xUUHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUJF
NTEyRTBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmggaW4gSGVhZGVycyAqLywK
IAkJCQk5NzdFMkUwRjEyRjBGQzlDMDBDMTMzNzkgLyogWFNTRmlsdGVyLmggaW4gSGVhZGVycyAq
LywKLQkJCQk4Q0FERjJBOTEzNUM3QjM2MDA5RUY0M0YgLyogTGV2ZWxEQkNvbXBhcmF0b3IuaCBp
biBIZWFkZXJzICovLAotCQkJCThDQURGMkFCMTM1QzdCMzYwMDlFRjQzRiAvKiBMZXZlbERCRGF0
YWJhc2UuaCBpbiBIZWFkZXJzICovLAotCQkJCThDQURGMkFEMTM1QzdCMzYwMDlFRjQzRiAvKiBM
ZXZlbERCSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAotCQkJCThDQURGMkFFMTM1QzdCMzYwMDlF
RjQzRiAvKiBMZXZlbERCU2xpY2UuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjM5MTUsOCArMjM5MjIs
OCBAQAogCQkJCTFDQTE5RTA1MERDMjU1OTUwMDY1QTk5NCAvKiBFdmVudExvb3BNYWMubW0gaW4g
U291cmNlcyAqLywKIAkJCQk5Mzk4ODVDMzA4QjdFM0QxMDBFNzA3QzQgLyogRXZlbnROYW1lcy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk4RjY3NTYxQzEyODhCMTdCMDA0N0FDQTMgLyogRXZlbnRR
dWV1ZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlFMEZFRjM3MkIyN0M1M0VBQzFDMUZCRUUgLyog
RXZlbnRTb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjI3NzdCNEExMzRBMDE4QzAwOEVB
NDU1IC8qIEV2ZW50c0NvbGxlY3Rvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlFMEZFRjM3MkIy
N0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTEy
RURCRUEwQjMwOEUwQjAwMjcwNEI2IC8qIEV2ZW50VGFyZ2V0LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDNjBEOEYyMEQyQTExRTAwMEI5OTE4RiAvKiBFeGNlcHRpb25CYXNlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTkzODMxQjU3MEQwODdENjAwMEU1Qzk4NCAvKiBFeGNlcHRpb25Db2RlLmNw
cCBpbiBTb3VyY2VzICovLApAQCAtMjQ4OTQsNiArMjQ5MDEsOCBAQAogCQkJCTUxMkREOEY0MEQ5
MUU2QUYwMDBGODlFRSAvKiBMZWdhY3lXZWJBcmNoaXZlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTUxQjI0MTdCMEQ5MzFGM0YwMEU4M0Y1QyAvKiBMZWdhY3lXZWJBcmNoaXZlTWFjLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJQkNFNjVCRUEwRUFDREYxNjAwN0U0NTMzIC8qIExlbmd0aC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk4Q0FERjJBQTEzNUM3QjM2MDA5RUY0M0YgLyogTGV2ZWxEQkRhdGFi
YXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCThDQURGMkFDMTM1QzdCMzYwMDlFRjQzRiAvKiBM
ZXZlbERCSXRlcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODQ3MzBEOTAxMjQ4RjBCMzAw
RDNBOUM5IC8qIExpZ2h0U291cmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg5QjVFQUExMTFF
ODAwM0QwMEYyMzY3RSAvKiBMaW5lRW5kaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3QUQy
Rjg3MEVDODlEMDcwMDhBQjAwMiAvKiBMaW5rSGFzaC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI0
OTI3LDYgKzI0OTM2LDcgQEAKIAkJCQk0OUU5MTFDNjBFRjg2RDQ3MDA5RDBDQUYgLyogTWF0cml4
VHJhbnNmb3JtT3BlcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxNzI1M0FBMTM1NEJC
QkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk0MTU3QUY4MTEyRjFGQjA0MDBBOEM2RjUgLyogTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMUYzQzNCRUExMzVDQUYzQzAwQjhDMUFDIC8qIE1lZGlhQ29u
dHJvbHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTcyMDVBQjcxMjM5MjkxMDAwQjE3MzgwIC8q
IE1lZGlhRG9jdW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNEUxOTU5MjEwQTM5REFCQTAw
MjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4RUE4
MDA5MEExOTUxNkUwMEE4RUY1RiAvKiBNZWRpYUxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0y
NTcwMiw4ICsyNTcxMiw2IEBACiAJCQkJOTNGMTlCMDUwODI0NUU1OTAwMUU5QUJDIC8qIFhTTFRQ
cm9jZXNzb3JMaWJ4c2x0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxQkU1MTJEMENGNkM1MTIw
MDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTc3RTJF
MEUxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0ZpbHRlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk4
Q0FERjJBQTEzNUM3QjM2MDA5RUY0M0YgLyogTGV2ZWxEQkRhdGFiYXNlLmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCThDQURGMkFDMTM1QzdCMzYwMDlFRjQzRiAvKiBMZXZlbERCSXRlcmF0b3IuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApp
bmRleCBiNGFjMTRlMjc5NGM3MWEyOGJkNjhiMGNmODY4NTMxMTJkMzNlOTBlLi42ZGI3YjRlNTU1
ZjY0NjIxYWQ2NWYwMzIxNTIwNmQxOTExMjczMzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5jcHAKQEAgLTQ5LDcgKzQ5LDcgQEAKICNpbmNsdWRlICJIVE1MU291cmNl
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxWaWRlb0VsZW1lbnQuaCIKICNpbmNsdWRlICJMb2dn
aW5nLmgiCi0jaW5jbHVkZSAiTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuaCIKKyNpbmNsdWRlICJN
ZWRpYUNvbnRyb2xzLmgiCiAjaW5jbHVkZSAiTWVkaWFEb2N1bWVudC5oIgogI2luY2x1ZGUgIk1l
ZGlhRXJyb3IuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKQEAgLTI2NTMsOSArMjY1MywxNCBA
QCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnByaXZhdGVCcm93c2luZ1N0YXRlRGlkQ2hhbmdlKCkK
ICAgICBtX3BsYXllci0+c2V0UHJpdmF0ZUJyb3dzaW5nTW9kZShwcml2YXRlTW9kZSk7CiB9CiAK
LU1lZGlhQ29udHJvbFJvb3RFbGVtZW50KiBIVE1MTWVkaWFFbGVtZW50OjptZWRpYUNvbnRyb2xz
KCkKK01lZGlhQ29udHJvbHMqIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhQ29udHJvbHMoKQogewot
ICAgIHJldHVybiBzaGFkb3dSb290KCkgPyB0b01lZGlhQ29udHJvbHMoc2hhZG93Um9vdCgpLT5m
aXJzdENoaWxkKCkpIDogMDsKKyAgICBpZiAoIXNoYWRvd1Jvb3QoKSkKKyAgICAgICAgcmV0dXJu
IDA7CisKKyAgICBOb2RlKiBub2RlID0gc2hhZG93Um9vdCgpLT5maXJzdENoaWxkKCk7CisgICAg
QVNTRVJUKG5vZGUtPmlzSFRNTEVsZW1lbnQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PE1l
ZGlhQ29udHJvbHMqPihub2RlKTsKIH0KIAogYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpoYXNNZWRp
YUNvbnRyb2xzKCkKQEAgLTI2NjksMTAgKzI2NzQsMTAgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50
OjplbnN1cmVNZWRpYUNvbnRyb2xzKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgRXhjZXB0aW9u
Q29kZSBlYzsKLSAgICBlbnN1cmVTaGFkb3dSb290KCktPmFwcGVuZENoaWxkKE1lZGlhQ29udHJv
bFJvb3RFbGVtZW50OjpjcmVhdGUodGhpcyksIGVjKTsKKyAgICBlbnN1cmVTaGFkb3dSb290KCkt
PmFwcGVuZENoaWxkKE1lZGlhQ29udHJvbHM6OmNyZWF0ZSh0aGlzKSwgZWMpOwogfQogCi12b2lk
KiBIVE1MTWVkaWFFbGVtZW50OjpwcmVEaXNwYXRjaEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQp
IAordm9pZCogSFRNTE1lZGlhRWxlbWVudDo6cHJlRGlzcGF0Y2hFdmVudEhhbmRsZXIoRXZlbnQq
IGV2ZW50KQogewogICAgIGlmIChldmVudCAmJiBldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMo
KS53ZWJraXRmdWxsc2NyZWVuY2hhbmdlRXZlbnQpIHsKICAgICAgICAgaWYgKGNvbnRyb2xzKCkp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMjkzZjcxMzhjODk5
M2Q3YzhlNjEzNTliNjNhNjE1MWY5MWE3M2UyYS4uNjA0Y2RmODQwOWE1ZTA1NTAxM2UzODcyMmFk
MDUwNjFhNGVkOTEwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAg
LTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFdmVudDsKIGNsYXNz
IEhUTUxTb3VyY2VFbGVtZW50OwotY2xhc3MgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQ7CitjbGFz
cyBNZWRpYUNvbnRyb2xzOwogY2xhc3MgTWVkaWFFcnJvcjsKIGNsYXNzIEtVUkw7CiBjbGFzcyBU
aW1lUmFuZ2VzOwpAQCAtMTcyLDcgKzE3Miw3IEBAIHB1YmxpYzoKICAgICBib29sIGNsb3NlZENh
cHRpb25zVmlzaWJsZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0Q2xvc2VkQ2FwdGlvbnNWaXNpYmxl
KGJvb2wpOwogCi0gICAgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQqIG1lZGlhQ29udHJvbHMoKTsK
KyAgICBNZWRpYUNvbnRyb2xzKiBtZWRpYUNvbnRyb2xzKCk7CiAKICAgICBib29sIHByb2Nlc3Np
bmdVc2VyR2VzdHVyZSgpIGNvbnN0OwogCkBAIC0zMzUsNyArMzM1LDcgQEAgcHJpdmF0ZToKICAg
ICBUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiBtX3BsYXliYWNrUHJvZ3Jlc3NUaW1lcjsKICAgICBW
ZWN0b3I8UmVmUHRyPEV2ZW50PiA+IG1fcGVuZGluZ0V2ZW50czsKICAgICBSZWZQdHI8VGltZVJh
bmdlcz4gbV9wbGF5ZWRUaW1lUmFuZ2VzOwotICAgIAorCiAgICAgZmxvYXQgbV9wbGF5YmFja1Jh
dGU7CiAgICAgZmxvYXQgbV9kZWZhdWx0UGxheWJhY2tSYXRlOwogICAgIGJvb2wgbV93ZWJraXRQ
cmVzZXJ2ZXNQaXRjaDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01l
ZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlh
Q29udHJvbEVsZW1lbnRzLmNwcAppbmRleCA1MjIwOWNkN2JmMDE2M2FmMjk2NjlmZWZlYzEzYWVk
YTljYmIwZmE2Li4zMjg2NDBiNzRkODBjMDEwNDg3YTY0YzYwMTYyNTEyZDI0ZDM3YzQ4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMu
Y3BwCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJIVE1M
TmFtZXMuaCIKICNpbmNsdWRlICJMb2NhbGl6ZWRTdHJpbmdzLmgiCi0jaW5jbHVkZSAiTWVkaWFD
b250cm9sUm9vdEVsZW1lbnQuaCIKKyNpbmNsdWRlICJNZWRpYUNvbnRyb2xzLmgiCiAjaW5jbHVk
ZSAiTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJGbGV4
aWJsZUJveC5oIgpAQCAtMzQ2LDEzICszNDYsMTMgQEAgdm9pZCBNZWRpYUNvbnRyb2xNdXRlQnV0
dG9uRWxlbWVudDo6dXBkYXRlRGlzcGxheVR5cGUoKQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiAKLWlubGluZSBNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50OjpN
ZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlh
RWxlbWVudCwgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQqIGNvbnRyb2xzKQoraW5saW5lIE1lZGlh
Q29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRv
bkVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBNZWRpYUNvbnRyb2xzKiBj
b250cm9scykKICAgICA6IE1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50KG1lZGlhRWxlbWVu
dCwgTWVkaWFNdXRlQnV0dG9uKQogICAgICwgbV9jb250cm9scyhjb250cm9scykKIHsKIH0KIAot
UGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50PiBNZWRpYUNvbnRy
b2xQYW5lbE11dGVCdXR0b25FbGVtZW50OjpjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFF
bGVtZW50LCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCogY29udHJvbHMpCitQYXNzUmVmUHRyPE1l
ZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQ+IE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1
dHRvbkVsZW1lbnQ6OmNyZWF0ZShIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlh
Q29udHJvbHMqIGNvbnRyb2xzKQogewogICAgIEFTU0VSVChjb250cm9scyk7CiAKQEAgLTYyNiwx
MyArNjI2LDEzIEBAIGNvbnN0IEF0b21pY1N0cmluZyYgTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2Vk
Q2FwdGlvbnNCdXR0b25FbGVtZW50OjpzaGFkb3dQc2V1ZG9JCiAKIC8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KIAotTWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50OjpNZWRpYUNvbnRy
b2xUaW1lbGluZUVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBNZWRpYUNv
bnRyb2xSb290RWxlbWVudCogY29udHJvbHMpCitNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6
Ok1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1l
bnQsIE1lZGlhQ29udHJvbHMqIGNvbnRyb2xzKQogICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVt
ZW50KG1lZGlhRWxlbWVudCwgTWVkaWFTbGlkZXIpCiAgICAgLCBtX2NvbnRyb2xzKGNvbnRyb2xz
KQogewogfQogCi1QYXNzUmVmUHRyPE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudD4gTWVkaWFD
b250cm9sVGltZWxpbmVFbGVtZW50OjpjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVt
ZW50LCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCogY29udHJvbHMpCitQYXNzUmVmUHRyPE1lZGlh
Q29udHJvbFRpbWVsaW5lRWxlbWVudD4gTWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50OjpjcmVh
dGUoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBNZWRpYUNvbnRyb2xzKiBjb250cm9s
cykKIHsKICAgICBBU1NFUlQoY29udHJvbHMpOwogCkBAIC03NjcsMTMgKzc2NywxMyBAQCBjb25z
dCBBdG9taWNTdHJpbmcmIE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5Wb2x1bWVTbGlkZXJFbGVtZW50
OjpzaGFkb3dQc2V1ZG9JZCgpCiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAot
aW5saW5lIE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xG
dWxsc2NyZWVuQnV0dG9uRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1l
ZGlhQ29udHJvbFJvb3RFbGVtZW50KiBjb250cm9scykKK2lubGluZSBNZWRpYUNvbnRyb2xGdWxs
c2NyZWVuQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQo
SFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBNZWRpYUNvbnRyb2xzKiBjb250cm9scykK
ICAgICA6IE1lZGlhQ29udHJvbElucHV0RWxlbWVudChtZWRpYUVsZW1lbnQsIE1lZGlhRnVsbHNj
cmVlbkJ1dHRvbikKICAgICAsIG1fY29udHJvbHMoY29udHJvbHMpCiB7CiB9CiAKLVBhc3NSZWZQ
dHI8TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ+IE1lZGlhQ29udHJvbEZ1bGxz
Y3JlZW5CdXR0b25FbGVtZW50OjpjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50
LCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCogY29udHJvbHMpCitQYXNzUmVmUHRyPE1lZGlhQ29u
dHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50PiBNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9u
RWxlbWVudDo6Y3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVkaWFDb250
cm9scyogY29udHJvbHMpCiB7CiAgICAgQVNTRVJUKGNvbnRyb2xzKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKaW5kZXggOTRkNGJj
NjEyNmZmNzBjODYwNDgyNmFiZWNiYjE2YzZkM2FkZDExNy4uZGIzMTU4YjI5NGJhYTk3NDkxMGYx
N2IwMThlOGUyOWNhYzkzNTI5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvTWVkaWFDb250cm9sRWxlbWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oCkBAIC00Miw3ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRXZlbnQ7CiBjbGFzcyBGcmFtZTsKLWNsYXNzIE1lZGlhQ29udHJvbFJv
b3RFbGVtZW50OworY2xhc3MgTWVkaWFDb250cm9sczsKIAogLy8gTXVzdCBtYXRjaCBXZWJLaXRT
eXN0ZW1JbnRlcmZhY2UuaAogZW51bSBNZWRpYUNvbnRyb2xFbGVtZW50VHlwZSB7CkBAIC0xOTMs
MTUgKzE5MywxNSBAQCBwcml2YXRlOgogCiBjbGFzcyBNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0
b25FbGVtZW50IDogcHVibGljIE1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50IHsKIHB1Ymxp
YzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVt
ZW50PiBjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Kik7
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVu
dD4gY3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xzKik7CiAKIHByaXZhdGU6
Ci0gICAgTWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVudChIVE1MTWVkaWFFbGVtZW50
KiwgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQqKTsKKyAgICBNZWRpYUNvbnRyb2xQYW5lbE11dGVC
dXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xzKik7CiAKICAgICB2
aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCopOwogICAgIHZpcnR1YWwgY29u
c3QgQXRvbWljU3RyaW5nJiBzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0OwogCi0gICAgTWVkaWFDb250
cm9sUm9vdEVsZW1lbnQqIG1fY29udHJvbHM7CisgICAgTWVkaWFDb250cm9scyogbV9jb250cm9s
czsKIH07CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTMyNSwxOCArMzI1
LDE4IEBAIHByaXZhdGU6CiAKIGNsYXNzIE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudCA6IHB1
YmxpYyBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudD4gY3JlYXRlKEhUTUxNZWRpYUVsZW1l
bnQqLCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCopOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1l
ZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudD4gY3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRp
YUNvbnRyb2xzKik7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVu
dCopOwogICAgIHZvaWQgc2V0UG9zaXRpb24oZmxvYXQpOwogICAgIHZvaWQgc2V0RHVyYXRpb24o
ZmxvYXQpOwogCiBwcml2YXRlOgotICAgIE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudChIVE1M
TWVkaWFFbGVtZW50KiwgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQqKTsKKyAgICBNZWRpYUNvbnRy
b2xUaW1lbGluZUVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbHMqKTsKIAog
ICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0Owog
Ci0gICAgTWVkaWFDb250cm9sUm9vdEVsZW1lbnQqIG1fY29udHJvbHM7CisgICAgTWVkaWFDb250
cm9scyogbV9jb250cm9sczsKIH07CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
QEAgLTM1OSwxNiArMzU5LDE2IEBAIHByaXZhdGU6CiAKIGNsYXNzIE1lZGlhQ29udHJvbEZ1bGxz
Y3JlZW5CdXR0b25FbGVtZW50IDogcHVibGljIE1lZGlhQ29udHJvbElucHV0RWxlbWVudCB7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRv
bkVsZW1lbnQ+IGNyZWF0ZShIVE1MTWVkaWFFbGVtZW50KiwgTWVkaWFDb250cm9sUm9vdEVsZW1l
bnQqKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9u
RWxlbWVudD4gY3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xzKik7CiAKICAg
ICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCopOwogCiBwcml2YXRlOgot
ICAgIE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQq
LCBNZWRpYUNvbnRyb2xSb290RWxlbWVudCopOworICAgIE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5C
dXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqLCBNZWRpYUNvbnRyb2xzKik7CiAKICAgICB2
aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgc2hhZG93UHNldWRvSWQoKSBjb25zdDsKIAotICAg
IE1lZGlhQ29udHJvbFJvb3RFbGVtZW50KiBtX2NvbnRyb2xzOworICAgIE1lZGlhQ29udHJvbHMq
IG1fY29udHJvbHM7CiB9OwogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVu
dC5jcHAKaW5kZXggMTQ3ZjBiNmY3YjlhMDYzZTdkOGFlYWQ0ZTQyNjA0NmY2MTMxZWQ3Yy4uMjNh
MjVmNTY5ZmMwZWI3MTBlMjdjYjU1Yzg3OThkM2FkMmVkNTY4OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmNwcApAQCAt
MjksMjYgKzI5LDE2IEBACiAjaWYgRU5BQkxFKFZJREVPKQogI2luY2x1ZGUgIk1lZGlhQ29udHJv
bFJvb3RFbGVtZW50LmgiCiAKLSNpbmNsdWRlICJFdmVudE5hbWVzLmgiCi0jaW5jbHVkZSAiRmxv
YXRDb252ZXJzaW9uLmgiCi0jaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiTWVkaWFD
b250cm9sRWxlbWVudHMuaCIKLSNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiUGFn
ZS5oIgotI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIK
LSNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5o
PgotCiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdXNp
bmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKLQogTWVkaWFDb250cm9sUm9vdEVsZW1lbnQ6Ok1lZGlh
Q29udHJvbFJvb3RFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKLSAgICA6
IEhUTUxEaXZFbGVtZW50KGRpdlRhZywgbWVkaWFFbGVtZW50LT5kb2N1bWVudCgpKQorICAgIDog
TWVkaWFDb250cm9scyhtZWRpYUVsZW1lbnQpCiAgICAgLCBtX21lZGlhRWxlbWVudChtZWRpYUVs
ZW1lbnQpCiAgICAgLCBtX3Jld2luZEJ1dHRvbigwKQogICAgICwgbV9wbGF5QnV0dG9uKDApCkBA
IC03NCw2ICs2NCwxMSBAQCBNZWRpYUNvbnRyb2xSb290RWxlbWVudDo6TWVkaWFDb250cm9sUm9v
dEVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KQogewogfQogCitQYXNzUmVm
UHRyPE1lZGlhQ29udHJvbHM+IE1lZGlhQ29udHJvbHM6OmNyZWF0ZShIVE1MTWVkaWFFbGVtZW50
KiBtZWRpYUVsZW1lbnQpCit7CisgICAgcmV0dXJuIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Ojpj
cmVhdGUobWVkaWFFbGVtZW50KTsKK30KKwogUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xSb290RWxl
bWVudD4gTWVkaWFDb250cm9sUm9vdEVsZW1lbnQ6OmNyZWF0ZShIVE1MTWVkaWFFbGVtZW50KiBt
ZWRpYUVsZW1lbnQpCiB7CiAgICAgaWYgKCFtZWRpYUVsZW1lbnQtPmRvY3VtZW50KCktPnBhZ2Uo
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJv
b3RFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290
RWxlbWVudC5oCmluZGV4IDBhODU1ODIyMTA1YjU4NTY0NmI2MWEwMzVjNzFjZmViYjUzN2E5Y2Yu
LjhjNmQzZWM4MmYzNTRiZDc5ZTQzMDcxYWViYzRmYmE1NDZhZjEyM2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuaApAQCAt
MjQsMTggKzI0LDE2IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgTWVkaWFDb250
cm9sc19oCi0jZGVmaW5lIE1lZGlhQ29udHJvbHNfaAorI2lmbmRlZiBNZWRpYUNvbnRyb2xSb290
RWxlbWVudF9oCisjZGVmaW5lIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50X2gKIAogI2lmIEVOQUJM
RShWSURFTykKIAotI2luY2x1ZGUgIkhUTUxEaXZFbGVtZW50LmgiCi0jaW5jbHVkZSAiVGltZXIu
aCIKKyNpbmNsdWRlICJNZWRpYUNvbnRyb2xzLmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEhUTUxFbGVtZW50OwogY2xhc3MgSFRNTElu
cHV0RWxlbWVudDsKIGNsYXNzIEhUTUxNZWRpYUVsZW1lbnQ7CiBjbGFzcyBFdmVudDsKQEAgLTY4
LDEwICs2NiwxMSBAQCBjbGFzcyBNZWRpYVBsYXllcjsKIGNsYXNzIFJlbmRlckJveDsKIGNsYXNz
IFJlbmRlck1lZGlhOwogCi1jbGFzcyBNZWRpYUNvbnRyb2xSb290RWxlbWVudCA6IHB1YmxpYyBI
VE1MRGl2RWxlbWVudCB7CitjbGFzcyBNZWRpYUNvbnRyb2xSb290RWxlbWVudCA6IHB1YmxpYyBN
ZWRpYUNvbnRyb2xzIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNvbnRy
b2xSb290RWxlbWVudD4gY3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqKTsKIAorICAgIC8vIE1lZGlh
Q29udHJvbHMgaW1wbGVtZW50YXRpb24uCiAgICAgdm9pZCBzaG93KCk7CiAgICAgdm9pZCBoaWRl
KCk7CiAgICAgdm9pZCBtYWtlT3BhcXVlKCk7CkBAIC0xMjgsMTIgKzEyNyw2IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBtX29wYXF1ZTsKIH07CiAKLWlubGluZSBNZWRpYUNvbnRyb2xSb290RWxlbWVu
dCogdG9NZWRpYUNvbnRyb2xzKE5vZGUqIG5vZGUpCi17Ci0gICAgQVNTRVJUKG5vZGUtPmlzSFRN
TEVsZW1lbnQoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PE1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50Kj4obm9kZSk7Ci19Ci0KIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbHMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2MWZkMTliNzllMzE3ODMyNjM1N2Y2
OTc4YWM0MDlmZjVhMGViN2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShWSURFTykKKworI2luY2x1ZGUgIk1lZGlhQ29u
dHJvbHMuaCIKKworI2luY2x1ZGUgIkhUTUxEaXZFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE1l
ZGlhRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK01lZGlhQ29udHJvbHM6Ok1lZGlhQ29udHJvbHMoSFRNTE1lZGlhRWxlbWVudCogbWVk
aWFFbGVtZW50KQorICAgIDogSFRNTERpdkVsZW1lbnQoSFRNTE5hbWVzOjpkaXZUYWcsIG1lZGlh
RWxlbWVudC0+ZG9jdW1lbnQoKSkKK3sKK30KKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYzg4ZWJiMjVjODJmN2Jj
YTlkZGE2NWU4MmMwY2Q4NzU0NzQ4OGE4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oCkBAIC0wLDAgKzEsODIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBNZWRpYUNvbnRyb2xzX2gKKyNkZWZpbmUgTWVkaWFDb250cm9sc19oCisKKyNpZiBF
TkFCTEUoVklERU8pCisKKyNpbmNsdWRlICJIVE1MRGl2RWxlbWVudC5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIEhUTUxNZWRpYUVsZW1lbnQ7CisKK2NsYXNzIE1lZGlhQ29udHJv
bHMgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQgeworICBwdWJsaWM6CisgICAgdmlydHVhbCB+TWVk
aWFDb250cm9scygpIHt9CisKKyAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIHRvIGJlIGltcGxlbWVu
dGVkIGluIHlvdXIgcG9ydC1zcGVjaWZpYyBtZWRpYQorICAgIC8vIGNvbnRyb2xzIGltcGxlbWVu
dGF0aW9uLgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbHM+IGNyZWF0ZShIVE1M
TWVkaWFFbGVtZW50Kik7CisKKyAgICB2aXJ0dWFsIHZvaWQgc2hvdygpID0gMDsKKyAgICB2aXJ0
dWFsIHZvaWQgaGlkZSgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgbWFrZU9wYXF1ZSgpID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQgbWFrZVRyYW5zcGFyZW50KCkgPSAwOworCisgICAgdmlydHVhbCB2
b2lkIHJlc2V0KCkgPSAwOworCisgICAgdmlydHVhbCB2b2lkIHBsYXliYWNrUHJvZ3Jlc3NlZCgp
ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcGxheWJhY2tTdGFydGVkKCkgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBwbGF5YmFja1N0b3BwZWQoKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgY2hhbmdl
ZE11dGUoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGNoYW5nZWRWb2x1bWUoKSA9IDA7CisKKyAg
ICB2aXJ0dWFsIHZvaWQgZW50ZXJlZEZ1bGxzY3JlZW4oKSA9IDA7CisgICAgdmlydHVhbCB2b2lk
IGV4aXRlZEZ1bGxzY3JlZW4oKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0ZWRFcnJv
cigpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgY2hhbmdlZE5ldHdvcmtTdGF0ZSgpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgbG9hZGVkTWV0YWRhdGEoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGNo
YW5nZWRDbG9zZWRDYXB0aW9uc1Zpc2liaWxpdHkoKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQg
c2hvd1ZvbHVtZVNsaWRlcigpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVGltZURpc3Bs
YXkoKSA9IDA7CisKK3Byb3RlY3RlZDoKKyAgICBNZWRpYUNvbnRyb2xzKEhUTUxNZWRpYUVsZW1l
bnQqKTsKKworcHJpdmF0ZToKKyAgICBNZWRpYUNvbnRyb2xzKCk7Cit9OworCit9CisKKyNlbmRp
ZgorCisjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>