<?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>77440</bug_id>
          
          <creation_ts>2012-01-31 08:10:16 -0800</creation_ts>
          <short_desc>Notify ChromeClient about touch-event handlers</short_desc>
          <delta_ts>2012-02-15 12:21:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sadrul Habib Chowdhury">sadrul</reporter>
          <assigned_to name="Sadrul Habib Chowdhury">sadrul</assigned_to>
          <cc>ap</cc>
    
    <cc>bweinstein</cc>
    
    <cc>fishd</cc>
    
    <cc>gustavo</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>klobag</cc>
    
    <cc>pnormand</cc>
    
    <cc>qinmin</cc>
    
    <cc>rakuco</cc>
    
    <cc>rjkroege</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>546067</commentid>
    <comment_count>0</comment_count>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-01-31 08:10:16 -0800</bug_when>
    <thetext>Currently ChromeClient is notified of mouse-wheel event handlers. Add support to notify the client about touch-event handlers too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546072</commentid>
    <comment_count>1</comment_count>
      <attachid>124738</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-01-31 08:15:09 -0800</bug_when>
    <thetext>Created attachment 124738
patch

I followed the code that deals with mouse-wheel events, and added corresponding code for touch events. Please take a look. The chromium side of this patch is at: http://codereview.chromium.org/9233058/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546079</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-31 08:21:54 -0800</bug_when>
    <thetext>Attachment 124738 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;]&quot; exit_code: 9

Updating OpenSource
First, rewinding head to replay your work on top of it...
Applying: Fix compilation errors on build-webkit --debug --no-workers on mac.
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging LayoutTests/ChangeLog
CONFLICT (content): Merge conflict in LayoutTests/ChangeLog
Auto-merging LayoutTests/platform/qt/Skipped
CONFLICT (content): Merge conflict in LayoutTests/platform/qt/Skipped
Auto-merging Source/WebCore/ChangeLog
CONFLICT (content): Merge conflict in Source/WebCore/ChangeLog
Failed to merge in the changes.
Patch failed at 0001 Fix compilation errors on build-webkit --debug --no-workers on mac.

When you have resolved this problem run &quot;git rebase --continue&quot;.
If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 164.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546087</commentid>
    <comment_count>3</comment_count>
      <attachid>124738</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-01-31 08:34:46 -0800</bug_when>
    <thetext>Comment on attachment 124738
patch

Attachment 124738 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11354017</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549788</commentid>
    <comment_count>4</comment_count>
      <attachid>125586</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-02-06 00:34:43 -0800</bug_when>
    <thetext>Created attachment 125586
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549792</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-06 00:38:55 -0800</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549794</commentid>
    <comment_count>6</comment_count>
      <attachid>125588</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-02-06 00:40:54 -0800</bug_when>
    <thetext>Created attachment 125588
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550120</commentid>
    <comment_count>7</comment_count>
      <attachid>125588</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-06 11:16:00 -0800</bug_when>
    <thetext>Comment on attachment 125588
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests. (OOPS!)

This patch is missing tests.

&gt; Source/WebCore/dom/Document.cpp:5362
&gt; +    Frame* mainFrame = page() ? page()-&gt;mainFrame() : 0;

The usually idiom here is m_frame-&gt;tree()-&gt;top()

&gt; Source/WebCore/page/Frame.cpp:1030
&gt; +void Frame::notifyChromeClientTouchEventHandlerCountChanged() const

Why not just have an accessor to query for the number of touch event handlers rather than having to actively compute the value for each notification?  If the embedder doesn&apos;t care, this is a waste of time.

&gt; Source/WebCore/page/Frame.h:198
&gt; +        void notifyChromeClientTouchEventHandlerCountChanged() const;

Also, if a frame is removed from the document, the number of touch event handlers changes, but we don&apos;t seem to generate a notification.  (It&apos;s possible/likely that notifyChromeClientWheelEventHandlerCountChanged has similar problems.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550184</commentid>
    <comment_count>8</comment_count>
      <attachid>125588</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-02-06 12:14:33 -0800</bug_when>
    <thetext>Comment on attachment 125588
Patch

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

&gt;&gt; Source/WebCore/page/Frame.cpp:1030
&gt;&gt; +void Frame::notifyChromeClientTouchEventHandlerCountChanged() const
&gt; 
&gt; Why not just have an accessor to query for the number of touch event handlers rather than having to actively compute the value for each notification?  If the embedder doesn&apos;t care, this is a waste of time.

The count of the touch-event handlers go all the way to the client/embedder (i.e. to the browser process over IPC). Chromium does not actually care about the actual number of handlers, it just cares whether there is any handlers or not. So I think not having to count the number of handlers would be OK. However, I have intentionally kept this new code very similar to the existing code for wheel-event handlers. And it probably makes sense to keep them similar if possible. I will be happy to change both pieces of code to not do the exhaustive counting, and use a boolean to notify the existence of event handlers.

&gt;&gt; Source/WebCore/page/Frame.h:198
&gt;&gt; +        void notifyChromeClientTouchEventHandlerCountChanged() const;
&gt; 
&gt; Also, if a frame is removed from the document, the number of touch event handlers changes, but we don&apos;t seem to generate a notification.  (It&apos;s possible/likely that notifyChromeClientWheelEventHandlerCountChanged has similar problems.)

I notice that I missed a call to notifyChromeClientTouchEventHandlerCountChanged in Frame::setDocument. I have corrected this to make sure this is called from there (notifyChromeClientWheelEventHandlerCountChanged is already called in there). I believe this takes care of this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550189</commentid>
    <comment_count>9</comment_count>
      <attachid>125687</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-02-06 12:16:27 -0800</bug_when>
    <thetext>Created attachment 125687
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550360</commentid>
    <comment_count>10</comment_count>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-02-06 15:35:43 -0800</bug_when>
    <thetext>This looks largely reasonable to me minus the absence of tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550365</commentid>
    <comment_count>11</comment_count>
      <attachid>125687</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-02-06 15:43:45 -0800</bug_when>
    <thetext>Comment on attachment 125687
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests. (OOPS!)

Please at least explain what kind of changes you&apos;re making and why you&apos;re making them. In particular, please explain how new client callback is used.
r- due to the lack of explanation.

&gt; Source/WebCore/dom/Node.cpp:2508
&gt; +        else if (eventType == eventNames().touchstartEvent || eventType == eventNames().touchmoveEvent || eventType == eventNames().touchendEvent || eventType == eventNames().touchcancelEvent)

Please wrap this into an inline function e.g. isTouchEvent(event).

&gt; Source/WebCore/dom/Node.cpp:2559
&gt; +        else if (eventType == eventNames().touchstartEvent || eventType == eventNames().touchmoveEvent || eventType == eventNames().touchendEvent || eventType == eventNames().touchcancelEvent)

Ditto.

&gt; Source/WebCore/loader/EmptyClients.h:237
&gt; +    virtual void numTouchEventHandlersChanged(unsigned) { }

Please use OVERRIDE keyword.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555682</commentid>
    <comment_count>12</comment_count>
      <attachid>126851</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-02-13 15:39:52 -0800</bug_when>
    <thetext>Created attachment 126851
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555683</commentid>
    <comment_count>13</comment_count>
      <attachid>125687</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-02-13 15:40:38 -0800</bug_when>
    <thetext>Comment on attachment 125687
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:8
&gt;&gt; +        No new tests. (OOPS!)
&gt; 
&gt; Please at least explain what kind of changes you&apos;re making and why you&apos;re making them. In particular, please explain how new client callback is used.
&gt; r- due to the lack of explanation.

Added an explanation.

&gt;&gt; Source/WebCore/dom/Node.cpp:2508
&gt;&gt; +        else if (eventType == eventNames().touchstartEvent || eventType == eventNames().touchmoveEvent || eventType == eventNames().touchendEvent || eventType == eventNames().touchcancelEvent)
&gt; 
&gt; Please wrap this into an inline function e.g. isTouchEvent(event).

Done. I have added this in EventNames, instead of adding a static function in Node.cpp. I am not entirely sure if it fits in there, though.

&gt;&gt; Source/WebCore/loader/EmptyClients.h:237
&gt;&gt; +    virtual void numTouchEventHandlersChanged(unsigned) { }
&gt; 
&gt; Please use OVERRIDE keyword.

I have added the keyword just for these two functions. It looks like the keyword would apply to a number of other functions in here. But I have left them alone in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555687</commentid>
    <comment_count>14</comment_count>
      <attachid>126851</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-02-13 15:43:02 -0800</bug_when>
    <thetext>Comment on attachment 126851
Patch

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

&gt; Source/WebCore/dom/EventNames.h:226
&gt; +        bool isTouchEventType(const AtomicString&amp; eventType)
&gt; +        {
&gt; +            return eventType == touchstartEvent || eventType == touchmoveEvent || eventType == touchendEvent || eventType == touchcancelEvent;
&gt; +        }

This function is only used in EventHandler.cpp. Please move it there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556775</commentid>
    <comment_count>15</comment_count>
      <attachid>126851</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-02-14 16:55:40 -0800</bug_when>
    <thetext>Comment on attachment 126851
Patch

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

&gt; Source/WebKit/chromium/public/WebViewClient.h:266
&gt; +    virtual void numberOfTouchEventHandlersChanged(unsigned) { }

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556795</commentid>
    <comment_count>16</comment_count>
      <attachid>127086</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-02-14 17:18:51 -0800</bug_when>
    <thetext>Created attachment 127086
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556797</commentid>
    <comment_count>17</comment_count>
      <attachid>127086</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-14 17:19:37 -0800</bug_when>
    <thetext>Comment on attachment 127086
Patch for landing

Rejecting attachment 127086 from commit-queue.

sadrul@chromium.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556798</commentid>
    <comment_count>18</comment_count>
      <attachid>126851</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-02-14 17:20:18 -0800</bug_when>
    <thetext>Comment on attachment 126851
Patch

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

&gt;&gt; Source/WebCore/dom/EventNames.h:226
&gt;&gt; +        }
&gt; 
&gt; This function is only used in EventHandler.cpp. Please move it there.

Done! (in Node.cpp)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557355</commentid>
    <comment_count>19</comment_count>
      <attachid>127086</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-02-15 10:21:43 -0800</bug_when>
    <thetext>Comment on attachment 127086
Patch for landing

Please update / add reviewer name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557359</commentid>
    <comment_count>20</comment_count>
      <attachid>127194</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-02-15 10:22:54 -0800</bug_when>
    <thetext>Created attachment 127194
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557360</commentid>
    <comment_count>21</comment_count>
      <attachid>127194</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-15 10:23:38 -0800</bug_when>
    <thetext>Comment on attachment 127194
Patch for landing

Rejecting attachment 127194 from commit-queue.

sadrul@chromium.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557368</commentid>
    <comment_count>22</comment_count>
      <attachid>127195</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-02-15 10:29:49 -0800</bug_when>
    <thetext>Created attachment 127195
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557376</commentid>
    <comment_count>23</comment_count>
      <attachid>127198</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-02-15 10:36:24 -0800</bug_when>
    <thetext>Created attachment 127198
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557380</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-15 10:38:37 -0800</bug_when>
    <thetext>Attachment 127198 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;]&quot; exit_code: 2

Updating OpenSource
git.webkit.org[0: 17.254.20.231]: errno=Connection refused
fatal: unable to connect a socket (Connection refused)
Died at Tools/Scripts/update-webkit line 162.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557453</commentid>
    <comment_count>25</comment_count>
      <attachid>127198</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-15 12:21:30 -0800</bug_when>
    <thetext>Comment on attachment 127198
Patch

Clearing flags on attachment: 127198

Committed r107832: &lt;http://trac.webkit.org/changeset/107832&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557454</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-15 12:21:37 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124738</attachid>
            <date>2012-01-31 08:15:09 -0800</date>
            <delta_ts>2012-02-06 00:34:36 -0800</delta_ts>
            <desc>patch</desc>
            <filename>webkit-notify-chromeclient-touchhandler.patch</filename>
            <type>text/plain</type>
            <size>19995</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiNDdmZGU0Li5jMWJhYWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIg
QEAKKzIwMTItMDEtMzEgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5k
bGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjpEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGlkQWRk
VG91Y2hFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6ZGlkUmVtb3ZlVG91Y2hFdmVudEhhbmRsZXIpOgorICAgICAgICAqIGRvbS9E
b2N1bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnRvdWNoRXZlbnRIYW5kbGVy
Q291bnQpOgorICAgICAgICAoRG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRyeUFkZEV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6
dHJ5UmVtb3ZlRXZlbnRMaXN0ZW5lcik6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5o
OgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlDaHJvbWVDbGllbnQ6Om51bVRvdWNoRXZlbnRIYW5k
bGVyc0NoYW5nZWQpOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChD
aHJvbWVDbGllbnQpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWU6Om5vdGlmeUNocm9tZUNsaWVudFdoZWVsRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2Vk
KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpub3RpZnlDaHJvbWVDbGllbnRUb3VjaEV2ZW50
SGFuZGxlckNvdW50Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwYWdl
L0ZyYW1lLmg6CisgICAgICAgIChGcmFtZSk6CisKIDIwMTItMDEtMjYgIEpvY2VseW4gVHVyY290
dGUgIDxqb2NlbHluLnR1cmNvdHRlQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIFdLVFI6IFVz
ZSBhIHNvZnR3YXJlIHJlbmRlcmluZyBwaXBpbGluZSB3aGVuIHJ1bm5pbmcgdGVzdHMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcAppbmRleCAzYWJiM2FkLi40OTFiMzIxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKQEAgLTQzMCw2ICs0MzAsNyBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZy
YW1lLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwpCiAgICAgLCBt
X3dyaXRlUmVjdXJzaW9uSXNUb29EZWVwKGZhbHNlKQogICAgICwgbV93cml0ZVJlY3Vyc2lvbkRl
cHRoKDApCiAgICAgLCBtX3doZWVsRXZlbnRIYW5kbGVyQ291bnQoMCkKKyAgICAsIG1fdG91Y2hF
dmVudEhhbmRsZXJDb3VudCgwKQogICAgICwgbV9wZW5kaW5nVGFza3NUaW1lcih0aGlzLCAmRG9j
dW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQpCiB7CiAgICAgbV9kb2N1bWVudCA9IHRoaXM7
CkBAIC01MzU1LDYgKzUzNTYsMjMgQEAgdm9pZCBEb2N1bWVudDo6ZGlkUmVtb3ZlV2hlZWxFdmVu
dEhhbmRsZXIoKQogICAgICAgICBtYWluRnJhbWUtPm5vdGlmeUNocm9tZUNsaWVudFdoZWVsRXZl
bnRIYW5kbGVyQ291bnRDaGFuZ2VkKCk7CiB9CiAKK3ZvaWQgRG9jdW1lbnQ6OmRpZEFkZFRvdWNo
RXZlbnRIYW5kbGVyKCkKK3sKKyAgICArK21fdG91Y2hFdmVudEhhbmRsZXJDb3VudDsKKyAgICBG
cmFtZSogbWFpbkZyYW1lID0gcGFnZSgpID8gcGFnZSgpLT5tYWluRnJhbWUoKSA6IDA7CisgICAg
aWYgKG1haW5GcmFtZSkKKyAgICAgICAgbWFpbkZyYW1lLT5ub3RpZnlDaHJvbWVDbGllbnRUb3Vj
aEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCgpOworfQorCit2b2lkIERvY3VtZW50OjpkaWRSZW1v
dmVUb3VjaEV2ZW50SGFuZGxlcigpCit7CisgICAgQVNTRVJUKG1fdG91Y2hFdmVudEhhbmRsZXJD
b3VudCA+IDApOworICAgIC0tbV90b3VjaEV2ZW50SGFuZGxlckNvdW50OworICAgIEZyYW1lKiBt
YWluRnJhbWUgPSBwYWdlKCkgPyBwYWdlKCktPm1haW5GcmFtZSgpIDogMDsKKyAgICBpZiAobWFp
bkZyYW1lKQorICAgICAgICBtYWluRnJhbWUtPm5vdGlmeUNocm9tZUNsaWVudFRvdWNoRXZlbnRI
YW5kbGVyQ291bnRDaGFuZ2VkKCk7Cit9CisKIGJvb2wgRG9jdW1lbnQ6OnZpc3VhbFVwZGF0ZXNB
bGxvd2VkKCkgY29uc3QKIHsKICAgICByZXR1cm4gIXNldHRpbmdzKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKaW5kZXggZmRiMzk4OC4uNzk1YThmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTExMDcs
NiArMTEwNywxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRBZGRXaGVlbEV2ZW50SGFuZGxlcigp
OwogICAgIHZvaWQgZGlkUmVtb3ZlV2hlZWxFdmVudEhhbmRsZXIoKTsKIAorICAgIHVuc2lnbmVk
IHRvdWNoRXZlbnRIYW5kbGVyQ291bnQoKSBjb25zdCB7IHJldHVybiBtX3RvdWNoRXZlbnRIYW5k
bGVyQ291bnQ7IH0KKyAgICB2b2lkIGRpZEFkZFRvdWNoRXZlbnRIYW5kbGVyKCk7CisgICAgdm9p
ZCBkaWRSZW1vdmVUb3VjaEV2ZW50SGFuZGxlcigpOworCiAgICAgYm9vbCB2aXN1YWxVcGRhdGVz
QWxsb3dlZCgpIGNvbnN0OwogCiAjaWYgRU5BQkxFKE1JQ1JPREFUQSkKQEAgLTE0NDMsNiArMTQ0
Nyw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV93cml0ZVJlY3Vyc2lvbkRlcHRoOwogICAg
IAogICAgIHVuc2lnbmVkIG1fd2hlZWxFdmVudEhhbmRsZXJDb3VudDsKKyAgICB1bnNpZ25lZCBt
X3RvdWNoRXZlbnRIYW5kbGVyQ291bnQ7CiAKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05f
RlJBTUUpCiAgICAgUmVmUHRyPFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcj4gbV9zY3JpcHRl
ZEFuaW1hdGlvbkNvbnRyb2xsZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggYzEzYzJiMC4uOWRhMGM3
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtMjUwNSw2ICsyNTA1LDggQEAgc3RhdGljIGlubGluZSBi
b29sIHRyeUFkZEV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgQXRvbWljU3Ry
aW5nJiBldmUKICAgICAgICAgZG9jdW1lbnQtPmFkZExpc3RlbmVyVHlwZUlmTmVlZGVkKGV2ZW50
VHlwZSk7CiAgICAgICAgIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLm1vdXNld2hlZWxF
dmVudCkKICAgICAgICAgICAgIGRvY3VtZW50LT5kaWRBZGRXaGVlbEV2ZW50SGFuZGxlcigpOwor
ICAgICAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoc3RhcnRFdmVu
dCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNobW92ZUV2ZW50IHx8IGV2ZW50VHlw
ZSA9PSBldmVudE5hbWVzKCkudG91Y2hlbmRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1l
cygpLnRvdWNoY2FuY2VsRXZlbnQpCisgICAgICAgICAgICBkb2N1bWVudC0+ZGlkQWRkVG91Y2hF
dmVudEhhbmRsZXIoKTsKICAgICB9CiAgICAgICAgIAogICAgIHJldHVybiB0cnVlOwpAQCAtMjU1
NCw2ICsyNTU2LDggQEAgc3RhdGljIGlubGluZSBib29sIHRyeVJlbW92ZUV2ZW50TGlzdGVuZXIo
Tm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgQXRvbWljU3RyaW5nJgogICAgIGlmIChEb2N1bWVudCog
ZG9jdW1lbnQgPSB0YXJnZXROb2RlLT5kb2N1bWVudCgpKSB7CiAgICAgICAgIGlmIChldmVudFR5
cGUgPT0gZXZlbnROYW1lcygpLm1vdXNld2hlZWxFdmVudCkKICAgICAgICAgICAgIGRvY3VtZW50
LT5kaWRSZW1vdmVXaGVlbEV2ZW50SGFuZGxlcigpOworICAgICAgICBlbHNlIGlmIChldmVudFR5
cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoc3RhcnRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnRO
YW1lcygpLnRvdWNobW92ZUV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkudG91Y2hl
bmRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoY2FuY2VsRXZlbnQpCisg
ICAgICAgICAgICBkb2N1bWVudC0+ZGlkUmVtb3ZlVG91Y2hFdmVudEhhbmRsZXIoKTsKICAgICB9
CiAgICAgCiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRW1wdHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgK
aW5kZXggOWQyZGJmMi4uMzc3NTIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMu
aApAQCAtMjM0LDYgKzIzNCw3IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIAogICAgIHZpcnR1YWwg
dm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAgICAg
CiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpT
Y3JvbGxEaXJlY3Rpb24pIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lQ2xpZW50LmgKaW5kZXggNDg2NjI1YS4uMzNiMWM0YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0No
cm9tZUNsaWVudC5oCkBAIC0zMjUsNiArMzI1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnVuTW9kYWxEaWFsb2dEdXJpbmdQYWdlRGlzbWlzc2Fs
KGNvbnN0IERpYWxvZ1R5cGUmLCBjb25zdCBTdHJpbmcmIGRpYWxvZ01lc3NhZ2UsIEZyYW1lTG9h
ZGVyOjpQYWdlRGlzbWlzc2FsVHlwZSkgY29uc3QgeyBVTlVTRURfUEFSQU0oZGlhbG9nTWVzc2Fn
ZSk7IHJldHVybiB0cnVlOyB9CiAKICAgICAgICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRI
YW5kbGVyc0NoYW5nZWQodW5zaWduZWQpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIG51bVRv
dWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpID0gMDsKICAgICAgICAgCiAgICAgICAg
IHZpcnR1YWwgYm9vbCBpc1NWR0ltYWdlQ2hyb21lQ2xpZW50KCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCBlMWY1YmNmLi43NjYyZWY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lLmNwcApAQCAtMTAxNywxNiArMTAxNywzMCBAQCB2b2lkIEZyYW1lOjpub3RpZnlD
aHJvbWVDbGllbnRXaGVlbEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCgpIGNvbnN0CiB7CiAgICAg
Ly8gRW5zdXJlIHRoYXQgdGhpcyBtZXRob2QgaXMgYmVpbmcgY2FsbGVkIG9uIHRoZSBtYWluIGZy
YW1lIG9mIHRoZSBwYWdlLgogICAgIEFTU0VSVChtX3BhZ2UgJiYgbV9wYWdlLT5tYWluRnJhbWUo
KSA9PSB0aGlzKTsKLSAgICAKKwogICAgIHVuc2lnbmVkIGNvdW50ID0gMDsKICAgICBmb3IgKGNv
bnN0IEZyYW1lKiBmcmFtZSA9IHRoaXM7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRy
YXZlcnNlTmV4dCgpKSB7CiAgICAgICAgIGlmIChmcmFtZS0+ZG9jdW1lbnQoKSkKICAgICAgICAg
ICAgIGNvdW50ICs9IGZyYW1lLT5kb2N1bWVudCgpLT53aGVlbEV2ZW50SGFuZGxlckNvdW50KCk7
CiAgICAgfQotICAgIAorCiAgICAgbV9wYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCktPm51bVdoZWVs
RXZlbnRIYW5kbGVyc0NoYW5nZWQoY291bnQpOwogfQogCit2b2lkIEZyYW1lOjpub3RpZnlDaHJv
bWVDbGllbnRUb3VjaEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCgpIGNvbnN0Cit7CisgICAgLy8g
RW5zdXJlIHRoYXQgdGhpcyBtZXRob2QgaXMgYmVpbmcgY2FsbGVkIG9uIHRoZSBtYWluIGZyYW1l
IG9mIHRoZSBwYWdlLgorICAgIEFTU0VSVChtX3BhZ2UgJiYgbV9wYWdlLT5tYWluRnJhbWUoKSA9
PSB0aGlzKTsKKworICAgIHVuc2lnbmVkIGNvdW50ID0gMDsKKyAgICBmb3IgKGNvbnN0IEZyYW1l
KiBmcmFtZSA9IHRoaXM7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNlTmV4
dCgpKSB7CisgICAgICAgIGlmIChmcmFtZS0+ZG9jdW1lbnQoKSkKKyAgICAgICAgICAgIGNvdW50
ICs9IGZyYW1lLT5kb2N1bWVudCgpLT50b3VjaEV2ZW50SGFuZGxlckNvdW50KCk7CisgICAgfQor
CisgICAgbV9wYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCktPm51bVRvdWNoRXZlbnRIYW5kbGVyc0No
YW5nZWQoY291bnQpOworfQorCiAjaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKFdJTikK
IHN0cnVjdCBTY29wZWRGcmFtZVBhaW50aW5nU3RhdGUgewogICAgIFNjb3BlZEZyYW1lUGFpbnRp
bmdTdGF0ZShGcmFtZSogdGhlRnJhbWUsIFJlbmRlck9iamVjdCogdGhlUmVuZGVyZXIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lLmgKaW5kZXggMThkYTVmMy4uYTdhYzYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaApAQCAtMTk1
LDYgKzE5NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICAvLyBTaG91bGQgb25s
eSBiZSBjYWxsZWQgb24gdGhlIG1haW4gZnJhbWUgb2YgYSBwYWdlLgogICAgICAgICB2b2lkIG5v
dGlmeUNocm9tZUNsaWVudFdoZWVsRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKCkgY29uc3Q7Cisg
ICAgICAgIHZvaWQgbm90aWZ5Q2hyb21lQ2xpZW50VG91Y2hFdmVudEhhbmRsZXJDb3VudENoYW5n
ZWQoKSBjb25zdDsKIAogICAgIC8vID09PT09PT09CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
aW5kZXggNzA4ODBhNC4uYzNiZjk3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxMi0wMS0zMSAgU2FkcnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1bEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNsaWVudCB3aGVuIHRvdWNoLWV2
ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViVmlld0NsaWVudC5oOgorICAg
ICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50OjpudW1iZXJPZlRvdWNoRXZlbnRIYW5kbGVyc0No
YW5nZWQpOgorICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6Q2hyb21lQ2xpZW50SW1wbDo6bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6Cisg
ICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmg6CisgICAg
ICAgIChDaHJvbWVDbGllbnRJbXBsKToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6bnVtYmVyT2ZUb3VjaEV2ZW50SGFuZGxlcnND
aGFuZ2VkKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmg6
CisgICAgICAgIChXZWJWaWV3SW1wbCk6CisKIDIwMTItMDEtMzAgIEpvY2hlbiBFaXNpbmdlciAg
PGpvY2hlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSByZW1vdmUgZXhpdCB0
aW1lIGRlc3RydWN0b3JzIGZyb20gVGV4dHVyZU1hbmFnZXJUZXN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgKaW5kZXggNWE0ZDRlOC4uNTMwMjY1YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaApAQCAt
MjU2LDYgKzI1Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZm9jdXNlZE5vZGVDaGFu
Z2VkKGNvbnN0IFdlYk5vZGUmKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBudW1iZXJPZldoZWVs
RXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBudW1i
ZXJPZlRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQogCiAgICAgLy8gSW5k
aWNhdGVzIHR3byB0aGluZ3M6CiAgICAgLy8gICAxKSBUaGlzIHZpZXcgbWF5IGhhdmUgYSBuZXcg
bGF5b3V0IG5vdy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9t
ZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50
SW1wbC5jcHAKaW5kZXggZmIwN2I0Yy4uNDVhODEzODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCkBAIC0xMDE4LDYgKzEwMTgsMTEgQEAg
dm9pZCBDaHJvbWVDbGllbnRJbXBsOjpudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2ln
bmVkIG51bWJlck9mV2hlZWxIYW5kbGUKICAgICBtX3dlYlZpZXctPm51bWJlck9mV2hlZWxFdmVu
dEhhbmRsZXJzQ2hhbmdlZChudW1iZXJPZldoZWVsSGFuZGxlcnMpOwogfQogCit2b2lkIENocm9t
ZUNsaWVudEltcGw6Om51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQgbnVtYmVy
T2ZUb3VjaEhhbmRsZXJzKQoreworICAgIG1fd2ViVmlldy0+bnVtYmVyT2ZUb3VjaEV2ZW50SGFu
ZGxlcnNDaGFuZ2VkKG51bWJlck9mVG91Y2hIYW5kbGVycyk7Cit9CisKICNpZiBFTkFCTEUoUE9J
TlRFUl9MT0NLKQogYm9vbCBDaHJvbWVDbGllbnRJbXBsOjpyZXF1ZXN0UG9pbnRlckxvY2soKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1w
bC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCmluZGV4
IDhmZDI0ODguLjIzZTAyZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0Nocm9tZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmgKQEAgLTIwNCw2ICsyMDQsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlv
bikgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQo
dW5zaWduZWQpOworICAgIHZpcnR1YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2Vk
KHVuc2lnbmVkKTsKIAogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiAgICAgdmlydHVhbCBib29s
IHJlcXVlc3RQb2ludGVyTG9jaygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuY3BwCmluZGV4IGQ1YThiYTguLjc1MTU5NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTgyMiw2ICs4MjIsMTIgQEAgdm9pZCBXZWJWaWV3
SW1wbDo6bnVtYmVyT2ZXaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkIG51bWJlck9m
V2hlZWxIYW5kbGUKICNlbmRpZgogfQogCit2b2lkIFdlYlZpZXdJbXBsOjpudW1iZXJPZlRvdWNo
RXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQgbnVtYmVyT2ZUb3VjaEhhbmRsZXJzKQorewor
ICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPm51bWJlck9mVG91Y2hFdmVudEhh
bmRsZXJzQ2hhbmdlZChudW1iZXJPZlRvdWNoSGFuZGxlcnMpOworfQorCiAjaWYgIU9TKERBUldJ
TikKIC8vIE1hYyBoYXMgbm8gd2F5IHRvIG9wZW4gYSBjb250ZXh0IG1lbnUgYmFzZWQgb24gYSBr
ZXlib2FyZCBldmVudC4KIGJvb2wgV2ViVmlld0ltcGw6OnNlbmRDb250ZXh0TWVudUV2ZW50KGNv
bnN0IFdlYktleWJvYXJkRXZlbnQmIGV2ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmgKaW5kZXggMDJiYzVjOS4uNGRjMzEzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC0zMjEsNiArMzIxLDcgQEAgcHVibGljOgogICAgIGJv
b2wgdG91Y2hFdmVudChjb25zdCBXZWJUb3VjaEV2ZW50Jik7CiAKICAgICB2b2lkIG51bWJlck9m
V2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCk7CisgICAgdm9pZCBudW1iZXJPZlRv
dWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpOwogCiAgICAgLy8gSGFuZGxlcyBjb250
ZXh0IG1lbnUgZXZlbnRzIG9yaWduYXRlZCB2aWEgdGhlIHRoZSBrZXlib2FyZC4gVGhlc2UKICAg
ICAvLyBpbmNsdWRlIHRoZSBWS19BUFBTIHZpcnR1YWwga2V5IGFuZCB0aGUgU2hpZnQrRjEwIGNv
bWJpbmUuIENvZGUgaXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCA4OGQzYWU5Li42YjBiYzIwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9l
ZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDEtMzEgIFNhZHJ1bCBIYWJpYiBD
aG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vdGlmeSBDaHJvbWVD
bGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5kbGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRF
Zmw6Om51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQpOgorCiAyMDEyLTAxLTI2ICBUb21hc3og
TW9yYXdza2kgIDx0Lm1vcmF3c2tpQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIEFkZGVk
IG1pc3NpbmcgTkVUU0NBUEVfUExVR0lOX0FQSSBtYWNyby4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIvU291cmNlL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXggNGI0N2M3My4uODI1
MTIyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50RWZsLmgKQEAgLTE3Myw2ICsxNzMsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJv
b2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbikg
Y29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFu
ZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVu
dEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAKICAgICBFdmFzX09iamVjdCogbV92aWV3
OwogICAgIEtVUkwgbV9ob3ZlcmVkTGlua1VSTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBkNDQ5NDY0
Li5mZDI5NmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDEtMzEg
IFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5kbGVycyBhcmUgaW5zdGFs
bGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisgICAgICAgIChXZWJLaXQ6
OkNocm9tZUNsaWVudDo6bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6CisKIDIwMTItMDEt
MjMgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHVEtdIFJlZmFjdG9yIEdUSydzIGFjY2Vzc2liaWxpdGl0eSBjb2RlIHRvIGJlIG1vcmUgbW9k
dWxhcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50R3RrLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRHdGsuaAppbmRleCA5MzIyMjRmLi5hMDMxNjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaApAQCAtMTU5LDYgKzE1OSw3IEBA
IG5hbWVzcGFjZSBXZWJLaXQgewogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJC
YW5kSW5EaXJlY3Rpb24oU2Nyb2xsRGlyZWN0aW9uKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVk
KSB7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQo
dW5zaWduZWQpIHsgfQogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAKICAgICAg
ICAgdmlydHVhbCB2b2lkIGF0dGFjaFJvb3RHcmFwaGljc0xheWVyKEZyYW1lKiwgR3JhcGhpY3NM
YXllciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGFjZjUwZjQuLjgxMDhmNWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMS0zMSAgU2FkcnVsIEhhYmliIENob3dkaHVy
eSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNsaWVudCB3
aGVuIHRvdWNoLWV2ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKCk6CisKIDIwMTItMDEtMjUgIE1hcmsgUm93ZSAg
PG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBpbiB0byBhbiBhbHRlcm5hdGUgbG9j
YXRpb24gd2hlbiBVU0VfU1RBR0lOR19JTlNUQUxMX1BBVEggaXMgc2V0LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA0OGZm
MDliLi42NmZhMDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTg5LDYgKzE4OSw3IEBAIHB1YmxpYzoKICNlbmRpZgog
ICAgIAogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2ln
bmVkKSBPVkVSUklERSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJz
Q2hhbmdlZCh1bnNpZ25lZCkgT1ZFUlJJREUgeyB9CiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1
YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IE9WRVJS
SURFIHsgcmV0dXJuIGZhbHNlOyB9CiBwcml2YXRlOgogICAgIFdlYlZpZXcgKm1fd2ViVmlldzsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9x
dC9DaGFuZ2VMb2cKaW5kZXggNmFlZmQ3MC4uNTIxNGQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMi0wMS0zMSAgU2FkcnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1bEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNsaWVudCB3aGVuIHRvdWNoLWV2
ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRR
dC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6Om51bVRvdWNoRXZlbnRIYW5k
bGVyc0NoYW5nZWQpOgorCiAyMDEyLTAxLTMwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZWR1Y2Ugbm9uLUNTU09NIEFQSSBvZiBDU1NTdHlsZURlY2xhcmF0
aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0
LmgKaW5kZXggNmE1NzZkOS4uM2Q0NWI3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaApAQCAtMTkyLDYgKzE5Miw3IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oV2ViQ29yZTo6
U2Nyb2xsRGlyZWN0aW9uKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lk
IG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQorICAgIHZpcnR1YWwg
dm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KIAogICAgIFFX
ZWJQYWdlKiBtX3dlYlBhZ2U7CiAgICAgS1VSTCBsYXN0SG92ZXJVUkw7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cK
aW5kZXggY2M1NTcyNy4uMjExN2E2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDEyLTAxLTMxICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBOb3RpZnkgQ2hyb21lQ2xpZW50IHdoZW4gdG91Y2gtZXZlbnQgaGFuZGxl
cnMgYXJlIGluc3RhbGxlZC9yZW1vdmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAg
ICAgICAoV2ViQ2hyb21lQ2xpZW50OjpudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKToKKwog
MjAxMi0wMS0yMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBTaG93IGxheWVyIGJvcmRlcnMgZm9yIHNjcm9sbGJhciBsYXllcnMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291
cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggYjZh
ZWIxYy4uMmE5YThmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTE3Nyw2ICsxNzcsNyBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERp
cmVjdGlvbikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVl
bEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVt
VG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAKIHByaXZhdGU6CiAgICAg
Q09NUHRyPElXZWJVSURlbGVnYXRlPiB1aURlbGVnYXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3dpbmNlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCmlu
ZGV4IDZkMmE3ZTYuLjQwNTQ0ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTItMDEtMzEgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5k
bGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaDoK
KyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50V2luQ0U6Om51bVRvdWNoRXZlbnRIYW5kbGVy
c0NoYW5nZWQpOgorCiAyMDExLTEyLTE5ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgTW9yZSBQbGF0Zm9ybUV2ZW50IGNsZWFudXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaCBiL1NvdXJjZS9X
ZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaAppbmRleCAwMDZl
MDEwLi42MTM3ODNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCkBAIC0xNzcsNiArMTc3LDcgQEAgcHVibGljOgog
CiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpT
Y3JvbGxEaXJlY3Rpb24pIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQg
bnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CisgICAgdmlydHVhbCB2
b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQogCiBwcml2YXRl
OgogICAgIFdlYlZpZXcqIG1fd2ViVmlldzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKaW5kZXggZGE0ZTlmMS4uM2My
ZjFhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC93eC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMS0zMSAgU2FkcnVs
IEhhYmliIENob3dkaHVyeSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5
IENocm9tZUNsaWVudCB3aGVuIHRvdWNoLWV2ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVt
b3ZlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3
NDQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBX
ZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVD
bGllbnRXeDo6bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6CisKIDIwMTItMDEtMjYgIEtl
dmluIE9sbGl2aWVyICA8a2V2aW5vQHRoZW9sbGl2aWVycy5jb20+CiAKICAgICAgICAgW3d4XSBV
bnJldmlld2VkLiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9D
aHJvbWVDbGllbnRXeC5oIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNs
aWVudFd4LmgKaW5kZXggZGNkMTY0Zi4uMmI2Y2RlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgKKysrIGIvU291cmNlL1dlYktpdC93
eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgKQEAgLTE1MSw2ICsxNTEsNyBAQCBwdWJs
aWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNv
cmU6OlNjcm9sbERpcmVjdGlvbikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwg
dm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAgICAg
CiAgICAgdmlydHVhbCBib29sIGhhc09wZW5lZFBvcHVwKCkgY29uc3Q7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125586</attachid>
            <date>2012-02-06 00:34:43 -0800</date>
            <delta_ts>2012-02-06 00:40:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77440-20120206033442.patch</filename>
            <type>text/plain</type>
            <size>15839</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAz
YWJiM2FkYTliY2I1MWYwMWYwMjQ3NWE4MTkxNjczYmRlYThhMWExLi40OTFiMzIxODYxZTZlYmMw
M2ViZGVjZWUwZjMwNTgwODg2YmU3NDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQz
MCw2ICs0MzAsNyBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLVVJM
JiB1cmwsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwpCiAgICAgLCBtX3dyaXRlUmVjdXJzaW9u
SXNUb29EZWVwKGZhbHNlKQogICAgICwgbV93cml0ZVJlY3Vyc2lvbkRlcHRoKDApCiAgICAgLCBt
X3doZWVsRXZlbnRIYW5kbGVyQ291bnQoMCkKKyAgICAsIG1fdG91Y2hFdmVudEhhbmRsZXJDb3Vu
dCgwKQogICAgICwgbV9wZW5kaW5nVGFza3NUaW1lcih0aGlzLCAmRG9jdW1lbnQ6OnBlbmRpbmdU
YXNrc1RpbWVyRmlyZWQpCiB7CiAgICAgbV9kb2N1bWVudCA9IHRoaXM7CkBAIC01MzU1LDYgKzUz
NTYsMjMgQEAgdm9pZCBEb2N1bWVudDo6ZGlkUmVtb3ZlV2hlZWxFdmVudEhhbmRsZXIoKQogICAg
ICAgICBtYWluRnJhbWUtPm5vdGlmeUNocm9tZUNsaWVudFdoZWVsRXZlbnRIYW5kbGVyQ291bnRD
aGFuZ2VkKCk7CiB9CiAKK3ZvaWQgRG9jdW1lbnQ6OmRpZEFkZFRvdWNoRXZlbnRIYW5kbGVyKCkK
K3sKKyAgICArK21fdG91Y2hFdmVudEhhbmRsZXJDb3VudDsKKyAgICBGcmFtZSogbWFpbkZyYW1l
ID0gcGFnZSgpID8gcGFnZSgpLT5tYWluRnJhbWUoKSA6IDA7CisgICAgaWYgKG1haW5GcmFtZSkK
KyAgICAgICAgbWFpbkZyYW1lLT5ub3RpZnlDaHJvbWVDbGllbnRUb3VjaEV2ZW50SGFuZGxlckNv
dW50Q2hhbmdlZCgpOworfQorCit2b2lkIERvY3VtZW50OjpkaWRSZW1vdmVUb3VjaEV2ZW50SGFu
ZGxlcigpCit7CisgICAgQVNTRVJUKG1fdG91Y2hFdmVudEhhbmRsZXJDb3VudCA+IDApOworICAg
IC0tbV90b3VjaEV2ZW50SGFuZGxlckNvdW50OworICAgIEZyYW1lKiBtYWluRnJhbWUgPSBwYWdl
KCkgPyBwYWdlKCktPm1haW5GcmFtZSgpIDogMDsKKyAgICBpZiAobWFpbkZyYW1lKQorICAgICAg
ICBtYWluRnJhbWUtPm5vdGlmeUNocm9tZUNsaWVudFRvdWNoRXZlbnRIYW5kbGVyQ291bnRDaGFu
Z2VkKCk7Cit9CisKIGJvb2wgRG9jdW1lbnQ6OnZpc3VhbFVwZGF0ZXNBbGxvd2VkKCkgY29uc3QK
IHsKICAgICByZXR1cm4gIXNldHRpbmdzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggZmRiMzk4
ODc1ZjUxNGRmZmM0YzcwMzk3MjFiMWE3NTc0N2NiYjk3Yi4uNzk1YThmYzVjNWUxMzIwOWJiMWU1
NTc0ZDU3ZjFkMjQ4ZDY0M2UzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTExMDcsNiArMTEw
NywxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRBZGRXaGVlbEV2ZW50SGFuZGxlcigpOwogICAg
IHZvaWQgZGlkUmVtb3ZlV2hlZWxFdmVudEhhbmRsZXIoKTsKIAorICAgIHVuc2lnbmVkIHRvdWNo
RXZlbnRIYW5kbGVyQ291bnQoKSBjb25zdCB7IHJldHVybiBtX3RvdWNoRXZlbnRIYW5kbGVyQ291
bnQ7IH0KKyAgICB2b2lkIGRpZEFkZFRvdWNoRXZlbnRIYW5kbGVyKCk7CisgICAgdm9pZCBkaWRS
ZW1vdmVUb3VjaEV2ZW50SGFuZGxlcigpOworCiAgICAgYm9vbCB2aXN1YWxVcGRhdGVzQWxsb3dl
ZCgpIGNvbnN0OwogCiAjaWYgRU5BQkxFKE1JQ1JPREFUQSkKQEAgLTE0NDMsNiArMTQ0Nyw3IEBA
IHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV93cml0ZVJlY3Vyc2lvbkRlcHRoOwogICAgIAogICAg
IHVuc2lnbmVkIG1fd2hlZWxFdmVudEhhbmRsZXJDb3VudDsKKyAgICB1bnNpZ25lZCBtX3RvdWNo
RXZlbnRIYW5kbGVyQ291bnQ7CiAKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUp
CiAgICAgUmVmUHRyPFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcj4gbV9zY3JpcHRlZEFuaW1h
dGlvbkNvbnRyb2xsZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggYzEzYzJiMDU3MDM0YTMwM2UzMDYz
YjdhNTI0NTU0YjZiYmRmMzI0MS4uOWRhMGM3MDE3YWEwODMwMDM5ZjYzMzQ5YjQ3NTIxZWE3ZTRk
ZjJmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtMjUwNSw2ICsyNTA1LDggQEAgc3RhdGljIGlubGlu
ZSBib29sIHRyeUFkZEV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgQXRvbWlj
U3RyaW5nJiBldmUKICAgICAgICAgZG9jdW1lbnQtPmFkZExpc3RlbmVyVHlwZUlmTmVlZGVkKGV2
ZW50VHlwZSk7CiAgICAgICAgIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLm1vdXNld2hl
ZWxFdmVudCkKICAgICAgICAgICAgIGRvY3VtZW50LT5kaWRBZGRXaGVlbEV2ZW50SGFuZGxlcigp
OworICAgICAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoc3RhcnRF
dmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNobW92ZUV2ZW50IHx8IGV2ZW50
VHlwZSA9PSBldmVudE5hbWVzKCkudG91Y2hlbmRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnRO
YW1lcygpLnRvdWNoY2FuY2VsRXZlbnQpCisgICAgICAgICAgICBkb2N1bWVudC0+ZGlkQWRkVG91
Y2hFdmVudEhhbmRsZXIoKTsKICAgICB9CiAgICAgICAgIAogICAgIHJldHVybiB0cnVlOwpAQCAt
MjU1NCw2ICsyNTU2LDggQEAgc3RhdGljIGlubGluZSBib29sIHRyeVJlbW92ZUV2ZW50TGlzdGVu
ZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgQXRvbWljU3RyaW5nJgogICAgIGlmIChEb2N1bWVu
dCogZG9jdW1lbnQgPSB0YXJnZXROb2RlLT5kb2N1bWVudCgpKSB7CiAgICAgICAgIGlmIChldmVu
dFR5cGUgPT0gZXZlbnROYW1lcygpLm1vdXNld2hlZWxFdmVudCkKICAgICAgICAgICAgIGRvY3Vt
ZW50LT5kaWRSZW1vdmVXaGVlbEV2ZW50SGFuZGxlcigpOworICAgICAgICBlbHNlIGlmIChldmVu
dFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoc3RhcnRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZl
bnROYW1lcygpLnRvdWNobW92ZUV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkudG91
Y2hlbmRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoY2FuY2VsRXZlbnQp
CisgICAgICAgICAgICBkb2N1bWVudC0+ZGlkUmVtb3ZlVG91Y2hFdmVudEhhbmRsZXIoKTsKICAg
ICB9CiAgICAgCiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmgKaW5kZXggOWQyZGJmMjUzOWMxNWFjYTMyYWQ0MDNiMTcyNGM2ZWVjM2IxN2NlOC4uMzc3NTIy
OGY2ZDkwYmI3MmJiZGY5NDZkMTI5NmUzNjNkYTliOTQ3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaApAQCAtMjM0LDYgKzIzNCw3IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIAog
ICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25l
ZCkgeyB9CiAgICAgCiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlv
bihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggNDg2NjI1YTk4ZDIwZTFjMDNkNTE1ZWIy
MjQ0MmQzODE0MmY4MTMwNy4uMzNiMWM0Yjg3MTQ5MDgzYmM2OGVhNzliNzlmZjE0MmVjZGQ1OWU0
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0zMjUsNiArMzI1LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnVuTW9kYWxEaWFs
b2dEdXJpbmdQYWdlRGlzbWlzc2FsKGNvbnN0IERpYWxvZ1R5cGUmLCBjb25zdCBTdHJpbmcmIGRp
YWxvZ01lc3NhZ2UsIEZyYW1lTG9hZGVyOjpQYWdlRGlzbWlzc2FsVHlwZSkgY29uc3QgeyBVTlVT
RURfUEFSQU0oZGlhbG9nTWVzc2FnZSk7IHJldHVybiB0cnVlOyB9CiAKICAgICAgICAgdmlydHVh
bCB2b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpID0gMDsKKyAgICAg
ICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpID0g
MDsKICAgICAgICAgCiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc1NWR0ltYWdlQ2hyb21lQ2xpZW50
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCBlMWY1
YmNmOTllYTVjYzg4OWEzZmM5ZGRkZDExOTUzYWQ0M2M5ODQ5Li43NjYyZWY4N2ZiYmNjM2Y5MWVi
NjQ2ZTJjMzcyNWI1Y2JhZDFlODU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtMTAxNywxNiAr
MTAxNywzMCBAQCB2b2lkIEZyYW1lOjpub3RpZnlDaHJvbWVDbGllbnRXaGVlbEV2ZW50SGFuZGxl
ckNvdW50Q2hhbmdlZCgpIGNvbnN0CiB7CiAgICAgLy8gRW5zdXJlIHRoYXQgdGhpcyBtZXRob2Qg
aXMgYmVpbmcgY2FsbGVkIG9uIHRoZSBtYWluIGZyYW1lIG9mIHRoZSBwYWdlLgogICAgIEFTU0VS
VChtX3BhZ2UgJiYgbV9wYWdlLT5tYWluRnJhbWUoKSA9PSB0aGlzKTsKLSAgICAKKwogICAgIHVu
c2lnbmVkIGNvdW50ID0gMDsKICAgICBmb3IgKGNvbnN0IEZyYW1lKiBmcmFtZSA9IHRoaXM7IGZy
YW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKSB7CiAgICAgICAgIGlm
IChmcmFtZS0+ZG9jdW1lbnQoKSkKICAgICAgICAgICAgIGNvdW50ICs9IGZyYW1lLT5kb2N1bWVu
dCgpLT53aGVlbEV2ZW50SGFuZGxlckNvdW50KCk7CiAgICAgfQotICAgIAorCiAgICAgbV9wYWdl
LT5jaHJvbWUoKS0+Y2xpZW50KCktPm51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQoY291bnQp
OwogfQogCit2b2lkIEZyYW1lOjpub3RpZnlDaHJvbWVDbGllbnRUb3VjaEV2ZW50SGFuZGxlckNv
dW50Q2hhbmdlZCgpIGNvbnN0Cit7CisgICAgLy8gRW5zdXJlIHRoYXQgdGhpcyBtZXRob2QgaXMg
YmVpbmcgY2FsbGVkIG9uIHRoZSBtYWluIGZyYW1lIG9mIHRoZSBwYWdlLgorICAgIEFTU0VSVCht
X3BhZ2UgJiYgbV9wYWdlLT5tYWluRnJhbWUoKSA9PSB0aGlzKTsKKworICAgIHVuc2lnbmVkIGNv
dW50ID0gMDsKKyAgICBmb3IgKGNvbnN0IEZyYW1lKiBmcmFtZSA9IHRoaXM7IGZyYW1lOyBmcmFt
ZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKSB7CisgICAgICAgIGlmIChmcmFtZS0+
ZG9jdW1lbnQoKSkKKyAgICAgICAgICAgIGNvdW50ICs9IGZyYW1lLT5kb2N1bWVudCgpLT50b3Vj
aEV2ZW50SGFuZGxlckNvdW50KCk7CisgICAgfQorCisgICAgbV9wYWdlLT5jaHJvbWUoKS0+Y2xp
ZW50KCktPm51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQoY291bnQpOworfQorCiAjaWYgIVBM
QVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKFdJTikKIHN0cnVjdCBTY29wZWRGcmFtZVBhaW50aW5n
U3RhdGUgewogICAgIFNjb3BlZEZyYW1lUGFpbnRpbmdTdGF0ZShGcmFtZSogdGhlRnJhbWUsIFJl
bmRlck9iamVjdCogdGhlUmVuZGVyZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKaW5kZXggMThkYTVmMzZhYjUy
YjcxOWE4NDk2YmY4ZTZmYzgyZjE5NWRiMDMyZS4uYTdhYzYxOWYzMjI4M2U0MzBjNjEwZWUzYWJl
YzY1NGUzZjRkYTg1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaApAQCAtMTk1LDYgKzE5NSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgICAgICAvLyBTaG91bGQgb25seSBiZSBjYWxsZWQgb24gdGhl
IG1haW4gZnJhbWUgb2YgYSBwYWdlLgogICAgICAgICB2b2lkIG5vdGlmeUNocm9tZUNsaWVudFdo
ZWVsRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKCkgY29uc3Q7CisgICAgICAgIHZvaWQgbm90aWZ5
Q2hyb21lQ2xpZW50VG91Y2hFdmVudEhhbmRsZXJDb3VudENoYW5nZWQoKSBjb25zdDsKIAogICAg
IC8vID09PT09PT09CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYlZpZXdDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdD
bGllbnQuaAppbmRleCA1YTRkNGU4ZTQ5YzNkNzJhNjhhMGVhOGVlY2Q0MjAyNGVkNjc4ZTJiLi41
MzAyNjViOTcwMWM4MThkOWRiYTdhMjA1YTJlNDQwNGRmODAwZjQ2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCkBAIC0yNTYsNiArMjU2LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBmb2N1c2VkTm9kZUNoYW5nZWQoY29uc3QgV2ViTm9k
ZSYpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIG51bWJlck9mV2hlZWxFdmVudEhhbmRsZXJzQ2hh
bmdlZCh1bnNpZ25lZCkgeyB9CisgICAgdmlydHVhbCB2b2lkIG51bWJlck9mVG91Y2hFdmVudEhh
bmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAKICAgICAvLyBJbmRpY2F0ZXMgdHdvIHRoaW5n
czoKICAgICAvLyAgIDEpIFRoaXMgdmlldyBtYXkgaGF2ZSBhIG5ldyBsYXlvdXQgbm93LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAppbmRleCBm
YjA3YjRjMTAzZmIyNzlhMjRjNGYxNjc4ZWI1OTg4ZjMyMTczYmE2Li40NWE4MTM4NTk0NGNlOGFi
ZGJjN2JiOTk0YWViM2NjOWRmMjI0MGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcApAQCAtMTAxOCw2ICsxMDE4LDExIEBAIHZvaWQgQ2hy
b21lQ2xpZW50SW1wbDo6bnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCBudW1i
ZXJPZldoZWVsSGFuZGxlCiAgICAgbV93ZWJWaWV3LT5udW1iZXJPZldoZWVsRXZlbnRIYW5kbGVy
c0NoYW5nZWQobnVtYmVyT2ZXaGVlbEhhbmRsZXJzKTsKIH0KIAordm9pZCBDaHJvbWVDbGllbnRJ
bXBsOjpudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkIG51bWJlck9mVG91Y2hI
YW5kbGVycykKK3sKKyAgICBtX3dlYlZpZXctPm51bWJlck9mVG91Y2hFdmVudEhhbmRsZXJzQ2hh
bmdlZChudW1iZXJPZlRvdWNoSGFuZGxlcnMpOworfQorCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9D
SykKIGJvb2wgQ2hyb21lQ2xpZW50SW1wbDo6cmVxdWVzdFBvaW50ZXJMb2NrKCkKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAppbmRleCA4ZmQyNDg4
ZDllZTY2MTBmZTEzODU4YjhlYzllNTU4MGM3NTQwNTI4Li4yM2UwMmZmM2Q5OTUwNGZjMjk5ODJm
MzcxMTYzNTZhMTAwNTQ5NzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9DaHJvbWVDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hy
b21lQ2xpZW50SW1wbC5oCkBAIC0yMDQsNiArMjA0LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVh
bCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rp
b24pIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2Vk
KHVuc2lnbmVkKTsKKyAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdl
ZCh1bnNpZ25lZCk7CiAKICNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQogICAgIHZpcnR1YWwgYm9v
bCByZXF1ZXN0UG9pbnRlckxvY2soKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmNwcAppbmRleCBkNWE4YmE4YjZlMzlhNGU0ODE1MmVlYTQzMjAwM2FjN2NlMjMyNzZi
Li43NTE1OTRhMTY3MzFkYzA0ZmM4OWQ1MTkwNzEwMzk0MWM2YzFjYTYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC04MjIsNiArODIyLDEyIEBAIHZv
aWQgV2ViVmlld0ltcGw6Om51bWJlck9mV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25l
ZCBudW1iZXJPZldoZWVsSGFuZGxlCiAjZW5kaWYKIH0KIAordm9pZCBXZWJWaWV3SW1wbDo6bnVt
YmVyT2ZUb3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkIG51bWJlck9mVG91Y2hIYW5k
bGVycykKK3sKKyAgICBpZiAobV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50LT5udW1iZXJPZlRv
dWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQobnVtYmVyT2ZUb3VjaEhhbmRsZXJzKTsKK30KKwogI2lm
ICFPUyhEQVJXSU4pCiAvLyBNYWMgaGFzIG5vIHdheSB0byBvcGVuIGEgY29udGV4dCBtZW51IGJh
c2VkIG9uIGEga2V5Ym9hcmQgZXZlbnQuCiBib29sIFdlYlZpZXdJbXBsOjpzZW5kQ29udGV4dE1l
bnVFdmVudChjb25zdCBXZWJLZXlib2FyZEV2ZW50JiBldmVudCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJWaWV3SW1wbC5oCmluZGV4IDAyYmM1YzkyMWRhMzZjNmVjZGI3ZTBlMTFhY2U5
YmYzMTdkMmQyZjUuLjRkYzMxM2MzNmJjMDVkMmQ2YzZmZGU5ZGIzMzQ4YzkwOTRlMmRlMzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApAQCAtMzIxLDYgKzMyMSw3
IEBAIHB1YmxpYzoKICAgICBib29sIHRvdWNoRXZlbnQoY29uc3QgV2ViVG91Y2hFdmVudCYpOwog
CiAgICAgdm9pZCBudW1iZXJPZldoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpOwor
ICAgIHZvaWQgbnVtYmVyT2ZUb3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKTsKIAog
ICAgIC8vIEhhbmRsZXMgY29udGV4dCBtZW51IGV2ZW50cyBvcmlnbmF0ZWQgdmlhIHRoZSB0aGUg
a2V5Ym9hcmQuIFRoZXNlCiAgICAgLy8gaW5jbHVkZSB0aGUgVktfQVBQUyB2aXJ0dWFsIGtleSBh
bmQgdGhlIFNoaWZ0K0YxMCBjb21iaW5lLiBDb2RlIGlzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCmluZGV4IDRiNDdjNzMxY2Q2Yjdh
ZDk3OTI1ZGMxOTc2YThhNjUzODAzMzlmOTQuLjgyNTEyMjUxZjZhNDQwZWE1OTMzMDEzZTExOGRm
M2MwMDI0Yzc5ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEVmbC5oCkBAIC0xNzMsNiArMTczLDcgQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpTY3JvbGxEaXJl
Y3Rpb24pIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxF
dmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CisgICAgdmlydHVhbCB2b2lkIG51bVRv
dWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQogCiAgICAgRXZhc19PYmplY3Qq
IG1fdmlldzsKICAgICBLVVJMIG1faG92ZXJlZExpbmtVUkw7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaCBiL1NvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCmluZGV4IDkzMjIyNGYwNDFj
ZDVhNmRkOGIyM2E1NDQ0NDUzMWU1MjMyOGJmY2YuLmEwMzE2OGMyMGI3YzA0ZTc0NjYzYzg1Mjdj
YTNiYjY5NmI4N2ZlMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEd0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEd0ay5oCkBAIC0xNTksNiArMTU5LDcgQEAgbmFtZXNwYWNlIFdlYktp
dCB7CiAKICAgICAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihT
Y3JvbGxEaXJlY3Rpb24pIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICAgICAgdmlydHVhbCB2
b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQorICAgICAgICB2
aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAK
ICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpIAogICAgICAgICB2aXJ0dWFsIHZvaWQg
YXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUqLCBHcmFwaGljc0xheWVyKik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4
IDQ4ZmYwOWJiYTY4MTk2N2Y3YzYyNzY2NzM0NjQ1OTQ0YTU0ZWIyZjQuLjY2ZmEwNjBiNWE1M2Ri
YzJmMzhlZWE2ZjU0NTJkNzZkYTZiYjFmOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xODksNiArMTg5LDcgQEAgcHVi
bGljOgogI2VuZGlmCiAgICAgCiAgICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVy
c0NoYW5nZWQodW5zaWduZWQpIE9WRVJSSURFIHsgfQorICAgIHZpcnR1YWwgdm9pZCBudW1Ub3Vj
aEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFs
IGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlv
bikgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KIHByaXZhdGU6CiAgICAgV2ViVmll
dyAqbV93ZWJWaWV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRRdC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRRdC5oCmluZGV4IDZhNTc2ZDk2ZGFjNDZhZmUzNzRjNzBiZWFjMWI2Yjk0ZTM2MjNh
OWMuLjNkNDViN2I1MWEyZTMyMDA0NGU2NDAxZjcwOGJiMmMwOGYzNzU1YzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAorKysgYi9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKQEAgLTE5Miw2
ICsxOTIsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnViYmVyQmFuZElu
RGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbikgY29uc3QgeyByZXR1cm4gdHJ1ZTsg
fQogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVk
KSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNp
Z25lZCkgeyB9CiAKICAgICBRV2ViUGFnZSogbV93ZWJQYWdlOwogICAgIEtVUkwgbGFzdEhvdmVy
VVJMOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaAppbmRleCBiNmFlYjFjZjcxZTYzZWI4NmVjM2JhZWUwMTRiOTU1ZTg5OTkyMzlhLi4y
YTlhOGZlN2YzZDRmNDUzZmU0YWIxZjBlZGNiOWRkMzlmYWFiYzliIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTc3LDYg
KzE3Nyw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5E
aXJlY3Rpb24oV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
CiAgICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQp
IHsgfQorICAgIHZpcnR1YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2ln
bmVkKSB7IH0KIAogcHJpdmF0ZToKICAgICBDT01QdHI8SVdlYlVJRGVsZWdhdGU+IHVpRGVsZWdh
dGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50V2luQ0UuaCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50V2luQ0UuaAppbmRleCAwMDZlMDEwZjhkMjc4MjY5ZmRlNzZmMzVlNmViMmFjNzQ0
OTgzNjU2Li42MTM3ODNhMDMzZTU5YWNhOTFkOTg0NTM2MDAwNjQ5MDVjMjA2MjEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNF
LmgKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRX
aW5DRS5oCkBAIC0xNzcsNiArMTc3LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNo
b3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJz
Q2hhbmdlZCh1bnNpZ25lZCkgeyB9CisgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5k
bGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQogCiBwcml2YXRlOgogICAgIFdlYlZpZXcqIG1fd2Vi
VmlldzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVD
bGllbnRXeC5oIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4
LmgKaW5kZXggZGNkMTY0ZjM0YjZmZTQxYzdhY2IxYWZlYzI5ZWZhMjY4MmM4OGI3NS4uMmI2Y2Rl
ZjYxMmNhZmNkNGYyNTAxMzQ1MTY4ZGEzY2U3MDU4ODU2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgKKysrIGIvU291cmNlL1dlYktp
dC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgKQEAgLTE1MSw2ICsxNTEsNyBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdl
YkNvcmU6OlNjcm9sbERpcmVjdGlvbikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1
YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAg
ICAgCiAgICAgdmlydHVhbCBib29sIGhhc09wZW5lZFBvcHVwKCkgY29uc3Q7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAzMzA2ZGQ3MGFmYzZjYmUxNmQwNzYy
NGQzZDM2NjQzNjEwY2I1OGU4Li4zMmRlNGZmYTA4N2ViZTIzM2Q4ZTExZDY5YWU0MDA3ZmRkZjQz
NTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC03MTcsNiAr
NzE3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZENoYW5nZVBhZ2VDb3VudCh1bnNpZ25lZCk7
CiAgICAgdm9pZCBkaWRGYWlsVG9Jbml0aWFsaXplUGx1Z2luKGNvbnN0IFN0cmluZyYgbWltZVR5
cGUpOwogICAgIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCBjb3Vu
dCkgeyBtX3doZWVsRXZlbnRIYW5kbGVyQ291bnQgPSBjb3VudDsgfQorICAgIHZvaWQgbnVtVG91
Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAKICAgICB2b2lkIHJlYXR0YWNo
VG9XZWJQcm9jZXNzKCk7CiAgICAgdm9pZCByZWF0dGFjaFRvV2ViUHJvY2Vzc1dpdGhJdGVtKFdl
YkJhY2tGb3J3YXJkTGlzdEl0ZW0qKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGRkNjhlMWY5
YmRkMzM5OTIyMTUyZWMzZTBhNWVhMzRhMDUxYThlYzYuLjk3NjFjMTU0YTFlOTQ0MmYyMzM2MTkx
NGNjYTc1OWQ0YTkzZDQyNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMjIwLDYgKzIyMCw3
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlv
bihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IE9WRVJSSURFOwogICAgIAogICAgIHZp
cnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSBPVkVSUklE
RTsKKyAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25l
ZCkgT1ZFUlJJREUgeyB9CiAKICAgICBTdHJpbmcgbV9jYWNoZWRUb29sVGlwOwogICAgIG11dGFi
bGUgUmVmUHRyPFdlYkZyYW1lPiBtX2NhY2hlZEZyYW1lU2V0TGFyZ2VzdEZyYW1lOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125588</attachid>
            <date>2012-02-06 00:40:54 -0800</date>
            <delta_ts>2012-02-06 12:16:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77440-20120206034053.patch</filename>
            <type>text/plain</type>
            <size>24083</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTU5ODEzZTYzNjhlYmJk
YjVmMmIyZWY5NjNjYzVjYzI1NmNlNmYxZi4uYTc3ZmRiNzY4MThhYTAxMTM0Y2M0NmU0Mjc4Y2Zl
NDMyNjFhN2JkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAyLTA2ICBTYWRy
dWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBOb3Rp
ZnkgQ2hyb21lQ2xpZW50IHdoZW4gdG91Y2gtZXZlbnQgaGFuZGxlcnMgYXJlIGluc3RhbGxlZC9y
ZW1vdmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Nzc0NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBO
byBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OmRpZEFkZFRvdWNoRXZlbnRIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZFJlbW92ZVRvdWNoRXZlbnRIYW5kbGVyKToKKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp0b3Vj
aEV2ZW50SGFuZGxlckNvdW50KToKKyAgICAgICAgKERvY3VtZW50KToKKyAgICAgICAgKiBkb20v
Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0cnlBZGRFdmVudExpc3RlbmVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OnRyeVJlbW92ZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAqIGxvYWRlci9F
bXB0eUNsaWVudHMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5Q2hyb21lQ2xpZW50OjpudW1U
b3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKToKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5o
OgorICAgICAgICAoQ2hyb21lQ2xpZW50KToKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lOjpub3RpZnlDaHJvbWVDbGllbnRXaGVlbEV2ZW50SGFuZGxl
ckNvdW50Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6bm90aWZ5Q2hyb21lQ2xp
ZW50VG91Y2hFdmVudEhhbmRsZXJDb3VudENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogcGFnZS9GcmFtZS5oOgorICAgICAgICAoRnJhbWUpOgorCiAyMDEyLTAxLTMxICBQ
YWJsbyBGbG91cmV0ICA8cGFibG9mQG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBGaXggY29tcGls
YXRpb24gZXJyb3JzIG9uIGJ1aWxkLXdlYmtpdCAtLWRlYnVnIC0tbm8td29ya2VycyBvbiBtYWMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDAyMGFhYjZiNzliNjgyZGM3MTc3ZjNmOWFi
ZjIwMzYyNzczYzVlOTQuLjUwMjY2MWQ0ZGUxODJhZjJhOTk0YjJlYjEyMDgyNDQ1OTEyMzViOTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDItMDYg
IFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5kbGVycyBhcmUgaW5zdGFs
bGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcHVibGljL1dlYlZpZXdDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0Ns
aWVudDo6bnVtYmVyT2ZUb3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKToKKyAgICAgICAgKiBzcmMv
Q2hyb21lQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6
Om51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50SW1wbCk6
CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmll
d0ltcGw6Om51bWJlck9mVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6CisgICAgICAgIChXZWJL
aXQpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorICAgICAgICAoV2ViVmlld0ltcGwp
OgorCiAyMDEyLTAxLTMwICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTA2MzI0LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdl
TG9nCmluZGV4IGI3NWIxNjAzNzk1OTBmMjE2YjM0NzRiYzY4MzFjNDM4ZmMyODA0M2QuLjNhMjFm
NjI4ZjY5ZmI0OWM0YzQ5Y2E3MzE3NTc0N2Q3YWZmYzcyYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAxMi0wMi0wNiAgU2FkcnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1
bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNsaWVudCB3aGVuIHRvdWNo
LWV2ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRFZmwuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEVmbDo6bnVtVG91Y2hFdmVu
dEhhbmRsZXJzQ2hhbmdlZCk6CisKIDIwMTItMDEtMzAgIEV1bnNvbCBQYXJrICA8ZXVuc29sNDcu
cGFya0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBEZWZpbmUgdGhlIG5hbWVzIG9mIHZp
ZXcgc21hcnQgY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBkNDQ5NDY0ZmY3MTRjNWY3ZTJhNjVk
OGVhZjExMjgyNzBjZjA3NGY4Li41N2NjOWVlODFjZjM0Nzc0ZTE3MDJjYWNjMzkxMDYxMzRlOWE3
ZTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMDYgIFNhZHJ1
bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vdGlm
eSBDaHJvbWVDbGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5kbGVycyBhcmUgaW5zdGFsbGVkL3Jl
bW92ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
NzQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisgICAgICAgIChXZWJLaXQ6OkNocm9t
ZUNsaWVudDo6bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6CisKIDIwMTItMDEtMjMgIE1h
cmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtd
IFJlZmFjdG9yIEdUSydzIGFjY2Vzc2liaWxpdGl0eSBjb2RlIHRvIGJlIG1vcmUgbW9kdWxhcgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCmluZGV4IDAxZmQ1NDU0MTU2ZmUyMDNjZTAxZmI3OWM1N2MwMDJjMTE5NDg4
OGMuLjcxNzM3YTNkMmRjZjhkMGU3MjRmYmI0ZGMxZTZhNjI5YTI0ODNkYzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0wMi0wNiAgU2FkcnVsIEhhYmliIENob3dkaHVy
eSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNsaWVudCB3
aGVuIHRvdWNoLWV2ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxMi0wMS0zMSAgUGFibG8gRmxvdXJldCAgPHBhYmxvZkBt
b3Rvcm9sYS5jb20+CiAKICAgICAgICAgRml4IGNvbXBpbGF0aW9uIGVycm9ycyBvbiBidWlsZC13
ZWJraXQgLS1kZWJ1ZyAtLW5vLXdvcmtlcnMgb24gbWFjLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA2YWVm
ZDcwZTdmN2JlYTFlODI4NTg3ZDg2YmI2NGM0ODZmNjljYjM3Li5hNDMwYmU2YjMyZDAzOGI3NzI1
ODU2MDU4YmQ3NTdiZTExOGQyODQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDEyLTAyLTA2ICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4K
KworICAgICAgICBOb3RpZnkgQ2hyb21lQ2xpZW50IHdoZW4gdG91Y2gtZXZlbnQgaGFuZGxlcnMg
YXJlIGluc3RhbGxlZC9yZW1vdmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Nzc0NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0Lmg6CisgICAgICAg
IChXZWJDb3JlOjpDaHJvbWVDbGllbnRRdDo6bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6
CisKIDIwMTItMDEtMzAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlZHVjZSBub24tQ1NTT00gQVBJIG9mIENTU1N0eWxlRGVjbGFyYXRpb24KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5n
ZUxvZwppbmRleCAyZDRiMWY1NDg2OTMwZDQ4MjRmMWI2YjUzNjFjNTc0NWJhZTVmNzMwLi4wZDk5
M2MwZDYwMDhhMzVlZGQzNzgzOTY3OWE4NmEwNDE1YzBmZmNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMDYgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRy
dWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3Vj
aC1ldmVudCBoYW5kbGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50Lmg6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6Om51bVRvdWNoRXZlbnRIYW5kbGVy
c0NoYW5nZWQpOgorCiAyMDEyLTAxLTI2ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4K
IAogICAgICAgICBbV2luZG93c10gT3B0aW9uYWxseSBpbnZlcnQgY29sb3JzIHdoZW4gZHJhd2lu
ZyB0byBhIFdlYlZpZXcncyBiYWNraW5nIHN0b3JlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW5jZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwppbmRleCA2
ZDJhN2U2NDdiMmUwYWUwOWI3Zjc2Y2MwNjcyNjc4NTkzZjkyMTMxLi5hOTQ0ZDNjN2M1NWI1YjAx
YTRhMDE5NDJlM2NmZWQzMWYwYTFjOGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDEyLTAyLTA2ICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBOb3RpZnkgQ2hyb21lQ2xpZW50IHdoZW4gdG91Y2gtZXZlbnQg
aGFuZGxlcnMgYXJlIGluc3RhbGxlZC9yZW1vdmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNF
Lmg6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudFdpbkNFOjpudW1Ub3VjaEV2ZW50SGFu
ZGxlcnNDaGFuZ2VkKToKKwogMjAxMS0xMi0xOSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIE1vcmUgUGxhdGZvcm1FdmVudCBjbGVhbnVwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3d4L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCmluZGV4
IGI0NWIzNTAwNTAwNTE5NzUwOTEzNGNlNDRjNWU5MWIzNjE4ZWQ1YzcuLjcxMDM5MTI4MzJjNWNm
ZDEyOTUzOTA2NjI0MGJjY2U2NjlkZmE3YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTItMDItMDYgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5k
bGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50V3g6Om51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5n
ZWQpOgorCiAyMDEyLTAxLTMwICBLZXZpbiBPbGxpdmllciAgPGtldmlub0B0aGVvbGxpdmllcnMu
Y29tPgogCiAgICAgICAgIFt3eF0gVW5yZXZpZXdlZC4gQnVpbGQgZml4LCBhZGQgSmF2YVNjcmlw
dENvcmUvcnVudGltZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDkyMDE2N2NkYjViOTQ5YjRmZmU1YjZmNTMzOTUy
NDI0YjBhNTFhNGYuLmI5ODdhMGRhMWFiYzY2NzNkOWI3NTJlMTc4MDUyZTUzNDlkMmU2ZGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0wMi0wNiAgU2FkcnVsIEhhYmliIENob3dk
aHVyeSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNsaWVu
dCB3aGVuIHRvdWNoLWV2ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bnVtVG91Y2hFdmVu
dEhhbmRsZXJzQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxMi0wMS0zMCAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2Vs
eW4udHVyY290dGVAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gRGlzY29ubmVjdCB0aGUgTGF5
ZXJUcmVlSG9zdCBmcm9tIGxheWVycyB3aGVuIHRoZXkgZ2V0IHJlbW92ZWQgZnJvbSB0aGVpciBw
YXJlbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAzYWJiM2FkYTliY2I1MWYwMWYwMjQ3
NWE4MTkxNjczYmRlYThhMWExLi40OTFiMzIxODYxZTZlYmMwM2ViZGVjZWUwZjMwNTgwODg2YmU3
NDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQzMCw2ICs0MzAsNyBAQCBEb2N1bWVu
dDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRNTCwg
Ym9vbCBpc0hUTUwpCiAgICAgLCBtX3dyaXRlUmVjdXJzaW9uSXNUb29EZWVwKGZhbHNlKQogICAg
ICwgbV93cml0ZVJlY3Vyc2lvbkRlcHRoKDApCiAgICAgLCBtX3doZWVsRXZlbnRIYW5kbGVyQ291
bnQoMCkKKyAgICAsIG1fdG91Y2hFdmVudEhhbmRsZXJDb3VudCgwKQogICAgICwgbV9wZW5kaW5n
VGFza3NUaW1lcih0aGlzLCAmRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQpCiB7CiAg
ICAgbV9kb2N1bWVudCA9IHRoaXM7CkBAIC01MzU1LDYgKzUzNTYsMjMgQEAgdm9pZCBEb2N1bWVu
dDo6ZGlkUmVtb3ZlV2hlZWxFdmVudEhhbmRsZXIoKQogICAgICAgICBtYWluRnJhbWUtPm5vdGlm
eUNocm9tZUNsaWVudFdoZWVsRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKCk7CiB9CiAKK3ZvaWQg
RG9jdW1lbnQ6OmRpZEFkZFRvdWNoRXZlbnRIYW5kbGVyKCkKK3sKKyAgICArK21fdG91Y2hFdmVu
dEhhbmRsZXJDb3VudDsKKyAgICBGcmFtZSogbWFpbkZyYW1lID0gcGFnZSgpID8gcGFnZSgpLT5t
YWluRnJhbWUoKSA6IDA7CisgICAgaWYgKG1haW5GcmFtZSkKKyAgICAgICAgbWFpbkZyYW1lLT5u
b3RpZnlDaHJvbWVDbGllbnRUb3VjaEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCgpOworfQorCit2
b2lkIERvY3VtZW50OjpkaWRSZW1vdmVUb3VjaEV2ZW50SGFuZGxlcigpCit7CisgICAgQVNTRVJU
KG1fdG91Y2hFdmVudEhhbmRsZXJDb3VudCA+IDApOworICAgIC0tbV90b3VjaEV2ZW50SGFuZGxl
ckNvdW50OworICAgIEZyYW1lKiBtYWluRnJhbWUgPSBwYWdlKCkgPyBwYWdlKCktPm1haW5GcmFt
ZSgpIDogMDsKKyAgICBpZiAobWFpbkZyYW1lKQorICAgICAgICBtYWluRnJhbWUtPm5vdGlmeUNo
cm9tZUNsaWVudFRvdWNoRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKCk7Cit9CisKIGJvb2wgRG9j
dW1lbnQ6OnZpc3VhbFVwZGF0ZXNBbGxvd2VkKCkgY29uc3QKIHsKICAgICByZXR1cm4gIXNldHRp
bmdzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggZmRiMzk4ODc1ZjUxNGRmZmM0YzcwMzk3MjFi
MWE3NTc0N2NiYjk3Yi4uNzk1YThmYzVjNWUxMzIwOWJiMWU1NTc0ZDU3ZjFkMjQ4ZDY0M2UzZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTExMDcsNiArMTEwNywxMCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBkaWRBZGRXaGVlbEV2ZW50SGFuZGxlcigpOwogICAgIHZvaWQgZGlkUmVtb3ZlV2hlZWxF
dmVudEhhbmRsZXIoKTsKIAorICAgIHVuc2lnbmVkIHRvdWNoRXZlbnRIYW5kbGVyQ291bnQoKSBj
b25zdCB7IHJldHVybiBtX3RvdWNoRXZlbnRIYW5kbGVyQ291bnQ7IH0KKyAgICB2b2lkIGRpZEFk
ZFRvdWNoRXZlbnRIYW5kbGVyKCk7CisgICAgdm9pZCBkaWRSZW1vdmVUb3VjaEV2ZW50SGFuZGxl
cigpOworCiAgICAgYm9vbCB2aXN1YWxVcGRhdGVzQWxsb3dlZCgpIGNvbnN0OwogCiAjaWYgRU5B
QkxFKE1JQ1JPREFUQSkKQEAgLTE0NDMsNiArMTQ0Nyw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWdu
ZWQgbV93cml0ZVJlY3Vyc2lvbkRlcHRoOwogICAgIAogICAgIHVuc2lnbmVkIG1fd2hlZWxFdmVu
dEhhbmRsZXJDb3VudDsKKyAgICB1bnNpZ25lZCBtX3RvdWNoRXZlbnRIYW5kbGVyQ291bnQ7CiAK
ICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCiAgICAgUmVmUHRyPFNjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlcj4gbV9zY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5jcHAKaW5kZXggYzEzYzJiMDU3MDM0YTMwM2UzMDYzYjdhNTI0NTU0YjZiYmRmMzI0MS4u
OWRhMGM3MDE3YWEwODMwMDM5ZjYzMzQ5YjQ3NTIxZWE3ZTRkZjJmMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cApAQCAtMjUwNSw2ICsyNTA1LDggQEAgc3RhdGljIGlubGluZSBib29sIHRyeUFkZEV2ZW50TGlz
dGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgQXRvbWljU3RyaW5nJiBldmUKICAgICAgICAg
ZG9jdW1lbnQtPmFkZExpc3RlbmVyVHlwZUlmTmVlZGVkKGV2ZW50VHlwZSk7CiAgICAgICAgIGlm
IChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLm1vdXNld2hlZWxFdmVudCkKICAgICAgICAgICAg
IGRvY3VtZW50LT5kaWRBZGRXaGVlbEV2ZW50SGFuZGxlcigpOworICAgICAgICBlbHNlIGlmIChl
dmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoc3RhcnRFdmVudCB8fCBldmVudFR5cGUgPT0g
ZXZlbnROYW1lcygpLnRvdWNobW92ZUV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCku
dG91Y2hlbmRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoY2FuY2VsRXZl
bnQpCisgICAgICAgICAgICBkb2N1bWVudC0+ZGlkQWRkVG91Y2hFdmVudEhhbmRsZXIoKTsKICAg
ICB9CiAgICAgICAgIAogICAgIHJldHVybiB0cnVlOwpAQCAtMjU1NCw2ICsyNTU2LDggQEAgc3Rh
dGljIGlubGluZSBib29sIHRyeVJlbW92ZUV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwg
Y29uc3QgQXRvbWljU3RyaW5nJgogICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSB0YXJnZXRO
b2RlLT5kb2N1bWVudCgpKSB7CiAgICAgICAgIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygp
Lm1vdXNld2hlZWxFdmVudCkKICAgICAgICAgICAgIGRvY3VtZW50LT5kaWRSZW1vdmVXaGVlbEV2
ZW50SGFuZGxlcigpOworICAgICAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygp
LnRvdWNoc3RhcnRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNobW92ZUV2
ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkudG91Y2hlbmRFdmVudCB8fCBldmVudFR5
cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoY2FuY2VsRXZlbnQpCisgICAgICAgICAgICBkb2N1bWVu
dC0+ZGlkUmVtb3ZlVG91Y2hFdmVudEhhbmRsZXIoKTsKICAgICB9CiAgICAgCiAgICAgcmV0dXJu
IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggOWQyZGJmMjUzOWMx
NWFjYTMyYWQ0MDNiMTcyNGM2ZWVjM2IxN2NlOC4uMzc3NTIyOGY2ZDkwYmI3MmJiZGY5NDZkMTI5
NmUzNjNkYTliOTQ3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xp
ZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAtMjM0
LDYgKzIzNCw3IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIAogICAgIHZpcnR1YWwgdm9pZCBudW1X
aGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAgICAgCiAgICAgdmly
dHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpTY3JvbGxEaXJl
Y3Rpb24pIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmgKaW5kZXggNDg2NjI1YTk4ZDIwZTFjMDNkNTE1ZWIyMjQ0MmQzODE0MmY4MTMwNy4uMzNi
MWM0Yjg3MTQ5MDgzYmM2OGVhNzliNzlmZjE0MmVjZGQ1OWU0MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0No
cm9tZUNsaWVudC5oCkBAIC0zMjUsNiArMzI1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnVuTW9kYWxEaWFsb2dEdXJpbmdQYWdlRGlzbWlzc2Fs
KGNvbnN0IERpYWxvZ1R5cGUmLCBjb25zdCBTdHJpbmcmIGRpYWxvZ01lc3NhZ2UsIEZyYW1lTG9h
ZGVyOjpQYWdlRGlzbWlzc2FsVHlwZSkgY29uc3QgeyBVTlVTRURfUEFSQU0oZGlhbG9nTWVzc2Fn
ZSk7IHJldHVybiB0cnVlOyB9CiAKICAgICAgICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRI
YW5kbGVyc0NoYW5nZWQodW5zaWduZWQpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIG51bVRv
dWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpID0gMDsKICAgICAgICAgCiAgICAgICAg
IHZpcnR1YWwgYm9vbCBpc1NWR0ltYWdlQ2hyb21lQ2xpZW50KCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCBlMWY1YmNmOTllYTVjYzg4OWEzZmM5ZGRk
ZDExOTUzYWQ0M2M5ODQ5Li43NjYyZWY4N2ZiYmNjM2Y5MWViNjQ2ZTJjMzcyNWI1Y2JhZDFlODU3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtMTAxNywxNiArMTAxNywzMCBAQCB2b2lkIEZyYW1l
Ojpub3RpZnlDaHJvbWVDbGllbnRXaGVlbEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCgpIGNvbnN0
CiB7CiAgICAgLy8gRW5zdXJlIHRoYXQgdGhpcyBtZXRob2QgaXMgYmVpbmcgY2FsbGVkIG9uIHRo
ZSBtYWluIGZyYW1lIG9mIHRoZSBwYWdlLgogICAgIEFTU0VSVChtX3BhZ2UgJiYgbV9wYWdlLT5t
YWluRnJhbWUoKSA9PSB0aGlzKTsKLSAgICAKKwogICAgIHVuc2lnbmVkIGNvdW50ID0gMDsKICAg
ICBmb3IgKGNvbnN0IEZyYW1lKiBmcmFtZSA9IHRoaXM7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50
cmVlKCktPnRyYXZlcnNlTmV4dCgpKSB7CiAgICAgICAgIGlmIChmcmFtZS0+ZG9jdW1lbnQoKSkK
ICAgICAgICAgICAgIGNvdW50ICs9IGZyYW1lLT5kb2N1bWVudCgpLT53aGVlbEV2ZW50SGFuZGxl
ckNvdW50KCk7CiAgICAgfQotICAgIAorCiAgICAgbV9wYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCkt
Pm51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQoY291bnQpOwogfQogCit2b2lkIEZyYW1lOjpu
b3RpZnlDaHJvbWVDbGllbnRUb3VjaEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCgpIGNvbnN0Cit7
CisgICAgLy8gRW5zdXJlIHRoYXQgdGhpcyBtZXRob2QgaXMgYmVpbmcgY2FsbGVkIG9uIHRoZSBt
YWluIGZyYW1lIG9mIHRoZSBwYWdlLgorICAgIEFTU0VSVChtX3BhZ2UgJiYgbV9wYWdlLT5tYWlu
RnJhbWUoKSA9PSB0aGlzKTsKKworICAgIHVuc2lnbmVkIGNvdW50ID0gMDsKKyAgICBmb3IgKGNv
bnN0IEZyYW1lKiBmcmFtZSA9IHRoaXM7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRy
YXZlcnNlTmV4dCgpKSB7CisgICAgICAgIGlmIChmcmFtZS0+ZG9jdW1lbnQoKSkKKyAgICAgICAg
ICAgIGNvdW50ICs9IGZyYW1lLT5kb2N1bWVudCgpLT50b3VjaEV2ZW50SGFuZGxlckNvdW50KCk7
CisgICAgfQorCisgICAgbV9wYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCktPm51bVRvdWNoRXZlbnRI
YW5kbGVyc0NoYW5nZWQoY291bnQpOworfQorCiAjaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRG
T1JNKFdJTikKIHN0cnVjdCBTY29wZWRGcmFtZVBhaW50aW5nU3RhdGUgewogICAgIFNjb3BlZEZy
YW1lUGFpbnRpbmdTdGF0ZShGcmFtZSogdGhlRnJhbWUsIFJlbmRlck9iamVjdCogdGhlUmVuZGVy
ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lLmgKaW5kZXggMThkYTVmMzZhYjUyYjcxOWE4NDk2YmY4ZTZmYzgyZjE5
NWRiMDMyZS4uYTdhYzYxOWYzMjI4M2U0MzBjNjEwZWUzYWJlYzY1NGUzZjRkYTg1ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWUuaApAQCAtMTk1LDYgKzE5NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
ICAgICAvLyBTaG91bGQgb25seSBiZSBjYWxsZWQgb24gdGhlIG1haW4gZnJhbWUgb2YgYSBwYWdl
LgogICAgICAgICB2b2lkIG5vdGlmeUNocm9tZUNsaWVudFdoZWVsRXZlbnRIYW5kbGVyQ291bnRD
aGFuZ2VkKCkgY29uc3Q7CisgICAgICAgIHZvaWQgbm90aWZ5Q2hyb21lQ2xpZW50VG91Y2hFdmVu
dEhhbmRsZXJDb3VudENoYW5nZWQoKSBjb25zdDsKIAogICAgIC8vID09PT09PT09CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAppbmRleCA1YTRkNGU4
ZTQ5YzNkNzJhNjhhMGVhOGVlY2Q0MjAyNGVkNjc4ZTJiLi41MzAyNjViOTcwMWM4MThkOWRiYTdh
MjA1YTJlNDQwNGRmODAwZjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJWaWV3Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViVmlld0NsaWVudC5oCkBAIC0yNTYsNiArMjU2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dm9pZCBmb2N1c2VkTm9kZUNoYW5nZWQoY29uc3QgV2ViTm9kZSYpIHsgfQogCiAgICAgdmlydHVh
bCB2b2lkIG51bWJlck9mV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9Cisg
ICAgdmlydHVhbCB2b2lkIG51bWJlck9mVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25l
ZCkgeyB9CiAKICAgICAvLyBJbmRpY2F0ZXMgdHdvIHRoaW5nczoKICAgICAvLyAgIDEpIFRoaXMg
dmlldyBtYXkgaGF2ZSBhIG5ldyBsYXlvdXQgbm93LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAppbmRleCBmYjA3YjRjMTAzZmIyNzlhMjRjNGYx
Njc4ZWI1OTg4ZjMyMTczYmE2Li40NWE4MTM4NTk0NGNlOGFiZGJjN2JiOTk0YWViM2NjOWRmMjI0
MGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJ
bXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBs
LmNwcApAQCAtMTAxOCw2ICsxMDE4LDExIEBAIHZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6bnVtV2hl
ZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCBudW1iZXJPZldoZWVsSGFuZGxlCiAgICAg
bV93ZWJWaWV3LT5udW1iZXJPZldoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQobnVtYmVyT2ZXaGVl
bEhhbmRsZXJzKTsKIH0KIAordm9pZCBDaHJvbWVDbGllbnRJbXBsOjpudW1Ub3VjaEV2ZW50SGFu
ZGxlcnNDaGFuZ2VkKHVuc2lnbmVkIG51bWJlck9mVG91Y2hIYW5kbGVycykKK3sKKyAgICBtX3dl
YlZpZXctPm51bWJlck9mVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZChudW1iZXJPZlRvdWNoSGFu
ZGxlcnMpOworfQorCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKIGJvb2wgQ2hyb21lQ2xpZW50
SW1wbDo6cmVxdWVzdFBvaW50ZXJMb2NrKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0Nocm9tZUNsaWVudEltcGwuaAppbmRleCA4ZmQyNDg4ZDllZTY2MTBmZTEzODU4YjhlYzll
NTU4MGM3NTQwNTI4Li4yM2UwMmZmM2Q5OTUwNGZjMjk5ODJmMzcxMTYzNTZhMTAwNTQ5NzZjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCkBAIC0y
MDQsNiArMjA0LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJh
bmRJbkRpcmVjdGlvbihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0OwogICAgIHZpcnR1
YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKTsKKyAgICB2aXJ0
dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCk7CiAKICNpZiBF
TkFCTEUoUE9JTlRFUl9MT0NLKQogICAgIHZpcnR1YWwgYm9vbCByZXF1ZXN0UG9pbnRlckxvY2so
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCBkNWE4
YmE4YjZlMzlhNGU0ODE1MmVlYTQzMjAwM2FjN2NlMjMyNzZiLi43NTE1OTRhMTY3MzFkYzA0ZmM4
OWQ1MTkwNzEwMzk0MWM2YzFjYTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuY3BwCkBAIC04MjIsNiArODIyLDEyIEBAIHZvaWQgV2ViVmlld0ltcGw6Om51bWJl
ck9mV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCBudW1iZXJPZldoZWVsSGFuZGxl
CiAjZW5kaWYKIH0KIAordm9pZCBXZWJWaWV3SW1wbDo6bnVtYmVyT2ZUb3VjaEV2ZW50SGFuZGxl
cnNDaGFuZ2VkKHVuc2lnbmVkIG51bWJlck9mVG91Y2hIYW5kbGVycykKK3sKKyAgICBpZiAobV9j
bGllbnQpCisgICAgICAgIG1fY2xpZW50LT5udW1iZXJPZlRvdWNoRXZlbnRIYW5kbGVyc0NoYW5n
ZWQobnVtYmVyT2ZUb3VjaEhhbmRsZXJzKTsKK30KKwogI2lmICFPUyhEQVJXSU4pCiAvLyBNYWMg
aGFzIG5vIHdheSB0byBvcGVuIGEgY29udGV4dCBtZW51IGJhc2VkIG9uIGEga2V5Ym9hcmQgZXZl
bnQuCiBib29sIFdlYlZpZXdJbXBsOjpzZW5kQ29udGV4dE1lbnVFdmVudChjb25zdCBXZWJLZXli
b2FyZEV2ZW50JiBldmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5o
CmluZGV4IDAyYmM1YzkyMWRhMzZjNmVjZGI3ZTBlMTFhY2U5YmYzMTdkMmQyZjUuLjRkYzMxM2Mz
NmJjMDVkMmQ2YzZmZGU5ZGIzMzQ4YzkwOTRlMmRlMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuaApAQCAtMzIxLDYgKzMyMSw3IEBAIHB1YmxpYzoKICAgICBib29s
IHRvdWNoRXZlbnQoY29uc3QgV2ViVG91Y2hFdmVudCYpOwogCiAgICAgdm9pZCBudW1iZXJPZldo
ZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpOworICAgIHZvaWQgbnVtYmVyT2ZUb3Vj
aEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKTsKIAogICAgIC8vIEhhbmRsZXMgY29udGV4
dCBtZW51IGV2ZW50cyBvcmlnbmF0ZWQgdmlhIHRoZSB0aGUga2V5Ym9hcmQuIFRoZXNlCiAgICAg
Ly8gaW5jbHVkZSB0aGUgVktfQVBQUyB2aXJ0dWFsIGtleSBhbmQgdGhlIFNoaWZ0K0YxMCBjb21i
aW5lLiBDb2RlIGlzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudEVmbC5oCmluZGV4IDRiNDdjNzMxY2Q2YjdhZDk3OTI1ZGMxOTc2YThhNjUzODAz
MzlmOTQuLjgyNTEyMjUxZjZhNDQwZWE1OTMzMDEzZTExOGRmM2MwMDI0Yzc5ZjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCkBA
IC0xNzMsNiArMTczLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJl
ckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IHsgcmV0dXJu
IHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1
bnNpZ25lZCkgeyB9CisgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5n
ZWQodW5zaWduZWQpIHsgfQogCiAgICAgRXZhc19PYmplY3QqIG1fdmlldzsKICAgICBLVVJMIG1f
aG92ZXJlZExpbmtVUkw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRHdGsuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEd0ay5oCmluZGV4IDkzMjIyNGYwNDFjZDVhNmRkOGIyM2E1NDQ0NDUzMWU1
MjMyOGJmY2YuLmEwMzE2OGMyMGI3YzA0ZTc0NjYzYzg1MjdjYTNiYjY5NmI4N2ZlMWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5o
CkBAIC0xNTksNiArMTU5LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKICAgICAgICAgdmlydHVh
bCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihTY3JvbGxEaXJlY3Rpb24pIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRIYW5k
bGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hF
dmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAKICNpZiBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpIAogICAgICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNzTGF5
ZXIoRnJhbWUqLCBHcmFwaGljc0xheWVyKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDQ4ZmYwOWJiYTY4MTk2N2Y3YzYy
NzY2NzM0NjQ1OTQ0YTU0ZWIyZjQuLjY2ZmEwNjBiNWE1M2RiYzJmMzhlZWE2ZjU0NTJkNzZkYTZi
YjFmOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCkBAIC0xODksNiArMTg5LDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgCiAg
ICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIE9W
RVJSSURFIHsgfQorICAgIHZpcnR1YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2Vk
KHVuc2lnbmVkKSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnViYmVyQmFu
ZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbikgY29uc3QgT1ZFUlJJREUgeyBy
ZXR1cm4gZmFsc2U7IH0KIHByaXZhdGU6CiAgICAgV2ViVmlldyAqbV93ZWJWaWV3OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oIGIv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCmluZGV4IDZh
NTc2ZDk2ZGFjNDZhZmUzNzRjNzBiZWFjMWI2Yjk0ZTM2MjNhOWMuLjNkNDViN2I1MWEyZTMyMDA0
NGU2NDAxZjcwOGJiMmMwOGYzNzU1YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKQEAgLTE5Miw2ICsxOTIsNyBAQCBwdWJsaWM6CiAK
ICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNj
cm9sbERpcmVjdGlvbikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBu
dW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAKICAgICBRV2Vi
UGFnZSogbV93ZWJQYWdlOwogICAgIEtVUkwgbGFzdEhvdmVyVVJMOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCBiNmFlYjFj
ZjcxZTYzZWI4NmVjM2JhZWUwMTRiOTU1ZTg5OTkyMzlhLi4yYTlhOGZlN2YzZDRmNDUzZmU0YWIx
ZjBlZGNiOWRkMzlmYWFiYzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTc3LDYgKzE3Nyw3IEBAIHB1YmxpYzoKIAog
ICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oV2ViQ29yZTo6U2Ny
b2xsRGlyZWN0aW9uKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIG51
bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQorICAgIHZpcnR1YWwgdm9p
ZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KIAogcHJpdmF0ZToK
ICAgICBDT01QdHI8SVdlYlVJRGVsZWdhdGU+IHVpRGVsZWdhdGUoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaCBiL1Nv
dXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaAppbmRl
eCAwMDZlMDEwZjhkMjc4MjY5ZmRlNzZmMzVlNmViMmFjNzQ0OTgzNjU2Li42MTM3ODNhMDMzZTU5
YWNhOTFkOTg0NTM2MDAwNjQ5MDVjMjA2MjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dp
bmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKKysrIGIvU291cmNlL1dlYktp
dC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCkBAIC0xNzcsNiArMTc3
LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVj
dGlvbihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9
CisgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQp
IHsgfQogCiBwcml2YXRlOgogICAgIFdlYlZpZXcqIG1fd2ViVmlldzsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oIGIvU291cmNlL1dl
YktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgKaW5kZXggZGNkMTY0ZjM0YjZm
ZTQxYzdhY2IxYWZlYzI5ZWZhMjY4MmM4OGI3NS4uMmI2Y2RlZjYxMmNhZmNkNGYyNTAxMzQ1MTY4
ZGEzY2U3MDU4ODU2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0
L0Nocm9tZUNsaWVudFd4LmgKKysrIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0No
cm9tZUNsaWVudFd4LmgKQEAgLTE1MSw2ICsxNTEsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlv
bikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50
SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hF
dmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAgICAgCiAgICAgdmlydHVhbCBib29s
IGhhc09wZW5lZFBvcHVwKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAppbmRleCAzMzA2ZGQ3MGFmYzZjYmUxNmQwNzYyNGQzZDM2NjQzNjEwY2I1OGU4Li4z
MmRlNGZmYTA4N2ViZTIzM2Q4ZTExZDY5YWU0MDA3ZmRkZjQzNTNiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC03MTcsNiArNzE3LDcgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGRpZENoYW5nZVBhZ2VDb3VudCh1bnNpZ25lZCk7CiAgICAgdm9pZCBkaWRGYWlsVG9J
bml0aWFsaXplUGx1Z2luKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwogICAgIHZvaWQgbnVtV2hl
ZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCBjb3VudCkgeyBtX3doZWVsRXZlbnRIYW5k
bGVyQ291bnQgPSBjb3VudDsgfQorICAgIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdl
ZCh1bnNpZ25lZCkgeyB9CiAKICAgICB2b2lkIHJlYXR0YWNoVG9XZWJQcm9jZXNzKCk7CiAgICAg
dm9pZCByZWF0dGFjaFRvV2ViUHJvY2Vzc1dpdGhJdGVtKFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0q
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGRkNjhlMWY5YmRkMzM5OTIyMTUyZWMzZTBhNWVh
MzRhMDUxYThlYzYuLjk3NjFjMTU0YTFlOTQ0MmYyMzM2MTkxNGNjYTc1OWQ0YTkzZDQyNjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMjIwLDYgKzIyMCw3IEBAIHByaXZhdGU6CiAgICAgdmly
dHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpTY3JvbGxEaXJl
Y3Rpb24pIGNvbnN0IE9WRVJSSURFOwogICAgIAogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2
ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQg
bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgT1ZFUlJJREUgeyB9CiAKICAg
ICBTdHJpbmcgbV9jYWNoZWRUb29sVGlwOwogICAgIG11dGFibGUgUmVmUHRyPFdlYkZyYW1lPiBt
X2NhY2hlZEZyYW1lU2V0TGFyZ2VzdEZyYW1lOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125687</attachid>
            <date>2012-02-06 12:16:27 -0800</date>
            <delta_ts>2012-02-13 15:40:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77440-20120206151626.patch</filename>
            <type>text/plain</type>
            <size>24459</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTU5ODEzZTYzNjhlYmJk
YjVmMmIyZWY5NjNjYzVjYzI1NmNlNmYxZi4uYTc3ZmRiNzY4MThhYTAxMTM0Y2M0NmU0Mjc4Y2Zl
NDMyNjFhN2JkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAyLTA2ICBTYWRy
dWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBOb3Rp
ZnkgQ2hyb21lQ2xpZW50IHdoZW4gdG91Y2gtZXZlbnQgaGFuZGxlcnMgYXJlIGluc3RhbGxlZC9y
ZW1vdmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Nzc0NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBO
byBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OmRpZEFkZFRvdWNoRXZlbnRIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZFJlbW92ZVRvdWNoRXZlbnRIYW5kbGVyKToKKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp0b3Vj
aEV2ZW50SGFuZGxlckNvdW50KToKKyAgICAgICAgKERvY3VtZW50KToKKyAgICAgICAgKiBkb20v
Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0cnlBZGRFdmVudExpc3RlbmVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OnRyeVJlbW92ZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAqIGxvYWRlci9F
bXB0eUNsaWVudHMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5Q2hyb21lQ2xpZW50OjpudW1U
b3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKToKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5o
OgorICAgICAgICAoQ2hyb21lQ2xpZW50KToKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lOjpub3RpZnlDaHJvbWVDbGllbnRXaGVlbEV2ZW50SGFuZGxl
ckNvdW50Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6bm90aWZ5Q2hyb21lQ2xp
ZW50VG91Y2hFdmVudEhhbmRsZXJDb3VudENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogcGFnZS9GcmFtZS5oOgorICAgICAgICAoRnJhbWUpOgorCiAyMDEyLTAxLTMxICBQ
YWJsbyBGbG91cmV0ICA8cGFibG9mQG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBGaXggY29tcGls
YXRpb24gZXJyb3JzIG9uIGJ1aWxkLXdlYmtpdCAtLWRlYnVnIC0tbm8td29ya2VycyBvbiBtYWMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDAyMGFhYjZiNzliNjgyZGM3MTc3ZjNmOWFi
ZjIwMzYyNzczYzVlOTQuLjUwMjY2MWQ0ZGUxODJhZjJhOTk0YjJlYjEyMDgyNDQ1OTEyMzViOTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDItMDYg
IFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5kbGVycyBhcmUgaW5zdGFs
bGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcHVibGljL1dlYlZpZXdDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0Ns
aWVudDo6bnVtYmVyT2ZUb3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKToKKyAgICAgICAgKiBzcmMv
Q2hyb21lQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6
Om51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50SW1wbCk6
CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmll
d0ltcGw6Om51bWJlck9mVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6CisgICAgICAgIChXZWJL
aXQpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorICAgICAgICAoV2ViVmlld0ltcGwp
OgorCiAyMDEyLTAxLTMwICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTA2MzI0LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdl
TG9nCmluZGV4IGI3NWIxNjAzNzk1OTBmMjE2YjM0NzRiYzY4MzFjNDM4ZmMyODA0M2QuLjNhMjFm
NjI4ZjY5ZmI0OWM0YzQ5Y2E3MzE3NTc0N2Q3YWZmYzcyYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAxMi0wMi0wNiAgU2FkcnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1
bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNsaWVudCB3aGVuIHRvdWNo
LWV2ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRFZmwuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEVmbDo6bnVtVG91Y2hFdmVu
dEhhbmRsZXJzQ2hhbmdlZCk6CisKIDIwMTItMDEtMzAgIEV1bnNvbCBQYXJrICA8ZXVuc29sNDcu
cGFya0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBEZWZpbmUgdGhlIG5hbWVzIG9mIHZp
ZXcgc21hcnQgY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBkNDQ5NDY0ZmY3MTRjNWY3ZTJhNjVk
OGVhZjExMjgyNzBjZjA3NGY4Li41N2NjOWVlODFjZjM0Nzc0ZTE3MDJjYWNjMzkxMDYxMzRlOWE3
ZTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMDYgIFNhZHJ1
bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vdGlm
eSBDaHJvbWVDbGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5kbGVycyBhcmUgaW5zdGFsbGVkL3Jl
bW92ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
NzQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisgICAgICAgIChXZWJLaXQ6OkNocm9t
ZUNsaWVudDo6bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6CisKIDIwMTItMDEtMjMgIE1h
cmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtd
IFJlZmFjdG9yIEdUSydzIGFjY2Vzc2liaWxpdGl0eSBjb2RlIHRvIGJlIG1vcmUgbW9kdWxhcgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCmluZGV4IDAxZmQ1NDU0MTU2ZmUyMDNjZTAxZmI3OWM1N2MwMDJjMTE5NDg4
OGMuLjcxNzM3YTNkMmRjZjhkMGU3MjRmYmI0ZGMxZTZhNjI5YTI0ODNkYzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0wMi0wNiAgU2FkcnVsIEhhYmliIENob3dkaHVy
eSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNsaWVudCB3
aGVuIHRvdWNoLWV2ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxMi0wMS0zMSAgUGFibG8gRmxvdXJldCAgPHBhYmxvZkBt
b3Rvcm9sYS5jb20+CiAKICAgICAgICAgRml4IGNvbXBpbGF0aW9uIGVycm9ycyBvbiBidWlsZC13
ZWJraXQgLS1kZWJ1ZyAtLW5vLXdvcmtlcnMgb24gbWFjLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA2YWVm
ZDcwZTdmN2JlYTFlODI4NTg3ZDg2YmI2NGM0ODZmNjljYjM3Li5hNDMwYmU2YjMyZDAzOGI3NzI1
ODU2MDU4YmQ3NTdiZTExOGQyODQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDEyLTAyLTA2ICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4K
KworICAgICAgICBOb3RpZnkgQ2hyb21lQ2xpZW50IHdoZW4gdG91Y2gtZXZlbnQgaGFuZGxlcnMg
YXJlIGluc3RhbGxlZC9yZW1vdmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Nzc0NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0Lmg6CisgICAgICAg
IChXZWJDb3JlOjpDaHJvbWVDbGllbnRRdDo6bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6
CisKIDIwMTItMDEtMzAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlZHVjZSBub24tQ1NTT00gQVBJIG9mIENTU1N0eWxlRGVjbGFyYXRpb24KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5n
ZUxvZwppbmRleCAyZDRiMWY1NDg2OTMwZDQ4MjRmMWI2YjUzNjFjNTc0NWJhZTVmNzMwLi4wZDk5
M2MwZDYwMDhhMzVlZGQzNzgzOTY3OWE4NmEwNDE1YzBmZmNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMDYgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRy
dWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3Vj
aC1ldmVudCBoYW5kbGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50Lmg6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6Om51bVRvdWNoRXZlbnRIYW5kbGVy
c0NoYW5nZWQpOgorCiAyMDEyLTAxLTI2ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4K
IAogICAgICAgICBbV2luZG93c10gT3B0aW9uYWxseSBpbnZlcnQgY29sb3JzIHdoZW4gZHJhd2lu
ZyB0byBhIFdlYlZpZXcncyBiYWNraW5nIHN0b3JlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW5jZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwppbmRleCA2
ZDJhN2U2NDdiMmUwYWUwOWI3Zjc2Y2MwNjcyNjc4NTkzZjkyMTMxLi5hOTQ0ZDNjN2M1NWI1YjAx
YTRhMDE5NDJlM2NmZWQzMWYwYTFjOGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDEyLTAyLTA2ICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBOb3RpZnkgQ2hyb21lQ2xpZW50IHdoZW4gdG91Y2gtZXZlbnQg
aGFuZGxlcnMgYXJlIGluc3RhbGxlZC9yZW1vdmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNF
Lmg6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudFdpbkNFOjpudW1Ub3VjaEV2ZW50SGFu
ZGxlcnNDaGFuZ2VkKToKKwogMjAxMS0xMi0xOSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIE1vcmUgUGxhdGZvcm1FdmVudCBjbGVhbnVwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3d4L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCmluZGV4
IGI0NWIzNTAwNTAwNTE5NzUwOTEzNGNlNDRjNWU5MWIzNjE4ZWQ1YzcuLjcxMDM5MTI4MzJjNWNm
ZDEyOTUzOTA2NjI0MGJjY2U2NjlkZmE3YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTItMDItMDYgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5k
bGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50V3g6Om51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5n
ZWQpOgorCiAyMDEyLTAxLTMwICBLZXZpbiBPbGxpdmllciAgPGtldmlub0B0aGVvbGxpdmllcnMu
Y29tPgogCiAgICAgICAgIFt3eF0gVW5yZXZpZXdlZC4gQnVpbGQgZml4LCBhZGQgSmF2YVNjcmlw
dENvcmUvcnVudGltZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDkyMDE2N2NkYjViOTQ5YjRmZmU1YjZmNTMzOTUy
NDI0YjBhNTFhNGYuLmI5ODdhMGRhMWFiYzY2NzNkOWI3NTJlMTc4MDUyZTUzNDlkMmU2ZGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0wMi0wNiAgU2FkcnVsIEhhYmliIENob3dk
aHVyeSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNsaWVu
dCB3aGVuIHRvdWNoLWV2ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bnVtVG91Y2hFdmVu
dEhhbmRsZXJzQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxMi0wMS0zMCAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2Vs
eW4udHVyY290dGVAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gRGlzY29ubmVjdCB0aGUgTGF5
ZXJUcmVlSG9zdCBmcm9tIGxheWVycyB3aGVuIHRoZXkgZ2V0IHJlbW92ZWQgZnJvbSB0aGVpciBw
YXJlbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAzYWJiM2FkYTliY2I1MWYwMWYwMjQ3
NWE4MTkxNjczYmRlYThhMWExLi40OTFiMzIxODYxZTZlYmMwM2ViZGVjZWUwZjMwNTgwODg2YmU3
NDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQzMCw2ICs0MzAsNyBAQCBEb2N1bWVu
dDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRNTCwg
Ym9vbCBpc0hUTUwpCiAgICAgLCBtX3dyaXRlUmVjdXJzaW9uSXNUb29EZWVwKGZhbHNlKQogICAg
ICwgbV93cml0ZVJlY3Vyc2lvbkRlcHRoKDApCiAgICAgLCBtX3doZWVsRXZlbnRIYW5kbGVyQ291
bnQoMCkKKyAgICAsIG1fdG91Y2hFdmVudEhhbmRsZXJDb3VudCgwKQogICAgICwgbV9wZW5kaW5n
VGFza3NUaW1lcih0aGlzLCAmRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQpCiB7CiAg
ICAgbV9kb2N1bWVudCA9IHRoaXM7CkBAIC01MzU1LDYgKzUzNTYsMjMgQEAgdm9pZCBEb2N1bWVu
dDo6ZGlkUmVtb3ZlV2hlZWxFdmVudEhhbmRsZXIoKQogICAgICAgICBtYWluRnJhbWUtPm5vdGlm
eUNocm9tZUNsaWVudFdoZWVsRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKCk7CiB9CiAKK3ZvaWQg
RG9jdW1lbnQ6OmRpZEFkZFRvdWNoRXZlbnRIYW5kbGVyKCkKK3sKKyAgICArK21fdG91Y2hFdmVu
dEhhbmRsZXJDb3VudDsKKyAgICBGcmFtZSogbWFpbkZyYW1lID0gcGFnZSgpID8gcGFnZSgpLT5t
YWluRnJhbWUoKSA6IDA7CisgICAgaWYgKG1haW5GcmFtZSkKKyAgICAgICAgbWFpbkZyYW1lLT5u
b3RpZnlDaHJvbWVDbGllbnRUb3VjaEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCgpOworfQorCit2
b2lkIERvY3VtZW50OjpkaWRSZW1vdmVUb3VjaEV2ZW50SGFuZGxlcigpCit7CisgICAgQVNTRVJU
KG1fdG91Y2hFdmVudEhhbmRsZXJDb3VudCA+IDApOworICAgIC0tbV90b3VjaEV2ZW50SGFuZGxl
ckNvdW50OworICAgIEZyYW1lKiBtYWluRnJhbWUgPSBwYWdlKCkgPyBwYWdlKCktPm1haW5GcmFt
ZSgpIDogMDsKKyAgICBpZiAobWFpbkZyYW1lKQorICAgICAgICBtYWluRnJhbWUtPm5vdGlmeUNo
cm9tZUNsaWVudFRvdWNoRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKCk7Cit9CisKIGJvb2wgRG9j
dW1lbnQ6OnZpc3VhbFVwZGF0ZXNBbGxvd2VkKCkgY29uc3QKIHsKICAgICByZXR1cm4gIXNldHRp
bmdzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggZmRiMzk4ODc1ZjUxNGRmZmM0YzcwMzk3MjFi
MWE3NTc0N2NiYjk3Yi4uNzk1YThmYzVjNWUxMzIwOWJiMWU1NTc0ZDU3ZjFkMjQ4ZDY0M2UzZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTExMDcsNiArMTEwNywxMCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBkaWRBZGRXaGVlbEV2ZW50SGFuZGxlcigpOwogICAgIHZvaWQgZGlkUmVtb3ZlV2hlZWxF
dmVudEhhbmRsZXIoKTsKIAorICAgIHVuc2lnbmVkIHRvdWNoRXZlbnRIYW5kbGVyQ291bnQoKSBj
b25zdCB7IHJldHVybiBtX3RvdWNoRXZlbnRIYW5kbGVyQ291bnQ7IH0KKyAgICB2b2lkIGRpZEFk
ZFRvdWNoRXZlbnRIYW5kbGVyKCk7CisgICAgdm9pZCBkaWRSZW1vdmVUb3VjaEV2ZW50SGFuZGxl
cigpOworCiAgICAgYm9vbCB2aXN1YWxVcGRhdGVzQWxsb3dlZCgpIGNvbnN0OwogCiAjaWYgRU5B
QkxFKE1JQ1JPREFUQSkKQEAgLTE0NDMsNiArMTQ0Nyw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWdu
ZWQgbV93cml0ZVJlY3Vyc2lvbkRlcHRoOwogICAgIAogICAgIHVuc2lnbmVkIG1fd2hlZWxFdmVu
dEhhbmRsZXJDb3VudDsKKyAgICB1bnNpZ25lZCBtX3RvdWNoRXZlbnRIYW5kbGVyQ291bnQ7CiAK
ICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCiAgICAgUmVmUHRyPFNjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlcj4gbV9zY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5jcHAKaW5kZXggYzEzYzJiMDU3MDM0YTMwM2UzMDYzYjdhNTI0NTU0YjZiYmRmMzI0MS4u
OWRhMGM3MDE3YWEwODMwMDM5ZjYzMzQ5YjQ3NTIxZWE3ZTRkZjJmMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cApAQCAtMjUwNSw2ICsyNTA1LDggQEAgc3RhdGljIGlubGluZSBib29sIHRyeUFkZEV2ZW50TGlz
dGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgQXRvbWljU3RyaW5nJiBldmUKICAgICAgICAg
ZG9jdW1lbnQtPmFkZExpc3RlbmVyVHlwZUlmTmVlZGVkKGV2ZW50VHlwZSk7CiAgICAgICAgIGlm
IChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLm1vdXNld2hlZWxFdmVudCkKICAgICAgICAgICAg
IGRvY3VtZW50LT5kaWRBZGRXaGVlbEV2ZW50SGFuZGxlcigpOworICAgICAgICBlbHNlIGlmIChl
dmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoc3RhcnRFdmVudCB8fCBldmVudFR5cGUgPT0g
ZXZlbnROYW1lcygpLnRvdWNobW92ZUV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCku
dG91Y2hlbmRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoY2FuY2VsRXZl
bnQpCisgICAgICAgICAgICBkb2N1bWVudC0+ZGlkQWRkVG91Y2hFdmVudEhhbmRsZXIoKTsKICAg
ICB9CiAgICAgICAgIAogICAgIHJldHVybiB0cnVlOwpAQCAtMjU1NCw2ICsyNTU2LDggQEAgc3Rh
dGljIGlubGluZSBib29sIHRyeVJlbW92ZUV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwg
Y29uc3QgQXRvbWljU3RyaW5nJgogICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSB0YXJnZXRO
b2RlLT5kb2N1bWVudCgpKSB7CiAgICAgICAgIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygp
Lm1vdXNld2hlZWxFdmVudCkKICAgICAgICAgICAgIGRvY3VtZW50LT5kaWRSZW1vdmVXaGVlbEV2
ZW50SGFuZGxlcigpOworICAgICAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygp
LnRvdWNoc3RhcnRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNobW92ZUV2
ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkudG91Y2hlbmRFdmVudCB8fCBldmVudFR5
cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoY2FuY2VsRXZlbnQpCisgICAgICAgICAgICBkb2N1bWVu
dC0+ZGlkUmVtb3ZlVG91Y2hFdmVudEhhbmRsZXIoKTsKICAgICB9CiAgICAgCiAgICAgcmV0dXJu
IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggOWQyZGJmMjUzOWMx
NWFjYTMyYWQ0MDNiMTcyNGM2ZWVjM2IxN2NlOC4uMzc3NTIyOGY2ZDkwYmI3MmJiZGY5NDZkMTI5
NmUzNjNkYTliOTQ3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xp
ZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAtMjM0
LDYgKzIzNCw3IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIAogICAgIHZpcnR1YWwgdm9pZCBudW1X
aGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAgICAgCiAgICAgdmly
dHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpTY3JvbGxEaXJl
Y3Rpb24pIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmgKaW5kZXggNDg2NjI1YTk4ZDIwZTFjMDNkNTE1ZWIyMjQ0MmQzODE0MmY4MTMwNy4uMzNi
MWM0Yjg3MTQ5MDgzYmM2OGVhNzliNzlmZjE0MmVjZGQ1OWU0MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0No
cm9tZUNsaWVudC5oCkBAIC0zMjUsNiArMzI1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnVuTW9kYWxEaWFsb2dEdXJpbmdQYWdlRGlzbWlzc2Fs
KGNvbnN0IERpYWxvZ1R5cGUmLCBjb25zdCBTdHJpbmcmIGRpYWxvZ01lc3NhZ2UsIEZyYW1lTG9h
ZGVyOjpQYWdlRGlzbWlzc2FsVHlwZSkgY29uc3QgeyBVTlVTRURfUEFSQU0oZGlhbG9nTWVzc2Fn
ZSk7IHJldHVybiB0cnVlOyB9CiAKICAgICAgICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRI
YW5kbGVyc0NoYW5nZWQodW5zaWduZWQpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIG51bVRv
dWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpID0gMDsKICAgICAgICAgCiAgICAgICAg
IHZpcnR1YWwgYm9vbCBpc1NWR0ltYWdlQ2hyb21lQ2xpZW50KCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCBlMWY1YmNmOTllYTVjYzg4OWEzZmM5ZGRk
ZDExOTUzYWQ0M2M5ODQ5Li41MzVmZWVkMTM2ZTVhZGIxYTRhNGE0NDQyOWVkNjY4Yzk1Y2RlM2Fj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtMjkyLDggKzI5MiwxMCBAQCB2b2lkIEZyYW1lOjpz
ZXREb2N1bWVudChQYXNzUmVmUHRyPERvY3VtZW50PiBuZXdEb2MpCiAKICAgICBpZiAobV9wYWdl
KSB7CiAgICAgICAgIG1fcGFnZS0+dXBkYXRlVmlld3BvcnRBcmd1bWVudHMoKTsKLSAgICAgICAg
aWYgKG1fcGFnZS0+bWFpbkZyYW1lKCkgPT0gdGhpcykKKyAgICAgICAgaWYgKG1fcGFnZS0+bWFp
bkZyYW1lKCkgPT0gdGhpcykgewogICAgICAgICAgICAgbm90aWZ5Q2hyb21lQ2xpZW50V2hlZWxF
dmVudEhhbmRsZXJDb3VudENoYW5nZWQoKTsKKyAgICAgICAgICAgIG5vdGlmeUNocm9tZUNsaWVu
dFRvdWNoRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKCk7CisgICAgICAgIH0KICAgICB9CiB9CiAK
QEAgLTEwMTcsMTYgKzEwMTksMzAgQEAgdm9pZCBGcmFtZTo6bm90aWZ5Q2hyb21lQ2xpZW50V2hl
ZWxFdmVudEhhbmRsZXJDb3VudENoYW5nZWQoKSBjb25zdAogewogICAgIC8vIEVuc3VyZSB0aGF0
IHRoaXMgbWV0aG9kIGlzIGJlaW5nIGNhbGxlZCBvbiB0aGUgbWFpbiBmcmFtZSBvZiB0aGUgcGFn
ZS4KICAgICBBU1NFUlQobV9wYWdlICYmIG1fcGFnZS0+bWFpbkZyYW1lKCkgPT0gdGhpcyk7Ci0g
ICAgCisKICAgICB1bnNpZ25lZCBjb3VudCA9IDA7CiAgICAgZm9yIChjb25zdCBGcmFtZSogZnJh
bWUgPSB0aGlzOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkg
ewogICAgICAgICBpZiAoZnJhbWUtPmRvY3VtZW50KCkpCiAgICAgICAgICAgICBjb3VudCArPSBm
cmFtZS0+ZG9jdW1lbnQoKS0+d2hlZWxFdmVudEhhbmRsZXJDb3VudCgpOwogICAgIH0KLSAgICAK
KwogICAgIG1fcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5udW1XaGVlbEV2ZW50SGFuZGxlcnND
aGFuZ2VkKGNvdW50KTsKIH0KIAordm9pZCBGcmFtZTo6bm90aWZ5Q2hyb21lQ2xpZW50VG91Y2hF
dmVudEhhbmRsZXJDb3VudENoYW5nZWQoKSBjb25zdAoreworICAgIC8vIEVuc3VyZSB0aGF0IHRo
aXMgbWV0aG9kIGlzIGJlaW5nIGNhbGxlZCBvbiB0aGUgbWFpbiBmcmFtZSBvZiB0aGUgcGFnZS4K
KyAgICBBU1NFUlQobV9wYWdlICYmIG1fcGFnZS0+bWFpbkZyYW1lKCkgPT0gdGhpcyk7CisKKyAg
ICB1bnNpZ25lZCBjb3VudCA9IDA7CisgICAgZm9yIChjb25zdCBGcmFtZSogZnJhbWUgPSB0aGlz
OyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkgeworICAgICAg
ICBpZiAoZnJhbWUtPmRvY3VtZW50KCkpCisgICAgICAgICAgICBjb3VudCArPSBmcmFtZS0+ZG9j
dW1lbnQoKS0+dG91Y2hFdmVudEhhbmRsZXJDb3VudCgpOworICAgIH0KKworICAgIG1fcGFnZS0+
Y2hyb21lKCktPmNsaWVudCgpLT5udW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKGNvdW50KTsK
K30KKwogI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9STShXSU4pCiBzdHJ1Y3QgU2NvcGVk
RnJhbWVQYWludGluZ1N0YXRlIHsKICAgICBTY29wZWRGcmFtZVBhaW50aW5nU3RhdGUoRnJhbWUq
IHRoZUZyYW1lLCBSZW5kZXJPYmplY3QqIHRoZVJlbmRlcmVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCmluZGV4
IDE4ZGE1ZjM2YWI1MmI3MTlhODQ5NmJmOGU2ZmM4MmYxOTVkYjAzMmUuLmE3YWM2MTlmMzIyODNl
NDMwYzYxMGVlM2FiZWM2NTRlM2Y0ZGE4NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKQEAgLTE5NSw2ICsx
OTUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgLy8gU2hvdWxkIG9ubHkgYmUg
Y2FsbGVkIG9uIHRoZSBtYWluIGZyYW1lIG9mIGEgcGFnZS4KICAgICAgICAgdm9pZCBub3RpZnlD
aHJvbWVDbGllbnRXaGVlbEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCgpIGNvbnN0OworICAgICAg
ICB2b2lkIG5vdGlmeUNocm9tZUNsaWVudFRvdWNoRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKCkg
Y29uc3Q7CiAKICAgICAvLyA9PT09PT09PQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJWaWV3Q2xpZW50LmgKaW5kZXggNWE0ZDRlOGU0OWMzZDcyYTY4YTBlYThlZWNkNDIw
MjRlZDY3OGUyYi4uNTMwMjY1Yjk3MDFjODE4ZDlkYmE3YTIwNWEyZTQ0MDRkZjgwMGY0NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaApAQCAtMjU2
LDYgKzI1Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZm9jdXNlZE5vZGVDaGFuZ2Vk
KGNvbnN0IFdlYk5vZGUmKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBudW1iZXJPZldoZWVsRXZl
bnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBudW1iZXJP
ZlRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQogCiAgICAgLy8gSW5kaWNh
dGVzIHR3byB0aGluZ3M6CiAgICAgLy8gICAxKSBUaGlzIHZpZXcgbWF5IGhhdmUgYSBuZXcgbGF5
b3V0IG5vdy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNs
aWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1w
bC5jcHAKaW5kZXggZmIwN2I0YzEwM2ZiMjc5YTI0YzRmMTY3OGViNTk4OGYzMjE3M2JhNi4uNDVh
ODEzODU5NDRjZThhYmRiYzdiYjk5NGFlYjNjYzlkZjIyNDBiZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKQEAgLTEwMTgsNiArMTAxOCwx
MSBAQCB2b2lkIENocm9tZUNsaWVudEltcGw6Om51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQo
dW5zaWduZWQgbnVtYmVyT2ZXaGVlbEhhbmRsZQogICAgIG1fd2ViVmlldy0+bnVtYmVyT2ZXaGVl
bEV2ZW50SGFuZGxlcnNDaGFuZ2VkKG51bWJlck9mV2hlZWxIYW5kbGVycyk7CiB9CiAKK3ZvaWQg
Q2hyb21lQ2xpZW50SW1wbDo6bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCBu
dW1iZXJPZlRvdWNoSGFuZGxlcnMpCit7CisgICAgbV93ZWJWaWV3LT5udW1iZXJPZlRvdWNoRXZl
bnRIYW5kbGVyc0NoYW5nZWQobnVtYmVyT2ZUb3VjaEhhbmRsZXJzKTsKK30KKwogI2lmIEVOQUJM
RShQT0lOVEVSX0xPQ0spCiBib29sIENocm9tZUNsaWVudEltcGw6OnJlcXVlc3RQb2ludGVyTG9j
aygpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGll
bnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgK
aW5kZXggOGZkMjQ4OGQ5ZWU2NjEwZmUxMzg1OGI4ZWM5ZTU1ODBjNzU0MDUyOC4uMjNlMDJmZjNk
OTk1MDRmYzI5OTgyZjM3MTE2MzU2YTEwMDU0OTc2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaApAQCAtMjA0LDYgKzIwNCw3IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oV2ViQ29yZTo6
U2Nyb2xsRGlyZWN0aW9uKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhh
bmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCk7CisgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRI
YW5kbGVyc0NoYW5nZWQodW5zaWduZWQpOwogCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKICAg
ICB2aXJ0dWFsIGJvb2wgcmVxdWVzdFBvaW50ZXJMb2NrKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggZDVhOGJhOGI2ZTM5YTRlNDgxNTJlZWE0MzIw
MDNhYzdjZTIzMjc2Yi4uNzUxNTk0YTE2NzMxZGMwNGZjODlkNTE5MDcxMDM5NDFjNmMxY2E2MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtODIyLDYg
KzgyMiwxMiBAQCB2b2lkIFdlYlZpZXdJbXBsOjpudW1iZXJPZldoZWVsRXZlbnRIYW5kbGVyc0No
YW5nZWQodW5zaWduZWQgbnVtYmVyT2ZXaGVlbEhhbmRsZQogI2VuZGlmCiB9CiAKK3ZvaWQgV2Vi
Vmlld0ltcGw6Om51bWJlck9mVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCBudW1i
ZXJPZlRvdWNoSGFuZGxlcnMpCit7CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVu
dC0+bnVtYmVyT2ZUb3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKG51bWJlck9mVG91Y2hIYW5kbGVy
cyk7Cit9CisKICNpZiAhT1MoREFSV0lOKQogLy8gTWFjIGhhcyBubyB3YXkgdG8gb3BlbiBhIGNv
bnRleHQgbWVudSBiYXNlZCBvbiBhIGtleWJvYXJkIGV2ZW50LgogYm9vbCBXZWJWaWV3SW1wbDo6
c2VuZENvbnRleHRNZW51RXZlbnQoY29uc3QgV2ViS2V5Ym9hcmRFdmVudCYgZXZlbnQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAppbmRleCAwMmJjNWM5MjFkYTM2YzZl
Y2RiN2UwZTExYWNlOWJmMzE3ZDJkMmY1Li40ZGMzMTNjMzZiYzA1ZDJkNmM2ZmRlOWRiMzM0OGM5
MDk0ZTJkZTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3
SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAg
LTMyMSw2ICszMjEsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCB0b3VjaEV2ZW50KGNvbnN0IFdlYlRv
dWNoRXZlbnQmKTsKIAogICAgIHZvaWQgbnVtYmVyT2ZXaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2Vk
KHVuc2lnbmVkKTsKKyAgICB2b2lkIG51bWJlck9mVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1
bnNpZ25lZCk7CiAKICAgICAvLyBIYW5kbGVzIGNvbnRleHQgbWVudSBldmVudHMgb3JpZ25hdGVk
IHZpYSB0aGUgdGhlIGtleWJvYXJkLiBUaGVzZQogICAgIC8vIGluY2x1ZGUgdGhlIFZLX0FQUFMg
dmlydHVhbCBrZXkgYW5kIHRoZSBTaGlmdCtGMTAgY29tYmluZS4gQ29kZSBpcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmggYi9T
b3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAppbmRleCA0
YjQ3YzczMWNkNmI3YWQ5NzkyNWRjMTk3NmE4YTY1MzgwMzM5Zjk0Li44MjUxMjI1MWY2YTQ0MGVh
NTkzMzAxM2UxMThkZjNjMDAyNGM3OWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaApAQCAtMTczLDYgKzE3Myw3IEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oV2ViQ29y
ZTo6U2Nyb2xsRGlyZWN0aW9uKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2
b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQorICAgIHZpcnR1
YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KIAogICAg
IEV2YXNfT2JqZWN0KiBtX3ZpZXc7CiAgICAgS1VSTCBtX2hvdmVyZWRMaW5rVVJMOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgg
Yi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAppbmRl
eCA5MzIyMjRmMDQxY2Q1YTZkZDhiMjNhNTQ0NDQ1MzFlNTIzMjhiZmNmLi5hMDMxNjhjMjBiN2Mw
NGU3NDY2M2M4NTI3Y2EzYmI2OTZiODdmZTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaApAQCAtMTU5LDYgKzE1OSw3IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5k
SW5EaXJlY3Rpb24oU2Nyb2xsRGlyZWN0aW9uKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7
IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5z
aWduZWQpIHsgfQogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAKICAgICAgICAg
dmlydHVhbCB2b2lkIGF0dGFjaFJvb3RHcmFwaGljc0xheWVyKEZyYW1lKiwgR3JhcGhpY3NMYXll
ciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaAppbmRleCA0OGZmMDliYmE2ODE5NjdmN2M2Mjc2NjczNDY0NTk0NGE1NGViMmY0Li42
NmZhMDYwYjVhNTNkYmMyZjM4ZWVhNmY1NDUyZDc2ZGE2YmIxZjkyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTg5LDYg
KzE4OSw3IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIAogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVl
bEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSBPVkVSUklERSB7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgT1ZFUlJJREUgeyB9
CiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpT
Y3JvbGxEaXJlY3Rpb24pIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CiBwcml2YXRl
OgogICAgIFdlYlZpZXcgKm1fd2ViVmlldzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAppbmRleCA2YTU3NmQ5NmRhYzQ2YWZlMzc0YzcwYmVh
YzFiNmI5NGUzNjIzYTljLi4zZDQ1YjdiNTFhMmUzMjAwNDRlNjQwMWY3MDhiYjJjMDhmMzc1NWM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dFF0LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRR
dC5oCkBAIC0xOTIsNiArMTkyLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNob3Vs
ZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IHsg
cmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hh
bmdlZCh1bnNpZ25lZCkgeyB9CisgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVy
c0NoYW5nZWQodW5zaWduZWQpIHsgfQogCiAgICAgUVdlYlBhZ2UqIG1fd2ViUGFnZTsKICAgICBL
VVJMIGxhc3RIb3ZlclVSTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggYjZhZWIxY2Y3MWU2M2ViODZlYzNiYWVlMDE0Yjk1
NWU4OTk5MjM5YS4uMmE5YThmZTdmM2Q0ZjQ1M2ZlNGFiMWYwZWRjYjlkZDM5ZmFhYmM5YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmgKQEAgLTE3Nyw2ICsxNzcsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxk
UnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbikgY29uc3QgeyBy
ZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFu
Z2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJz
Q2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAKIHByaXZhdGU6CiAgICAgQ09NUHRyPElXZWJVSURlbGVn
YXRlPiB1aURlbGVnYXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmggYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKaW5kZXggMDA2ZTAxMGY4ZDI3ODI2OWZkZTc2
ZjM1ZTZlYjJhYzc0NDk4MzY1Ni4uNjEzNzgzYTAzM2U1OWFjYTkxZDk4NDUzNjAwMDY0OTA1YzIw
NjIxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRXaW5DRS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50V2luQ0UuaApAQCAtMTc3LDYgKzE3Nyw3IEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oV2ViQ29yZTo6U2Nyb2xsRGly
ZWN0aW9uKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIG51bVdoZWVs
RXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBudW1U
b3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KIAogcHJpdmF0ZToKICAgICBX
ZWJWaWV3KiBtX3dlYlZpZXc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1
cHBvcnQvQ2hyb21lQ2xpZW50V3guaCBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9D
aHJvbWVDbGllbnRXeC5oCmluZGV4IGRjZDE2NGYzNGI2ZmU0MWM3YWNiMWFmZWMyOWVmYTI2ODJj
ODhiNzUuLjJiNmNkZWY2MTJjYWZjZDRmMjUwMTM0NTE2OGRhM2NlNzA1ODg1NjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCkBAIC0xNTEs
NiArMTUxLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJ
bkRpcmVjdGlvbihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IHsgcmV0dXJuIHRydWU7
IH0KICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25l
ZCkgeyB9CisgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5z
aWduZWQpIHsgfQogICAgIAogICAgIHZpcnR1YWwgYm9vbCBoYXNPcGVuZWRQb3B1cCgpIGNvbnN0
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMzMwNmRkNzBh
ZmM2Y2JlMTZkMDc2MjRkM2QzNjY0MzYxMGNiNThlOC4uMzJkZTRmZmEwODdlYmUyMzNkOGUxMWQ2
OWFlNDAwN2ZkZGY0MzUzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aApAQCAtNzE3LDYgKzcxNyw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRDaGFuZ2VQYWdlQ291
bnQodW5zaWduZWQpOwogICAgIHZvaWQgZGlkRmFpbFRvSW5pdGlhbGl6ZVBsdWdpbihjb25zdCBT
dHJpbmcmIG1pbWVUeXBlKTsKICAgICB2b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQo
dW5zaWduZWQgY291bnQpIHsgbV93aGVlbEV2ZW50SGFuZGxlckNvdW50ID0gY291bnQ7IH0KKyAg
ICB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQogCiAgICAg
dm9pZCByZWF0dGFjaFRvV2ViUHJvY2VzcygpOwogICAgIHZvaWQgcmVhdHRhY2hUb1dlYlByb2Nl
c3NXaXRoSXRlbShXZWJCYWNrRm9yd2FyZExpc3RJdGVtKik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApp
bmRleCBkZDY4ZTFmOWJkZDMzOTkyMjE1MmVjM2UwYTVlYTM0YTA1MWE4ZWM2Li45NzYxYzE1NGEx
ZTk0NDJmMjMzNjE5MTRjY2E3NTlkNGE5M2Q0MjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAg
LTIyMCw2ICsyMjAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJC
YW5kSW5EaXJlY3Rpb24oV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uKSBjb25zdCBPVkVSUklERTsK
ICAgICAKICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNp
Z25lZCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0No
YW5nZWQodW5zaWduZWQpIE9WRVJSSURFIHsgfQogCiAgICAgU3RyaW5nIG1fY2FjaGVkVG9vbFRp
cDsKICAgICBtdXRhYmxlIFJlZlB0cjxXZWJGcmFtZT4gbV9jYWNoZWRGcmFtZVNldExhcmdlc3RG
cmFtZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126851</attachid>
            <date>2012-02-13 15:39:52 -0800</date>
            <delta_ts>2012-02-14 17:20:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77440-20120213183951.patch</filename>
            <type>text/plain</type>
            <size>24712</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGJlYzViYTYzMWUzNDc5
NGVkZWJjMDAxMjhkZTljYWZiODQ1OTgxMy4uZGI4ZDlkOTZiMmYwOGI3MDVmMTA1ODViZDVlYjYy
YzBhYzllMTg2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTAyLTEzICBTYWRy
dWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBOb3Rp
ZnkgQ2hyb21lQ2xpZW50IHdoZW4gdG91Y2gtZXZlbnQgaGFuZGxlcnMgYXJlIGluc3RhbGxlZC9y
ZW1vdmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Nzc0NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBL
ZWVwIGEgY291bnQgb2YgdGhlIG51bWJlciBvZiB0b3VjaC1ldmVudCBoYW5kbGVycyBhbmQgbm90
aWZ5IHRoZQorICAgICAgICBlbWJlZGRlciB3aGVuIHRoZSBjb3VudCBjaGFuZ2VzLiBEZXBlbmRp
bmcgb24gdGhlIGNvdW50LCB0aGUgZW1iZWRkZXIKKyAgICAgICAgY2FuIGRlY2lkZSB3aGV0aGVy
IG9yIG5vdCB0byBkaXNwYXRjaCB0b3VjaCBldmVudHMgdG8gd2Via2l0LgorCisgICAgICAgICog
ZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpEb2N1bWVudCk6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGlkQWRkVG91Y2hFdmVudEhhbmRsZXIpOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGlkUmVtb3Zl
VG91Y2hFdmVudEhhbmRsZXIpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OnRvdWNoRXZlbnRIYW5kbGVyQ291bnQpOgorICAgICAgICAoRG9j
dW1lbnQpOgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6CisgICAgICAgIChFdmVudE5hbWVz
KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TmFtZXM6OmlzVG91Y2hFdmVudFR5cGUpOgorICAg
ICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRyeUFkZEV2ZW50TGlzdGVu
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6dHJ5UmVtb3ZlRXZlbnRMaXN0ZW5lcik6CisgICAgICAg
ICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlDaHJvbWVD
bGllbnQ6Om51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQpOgorICAgICAgICAqIHBhZ2UvQ2hy
b21lQ2xpZW50Lmg6CisgICAgICAgIChDaHJvbWVDbGllbnQpOgorICAgICAgICAqIHBhZ2UvRnJh
bWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6Om5vdGlmeUNocm9tZUNsaWVudFdoZWVs
RXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpub3Rp
ZnlDaHJvbWVDbGllbnRUb3VjaEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmg6CisgICAgICAgIChGcmFtZSk6CisKIDIw
MTItMDItMTMgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IHdyYXAgc2V0dGluZ3Mgc2VsZWN0b3IgdGV4dCBhbmQgYWRkaW5nIGEg
cnVsZSB3aXRoIHVuZG9hYmxlIGFjdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDI4ZTIxY2JkMDQ4MDQyY2Y5MzU0YmJhZjJkZmE5MDYwODZlMDA5NzguLjQ0YjA3MWU3YTJjZGIy
NDVhMTg1ZmJkYjhlNWIzMzJmNzJlNjA2ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTItMDItMTMgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRy
dWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3Vj
aC1ldmVudCBoYW5kbGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGljL1dlYlZpZXdDbGllbnQuaDoK
KyAgICAgICAgKFdlYktpdDo6V2ViVmlld0NsaWVudDo6bnVtYmVyT2ZUb3VjaEV2ZW50SGFuZGxl
cnNDaGFuZ2VkKToKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6Om51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQp
OgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5oOgor
ICAgICAgICAoQ2hyb21lQ2xpZW50SW1wbCk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6Om51bWJlck9mVG91Y2hFdmVudEhhbmRs
ZXJzQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1w
bC5oOgorICAgICAgICAoV2ViVmlld0ltcGwpOgorCiAyMDEyLTAyLTEzICBZb3NpZnVtaSBJbm91
ZSAgPHlvc2luQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbRm9ybXNdIFVzZSBlbnVtIGluc3Rl
YWQgb2YgYm9vbCBmb3IgSFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpp
bmRleCA0NDAxNzY3NjA3N2M0YWIzNGI3MGY0MTUyMDAzOGMxZjBlMjQxZmJlLi41ZmJiZjJiNjBi
YTNmMDVhNzdjOTMwNGFlMDJkODEwYjc1ZWMwNjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTItMDItMTMgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3VjaC1ldmVu
dCBoYW5kbGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZs
Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6Om51bVRvdWNoRXZlbnRIYW5k
bGVyc0NoYW5nZWQpOgorCiAyMDEyLTAyLTA5ICBHdXN0YXZvIExpbWEgQ2hhdmVzICA8Z2xpbWFA
cHJvZnVzaW9uLm1vYmk+CiAKICAgICAgICAgW0VGTF0gSW50cm9kdWNpbmcgZnVuY3Rpb25zIHRv
IHNldCBsb2NhbCBzdG9yYWdlIGRiIHBhdGggYW5kIGNsZWFyCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXgg
MzhmMzg1NWM4MmJkY2JhYTM5N2E2N2FmZDk2ZmMxZDIyMzVkOWFhYy4uOWVlYmE3YjBjMzZhNmFj
MmM1YTk5OTk0ZWIyYjBiOTkyYzc3YzZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDEyLTAyLTEzICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBOb3RpZnkgQ2hyb21lQ2xpZW50IHdoZW4gdG91Y2gtZXZlbnQgaGFu
ZGxlcnMgYXJlIGluc3RhbGxlZC9yZW1vdmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oOgor
ICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnQ6Om51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5n
ZWQpOgorCiAyMDEyLTAyLTA5ICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+
CiAKICAgICAgICAgW0dUS10gQWRkIERSVCBzdXBwb3J0IGZvciBtb2RhbCBkaWFsb2dzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKaW5kZXggYTQ1Y2Q0NWFlMzkyMzM5Y2RjODE1MWI5ZThhM2U2NTdhOTVjYzE5Yy4u
N2FkNzRmYzJmYTUxNmJiYjRlZWM5YTYxMzY1NjlhMTMzNTViOGM3ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTAyLTEzICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8
c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBOb3RpZnkgQ2hyb21lQ2xpZW50IHdoZW4g
dG91Y2gtZXZlbnQgaGFuZGxlcnMgYXJlIGluc3RhbGxlZC9yZW1vdmVkLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oOgorCiAyMDEyLTAyLTEyICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFBhZ2Ugc2hvdWxkIGhhdmUgbGVzcyBpbnRydXNpdmUgd2F5
IHRvIGFzc29jaWF0ZSBBUEkgaW1wbGVtZW50YXRpb24gb2JqZWN0cy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5k
ZXggMTY0NjQzOTFmYTY4MDMxMTE0ZGRiMGI1ZTFkNTEzYjljY2I1YjVhNS4uZmU5ZTAwZWZjNjQ4
M2UyNzA3MGIxMjg0MWQzZWMzNGY4NTE5OGQ1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9x
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAxMi0wMi0xMyAgU2FkcnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1bEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNsaWVudCB3aGVuIHRvdWNoLWV2ZW50IGhh
bmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oOgor
ICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6Om51bVRvdWNoRXZlbnRIYW5kbGVyc0No
YW5nZWQpOgorCiAyMDEyLTAyLTEyICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFBhZ2Ugc2hvdWxkIGhhdmUgbGVzcyBpbnRydXNpdmUgd2F5IHRvIGFz
c29jaWF0ZSBBUEkgaW1wbGVtZW50YXRpb24gb2JqZWN0cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCAz
MmRiMzE4ZmE5ZTdkODViZjRmYTAxMmEyZTlkODE2YmFhNDgwZTIzLi4xN2FmMjFhM2Y3MzMwMzA5
MGU5YWNiNzFlN2FjMTdkYTc5ODM3ODY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTItMDItMTMgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5k
bGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6Cisg
ICAgICAgIChXZWJDaHJvbWVDbGllbnQ6Om51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQpOgor
CiAyMDEyLTAyLTA3ICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAg
ICAgIFJlcGxhY2VtZW50IHRleHQgc2hvdWxkIGJlIGF2YWlsYWJsZSBmcm9tIHRoZSBtYXJrZXIu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvd2luY2UvQ2hhbmdlTG9nCmluZGV4IDZkMmE3ZTY0N2IyZTBhZTA5YjdmNzZjYzA2NzI2Nzg1
OTNmOTIxMzEuLjU4MjA3NWVkN2ZiZjZlMTE0NmUzZDIzNDNjOTYzNGI2Nzk5YzI0NTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
d2luY2UvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMTMgIFNhZHJ1bCBIYWJp
YiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vdGlmeSBDaHJv
bWVDbGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5kbGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xp
ZW50V2luQ0U6Om51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQpOgorCiAyMDExLTEyLTE5ICBT
YW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW9yZSBQbGF0Zm9ybUV2ZW50
IGNsZWFudXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC93eC9DaGFuZ2VMb2cKaW5kZXggYjQ1YjM1MDA1MDA1MTk3NTA5MTM0Y2U0NGM1ZTkx
YjM2MThlZDVjNy4uMGEwMGFiOTNkODNkOWQ2MDRkOGEyMGFhYzM4ODRmYmRhZTg1MmU4NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93
eC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0xMyAgU2FkcnVsIEhhYmliIENo
b3dkaHVyeSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNs
aWVudCB3aGVuIHRvdWNoLWV2ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRTdXBw
b3J0L0Nocm9tZUNsaWVudFd4Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRXeDo6
bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6CisKIDIwMTItMDEtMzAgIEtldmluIE9sbGl2
aWVyICA8a2V2aW5vQHRoZW9sbGl2aWVycy5jb20+CiAKICAgICAgICAgW3d4XSBVbnJldmlld2Vk
LiBCdWlsZCBmaXgsIGFkZCBKYXZhU2NyaXB0Q29yZS9ydW50aW1lCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzMx
YzAzMDA1MTQ4OTJhMDNhNDcxMjE4MzBjNTJjYzYwY2MyYWE3Mi4uYTQzNmI0MGFhM2Y4NzI5MjJj
MzNjOTRmZWRjMTBjOGFhMTNmZjk3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEy
LTAyLTEzICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBOb3RpZnkgQ2hyb21lQ2xpZW50IHdoZW4gdG91Y2gtZXZlbnQgaGFuZGxlcnMgYXJl
IGluc3RhbGxlZC9yZW1vdmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Nzc0NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5OjpudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDEyLTAyLTEx
ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByMTA3NDM1LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5k
ZXggNjJlZWZmOWI5OTlkOGI3OTVlNDk2MjllMzQ5NzA2ODk0MWM5ZmQ4My4uMzhhYzFlODJlMzVk
ZThjYWY4YTU3NjQ1ZTFiZTZmZWU4M2ZjNTNjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBA
IC00MzYsNiArNDM2LDcgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3Qg
S1VSTCYgdXJsLCBib29sIGlzWEhUTUwsIGJvb2wgaXNIVE1MKQogICAgICwgbV93cml0ZVJlY3Vy
c2lvbklzVG9vRGVlcChmYWxzZSkKICAgICAsIG1fd3JpdGVSZWN1cnNpb25EZXB0aCgwKQogICAg
ICwgbV93aGVlbEV2ZW50SGFuZGxlckNvdW50KDApCisgICAgLCBtX3RvdWNoRXZlbnRIYW5kbGVy
Q291bnQoMCkKICAgICAsIG1fcGVuZGluZ1Rhc2tzVGltZXIodGhpcywgJkRvY3VtZW50OjpwZW5k
aW5nVGFza3NUaW1lckZpcmVkKQogewogICAgIG1fZG9jdW1lbnQgPSB0aGlzOwpAQCAtNTQwOSw2
ICs1NDEwLDIzIEBAIHZvaWQgRG9jdW1lbnQ6OmRpZFJlbW92ZVdoZWVsRXZlbnRIYW5kbGVyKCkK
ICAgICB3aGVlbEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCh0aGlzKTsKIH0KIAordm9pZCBEb2N1
bWVudDo6ZGlkQWRkVG91Y2hFdmVudEhhbmRsZXIoKQoreworICAgICsrbV90b3VjaEV2ZW50SGFu
ZGxlckNvdW50OworICAgIEZyYW1lKiBtYWluRnJhbWUgPSBwYWdlKCkgPyBwYWdlKCktPm1haW5G
cmFtZSgpIDogMDsKKyAgICBpZiAobWFpbkZyYW1lKQorICAgICAgICBtYWluRnJhbWUtPm5vdGlm
eUNocm9tZUNsaWVudFRvdWNoRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKCk7Cit9CisKK3ZvaWQg
RG9jdW1lbnQ6OmRpZFJlbW92ZVRvdWNoRXZlbnRIYW5kbGVyKCkKK3sKKyAgICBBU1NFUlQobV90
b3VjaEV2ZW50SGFuZGxlckNvdW50ID4gMCk7CisgICAgLS1tX3RvdWNoRXZlbnRIYW5kbGVyQ291
bnQ7CisgICAgRnJhbWUqIG1haW5GcmFtZSA9IHBhZ2UoKSA/IHBhZ2UoKS0+bWFpbkZyYW1lKCkg
OiAwOworICAgIGlmIChtYWluRnJhbWUpCisgICAgICAgIG1haW5GcmFtZS0+bm90aWZ5Q2hyb21l
Q2xpZW50VG91Y2hFdmVudEhhbmRsZXJDb3VudENoYW5nZWQoKTsKK30KKwogYm9vbCBEb2N1bWVu
dDo6dmlzdWFsVXBkYXRlc0FsbG93ZWQoKSBjb25zdAogewogICAgIHJldHVybiAhc2V0dGluZ3Mo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBhNGJkYWQ2ODVjYzM0ZGNlMmRiMDZjNjIwNzljYmRj
OWY1MTRjZWMyLi45N2E4ZDVlZTg0MzNjYTBjNGE4MDMzZDE0ZjY2NDg5MzhlZDhiMDVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaApAQCAtMTExMyw2ICsxMTEzLDEwIEBAIHB1YmxpYzoKICAgICB2b2lk
IGRpZEFkZFdoZWVsRXZlbnRIYW5kbGVyKCk7CiAgICAgdm9pZCBkaWRSZW1vdmVXaGVlbEV2ZW50
SGFuZGxlcigpOwogCisgICAgdW5zaWduZWQgdG91Y2hFdmVudEhhbmRsZXJDb3VudCgpIGNvbnN0
IHsgcmV0dXJuIG1fdG91Y2hFdmVudEhhbmRsZXJDb3VudDsgfQorICAgIHZvaWQgZGlkQWRkVG91
Y2hFdmVudEhhbmRsZXIoKTsKKyAgICB2b2lkIGRpZFJlbW92ZVRvdWNoRXZlbnRIYW5kbGVyKCk7
CisKICAgICBib29sIHZpc3VhbFVwZGF0ZXNBbGxvd2VkKCkgY29uc3Q7CiAKICNpZiBFTkFCTEUo
TUlDUk9EQVRBKQpAQCAtMTQ0OSw2ICsxNDUzLDcgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBt
X3dyaXRlUmVjdXJzaW9uRGVwdGg7CiAgICAgCiAgICAgdW5zaWduZWQgbV93aGVlbEV2ZW50SGFu
ZGxlckNvdW50OworICAgIHVuc2lnbmVkIG1fdG91Y2hFdmVudEhhbmRsZXJDb3VudDsKIAogI2lm
IEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKICAgICBSZWZQdHI8U2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyPiBtX3NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5oCmluZGV4IGE2MTZmNzQ3NmVhYWEzMTg2NGRiNzVmOTI0NjFhOWU1YmZjZjM2
ZjAuLmU1MjQ1MzlhY2NiMThkOTcxNWNmMGU4N2I2YWU3MTYwY2Y4Yzk3ZDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50TmFtZXMuaApAQCAtMjE5LDYgKzIxOSwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIERPTV9FVkVOVF9JTlRFUkZBQ0VTX0ZPUl9FQUNIKERPTV9FVkVOVF9JTlRFUkZBQ0Vf
REVDTEFSRSkKICAgICAgICAgRE9NX0VWRU5UX1RBUkdFVF9JTlRFUkZBQ0VTX0ZPUl9FQUNIKERP
TV9FVkVOVF9JTlRFUkZBQ0VfREVDTEFSRSkKICAgICAgICAgI3VuZGVmIERPTV9FVkVOVF9JTlRF
UkZBQ0VfREVDTEFSRQorCisgICAgICAgIGJvb2wgaXNUb3VjaEV2ZW50VHlwZShjb25zdCBBdG9t
aWNTdHJpbmcmIGV2ZW50VHlwZSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGV2ZW50
VHlwZSA9PSB0b3VjaHN0YXJ0RXZlbnQgfHwgZXZlbnRUeXBlID09IHRvdWNobW92ZUV2ZW50IHx8
IGV2ZW50VHlwZSA9PSB0b3VjaGVuZEV2ZW50IHx8IGV2ZW50VHlwZSA9PSB0b3VjaGNhbmNlbEV2
ZW50OworICAgICAgICB9CiAgICAgfTsKIAogICAgIGlubGluZSBFdmVudE5hbWVzJiBldmVudE5h
bWVzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCA3ODFiY2FkZWY1NGFiZjQzN2VjYzdhMWIxNTA4Njlm
MzcyMzliODY1Li44NDYwNTAwM2VlNGZhNmQwYzU2NmEyMGI3MGZhN2QwYjc5YjYyNzQ4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuY3BwCkBAIC0yNDk0LDYgKzI0OTQsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgdHJ5
QWRkRXZlbnRMaXN0ZW5lcihOb2RlKiB0YXJnZXROb2RlLCBjb25zdCBBdG9taWNTdHJpbmcmIGV2
ZQogICAgICAgICBkb2N1bWVudC0+YWRkTGlzdGVuZXJUeXBlSWZOZWVkZWQoZXZlbnRUeXBlKTsK
ICAgICAgICAgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkubW91c2V3aGVlbEV2ZW50KQog
ICAgICAgICAgICAgZG9jdW1lbnQtPmRpZEFkZFdoZWVsRXZlbnRIYW5kbGVyKCk7CisgICAgICAg
IGVsc2UgaWYgKGV2ZW50TmFtZXMoKS5pc1RvdWNoRXZlbnRUeXBlKGV2ZW50VHlwZSkpCisgICAg
ICAgICAgICBkb2N1bWVudC0+ZGlkQWRkVG91Y2hFdmVudEhhbmRsZXIoKTsKICAgICB9CiAgICAg
ICAgIAogICAgIHJldHVybiB0cnVlOwpAQCAtMjU0Myw2ICsyNTQ1LDggQEAgc3RhdGljIGlubGlu
ZSBib29sIHRyeVJlbW92ZUV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgQXRv
bWljU3RyaW5nJgogICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSB0YXJnZXROb2RlLT5kb2N1
bWVudCgpKSB7CiAgICAgICAgIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLm1vdXNld2hl
ZWxFdmVudCkKICAgICAgICAgICAgIGRvY3VtZW50LT5kaWRSZW1vdmVXaGVlbEV2ZW50SGFuZGxl
cigpOworICAgICAgICBlbHNlIGlmIChldmVudE5hbWVzKCkuaXNUb3VjaEV2ZW50VHlwZShldmVu
dFR5cGUpKQorICAgICAgICAgICAgZG9jdW1lbnQtPmRpZFJlbW92ZVRvdWNoRXZlbnRIYW5kbGVy
KCk7CiAgICAgfQogICAgIAogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oCmluZGV4IDJlYjI0YTMyYjU5MzM5MDYwNDYxNmY1ODM2MDg5ZjlkMWY0MmIxN2Qu
LmEyNjQxZjc1MTg5NzcxZjUyMzM3MTlkYzExNGZhZjU1ZGU4Y2I4ZTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTIzMyw3ICsyMzMsOCBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIG5lZWRUb3VjaEV2ZW50cyhib29sKSB7IH0KICNlbmRpZgogICAgIAotICAgIHZp
cnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgT1ZF
UlJJREUgeyB9CisgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQo
dW5zaWduZWQpIE9WRVJSSURFIHsgfQogICAgIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJi
ZXJCYW5kSW5EaXJlY3Rpb24oV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDQ4NjYyNWE5
OGQyMGUxYzAzZDUxNWViMjI0NDJkMzgxNDJmODEzMDcuLjMzYjFjNGI4NzE0OTA4M2JjNjhlYTc5
Yjc5ZmYxNDJlY2RkNTllNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMzI1
LDYgKzMyNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBib29sIHNo
b3VsZFJ1bk1vZGFsRGlhbG9nRHVyaW5nUGFnZURpc21pc3NhbChjb25zdCBEaWFsb2dUeXBlJiwg
Y29uc3QgU3RyaW5nJiBkaWFsb2dNZXNzYWdlLCBGcmFtZUxvYWRlcjo6UGFnZURpc21pc3NhbFR5
cGUpIGNvbnN0IHsgVU5VU0VEX1BBUkFNKGRpYWxvZ01lc3NhZ2UpOyByZXR1cm4gdHJ1ZTsgfQog
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2ln
bmVkKSA9IDA7CisgICAgICAgIHZpcnR1YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFu
Z2VkKHVuc2lnbmVkKSA9IDA7CiAgICAgICAgIAogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNTVkdJ
bWFnZUNocm9tZUNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZS5jcHAKaW5kZXggY2E5Y2M5YWZlNGUxNTRjZTJiOTIxNjFjNjE3MjFhMjcxMWRlYjUyOC4uNTc1
ZTczNjYyMGJlYTVkOGEyN2NhMmE2ZTkwNGYyOWY4Mjk1ZTYwMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5j
cHAKQEAgLTI5Myw4ICsyOTMsMTAgQEAgdm9pZCBGcmFtZTo6c2V0RG9jdW1lbnQoUGFzc1JlZlB0
cjxEb2N1bWVudD4gbmV3RG9jKQogICAgIGlmIChtX2RvYykKICAgICAgICAgbV9kb2MtPnVwZGF0
ZVZpZXdwb3J0QXJndW1lbnRzKCk7CiAKLSAgICBpZiAobV9wYWdlICYmIG1fcGFnZS0+bWFpbkZy
YW1lKCkgPT0gdGhpcykKKyAgICBpZiAobV9wYWdlICYmIG1fcGFnZS0+bWFpbkZyYW1lKCkgPT0g
dGhpcykgewogICAgICAgICBub3RpZnlDaHJvbWVDbGllbnRXaGVlbEV2ZW50SGFuZGxlckNvdW50
Q2hhbmdlZCgpOworICAgICAgICBub3RpZnlDaHJvbWVDbGllbnRUb3VjaEV2ZW50SGFuZGxlckNv
dW50Q2hhbmdlZCgpOworICAgIH0KIH0KIAogI2lmIEVOQUJMRShPUklFTlRBVElPTl9FVkVOVFMp
CkBAIC0xMDIwLDE2ICsxMDIyLDMwIEBAIHZvaWQgRnJhbWU6Om5vdGlmeUNocm9tZUNsaWVudFdo
ZWVsRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKCkgY29uc3QKIHsKICAgICAvLyBFbnN1cmUgdGhh
dCB0aGlzIG1ldGhvZCBpcyBiZWluZyBjYWxsZWQgb24gdGhlIG1haW4gZnJhbWUgb2YgdGhlIHBh
Z2UuCiAgICAgQVNTRVJUKG1fcGFnZSAmJiBtX3BhZ2UtPm1haW5GcmFtZSgpID09IHRoaXMpOwot
ICAgIAorCiAgICAgdW5zaWduZWQgY291bnQgPSAwOwogICAgIGZvciAoY29uc3QgRnJhbWUqIGZy
YW1lID0gdGhpczsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkp
IHsKICAgICAgICAgaWYgKGZyYW1lLT5kb2N1bWVudCgpKQogICAgICAgICAgICAgY291bnQgKz0g
ZnJhbWUtPmRvY3VtZW50KCktPndoZWVsRXZlbnRIYW5kbGVyQ291bnQoKTsKICAgICB9Ci0gICAg
CisKICAgICBtX3BhZ2UtPmNocm9tZSgpLT5jbGllbnQoKS0+bnVtV2hlZWxFdmVudEhhbmRsZXJz
Q2hhbmdlZChjb3VudCk7CiB9CiAKK3ZvaWQgRnJhbWU6Om5vdGlmeUNocm9tZUNsaWVudFRvdWNo
RXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKCkgY29uc3QKK3sKKyAgICAvLyBFbnN1cmUgdGhhdCB0
aGlzIG1ldGhvZCBpcyBiZWluZyBjYWxsZWQgb24gdGhlIG1haW4gZnJhbWUgb2YgdGhlIHBhZ2Uu
CisgICAgQVNTRVJUKG1fcGFnZSAmJiBtX3BhZ2UtPm1haW5GcmFtZSgpID09IHRoaXMpOworCisg
ICAgdW5zaWduZWQgY291bnQgPSAwOworICAgIGZvciAoY29uc3QgRnJhbWUqIGZyYW1lID0gdGhp
czsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpIHsKKyAgICAg
ICAgaWYgKGZyYW1lLT5kb2N1bWVudCgpKQorICAgICAgICAgICAgY291bnQgKz0gZnJhbWUtPmRv
Y3VtZW50KCktPnRvdWNoRXZlbnRIYW5kbGVyQ291bnQoKTsKKyAgICB9CisKKyAgICBtX3BhZ2Ut
PmNocm9tZSgpLT5jbGllbnQoKS0+bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZChjb3VudCk7
Cit9CisKICNpZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oV0lOKQogc3RydWN0IFNjb3Bl
ZEZyYW1lUGFpbnRpbmdTdGF0ZSB7CiAgICAgU2NvcGVkRnJhbWVQYWludGluZ1N0YXRlKEZyYW1l
KiB0aGVGcmFtZSwgUmVuZGVyT2JqZWN0KiB0aGVSZW5kZXJlcikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAppbmRl
eCAxOGRhNWYzNmFiNTJiNzE5YTg0OTZiZjhlNmZjODJmMTk1ZGIwMzJlLi5hN2FjNjE5ZjMyMjgz
ZTQzMGM2MTBlZTNhYmVjNjU0ZTNmNGRhODVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCkBAIC0xOTUsNiAr
MTk1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIC8vIFNob3VsZCBvbmx5IGJl
IGNhbGxlZCBvbiB0aGUgbWFpbiBmcmFtZSBvZiBhIHBhZ2UuCiAgICAgICAgIHZvaWQgbm90aWZ5
Q2hyb21lQ2xpZW50V2hlZWxFdmVudEhhbmRsZXJDb3VudENoYW5nZWQoKSBjb25zdDsKKyAgICAg
ICAgdm9pZCBub3RpZnlDaHJvbWVDbGllbnRUb3VjaEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCgp
IGNvbnN0OwogCiAgICAgLy8gPT09PT09PT0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViVmlld0NsaWVudC5oCmluZGV4IDFiNDJhNDhhOGZhOWFhMDkxZjdjOTA3NjhlNDAx
NTQ5N2I0OTQzZWYuLmI2NTZmZDVhZGU2OGE3NTdkYTQ5NTE1MDgzZWMwNDFkNDdkNmE4MGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgKQEAgLTI2
Myw2ICsyNjMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGZvY3VzZWROb2RlQ2hhbmdl
ZChjb25zdCBXZWJOb2RlJikgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgbnVtYmVyT2ZXaGVlbEV2
ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVtYmVy
T2ZUb3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KIAogICAgIC8vIEluZGlj
YXRlcyB0d28gdGhpbmdzOgogICAgIC8vICAgMSkgVGhpcyB2aWV3IG1heSBoYXZlIGEgbmV3IGxh
eW91dCBub3cuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVD
bGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudElt
cGwuY3BwCmluZGV4IGZiMDdiNGMxMDNmYjI3OWEyNGM0ZjE2NzhlYjU5ODhmMzIxNzNiYTYuLjQ1
YTgxMzg1OTQ0Y2U4YWJkYmM3YmI5OTRhZWIzY2M5ZGYyMjQwYmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCkBAIC0xMDE4LDYgKzEwMTgs
MTEgQEAgdm9pZCBDaHJvbWVDbGllbnRJbXBsOjpudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2Vk
KHVuc2lnbmVkIG51bWJlck9mV2hlZWxIYW5kbGUKICAgICBtX3dlYlZpZXctPm51bWJlck9mV2hl
ZWxFdmVudEhhbmRsZXJzQ2hhbmdlZChudW1iZXJPZldoZWVsSGFuZGxlcnMpOwogfQogCit2b2lk
IENocm9tZUNsaWVudEltcGw6Om51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQg
bnVtYmVyT2ZUb3VjaEhhbmRsZXJzKQoreworICAgIG1fd2ViVmlldy0+bnVtYmVyT2ZUb3VjaEV2
ZW50SGFuZGxlcnNDaGFuZ2VkKG51bWJlck9mVG91Y2hIYW5kbGVycyk7Cit9CisKICNpZiBFTkFC
TEUoUE9JTlRFUl9MT0NLKQogYm9vbCBDaHJvbWVDbGllbnRJbXBsOjpyZXF1ZXN0UG9pbnRlckxv
Y2soKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xp
ZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5o
CmluZGV4IDhmZDI0ODhkOWVlNjYxMGZlMTM4NThiOGVjOWU1NTgwYzc1NDA1MjguLjIzZTAyZmYz
ZDk5NTA0ZmMyOTk4MmYzNzExNjM1NmExMDA1NDk3NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgKQEAgLTIwNCw2ICsyMDQsNyBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6
OlNjcm9sbERpcmVjdGlvbikgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRI
YW5kbGVyc0NoYW5nZWQodW5zaWduZWQpOworICAgIHZpcnR1YWwgdm9pZCBudW1Ub3VjaEV2ZW50
SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKTsKIAogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiAg
ICAgdmlydHVhbCBib29sIHJlcXVlc3RQb2ludGVyTG9jaygpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IDczYzg2YjM4NDRiMTU5NzBkZDEyNWMwYmNk
ZWUyNWJiMTcwNWM1NzguLjMyNDNmMzBiMTA3Yzk3Mjc5OThmZWIwOTg1YzY2N2U4YjUyMmJjY2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTgxMyw2
ICs4MTMsMTIgQEAgdm9pZCBXZWJWaWV3SW1wbDo6bnVtYmVyT2ZXaGVlbEV2ZW50SGFuZGxlcnND
aGFuZ2VkKHVuc2lnbmVkIG51bWJlck9mV2hlZWxIYW5kbGUKICNlbmRpZgogfQogCit2b2lkIFdl
YlZpZXdJbXBsOjpudW1iZXJPZlRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQgbnVt
YmVyT2ZUb3VjaEhhbmRsZXJzKQoreworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9jbGll
bnQtPm51bWJlck9mVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZChudW1iZXJPZlRvdWNoSGFuZGxl
cnMpOworfQorCiAjaWYgIU9TKERBUldJTikKIC8vIE1hYyBoYXMgbm8gd2F5IHRvIG9wZW4gYSBj
b250ZXh0IG1lbnUgYmFzZWQgb24gYSBrZXlib2FyZCBldmVudC4KIGJvb2wgV2ViVmlld0ltcGw6
OnNlbmRDb250ZXh0TWVudUV2ZW50KGNvbnN0IFdlYktleWJvYXJkRXZlbnQmIGV2ZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggMTk3ZjU4MmU0ZTllZDBj
NTJhNjg4YTExZmZlMWUwNTMwOWZiNGM2Zi4uZDQyYjJjYmRkZmYxZDUzZjNiOTI1YzkzODIzMTVl
NTQ5NTA4NGNiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBA
IC0zMjIsNiArMzIyLDcgQEAgcHVibGljOgogICAgIGJvb2wgdG91Y2hFdmVudChjb25zdCBXZWJU
b3VjaEV2ZW50Jik7CiAKICAgICB2b2lkIG51bWJlck9mV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdl
ZCh1bnNpZ25lZCk7CisgICAgdm9pZCBudW1iZXJPZlRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQo
dW5zaWduZWQpOwogCiAgICAgLy8gSGFuZGxlcyBjb250ZXh0IG1lbnUgZXZlbnRzIG9yaWduYXRl
ZCB2aWEgdGhlIHRoZSBrZXlib2FyZC4gVGhlc2UKICAgICAvLyBpbmNsdWRlIHRoZSBWS19BUFBT
IHZpcnR1YWwga2V5IGFuZCB0aGUgU2hpZnQrRjEwIGNvbWJpbmUuIENvZGUgaXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXgg
NGI0N2M3MzFjZDZiN2FkOTc5MjVkYzE5NzZhOGE2NTM4MDMzOWY5NC4uODI1MTIyNTFmNmE0NDBl
YTU5MzMwMTNlMTE4ZGYzYzAwMjRjNzlmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKQEAgLTE3Myw2ICsxNzMsNyBAQCBwdWJs
aWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNv
cmU6OlNjcm9sbERpcmVjdGlvbikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwg
dm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAKICAg
ICBFdmFzX09iamVjdCogbV92aWV3OwogICAgIEtVUkwgbV9ob3ZlcmVkTGlua1VSTDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5o
IGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKaW5k
ZXggNWQzMDgyZGM1NjRhMjQ1YjUyNjMxMmFjYjhmYTA2YmU5MTU2ZjI3Yi4uOWQyMTA1ZDZkZjdm
YzQwZGJlOTcwYzUxYzE4NzBmNWQ5MTA5ZmFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKQEAgLTE1OSw2ICsxNTksNyBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnViYmVyQmFu
ZEluRGlyZWN0aW9uKFNjcm9sbERpcmVjdGlvbikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAg
ICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkg
eyB9CisgICAgICAgIHZpcnR1YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVu
c2lnbmVkKSB7IH0KIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgCiAgICAgICAg
IHZpcnR1YWwgdm9pZCBhdHRhY2hSb290R3JhcGhpY3NMYXllcihGcmFtZSosIEdyYXBoaWNzTGF5
ZXIqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmgKaW5kZXggNDhmZjA5YmJhNjgxOTY3ZjdjNjI3NjY3MzQ2NDU5NDRhNTRlYjJmNC4u
NjZmYTA2MGI1YTUzZGJjMmYzOGVlYTZmNTQ1MmQ3NmRhNmJiMWY5MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTE4OSw2
ICsxODksNyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hl
ZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgT1ZFUlJJREUgeyB9CisgICAgdmlydHVh
bCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIE9WRVJSSURFIHsg
fQogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oV2ViQ29yZTo6
U2Nyb2xsRGlyZWN0aW9uKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQogcHJpdmF0
ZToKICAgICBXZWJWaWV3ICptX3dlYlZpZXc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKaW5kZXggNmE1NzZkOTZkYWM0NmFmZTM3NGM3MGJl
YWMxYjZiOTRlMzYyM2E5Yy4uM2Q0NWI3YjUxYTJlMzIwMDQ0ZTY0MDFmNzA4YmIyYzA4ZjM3NTVj
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
UXQuaApAQCAtMTkyLDYgKzE5Miw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91
bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uKSBjb25zdCB7
IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0No
YW5nZWQodW5zaWduZWQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxl
cnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KIAogICAgIFFXZWJQYWdlKiBtX3dlYlBhZ2U7CiAgICAg
S1VSTCBsYXN0SG92ZXJVUkw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGI2YWViMWNmNzFlNjNlYjg2ZWMzYmFlZTAxNGI5
NTVlODk5OTIzOWEuLjJhOWE4ZmU3ZjNkNGY0NTNmZTRhYjFmMGVkY2I5ZGQzOWZhYWJjOWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oCkBAIC0xNzcsNiArMTc3LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNob3Vs
ZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IHsg
cmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hh
bmdlZCh1bnNpZ25lZCkgeyB9CisgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVy
c0NoYW5nZWQodW5zaWduZWQpIHsgfQogCiBwcml2YXRlOgogICAgIENPTVB0cjxJV2ViVUlEZWxl
Z2F0ZT4gdWlEZWxlZ2F0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCmluZGV4IDAwNmUwMTBmOGQyNzgyNjlmZGU3
NmYzNWU2ZWIyYWM3NDQ5ODM2NTYuLjYxMzc4M2EwMzNlNTlhY2E5MWQ5ODQ1MzYwMDA2NDkwNWMy
MDYyMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50V2luQ0UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudFdpbkNFLmgKQEAgLTE3Nyw2ICsxNzcsNyBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERp
cmVjdGlvbikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVl
bEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVt
VG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAKIHByaXZhdGU6CiAgICAg
V2ViVmlldyogbV93ZWJWaWV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRT
dXBwb3J0L0Nocm9tZUNsaWVudFd4LmggYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQv
Q2hyb21lQ2xpZW50V3guaAppbmRleCBkY2QxNjRmMzRiNmZlNDFjN2FjYjFhZmVjMjllZmEyNjgy
Yzg4Yjc1Li4yYjZjZGVmNjEyY2FmY2Q0ZjI1MDEzNDUxNjhkYTNjZTcwNTg4NTY5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaApAQCAtMTUx
LDYgKzE1MSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5k
SW5EaXJlY3Rpb24oV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uKSBjb25zdCB7IHJldHVybiB0cnVl
OyB9CiAgICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWdu
ZWQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVu
c2lnbmVkKSB7IH0KICAgICAKICAgICB2aXJ0dWFsIGJvb2wgaGFzT3BlbmVkUG9wdXAoKSBjb25z
dDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggZGQ2OGUxZjliZGQzMzk5MjIxNTJlYzNlMGE1
ZWEzNGEwNTFhOGVjNi4uOTc2MWMxNTRhMWU5NDQyZjIzMzYxOTE0Y2NhNzU5ZDRhOTNkNDI2MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0yMjAsNiArMjIwLDcgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERp
cmVjdGlvbikgY29uc3QgT1ZFUlJJREU7CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIG51bVdoZWVs
RXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9p
ZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSBPVkVSUklERSB7IH0KIAog
ICAgIFN0cmluZyBtX2NhY2hlZFRvb2xUaXA7CiAgICAgbXV0YWJsZSBSZWZQdHI8V2ViRnJhbWU+
IG1fY2FjaGVkRnJhbWVTZXRMYXJnZXN0RnJhbWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127086</attachid>
            <date>2012-02-14 17:18:51 -0800</date>
            <delta_ts>2012-02-15 10:22:46 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-77440-20120214201848.patch</filename>
            <type>text/plain</type>
            <size>24466</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRlN2Q3YWFhYzdlMTk5
YmNhNGY2ZGE3NzNmMDZiNjg0Yzk4ZjVlMC4uOTYxOGVhOTRhYmJmZTVhYjgwOWFlYjYyYjRmNjc1
MDk2NTBmY2ExMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTAyLTE0ICBTYWRy
dWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBOb3Rp
ZnkgQ2hyb21lQ2xpZW50IHdoZW4gdG91Y2gtZXZlbnQgaGFuZGxlcnMgYXJlIGluc3RhbGxlZC9y
ZW1vdmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Nzc0NDAKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCisKKyAgICAgICAgS2Vl
cCBhIGNvdW50IG9mIHRoZSBudW1iZXIgb2YgdG91Y2gtZXZlbnQgaGFuZGxlcnMgYW5kIG5vdGlm
eSB0aGUKKyAgICAgICAgZW1iZWRkZXIgd2hlbiB0aGUgY291bnQgY2hhbmdlcy4gRGVwZW5kaW5n
IG9uIHRoZSBjb3VudCwgdGhlIGVtYmVkZGVyCisgICAgICAgIGNhbiBkZWNpZGUgd2hldGhlciBv
ciBub3QgdG8gZGlzcGF0Y2ggdG91Y2ggZXZlbnRzIHRvIHdlYmtpdC4KKworICAgICAgICAqIGRv
bS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZEFkZFRvdWNoRXZlbnRIYW5kbGVyKToKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZFJlbW92ZVRv
dWNoRXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50Ojp0b3VjaEV2ZW50SGFuZGxlckNvdW50KToKKyAgICAgICAgKERvY3Vt
ZW50KToKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1RvdWNo
RXZlbnRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OnRyeUFkZEV2ZW50TGlzdGVuZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6dHJ5UmVtb3ZlRXZlbnRMaXN0ZW5lcik6CisgICAgICAgICogbG9hZGVy
L0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlDaHJvbWVDbGllbnQ6Om51
bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQpOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50
Lmg6CisgICAgICAgIChDaHJvbWVDbGllbnQpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWU6Om5vdGlmeUNocm9tZUNsaWVudFdoZWVsRXZlbnRIYW5k
bGVyQ291bnRDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpub3RpZnlDaHJvbWVD
bGllbnRUb3VjaEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKiBwYWdlL0ZyYW1lLmg6CisgICAgICAgIChGcmFtZSk6CisKIDIwMTItMDItMTQg
IFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIElu
c3BlY3RvcjogTWFrZSBTY3JpcHRzTmF2aWdhdG9yIGRlZmF1bHQgZmlsZSBzZWxlY3Rvci4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYzZlZTgxMGNmZjkxZjhkNThlNWFhODQ0ZTAzM2Qw
ZWZkY2I2NDQzZC4uZTUxMmIyZjFhYmMzOGZlYWZiYzkyYTBiY2YxOGNmNTg0MGJmMzk1NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0wMi0xNCAgU2Fk
cnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90
aWZ5IENocm9tZUNsaWVudCB3aGVuIHRvdWNoLWV2ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQv
cmVtb3ZlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTc3NDQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgorCisgICAgICAgICog
cHVibGljL1dlYlZpZXdDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0NsaWVudDo6
bnVtYmVyT2ZUb3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKToKKyAgICAgICAgKiBzcmMvQ2hyb21l
Q2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6Om51bVRv
dWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBz
cmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50SW1wbCk6CisgICAg
ICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6
Om51bWJlck9mVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQpOgor
ICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorICAgICAgICAoV2ViVmlld0ltcGwpOgorCiAy
MDEyLTAyLTE0ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IE1ha2UgU2NyaXB0c05hdmlnYXRvciBkZWZhdWx0IGZpbGUgc2Vs
ZWN0b3IuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggM2Y4ZWRjMTJkMWFmN2FlMDBhNDZjMTJhYjE1NmNl
YzljYmJhZWI0MS4uZmQ2N2I2M2VmZTZlNTdhNjc2MmQ1YmNlZjAwYjc3NzNmMjVkNjE3MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAyLTE0ICBTYWRydWwgSGFiaWIg
Q2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBOb3RpZnkgQ2hyb21l
Q2xpZW50IHdoZW4gdG91Y2gtZXZlbnQgaGFuZGxlcnMgYXJlIGluc3RhbGxlZC9yZW1vdmVkLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRFZmwuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEVm
bDo6bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6CisKIDIwMTItMDItMTEgIE5pa29sYXMg
WmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgQ29udmVydCBzdmcv
YW5pbWF0aW9ucyB0byB1c2UgU01JTCBtZXRob2RzIGZvciBkcml2aW5nIHRoZSB0aW1lbGluZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCmluZGV4IGFkYzViZmJlNzJkZjgyNDQzMGY4NjM2Mjk1ZjU4ZDRjYTQyZjEz
MzkuLmE3Y2I1YWVlNzQ4NmZiM2NlYmEyYzBiNjUwMjE0NjkxODkwOWUwZWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0xNCAgU2FkcnVsIEhhYmliIENob3dkaHVy
eSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNsaWVudCB3
aGVuIHRvdWNoLWV2ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50R3RrLmg6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudDo6bnVtVG91Y2hF
dmVudEhhbmRsZXJzQ2hhbmdlZCk6CisKIDIwMTItMDItMTEgIE5pa29sYXMgWmltbWVybWFubiAg
PG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgQ29udmVydCBzdmcvYW5pbWF0aW9ucyB0
byB1c2UgU01JTCBtZXRob2RzIGZvciBkcml2aW5nIHRoZSB0aW1lbGluZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CmluZGV4IDMxNjY1MjNkM2M5NDE4NGNmYjM0YjQwMGY1NmIxOWFmMzlmNmMzNTYuLmJkMmE5NjZk
OWYzNGExNmZkZDk4MGNhZjM2NDk1ODgyMzY4YmVlNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wMi0xNCAgU2FkcnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1bEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNsaWVudCB3aGVuIHRvdWNoLWV2
ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gRmlzaGVyLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
Lmg6CisKIDIwMTItMDItMTQgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAK
ICAgICAgICAgW01hY11bV2luXVtXSzJdIFN3aXRjaCB0byBSRkMgNjQ1NSBwcm90b2NvbCBmb3Ig
V2ViU29ja2V0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCAyM2M1ZTc2YzBlNDY3OWM0YzM2YTA0MGU2ZTlk
ODUzOTU1YjEzNDExLi5mMTNkZTA4NzBlMzBmODRkN2M1NjM2YTFkZTdlOWEyYzBlMDcyZDMyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAyLTE0ICBTYWRydWwgSGFiaWIg
Q2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBOb3RpZnkgQ2hyb21l
Q2xpZW50IHdoZW4gdG91Y2gtZXZlbnQgaGFuZGxlcnMgYXJlIGluc3RhbGxlZC9yZW1vdmVkLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRRdC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6
Om51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQpOgorCiAyMDEyLTAyLTExICBOaWtvbGFzIFpp
bW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIENvbnZlcnQgc3ZnL2Fu
aW1hdGlvbnMgdG8gdXNlIFNNSUwgbWV0aG9kcyBmb3IgZHJpdmluZyB0aGUgdGltZWxpbmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZwppbmRleCAxMTlkYTE3ZmJjNGZlZmJlNTA5YTVkYTY4YjUxNDUyMjZkMTg1OGM3
Li5mN2RjYzEyM2RjMDY5NjZiNzdkNjk4NjMxOTMzMjQxZjAxOWNiMjc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMTQgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkg
IDxzYWRydWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hl
biB0b3VjaC1ldmVudCBoYW5kbGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEZpc2hlci4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpudW1Ub3VjaEV2ZW50SGFu
ZGxlcnNDaGFuZ2VkKToKKwogMjAxMi0wMi0xNCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTWFjXVtXaW5dW1dLMl0gU3dpdGNoIHRvIFJGQyA2NDU1IHBy
b3RvY29sIGZvciBXZWJTb2NrZXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCmluZGV4IDZkMmE3ZTY0N2Iy
ZTBhZTA5YjdmNzZjYzA2NzI2Nzg1OTNmOTIxMzEuLmI5YTA2ZTI5NGI5ZDE0Y2VmYmU1ODc4NGUx
YzRiMmFmZGRjOGFhYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTItMDItMTQgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5kbGVycyBh
cmUgaW5zdGFsbGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4K
KworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmg6CisgICAgICAg
IChXZWJLaXQ6OkNocm9tZUNsaWVudFdpbkNFOjpudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2Vk
KToKKwogMjAxMS0xMi0xOSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAg
IE1vcmUgUGxhdGZvcm1FdmVudCBjbGVhbnVwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCmluZGV4IGI0NWIzNTAwNTAw
NTE5NzUwOTEzNGNlNDRjNWU5MWIzNjE4ZWQ1YzcuLjc4ZDY3YTQyYjBmMGE2Y2E5OTc5YWQyNzk4
YWZhODQxMDVmZTc2MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDIt
MTQgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5kbGVycyBhcmUgaW5z
dGFsbGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KKworICAg
ICAgICAqIFdlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaDoKKyAgICAgICAgKFdlYkNvcmU6
OkNocm9tZUNsaWVudFd4OjpudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKToKKwogMjAxMi0w
MS0zMCAgS2V2aW4gT2xsaXZpZXIgIDxrZXZpbm9AdGhlb2xsaXZpZXJzLmNvbT4KIAogICAgICAg
ICBbd3hdIFVucmV2aWV3ZWQuIEJ1aWxkIGZpeCwgYWRkIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBiZGE1NmVhN2FhMmFmN2E5Y2I5OTZlOWQ3NTAyN2E0YzFmOThiYTcwLi5k
NmIwMTNiNTJmYzkwYzcwNzNlNTI1NzY2YjZlOTQ3MjFjOGQzYzYxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTItMDItMTQgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3VjaC1l
dmVudCBoYW5kbGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEZpc2hlci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2Vk
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
OgorCiAyMDEyLTAyLTE0ICBObydhbSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5j
b20+CiAKICAgICAgICAgW1F0XVtUZXhtYXBdIFJlZmFjdG9yIGJhY2tpbmctc3RvcmUgY29kZSBp
biBUZXh0dXJlTWFwcGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAzMGJmNWJmY2IxY2Yx
NjJjNWVhM2I2M2FmNmQzNDU0OTkyYWE5N2NlLi44ZjRhZWMxNTk0OTkxZmVkNjhhMzA1MGQzMGVk
YzBhMmMxOTYxYTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQzNyw2ICs0MzcsNyBA
QCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wg
aXNYSFRNTCwgYm9vbCBpc0hUTUwpCiAgICAgLCBtX3dyaXRlUmVjdXJzaW9uSXNUb29EZWVwKGZh
bHNlKQogICAgICwgbV93cml0ZVJlY3Vyc2lvbkRlcHRoKDApCiAgICAgLCBtX3doZWVsRXZlbnRI
YW5kbGVyQ291bnQoMCkKKyAgICAsIG1fdG91Y2hFdmVudEhhbmRsZXJDb3VudCgwKQogICAgICwg
bV9wZW5kaW5nVGFza3NUaW1lcih0aGlzLCAmRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmly
ZWQpCiB7CiAgICAgbV9kb2N1bWVudCA9IHRoaXM7CkBAIC01NDEwLDYgKzU0MTEsMjMgQEAgdm9p
ZCBEb2N1bWVudDo6ZGlkUmVtb3ZlV2hlZWxFdmVudEhhbmRsZXIoKQogICAgIHdoZWVsRXZlbnRI
YW5kbGVyQ291bnRDaGFuZ2VkKHRoaXMpOwogfQogCit2b2lkIERvY3VtZW50OjpkaWRBZGRUb3Vj
aEV2ZW50SGFuZGxlcigpCit7CisgICAgKyttX3RvdWNoRXZlbnRIYW5kbGVyQ291bnQ7CisgICAg
RnJhbWUqIG1haW5GcmFtZSA9IHBhZ2UoKSA/IHBhZ2UoKS0+bWFpbkZyYW1lKCkgOiAwOworICAg
IGlmIChtYWluRnJhbWUpCisgICAgICAgIG1haW5GcmFtZS0+bm90aWZ5Q2hyb21lQ2xpZW50VG91
Y2hFdmVudEhhbmRsZXJDb3VudENoYW5nZWQoKTsKK30KKwordm9pZCBEb2N1bWVudDo6ZGlkUmVt
b3ZlVG91Y2hFdmVudEhhbmRsZXIoKQoreworICAgIEFTU0VSVChtX3RvdWNoRXZlbnRIYW5kbGVy
Q291bnQgPiAwKTsKKyAgICAtLW1fdG91Y2hFdmVudEhhbmRsZXJDb3VudDsKKyAgICBGcmFtZSog
bWFpbkZyYW1lID0gcGFnZSgpID8gcGFnZSgpLT5tYWluRnJhbWUoKSA6IDA7CisgICAgaWYgKG1h
aW5GcmFtZSkKKyAgICAgICAgbWFpbkZyYW1lLT5ub3RpZnlDaHJvbWVDbGllbnRUb3VjaEV2ZW50
SGFuZGxlckNvdW50Q2hhbmdlZCgpOworfQorCiBib29sIERvY3VtZW50Ojp2aXN1YWxVcGRhdGVz
QWxsb3dlZCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuICFzZXR0aW5ncygpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCmluZGV4IGE0YmRhZDY4NWNjMzRkY2UyZGIwNmM2MjA3OWNiZGM5ZjUxNGNlYzIuLjk3YThk
NWVlODQzM2NhMGM0YTgwMzNkMTRmNjY0ODkzOGVkOGIwNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
CkBAIC0xMTEzLDYgKzExMTMsMTAgQEAgcHVibGljOgogICAgIHZvaWQgZGlkQWRkV2hlZWxFdmVu
dEhhbmRsZXIoKTsKICAgICB2b2lkIGRpZFJlbW92ZVdoZWVsRXZlbnRIYW5kbGVyKCk7CiAKKyAg
ICB1bnNpZ25lZCB0b3VjaEV2ZW50SGFuZGxlckNvdW50KCkgY29uc3QgeyByZXR1cm4gbV90b3Vj
aEV2ZW50SGFuZGxlckNvdW50OyB9CisgICAgdm9pZCBkaWRBZGRUb3VjaEV2ZW50SGFuZGxlcigp
OworICAgIHZvaWQgZGlkUmVtb3ZlVG91Y2hFdmVudEhhbmRsZXIoKTsKKwogICAgIGJvb2wgdmlz
dWFsVXBkYXRlc0FsbG93ZWQoKSBjb25zdDsKIAogI2lmIEVOQUJMRShNSUNST0RBVEEpCkBAIC0x
NDQ5LDYgKzE0NTMsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fd3JpdGVSZWN1cnNpb25E
ZXB0aDsKICAgICAKICAgICB1bnNpZ25lZCBtX3doZWVsRXZlbnRIYW5kbGVyQ291bnQ7CisgICAg
dW5zaWduZWQgbV90b3VjaEV2ZW50SGFuZGxlckNvdW50OwogCiAjaWYgRU5BQkxFKFJFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKQogICAgIFJlZlB0cjxTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI+
IG1fc2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDNkOWFj
M2U1YjBhMWEyMTI3NzRiMmYyZTlmNTBmYjhjYTZiYmMwMGQuLmE0MDFkOWNhN2M2NWZlN2JjMjVm
Y2YyZWRlZmNkODY0ODgzNTIyM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTI0NzksNiArMjQ3OSwx
MSBAQCBzdGF0aWMgaW5saW5lIEhhc2hTZXQ8U1ZHRWxlbWVudEluc3RhbmNlKj4gaW5zdGFuY2Vz
Rm9yU1ZHRWxlbWVudChOb2RlKiBub2RlKQogfQogI2VuZGlmCiAKK3N0YXRpYyBpbmxpbmUgYm9v
bCBpc1RvdWNoRXZlbnRUeXBlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKQoreworICAg
IHJldHVybiBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoc3RhcnRFdmVudCB8fCBldmVu
dFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNobW92ZUV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVu
dE5hbWVzKCkudG91Y2hlbmRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNo
Y2FuY2VsRXZlbnQ7Cit9CisKIHN0YXRpYyBpbmxpbmUgYm9vbCB0cnlBZGRFdmVudExpc3RlbmVy
KE5vZGUqIHRhcmdldE5vZGUsIGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVm
UHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyLCBib29sIHVzZUNhcHR1cmUpCiB7CiAgICAgaWYg
KCF0YXJnZXROb2RlLT5FdmVudFRhcmdldDo6YWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxp
c3RlbmVyLCB1c2VDYXB0dXJlKSkKQEAgLTI0ODgsNiArMjQ5Myw4IEBAIHN0YXRpYyBpbmxpbmUg
Ym9vbCB0cnlBZGRFdmVudExpc3RlbmVyKE5vZGUqIHRhcmdldE5vZGUsIGNvbnN0IEF0b21pY1N0
cmluZyYgZXZlCiAgICAgICAgIGRvY3VtZW50LT5hZGRMaXN0ZW5lclR5cGVJZk5lZWRlZChldmVu
dFR5cGUpOwogICAgICAgICBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5tb3VzZXdoZWVs
RXZlbnQpCiAgICAgICAgICAgICBkb2N1bWVudC0+ZGlkQWRkV2hlZWxFdmVudEhhbmRsZXIoKTsK
KyAgICAgICAgZWxzZSBpZiAoaXNUb3VjaEV2ZW50VHlwZShldmVudFR5cGUpKQorICAgICAgICAg
ICAgZG9jdW1lbnQtPmRpZEFkZFRvdWNoRXZlbnRIYW5kbGVyKCk7CiAgICAgfQogICAgICAgICAK
ICAgICByZXR1cm4gdHJ1ZTsKQEAgLTI1MzcsNiArMjU0NCw4IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCB0cnlSZW1vdmVFdmVudExpc3RlbmVyKE5vZGUqIHRhcmdldE5vZGUsIGNvbnN0IEF0b21pY1N0
cmluZyYKICAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gdGFyZ2V0Tm9kZS0+ZG9jdW1lbnQo
KSkgewogICAgICAgICBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5tb3VzZXdoZWVsRXZl
bnQpCiAgICAgICAgICAgICBkb2N1bWVudC0+ZGlkUmVtb3ZlV2hlZWxFdmVudEhhbmRsZXIoKTsK
KyAgICAgICAgZWxzZSBpZiAoaXNUb3VjaEV2ZW50VHlwZShldmVudFR5cGUpKQorICAgICAgICAg
ICAgZG9jdW1lbnQtPmRpZFJlbW92ZVRvdWNoRXZlbnRIYW5kbGVyKCk7CiAgICAgfQogICAgIAog
ICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IDJl
YjI0YTMyYjU5MzM5MDYwNDYxNmY1ODM2MDg5ZjlkMWY0MmIxN2QuLmEyNjQxZjc1MTg5NzcxZjUy
MzM3MTlkYzExNGZhZjU1ZGU4Y2I4ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmgKQEAgLTIzMyw3ICsyMzMsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIG5lZWRUb3Vj
aEV2ZW50cyhib29sKSB7IH0KICNlbmRpZgogICAgIAotICAgIHZpcnR1YWwgdm9pZCBudW1XaGVl
bEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVt
V2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgT1ZFUlJJREUgeyB9CisgICAgdmly
dHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIE9WRVJSSURF
IHsgfQogICAgIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24o
V2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDQ4NjYyNWE5OGQyMGUxYzAzZDUxNWViMjI0
NDJkMzgxNDJmODEzMDcuLjMzYjFjNGI4NzE0OTA4M2JjNjhlYTc5Yjc5ZmYxNDJlY2RkNTllNDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMzI1LDYgKzMyNSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1bk1vZGFsRGlhbG9n
RHVyaW5nUGFnZURpc21pc3NhbChjb25zdCBEaWFsb2dUeXBlJiwgY29uc3QgU3RyaW5nJiBkaWFs
b2dNZXNzYWdlLCBGcmFtZUxvYWRlcjo6UGFnZURpc21pc3NhbFR5cGUpIGNvbnN0IHsgVU5VU0VE
X1BBUkFNKGRpYWxvZ01lc3NhZ2UpOyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgICAgIHZpcnR1YWwg
dm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSA9IDA7CisgICAgICAg
IHZpcnR1YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSA9IDA7
CiAgICAgICAgIAogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNTVkdJbWFnZUNocm9tZUNsaWVudCgp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKaW5kZXggY2E5Y2M5
YWZlNGUxNTRjZTJiOTIxNjFjNjE3MjFhMjcxMWRlYjUyOC4uNTc1ZTczNjYyMGJlYTVkOGEyN2Nh
MmE2ZTkwNGYyOWY4Mjk1ZTYwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKQEAgLTI5Myw4ICsyOTMs
MTAgQEAgdm9pZCBGcmFtZTo6c2V0RG9jdW1lbnQoUGFzc1JlZlB0cjxEb2N1bWVudD4gbmV3RG9j
KQogICAgIGlmIChtX2RvYykKICAgICAgICAgbV9kb2MtPnVwZGF0ZVZpZXdwb3J0QXJndW1lbnRz
KCk7CiAKLSAgICBpZiAobV9wYWdlICYmIG1fcGFnZS0+bWFpbkZyYW1lKCkgPT0gdGhpcykKKyAg
ICBpZiAobV9wYWdlICYmIG1fcGFnZS0+bWFpbkZyYW1lKCkgPT0gdGhpcykgewogICAgICAgICBu
b3RpZnlDaHJvbWVDbGllbnRXaGVlbEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCgpOworICAgICAg
ICBub3RpZnlDaHJvbWVDbGllbnRUb3VjaEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCgpOworICAg
IH0KIH0KIAogI2lmIEVOQUJMRShPUklFTlRBVElPTl9FVkVOVFMpCkBAIC0xMDIwLDE2ICsxMDIy
LDMwIEBAIHZvaWQgRnJhbWU6Om5vdGlmeUNocm9tZUNsaWVudFdoZWVsRXZlbnRIYW5kbGVyQ291
bnRDaGFuZ2VkKCkgY29uc3QKIHsKICAgICAvLyBFbnN1cmUgdGhhdCB0aGlzIG1ldGhvZCBpcyBi
ZWluZyBjYWxsZWQgb24gdGhlIG1haW4gZnJhbWUgb2YgdGhlIHBhZ2UuCiAgICAgQVNTRVJUKG1f
cGFnZSAmJiBtX3BhZ2UtPm1haW5GcmFtZSgpID09IHRoaXMpOwotICAgIAorCiAgICAgdW5zaWdu
ZWQgY291bnQgPSAwOwogICAgIGZvciAoY29uc3QgRnJhbWUqIGZyYW1lID0gdGhpczsgZnJhbWU7
IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpIHsKICAgICAgICAgaWYgKGZy
YW1lLT5kb2N1bWVudCgpKQogICAgICAgICAgICAgY291bnQgKz0gZnJhbWUtPmRvY3VtZW50KCkt
PndoZWVsRXZlbnRIYW5kbGVyQ291bnQoKTsKICAgICB9Ci0gICAgCisKICAgICBtX3BhZ2UtPmNo
cm9tZSgpLT5jbGllbnQoKS0+bnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZChjb3VudCk7CiB9
CiAKK3ZvaWQgRnJhbWU6Om5vdGlmeUNocm9tZUNsaWVudFRvdWNoRXZlbnRIYW5kbGVyQ291bnRD
aGFuZ2VkKCkgY29uc3QKK3sKKyAgICAvLyBFbnN1cmUgdGhhdCB0aGlzIG1ldGhvZCBpcyBiZWlu
ZyBjYWxsZWQgb24gdGhlIG1haW4gZnJhbWUgb2YgdGhlIHBhZ2UuCisgICAgQVNTRVJUKG1fcGFn
ZSAmJiBtX3BhZ2UtPm1haW5GcmFtZSgpID09IHRoaXMpOworCisgICAgdW5zaWduZWQgY291bnQg
PSAwOworICAgIGZvciAoY29uc3QgRnJhbWUqIGZyYW1lID0gdGhpczsgZnJhbWU7IGZyYW1lID0g
ZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpIHsKKyAgICAgICAgaWYgKGZyYW1lLT5kb2N1
bWVudCgpKQorICAgICAgICAgICAgY291bnQgKz0gZnJhbWUtPmRvY3VtZW50KCktPnRvdWNoRXZl
bnRIYW5kbGVyQ291bnQoKTsKKyAgICB9CisKKyAgICBtX3BhZ2UtPmNocm9tZSgpLT5jbGllbnQo
KS0+bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZChjb3VudCk7Cit9CisKICNpZiAhUExBVEZP
Uk0oTUFDKSAmJiAhUExBVEZPUk0oV0lOKQogc3RydWN0IFNjb3BlZEZyYW1lUGFpbnRpbmdTdGF0
ZSB7CiAgICAgU2NvcGVkRnJhbWVQYWludGluZ1N0YXRlKEZyYW1lKiB0aGVGcmFtZSwgUmVuZGVy
T2JqZWN0KiB0aGVSZW5kZXJlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAppbmRleCAxOGRhNWYzNmFiNTJiNzE5
YTg0OTZiZjhlNmZjODJmMTk1ZGIwMzJlLi5hN2FjNjE5ZjMyMjgzZTQzMGM2MTBlZTNhYmVjNjU0
ZTNmNGRhODVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCkBAIC0xOTUsNiArMTk1LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgICAgIC8vIFNob3VsZCBvbmx5IGJlIGNhbGxlZCBvbiB0aGUgbWFp
biBmcmFtZSBvZiBhIHBhZ2UuCiAgICAgICAgIHZvaWQgbm90aWZ5Q2hyb21lQ2xpZW50V2hlZWxF
dmVudEhhbmRsZXJDb3VudENoYW5nZWQoKSBjb25zdDsKKyAgICAgICAgdm9pZCBub3RpZnlDaHJv
bWVDbGllbnRUb3VjaEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCgpIGNvbnN0OwogCiAgICAgLy8g
PT09PT09PT0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
Vmlld0NsaWVudC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVu
dC5oCmluZGV4IDFiNDJhNDhhOGZhOWFhMDkxZjdjOTA3NjhlNDAxNTQ5N2I0OTQzZWYuLmI2NTZm
ZDVhZGU2OGE3NTdkYTQ5NTE1MDgzZWMwNDFkNDdkNmE4MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgKQEAgLTI2Myw2ICsyNjMsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIGZvY3VzZWROb2RlQ2hhbmdlZChjb25zdCBXZWJOb2RlJikg
eyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgbnVtYmVyT2ZXaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2Vk
KHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVtYmVyT2ZUb3VjaEV2ZW50SGFuZGxl
cnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KIAogICAgIC8vIEluZGljYXRlcyB0d28gdGhpbmdzOgog
ICAgIC8vICAgMSkgVGhpcyB2aWV3IG1heSBoYXZlIGEgbmV3IGxheW91dCBub3cuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCmluZGV4IGZiMDdi
NGMxMDNmYjI3OWEyNGM0ZjE2NzhlYjU5ODhmMzIxNzNiYTYuLjQ1YTgxMzg1OTQ0Y2U4YWJkYmM3
YmI5OTRhZWIzY2M5ZGYyMjQwYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0Nocm9tZUNsaWVudEltcGwuY3BwCkBAIC0xMDE4LDYgKzEwMTgsMTEgQEAgdm9pZCBDaHJvbWVD
bGllbnRJbXBsOjpudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkIG51bWJlck9m
V2hlZWxIYW5kbGUKICAgICBtX3dlYlZpZXctPm51bWJlck9mV2hlZWxFdmVudEhhbmRsZXJzQ2hh
bmdlZChudW1iZXJPZldoZWVsSGFuZGxlcnMpOwogfQogCit2b2lkIENocm9tZUNsaWVudEltcGw6
Om51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQgbnVtYmVyT2ZUb3VjaEhhbmRs
ZXJzKQoreworICAgIG1fd2ViVmlldy0+bnVtYmVyT2ZUb3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2Vk
KG51bWJlck9mVG91Y2hIYW5kbGVycyk7Cit9CisKICNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQog
Ym9vbCBDaHJvbWVDbGllbnRJbXBsOjpyZXF1ZXN0UG9pbnRlckxvY2soKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCmluZGV4IDhmZDI0ODhkOWVl
NjYxMGZlMTM4NThiOGVjOWU1NTgwYzc1NDA1MjguLjIzZTAyZmYzZDk5NTA0ZmMyOTk4MmYzNzEx
NjM1NmExMDA1NDk3NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0No
cm9tZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVD
bGllbnRJbXBsLmgKQEAgLTIwNCw2ICsyMDQsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJv
b2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbikg
Y29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5z
aWduZWQpOworICAgIHZpcnR1YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVu
c2lnbmVkKTsKIAogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiAgICAgdmlydHVhbCBib29sIHJl
cXVlc3RQb2ludGVyTG9jaygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0lt
cGwuY3BwCmluZGV4IDU1YjlhMWRhY2Y0YTk5ZDJlNzc4ZTc5NzJkZDQwYzNjMDlmMmE4OTYuLmM3
MzYxMGIzYzFlMjI4ZThmNGMyZjUzZWU3ZDBhODBkNTVhYTg0ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTgxMiw2ICs4MTIsMTIgQEAgdm9pZCBX
ZWJWaWV3SW1wbDo6bnVtYmVyT2ZXaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkIG51
bWJlck9mV2hlZWxIYW5kbGUKICNlbmRpZgogfQogCit2b2lkIFdlYlZpZXdJbXBsOjpudW1iZXJP
ZlRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQgbnVtYmVyT2ZUb3VjaEhhbmRsZXJz
KQoreworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPm51bWJlck9mVG91Y2hF
dmVudEhhbmRsZXJzQ2hhbmdlZChudW1iZXJPZlRvdWNoSGFuZGxlcnMpOworfQorCiAjaWYgIU9T
KERBUldJTikKIC8vIE1hYyBoYXMgbm8gd2F5IHRvIG9wZW4gYSBjb250ZXh0IG1lbnUgYmFzZWQg
b24gYSBrZXlib2FyZCBldmVudC4KIGJvb2wgV2ViVmlld0ltcGw6OnNlbmRDb250ZXh0TWVudUV2
ZW50KGNvbnN0IFdlYktleWJvYXJkRXZlbnQmIGV2ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggMTk3ZjU4MmU0ZTllZDBjNTJhNjg4YTExZmZlMWUwNTMw
OWZiNGM2Zi4uZDQyYjJjYmRkZmYxZDUzZjNiOTI1YzkzODIzMTVlNTQ5NTA4NGNiOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC0zMjIsNiArMzIyLDcgQEAg
cHVibGljOgogICAgIGJvb2wgdG91Y2hFdmVudChjb25zdCBXZWJUb3VjaEV2ZW50Jik7CiAKICAg
ICB2b2lkIG51bWJlck9mV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCk7CisgICAg
dm9pZCBudW1iZXJPZlRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpOwogCiAgICAg
Ly8gSGFuZGxlcyBjb250ZXh0IG1lbnUgZXZlbnRzIG9yaWduYXRlZCB2aWEgdGhlIHRoZSBrZXli
b2FyZC4gVGhlc2UKICAgICAvLyBpbmNsdWRlIHRoZSBWS19BUFBTIHZpcnR1YWwga2V5IGFuZCB0
aGUgU2hpZnQrRjEwIGNvbWJpbmUuIENvZGUgaXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXggNGI0N2M3MzFjZDZiN2FkOTc5
MjVkYzE5NzZhOGE2NTM4MDMzOWY5NC4uODI1MTIyNTFmNmE0NDBlYTU5MzMwMTNlMTE4ZGYzYzAw
MjRjNzlmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50RWZsLmgKQEAgLTE3Myw2ICsxNzMsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlv
bikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50
SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hF
dmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAKICAgICBFdmFzX09iamVjdCogbV92
aWV3OwogICAgIEtVUkwgbV9ob3ZlcmVkTGlua1VSTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oIGIvU291cmNlL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKaW5kZXggNWQzMDgyZGM1NjRhMjQ1
YjUyNjMxMmFjYjhmYTA2YmU5MTU2ZjI3Yi4uOWQyMTA1ZDZkZjdmYzQwZGJlOTcwYzUxYzE4NzBm
NWQ5MTA5ZmFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50R3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50R3RrLmgKQEAgLTE1OSw2ICsxNTksNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFNjcm9s
bERpcmVjdGlvbikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQg
bnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CisgICAgICAgIHZpcnR1
YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KIAogI2lm
IFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgCiAgICAgICAgIHZpcnR1YWwgdm9pZCBhdHRh
Y2hSb290R3JhcGhpY3NMYXllcihGcmFtZSosIEdyYXBoaWNzTGF5ZXIqKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggNDhm
ZjA5YmJhNjgxOTY3ZjdjNjI3NjY3MzQ2NDU5NDRhNTRlYjJmNC4uNjZmYTA2MGI1YTUzZGJjMmYz
OGVlYTZmNTQ1MmQ3NmRhNmJiMWY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTE4OSw2ICsxODksNyBAQCBwdWJsaWM6
CiAjZW5kaWYKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hh
bmdlZCh1bnNpZ25lZCkgT1ZFUlJJREUgeyB9CisgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZl
bnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIE9WRVJSSURFIHsgfQogICAgIHZpcnR1YWwgYm9v
bCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uKSBj
b25zdCBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQogcHJpdmF0ZToKICAgICBXZWJWaWV3ICpt
X3dlYlZpZXc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFF0LmgKaW5kZXggNmE1NzZkOTZkYWM0NmFmZTM3NGM3MGJlYWMxYjZiOTRlMzYyM2E5Yy4u
M2Q0NWI3YjUxYTJlMzIwMDQ0ZTY0MDFmNzA4YmIyYzA4ZjM3NTVjNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaApAQCAtMTkyLDYgKzE5
Miw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJl
Y3Rpb24oV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAg
ICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVk
KSB7IH0KIAogICAgIFFXZWJQYWdlKiBtX3dlYlBhZ2U7CiAgICAgS1VSTCBsYXN0SG92ZXJVUkw7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oCmluZGV4IGI2YWViMWNmNzFlNjNlYjg2ZWMzYmFlZTAxNGI5NTVlODk5OTIzOWEuLjJhOWE4
ZmU3ZjNkNGY0NTNmZTRhYjFmMGVkY2I5ZGQzOWZhYWJjOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xNzcsNiArMTc3
LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVj
dGlvbihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9
CisgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQp
IHsgfQogCiBwcml2YXRlOgogICAgIENPTVB0cjxJV2ViVUlEZWxlZ2F0ZT4gdWlEZWxlZ2F0ZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRXaW5DRS5oIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRXaW5DRS5oCmluZGV4IDAwNmUwMTBmOGQyNzgyNjlmZGU3NmYzNWU2ZWIyYWM3NDQ5ODM2
NTYuLjYxMzc4M2EwMzNlNTlhY2E5MWQ5ODQ1MzYwMDA2NDkwNWMyMDYyMTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNF
LmgKQEAgLTE3Nyw2ICsxNzcsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxk
UnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbikgY29uc3QgeyBy
ZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFu
Z2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJz
Q2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAKIHByaXZhdGU6CiAgICAgV2ViVmlldyogbV93ZWJWaWV3
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVu
dFd4LmggYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaApp
bmRleCBkY2QxNjRmMzRiNmZlNDFjN2FjYjFhZmVjMjllZmEyNjgyYzg4Yjc1Li4yYjZjZGVmNjEy
Y2FmY2Q0ZjI1MDEzNDUxNjhkYTNjZTcwNTg4NTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaAorKysgYi9Tb3VyY2UvV2ViS2l0L3d4
L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaApAQCAtMTUxLDYgKzE1MSw3IEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oV2ViQ29y
ZTo6U2Nyb2xsRGlyZWN0aW9uKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2
b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQorICAgIHZpcnR1
YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KICAgICAK
ICAgICB2aXJ0dWFsIGJvb2wgaGFzT3BlbmVkUG9wdXAoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmgKaW5kZXggZGQ2OGUxZjliZGQzMzk5MjIxNTJlYzNlMGE1ZWEzNGEwNTFhOGVjNi4uOTc2
MWMxNTRhMWU5NDQyZjIzMzYxOTE0Y2NhNzU5ZDRhOTNkNDI2MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oCkBAIC0yMjAsNiArMjIwLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxk
UnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbikgY29uc3QgT1ZF
UlJJREU7CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5n
ZWQodW5zaWduZWQpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFu
ZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSBPVkVSUklERSB7IH0KIAogICAgIFN0cmluZyBtX2NhY2hl
ZFRvb2xUaXA7CiAgICAgbXV0YWJsZSBSZWZQdHI8V2ViRnJhbWU+IG1fY2FjaGVkRnJhbWVTZXRM
YXJnZXN0RnJhbWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127194</attachid>
            <date>2012-02-15 10:22:54 -0800</date>
            <delta_ts>2012-02-15 10:29:41 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-77440-20120215132253.patch</filename>
            <type>text/plain</type>
            <size>24466</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRlN2Q3YWFhYzdlMTk5
YmNhNGY2ZGE3NzNmMDZiNjg0Yzk4ZjVlMC4uOTYxOGVhOTRhYmJmZTVhYjgwOWFlYjYyYjRmNjc1
MDk2NTBmY2ExMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTAyLTE0ICBTYWRy
dWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBOb3Rp
ZnkgQ2hyb21lQ2xpZW50IHdoZW4gdG91Y2gtZXZlbnQgaGFuZGxlcnMgYXJlIGluc3RhbGxlZC9y
ZW1vdmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Nzc0NDAKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCisKKyAgICAgICAgS2Vl
cCBhIGNvdW50IG9mIHRoZSBudW1iZXIgb2YgdG91Y2gtZXZlbnQgaGFuZGxlcnMgYW5kIG5vdGlm
eSB0aGUKKyAgICAgICAgZW1iZWRkZXIgd2hlbiB0aGUgY291bnQgY2hhbmdlcy4gRGVwZW5kaW5n
IG9uIHRoZSBjb3VudCwgdGhlIGVtYmVkZGVyCisgICAgICAgIGNhbiBkZWNpZGUgd2hldGhlciBv
ciBub3QgdG8gZGlzcGF0Y2ggdG91Y2ggZXZlbnRzIHRvIHdlYmtpdC4KKworICAgICAgICAqIGRv
bS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZEFkZFRvdWNoRXZlbnRIYW5kbGVyKToKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZFJlbW92ZVRv
dWNoRXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50Ojp0b3VjaEV2ZW50SGFuZGxlckNvdW50KToKKyAgICAgICAgKERvY3Vt
ZW50KToKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1RvdWNo
RXZlbnRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OnRyeUFkZEV2ZW50TGlzdGVuZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6dHJ5UmVtb3ZlRXZlbnRMaXN0ZW5lcik6CisgICAgICAgICogbG9hZGVy
L0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlDaHJvbWVDbGllbnQ6Om51
bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQpOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50
Lmg6CisgICAgICAgIChDaHJvbWVDbGllbnQpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWU6Om5vdGlmeUNocm9tZUNsaWVudFdoZWVsRXZlbnRIYW5k
bGVyQ291bnRDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpub3RpZnlDaHJvbWVD
bGllbnRUb3VjaEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKiBwYWdlL0ZyYW1lLmg6CisgICAgICAgIChGcmFtZSk6CisKIDIwMTItMDItMTQg
IFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIElu
c3BlY3RvcjogTWFrZSBTY3JpcHRzTmF2aWdhdG9yIGRlZmF1bHQgZmlsZSBzZWxlY3Rvci4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYzZlZTgxMGNmZjkxZjhkNThlNWFhODQ0ZTAzM2Qw
ZWZkY2I2NDQzZC4uZTUxMmIyZjFhYmMzOGZlYWZiYzkyYTBiY2YxOGNmNTg0MGJmMzk1NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0wMi0xNCAgU2Fk
cnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90
aWZ5IENocm9tZUNsaWVudCB3aGVuIHRvdWNoLWV2ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQv
cmVtb3ZlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTc3NDQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgorCisgICAgICAgICog
cHVibGljL1dlYlZpZXdDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0NsaWVudDo6
bnVtYmVyT2ZUb3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKToKKyAgICAgICAgKiBzcmMvQ2hyb21l
Q2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6Om51bVRv
dWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBz
cmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50SW1wbCk6CisgICAg
ICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6
Om51bWJlck9mVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQpOgor
ICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorICAgICAgICAoV2ViVmlld0ltcGwpOgorCiAy
MDEyLTAyLTE0ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IE1ha2UgU2NyaXB0c05hdmlnYXRvciBkZWZhdWx0IGZpbGUgc2Vs
ZWN0b3IuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggM2Y4ZWRjMTJkMWFmN2FlMDBhNDZjMTJhYjE1NmNl
YzljYmJhZWI0MS4uZmQ2N2I2M2VmZTZlNTdhNjc2MmQ1YmNlZjAwYjc3NzNmMjVkNjE3MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAyLTE0ICBTYWRydWwgSGFiaWIg
Q2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBOb3RpZnkgQ2hyb21l
Q2xpZW50IHdoZW4gdG91Y2gtZXZlbnQgaGFuZGxlcnMgYXJlIGluc3RhbGxlZC9yZW1vdmVkLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRFZmwuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEVm
bDo6bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6CisKIDIwMTItMDItMTEgIE5pa29sYXMg
WmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgQ29udmVydCBzdmcv
YW5pbWF0aW9ucyB0byB1c2UgU01JTCBtZXRob2RzIGZvciBkcml2aW5nIHRoZSB0aW1lbGluZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCmluZGV4IGFkYzViZmJlNzJkZjgyNDQzMGY4NjM2Mjk1ZjU4ZDRjYTQyZjEz
MzkuLmE3Y2I1YWVlNzQ4NmZiM2NlYmEyYzBiNjUwMjE0NjkxODkwOWUwZWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0xNCAgU2FkcnVsIEhhYmliIENob3dkaHVy
eSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNsaWVudCB3
aGVuIHRvdWNoLWV2ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50R3RrLmg6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudDo6bnVtVG91Y2hF
dmVudEhhbmRsZXJzQ2hhbmdlZCk6CisKIDIwMTItMDItMTEgIE5pa29sYXMgWmltbWVybWFubiAg
PG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgQ29udmVydCBzdmcvYW5pbWF0aW9ucyB0
byB1c2UgU01JTCBtZXRob2RzIGZvciBkcml2aW5nIHRoZSB0aW1lbGluZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CmluZGV4IDMxNjY1MjNkM2M5NDE4NGNmYjM0YjQwMGY1NmIxOWFmMzlmNmMzNTYuLmJkMmE5NjZk
OWYzNGExNmZkZDk4MGNhZjM2NDk1ODgyMzY4YmVlNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wMi0xNCAgU2FkcnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1bEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNsaWVudCB3aGVuIHRvdWNoLWV2
ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gRmlzaGVyLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
Lmg6CisKIDIwMTItMDItMTQgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAK
ICAgICAgICAgW01hY11bV2luXVtXSzJdIFN3aXRjaCB0byBSRkMgNjQ1NSBwcm90b2NvbCBmb3Ig
V2ViU29ja2V0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCAyM2M1ZTc2YzBlNDY3OWM0YzM2YTA0MGU2ZTlk
ODUzOTU1YjEzNDExLi5mMTNkZTA4NzBlMzBmODRkN2M1NjM2YTFkZTdlOWEyYzBlMDcyZDMyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAyLTE0ICBTYWRydWwgSGFiaWIg
Q2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBOb3RpZnkgQ2hyb21l
Q2xpZW50IHdoZW4gdG91Y2gtZXZlbnQgaGFuZGxlcnMgYXJlIGluc3RhbGxlZC9yZW1vdmVkLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRRdC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6
Om51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQpOgorCiAyMDEyLTAyLTExICBOaWtvbGFzIFpp
bW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIENvbnZlcnQgc3ZnL2Fu
aW1hdGlvbnMgdG8gdXNlIFNNSUwgbWV0aG9kcyBmb3IgZHJpdmluZyB0aGUgdGltZWxpbmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZwppbmRleCAxMTlkYTE3ZmJjNGZlZmJlNTA5YTVkYTY4YjUxNDUyMjZkMTg1OGM3
Li5mN2RjYzEyM2RjMDY5NjZiNzdkNjk4NjMxOTMzMjQxZjAxOWNiMjc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMTQgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkg
IDxzYWRydWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hl
biB0b3VjaC1ldmVudCBoYW5kbGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEZpc2hlci4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpudW1Ub3VjaEV2ZW50SGFu
ZGxlcnNDaGFuZ2VkKToKKwogMjAxMi0wMi0xNCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTWFjXVtXaW5dW1dLMl0gU3dpdGNoIHRvIFJGQyA2NDU1IHBy
b3RvY29sIGZvciBXZWJTb2NrZXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCmluZGV4IDZkMmE3ZTY0N2Iy
ZTBhZTA5YjdmNzZjYzA2NzI2Nzg1OTNmOTIxMzEuLmI5YTA2ZTI5NGI5ZDE0Y2VmYmU1ODc4NGUx
YzRiMmFmZGRjOGFhYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTItMDItMTQgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5kbGVycyBh
cmUgaW5zdGFsbGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4K
KworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmg6CisgICAgICAg
IChXZWJLaXQ6OkNocm9tZUNsaWVudFdpbkNFOjpudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2Vk
KToKKwogMjAxMS0xMi0xOSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAg
IE1vcmUgUGxhdGZvcm1FdmVudCBjbGVhbnVwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCmluZGV4IGI0NWIzNTAwNTAw
NTE5NzUwOTEzNGNlNDRjNWU5MWIzNjE4ZWQ1YzcuLjc4ZDY3YTQyYjBmMGE2Y2E5OTc5YWQyNzk4
YWZhODQxMDVmZTc2MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDIt
MTQgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5kbGVycyBhcmUgaW5z
dGFsbGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KKworICAg
ICAgICAqIFdlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaDoKKyAgICAgICAgKFdlYkNvcmU6
OkNocm9tZUNsaWVudFd4OjpudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKToKKwogMjAxMi0w
MS0zMCAgS2V2aW4gT2xsaXZpZXIgIDxrZXZpbm9AdGhlb2xsaXZpZXJzLmNvbT4KIAogICAgICAg
ICBbd3hdIFVucmV2aWV3ZWQuIEJ1aWxkIGZpeCwgYWRkIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBiZGE1NmVhN2FhMmFmN2E5Y2I5OTZlOWQ3NTAyN2E0YzFmOThiYTcwLi5k
NmIwMTNiNTJmYzkwYzcwNzNlNTI1NzY2YjZlOTQ3MjFjOGQzYzYxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTItMDItMTQgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3VjaC1l
dmVudCBoYW5kbGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEZpc2hlci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2Vk
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
OgorCiAyMDEyLTAyLTE0ICBObydhbSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5j
b20+CiAKICAgICAgICAgW1F0XVtUZXhtYXBdIFJlZmFjdG9yIGJhY2tpbmctc3RvcmUgY29kZSBp
biBUZXh0dXJlTWFwcGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAzMGJmNWJmY2IxY2Yx
NjJjNWVhM2I2M2FmNmQzNDU0OTkyYWE5N2NlLi44ZjRhZWMxNTk0OTkxZmVkNjhhMzA1MGQzMGVk
YzBhMmMxOTYxYTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQzNyw2ICs0MzcsNyBA
QCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wg
aXNYSFRNTCwgYm9vbCBpc0hUTUwpCiAgICAgLCBtX3dyaXRlUmVjdXJzaW9uSXNUb29EZWVwKGZh
bHNlKQogICAgICwgbV93cml0ZVJlY3Vyc2lvbkRlcHRoKDApCiAgICAgLCBtX3doZWVsRXZlbnRI
YW5kbGVyQ291bnQoMCkKKyAgICAsIG1fdG91Y2hFdmVudEhhbmRsZXJDb3VudCgwKQogICAgICwg
bV9wZW5kaW5nVGFza3NUaW1lcih0aGlzLCAmRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmly
ZWQpCiB7CiAgICAgbV9kb2N1bWVudCA9IHRoaXM7CkBAIC01NDEwLDYgKzU0MTEsMjMgQEAgdm9p
ZCBEb2N1bWVudDo6ZGlkUmVtb3ZlV2hlZWxFdmVudEhhbmRsZXIoKQogICAgIHdoZWVsRXZlbnRI
YW5kbGVyQ291bnRDaGFuZ2VkKHRoaXMpOwogfQogCit2b2lkIERvY3VtZW50OjpkaWRBZGRUb3Vj
aEV2ZW50SGFuZGxlcigpCit7CisgICAgKyttX3RvdWNoRXZlbnRIYW5kbGVyQ291bnQ7CisgICAg
RnJhbWUqIG1haW5GcmFtZSA9IHBhZ2UoKSA/IHBhZ2UoKS0+bWFpbkZyYW1lKCkgOiAwOworICAg
IGlmIChtYWluRnJhbWUpCisgICAgICAgIG1haW5GcmFtZS0+bm90aWZ5Q2hyb21lQ2xpZW50VG91
Y2hFdmVudEhhbmRsZXJDb3VudENoYW5nZWQoKTsKK30KKwordm9pZCBEb2N1bWVudDo6ZGlkUmVt
b3ZlVG91Y2hFdmVudEhhbmRsZXIoKQoreworICAgIEFTU0VSVChtX3RvdWNoRXZlbnRIYW5kbGVy
Q291bnQgPiAwKTsKKyAgICAtLW1fdG91Y2hFdmVudEhhbmRsZXJDb3VudDsKKyAgICBGcmFtZSog
bWFpbkZyYW1lID0gcGFnZSgpID8gcGFnZSgpLT5tYWluRnJhbWUoKSA6IDA7CisgICAgaWYgKG1h
aW5GcmFtZSkKKyAgICAgICAgbWFpbkZyYW1lLT5ub3RpZnlDaHJvbWVDbGllbnRUb3VjaEV2ZW50
SGFuZGxlckNvdW50Q2hhbmdlZCgpOworfQorCiBib29sIERvY3VtZW50Ojp2aXN1YWxVcGRhdGVz
QWxsb3dlZCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuICFzZXR0aW5ncygpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCmluZGV4IGE0YmRhZDY4NWNjMzRkY2UyZGIwNmM2MjA3OWNiZGM5ZjUxNGNlYzIuLjk3YThk
NWVlODQzM2NhMGM0YTgwMzNkMTRmNjY0ODkzOGVkOGIwNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
CkBAIC0xMTEzLDYgKzExMTMsMTAgQEAgcHVibGljOgogICAgIHZvaWQgZGlkQWRkV2hlZWxFdmVu
dEhhbmRsZXIoKTsKICAgICB2b2lkIGRpZFJlbW92ZVdoZWVsRXZlbnRIYW5kbGVyKCk7CiAKKyAg
ICB1bnNpZ25lZCB0b3VjaEV2ZW50SGFuZGxlckNvdW50KCkgY29uc3QgeyByZXR1cm4gbV90b3Vj
aEV2ZW50SGFuZGxlckNvdW50OyB9CisgICAgdm9pZCBkaWRBZGRUb3VjaEV2ZW50SGFuZGxlcigp
OworICAgIHZvaWQgZGlkUmVtb3ZlVG91Y2hFdmVudEhhbmRsZXIoKTsKKwogICAgIGJvb2wgdmlz
dWFsVXBkYXRlc0FsbG93ZWQoKSBjb25zdDsKIAogI2lmIEVOQUJMRShNSUNST0RBVEEpCkBAIC0x
NDQ5LDYgKzE0NTMsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fd3JpdGVSZWN1cnNpb25E
ZXB0aDsKICAgICAKICAgICB1bnNpZ25lZCBtX3doZWVsRXZlbnRIYW5kbGVyQ291bnQ7CisgICAg
dW5zaWduZWQgbV90b3VjaEV2ZW50SGFuZGxlckNvdW50OwogCiAjaWYgRU5BQkxFKFJFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKQogICAgIFJlZlB0cjxTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI+
IG1fc2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDNkOWFj
M2U1YjBhMWEyMTI3NzRiMmYyZTlmNTBmYjhjYTZiYmMwMGQuLmE0MDFkOWNhN2M2NWZlN2JjMjVm
Y2YyZWRlZmNkODY0ODgzNTIyM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTI0NzksNiArMjQ3OSwx
MSBAQCBzdGF0aWMgaW5saW5lIEhhc2hTZXQ8U1ZHRWxlbWVudEluc3RhbmNlKj4gaW5zdGFuY2Vz
Rm9yU1ZHRWxlbWVudChOb2RlKiBub2RlKQogfQogI2VuZGlmCiAKK3N0YXRpYyBpbmxpbmUgYm9v
bCBpc1RvdWNoRXZlbnRUeXBlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKQoreworICAg
IHJldHVybiBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoc3RhcnRFdmVudCB8fCBldmVu
dFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNobW92ZUV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVu
dE5hbWVzKCkudG91Y2hlbmRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNo
Y2FuY2VsRXZlbnQ7Cit9CisKIHN0YXRpYyBpbmxpbmUgYm9vbCB0cnlBZGRFdmVudExpc3RlbmVy
KE5vZGUqIHRhcmdldE5vZGUsIGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVm
UHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyLCBib29sIHVzZUNhcHR1cmUpCiB7CiAgICAgaWYg
KCF0YXJnZXROb2RlLT5FdmVudFRhcmdldDo6YWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxp
c3RlbmVyLCB1c2VDYXB0dXJlKSkKQEAgLTI0ODgsNiArMjQ5Myw4IEBAIHN0YXRpYyBpbmxpbmUg
Ym9vbCB0cnlBZGRFdmVudExpc3RlbmVyKE5vZGUqIHRhcmdldE5vZGUsIGNvbnN0IEF0b21pY1N0
cmluZyYgZXZlCiAgICAgICAgIGRvY3VtZW50LT5hZGRMaXN0ZW5lclR5cGVJZk5lZWRlZChldmVu
dFR5cGUpOwogICAgICAgICBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5tb3VzZXdoZWVs
RXZlbnQpCiAgICAgICAgICAgICBkb2N1bWVudC0+ZGlkQWRkV2hlZWxFdmVudEhhbmRsZXIoKTsK
KyAgICAgICAgZWxzZSBpZiAoaXNUb3VjaEV2ZW50VHlwZShldmVudFR5cGUpKQorICAgICAgICAg
ICAgZG9jdW1lbnQtPmRpZEFkZFRvdWNoRXZlbnRIYW5kbGVyKCk7CiAgICAgfQogICAgICAgICAK
ICAgICByZXR1cm4gdHJ1ZTsKQEAgLTI1MzcsNiArMjU0NCw4IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCB0cnlSZW1vdmVFdmVudExpc3RlbmVyKE5vZGUqIHRhcmdldE5vZGUsIGNvbnN0IEF0b21pY1N0
cmluZyYKICAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gdGFyZ2V0Tm9kZS0+ZG9jdW1lbnQo
KSkgewogICAgICAgICBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5tb3VzZXdoZWVsRXZl
bnQpCiAgICAgICAgICAgICBkb2N1bWVudC0+ZGlkUmVtb3ZlV2hlZWxFdmVudEhhbmRsZXIoKTsK
KyAgICAgICAgZWxzZSBpZiAoaXNUb3VjaEV2ZW50VHlwZShldmVudFR5cGUpKQorICAgICAgICAg
ICAgZG9jdW1lbnQtPmRpZFJlbW92ZVRvdWNoRXZlbnRIYW5kbGVyKCk7CiAgICAgfQogICAgIAog
ICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IDJl
YjI0YTMyYjU5MzM5MDYwNDYxNmY1ODM2MDg5ZjlkMWY0MmIxN2QuLmEyNjQxZjc1MTg5NzcxZjUy
MzM3MTlkYzExNGZhZjU1ZGU4Y2I4ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmgKQEAgLTIzMyw3ICsyMzMsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIG5lZWRUb3Vj
aEV2ZW50cyhib29sKSB7IH0KICNlbmRpZgogICAgIAotICAgIHZpcnR1YWwgdm9pZCBudW1XaGVl
bEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVt
V2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgT1ZFUlJJREUgeyB9CisgICAgdmly
dHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIE9WRVJSSURF
IHsgfQogICAgIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24o
V2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDQ4NjYyNWE5OGQyMGUxYzAzZDUxNWViMjI0
NDJkMzgxNDJmODEzMDcuLjMzYjFjNGI4NzE0OTA4M2JjNjhlYTc5Yjc5ZmYxNDJlY2RkNTllNDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMzI1LDYgKzMyNSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1bk1vZGFsRGlhbG9n
RHVyaW5nUGFnZURpc21pc3NhbChjb25zdCBEaWFsb2dUeXBlJiwgY29uc3QgU3RyaW5nJiBkaWFs
b2dNZXNzYWdlLCBGcmFtZUxvYWRlcjo6UGFnZURpc21pc3NhbFR5cGUpIGNvbnN0IHsgVU5VU0VE
X1BBUkFNKGRpYWxvZ01lc3NhZ2UpOyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgICAgIHZpcnR1YWwg
dm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSA9IDA7CisgICAgICAg
IHZpcnR1YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSA9IDA7
CiAgICAgICAgIAogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNTVkdJbWFnZUNocm9tZUNsaWVudCgp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKaW5kZXggY2E5Y2M5
YWZlNGUxNTRjZTJiOTIxNjFjNjE3MjFhMjcxMWRlYjUyOC4uNTc1ZTczNjYyMGJlYTVkOGEyN2Nh
MmE2ZTkwNGYyOWY4Mjk1ZTYwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKQEAgLTI5Myw4ICsyOTMs
MTAgQEAgdm9pZCBGcmFtZTo6c2V0RG9jdW1lbnQoUGFzc1JlZlB0cjxEb2N1bWVudD4gbmV3RG9j
KQogICAgIGlmIChtX2RvYykKICAgICAgICAgbV9kb2MtPnVwZGF0ZVZpZXdwb3J0QXJndW1lbnRz
KCk7CiAKLSAgICBpZiAobV9wYWdlICYmIG1fcGFnZS0+bWFpbkZyYW1lKCkgPT0gdGhpcykKKyAg
ICBpZiAobV9wYWdlICYmIG1fcGFnZS0+bWFpbkZyYW1lKCkgPT0gdGhpcykgewogICAgICAgICBu
b3RpZnlDaHJvbWVDbGllbnRXaGVlbEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCgpOworICAgICAg
ICBub3RpZnlDaHJvbWVDbGllbnRUb3VjaEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCgpOworICAg
IH0KIH0KIAogI2lmIEVOQUJMRShPUklFTlRBVElPTl9FVkVOVFMpCkBAIC0xMDIwLDE2ICsxMDIy
LDMwIEBAIHZvaWQgRnJhbWU6Om5vdGlmeUNocm9tZUNsaWVudFdoZWVsRXZlbnRIYW5kbGVyQ291
bnRDaGFuZ2VkKCkgY29uc3QKIHsKICAgICAvLyBFbnN1cmUgdGhhdCB0aGlzIG1ldGhvZCBpcyBi
ZWluZyBjYWxsZWQgb24gdGhlIG1haW4gZnJhbWUgb2YgdGhlIHBhZ2UuCiAgICAgQVNTRVJUKG1f
cGFnZSAmJiBtX3BhZ2UtPm1haW5GcmFtZSgpID09IHRoaXMpOwotICAgIAorCiAgICAgdW5zaWdu
ZWQgY291bnQgPSAwOwogICAgIGZvciAoY29uc3QgRnJhbWUqIGZyYW1lID0gdGhpczsgZnJhbWU7
IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpIHsKICAgICAgICAgaWYgKGZy
YW1lLT5kb2N1bWVudCgpKQogICAgICAgICAgICAgY291bnQgKz0gZnJhbWUtPmRvY3VtZW50KCkt
PndoZWVsRXZlbnRIYW5kbGVyQ291bnQoKTsKICAgICB9Ci0gICAgCisKICAgICBtX3BhZ2UtPmNo
cm9tZSgpLT5jbGllbnQoKS0+bnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZChjb3VudCk7CiB9
CiAKK3ZvaWQgRnJhbWU6Om5vdGlmeUNocm9tZUNsaWVudFRvdWNoRXZlbnRIYW5kbGVyQ291bnRD
aGFuZ2VkKCkgY29uc3QKK3sKKyAgICAvLyBFbnN1cmUgdGhhdCB0aGlzIG1ldGhvZCBpcyBiZWlu
ZyBjYWxsZWQgb24gdGhlIG1haW4gZnJhbWUgb2YgdGhlIHBhZ2UuCisgICAgQVNTRVJUKG1fcGFn
ZSAmJiBtX3BhZ2UtPm1haW5GcmFtZSgpID09IHRoaXMpOworCisgICAgdW5zaWduZWQgY291bnQg
PSAwOworICAgIGZvciAoY29uc3QgRnJhbWUqIGZyYW1lID0gdGhpczsgZnJhbWU7IGZyYW1lID0g
ZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpIHsKKyAgICAgICAgaWYgKGZyYW1lLT5kb2N1
bWVudCgpKQorICAgICAgICAgICAgY291bnQgKz0gZnJhbWUtPmRvY3VtZW50KCktPnRvdWNoRXZl
bnRIYW5kbGVyQ291bnQoKTsKKyAgICB9CisKKyAgICBtX3BhZ2UtPmNocm9tZSgpLT5jbGllbnQo
KS0+bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZChjb3VudCk7Cit9CisKICNpZiAhUExBVEZP
Uk0oTUFDKSAmJiAhUExBVEZPUk0oV0lOKQogc3RydWN0IFNjb3BlZEZyYW1lUGFpbnRpbmdTdGF0
ZSB7CiAgICAgU2NvcGVkRnJhbWVQYWludGluZ1N0YXRlKEZyYW1lKiB0aGVGcmFtZSwgUmVuZGVy
T2JqZWN0KiB0aGVSZW5kZXJlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAppbmRleCAxOGRhNWYzNmFiNTJiNzE5
YTg0OTZiZjhlNmZjODJmMTk1ZGIwMzJlLi5hN2FjNjE5ZjMyMjgzZTQzMGM2MTBlZTNhYmVjNjU0
ZTNmNGRhODVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCkBAIC0xOTUsNiArMTk1LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgICAgIC8vIFNob3VsZCBvbmx5IGJlIGNhbGxlZCBvbiB0aGUgbWFp
biBmcmFtZSBvZiBhIHBhZ2UuCiAgICAgICAgIHZvaWQgbm90aWZ5Q2hyb21lQ2xpZW50V2hlZWxF
dmVudEhhbmRsZXJDb3VudENoYW5nZWQoKSBjb25zdDsKKyAgICAgICAgdm9pZCBub3RpZnlDaHJv
bWVDbGllbnRUb3VjaEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCgpIGNvbnN0OwogCiAgICAgLy8g
PT09PT09PT0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
Vmlld0NsaWVudC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVu
dC5oCmluZGV4IDFiNDJhNDhhOGZhOWFhMDkxZjdjOTA3NjhlNDAxNTQ5N2I0OTQzZWYuLmI2NTZm
ZDVhZGU2OGE3NTdkYTQ5NTE1MDgzZWMwNDFkNDdkNmE4MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgKQEAgLTI2Myw2ICsyNjMsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIGZvY3VzZWROb2RlQ2hhbmdlZChjb25zdCBXZWJOb2RlJikg
eyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgbnVtYmVyT2ZXaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2Vk
KHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVtYmVyT2ZUb3VjaEV2ZW50SGFuZGxl
cnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KIAogICAgIC8vIEluZGljYXRlcyB0d28gdGhpbmdzOgog
ICAgIC8vICAgMSkgVGhpcyB2aWV3IG1heSBoYXZlIGEgbmV3IGxheW91dCBub3cuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCmluZGV4IGZiMDdi
NGMxMDNmYjI3OWEyNGM0ZjE2NzhlYjU5ODhmMzIxNzNiYTYuLjQ1YTgxMzg1OTQ0Y2U4YWJkYmM3
YmI5OTRhZWIzY2M5ZGYyMjQwYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0Nocm9tZUNsaWVudEltcGwuY3BwCkBAIC0xMDE4LDYgKzEwMTgsMTEgQEAgdm9pZCBDaHJvbWVD
bGllbnRJbXBsOjpudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkIG51bWJlck9m
V2hlZWxIYW5kbGUKICAgICBtX3dlYlZpZXctPm51bWJlck9mV2hlZWxFdmVudEhhbmRsZXJzQ2hh
bmdlZChudW1iZXJPZldoZWVsSGFuZGxlcnMpOwogfQogCit2b2lkIENocm9tZUNsaWVudEltcGw6
Om51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQgbnVtYmVyT2ZUb3VjaEhhbmRs
ZXJzKQoreworICAgIG1fd2ViVmlldy0+bnVtYmVyT2ZUb3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2Vk
KG51bWJlck9mVG91Y2hIYW5kbGVycyk7Cit9CisKICNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQog
Ym9vbCBDaHJvbWVDbGllbnRJbXBsOjpyZXF1ZXN0UG9pbnRlckxvY2soKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCmluZGV4IDhmZDI0ODhkOWVl
NjYxMGZlMTM4NThiOGVjOWU1NTgwYzc1NDA1MjguLjIzZTAyZmYzZDk5NTA0ZmMyOTk4MmYzNzEx
NjM1NmExMDA1NDk3NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0No
cm9tZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVD
bGllbnRJbXBsLmgKQEAgLTIwNCw2ICsyMDQsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJv
b2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbikg
Y29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5z
aWduZWQpOworICAgIHZpcnR1YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVu
c2lnbmVkKTsKIAogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiAgICAgdmlydHVhbCBib29sIHJl
cXVlc3RQb2ludGVyTG9jaygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0lt
cGwuY3BwCmluZGV4IDU1YjlhMWRhY2Y0YTk5ZDJlNzc4ZTc5NzJkZDQwYzNjMDlmMmE4OTYuLmM3
MzYxMGIzYzFlMjI4ZThmNGMyZjUzZWU3ZDBhODBkNTVhYTg0ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTgxMiw2ICs4MTIsMTIgQEAgdm9pZCBX
ZWJWaWV3SW1wbDo6bnVtYmVyT2ZXaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkIG51
bWJlck9mV2hlZWxIYW5kbGUKICNlbmRpZgogfQogCit2b2lkIFdlYlZpZXdJbXBsOjpudW1iZXJP
ZlRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQgbnVtYmVyT2ZUb3VjaEhhbmRsZXJz
KQoreworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPm51bWJlck9mVG91Y2hF
dmVudEhhbmRsZXJzQ2hhbmdlZChudW1iZXJPZlRvdWNoSGFuZGxlcnMpOworfQorCiAjaWYgIU9T
KERBUldJTikKIC8vIE1hYyBoYXMgbm8gd2F5IHRvIG9wZW4gYSBjb250ZXh0IG1lbnUgYmFzZWQg
b24gYSBrZXlib2FyZCBldmVudC4KIGJvb2wgV2ViVmlld0ltcGw6OnNlbmRDb250ZXh0TWVudUV2
ZW50KGNvbnN0IFdlYktleWJvYXJkRXZlbnQmIGV2ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggMTk3ZjU4MmU0ZTllZDBjNTJhNjg4YTExZmZlMWUwNTMw
OWZiNGM2Zi4uZDQyYjJjYmRkZmYxZDUzZjNiOTI1YzkzODIzMTVlNTQ5NTA4NGNiOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC0zMjIsNiArMzIyLDcgQEAg
cHVibGljOgogICAgIGJvb2wgdG91Y2hFdmVudChjb25zdCBXZWJUb3VjaEV2ZW50Jik7CiAKICAg
ICB2b2lkIG51bWJlck9mV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCk7CisgICAg
dm9pZCBudW1iZXJPZlRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpOwogCiAgICAg
Ly8gSGFuZGxlcyBjb250ZXh0IG1lbnUgZXZlbnRzIG9yaWduYXRlZCB2aWEgdGhlIHRoZSBrZXli
b2FyZC4gVGhlc2UKICAgICAvLyBpbmNsdWRlIHRoZSBWS19BUFBTIHZpcnR1YWwga2V5IGFuZCB0
aGUgU2hpZnQrRjEwIGNvbWJpbmUuIENvZGUgaXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXggNGI0N2M3MzFjZDZiN2FkOTc5
MjVkYzE5NzZhOGE2NTM4MDMzOWY5NC4uODI1MTIyNTFmNmE0NDBlYTU5MzMwMTNlMTE4ZGYzYzAw
MjRjNzlmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50RWZsLmgKQEAgLTE3Myw2ICsxNzMsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlv
bikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50
SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hF
dmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAKICAgICBFdmFzX09iamVjdCogbV92
aWV3OwogICAgIEtVUkwgbV9ob3ZlcmVkTGlua1VSTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oIGIvU291cmNlL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKaW5kZXggNWQzMDgyZGM1NjRhMjQ1
YjUyNjMxMmFjYjhmYTA2YmU5MTU2ZjI3Yi4uOWQyMTA1ZDZkZjdmYzQwZGJlOTcwYzUxYzE4NzBm
NWQ5MTA5ZmFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50R3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50R3RrLmgKQEAgLTE1OSw2ICsxNTksNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFNjcm9s
bERpcmVjdGlvbikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQg
bnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CisgICAgICAgIHZpcnR1
YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KIAogI2lm
IFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgCiAgICAgICAgIHZpcnR1YWwgdm9pZCBhdHRh
Y2hSb290R3JhcGhpY3NMYXllcihGcmFtZSosIEdyYXBoaWNzTGF5ZXIqKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggNDhm
ZjA5YmJhNjgxOTY3ZjdjNjI3NjY3MzQ2NDU5NDRhNTRlYjJmNC4uNjZmYTA2MGI1YTUzZGJjMmYz
OGVlYTZmNTQ1MmQ3NmRhNmJiMWY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTE4OSw2ICsxODksNyBAQCBwdWJsaWM6
CiAjZW5kaWYKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hh
bmdlZCh1bnNpZ25lZCkgT1ZFUlJJREUgeyB9CisgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZl
bnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIE9WRVJSSURFIHsgfQogICAgIHZpcnR1YWwgYm9v
bCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uKSBj
b25zdCBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQogcHJpdmF0ZToKICAgICBXZWJWaWV3ICpt
X3dlYlZpZXc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFF0LmgKaW5kZXggNmE1NzZkOTZkYWM0NmFmZTM3NGM3MGJlYWMxYjZiOTRlMzYyM2E5Yy4u
M2Q0NWI3YjUxYTJlMzIwMDQ0ZTY0MDFmNzA4YmIyYzA4ZjM3NTVjNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaApAQCAtMTkyLDYgKzE5
Miw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJl
Y3Rpb24oV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAg
ICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVk
KSB7IH0KIAogICAgIFFXZWJQYWdlKiBtX3dlYlBhZ2U7CiAgICAgS1VSTCBsYXN0SG92ZXJVUkw7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oCmluZGV4IGI2YWViMWNmNzFlNjNlYjg2ZWMzYmFlZTAxNGI5NTVlODk5OTIzOWEuLjJhOWE4
ZmU3ZjNkNGY0NTNmZTRhYjFmMGVkY2I5ZGQzOWZhYWJjOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xNzcsNiArMTc3
LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVj
dGlvbihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9
CisgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQp
IHsgfQogCiBwcml2YXRlOgogICAgIENPTVB0cjxJV2ViVUlEZWxlZ2F0ZT4gdWlEZWxlZ2F0ZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRXaW5DRS5oIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRXaW5DRS5oCmluZGV4IDAwNmUwMTBmOGQyNzgyNjlmZGU3NmYzNWU2ZWIyYWM3NDQ5ODM2
NTYuLjYxMzc4M2EwMzNlNTlhY2E5MWQ5ODQ1MzYwMDA2NDkwNWMyMDYyMTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNF
LmgKQEAgLTE3Nyw2ICsxNzcsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxk
UnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbikgY29uc3QgeyBy
ZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFu
Z2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJz
Q2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAKIHByaXZhdGU6CiAgICAgV2ViVmlldyogbV93ZWJWaWV3
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVu
dFd4LmggYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaApp
bmRleCBkY2QxNjRmMzRiNmZlNDFjN2FjYjFhZmVjMjllZmEyNjgyYzg4Yjc1Li4yYjZjZGVmNjEy
Y2FmY2Q0ZjI1MDEzNDUxNjhkYTNjZTcwNTg4NTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaAorKysgYi9Tb3VyY2UvV2ViS2l0L3d4
L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaApAQCAtMTUxLDYgKzE1MSw3IEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oV2ViQ29y
ZTo6U2Nyb2xsRGlyZWN0aW9uKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2
b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQorICAgIHZpcnR1
YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KICAgICAK
ICAgICB2aXJ0dWFsIGJvb2wgaGFzT3BlbmVkUG9wdXAoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmgKaW5kZXggZGQ2OGUxZjliZGQzMzk5MjIxNTJlYzNlMGE1ZWEzNGEwNTFhOGVjNi4uOTc2
MWMxNTRhMWU5NDQyZjIzMzYxOTE0Y2NhNzU5ZDRhOTNkNDI2MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oCkBAIC0yMjAsNiArMjIwLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxk
UnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbikgY29uc3QgT1ZF
UlJJREU7CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5n
ZWQodW5zaWduZWQpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFu
ZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSBPVkVSUklERSB7IH0KIAogICAgIFN0cmluZyBtX2NhY2hl
ZFRvb2xUaXA7CiAgICAgbXV0YWJsZSBSZWZQdHI8V2ViRnJhbWU+IG1fY2FjaGVkRnJhbWVTZXRM
YXJnZXN0RnJhbWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127195</attachid>
            <date>2012-02-15 10:29:49 -0800</date>
            <delta_ts>2012-02-15 10:36:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77440-20120215132947.patch</filename>
            <type>text/plain</type>
            <size>24486</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRlN2Q3YWFhYzdlMTk5
YmNhNGY2ZGE3NzNmMDZiNjg0Yzk4ZjVlMC4uMTNmZWY0NmQyMGM4MzRiOWM4NmQyNGJlOGUxMDNi
YmVlYTkzZmE0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTAyLTE0ICBTYWRy
dWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBOb3Rp
ZnkgQ2hyb21lQ2xpZW50IHdoZW4gdG91Y2gtZXZlbnQgaGFuZGxlcnMgYXJlIGluc3RhbGxlZC9y
ZW1vdmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Nzc0NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBL
ZWVwIGEgY291bnQgb2YgdGhlIG51bWJlciBvZiB0b3VjaC1ldmVudCBoYW5kbGVycyBhbmQgbm90
aWZ5IHRoZQorICAgICAgICBlbWJlZGRlciB3aGVuIHRoZSBjb3VudCBjaGFuZ2VzLiBEZXBlbmRp
bmcgb24gdGhlIGNvdW50LCB0aGUgZW1iZWRkZXIKKyAgICAgICAgY2FuIGRlY2lkZSB3aGV0aGVy
IG9yIG5vdCB0byBkaXNwYXRjaCB0b3VjaCBldmVudHMgdG8gd2Via2l0LgorCisgICAgICAgICog
ZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpEb2N1bWVudCk6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGlkQWRkVG91Y2hFdmVudEhhbmRsZXIpOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGlkUmVtb3Zl
VG91Y2hFdmVudEhhbmRsZXIpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OnRvdWNoRXZlbnRIYW5kbGVyQ291bnQpOgorICAgICAgICAoRG9j
dW1lbnQpOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzVG91
Y2hFdmVudFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6dHJ5QWRkRXZlbnRMaXN0ZW5lcik6Cisg
ICAgICAgIChXZWJDb3JlOjp0cnlSZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBsb2Fk
ZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUNocm9tZUNsaWVudDo6
bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGll
bnQuaDoKKyAgICAgICAgKENocm9tZUNsaWVudCk6CisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6bm90aWZ5Q2hyb21lQ2xpZW50V2hlZWxFdmVudEhh
bmRsZXJDb3VudENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6Om5vdGlmeUNocm9t
ZUNsaWVudFRvdWNoRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIHBhZ2UvRnJhbWUuaDoKKyAgICAgICAgKEZyYW1lKToKKwogMjAxMi0wMi0x
NCAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBNYWtlIFNjcmlwdHNOYXZpZ2F0b3IgZGVmYXVsdCBmaWxlIHNlbGVjdG9yLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBjNmVlODEwY2ZmOTFmOGQ1OGU1YWE4NDRlMDMz
ZDBlZmRjYjY0NDNkLi41MTkxYTJlZmVkODQ1ODM0OGMwNzlkZTY1MzllMjE2MmNiOTc5YmIwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAyLTE0ICBT
YWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBO
b3RpZnkgQ2hyb21lQ2xpZW50IHdoZW4gdG91Y2gtZXZlbnQgaGFuZGxlcnMgYXJlIGluc3RhbGxl
ZC9yZW1vdmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9Nzc0NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHB1YmxpYy9XZWJWaWV3Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdDbGll
bnQ6Om51bWJlck9mVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6CisgICAgICAgICogc3JjL0No
cm9tZUNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnRJbXBsOjpu
dW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
ICogc3JjL0Nocm9tZUNsaWVudEltcGwuaDoKKyAgICAgICAgKENocm9tZUNsaWVudEltcGwpOgor
ICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJ
bXBsOjpudW1iZXJPZlRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0
KToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKFdlYlZpZXdJbXBsKToK
KwogMjAxMi0wMi0xNCAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBNYWtlIFNjcmlwdHNOYXZpZ2F0b3IgZGVmYXVsdCBmaWxl
IHNlbGVjdG9yLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDNmOGVkYzEyZDFhZjdhZTAwYTQ2YzEyYWIx
NTZjZWM5Y2JiYWViNDEuLjYxOWZhOGY5M2Q2OTNhZTUxMGVhNjE4OWZhOTRiNzllNzFiY2Y4OTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0xNCAgU2FkcnVsIEhh
YmliIENob3dkaHVyeSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENo
cm9tZUNsaWVudCB3aGVuIHRvdWNoLWV2ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3Zl
ZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNs
aWVudEVmbDo6bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6CisKIDIwMTItMDItMTEgIE5p
a29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgQ29udmVy
dCBzdmcvYW5pbWF0aW9ucyB0byB1c2UgU01JTCBtZXRob2RzIGZvciBkcml2aW5nIHRoZSB0aW1l
bGluZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IGFkYzViZmJlNzJkZjgyNDQzMGY4NjM2Mjk1ZjU4ZDRj
YTQyZjEzMzkuLjcyNTZiNjdjNjY2NmQ4NWNhZjgxZjMzMGJhZGRhYWI2NDI3OWIwMzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0xNCAgU2FkcnVsIEhhYmliIENo
b3dkaHVyeSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNs
aWVudCB3aGVuIHRvdWNoLWV2ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRHdGsuaDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50Ojpu
dW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKToKKwogMjAxMi0wMi0xMSAgTmlrb2xhcyBaaW1t
ZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KIAogICAgICAgICBDb252ZXJ0IHN2Zy9hbmlt
YXRpb25zIHRvIHVzZSBTTUlMIG1ldGhvZHMgZm9yIGRyaXZpbmcgdGhlIHRpbWVsaW5lCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKaW5kZXggMzE2NjUyM2QzYzk0MTg0Y2ZiMzRiNDAwZjU2YjE5YWYzOWY2YzM1Ni4u
ZjAxMmFhYzlmNDQ4ZmIyYTA4MThkYWU5NmM3NGFhNDIwYTcyYWIyMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTAyLTE0ICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8
c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBOb3RpZnkgQ2hyb21lQ2xpZW50IHdoZW4g
dG91Y2gtZXZlbnQgaGFuZGxlcnMgYXJlIGluc3RhbGxlZC9yZW1vdmVkLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oOgorCiAyMDEyLTAyLTE0ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBw
bGUuY29tPgogCiAgICAgICAgIFtNYWNdW1dpbl1bV0syXSBTd2l0Y2ggdG8gUkZDIDY0NTUgcHJv
dG9jb2wgZm9yIFdlYlNvY2tldHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggMjNjNWU3NmMwZTQ2NzljNGMz
NmEwNDBlNmU5ZDg1Mzk1NWIxMzQxMS4uYmUxNTgxYzNhM2I0NjI0NDlhOTIzNWJlZWMyM2Q4ZmZj
NjA3ZDIxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0xNCAgU2Fk
cnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90
aWZ5IENocm9tZUNsaWVudCB3aGVuIHRvdWNoLWV2ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQv
cmVtb3ZlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTc3NDQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hy
b21lQ2xpZW50UXQ6Om51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQpOgorCiAyMDEyLTAyLTEx
ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIENv
bnZlcnQgc3ZnL2FuaW1hdGlvbnMgdG8gdXNlIFNNSUwgbWV0aG9kcyBmb3IgZHJpdmluZyB0aGUg
dGltZWxpbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCAxMTlkYTE3ZmJjNGZlZmJlNTA5YTVkYTY4YjUx
NDUyMjZkMTg1OGM3Li41NTU3ZGZkYTk5NmJkZWE5MDQ2ZDIyNDM5N2JmMGI2YWEyOWM0MTU0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMTQgIFNhZHJ1bCBIYWJp
YiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vdGlmeSBDaHJv
bWVDbGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5kbGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6Om51
bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQpOgorCiAyMDEyLTAyLTE0ICBBbGV4ZXkgUHJvc2t1
cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdW1dpbl1bV0syXSBTd2l0Y2gg
dG8gUkZDIDY0NTUgcHJvdG9jb2wgZm9yIFdlYlNvY2tldHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luY2UvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKaW5k
ZXggNmQyYTdlNjQ3YjJlMGFlMDliN2Y3NmNjMDY3MjY3ODU5M2Y5MjEzMS4uMjFmNTYwMzY3YWU4
OGNmZWFlNzQ4NDFiY2JjMTUyN2Q0ODFkNDQxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
aW5jZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMi0wMi0xNCAgU2FkcnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1bEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNsaWVudCB3aGVuIHRvdWNoLWV2
ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRX
aW5DRS5oOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnRXaW5DRTo6bnVtVG91Y2hFdmVu
dEhhbmRsZXJzQ2hhbmdlZCk6CisKIDIwMTEtMTItMTkgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBNb3JlIFBsYXRmb3JtRXZlbnQgY2xlYW51cApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZwpp
bmRleCBiNDViMzUwMDUwMDUxOTc1MDkxMzRjZTQ0YzVlOTFiMzYxOGVkNWM3Li5iNzU3Zjc4ODc2
MmEwOTFmMGVhYjg3MDMzMGM5MjZiMjRhMTEzMmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3d4L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDEyLTAyLTE0ICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBOb3RpZnkgQ2hyb21lQ2xpZW50IHdoZW4gdG91Y2gtZXZlbnQg
aGFuZGxlcnMgYXJlIGluc3RhbGxlZC9yZW1vdmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaDoK
KyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudFd4OjpudW1Ub3VjaEV2ZW50SGFuZGxlcnND
aGFuZ2VkKToKKwogMjAxMi0wMS0zMCAgS2V2aW4gT2xsaXZpZXIgIDxrZXZpbm9AdGhlb2xsaXZp
ZXJzLmNvbT4KIAogICAgICAgICBbd3hdIFVucmV2aWV3ZWQuIEJ1aWxkIGZpeCwgYWRkIEphdmFT
Y3JpcHRDb3JlL3J1bnRpbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBiZGE1NmVhN2FhMmFmN2E5Y2I5OTZlOWQ3
NTAyN2E0YzFmOThiYTcwLi45YTc2NGU4OGY0MjQ1MGYwMDFkYTkwNmNkNmQyOWVkZTI2ZGU2MGI4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDItMTQgIFNhZHJ1bCBIYWJpYiBD
aG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vdGlmeSBDaHJvbWVD
bGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5kbGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Om51bVRvdWNo
RXZlbnRIYW5kbGVyc0NoYW5nZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisKIDIwMTItMDItMTQgIE5vJ2FtIFJvc2VudGhhbCAgPG5v
YW0ucm9zZW50aGFsQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdW1RleG1hcF0gUmVmYWN0b3Ig
YmFja2luZy1zdG9yZSBjb2RlIGluIFRleHR1cmVNYXBwZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CmluZGV4IDMwYmY1YmZjYjFjZjE2MmM1ZWEzYjYzYWY2ZDM0NTQ5OTJhYTk3Y2UuLjhmNGFlYzE1
OTQ5OTFmZWQ2OGEzMDUwZDMwZWRjMGEyYzE5NjFhMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cApAQCAtNDM3LDYgKzQzNyw3IEBAIERvY3VtZW50OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNv
bnN0IEtVUkwmIHVybCwgYm9vbCBpc1hIVE1MLCBib29sIGlzSFRNTCkKICAgICAsIG1fd3JpdGVS
ZWN1cnNpb25Jc1Rvb0RlZXAoZmFsc2UpCiAgICAgLCBtX3dyaXRlUmVjdXJzaW9uRGVwdGgoMCkK
ICAgICAsIG1fd2hlZWxFdmVudEhhbmRsZXJDb3VudCgwKQorICAgICwgbV90b3VjaEV2ZW50SGFu
ZGxlckNvdW50KDApCiAgICAgLCBtX3BlbmRpbmdUYXNrc1RpbWVyKHRoaXMsICZEb2N1bWVudDo6
cGVuZGluZ1Rhc2tzVGltZXJGaXJlZCkKIHsKICAgICBtX2RvY3VtZW50ID0gdGhpczsKQEAgLTU0
MTAsNiArNTQxMSwyMyBAQCB2b2lkIERvY3VtZW50OjpkaWRSZW1vdmVXaGVlbEV2ZW50SGFuZGxl
cigpCiAgICAgd2hlZWxFdmVudEhhbmRsZXJDb3VudENoYW5nZWQodGhpcyk7CiB9CiAKK3ZvaWQg
RG9jdW1lbnQ6OmRpZEFkZFRvdWNoRXZlbnRIYW5kbGVyKCkKK3sKKyAgICArK21fdG91Y2hFdmVu
dEhhbmRsZXJDb3VudDsKKyAgICBGcmFtZSogbWFpbkZyYW1lID0gcGFnZSgpID8gcGFnZSgpLT5t
YWluRnJhbWUoKSA6IDA7CisgICAgaWYgKG1haW5GcmFtZSkKKyAgICAgICAgbWFpbkZyYW1lLT5u
b3RpZnlDaHJvbWVDbGllbnRUb3VjaEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCgpOworfQorCit2
b2lkIERvY3VtZW50OjpkaWRSZW1vdmVUb3VjaEV2ZW50SGFuZGxlcigpCit7CisgICAgQVNTRVJU
KG1fdG91Y2hFdmVudEhhbmRsZXJDb3VudCA+IDApOworICAgIC0tbV90b3VjaEV2ZW50SGFuZGxl
ckNvdW50OworICAgIEZyYW1lKiBtYWluRnJhbWUgPSBwYWdlKCkgPyBwYWdlKCktPm1haW5GcmFt
ZSgpIDogMDsKKyAgICBpZiAobWFpbkZyYW1lKQorICAgICAgICBtYWluRnJhbWUtPm5vdGlmeUNo
cm9tZUNsaWVudFRvdWNoRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKCk7Cit9CisKIGJvb2wgRG9j
dW1lbnQ6OnZpc3VhbFVwZGF0ZXNBbGxvd2VkKCkgY29uc3QKIHsKICAgICByZXR1cm4gIXNldHRp
bmdzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggYTRiZGFkNjg1Y2MzNGRjZTJkYjA2YzYyMDc5
Y2JkYzlmNTE0Y2VjMi4uOTdhOGQ1ZWU4NDMzY2EwYzRhODAzM2QxNGY2NjQ4OTM4ZWQ4YjA1ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTExMTMsNiArMTExMywxMCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBkaWRBZGRXaGVlbEV2ZW50SGFuZGxlcigpOwogICAgIHZvaWQgZGlkUmVtb3ZlV2hlZWxF
dmVudEhhbmRsZXIoKTsKIAorICAgIHVuc2lnbmVkIHRvdWNoRXZlbnRIYW5kbGVyQ291bnQoKSBj
b25zdCB7IHJldHVybiBtX3RvdWNoRXZlbnRIYW5kbGVyQ291bnQ7IH0KKyAgICB2b2lkIGRpZEFk
ZFRvdWNoRXZlbnRIYW5kbGVyKCk7CisgICAgdm9pZCBkaWRSZW1vdmVUb3VjaEV2ZW50SGFuZGxl
cigpOworCiAgICAgYm9vbCB2aXN1YWxVcGRhdGVzQWxsb3dlZCgpIGNvbnN0OwogCiAjaWYgRU5B
QkxFKE1JQ1JPREFUQSkKQEAgLTE0NDksNiArMTQ1Myw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWdu
ZWQgbV93cml0ZVJlY3Vyc2lvbkRlcHRoOwogICAgIAogICAgIHVuc2lnbmVkIG1fd2hlZWxFdmVu
dEhhbmRsZXJDb3VudDsKKyAgICB1bnNpZ25lZCBtX3RvdWNoRXZlbnRIYW5kbGVyQ291bnQ7CiAK
ICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCiAgICAgUmVmUHRyPFNjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlcj4gbV9zY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5jcHAKaW5kZXggM2Q5YWMzZTViMGExYTIxMjc3NGIyZjJlOWY1MGZiOGNhNmJiYzAwZC4u
YTQwMWQ5Y2E3YzY1ZmU3YmMyNWZjZjJlZGVmY2Q4NjQ4ODM1MjIzYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cApAQCAtMjQ3OSw2ICsyNDc5LDExIEBAIHN0YXRpYyBpbmxpbmUgSGFzaFNldDxTVkdFbGVtZW50
SW5zdGFuY2UqPiBpbnN0YW5jZXNGb3JTVkdFbGVtZW50KE5vZGUqIG5vZGUpCiB9CiAjZW5kaWYK
IAorc3RhdGljIGlubGluZSBib29sIGlzVG91Y2hFdmVudFR5cGUoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUpCit7CisgICAgcmV0dXJuIGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkudG91
Y2hzdGFydEV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkudG91Y2htb3ZlRXZlbnQg
fHwgZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS50b3VjaGVuZEV2ZW50IHx8IGV2ZW50VHlwZSA9
PSBldmVudE5hbWVzKCkudG91Y2hjYW5jZWxFdmVudDsKK30KKwogc3RhdGljIGlubGluZSBib29s
IHRyeUFkZEV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUsIFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIsIGJvb2wgdXNl
Q2FwdHVyZSkKIHsKICAgICBpZiAoIXRhcmdldE5vZGUtPkV2ZW50VGFyZ2V0OjphZGRFdmVudExp
c3RlbmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIsIHVzZUNhcHR1cmUpKQpAQCAtMjQ4OCw2ICsyNDkz
LDggQEAgc3RhdGljIGlubGluZSBib29sIHRyeUFkZEV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0
Tm9kZSwgY29uc3QgQXRvbWljU3RyaW5nJiBldmUKICAgICAgICAgZG9jdW1lbnQtPmFkZExpc3Rl
bmVyVHlwZUlmTmVlZGVkKGV2ZW50VHlwZSk7CiAgICAgICAgIGlmIChldmVudFR5cGUgPT0gZXZl
bnROYW1lcygpLm1vdXNld2hlZWxFdmVudCkKICAgICAgICAgICAgIGRvY3VtZW50LT5kaWRBZGRX
aGVlbEV2ZW50SGFuZGxlcigpOworICAgICAgICBlbHNlIGlmIChpc1RvdWNoRXZlbnRUeXBlKGV2
ZW50VHlwZSkpCisgICAgICAgICAgICBkb2N1bWVudC0+ZGlkQWRkVG91Y2hFdmVudEhhbmRsZXIo
KTsKICAgICB9CiAgICAgICAgIAogICAgIHJldHVybiB0cnVlOwpAQCAtMjUzNyw2ICsyNTQ0LDgg
QEAgc3RhdGljIGlubGluZSBib29sIHRyeVJlbW92ZUV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0
Tm9kZSwgY29uc3QgQXRvbWljU3RyaW5nJgogICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSB0
YXJnZXROb2RlLT5kb2N1bWVudCgpKSB7CiAgICAgICAgIGlmIChldmVudFR5cGUgPT0gZXZlbnRO
YW1lcygpLm1vdXNld2hlZWxFdmVudCkKICAgICAgICAgICAgIGRvY3VtZW50LT5kaWRSZW1vdmVX
aGVlbEV2ZW50SGFuZGxlcigpOworICAgICAgICBlbHNlIGlmIChpc1RvdWNoRXZlbnRUeXBlKGV2
ZW50VHlwZSkpCisgICAgICAgICAgICBkb2N1bWVudC0+ZGlkUmVtb3ZlVG91Y2hFdmVudEhhbmRs
ZXIoKTsKICAgICB9CiAgICAgCiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1w
dHlDbGllbnRzLmgKaW5kZXggMmViMjRhMzJiNTkzMzkwNjA0NjE2ZjU4MzYwODlmOWQxZjQyYjE3
ZC4uYTI2NDFmNzUxODk3NzFmNTIzMzcxOWRjMTE0ZmFmNTVkZThjYjhlOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAtMjMzLDcgKzIzMyw4IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgbmVlZFRvdWNoRXZlbnRzKGJvb2wpIHsgfQogI2VuZGlmCiAgICAgCi0gICAg
dmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQor
ICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSBP
VkVSUklERSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdl
ZCh1bnNpZ25lZCkgT1ZFUlJJREUgeyB9CiAgICAgCiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1
YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVD
bGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggNDg2NjI1
YTk4ZDIwZTFjMDNkNTE1ZWIyMjQ0MmQzODE0MmY4MTMwNy4uMzNiMWM0Yjg3MTQ5MDgzYmM2OGVh
NzliNzlmZjE0MmVjZGQ1OWU0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJv
bWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0z
MjUsNiArMzI1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGJvb2wg
c2hvdWxkUnVuTW9kYWxEaWFsb2dEdXJpbmdQYWdlRGlzbWlzc2FsKGNvbnN0IERpYWxvZ1R5cGUm
LCBjb25zdCBTdHJpbmcmIGRpYWxvZ01lc3NhZ2UsIEZyYW1lTG9hZGVyOjpQYWdlRGlzbWlzc2Fs
VHlwZSkgY29uc3QgeyBVTlVTRURfUEFSQU0oZGlhbG9nTWVzc2FnZSk7IHJldHVybiB0cnVlOyB9
CiAKICAgICAgICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5z
aWduZWQpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0No
YW5nZWQodW5zaWduZWQpID0gMDsKICAgICAgICAgCiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc1NW
R0ltYWdlQ2hyb21lQ2xpZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lLmNwcAppbmRleCBjYTljYzlhZmU0ZTE1NGNlMmI5MjE2MWM2MTcyMWEyNzExZGViNTI4Li41
NzVlNzM2NjIwYmVhNWQ4YTI3Y2EyYTZlOTA0ZjI5ZjgyOTVlNjAxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
LmNwcApAQCAtMjkzLDggKzI5MywxMCBAQCB2b2lkIEZyYW1lOjpzZXREb2N1bWVudChQYXNzUmVm
UHRyPERvY3VtZW50PiBuZXdEb2MpCiAgICAgaWYgKG1fZG9jKQogICAgICAgICBtX2RvYy0+dXBk
YXRlVmlld3BvcnRBcmd1bWVudHMoKTsKIAotICAgIGlmIChtX3BhZ2UgJiYgbV9wYWdlLT5tYWlu
RnJhbWUoKSA9PSB0aGlzKQorICAgIGlmIChtX3BhZ2UgJiYgbV9wYWdlLT5tYWluRnJhbWUoKSA9
PSB0aGlzKSB7CiAgICAgICAgIG5vdGlmeUNocm9tZUNsaWVudFdoZWVsRXZlbnRIYW5kbGVyQ291
bnRDaGFuZ2VkKCk7CisgICAgICAgIG5vdGlmeUNocm9tZUNsaWVudFRvdWNoRXZlbnRIYW5kbGVy
Q291bnRDaGFuZ2VkKCk7CisgICAgfQogfQogCiAjaWYgRU5BQkxFKE9SSUVOVEFUSU9OX0VWRU5U
UykKQEAgLTEwMjAsMTYgKzEwMjIsMzAgQEAgdm9pZCBGcmFtZTo6bm90aWZ5Q2hyb21lQ2xpZW50
V2hlZWxFdmVudEhhbmRsZXJDb3VudENoYW5nZWQoKSBjb25zdAogewogICAgIC8vIEVuc3VyZSB0
aGF0IHRoaXMgbWV0aG9kIGlzIGJlaW5nIGNhbGxlZCBvbiB0aGUgbWFpbiBmcmFtZSBvZiB0aGUg
cGFnZS4KICAgICBBU1NFUlQobV9wYWdlICYmIG1fcGFnZS0+bWFpbkZyYW1lKCkgPT0gdGhpcyk7
Ci0gICAgCisKICAgICB1bnNpZ25lZCBjb3VudCA9IDA7CiAgICAgZm9yIChjb25zdCBGcmFtZSog
ZnJhbWUgPSB0aGlzOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQo
KSkgewogICAgICAgICBpZiAoZnJhbWUtPmRvY3VtZW50KCkpCiAgICAgICAgICAgICBjb3VudCAr
PSBmcmFtZS0+ZG9jdW1lbnQoKS0+d2hlZWxFdmVudEhhbmRsZXJDb3VudCgpOwogICAgIH0KLSAg
ICAKKwogICAgIG1fcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5udW1XaGVlbEV2ZW50SGFuZGxl
cnNDaGFuZ2VkKGNvdW50KTsKIH0KIAordm9pZCBGcmFtZTo6bm90aWZ5Q2hyb21lQ2xpZW50VG91
Y2hFdmVudEhhbmRsZXJDb3VudENoYW5nZWQoKSBjb25zdAoreworICAgIC8vIEVuc3VyZSB0aGF0
IHRoaXMgbWV0aG9kIGlzIGJlaW5nIGNhbGxlZCBvbiB0aGUgbWFpbiBmcmFtZSBvZiB0aGUgcGFn
ZS4KKyAgICBBU1NFUlQobV9wYWdlICYmIG1fcGFnZS0+bWFpbkZyYW1lKCkgPT0gdGhpcyk7CisK
KyAgICB1bnNpZ25lZCBjb3VudCA9IDA7CisgICAgZm9yIChjb25zdCBGcmFtZSogZnJhbWUgPSB0
aGlzOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkgeworICAg
ICAgICBpZiAoZnJhbWUtPmRvY3VtZW50KCkpCisgICAgICAgICAgICBjb3VudCArPSBmcmFtZS0+
ZG9jdW1lbnQoKS0+dG91Y2hFdmVudEhhbmRsZXJDb3VudCgpOworICAgIH0KKworICAgIG1fcGFn
ZS0+Y2hyb21lKCktPmNsaWVudCgpLT5udW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKGNvdW50
KTsKK30KKwogI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9STShXSU4pCiBzdHJ1Y3QgU2Nv
cGVkRnJhbWVQYWludGluZ1N0YXRlIHsKICAgICBTY29wZWRGcmFtZVBhaW50aW5nU3RhdGUoRnJh
bWUqIHRoZUZyYW1lLCBSZW5kZXJPYmplY3QqIHRoZVJlbmRlcmVyKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCmlu
ZGV4IDE4ZGE1ZjM2YWI1MmI3MTlhODQ5NmJmOGU2ZmM4MmYxOTVkYjAzMmUuLmE3YWM2MTlmMzIy
ODNlNDMwYzYxMGVlM2FiZWM2NTRlM2Y0ZGE4NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKQEAgLTE5NSw2
ICsxOTUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgLy8gU2hvdWxkIG9ubHkg
YmUgY2FsbGVkIG9uIHRoZSBtYWluIGZyYW1lIG9mIGEgcGFnZS4KICAgICAgICAgdm9pZCBub3Rp
ZnlDaHJvbWVDbGllbnRXaGVlbEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCgpIGNvbnN0OworICAg
ICAgICB2b2lkIG5vdGlmeUNocm9tZUNsaWVudFRvdWNoRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2Vk
KCkgY29uc3Q7CiAKICAgICAvLyA9PT09PT09PQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgKaW5kZXggMWI0MmE0OGE4ZmE5YWEwOTFmN2M5MDc2OGU0
MDE1NDk3YjQ5NDNlZi4uYjY1NmZkNWFkZTY4YTc1N2RhNDk1MTUwODNlYzA0MWQ0N2Q2YTgwZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaApAQCAt
MjYzLDYgKzI2Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZm9jdXNlZE5vZGVDaGFu
Z2VkKGNvbnN0IFdlYk5vZGUmKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBudW1iZXJPZldoZWVs
RXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBudW1i
ZXJPZlRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQogCiAgICAgLy8gSW5k
aWNhdGVzIHR3byB0aGluZ3M6CiAgICAgLy8gICAxKSBUaGlzIHZpZXcgbWF5IGhhdmUgYSBuZXcg
bGF5b3V0IG5vdy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9t
ZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50
SW1wbC5jcHAKaW5kZXggZmIwN2I0YzEwM2ZiMjc5YTI0YzRmMTY3OGViNTk4OGYzMjE3M2JhNi4u
NDVhODEzODU5NDRjZThhYmRiYzdiYjk5NGFlYjNjYzlkZjIyNDBiZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKQEAgLTEwMTgsNiArMTAx
OCwxMSBAQCB2b2lkIENocm9tZUNsaWVudEltcGw6Om51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5n
ZWQodW5zaWduZWQgbnVtYmVyT2ZXaGVlbEhhbmRsZQogICAgIG1fd2ViVmlldy0+bnVtYmVyT2ZX
aGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKG51bWJlck9mV2hlZWxIYW5kbGVycyk7CiB9CiAKK3Zv
aWQgQ2hyb21lQ2xpZW50SW1wbDo6bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25l
ZCBudW1iZXJPZlRvdWNoSGFuZGxlcnMpCit7CisgICAgbV93ZWJWaWV3LT5udW1iZXJPZlRvdWNo
RXZlbnRIYW5kbGVyc0NoYW5nZWQobnVtYmVyT2ZUb3VjaEhhbmRsZXJzKTsKK30KKwogI2lmIEVO
QUJMRShQT0lOVEVSX0xPQ0spCiBib29sIENocm9tZUNsaWVudEltcGw6OnJlcXVlc3RQb2ludGVy
TG9jaygpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVD
bGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBs
LmgKaW5kZXggOGZkMjQ4OGQ5ZWU2NjEwZmUxMzg1OGI4ZWM5ZTU1ODBjNzU0MDUyOC4uMjNlMDJm
ZjNkOTk1MDRmYzI5OTgyZjM3MTE2MzU2YTEwMDU0OTc2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaApAQCAtMjA0LDYgKzIwNCw3IEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oV2ViQ29y
ZTo6U2Nyb2xsRGlyZWN0aW9uKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVu
dEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCk7CisgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZl
bnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpOwogCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykK
ICAgICB2aXJ0dWFsIGJvb2wgcmVxdWVzdFBvaW50ZXJMb2NrKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggNTViOWExZGFjZjRhOTlkMmU3NzhlNzk3
MmRkNDBjM2MwOWYyYTg5Ni4uYzczNjEwYjNjMWUyMjhlOGY0YzJmNTNlZTdkMGE4MGQ1NWFhODRk
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtODEy
LDYgKzgxMiwxMiBAQCB2b2lkIFdlYlZpZXdJbXBsOjpudW1iZXJPZldoZWVsRXZlbnRIYW5kbGVy
c0NoYW5nZWQodW5zaWduZWQgbnVtYmVyT2ZXaGVlbEhhbmRsZQogI2VuZGlmCiB9CiAKK3ZvaWQg
V2ViVmlld0ltcGw6Om51bWJlck9mVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCBu
dW1iZXJPZlRvdWNoSGFuZGxlcnMpCit7CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2Ns
aWVudC0+bnVtYmVyT2ZUb3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKG51bWJlck9mVG91Y2hIYW5k
bGVycyk7Cit9CisKICNpZiAhT1MoREFSV0lOKQogLy8gTWFjIGhhcyBubyB3YXkgdG8gb3BlbiBh
IGNvbnRleHQgbWVudSBiYXNlZCBvbiBhIGtleWJvYXJkIGV2ZW50LgogYm9vbCBXZWJWaWV3SW1w
bDo6c2VuZENvbnRleHRNZW51RXZlbnQoY29uc3QgV2ViS2V5Ym9hcmRFdmVudCYgZXZlbnQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAppbmRleCAxOTdmNTgyZTRlOWVk
MGM1MmE2ODhhMTFmZmUxZTA1MzA5ZmI0YzZmLi5kNDJiMmNiZGRmZjFkNTNmM2I5MjVjOTM4MjMx
NWU1NDk1MDg0Y2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJW
aWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgK
QEAgLTMyMiw2ICszMjIsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCB0b3VjaEV2ZW50KGNvbnN0IFdl
YlRvdWNoRXZlbnQmKTsKIAogICAgIHZvaWQgbnVtYmVyT2ZXaGVlbEV2ZW50SGFuZGxlcnNDaGFu
Z2VkKHVuc2lnbmVkKTsKKyAgICB2b2lkIG51bWJlck9mVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdl
ZCh1bnNpZ25lZCk7CiAKICAgICAvLyBIYW5kbGVzIGNvbnRleHQgbWVudSBldmVudHMgb3JpZ25h
dGVkIHZpYSB0aGUgdGhlIGtleWJvYXJkLiBUaGVzZQogICAgIC8vIGluY2x1ZGUgdGhlIFZLX0FQ
UFMgdmlydHVhbCBrZXkgYW5kIHRoZSBTaGlmdCtGMTAgY29tYmluZS4gQ29kZSBpcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAppbmRl
eCA0YjQ3YzczMWNkNmI3YWQ5NzkyNWRjMTk3NmE4YTY1MzgwMzM5Zjk0Li44MjUxMjI1MWY2YTQ0
MGVhNTkzMzAxM2UxMThkZjNjMDAyNGM3OWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaApAQCAtMTczLDYgKzE3Myw3IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oV2Vi
Q29yZTo6U2Nyb2xsRGlyZWN0aW9uKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVh
bCB2b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQorICAgIHZp
cnR1YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KIAog
ICAgIEV2YXNfT2JqZWN0KiBtX3ZpZXc7CiAgICAgS1VSTCBtX2hvdmVyZWRMaW5rVVJMOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3Rr
LmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaApp
bmRleCA1ZDMwODJkYzU2NGEyNDViNTI2MzEyYWNiOGZhMDZiZTkxNTZmMjdiLi45ZDIxMDVkNmRm
N2ZjNDBkYmU5NzBjNTFjMTg3MGY1ZDkxMDlmYWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaApAQCAtMTU5LDYgKzE1OSw3IEBA
IG5hbWVzcGFjZSBXZWJLaXQgewogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJC
YW5kSW5EaXJlY3Rpb24oU2Nyb2xsRGlyZWN0aW9uKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVk
KSB7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQo
dW5zaWduZWQpIHsgfQogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAKICAgICAg
ICAgdmlydHVhbCB2b2lkIGF0dGFjaFJvb3RHcmFwaGljc0xheWVyKEZyYW1lKiwgR3JhcGhpY3NM
YXllciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaAppbmRleCA0OGZmMDliYmE2ODE5NjdmN2M2Mjc2NjczNDY0NTk0NGE1NGViMmY0
Li42NmZhMDYwYjVhNTNkYmMyZjM4ZWVhNmY1NDUyZDc2ZGE2YmIxZjkyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTg5
LDYgKzE4OSw3IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIAogICAgIHZpcnR1YWwgdm9pZCBudW1X
aGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSBPVkVSUklERSB7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgT1ZFUlJJREUg
eyB9CiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3Jl
OjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CiBwcml2
YXRlOgogICAgIFdlYlZpZXcgKm1fd2ViVmlldzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAppbmRleCA2YTU3NmQ5NmRhYzQ2YWZlMzc0Yzcw
YmVhYzFiNmI5NGUzNjIzYTljLi4zZDQ1YjdiNTFhMmUzMjAwNDRlNjQwMWY3MDhiYjJjMDhmMzc1
NWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFF0LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRRdC5oCkBAIC0xOTIsNiArMTkyLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNo
b3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJz
Q2hhbmdlZCh1bnNpZ25lZCkgeyB9CisgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5k
bGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQogCiAgICAgUVdlYlBhZ2UqIG1fd2ViUGFnZTsKICAg
ICBLVVJMIGxhc3RIb3ZlclVSTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggYjZhZWIxY2Y3MWU2M2ViODZlYzNiYWVlMDE0
Yjk1NWU4OTk5MjM5YS4uMmE5YThmZTdmM2Q0ZjQ1M2ZlNGFiMWYwZWRjYjlkZDM5ZmFhYmM5YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmgKQEAgLTE3Nyw2ICsxNzcsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hv
dWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbikgY29uc3Qg
eyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnND
aGFuZ2VkKHVuc2lnbmVkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRs
ZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAKIHByaXZhdGU6CiAgICAgQ09NUHRyPElXZWJVSURl
bGVnYXRlPiB1aURlbGVnYXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmggYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKaW5kZXggMDA2ZTAxMGY4ZDI3ODI2OWZk
ZTc2ZjM1ZTZlYjJhYzc0NDk4MzY1Ni4uNjEzNzgzYTAzM2U1OWFjYTkxZDk4NDUzNjAwMDY0OTA1
YzIwNjIxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRXaW5DRS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50V2luQ0UuaApAQCAtMTc3LDYgKzE3Nyw3IEBAIHB1YmxpYzoKIAogICAg
IHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oV2ViQ29yZTo6U2Nyb2xs
RGlyZWN0aW9uKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIG51bVdo
ZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBu
dW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KIAogcHJpdmF0ZToKICAg
ICBXZWJWaWV3KiBtX3dlYlZpZXc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktp
dFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaCBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9y
dC9DaHJvbWVDbGllbnRXeC5oCmluZGV4IGRjZDE2NGYzNGI2ZmU0MWM3YWNiMWFmZWMyOWVmYTI2
ODJjODhiNzUuLjJiNmNkZWY2MTJjYWZjZDRmMjUwMTM0NTE2OGRhM2NlNzA1ODg1NjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCkBAIC0x
NTEsNiArMTUxLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJh
bmRJbkRpcmVjdGlvbihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNp
Z25lZCkgeyB9CisgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQo
dW5zaWduZWQpIHsgfQogICAgIAogICAgIHZpcnR1YWwgYm9vbCBoYXNPcGVuZWRQb3B1cCgpIGNv
bnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCBkZDY4ZTFmOWJkZDMzOTkyMjE1MmVjM2Uw
YTVlYTM0YTA1MWE4ZWM2Li45NzYxYzE1NGExZTk0NDJmMjMzNjE5MTRjY2E3NTlkNGE5M2Q0MjYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTIyMCw2ICsyMjAsNyBAQCBwcml2YXRlOgogICAg
IHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oV2ViQ29yZTo6U2Nyb2xs
RGlyZWN0aW9uKSBjb25zdCBPVkVSUklERTsKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hl
ZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2
b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIE9WRVJSSURFIHsgfQog
CiAgICAgU3RyaW5nIG1fY2FjaGVkVG9vbFRpcDsKICAgICBtdXRhYmxlIFJlZlB0cjxXZWJGcmFt
ZT4gbV9jYWNoZWRGcmFtZVNldExhcmdlc3RGcmFtZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127198</attachid>
            <date>2012-02-15 10:36:24 -0800</date>
            <delta_ts>2012-02-15 12:21:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77440-20120215133623.patch</filename>
            <type>text/plain</type>
            <size>24636</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRlN2Q3YWFhYzdlMTk5
YmNhNGY2ZGE3NzNmMDZiNjg0Yzk4ZjVlMC4uMTU4MWJmNDc5N2YxMmQxYjM2OWIwZjQ3YTI4Y2U2
OGJlYTFjYmM0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTAyLTE0ICBTYWRy
dWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBOb3Rp
ZnkgQ2hyb21lQ2xpZW50IHdoZW4gdG91Y2gtZXZlbnQgaGFuZGxlcnMgYXJlIGluc3RhbGxlZC9y
ZW1vdmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Nzc0NDAKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIgYW5kIFJ5b3N1a2UgTml3
YS4KKworICAgICAgICBLZWVwIGEgY291bnQgb2YgdGhlIG51bWJlciBvZiB0b3VjaC1ldmVudCBo
YW5kbGVycyBhbmQgbm90aWZ5IHRoZQorICAgICAgICBlbWJlZGRlciB3aGVuIHRoZSBjb3VudCBj
aGFuZ2VzLiBEZXBlbmRpbmcgb24gdGhlIGNvdW50LCB0aGUgZW1iZWRkZXIKKyAgICAgICAgY2Fu
IGRlY2lkZSB3aGV0aGVyIG9yIG5vdCB0byBkaXNwYXRjaCB0b3VjaCBldmVudHMgdG8gd2Via2l0
LgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50OjpEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGlkQWRkVG91Y2hF
dmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6ZGlkUmVtb3ZlVG91Y2hFdmVudEhhbmRsZXIpOgorICAgICAgICAqIGRvbS9Eb2N1bWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnRvdWNoRXZlbnRIYW5kbGVyQ291bnQp
OgorICAgICAgICAoRG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmlzVG91Y2hFdmVudFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6dHJ5QWRkRXZl
bnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjp0cnlSZW1vdmVFdmVudExpc3RlbmVyKToK
KyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpFbXB0
eUNocm9tZUNsaWVudDo6bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6CisgICAgICAgICog
cGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKENocm9tZUNsaWVudCk6CisgICAgICAgICog
cGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6bm90aWZ5Q2hyb21lQ2xp
ZW50V2hlZWxFdmVudEhhbmRsZXJDb3VudENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWU6Om5vdGlmeUNocm9tZUNsaWVudFRvdWNoRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKToKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuaDoKKyAgICAgICAgKEZyYW1l
KToKKwogMjAxMi0wMi0xNCAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBNYWtlIFNjcmlwdHNOYXZpZ2F0b3IgZGVmYXVsdCBm
aWxlIHNlbGVjdG9yLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBjNmVlODEwY2ZmOTFm
OGQ1OGU1YWE4NDRlMDMzZDBlZmRjYjY0NDNkLi43NzkxMWE5NTIwNTViZDk3Y2QyMTVlMzdiZmVj
MTU0ZmM0YmJhYzVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBA
CisyMDEyLTAyLTE0ICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBOb3RpZnkgQ2hyb21lQ2xpZW50IHdoZW4gdG91Y2gtZXZlbnQgaGFuZGxl
cnMgYXJlIGluc3RhbGxlZC9yZW1vdmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDAKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNo
ZXIgYW5kIFJ5b3N1a2UgTml3YS4KKworICAgICAgICAqIHB1YmxpYy9XZWJWaWV3Q2xpZW50Lmg6
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdDbGllbnQ6Om51bWJlck9mVG91Y2hFdmVudEhhbmRs
ZXJzQ2hhbmdlZCk6CisgICAgICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpDaHJvbWVDbGllbnRJbXBsOjpudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2Vk
KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuaDoK
KyAgICAgICAgKENocm9tZUNsaWVudEltcGwpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpudW1iZXJPZlRvdWNoRXZlbnRIYW5k
bGVyc0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBzcmMvV2ViVmlld0lt
cGwuaDoKKyAgICAgICAgKFdlYlZpZXdJbXBsKToKKwogMjAxMi0wMi0xNCAgVnNldm9sb2QgVmxh
c292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBNYWtl
IFNjcmlwdHNOYXZpZ2F0b3IgZGVmYXVsdCBmaWxlIHNlbGVjdG9yLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmlu
ZGV4IDNmOGVkYzEyZDFhZjdhZTAwYTQ2YzEyYWIxNTZjZWM5Y2JiYWViNDEuLjU4NmQ1NzRhNTk3
MmE0M2QyZTI2ODhiMDFiNjQxMjUzYmYyMDAwZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMyBAQAorMjAxMi0wMi0xNCAgU2FkcnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1bEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNsaWVudCB3aGVuIHRvdWNoLWV2ZW50
IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gRmlzaGVyIGFuZCBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRFZmwuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEVmbDo6bnVt
VG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6CisKIDIwMTItMDItMTEgIE5pa29sYXMgWmltbWVy
bWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgQ29udmVydCBzdmcvYW5pbWF0
aW9ucyB0byB1c2UgU01JTCBtZXRob2RzIGZvciBkcml2aW5nIHRoZSB0aW1lbGluZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hh
bmdlTG9nCmluZGV4IGFkYzViZmJlNzJkZjgyNDQzMGY4NjM2Mjk1ZjU4ZDRjYTQyZjEzMzkuLjM3
YzI1ODI2NWM1YjczYWE1NmI0NWQ1Y2I1ODNkZjRmMGUxZTM1MDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0xNCAgU2FkcnVsIEhhYmliIENob3dkaHVyeSAgPHNh
ZHJ1bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNsaWVudCB3aGVuIHRv
dWNoLWV2ZW50IGhhbmRsZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gRmlzaGVyIGFuZCBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50
OjpudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKToKKwogMjAxMi0wMi0xMSAgTmlrb2xhcyBa
aW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KIAogICAgICAgICBDb252ZXJ0IHN2Zy9h
bmltYXRpb25zIHRvIHVzZSBTTUlMIG1ldGhvZHMgZm9yIGRyaXZpbmcgdGhlIHRpbWVsaW5lCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKaW5kZXggMzE2NjUyM2QzYzk0MTg0Y2ZiMzRiNDAwZjU2YjE5YWYzOWY2YzM1
Ni4uZDQxYTIwZGMyZDYxYjdhYTU0MjM3NDVlNjA3NGU4MjhhY2IyOThmNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTAyLTE0ICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5
ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBOb3RpZnkgQ2hyb21lQ2xpZW50IHdo
ZW4gdG91Y2gtZXZlbnQgaGFuZGxlcnMgYXJlIGluc3RhbGxlZC9yZW1vdmVkLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDAKKworICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIgYW5kIFJ5b3N1a2UgTml3YS4KKworICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDEyLTAyLTE0ICBBbGV4ZXkgUHJv
c2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdW1dpbl1bV0syXSBTd2l0
Y2ggdG8gUkZDIDY0NTUgcHJvdG9jb2wgZm9yIFdlYlNvY2tldHMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXgg
MjNjNWU3NmMwZTQ2NzljNGMzNmEwNDBlNmU5ZDg1Mzk1NWIxMzQxMS4uNzMyYTE2NDdiOTllODE0
YTgxOWIxNzU2OGEzZDVhOTNjNDFlNzJlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAxMi0wMi0xNCAgU2FkcnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1bEBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNsaWVudCB3aGVuIHRvdWNoLWV2ZW50IGhhbmRs
ZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlz
aGVyIGFuZCBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRRdC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6Om51bVRvdWNoRXZl
bnRIYW5kbGVyc0NoYW5nZWQpOgorCiAyMDEyLTAyLTExICBOaWtvbGFzIFppbW1lcm1hbm4gIDxu
emltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIENvbnZlcnQgc3ZnL2FuaW1hdGlvbnMgdG8g
dXNlIFNNSUwgbWV0aG9kcyBmb3IgZHJpdmluZyB0aGUgdGltZWxpbmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpp
bmRleCAxMTlkYTE3ZmJjNGZlZmJlNTA5YTVkYTY4YjUxNDUyMjZkMTg1OGM3Li43YmIyZjNhMWRm
ZDllMWI0ZDIwZTIwMjZjYjM2YWZjNjEwZjhjMDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTItMDItMTQgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3VjaC1ldmVu
dCBoYW5kbGVycyBhcmUgaW5zdGFsbGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEZpc2hlciBhbmQgUnlvc3VrZSBOaXdhLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6Om51bVRvdWNoRXZl
bnRIYW5kbGVyc0NoYW5nZWQpOgorCiAyMDEyLTAyLTE0ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8
YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdW1dpbl1bV0syXSBTd2l0Y2ggdG8gUkZDIDY0
NTUgcHJvdG9jb2wgZm9yIFdlYlNvY2tldHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2lu
Y2UvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKaW5kZXggNmQyYTdl
NjQ3YjJlMGFlMDliN2Y3NmNjMDY3MjY3ODU5M2Y5MjEzMS4uNzM2YTIzOWZhOTNjYmZlZmMyZWJl
OTVmYjllNjRiOTFhYjhiNmU4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAxMi0wMi0xNCAgU2FkcnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1bEBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgTm90aWZ5IENocm9tZUNsaWVudCB3aGVuIHRvdWNoLWV2ZW50IGhhbmRs
ZXJzIGFyZSBpbnN0YWxsZWQvcmVtb3ZlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc3NDQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlz
aGVyIGFuZCBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRXaW5DRS5oOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnRXaW5DRTo6bnVtVG91
Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCk6CisKIDIwMTEtMTItMTkgIFNhbSBXZWluaWcgIDxzYW1A
d2Via2l0Lm9yZz4KIAogICAgICAgICBNb3JlIFBsYXRmb3JtRXZlbnQgY2xlYW51cApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5n
ZUxvZwppbmRleCBiNDViMzUwMDUwMDUxOTc1MDkxMzRjZTQ0YzVlOTFiMzYxOGVkNWM3Li45YjZi
M2U2ODAwMTM5NGFhZGVkN2EyZjEyMTQwNWMwMWQ2YzQ2ZjMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3d4L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDEyLTAyLTE0ICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVs
QGNocm9taXVtLm9yZz4KKworICAgICAgICBOb3RpZnkgQ2hyb21lQ2xpZW50IHdoZW4gdG91Y2gt
ZXZlbnQgaGFuZGxlcnMgYXJlIGluc3RhbGxlZC9yZW1vdmVkLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDAKKworICAgICAgICBSZXZpZXdlZCBi
eSBEYXJpbiBGaXNoZXIgYW5kIFJ5b3N1a2UgTml3YS4KKworICAgICAgICAqIFdlYktpdFN1cHBv
cnQvQ2hyb21lQ2xpZW50V3guaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudFd4Ojpu
dW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKToKKwogMjAxMi0wMS0zMCAgS2V2aW4gT2xsaXZp
ZXIgIDxrZXZpbm9AdGhlb2xsaXZpZXJzLmNvbT4KIAogICAgICAgICBbd3hdIFVucmV2aWV3ZWQu
IEJ1aWxkIGZpeCwgYWRkIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBiZGE1
NmVhN2FhMmFmN2E5Y2I5OTZlOWQ3NTAyN2E0YzFmOThiYTcwLi40ZTMwODU1ZDc4NjFmZWQ1ZWQ4
MzdlZGVkNzEyZTVlMzhlODM2ZGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTIt
MDItMTQgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIE5vdGlmeSBDaHJvbWVDbGllbnQgd2hlbiB0b3VjaC1ldmVudCBoYW5kbGVycyBhcmUg
aW5zdGFsbGVkL3JlbW92ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03NzQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlciBhbmQg
Unlvc3VrZSBOaXdhLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Om51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6
CisKIDIwMTItMDItMTQgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNv
bT4KIAogICAgICAgICBbUXRdW1RleG1hcF0gUmVmYWN0b3IgYmFja2luZy1zdG9yZSBjb2RlIGlu
IFRleHR1cmVNYXBwZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDMwYmY1YmZjYjFjZjE2
MmM1ZWEzYjYzYWY2ZDM0NTQ5OTJhYTk3Y2UuLjhmNGFlYzE1OTQ5OTFmZWQ2OGEzMDUwZDMwZWRj
MGEyYzE5NjFhMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDM3LDYgKzQzNyw3IEBA
IERvY3VtZW50OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IEtVUkwmIHVybCwgYm9vbCBp
c1hIVE1MLCBib29sIGlzSFRNTCkKICAgICAsIG1fd3JpdGVSZWN1cnNpb25Jc1Rvb0RlZXAoZmFs
c2UpCiAgICAgLCBtX3dyaXRlUmVjdXJzaW9uRGVwdGgoMCkKICAgICAsIG1fd2hlZWxFdmVudEhh
bmRsZXJDb3VudCgwKQorICAgICwgbV90b3VjaEV2ZW50SGFuZGxlckNvdW50KDApCiAgICAgLCBt
X3BlbmRpbmdUYXNrc1RpbWVyKHRoaXMsICZEb2N1bWVudDo6cGVuZGluZ1Rhc2tzVGltZXJGaXJl
ZCkKIHsKICAgICBtX2RvY3VtZW50ID0gdGhpczsKQEAgLTU0MTAsNiArNTQxMSwyMyBAQCB2b2lk
IERvY3VtZW50OjpkaWRSZW1vdmVXaGVlbEV2ZW50SGFuZGxlcigpCiAgICAgd2hlZWxFdmVudEhh
bmRsZXJDb3VudENoYW5nZWQodGhpcyk7CiB9CiAKK3ZvaWQgRG9jdW1lbnQ6OmRpZEFkZFRvdWNo
RXZlbnRIYW5kbGVyKCkKK3sKKyAgICArK21fdG91Y2hFdmVudEhhbmRsZXJDb3VudDsKKyAgICBG
cmFtZSogbWFpbkZyYW1lID0gcGFnZSgpID8gcGFnZSgpLT5tYWluRnJhbWUoKSA6IDA7CisgICAg
aWYgKG1haW5GcmFtZSkKKyAgICAgICAgbWFpbkZyYW1lLT5ub3RpZnlDaHJvbWVDbGllbnRUb3Vj
aEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCgpOworfQorCit2b2lkIERvY3VtZW50OjpkaWRSZW1v
dmVUb3VjaEV2ZW50SGFuZGxlcigpCit7CisgICAgQVNTRVJUKG1fdG91Y2hFdmVudEhhbmRsZXJD
b3VudCA+IDApOworICAgIC0tbV90b3VjaEV2ZW50SGFuZGxlckNvdW50OworICAgIEZyYW1lKiBt
YWluRnJhbWUgPSBwYWdlKCkgPyBwYWdlKCktPm1haW5GcmFtZSgpIDogMDsKKyAgICBpZiAobWFp
bkZyYW1lKQorICAgICAgICBtYWluRnJhbWUtPm5vdGlmeUNocm9tZUNsaWVudFRvdWNoRXZlbnRI
YW5kbGVyQ291bnRDaGFuZ2VkKCk7Cit9CisKIGJvb2wgRG9jdW1lbnQ6OnZpc3VhbFVwZGF0ZXNB
bGxvd2VkKCkgY29uc3QKIHsKICAgICByZXR1cm4gIXNldHRpbmdzKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKaW5kZXggYTRiZGFkNjg1Y2MzNGRjZTJkYjA2YzYyMDc5Y2JkYzlmNTE0Y2VjMi4uOTdhOGQ1
ZWU4NDMzY2EwYzRhODAzM2QxNGY2NjQ4OTM4ZWQ4YjA1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
QEAgLTExMTMsNiArMTExMywxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRBZGRXaGVlbEV2ZW50
SGFuZGxlcigpOwogICAgIHZvaWQgZGlkUmVtb3ZlV2hlZWxFdmVudEhhbmRsZXIoKTsKIAorICAg
IHVuc2lnbmVkIHRvdWNoRXZlbnRIYW5kbGVyQ291bnQoKSBjb25zdCB7IHJldHVybiBtX3RvdWNo
RXZlbnRIYW5kbGVyQ291bnQ7IH0KKyAgICB2b2lkIGRpZEFkZFRvdWNoRXZlbnRIYW5kbGVyKCk7
CisgICAgdm9pZCBkaWRSZW1vdmVUb3VjaEV2ZW50SGFuZGxlcigpOworCiAgICAgYm9vbCB2aXN1
YWxVcGRhdGVzQWxsb3dlZCgpIGNvbnN0OwogCiAjaWYgRU5BQkxFKE1JQ1JPREFUQSkKQEAgLTE0
NDksNiArMTQ1Myw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV93cml0ZVJlY3Vyc2lvbkRl
cHRoOwogICAgIAogICAgIHVuc2lnbmVkIG1fd2hlZWxFdmVudEhhbmRsZXJDb3VudDsKKyAgICB1
bnNpZ25lZCBtX3RvdWNoRXZlbnRIYW5kbGVyQ291bnQ7CiAKICNpZiBFTkFCTEUoUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpCiAgICAgUmVmUHRyPFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcj4g
bV9zY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggM2Q5YWMz
ZTViMGExYTIxMjc3NGIyZjJlOWY1MGZiOGNhNmJiYzAwZC4uYTQwMWQ5Y2E3YzY1ZmU3YmMyNWZj
ZjJlZGVmY2Q4NjQ4ODM1MjIzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtMjQ3OSw2ICsyNDc5LDEx
IEBAIHN0YXRpYyBpbmxpbmUgSGFzaFNldDxTVkdFbGVtZW50SW5zdGFuY2UqPiBpbnN0YW5jZXNG
b3JTVkdFbGVtZW50KE5vZGUqIG5vZGUpCiB9CiAjZW5kaWYKIAorc3RhdGljIGlubGluZSBib29s
IGlzVG91Y2hFdmVudFR5cGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpCit7CisgICAg
cmV0dXJuIGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkudG91Y2hzdGFydEV2ZW50IHx8IGV2ZW50
VHlwZSA9PSBldmVudE5hbWVzKCkudG91Y2htb3ZlRXZlbnQgfHwgZXZlbnRUeXBlID09IGV2ZW50
TmFtZXMoKS50b3VjaGVuZEV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkudG91Y2hj
YW5jZWxFdmVudDsKK30KKwogc3RhdGljIGlubGluZSBib29sIHRyeUFkZEV2ZW50TGlzdGVuZXIo
Tm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQ
dHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIsIGJvb2wgdXNlQ2FwdHVyZSkKIHsKICAgICBpZiAo
IXRhcmdldE5vZGUtPkV2ZW50VGFyZ2V0OjphZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgbGlz
dGVuZXIsIHVzZUNhcHR1cmUpKQpAQCAtMjQ4OCw2ICsyNDkzLDggQEAgc3RhdGljIGlubGluZSBi
b29sIHRyeUFkZEV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgQXRvbWljU3Ry
aW5nJiBldmUKICAgICAgICAgZG9jdW1lbnQtPmFkZExpc3RlbmVyVHlwZUlmTmVlZGVkKGV2ZW50
VHlwZSk7CiAgICAgICAgIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLm1vdXNld2hlZWxF
dmVudCkKICAgICAgICAgICAgIGRvY3VtZW50LT5kaWRBZGRXaGVlbEV2ZW50SGFuZGxlcigpOwor
ICAgICAgICBlbHNlIGlmIChpc1RvdWNoRXZlbnRUeXBlKGV2ZW50VHlwZSkpCisgICAgICAgICAg
ICBkb2N1bWVudC0+ZGlkQWRkVG91Y2hFdmVudEhhbmRsZXIoKTsKICAgICB9CiAgICAgICAgIAog
ICAgIHJldHVybiB0cnVlOwpAQCAtMjUzNyw2ICsyNTQ0LDggQEAgc3RhdGljIGlubGluZSBib29s
IHRyeVJlbW92ZUV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgQXRvbWljU3Ry
aW5nJgogICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSB0YXJnZXROb2RlLT5kb2N1bWVudCgp
KSB7CiAgICAgICAgIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLm1vdXNld2hlZWxFdmVu
dCkKICAgICAgICAgICAgIGRvY3VtZW50LT5kaWRSZW1vdmVXaGVlbEV2ZW50SGFuZGxlcigpOwor
ICAgICAgICBlbHNlIGlmIChpc1RvdWNoRXZlbnRUeXBlKGV2ZW50VHlwZSkpCisgICAgICAgICAg
ICBkb2N1bWVudC0+ZGlkUmVtb3ZlVG91Y2hFdmVudEhhbmRsZXIoKTsKICAgICB9CiAgICAgCiAg
ICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggMmVi
MjRhMzJiNTkzMzkwNjA0NjE2ZjU4MzYwODlmOWQxZjQyYjE3ZC4uYTI2NDFmNzUxODk3NzFmNTIz
MzcxOWRjMTE0ZmFmNTVkZThjYjhlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMu
aApAQCAtMjMzLDcgKzIzMyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbmVlZFRvdWNo
RXZlbnRzKGJvb2wpIHsgfQogI2VuZGlmCiAgICAgCi0gICAgdmlydHVhbCB2b2lkIG51bVdoZWVs
RXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBudW1X
aGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSBPVkVSUklERSB7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgT1ZFUlJJREUg
eyB9CiAgICAgCiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihX
ZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggNDg2NjI1YTk4ZDIwZTFjMDNkNTE1ZWIyMjQ0
MmQzODE0MmY4MTMwNy4uMzNiMWM0Yjg3MTQ5MDgzYmM2OGVhNzliNzlmZjE0MmVjZGQ1OWU0MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0zMjUsNiArMzI1LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnVuTW9kYWxEaWFsb2dE
dXJpbmdQYWdlRGlzbWlzc2FsKGNvbnN0IERpYWxvZ1R5cGUmLCBjb25zdCBTdHJpbmcmIGRpYWxv
Z01lc3NhZ2UsIEZyYW1lTG9hZGVyOjpQYWdlRGlzbWlzc2FsVHlwZSkgY29uc3QgeyBVTlVTRURf
UEFSQU0oZGlhbG9nTWVzc2FnZSk7IHJldHVybiB0cnVlOyB9CiAKICAgICAgICAgdmlydHVhbCB2
b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpID0gMDsKKyAgICAgICAg
dmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpID0gMDsK
ICAgICAgICAgCiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc1NWR0ltYWdlQ2hyb21lQ2xpZW50KCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCBjYTljYzlh
ZmU0ZTE1NGNlMmI5MjE2MWM2MTcyMWEyNzExZGViNTI4Li41NzVlNzM2NjIwYmVhNWQ4YTI3Y2Ey
YTZlOTA0ZjI5ZjgyOTVlNjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtMjkzLDggKzI5Mywx
MCBAQCB2b2lkIEZyYW1lOjpzZXREb2N1bWVudChQYXNzUmVmUHRyPERvY3VtZW50PiBuZXdEb2Mp
CiAgICAgaWYgKG1fZG9jKQogICAgICAgICBtX2RvYy0+dXBkYXRlVmlld3BvcnRBcmd1bWVudHMo
KTsKIAotICAgIGlmIChtX3BhZ2UgJiYgbV9wYWdlLT5tYWluRnJhbWUoKSA9PSB0aGlzKQorICAg
IGlmIChtX3BhZ2UgJiYgbV9wYWdlLT5tYWluRnJhbWUoKSA9PSB0aGlzKSB7CiAgICAgICAgIG5v
dGlmeUNocm9tZUNsaWVudFdoZWVsRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKCk7CisgICAgICAg
IG5vdGlmeUNocm9tZUNsaWVudFRvdWNoRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKCk7CisgICAg
fQogfQogCiAjaWYgRU5BQkxFKE9SSUVOVEFUSU9OX0VWRU5UUykKQEAgLTEwMjAsMTYgKzEwMjIs
MzAgQEAgdm9pZCBGcmFtZTo6bm90aWZ5Q2hyb21lQ2xpZW50V2hlZWxFdmVudEhhbmRsZXJDb3Vu
dENoYW5nZWQoKSBjb25zdAogewogICAgIC8vIEVuc3VyZSB0aGF0IHRoaXMgbWV0aG9kIGlzIGJl
aW5nIGNhbGxlZCBvbiB0aGUgbWFpbiBmcmFtZSBvZiB0aGUgcGFnZS4KICAgICBBU1NFUlQobV9w
YWdlICYmIG1fcGFnZS0+bWFpbkZyYW1lKCkgPT0gdGhpcyk7Ci0gICAgCisKICAgICB1bnNpZ25l
ZCBjb3VudCA9IDA7CiAgICAgZm9yIChjb25zdCBGcmFtZSogZnJhbWUgPSB0aGlzOyBmcmFtZTsg
ZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkgewogICAgICAgICBpZiAoZnJh
bWUtPmRvY3VtZW50KCkpCiAgICAgICAgICAgICBjb3VudCArPSBmcmFtZS0+ZG9jdW1lbnQoKS0+
d2hlZWxFdmVudEhhbmRsZXJDb3VudCgpOwogICAgIH0KLSAgICAKKwogICAgIG1fcGFnZS0+Y2hy
b21lKCktPmNsaWVudCgpLT5udW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKGNvdW50KTsKIH0K
IAordm9pZCBGcmFtZTo6bm90aWZ5Q2hyb21lQ2xpZW50VG91Y2hFdmVudEhhbmRsZXJDb3VudENo
YW5nZWQoKSBjb25zdAoreworICAgIC8vIEVuc3VyZSB0aGF0IHRoaXMgbWV0aG9kIGlzIGJlaW5n
IGNhbGxlZCBvbiB0aGUgbWFpbiBmcmFtZSBvZiB0aGUgcGFnZS4KKyAgICBBU1NFUlQobV9wYWdl
ICYmIG1fcGFnZS0+bWFpbkZyYW1lKCkgPT0gdGhpcyk7CisKKyAgICB1bnNpZ25lZCBjb3VudCA9
IDA7CisgICAgZm9yIChjb25zdCBGcmFtZSogZnJhbWUgPSB0aGlzOyBmcmFtZTsgZnJhbWUgPSBm
cmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkgeworICAgICAgICBpZiAoZnJhbWUtPmRvY3Vt
ZW50KCkpCisgICAgICAgICAgICBjb3VudCArPSBmcmFtZS0+ZG9jdW1lbnQoKS0+dG91Y2hFdmVu
dEhhbmRsZXJDb3VudCgpOworICAgIH0KKworICAgIG1fcGFnZS0+Y2hyb21lKCktPmNsaWVudCgp
LT5udW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKGNvdW50KTsKK30KKwogI2lmICFQTEFURk9S
TShNQUMpICYmICFQTEFURk9STShXSU4pCiBzdHJ1Y3QgU2NvcGVkRnJhbWVQYWludGluZ1N0YXRl
IHsKICAgICBTY29wZWRGcmFtZVBhaW50aW5nU3RhdGUoRnJhbWUqIHRoZUZyYW1lLCBSZW5kZXJP
YmplY3QqIHRoZVJlbmRlcmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCmluZGV4IDE4ZGE1ZjM2YWI1MmI3MTlh
ODQ5NmJmOGU2ZmM4MmYxOTVkYjAzMmUuLmE3YWM2MTlmMzIyODNlNDMwYzYxMGVlM2FiZWM2NTRl
M2Y0ZGE4NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKQEAgLTE5NSw2ICsxOTUsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICAgICAgLy8gU2hvdWxkIG9ubHkgYmUgY2FsbGVkIG9uIHRoZSBtYWlu
IGZyYW1lIG9mIGEgcGFnZS4KICAgICAgICAgdm9pZCBub3RpZnlDaHJvbWVDbGllbnRXaGVlbEV2
ZW50SGFuZGxlckNvdW50Q2hhbmdlZCgpIGNvbnN0OworICAgICAgICB2b2lkIG5vdGlmeUNocm9t
ZUNsaWVudFRvdWNoRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKCkgY29uc3Q7CiAKICAgICAvLyA9
PT09PT09PQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJW
aWV3Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50
LmgKaW5kZXggMWI0MmE0OGE4ZmE5YWEwOTFmN2M5MDc2OGU0MDE1NDk3YjQ5NDNlZi4uYjY1NmZk
NWFkZTY4YTc1N2RhNDk1MTUwODNlYzA0MWQ0N2Q2YTgwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaApAQCAtMjYzLDYgKzI2Myw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgZm9jdXNlZE5vZGVDaGFuZ2VkKGNvbnN0IFdlYk5vZGUmKSB7
IH0KIAogICAgIHZpcnR1YWwgdm9pZCBudW1iZXJPZldoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQo
dW5zaWduZWQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBudW1iZXJPZlRvdWNoRXZlbnRIYW5kbGVy
c0NoYW5nZWQodW5zaWduZWQpIHsgfQogCiAgICAgLy8gSW5kaWNhdGVzIHR3byB0aGluZ3M6CiAg
ICAgLy8gICAxKSBUaGlzIHZpZXcgbWF5IGhhdmUgYSBuZXcgbGF5b3V0IG5vdy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKaW5kZXggZmIwN2I0
YzEwM2ZiMjc5YTI0YzRmMTY3OGViNTk4OGYzMjE3M2JhNi4uNDVhODEzODU5NDRjZThhYmRiYzdi
Yjk5NGFlYjNjYzlkZjIyNDBiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
Q2hyb21lQ2xpZW50SW1wbC5jcHAKQEAgLTEwMTgsNiArMTAxOCwxMSBAQCB2b2lkIENocm9tZUNs
aWVudEltcGw6Om51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQgbnVtYmVyT2ZX
aGVlbEhhbmRsZQogICAgIG1fd2ViVmlldy0+bnVtYmVyT2ZXaGVlbEV2ZW50SGFuZGxlcnNDaGFu
Z2VkKG51bWJlck9mV2hlZWxIYW5kbGVycyk7CiB9CiAKK3ZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6
bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCBudW1iZXJPZlRvdWNoSGFuZGxl
cnMpCit7CisgICAgbV93ZWJWaWV3LT5udW1iZXJPZlRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQo
bnVtYmVyT2ZUb3VjaEhhbmRsZXJzKTsKK30KKwogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiBi
b29sIENocm9tZUNsaWVudEltcGw6OnJlcXVlc3RQb2ludGVyTG9jaygpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmggYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgKaW5kZXggOGZkMjQ4OGQ5ZWU2
NjEwZmUxMzg1OGI4ZWM5ZTU1ODBjNzU0MDUyOC4uMjNlMDJmZjNkOTk1MDRmYzI5OTgyZjM3MTE2
MzU2YTEwMDU0OTc2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hy
b21lQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNs
aWVudEltcGwuaApAQCAtMjA0LDYgKzIwNCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9v
bCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uKSBj
b25zdDsKICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNp
Z25lZCk7CisgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5z
aWduZWQpOwogCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKICAgICB2aXJ0dWFsIGJvb2wgcmVx
dWVzdFBvaW50ZXJMb2NrKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1w
bC5jcHAKaW5kZXggNTViOWExZGFjZjRhOTlkMmU3NzhlNzk3MmRkNDBjM2MwOWYyYTg5Ni4uYzcz
NjEwYjNjMWUyMjhlOGY0YzJmNTNlZTdkMGE4MGQ1NWFhODRkMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtODEyLDYgKzgxMiwxMiBAQCB2b2lkIFdl
YlZpZXdJbXBsOjpudW1iZXJPZldoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQgbnVt
YmVyT2ZXaGVlbEhhbmRsZQogI2VuZGlmCiB9CiAKK3ZvaWQgV2ViVmlld0ltcGw6Om51bWJlck9m
VG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCBudW1iZXJPZlRvdWNoSGFuZGxlcnMp
Cit7CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+bnVtYmVyT2ZUb3VjaEV2
ZW50SGFuZGxlcnNDaGFuZ2VkKG51bWJlck9mVG91Y2hIYW5kbGVycyk7Cit9CisKICNpZiAhT1Mo
REFSV0lOKQogLy8gTWFjIGhhcyBubyB3YXkgdG8gb3BlbiBhIGNvbnRleHQgbWVudSBiYXNlZCBv
biBhIGtleWJvYXJkIGV2ZW50LgogYm9vbCBXZWJWaWV3SW1wbDo6c2VuZENvbnRleHRNZW51RXZl
bnQoY29uc3QgV2ViS2V5Ym9hcmRFdmVudCYgZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuaAppbmRleCAxOTdmNTgyZTRlOWVkMGM1MmE2ODhhMTFmZmUxZTA1MzA5
ZmI0YzZmLi5kNDJiMmNiZGRmZjFkNTNmM2I5MjVjOTM4MjMxNWU1NDk1MDg0Y2I5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAgLTMyMiw2ICszMjIsNyBAQCBw
dWJsaWM6CiAgICAgYm9vbCB0b3VjaEV2ZW50KGNvbnN0IFdlYlRvdWNoRXZlbnQmKTsKIAogICAg
IHZvaWQgbnVtYmVyT2ZXaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKTsKKyAgICB2
b2lkIG51bWJlck9mVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCk7CiAKICAgICAv
LyBIYW5kbGVzIGNvbnRleHQgbWVudSBldmVudHMgb3JpZ25hdGVkIHZpYSB0aGUgdGhlIGtleWJv
YXJkLiBUaGVzZQogICAgIC8vIGluY2x1ZGUgdGhlIFZLX0FQUFMgdmlydHVhbCBrZXkgYW5kIHRo
ZSBTaGlmdCtGMTAgY29tYmluZS4gQ29kZSBpcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAppbmRleCA0YjQ3YzczMWNkNmI3YWQ5Nzky
NWRjMTk3NmE4YTY1MzgwMzM5Zjk0Li44MjUxMjI1MWY2YTQ0MGVhNTkzMzAxM2UxMThkZjNjMDAy
NGM3OWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRFZmwuaApAQCAtMTczLDYgKzE3Myw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwg
Ym9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9u
KSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRI
YW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBudW1Ub3VjaEV2
ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KIAogICAgIEV2YXNfT2JqZWN0KiBtX3Zp
ZXc7CiAgICAgS1VSTCBtX2hvdmVyZWRMaW5rVVJMOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmggYi9Tb3VyY2UvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAppbmRleCA1ZDMwODJkYzU2NGEyNDVi
NTI2MzEyYWNiOGZhMDZiZTkxNTZmMjdiLi45ZDIxMDVkNmRmN2ZjNDBkYmU5NzBjNTFjMTg3MGY1
ZDkxMDlmYWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRHdGsuaApAQCAtMTU5LDYgKzE1OSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewog
CiAgICAgICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oU2Nyb2xs
RGlyZWN0aW9uKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBu
dW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KKyAgICAgICAgdmlydHVh
bCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQogCiAjaWYg
VVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAKICAgICAgICAgdmlydHVhbCB2b2lkIGF0dGFj
aFJvb3RHcmFwaGljc0xheWVyKEZyYW1lKiwgR3JhcGhpY3NMYXllciopOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA0OGZm
MDliYmE2ODE5NjdmN2M2Mjc2NjczNDY0NTk0NGE1NGViMmY0Li42NmZhMDYwYjVhNTNkYmMyZjM4
ZWVhNmY1NDUyZDc2ZGE2YmIxZjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTg5LDYgKzE4OSw3IEBAIHB1YmxpYzoK
ICNlbmRpZgogICAgIAogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFu
Z2VkKHVuc2lnbmVkKSBPVkVSUklERSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVu
dEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgT1ZFUlJJREUgeyB9CiAgICAgdmlydHVhbCBib29s
IHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNv
bnN0IE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CiBwcml2YXRlOgogICAgIFdlYlZpZXcgKm1f
d2ViVmlldzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50UXQuaAppbmRleCA2YTU3NmQ5NmRhYzQ2YWZlMzc0YzcwYmVhYzFiNmI5NGUzNjIzYTljLi4z
ZDQ1YjdiNTFhMmUzMjAwNDRlNjQwMWY3MDhiYjJjMDhmMzc1NWM0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKKysrIGIvU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCkBAIC0xOTIsNiArMTky
LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVj
dGlvbihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9
CisgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQp
IHsgfQogCiAgICAgUVdlYlBhZ2UqIG1fd2ViUGFnZTsKICAgICBLVVJMIGxhc3RIb3ZlclVSTDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmgKaW5kZXggYjZhZWIxY2Y3MWU2M2ViODZlYzNiYWVlMDE0Yjk1NWU4OTk5MjM5YS4uMmE5YThm
ZTdmM2Q0ZjQ1M2ZlNGFiMWYwZWRjYjlkZDM5ZmFhYmM5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTE3Nyw2ICsxNzcs
NyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0
aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAg
IHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkg
eyB9CiAKIHByaXZhdGU6CiAgICAgQ09NUHRyPElXZWJVSURlbGVnYXRlPiB1aURlbGVnYXRlKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFdpbkNFLmggYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFdpbkNFLmgKaW5kZXggMDA2ZTAxMGY4ZDI3ODI2OWZkZTc2ZjM1ZTZlYjJhYzc0NDk4MzY1
Ni4uNjEzNzgzYTAzM2U1OWFjYTkxZDk4NDUzNjAwMDY0OTA1YzIwNjIxMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0Uu
aApAQCAtMTc3LDYgKzE3Nyw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRS
dWJiZXJCYW5kSW5EaXJlY3Rpb24oV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5n
ZWQodW5zaWduZWQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnND
aGFuZ2VkKHVuc2lnbmVkKSB7IH0KIAogcHJpdmF0ZToKICAgICBXZWJWaWV3KiBtX3dlYlZpZXc7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50
V3guaCBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCmlu
ZGV4IGRjZDE2NGYzNGI2ZmU0MWM3YWNiMWFmZWMyOWVmYTI2ODJjODhiNzUuLjJiNmNkZWY2MTJj
YWZjZDRmMjUwMTM0NTE2OGRhM2NlNzA1ODg1NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
d3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gv
V2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCkBAIC0xNTEsNiArMTUxLDcgQEAgcHVibGlj
OgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3Jl
OjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZv
aWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CisgICAgdmlydHVh
bCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIHsgfQogICAgIAog
ICAgIHZpcnR1YWwgYm9vbCBoYXNPcGVuZWRQb3B1cCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAppbmRleCBkZDY4ZTFmOWJkZDMzOTkyMjE1MmVjM2UwYTVlYTM0YTA1MWE4ZWM2Li45NzYx
YzE1NGExZTk0NDJmMjMzNjE5MTRjY2E3NTlkNGE5M2Q0MjYxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmgKQEAgLTIyMCw2ICsyMjAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRS
dWJiZXJCYW5kSW5EaXJlY3Rpb24oV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uKSBjb25zdCBPVkVS
UklERTsKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdl
ZCh1bnNpZ25lZCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5k
bGVyc0NoYW5nZWQodW5zaWduZWQpIE9WRVJSSURFIHsgfQogCiAgICAgU3RyaW5nIG1fY2FjaGVk
VG9vbFRpcDsKICAgICBtdXRhYmxlIFJlZlB0cjxXZWJGcmFtZT4gbV9jYWNoZWRGcmFtZVNldExh
cmdlc3RGcmFtZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>