<?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>108051</bug_id>
          
          <creation_ts>2013-01-27 22:06:20 -0800</creation_ts>
          <short_desc>Coordinated Graphics: remove the DidChangeScrollPosition message.</short_desc>
          <delta_ts>2013-02-11 21:31:23 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>103854</blocked>
    
    <blocked>108922</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dongseong Hwang">dongseong.hwang</reporter>
          <assigned_to name="Dongseong Hwang">dongseong.hwang</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>noam</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>817523</commentid>
    <comment_count>0</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-01-27 22:06:20 -0800</bug_when>
    <thetext>UI Process is source as well as destination of a scroll position, so Web Process
is not needed to send a scroll position via the DidChangeScrollPosition message.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817524</commentid>
    <comment_count>1</comment_count>
      <attachid>184939</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-01-27 22:08:34 -0800</bug_when>
    <thetext>Created attachment 184939
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818901</commentid>
    <comment_count>2</comment_count>
      <attachid>184939</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-01-29 06:45:41 -0800</bug_when>
    <thetext>Comment on attachment 184939
Patch

I think this might cause a timing issue; setVisibleContentsRect can happen more rapidly than didChangeScrollPosition.
This message is supposed to make sure we compensate for the different speed. Either I&apos;m missing something, or we shouldn&apos;t remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819333</commentid>
    <comment_count>3</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-01-29 14:30:43 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 184939 [details])
&gt; I think this might cause a timing issue; setVisibleContentsRect can happen more rapidly than didChangeScrollPosition.
&gt; This message is supposed to make sure we compensate for the different speed. Either I&apos;m missing something, or we shouldn&apos;t remove it.

Yeah, I thought the same to you when I saw code at the first time.
But LayerTreeRenderer already has code to deal with the timing issue.

In detail,
CoordinatedLayerTreeHostProxy calls dispatchUpdate(bind(&amp;LayerTreeRenderer::didChangeScrollPosition, m_renderer.get(), rect.location()));

void LayerTreeRenderer::didChangeScrollPosition(const FloatPoint&amp; position)
{
    m_pendingRenderedContentsScrollPosition = position;
}

and it is applied at time to flush.

void LayerTreeRenderer::flushLayerChanges()
{
    m_renderedContentsScrollPosition = m_pendingRenderedContentsScrollPosition;
    ...
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820024</commentid>
    <comment_count>4</comment_count>
      <attachid>184939</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-01-30 03:02:34 -0800</bug_when>
    <thetext>Comment on attachment 184939
Patch

As we talked on IRC, this is not the right solution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822334</commentid>
    <comment_count>5</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-01-31 22:31:43 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 184939 [details])
&gt; As we talked on IRC, this is not the right solution.

This patch changes the behavior, so this bug is invalid.

btw, IMO we have another problem.
From your explanation, scroll of coordinated graphics has so long latency.

There are 4 IPC messages to draw scrolled contents, as I mentioned in https://bugs.webkit.org/show_bug.cgi?id=105978#c7

      UI Process                      Message               Web Process
WebPageProxy                       (wheel -&gt;)                WebPage
PageViewportController    (&lt;- PageDidRequestScroll)   WebPage
PageViewportController    (setVisibleContentsRect -&gt;) CoordinatedLayerTree
PageViewportController        (&lt;- didRenderFrame)      CoordinatedLayerTree
(thread communication)
LayerTreeRenderer::paint

We need to reduce the latency of scroll event. We will do it soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822341</commentid>
    <comment_count>6</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-01-31 22:40:26 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (From update of attachment 184939 [details] [details])
&gt; &gt; As we talked on IRC, this is not the right solution.
&gt; 
&gt; This patch changes the behavior, so this bug is invalid.
&gt; 
&gt; btw, IMO we have another problem.
&gt; From your explanation, scroll of coordinated graphics has so long latency.
&gt; 
&gt; There are 4 IPC messages to draw scrolled contents, as I mentioned in https://bugs.webkit.org/show_bug.cgi?id=105978#c7
&gt; 
&gt;       UI Process                      Message               Web Process
&gt; WebPageProxy                       (wheel -&gt;)                WebPage
&gt; PageViewportController    (&lt;- PageDidRequestScroll)   WebPage
&gt; PageViewportController    (setVisibleContentsRect -&gt;) CoordinatedLayerTree
&gt; PageViewportController        (&lt;- didRenderFrame)      CoordinatedLayerTree
&gt; (thread communication)
&gt; LayerTreeRenderer::paint
&gt; 
&gt; We need to reduce the latency of scroll event. We will do it soon.
With wheel, yes.
But with touch we handle the scroll immediately by painting the view with an offset right away.
The IPC sends messages asynchronously, but the feedback is immediate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822397</commentid>
    <comment_count>7</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-01-31 23:56:05 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; With wheel, yes.
&gt; But with touch we handle the scroll immediately by painting the view with an offset right away.
&gt; The IPC sends messages asynchronously, but the feedback is immediate.

Yeah, you are right. I missed that.
It is why I filed Bug 105497 for EFL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825236</commentid>
    <comment_count>8</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-05 00:51:29 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825237</commentid>
    <comment_count>9</comment_count>
      <attachid>186568</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-05 00:51:33 -0800</bug_when>
    <thetext>Created attachment 186568
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825264</commentid>
    <comment_count>10</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-05 01:29:20 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; Created an attachment (id=186568) [details]
&gt; Patch

I reopen because I found the way to remove some code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825299</commentid>
    <comment_count>11</comment_count>
      <attachid>186568</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-02-05 02:19:05 -0800</bug_when>
    <thetext>Comment on attachment 186568
Patch

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

Looks great! I thought of doing this a while back.
Please get a WK2 owner to sign off.

&gt; Source/WebCore/ChangeLog:9
&gt; +        at the moment of flushing, so there is not a behavior change if a scrollPosition is sent

not a -&gt; no</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825314</commentid>
    <comment_count>12</comment_count>
      <attachid>186584</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-05 02:39:54 -0800</bug_when>
    <thetext>Created attachment 186584
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825746</commentid>
    <comment_count>13</comment_count>
      <attachid>186584</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-02-05 13:08:59 -0800</bug_when>
    <thetext>Comment on attachment 186584
Patch

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

I have no problem with the change.
I sign off on this if the ChangeLog is changed to have a good explanation of the change.

&gt; Source/WebKit2/ChangeLog:10
&gt; +        Coordinated Graphics: remove the DidChangeScrollPosition message.
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=108051
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Currently, CoordinatedGraphicsScene::m_renderedContentsScrollPosition is updated
&gt; +        at the moment of flushing, so there is no behavior change if a scrollPosition is sent
&gt; +        via DidRenderFrame message instead of DidChangeScrollPosition message.

This is not a good ChangeLog.

You should explain why you remove DidChangeScrollPosition and how the new design solve the original problem better than DidChangeScrollPosition.
You also have all the fields bellow the message to help explain the changes.

Great changelogs explain both the &quot;Why&quot; and &quot;What&quot; of the change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826001</commentid>
    <comment_count>14</comment_count>
      <attachid>186741</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-05 18:33:00 -0800</bug_when>
    <thetext>Created attachment 186741
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826002</commentid>
    <comment_count>15</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-05 18:33:56 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 186584 [details])
&gt; This is not a good ChangeLog.
&gt; 
&gt; You should explain why you remove DidChangeScrollPosition and how the new design solve the original problem better than DidChangeScrollPosition.
&gt; You also have all the fields bellow the message to help explain the changes.
&gt; 
&gt; Great changelogs explain both the &quot;Why&quot; and &quot;What&quot; of the change.

You&apos;re right. I changed changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826009</commentid>
    <comment_count>16</comment_count>
      <attachid>186741</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-02-05 18:39:55 -0800</bug_when>
    <thetext>Comment on attachment 186741
Patch

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

&gt; Source/WebKit2/ChangeLog:28
&gt; +          Don&apos;t send a scroll position because flushPendingLayerChanges() dose

Typo: dose -&gt; does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826012</commentid>
    <comment_count>17</comment_count>
      <attachid>186742</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-05 18:42:08 -0800</bug_when>
    <thetext>Created attachment 186742
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826013</commentid>
    <comment_count>18</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-05 18:43:37 -0800</bug_when>
    <thetext>noam, could you review again?
benjaminp said LGTM :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826031</commentid>
    <comment_count>19</comment_count>
      <attachid>186742</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-05 19:51:33 -0800</bug_when>
    <thetext>Comment on attachment 186742
Patch

Attachment 186742 did not pass win-ews (win):
Output: http://queues.webkit.org/results/16378882</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826160</commentid>
    <comment_count>20</comment_count>
      <attachid>186776</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-06 00:21:03 -0800</bug_when>
    <thetext>Created attachment 186776
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826218</commentid>
    <comment_count>21</comment_count>
      <attachid>186776</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-06 01:35:33 -0800</bug_when>
    <thetext>Comment on attachment 186776
Patch

Attachment 186776 did not pass win-ews (win):
Output: http://queues.webkit.org/results/16396073</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826222</commentid>
    <comment_count>22</comment_count>
      <attachid>186776</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-02-06 01:38:07 -0800</bug_when>
    <thetext>Comment on attachment 186776
Patch

Benjamin has signed this off for WK2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826259</commentid>
    <comment_count>23</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-06 02:28:26 -0800</bug_when>
    <thetext>win bot now seems to have problem.
I&apos;ll commit later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830470</commentid>
    <comment_count>24</comment_count>
      <attachid>187757</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-11 19:19:33 -0800</bug_when>
    <thetext>Created attachment 187757
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830535</commentid>
    <comment_count>25</comment_count>
      <attachid>187757</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-11 21:31:18 -0800</bug_when>
    <thetext>Comment on attachment 187757
Patch for landing

Clearing flags on attachment: 187757

Committed r142578: &lt;http://trac.webkit.org/changeset/142578&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830536</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-11 21:31:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184939</attachid>
            <date>2013-01-27 22:08:34 -0800</date>
            <delta_ts>2013-02-05 00:51:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108051-20130128150503.patch</filename>
            <type>text/plain</type>
            <size>7312</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjg1NTFhYWMxNTM0NzE4
MTI1YThmNDIzMGY2Yjc2M2EyNjU4YWUxMi4uMjUyNDA3NTgxM2Y5YjZlYTU0NmZhNDBlOTg5OWUw
MzJlOTY1ZjA3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAxLTI3ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5h
dGVkIEdyYXBoaWNzOiByZW1vdmUgdGhlIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uIG1lc3NhZ2Uu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgwNTEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVSSBQcm9j
ZXNzIGlzIGEgc291cmNlIGFzIHdlbGwgYXMgYSBkZXN0aW5hdGlvbiBvZiBhIHNjcm9sbCBwb3Np
dGlvbiwgc28gV2ViIFByb2Nlc3MKKyAgICAgICAgaXMgbm90IG5lZWRlZCB0byBzZW5kIGEgc2Ny
b2xsIHBvc2l0aW9uIHZpYSB0aGUgRGlkQ2hhbmdlU2Nyb2xsUG9zaXRpb24gbWVzc2FnZS4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHk6OnNldFZpc2libGVDb250ZW50c1JlY3QpOgorICAgICAgICAoV2ViS2l0KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJl
ZUhvc3RQcm94eS5oOgorICAgICAgICAoQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0KToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzeW5jTGF5
ZXJTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2V0
VmlzaWJsZUNvbnRlbnRzUmVjdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Lmg6CisKIDIwMTMtMDEtMTcg
IEh1YW5nIERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CiAKICAgICAgICAgQ29v
cmRpbmF0ZWQgR3JhcGhpY3M6IExheWVyVHJlZVJlbmRlcmVyIG1hbmFnZXMgdGhlIHN1cmZhY2Ug
b2YgVXBkYXRlQXRsYXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVy
VHJlZUhvc3RQcm94eS5jcHAKaW5kZXggYmUzYzZhYmQ1NWNhYTA0MWQxYmU5Mzc1OGY1OTNlNjUw
ZTllZGFjNS4uZDE1NGIxM2MxOTQ0ZDYzNTJlMGFmMjk1Y2E3MDU3MjlmYjEzMzE3NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcApA
QCAtMTkyLDYgKzE5Miw3IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OnNl
dFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0CiAgICAgICAgIHJldHVy
bjsKIAogICAgIG1fZHJhd2luZ0FyZWFQcm94eS0+cGFnZSgpLT5wcm9jZXNzKCktPnNlbmQoTWVz
c2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6U2V0VmlzaWJsZUNvbnRlbnRzUmVjdChy
ZWN0LCBlZmZlY3RpdmVTY2FsZSwgdHJhamVjdG9yeVZlY3RvciksIG1fZHJhd2luZ0FyZWFQcm94
eS0+cGFnZSgpLT5wYWdlSUQoKSk7CisgICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmTGF5ZXJUcmVl
UmVuZGVyZXI6OmRpZENoYW5nZVNjcm9sbFBvc2l0aW9uLCBtX3JlbmRlcmVyLmdldCgpLCByZWN0
LmxvY2F0aW9uKCkpKTsKICAgICBtX2xhc3RTZW50VmlzaWJsZVJlY3QgPSByZWN0OwogICAgIG1f
bGFzdFNlbnRTY2FsZSA9IGVmZmVjdGl2ZVNjYWxlOwogICAgIG1fbGFzdFNlbnRUcmFqZWN0b3J5
VmVjdG9yID0gdHJhamVjdG9yeVZlY3RvcjsKQEAgLTIxNSwxMSArMjE2LDYgQEAgdm9pZCBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6YW5pbWF0aW9uRnJhbWVSZWFkeSgpCiB9CiAjZW5k
aWYKIAotdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6ZGlkQ2hhbmdlU2Nyb2xs
UG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24pCi17Ci0gICAgZGlzcGF0Y2hVcGRh
dGUoYmluZCgmTGF5ZXJUcmVlUmVuZGVyZXI6OmRpZENoYW5nZVNjcm9sbFBvc2l0aW9uLCBtX3Jl
bmRlcmVyLmdldCgpLCBwb3NpdGlvbikpOwotfQotCiAjaWYgVVNFKEdSQVBISUNTX1NVUkZBQ0Up
CiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpjcmVhdGVDYW52YXMoQ29vcmRp
bmF0ZWRMYXllcklEIGlkLCBjb25zdCBJbnRTaXplJiBjYW52YXNTaXplLCBjb25zdCBHcmFwaGlj
c1N1cmZhY2VUb2tlbiYgdG9rZW4pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0UHJveHkuaAppbmRleCAxOGIyZjg4NmFlNjNkZmY3ZTI4ZDhjMWZmNDUx
NjU4YjM1NzI1MDM0Li4xMWE1NzZmY2UwZjFiNGU0OWExYzQyMTYwYjY5ZDJhMjFiNzJlNjM4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgK
QEAgLTc5LDcgKzc5LDYgQEAgcHVibGljOgogICAgIHZvaWQgZGlkUmVjZWl2ZUNvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdFByb3h5TWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6
TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgdXBkYXRlVmll
d3BvcnQoKTsKICAgICB2b2lkIHJlbmRlck5leHRGcmFtZSgpOwotICAgIHZvaWQgZGlkQ2hhbmdl
U2Nyb2xsUG9zaXRpb24oY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgcG9zaXRpb24pOwogI2lm
IFVTRShHUkFQSElDU19TVVJGQUNFKQogICAgIHZvaWQgY3JlYXRlQ2FudmFzKENvb3JkaW5hdGVk
TGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIGNvbnN0IFdlYkNvcmU6OkdyYXBoaWNz
U3VyZmFjZVRva2VuJik7CiAgICAgdm9pZCBzeW5jQ2FudmFzKENvb3JkaW5hdGVkTGF5ZXJJRCwg
dWludDMyX3QgZnJvbnRCdWZmZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5tZXNzYWdlcy5pbgppbmRleCBlM2U3OGIzMGIw
MTkyNTUzYjA2YzY5Mjg5MjhiMGE2YjMzZDZkNmFlLi44MThmM2FlOGVhZjcxMzRmNzUzOGMyNWEz
NmYzZTRlNDdkNTljNDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5tZXNzYWdlcy5pbgpAQCAtNDEsNyArNDEsNiBAQCBt
ZXNzYWdlcyAtPiBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSBMZWdhY3lSZWNlaXZlciB7
CiAgICAgQ2xlYXJJbWFnZUJhY2tpbmdDb250ZW50cyh1aW50NjRfdCBpbWFnZUlEKQogICAgIFJl
bW92ZUltYWdlQmFja2luZyh1aW50NjRfdCBpbWFnZUlEKQogICAgIERpZFJlbmRlckZyYW1lKFdl
YkNvcmU6OkludFNpemUgY29udGVudHNTaXplLCBXZWJDb3JlOjpJbnRSZWN0IGNvdmVyZWRSZWN0
KQotICAgIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uKFdlYkNvcmU6OkZsb2F0UG9pbnQgcG9zaXRp
b24pCiAgICAgU2V0TGF5ZXJBbmltYXRpb25zKHVpbnQzMl90IGlkLCBXZWJDb3JlOjpHcmFwaGlj
c0xheWVyQW5pbWF0aW9ucyBhbmltYXRpb25zKQogICAgIFNldEFuaW1hdGlvbnNMb2NrZWQoYm9v
bCBsb2NrZWQpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuY3BwCmluZGV4IDJlYWY4NjVhNDQ0Mjc0MDkyZDhiZmFhOTczZTA0
NzAyNzA3NDg2MGEuLjA5ZTFkOTZjOWM5MGQ4MjZiZmQ4ZDNmZjQ3NzFiMzQ1YzkyMGUxMGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0LmNwcApAQCAtODgsNyArODgsNiBAQCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OkNv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdChXZWJQYWdlKiB3ZWJQYWdlKQogICAgICwgbV93YWl0aW5n
Rm9yVUlQcm9jZXNzKHRydWUpCiAgICAgLCBtX2lzU3VzcGVuZGVkKGZhbHNlKQogICAgICwgbV9j
b250ZW50c1NjYWxlKDEpCi0gICAgLCBtX3Nob3VsZFNlbmRTY3JvbGxQb3NpdGlvblVwZGF0ZSh0
cnVlKQogICAgICwgbV9zaG91bGRTeW5jRnJhbWUoZmFsc2UpCiAgICAgLCBtX2RpZEluaXRpYWxp
emVSb290Q29tcG9zaXRpbmdMYXllcihmYWxzZSkKICAgICAsIG1fbGF5ZXJGbHVzaFRpbWVyKHRo
aXMsICZDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmxheWVyRmx1c2hUaW1lckZpcmVkKQpAQCAt
MzUwLDExICszNDksNiBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6aW5pdGlhbGl6
ZVJvb3RDb21wb3NpdGluZ0xheWVySWZOZWVkZWQoKQogCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdDo6c3luY0xheWVyU3RhdGUoQ29vcmRpbmF0ZWRMYXllcklEIGlkLCBjb25zdCBDb29y
ZGluYXRlZExheWVySW5mbyYgaW5mbykKIHsKLSAgICBpZiAobV9zaG91bGRTZW5kU2Nyb2xsUG9z
aXRpb25VcGRhdGUpIHsKLSAgICAgICAgbV93ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpDb29yZGlu
YXRlZExheWVyVHJlZUhvc3RQcm94eTo6RGlkQ2hhbmdlU2Nyb2xsUG9zaXRpb24obV92aXNpYmxl
Q29udGVudHNSZWN0LmxvY2F0aW9uKCkpKTsKLSAgICAgICAgbV9zaG91bGRTZW5kU2Nyb2xsUG9z
aXRpb25VcGRhdGUgPSBmYWxzZTsKLSAgICB9Ci0KICAgICBtX3Nob3VsZFN5bmNGcmFtZSA9IHRy
dWU7CiAgICAgbV93ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpDb29yZGluYXRlZExheWVyVHJlZUhv
c3RQcm94eTo6U2V0Q29tcG9zaXRpbmdMYXllclN0YXRlKGlkLCBpbmZvKSk7CiB9CkBAIC03ODEs
OSArNzc1LDYgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnNldFZpc2libGVDb250
ZW50c1JlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBmbG8KICAgICAgICAgLy8gdGhlIHNhbWUg
d2hpbGUgcGFubmluZy4gVGhpcyBjYW4gaGF2ZSBuYXN0eSBlZmZlY3RzIG9uIGxheW91dC4KICAg
ICAgICAgbV93ZWJQYWdlLT5zZXRGaXhlZFZpc2libGVDb250ZW50UmVjdChyb3VuZGVkSW50UmVj
dChyZWN0KSk7CiAgICAgfQotCi0gICAgaWYgKGNvbnRlbnRzUmVjdERpZENoYW5nZSkKLSAgICAg
ICAgbV9zaG91bGRTZW5kU2Nyb2xsUG9zaXRpb25VcGRhdGUgPSB0cnVlOwogfQogCiBHcmFwaGlj
c0xheWVyRmFjdG9yeSogQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpncmFwaGljc0xheWVyRmFj
dG9yeSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdC5oCmluZGV4IDlhYTllNmVjZGYzYTY5ZWYwMDM4MjhlMTc4YTk4NjEwNjc0ZmY3
NjguLjUxZjlkYWEwNDJhZWM0M2FlOTY1YWNlYjNjOGJlYTE3YmE0ZWY5M2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oCkBA
IC0xOTYsNyArMTk2LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNTdXNwZW5kZWQ7CiAgICAg
V2ViQ29yZTo6RmxvYXRSZWN0IG1fdmlzaWJsZUNvbnRlbnRzUmVjdDsKICAgICBmbG9hdCBtX2Nv
bnRlbnRzU2NhbGU7Ci0gICAgYm9vbCBtX3Nob3VsZFNlbmRTY3JvbGxQb3NpdGlvblVwZGF0ZTsK
IAogICAgIExheWVyVHJlZUNvbnRleHQgbV9sYXllclRyZWVDb250ZXh0OwogICAgIGJvb2wgbV9z
aG91bGRTeW5jRnJhbWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186568</attachid>
            <date>2013-02-05 00:51:33 -0800</date>
            <delta_ts>2013-02-05 02:39:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108051-20130205174753.patch</filename>
            <type>text/plain</type>
            <size>13644</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxODU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjc3MzRiNmEzZmU3OTE0
Y2ZkMTFmOWUzYmJjZWNjYTI5MDlhMWM2Zi4uZTBjZGNmN2ZjNjExYjExZjg3YWE3N2U3NTZhZjBk
OTQ3ODVmOGZmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTAyLTA1ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5h
dGVkIEdyYXBoaWNzOiByZW1vdmUgdGhlIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uIG1lc3NhZ2Uu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgwNTEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50
bHksIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6bV9yZW5kZXJlZENvbnRlbnRzU2Nyb2xsUG9z
aXRpb24gaXMgdXBkYXRlZAorICAgICAgICBhdCB0aGUgbW9tZW50IG9mIGZsdXNoaW5nLCBzbyB0
aGVyZSBpcyBub3QgYSBiZWhhdmlvciBjaGFuZ2UgaWYgYSBzY3JvbGxQb3NpdGlvbiBpcyBzZW50
CisgICAgICAgIHZpYSBEaWRSZW5kZXJGcmFtZSBtZXNzYWdlIGluc3RlYWQgb2YgRGlkQ2hhbmdl
U2Nyb2xsUG9zaXRpb24gbWVzc2FnZS4KKworICAgICAgICBObyB0ZXN0cy4gTm8gY2hhbmdlIGlu
IGJlaGF2aW9yLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5h
dGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb29y
ZGluYXRlZEdyYXBoaWNzU2NlbmU6OmZsdXNoTGF5ZXJDaGFuZ2VzKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
Lmg6CisgICAgICAgIChDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUpOgorCiAyMDEzLTAyLTA0ICBL
ZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBGaXggY3Jhc2ggYnkg
PHNlbGVjdD4gdHlwZSBjaGFuZ2Ugb24gZm9jdXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBjNTZiZjc1MWVjMzY4
NmFjNmI3NDRhNmE1YmNkN2ZkNDg4NDFlY2RhLi5jZmEyZmVhNjQwMjI4ZWQwYjBiZDEzODhhMjY2
ZDY1OTk1N2UxZDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTMtMDItMDUgIEh1
YW5nIERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgQ29vcmRp
bmF0ZWQgR3JhcGhpY3M6IHJlbW92ZSB0aGUgRGlkQ2hhbmdlU2Nyb2xsUG9zaXRpb24gbWVzc2Fn
ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODA1
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJl
bnRseSwgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjptX3JlbmRlcmVkQ29udGVudHNTY3JvbGxQ
b3NpdGlvbiBpcyB1cGRhdGVkCisgICAgICAgIGF0IHRoZSBtb21lbnQgb2YgZmx1c2hpbmcsIHNv
IHRoZXJlIGlzIG5vdCBhIGJlaGF2aW9yIGNoYW5nZSBpZiBhIHNjcm9sbFBvc2l0aW9uIGlzIHNl
bnQKKyAgICAgICAgdmlhIERpZFJlbmRlckZyYW1lIG1lc3NhZ2UgaW5zdGVhZCBvZiBEaWRDaGFu
Z2VTY3JvbGxQb3NpdGlvbiBtZXNzYWdlLgorCisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6ZGlkUmVuZGVyRnJhbWUpOgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oOgorICAgICAgICAoQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0KToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0OjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMpOgorICAgICAgICAoV2ViS2l0
OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnN5bmNMYXllclN0YXRlKToKKyAgICAgICAgKFdl
YktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXRWaXNpYmxlQ29udGVudHNSZWN0KToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuaDoKKwogMjAxMy0wMi0wNCAgR3dhbmcgWW9vbiBId2FuZyAgPHJ5
dW1pZWxAY29tcGFueTEwMC5uZXQ+CiAKICAgICAgICAgQ29vcmRpbmF0ZWQgR3JhcGhpY3MgOiBk
aXNjb25uZWN0Q3VzdG9tRmlsdGVyUHJvZ3JhbSBkb2VzIG5vdCBkbyBhbnl0aGluZy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRl
ZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHAK
aW5kZXggZDIxNWZiMzYxM2I5MDdiNmIxZDlmNWU4OTExOWRiYjI2NDRmNDU5NC4uODlhZGVkMzUz
ZWU0YTBkNzVlOGQ1YTI4YjVhZmFlM2EwZWYzNzRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NTY2VuZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHAKQEAgLTIxMywxMSArMjEz
LDYgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmFkanVzdFBvc2l0aW9uRm9yRml4
ZWRMYXllcnMoKQogICAgICAgICB0b1RleHR1cmVNYXBwZXJMYXllcihpdC0+dmFsdWUpLT5zZXRT
Y3JvbGxQb3NpdGlvbkRlbHRhSWZOZWVkZWQoZGVsdGEpOwogfQogCi12b2lkIENvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZTo6ZGlkQ2hhbmdlU2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYg
cG9zaXRpb24pCi17Ci0gICAgbV9wZW5kaW5nUmVuZGVyZWRDb250ZW50c1Njcm9sbFBvc2l0aW9u
ID0gcG9zaXRpb247Ci19Ci0KICNpZiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKIHZvaWQgQ29vcmRp
bmF0ZWRHcmFwaGljc1NjZW5lOjpjcmVhdGVDYW52YXMoQ29vcmRpbmF0ZWRMYXllcklEIGlkLCBj
b25zdCBJbnRTaXplJiwgUGFzc1JlZlB0cjxHcmFwaGljc1N1cmZhY2U+IHN1cmZhY2UpCiB7CkBA
IC01NTQsOSArNTQ5LDkgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmNvbW1pdFBl
bmRpbmdCYWNraW5nU3RvcmVPcGVyYXRpb25zKCkKICAgICBtX2JhY2tpbmdTdG9yZXNXaXRoUGVu
ZGluZ0J1ZmZlcnMuY2xlYXIoKTsKIH0KIAotdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6
OmZsdXNoTGF5ZXJDaGFuZ2VzKCkKK3ZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpmbHVz
aExheWVyQ2hhbmdlcyhjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbikKIHsKLSAgICBt
X3JlbmRlcmVkQ29udGVudHNTY3JvbGxQb3NpdGlvbiA9IG1fcGVuZGluZ1JlbmRlcmVkQ29udGVu
dHNTY3JvbGxQb3NpdGlvbjsKKyAgICBtX3JlbmRlcmVkQ29udGVudHNTY3JvbGxQb3NpdGlvbiA9
IHNjcm9sbFBvc2l0aW9uOwogCiAgICAgLy8gU2luY2UgdGhlIGZyYW1lIGhhcyBub3cgYmVlbiBy
ZW5kZXJlZCwgd2UgY2FuIHNhZmVseSB1bmxvY2sgdGhlIGFuaW1hdGlvbnMgdW50aWwgdGhlIG5l
eHQgbGF5b3V0LgogICAgIHNldEFuaW1hdGlvbnNMb2NrZWQoZmFsc2UpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3Jk
aW5hdGVkR3JhcGhpY3NTY2VuZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCmluZGV4IGNmYWIx
NjYyZDFhYzVjNDIzZmQ1MDEwYjAxY2Q3ZTQwNjM2OTMzODMuLjJlYmQ0YWNkNThkOWJjNTdiNjg5
Njg4ZjY2NzA1ZDdjMzIxYzMxMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQv
Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKQEAgLTgyLDcgKzgyLDYgQEAgcHVibGljOgogI2Vu
ZGlmCiAgICAgdm9pZCBzZXRDb250ZW50c1NpemUoY29uc3QgRmxvYXRTaXplJik7CiAgICAgdm9p
ZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IEZsb2F0UmVjdCYpOwotICAgIHZvaWQgZGlk
Q2hhbmdlU2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24pOwogI2lmIFVT
RShHUkFQSElDU19TVVJGQUNFKQogICAgIHZvaWQgY3JlYXRlQ2FudmFzKENvb3JkaW5hdGVkTGF5
ZXJJRCwgY29uc3QgSW50U2l6ZSYsIFBhc3NSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPik7CiAgICAg
dm9pZCBzeW5jQ2FudmFzKENvb3JkaW5hdGVkTGF5ZXJJRCwgdWludDMyX3QgZnJvbnRCdWZmZXIp
OwpAQCAtMTE3LDcgKzExNiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZVRpbGUoQ29vcmRp
bmF0ZWRMYXllcklELCB1aW50MzJfdCB0aWxlSUQsIGNvbnN0IFRpbGVVcGRhdGUmKTsKICAgICB2
b2lkIGNyZWF0ZVVwZGF0ZUF0bGFzKHVpbnQzMl90IGF0bGFzSUQsIFBhc3NSZWZQdHI8Q29vcmRp
bmF0ZWRTdXJmYWNlPik7CiAgICAgdm9pZCByZW1vdmVVcGRhdGVBdGxhcyh1aW50MzJfdCBhdGxh
c0lEKTsKLSAgICB2b2lkIGZsdXNoTGF5ZXJDaGFuZ2VzKCk7CisgICAgdm9pZCBmbHVzaExheWVy
Q2hhbmdlcyhjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbik7CiAgICAgdm9pZCBjcmVh
dGVJbWFnZUJhY2tpbmcoQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCk7CiAgICAgdm9pZCB1cGRh
dGVJbWFnZUJhY2tpbmcoQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCwgUGFzc1JlZlB0cjxDb29y
ZGluYXRlZFN1cmZhY2U+KTsKICAgICB2b2lkIGNsZWFySW1hZ2VCYWNraW5nQ29udGVudHMoQ29v
cmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCk7CkBAIC0yMDgsNyArMjA3LDYgQEAgcHJpdmF0ZToKICAg
ICBMYXllclJhd1B0ck1hcCBtX2ZpeGVkTGF5ZXJzOwogICAgIENvb3JkaW5hdGVkTGF5ZXJJRCBt
X3Jvb3RMYXllcklEOwogICAgIEZsb2F0UG9pbnQgbV9yZW5kZXJlZENvbnRlbnRzU2Nyb2xsUG9z
aXRpb247Ci0gICAgRmxvYXRQb2ludCBtX3BlbmRpbmdSZW5kZXJlZENvbnRlbnRzU2Nyb2xsUG9z
aXRpb247CiAgICAgYm9vbCBtX2FuaW1hdGlvbnNMb2NrZWQ7CiAjaWYgRU5BQkxFKFJFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKQogICAgIGJvb2wgbV9hbmltYXRpb25GcmFtZVJlcXVlc3RlZDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcApp
bmRleCA5ODY0OTNjMzJmZjg0NjI4YTNlMGIwZWJiM2EwNTFiNzQxNTkzNzU4Li5jNTc0ZjlhOGJm
NzRmZDkzN2RkNWZlNWFmMWIwNjk2MjhhZDdjM2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwCkBAIC0xMjgsOSArMTI4LDkgQEAg
dm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6Y3JlYXRlQ3VzdG9tRmlsdGVyUHJv
Z3JhbShpbnQgaWQsIGNvbnN0IEN1c3QKIH0KICNlbmRpZgogCi12b2lkIENvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5OjpkaWRSZW5kZXJGcmFtZShjb25zdCBJbnRTaXplJiBjb250ZW50c1Np
emUsIGNvbnN0IEludFJlY3QmIGNvdmVyZWRSZWN0KQordm9pZCBDb29yZGluYXRlZExheWVyVHJl
ZUhvc3RQcm94eTo6ZGlkUmVuZGVyRnJhbWUoY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRp
b24sIGNvbnN0IEludFNpemUmIGNvbnRlbnRzU2l6ZSwgY29uc3QgSW50UmVjdCYgY292ZXJlZFJl
Y3QpCiB7Ci0gICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
OjpmbHVzaExheWVyQ2hhbmdlcywgbV9zY2VuZS5nZXQoKSkpOworICAgIGRpc3BhdGNoVXBkYXRl
KGJpbmQoJkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6Zmx1c2hMYXllckNoYW5nZXMsIG1fc2Nl
bmUuZ2V0KCksIHNjcm9sbFBvc2l0aW9uKSk7CiAgICAgdXBkYXRlVmlld3BvcnQoKTsKICNpZiBV
U0UoVElMRURfQkFDS0lOR19TVE9SRSkKICAgICBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+
ZGlkUmVuZGVyRnJhbWUoY29udGVudHNTaXplLCBjb3ZlcmVkUmVjdCk7CkBAIC0yMDYsMTEgKzIw
Niw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmFuaW1hdGlvbkZyYW1l
UmVhZHkoKQogfQogI2VuZGlmCiAKLXZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6
OmRpZENoYW5nZVNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uKQotewot
ICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6ZGlkQ2hh
bmdlU2Nyb2xsUG9zaXRpb24sIG1fc2NlbmUuZ2V0KCksIHBvc2l0aW9uKSk7Ci19Ci0KICNpZiBV
U0UoR1JBUEhJQ1NfU1VSRkFDRSkKIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6
OmNyZWF0ZUNhbnZhcyhDb29yZGluYXRlZExheWVySUQgaWQsIGNvbnN0IEludFNpemUmIGNhbnZh
c1NpemUsIGNvbnN0IEdyYXBoaWNzU3VyZmFjZVRva2VuJiB0b2tlbikKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCmluZGV4IDI0YjM0Nzcw
YWMwODNjMzVhNTU0MDMwNGUwOTBhMDUyNThlZjU3YWQuLjZjNzFlN2NkZDY5OWY5ZGI1Mjk0OTQ0
MjlkNzUwYzNhNzdhZDY4OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHkuaApAQCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
ZXRSb290Q29tcG9zaXRpbmdMYXllcihXZWJDb3JlOjpDb29yZGluYXRlZExheWVySUQpOwogICAg
IHZvaWQgc2V0Q29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYpOwogICAgIHZv
aWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBjb25z
dCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKTsKLSAgICB2b2lkIGRpZFJl
bmRlckZyYW1lKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGNvbnRlbnRzU2l6ZSwgY29uc3QgV2Vi
Q29yZTo6SW50UmVjdCYgY292ZXJlZFJlY3QpOworICAgIHZvaWQgZGlkUmVuZGVyRnJhbWUoY29u
c3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6Oklu
dFNpemUmIGNvbnRlbnRzU2l6ZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY292ZXJlZFJlY3Qp
OwogICAgIHZvaWQgY3JlYXRlVGlsZUZvckxheWVyKFdlYkNvcmU6OkNvb3JkaW5hdGVkTGF5ZXJJ
RCwgdWludDMyX3QgdGlsZUlELCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgV2ViQ29y
ZTo6U3VyZmFjZVVwZGF0ZUluZm8mKTsKICAgICB2b2lkIHVwZGF0ZVRpbGVGb3JMYXllcihXZWJD
b3JlOjpDb29yZGluYXRlZExheWVySUQsIHVpbnQzMl90IHRpbGVJRCwgY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYsIGNvbnN0IFdlYkNvcmU6OlN1cmZhY2VVcGRhdGVJbmZvJik7CiAgICAgdm9pZCBy
ZW1vdmVUaWxlRm9yTGF5ZXIoV2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXllcklELCB1aW50MzJfdCB0
aWxlSUQpOwpAQCAtNzgsNyArNzgsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGVhckltYWdlQmFj
a2luZ0NvbnRlbnRzKFdlYkNvcmU6OkNvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpOwogICAgIHZv
aWQgcmVtb3ZlSW1hZ2VCYWNraW5nKFdlYkNvcmU6OkNvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQp
OwogICAgIHZvaWQgZGlkUmVjZWl2ZUNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5TWVzc2Fn
ZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKLSAgICB2
b2lkIGRpZENoYW5nZVNjcm9sbFBvc2l0aW9uKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHBv
c2l0aW9uKTsKICNpZiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKICAgICB2b2lkIGNyZWF0ZUNhbnZh
cyhXZWJDb3JlOjpDb29yZGluYXRlZExheWVySUQsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBj
b25zdCBXZWJDb3JlOjpHcmFwaGljc1N1cmZhY2VUb2tlbiYpOwogICAgIHZvaWQgc3luY0NhbnZh
cyhXZWJDb3JlOjpDb29yZGluYXRlZExheWVySUQsIHVpbnQzMl90IGZyb250QnVmZmVyKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJv
eHkubWVzc2FnZXMuaW4KaW5kZXggMjFkYzI2MzQ1MDNjY2RlODc5MDYyZDc5MzIzYzZiYmFiZTRm
NzJlYy4uMTg4OGFkYjIxOGM1M2Q2Y2Y0NWU2ZThjZTAzMjcyNTJkNGMyMTI0NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0UHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHku
bWVzc2FnZXMuaW4KQEAgLTQwLDggKzQwLDcgQEAgbWVzc2FnZXMgLT4gQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkgTGVnYWN5UmVjZWl2ZXIgewogICAgIFVwZGF0ZUltYWdlQmFja2luZyh1
aW50NjRfdCBpbWFnZUlELCBXZWJLaXQ6OldlYkNvb3JkaW5hdGVkU3VyZmFjZTo6SGFuZGxlIGhh
bmRsZSkKICAgICBDbGVhckltYWdlQmFja2luZ0NvbnRlbnRzKHVpbnQ2NF90IGltYWdlSUQpCiAg
ICAgUmVtb3ZlSW1hZ2VCYWNraW5nKHVpbnQ2NF90IGltYWdlSUQpCi0gICAgRGlkUmVuZGVyRnJh
bWUoV2ViQ29yZTo6SW50U2l6ZSBjb250ZW50c1NpemUsIFdlYkNvcmU6OkludFJlY3QgY292ZXJl
ZFJlY3QpCi0gICAgRGlkQ2hhbmdlU2Nyb2xsUG9zaXRpb24oV2ViQ29yZTo6RmxvYXRQb2ludCBw
b3NpdGlvbikKKyAgICBEaWRSZW5kZXJGcmFtZShXZWJDb3JlOjpGbG9hdFBvaW50IHNjcm9sbFBv
c2l0aW9uLCBXZWJDb3JlOjpJbnRTaXplIGNvbnRlbnRzU2l6ZSwgV2ViQ29yZTo6SW50UmVjdCBj
b3ZlcmVkUmVjdCkKICAgICBTZXRMYXllckFuaW1hdGlvbnModWludDMyX3QgaWQsIFdlYkNvcmU6
OkdyYXBoaWNzTGF5ZXJBbmltYXRpb25zIGFuaW1hdGlvbnMpCiAgICAgU2V0QW5pbWF0aW9uc0xv
Y2tlZChib29sIGxvY2tlZCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXggOWJhYjEwOGE4NDQ3NWI2ZTY4Mzg4
MzBjODY5YjQyYjBkNjgxM2QxNC4uODZiZTVlZTI2OWE5MzEzNTUxM2Q3Yjg2YWE4OTUyYTFhNWY2
ZWJhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRl
ZExheWVyVHJlZUhvc3QuY3BwCkBAIC04NSw3ICs4NSw2IEBAIENvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0KFdlYlBhZ2UqIHdlYlBhZ2UpCiAgICAgLCBt
X2lzRmx1c2hpbmdMYXllckNoYW5nZXMoZmFsc2UpCiAgICAgLCBtX3dhaXRpbmdGb3JVSVByb2Nl
c3ModHJ1ZSkKICAgICAsIG1faXNTdXNwZW5kZWQoZmFsc2UpCi0gICAgLCBtX3Nob3VsZFNlbmRT
Y3JvbGxQb3NpdGlvblVwZGF0ZSh0cnVlKQogICAgICwgbV9zaG91bGRTeW5jRnJhbWUoZmFsc2Up
CiAgICAgLCBtX2RpZEluaXRpYWxpemVSb290Q29tcG9zaXRpbmdMYXllcihmYWxzZSkKICAgICAs
IG1fbGF5ZXJGbHVzaFRpbWVyKHRoaXMsICZDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmxheWVy
Rmx1c2hUaW1lckZpcmVkKQpAQCAtMjkyLDcgKzI5MSw3IEBAIGJvb2wgQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0OjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoKQogCiAgICAgICAgIEludFNpemUg
Y29udGVudHNTaXplID0gcm91bmRlZEludFNpemUobV9ub25Db21wb3NpdGVkQ29udGVudExheWVy
LT5zaXplKCkpOwogICAgICAgICBJbnRSZWN0IGNvdmVyZWRSZWN0ID0gdG9Db29yZGluYXRlZEdy
YXBoaWNzTGF5ZXIobV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLmdldCgpKS0+Y292ZXJSZWN0
KCk7Ci0gICAgICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHk6OkRpZFJlbmRlckZyYW1lKGNvbnRlbnRzU2l6ZSwgY292ZXJlZFJlY3QpKTsK
KyAgICAgICAgbV93ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpDb29yZGluYXRlZExheWVyVHJlZUhv
c3RQcm94eTo6RGlkUmVuZGVyRnJhbWUobV92aXNpYmxlQ29udGVudHNSZWN0LmxvY2F0aW9uKCks
IGNvbnRlbnRzU2l6ZSwgY292ZXJlZFJlY3QpKTsKICAgICAgICAgbV93YWl0aW5nRm9yVUlQcm9j
ZXNzID0gdHJ1ZTsKICAgICAgICAgbV9zaG91bGRTeW5jRnJhbWUgPSBmYWxzZTsKICAgICB9IGVs
c2UKQEAgLTM1MiwxMSArMzUxLDYgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6Omlu
aXRpYWxpemVSb290Q29tcG9zaXRpbmdMYXllcklmTmVlZGVkKCkKIAogdm9pZCBDb29yZGluYXRl
ZExheWVyVHJlZUhvc3Q6OnN5bmNMYXllclN0YXRlKENvb3JkaW5hdGVkTGF5ZXJJRCBpZCwgY29u
c3QgQ29vcmRpbmF0ZWRMYXllckluZm8mIGluZm8pCiB7Ci0gICAgaWYgKG1fc2hvdWxkU2VuZFNj
cm9sbFBvc2l0aW9uVXBkYXRlKSB7Ci0gICAgICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OkRpZENoYW5nZVNjcm9sbFBvc2l0aW9uKG1f
dmlzaWJsZUNvbnRlbnRzUmVjdC5sb2NhdGlvbigpKSk7Ci0gICAgICAgIG1fc2hvdWxkU2VuZFNj
cm9sbFBvc2l0aW9uVXBkYXRlID0gZmFsc2U7Ci0gICAgfQotCiAgICAgbV9zaG91bGRTeW5jRnJh
bWUgPSB0cnVlOwogICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHk6OlNldENvbXBvc2l0aW5nTGF5ZXJTdGF0ZShpZCwgaW5mbykpOwogfQpA
QCAtNzkyLDkgKzc4Niw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXRWaXNp
YmxlQ29udGVudHNSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgY29uCiAgICAgICAgIC8vIHRo
ZSBzYW1lIHdoaWxlIHBhbm5pbmcuIFRoaXMgY2FuIGhhdmUgbmFzdHkgZWZmZWN0cyBvbiBsYXlv
dXQuCiAgICAgICAgIG1fd2ViUGFnZS0+c2V0Rml4ZWRWaXNpYmxlQ29udGVudFJlY3Qocm91bmRl
ZEludFJlY3QocmVjdCkpOwogICAgIH0KLQotICAgIGlmIChjb250ZW50c1JlY3REaWRDaGFuZ2Up
Ci0gICAgICAgIG1fc2hvdWxkU2VuZFNjcm9sbFBvc2l0aW9uVXBkYXRlID0gdHJ1ZTsKIH0KIAog
dm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hh
bmdlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdC5oCmluZGV4IDcyOTdlZWQ4MWUwNWEyZWUwZjAwNWVlYTNkZjgxODg1ZmVjM2Yy
YjUuLmNmNzgyNDY0YTViYzdmZTdjODJhZmRlNDBkNWNjYzhmMDdkZDViOTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oCkBA
IC0yMDEsNyArMjAxLDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fd2FpdGluZ0ZvclVJUHJvY2Vz
czsKICAgICBib29sIG1faXNTdXNwZW5kZWQ7CiAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IG1fdmlz
aWJsZUNvbnRlbnRzUmVjdDsKLSAgICBib29sIG1fc2hvdWxkU2VuZFNjcm9sbFBvc2l0aW9uVXBk
YXRlOwogCiAgICAgTGF5ZXJUcmVlQ29udGV4dCBtX2xheWVyVHJlZUNvbnRleHQ7CiAgICAgYm9v
bCBtX3Nob3VsZFN5bmNGcmFtZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186584</attachid>
            <date>2013-02-05 02:39:54 -0800</date>
            <delta_ts>2013-02-05 18:32:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108051-20130205193614.patch</filename>
            <type>text/plain</type>
            <size>13638</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxODU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjc3MzRiNmEzZmU3OTE0
Y2ZkMTFmOWUzYmJjZWNjYTI5MDlhMWM2Zi4uMWZkMzY1ZTY5NjVjMzAxNTNmMDk1MzNjODY0ZjE5
NDNlMDE3ZjdkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTAyLTA1ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5h
dGVkIEdyYXBoaWNzOiByZW1vdmUgdGhlIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uIG1lc3NhZ2Uu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgwNTEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50
bHksIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6bV9yZW5kZXJlZENvbnRlbnRzU2Nyb2xsUG9z
aXRpb24gaXMgdXBkYXRlZAorICAgICAgICBhdCB0aGUgbW9tZW50IG9mIGZsdXNoaW5nLCBzbyB0
aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UgaWYgYSBzY3JvbGxQb3NpdGlvbiBpcyBzZW50Cisg
ICAgICAgIHZpYSBEaWRSZW5kZXJGcmFtZSBtZXNzYWdlIGluc3RlYWQgb2YgRGlkQ2hhbmdlU2Ny
b2xsUG9zaXRpb24gbWVzc2FnZS4KKworICAgICAgICBObyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJl
aGF2aW9yLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmU6OmZsdXNoTGF5ZXJDaGFuZ2VzKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmg6
CisgICAgICAgIChDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUpOgorCiAyMDEzLTAyLTA0ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBGaXggY3Jhc2ggYnkgPHNl
bGVjdD4gdHlwZSBjaGFuZ2Ugb24gZm9jdXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBjNTZiZjc1MWVjMzY4NmFj
NmI3NDRhNmE1YmNkN2ZkNDg4NDFlY2RhLi44Zjc0ZWU4NmNlZjZhZGU2MTdmOTQ4ZmM3OGM3ODQ0
ZGMyYjYwZTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTMtMDItMDUgIEh1YW5n
IERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgQ29vcmRpbmF0
ZWQgR3JhcGhpY3M6IHJlbW92ZSB0aGUgRGlkQ2hhbmdlU2Nyb2xsUG9zaXRpb24gbWVzc2FnZS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODA1MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRs
eSwgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjptX3JlbmRlcmVkQ29udGVudHNTY3JvbGxQb3Np
dGlvbiBpcyB1cGRhdGVkCisgICAgICAgIGF0IHRoZSBtb21lbnQgb2YgZmx1c2hpbmcsIHNvIHRo
ZXJlIGlzIG5vIGJlaGF2aW9yIGNoYW5nZSBpZiBhIHNjcm9sbFBvc2l0aW9uIGlzIHNlbnQKKyAg
ICAgICAgdmlhIERpZFJlbmRlckZyYW1lIG1lc3NhZ2UgaW5zdGVhZCBvZiBEaWRDaGFuZ2VTY3Jv
bGxQb3NpdGlvbiBtZXNzYWdlLgorCisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6ZGlkUmVuZGVyRnJhbWUpOgorICAgICAg
ICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oOgorICAgICAgICAoQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Q29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0KToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0OjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMpOgorICAgICAgICAoV2ViS2l0OjpDb29y
ZGluYXRlZExheWVyVHJlZUhvc3Q6OnN5bmNMYXllclN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXRWaXNpYmxlQ29udGVudHNSZWN0KToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExh
eWVyVHJlZUhvc3QuaDoKKwogMjAxMy0wMi0wNCAgR3dhbmcgWW9vbiBId2FuZyAgPHJ5dW1pZWxA
Y29tcGFueTEwMC5uZXQ+CiAKICAgICAgICAgQ29vcmRpbmF0ZWQgR3JhcGhpY3MgOiBkaXNjb25u
ZWN0Q3VzdG9tRmlsdGVyUHJvZ3JhbSBkb2VzIG5vdCBkbyBhbnl0aGluZy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29y
ZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHAKaW5kZXgg
ZDIxNWZiMzYxM2I5MDdiNmIxZDlmNWU4OTExOWRiYjI2NDRmNDU5NC4uODlhZGVkMzUzZWU0YTBk
NzVlOGQ1YTI4YjVhZmFlM2EwZWYzNzRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3Jk
aW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHAKQEAgLTIxMywxMSArMjEzLDYgQEAg
dm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmFkanVzdFBvc2l0aW9uRm9yRml4ZWRMYXll
cnMoKQogICAgICAgICB0b1RleHR1cmVNYXBwZXJMYXllcihpdC0+dmFsdWUpLT5zZXRTY3JvbGxQ
b3NpdGlvbkRlbHRhSWZOZWVkZWQoZGVsdGEpOwogfQogCi12b2lkIENvb3JkaW5hdGVkR3JhcGhp
Y3NTY2VuZTo6ZGlkQ2hhbmdlU2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYgcG9zaXRp
b24pCi17Ci0gICAgbV9wZW5kaW5nUmVuZGVyZWRDb250ZW50c1Njcm9sbFBvc2l0aW9uID0gcG9z
aXRpb247Ci19Ci0KICNpZiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKIHZvaWQgQ29vcmRpbmF0ZWRH
cmFwaGljc1NjZW5lOjpjcmVhdGVDYW52YXMoQ29vcmRpbmF0ZWRMYXllcklEIGlkLCBjb25zdCBJ
bnRTaXplJiwgUGFzc1JlZlB0cjxHcmFwaGljc1N1cmZhY2U+IHN1cmZhY2UpCiB7CkBAIC01NTQs
OSArNTQ5LDkgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmNvbW1pdFBlbmRpbmdC
YWNraW5nU3RvcmVPcGVyYXRpb25zKCkKICAgICBtX2JhY2tpbmdTdG9yZXNXaXRoUGVuZGluZ0J1
ZmZlcnMuY2xlYXIoKTsKIH0KIAotdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmZsdXNo
TGF5ZXJDaGFuZ2VzKCkKK3ZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpmbHVzaExheWVy
Q2hhbmdlcyhjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbikKIHsKLSAgICBtX3JlbmRl
cmVkQ29udGVudHNTY3JvbGxQb3NpdGlvbiA9IG1fcGVuZGluZ1JlbmRlcmVkQ29udGVudHNTY3Jv
bGxQb3NpdGlvbjsKKyAgICBtX3JlbmRlcmVkQ29udGVudHNTY3JvbGxQb3NpdGlvbiA9IHNjcm9s
bFBvc2l0aW9uOwogCiAgICAgLy8gU2luY2UgdGhlIGZyYW1lIGhhcyBub3cgYmVlbiByZW5kZXJl
ZCwgd2UgY2FuIHNhZmVseSB1bmxvY2sgdGhlIGFuaW1hdGlvbnMgdW50aWwgdGhlIG5leHQgbGF5
b3V0LgogICAgIHNldEFuaW1hdGlvbnNMb2NrZWQoZmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCmluZGV4IGNmYWIxNjYyZDFh
YzVjNDIzZmQ1MDEwYjAxY2Q3ZTQwNjM2OTMzODMuLjJlYmQ0YWNkNThkOWJjNTdiNjg5Njg4ZjY2
NzA1ZDdjMzIxYzMxMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRp
bmF0ZWRHcmFwaGljc1NjZW5lLmgKQEAgLTgyLDcgKzgyLDYgQEAgcHVibGljOgogI2VuZGlmCiAg
ICAgdm9pZCBzZXRDb250ZW50c1NpemUoY29uc3QgRmxvYXRTaXplJik7CiAgICAgdm9pZCBzZXRW
aXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IEZsb2F0UmVjdCYpOwotICAgIHZvaWQgZGlkQ2hhbmdl
U2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24pOwogI2lmIFVTRShHUkFQ
SElDU19TVVJGQUNFKQogICAgIHZvaWQgY3JlYXRlQ2FudmFzKENvb3JkaW5hdGVkTGF5ZXJJRCwg
Y29uc3QgSW50U2l6ZSYsIFBhc3NSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPik7CiAgICAgdm9pZCBz
eW5jQ2FudmFzKENvb3JkaW5hdGVkTGF5ZXJJRCwgdWludDMyX3QgZnJvbnRCdWZmZXIpOwpAQCAt
MTE3LDcgKzExNiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZVRpbGUoQ29vcmRpbmF0ZWRM
YXllcklELCB1aW50MzJfdCB0aWxlSUQsIGNvbnN0IFRpbGVVcGRhdGUmKTsKICAgICB2b2lkIGNy
ZWF0ZVVwZGF0ZUF0bGFzKHVpbnQzMl90IGF0bGFzSUQsIFBhc3NSZWZQdHI8Q29vcmRpbmF0ZWRT
dXJmYWNlPik7CiAgICAgdm9pZCByZW1vdmVVcGRhdGVBdGxhcyh1aW50MzJfdCBhdGxhc0lEKTsK
LSAgICB2b2lkIGZsdXNoTGF5ZXJDaGFuZ2VzKCk7CisgICAgdm9pZCBmbHVzaExheWVyQ2hhbmdl
cyhjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbik7CiAgICAgdm9pZCBjcmVhdGVJbWFn
ZUJhY2tpbmcoQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCk7CiAgICAgdm9pZCB1cGRhdGVJbWFn
ZUJhY2tpbmcoQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCwgUGFzc1JlZlB0cjxDb29yZGluYXRl
ZFN1cmZhY2U+KTsKICAgICB2b2lkIGNsZWFySW1hZ2VCYWNraW5nQ29udGVudHMoQ29vcmRpbmF0
ZWRJbWFnZUJhY2tpbmdJRCk7CkBAIC0yMDgsNyArMjA3LDYgQEAgcHJpdmF0ZToKICAgICBMYXll
clJhd1B0ck1hcCBtX2ZpeGVkTGF5ZXJzOwogICAgIENvb3JkaW5hdGVkTGF5ZXJJRCBtX3Jvb3RM
YXllcklEOwogICAgIEZsb2F0UG9pbnQgbV9yZW5kZXJlZENvbnRlbnRzU2Nyb2xsUG9zaXRpb247
Ci0gICAgRmxvYXRQb2ludCBtX3BlbmRpbmdSZW5kZXJlZENvbnRlbnRzU2Nyb2xsUG9zaXRpb247
CiAgICAgYm9vbCBtX2FuaW1hdGlvbnNMb2NrZWQ7CiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKQogICAgIGJvb2wgbV9hbmltYXRpb25GcmFtZVJlcXVlc3RlZDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcAppbmRleCA5
ODY0OTNjMzJmZjg0NjI4YTNlMGIwZWJiM2EwNTFiNzQxNTkzNzU4Li5jNTc0ZjlhOGJmNzRmZDkz
N2RkNWZlNWFmMWIwNjk2MjhhZDdjM2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwCkBAIC0xMjgsOSArMTI4LDkgQEAgdm9pZCBD
b29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6Y3JlYXRlQ3VzdG9tRmlsdGVyUHJvZ3JhbShp
bnQgaWQsIGNvbnN0IEN1c3QKIH0KICNlbmRpZgogCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdFByb3h5OjpkaWRSZW5kZXJGcmFtZShjb25zdCBJbnRTaXplJiBjb250ZW50c1NpemUsIGNv
bnN0IEludFJlY3QmIGNvdmVyZWRSZWN0KQordm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eTo6ZGlkUmVuZGVyRnJhbWUoY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIGNv
bnN0IEludFNpemUmIGNvbnRlbnRzU2l6ZSwgY29uc3QgSW50UmVjdCYgY292ZXJlZFJlY3QpCiB7
Ci0gICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpmbHVz
aExheWVyQ2hhbmdlcywgbV9zY2VuZS5nZXQoKSkpOworICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQo
JkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6Zmx1c2hMYXllckNoYW5nZXMsIG1fc2NlbmUuZ2V0
KCksIHNjcm9sbFBvc2l0aW9uKSk7CiAgICAgdXBkYXRlVmlld3BvcnQoKTsKICNpZiBVU0UoVElM
RURfQkFDS0lOR19TVE9SRSkKICAgICBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+ZGlkUmVu
ZGVyRnJhbWUoY29udGVudHNTaXplLCBjb3ZlcmVkUmVjdCk7CkBAIC0yMDYsMTEgKzIwNiw2IEBA
IHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmFuaW1hdGlvbkZyYW1lUmVhZHko
KQogfQogI2VuZGlmCiAKLXZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmRpZENo
YW5nZVNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uKQotewotICAgIGRp
c3BhdGNoVXBkYXRlKGJpbmQoJkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6ZGlkQ2hhbmdlU2Ny
b2xsUG9zaXRpb24sIG1fc2NlbmUuZ2V0KCksIHBvc2l0aW9uKSk7Ci19Ci0KICNpZiBVU0UoR1JB
UEhJQ1NfU1VSRkFDRSkKIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmNyZWF0
ZUNhbnZhcyhDb29yZGluYXRlZExheWVySUQgaWQsIGNvbnN0IEludFNpemUmIGNhbnZhc1NpemUs
IGNvbnN0IEdyYXBoaWNzU3VyZmFjZVRva2VuJiB0b2tlbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCmluZGV4IDI0YjM0NzcwYWMwODNj
MzVhNTU0MDMwNGUwOTBhMDUyNThlZjU3YWQuLjZjNzFlN2NkZDY5OWY5ZGI1Mjk0OTQ0MjlkNzUw
YzNhNzdhZDY4OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkuaApAQCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRSb290
Q29tcG9zaXRpbmdMYXllcihXZWJDb3JlOjpDb29yZGluYXRlZExheWVySUQpOwogICAgIHZvaWQg
c2V0Q29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYpOwogICAgIHZvaWQgc2V0
VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBjb25zdCBXZWJD
b3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKTsKLSAgICB2b2lkIGRpZFJlbmRlckZy
YW1lKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGNvbnRlbnRzU2l6ZSwgY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYgY292ZXJlZFJlY3QpOworICAgIHZvaWQgZGlkUmVuZGVyRnJhbWUoY29uc3QgV2Vi
Q29yZTo6RmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFNpemUm
IGNvbnRlbnRzU2l6ZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY292ZXJlZFJlY3QpOwogICAg
IHZvaWQgY3JlYXRlVGlsZUZvckxheWVyKFdlYkNvcmU6OkNvb3JkaW5hdGVkTGF5ZXJJRCwgdWlu
dDMyX3QgdGlsZUlELCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgV2ViQ29yZTo6U3Vy
ZmFjZVVwZGF0ZUluZm8mKTsKICAgICB2b2lkIHVwZGF0ZVRpbGVGb3JMYXllcihXZWJDb3JlOjpD
b29yZGluYXRlZExheWVySUQsIHVpbnQzMl90IHRpbGVJRCwgY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYsIGNvbnN0IFdlYkNvcmU6OlN1cmZhY2VVcGRhdGVJbmZvJik7CiAgICAgdm9pZCByZW1vdmVU
aWxlRm9yTGF5ZXIoV2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXllcklELCB1aW50MzJfdCB0aWxlSUQp
OwpAQCAtNzgsNyArNzgsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGVhckltYWdlQmFja2luZ0Nv
bnRlbnRzKFdlYkNvcmU6OkNvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpOwogICAgIHZvaWQgcmVt
b3ZlSW1hZ2VCYWNraW5nKFdlYkNvcmU6OkNvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpOwogICAg
IHZvaWQgZGlkUmVjZWl2ZUNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5TWVzc2FnZShDb3Jl
SVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKLSAgICB2b2lkIGRp
ZENoYW5nZVNjcm9sbFBvc2l0aW9uKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHBvc2l0aW9u
KTsKICNpZiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKICAgICB2b2lkIGNyZWF0ZUNhbnZhcyhXZWJD
b3JlOjpDb29yZGluYXRlZExheWVySUQsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBjb25zdCBX
ZWJDb3JlOjpHcmFwaGljc1N1cmZhY2VUb2tlbiYpOwogICAgIHZvaWQgc3luY0NhbnZhcyhXZWJD
b3JlOjpDb29yZGluYXRlZExheWVySUQsIHVpbnQzMl90IGZyb250QnVmZmVyKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkubWVz
c2FnZXMuaW4KaW5kZXggMjFkYzI2MzQ1MDNjY2RlODc5MDYyZDc5MzIzYzZiYmFiZTRmNzJlYy4u
MTg4OGFkYjIxOGM1M2Q2Y2Y0NWU2ZThjZTAzMjcyNTJkNGMyMTI0NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkubWVzc2Fn
ZXMuaW4KQEAgLTQwLDggKzQwLDcgQEAgbWVzc2FnZXMgLT4gQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHkgTGVnYWN5UmVjZWl2ZXIgewogICAgIFVwZGF0ZUltYWdlQmFja2luZyh1aW50NjRf
dCBpbWFnZUlELCBXZWJLaXQ6OldlYkNvb3JkaW5hdGVkU3VyZmFjZTo6SGFuZGxlIGhhbmRsZSkK
ICAgICBDbGVhckltYWdlQmFja2luZ0NvbnRlbnRzKHVpbnQ2NF90IGltYWdlSUQpCiAgICAgUmVt
b3ZlSW1hZ2VCYWNraW5nKHVpbnQ2NF90IGltYWdlSUQpCi0gICAgRGlkUmVuZGVyRnJhbWUoV2Vi
Q29yZTo6SW50U2l6ZSBjb250ZW50c1NpemUsIFdlYkNvcmU6OkludFJlY3QgY292ZXJlZFJlY3Qp
Ci0gICAgRGlkQ2hhbmdlU2Nyb2xsUG9zaXRpb24oV2ViQ29yZTo6RmxvYXRQb2ludCBwb3NpdGlv
bikKKyAgICBEaWRSZW5kZXJGcmFtZShXZWJDb3JlOjpGbG9hdFBvaW50IHNjcm9sbFBvc2l0aW9u
LCBXZWJDb3JlOjpJbnRTaXplIGNvbnRlbnRzU2l6ZSwgV2ViQ29yZTo6SW50UmVjdCBjb3ZlcmVk
UmVjdCkKICAgICBTZXRMYXllckFuaW1hdGlvbnModWludDMyX3QgaWQsIFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXJBbmltYXRpb25zIGFuaW1hdGlvbnMpCiAgICAgU2V0QW5pbWF0aW9uc0xvY2tlZChi
b29sIGxvY2tlZCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXggOWJhYjEwOGE4NDQ3NWI2ZTY4Mzg4MzBjODY5
YjQyYjBkNjgxM2QxNC4uODZiZTVlZTI2OWE5MzEzNTUxM2Q3Yjg2YWE4OTUyYTFhNWY2ZWJhZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVy
VHJlZUhvc3QuY3BwCkBAIC04NSw3ICs4NSw2IEBAIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0KFdlYlBhZ2UqIHdlYlBhZ2UpCiAgICAgLCBtX2lzRmx1
c2hpbmdMYXllckNoYW5nZXMoZmFsc2UpCiAgICAgLCBtX3dhaXRpbmdGb3JVSVByb2Nlc3ModHJ1
ZSkKICAgICAsIG1faXNTdXNwZW5kZWQoZmFsc2UpCi0gICAgLCBtX3Nob3VsZFNlbmRTY3JvbGxQ
b3NpdGlvblVwZGF0ZSh0cnVlKQogICAgICwgbV9zaG91bGRTeW5jRnJhbWUoZmFsc2UpCiAgICAg
LCBtX2RpZEluaXRpYWxpemVSb290Q29tcG9zaXRpbmdMYXllcihmYWxzZSkKICAgICAsIG1fbGF5
ZXJGbHVzaFRpbWVyKHRoaXMsICZDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmxheWVyRmx1c2hU
aW1lckZpcmVkKQpAQCAtMjkyLDcgKzI5MSw3IEBAIGJvb2wgQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0OjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoKQogCiAgICAgICAgIEludFNpemUgY29udGVu
dHNTaXplID0gcm91bmRlZEludFNpemUobV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLT5zaXpl
KCkpOwogICAgICAgICBJbnRSZWN0IGNvdmVyZWRSZWN0ID0gdG9Db29yZGluYXRlZEdyYXBoaWNz
TGF5ZXIobV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLmdldCgpKS0+Y292ZXJSZWN0KCk7Ci0g
ICAgICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
UHJveHk6OkRpZFJlbmRlckZyYW1lKGNvbnRlbnRzU2l6ZSwgY292ZXJlZFJlY3QpKTsKKyAgICAg
ICAgbV93ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94
eTo6RGlkUmVuZGVyRnJhbWUobV92aXNpYmxlQ29udGVudHNSZWN0LmxvY2F0aW9uKCksIGNvbnRl
bnRzU2l6ZSwgY292ZXJlZFJlY3QpKTsKICAgICAgICAgbV93YWl0aW5nRm9yVUlQcm9jZXNzID0g
dHJ1ZTsKICAgICAgICAgbV9zaG91bGRTeW5jRnJhbWUgPSBmYWxzZTsKICAgICB9IGVsc2UKQEAg
LTM1MiwxMSArMzUxLDYgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmluaXRpYWxp
emVSb290Q29tcG9zaXRpbmdMYXllcklmTmVlZGVkKCkKIAogdm9pZCBDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OnN5bmNMYXllclN0YXRlKENvb3JkaW5hdGVkTGF5ZXJJRCBpZCwgY29uc3QgQ29v
cmRpbmF0ZWRMYXllckluZm8mIGluZm8pCiB7Ci0gICAgaWYgKG1fc2hvdWxkU2VuZFNjcm9sbFBv
c2l0aW9uVXBkYXRlKSB7Ci0gICAgICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6Q29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OkRpZENoYW5nZVNjcm9sbFBvc2l0aW9uKG1fdmlzaWJs
ZUNvbnRlbnRzUmVjdC5sb2NhdGlvbigpKSk7Ci0gICAgICAgIG1fc2hvdWxkU2VuZFNjcm9sbFBv
c2l0aW9uVXBkYXRlID0gZmFsc2U7Ci0gICAgfQotCiAgICAgbV9zaG91bGRTeW5jRnJhbWUgPSB0
cnVlOwogICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHk6OlNldENvbXBvc2l0aW5nTGF5ZXJTdGF0ZShpZCwgaW5mbykpOwogfQpAQCAtNzky
LDkgKzc4Niw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXRWaXNpYmxlQ29u
dGVudHNSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgY29uCiAgICAgICAgIC8vIHRoZSBzYW1l
IHdoaWxlIHBhbm5pbmcuIFRoaXMgY2FuIGhhdmUgbmFzdHkgZWZmZWN0cyBvbiBsYXlvdXQuCiAg
ICAgICAgIG1fd2ViUGFnZS0+c2V0Rml4ZWRWaXNpYmxlQ29udGVudFJlY3Qocm91bmRlZEludFJl
Y3QocmVjdCkpOwogICAgIH0KLQotICAgIGlmIChjb250ZW50c1JlY3REaWRDaGFuZ2UpCi0gICAg
ICAgIG1fc2hvdWxkU2VuZFNjcm9sbFBvc2l0aW9uVXBkYXRlID0gdHJ1ZTsKIH0KIAogdm9pZCBD
b29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdC5oCmluZGV4IDcyOTdlZWQ4MWUwNWEyZWUwZjAwNWVlYTNkZjgxODg1ZmVjM2YyYjUuLmNm
NzgyNDY0YTViYzdmZTdjODJhZmRlNDBkNWNjYzhmMDdkZDViOTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oCkBAIC0yMDEs
NyArMjAxLDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fd2FpdGluZ0ZvclVJUHJvY2VzczsKICAg
ICBib29sIG1faXNTdXNwZW5kZWQ7CiAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IG1fdmlzaWJsZUNv
bnRlbnRzUmVjdDsKLSAgICBib29sIG1fc2hvdWxkU2VuZFNjcm9sbFBvc2l0aW9uVXBkYXRlOwog
CiAgICAgTGF5ZXJUcmVlQ29udGV4dCBtX2xheWVyVHJlZUNvbnRleHQ7CiAgICAgYm9vbCBtX3No
b3VsZFN5bmNGcmFtZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186741</attachid>
            <date>2013-02-05 18:33:00 -0800</date>
            <delta_ts>2013-02-05 18:42:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108051-20130206112917.patch</filename>
            <type>text/plain</type>
            <size>14566</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxODU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjc3MzRiNmEzZmU3OTE0
Y2ZkMTFmOWUzYmJjZWNjYTI5MDlhMWM2Zi4uZGM0ZWJiZDVmNjBlZWRlNGRiNDMxNDJkYTMzMTFl
OGMyOTAxZjZkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAyLTA1ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5h
dGVkIEdyYXBoaWNzOiByZW1vdmUgdGhlIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uIG1lc3NhZ2Uu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgwNTEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50
bHksIHdlIHVzZSB0aGUgRGlkQ2hhbmdlU2Nyb2xsUG9zaXRpb24gbWVzc2FnZSB0byBzZW5kIHRo
ZSBzY3JvbGwKKyAgICAgICAgcG9zaXRpb24gdGhhdCBXZWJDb3JlIHVzZWQgaW4gdGhpcyBmcmFt
ZSB0byBVSSBQcm9jZXNzLiBXZSBoYWQgdG8gaGF2ZQorICAgICAgICBzb21lIG1lbWJlciB2YXJp
YWJsZXMgZm9yIHRoZSBEaWRDaGFuZ2VTY3JvbGxQb3NpdGlvbiBtZXNzYWdlLgorICAgICAgICBI
b3dldmVyLCB3ZSBjYW4gc2VuZCBhIHNjcm9sbCBwb3NpdGlvbiB2aWEgdGhlIERpZFJlbmRlckZy
YW1lIG1lc3NhZ2UsCisgICAgICAgIGJlY2F1c2UgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpt
X3JlbmRlcmVkQ29udGVudHNTY3JvbGxQb3NpdGlvbiBpcworICAgICAgICB1cGRhdGVkIGF0IHRo
ZSBtb21lbnQgb2YgZmx1c2hpbmcuIFNvIHdlIGNhbiByZW1vdmUgdGhlCisgICAgICAgIERpZENo
YW5nZVNjcm9sbFBvc2l0aW9uIG1lc3NhZ2UgYW5kIHNvbWUgcmVkdW5kYW50IG1lbWJlciB2YXJp
YWJsZXMuCisKKyAgICAgICAgTm8gdGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdy
YXBoaWNzU2NlbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1Nj
ZW5lOjpmbHVzaExheWVyQ2hhbmdlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oOgorICAgICAgICAoQ29v
cmRpbmF0ZWRHcmFwaGljc1NjZW5lKToKKwogMjAxMy0wMi0wNCAgS2VudCBUYW11cmEgIDx0a2Vu
dEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRml4IGNyYXNoIGJ5IDxzZWxlY3Q+IHR5cGUgY2hh
bmdlIG9uIGZvY3VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzU2YmY3NTFlYzM2ODZhYzZiNzQ0YTZhNWJjZDdm
ZDQ4ODQxZWNkYS4uZDdkZjJiMmUxNDNkNGQwZjgwZTE2ZGZkOWEwM2Q1M2M4OTAzOGJhZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAyLTA1ICBIdWFuZyBEb25nc3VuZyAgPGx1
eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5hdGVkIEdyYXBoaWNzOiBy
ZW1vdmUgdGhlIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uIG1lc3NhZ2UuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgwNTEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHksIHdlIHVzZSB0aGUg
RGlkQ2hhbmdlU2Nyb2xsUG9zaXRpb24gbWVzc2FnZSB0byBzZW5kIHRoZSBzY3JvbGwKKyAgICAg
ICAgcG9zaXRpb24gdGhhdCBXZWJDb3JlIHVzZWQgaW4gdGhpcyBmcmFtZSB0byBVSSBQcm9jZXNz
LiBXZSBoYWQgdG8gaGF2ZQorICAgICAgICBzb21lIG1lbWJlciB2YXJpYWJsZXMgZm9yIHRoZSBE
aWRDaGFuZ2VTY3JvbGxQb3NpdGlvbiBtZXNzYWdlLgorICAgICAgICBIb3dldmVyLCB3ZSBjYW4g
c2VuZCBhIHNjcm9sbCBwb3NpdGlvbiB2aWEgdGhlIERpZFJlbmRlckZyYW1lIG1lc3NhZ2UsCisg
ICAgICAgIGJlY2F1c2UgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjptX3JlbmRlcmVkQ29udGVu
dHNTY3JvbGxQb3NpdGlvbiBpcworICAgICAgICB1cGRhdGVkIGF0IHRoZSBtb21lbnQgb2YgZmx1
c2hpbmcuIFNvIHdlIGNhbiByZW1vdmUgdGhlCisgICAgICAgIERpZENoYW5nZVNjcm9sbFBvc2l0
aW9uIG1lc3NhZ2UgYW5kIHNvbWUgcmVkdW5kYW50IG1lbWJlciB2YXJpYWJsZXMuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhv
c3RQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFBy
b3h5OjpkaWRSZW5kZXJGcmFtZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lmg6
CisgICAgICAgIChDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSk6CisgICAgICAgICogVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHku
bWVzc2FnZXMuaW46CisgICAgICAgICAgUmVtb3ZlIHRoZSBEaWRDaGFuZ2VTY3JvbGxQb3NpdGlv
biBtZXNzYWdlLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBo
aWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0KToKKyAgICAgICAg
KFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpmbHVzaFBlbmRpbmdMYXllckNoYW5n
ZXMpOgorICAgICAgICAgIFNlbmQgYSBzY3JvbGwgcG9zaXRpb24gdmlhIHRoZSBEaWRDaGFuZ2VT
Y3JvbGxQb3NpdGlvbiBtZXNzYWdlLgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OnN5bmNMYXllclN0YXRlKToKKyAgICAgICAgICBEb24ndCBzZW5kIGEgc2Nyb2xs
IHBvc2l0aW9uIGJlY2F1c2UgZmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkgZG9zZQorICAgICAg
ICAgIHRoYXQuIEluIGFkZGl0aW9uLCBpdCBpcyB3ZWlyZCB0byBjaGVjayBpZiB3ZSBtdXN0IHNl
bmQgYSBzY3JvbGwKKyAgICAgICAgICBwb3NpdGlvbiBhdCB0aGUgbW9tZW50IG9mIHNlbmRpbmcg
dGhlIFN5bmNMYXllclN0YXRlIG1lc3NhZ2Ugb2YgZXZlcnkKKyAgICAgICAgICBsYXllcnMuCisg
ICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2V0VmlzaWJsZUNvbnRl
bnRzUmVjdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Lmg6CisKIDIwMTMtMDItMDQgIEd3YW5nIFlvb24g
SHdhbmcgIDxyeXVtaWVsQGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIENvb3JkaW5hdGVkIEdy
YXBoaWNzIDogZGlzY29ubmVjdEN1c3RvbUZpbHRlclByb2dyYW0gZG9lcyBub3QgZG8gYW55dGhp
bmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
U2NlbmUuY3BwCmluZGV4IGQyMTVmYjM2MTNiOTA3YjZiMWQ5ZjVlODkxMTlkYmIyNjQ0ZjQ1OTQu
Ljg5YWRlZDM1M2VlNGEwZDc1ZThkNWEyOGI1YWZhZTNhMGVmMzc0ZTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZEdyYXBoaWNzU2NlbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCkBAIC0y
MTMsMTEgKzIxMyw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjphZGp1c3RQb3Np
dGlvbkZvckZpeGVkTGF5ZXJzKCkKICAgICAgICAgdG9UZXh0dXJlTWFwcGVyTGF5ZXIoaXQtPnZh
bHVlKS0+c2V0U2Nyb2xsUG9zaXRpb25EZWx0YUlmTmVlZGVkKGRlbHRhKTsKIH0KIAotdm9pZCBD
b29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmRpZENoYW5nZVNjcm9sbFBvc2l0aW9uKGNvbnN0IEZs
b2F0UG9pbnQmIHBvc2l0aW9uKQotewotICAgIG1fcGVuZGluZ1JlbmRlcmVkQ29udGVudHNTY3Jv
bGxQb3NpdGlvbiA9IHBvc2l0aW9uOwotfQotCiAjaWYgVVNFKEdSQVBISUNTX1NVUkZBQ0UpCiB2
b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6Y3JlYXRlQ2FudmFzKENvb3JkaW5hdGVkTGF5
ZXJJRCBpZCwgY29uc3QgSW50U2l6ZSYsIFBhc3NSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPiBzdXJm
YWNlKQogewpAQCAtNTU0LDkgKzU0OSw5IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
Ojpjb21taXRQZW5kaW5nQmFja2luZ1N0b3JlT3BlcmF0aW9ucygpCiAgICAgbV9iYWNraW5nU3Rv
cmVzV2l0aFBlbmRpbmdCdWZmZXJzLmNsZWFyKCk7CiB9CiAKLXZvaWQgQ29vcmRpbmF0ZWRHcmFw
aGljc1NjZW5lOjpmbHVzaExheWVyQ2hhbmdlcygpCit2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZTo6Zmx1c2hMYXllckNoYW5nZXMoY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24p
CiB7Ci0gICAgbV9yZW5kZXJlZENvbnRlbnRzU2Nyb2xsUG9zaXRpb24gPSBtX3BlbmRpbmdSZW5k
ZXJlZENvbnRlbnRzU2Nyb2xsUG9zaXRpb247CisgICAgbV9yZW5kZXJlZENvbnRlbnRzU2Nyb2xs
UG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbjsKIAogICAgIC8vIFNpbmNlIHRoZSBmcmFtZSBoYXMg
bm93IGJlZW4gcmVuZGVyZWQsIHdlIGNhbiBzYWZlbHkgdW5sb2NrIHRoZSBhbmltYXRpb25zIHVu
dGlsIHRoZSBuZXh0IGxheW91dC4KICAgICBzZXRBbmltYXRpb25zTG9ja2VkKGZhbHNlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGlu
YXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaApp
bmRleCBjZmFiMTY2MmQxYWM1YzQyM2ZkNTAxMGIwMWNkN2U0MDYzNjkzMzgzLi4yZWJkNGFjZDU4
ZDliYzU3YjY4OTY4OGY2NjcwNWQ3YzMyMWMzMTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGlj
c1NjZW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nv
b3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCkBAIC04Miw3ICs4Miw2IEBAIHB1
YmxpYzoKICNlbmRpZgogICAgIHZvaWQgc2V0Q29udGVudHNTaXplKGNvbnN0IEZsb2F0U2l6ZSYp
OwogICAgIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBGbG9hdFJlY3QmKTsKLSAg
ICB2b2lkIGRpZENoYW5nZVNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9u
KTsKICNpZiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKICAgICB2b2lkIGNyZWF0ZUNhbnZhcyhDb29y
ZGluYXRlZExheWVySUQsIGNvbnN0IEludFNpemUmLCBQYXNzUmVmUHRyPEdyYXBoaWNzU3VyZmFj
ZT4pOwogICAgIHZvaWQgc3luY0NhbnZhcyhDb29yZGluYXRlZExheWVySUQsIHVpbnQzMl90IGZy
b250QnVmZmVyKTsKQEAgLTExNyw3ICsxMTYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVU
aWxlKENvb3JkaW5hdGVkTGF5ZXJJRCwgdWludDMyX3QgdGlsZUlELCBjb25zdCBUaWxlVXBkYXRl
Jik7CiAgICAgdm9pZCBjcmVhdGVVcGRhdGVBdGxhcyh1aW50MzJfdCBhdGxhc0lELCBQYXNzUmVm
UHRyPENvb3JkaW5hdGVkU3VyZmFjZT4pOwogICAgIHZvaWQgcmVtb3ZlVXBkYXRlQXRsYXModWlu
dDMyX3QgYXRsYXNJRCk7Ci0gICAgdm9pZCBmbHVzaExheWVyQ2hhbmdlcygpOworICAgIHZvaWQg
Zmx1c2hMYXllckNoYW5nZXMoY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24pOwogICAg
IHZvaWQgY3JlYXRlSW1hZ2VCYWNraW5nKENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpOwogICAg
IHZvaWQgdXBkYXRlSW1hZ2VCYWNraW5nKENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQsIFBhc3NS
ZWZQdHI8Q29vcmRpbmF0ZWRTdXJmYWNlPik7CiAgICAgdm9pZCBjbGVhckltYWdlQmFja2luZ0Nv
bnRlbnRzKENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpOwpAQCAtMjA4LDcgKzIwNyw2IEBAIHBy
aXZhdGU6CiAgICAgTGF5ZXJSYXdQdHJNYXAgbV9maXhlZExheWVyczsKICAgICBDb29yZGluYXRl
ZExheWVySUQgbV9yb290TGF5ZXJJRDsKICAgICBGbG9hdFBvaW50IG1fcmVuZGVyZWRDb250ZW50
c1Njcm9sbFBvc2l0aW9uOwotICAgIEZsb2F0UG9pbnQgbV9wZW5kaW5nUmVuZGVyZWRDb250ZW50
c1Njcm9sbFBvc2l0aW9uOwogICAgIGJvb2wgbV9hbmltYXRpb25zTG9ja2VkOwogI2lmIEVOQUJM
RShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKICAgICBib29sIG1fYW5pbWF0aW9uRnJhbWVSZXF1
ZXN0ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eS5jcHAKaW5kZXggOTg2NDkzYzMyZmY4NDYyOGEzZTBiMGViYjNhMDUxYjc0MTU5Mzc1OC4u
YzU3NGY5YThiZjc0ZmQ5MzdkZDVmZTVhZjFiMDY5NjI4YWQ3YzNlMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcApAQCAtMTI4LDkg
KzEyOCw5IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmNyZWF0ZUN1c3Rv
bUZpbHRlclByb2dyYW0oaW50IGlkLCBjb25zdCBDdXN0CiB9CiAjZW5kaWYKIAotdm9pZCBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6ZGlkUmVuZGVyRnJhbWUoY29uc3QgSW50U2l6ZSYg
Y29udGVudHNTaXplLCBjb25zdCBJbnRSZWN0JiBjb3ZlcmVkUmVjdCkKK3ZvaWQgQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0UHJveHk6OmRpZFJlbmRlckZyYW1lKGNvbnN0IEZsb2F0UG9pbnQmIHNj
cm9sbFBvc2l0aW9uLCBjb25zdCBJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0IEludFJlY3Qm
IGNvdmVyZWRSZWN0KQogewotICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkNvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZTo6Zmx1c2hMYXllckNoYW5nZXMsIG1fc2NlbmUuZ2V0KCkpKTsKKyAgICBkaXNw
YXRjaFVwZGF0ZShiaW5kKCZDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmZsdXNoTGF5ZXJDaGFu
Z2VzLCBtX3NjZW5lLmdldCgpLCBzY3JvbGxQb3NpdGlvbikpOwogICAgIHVwZGF0ZVZpZXdwb3J0
KCk7CiAjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgbV9kcmF3aW5nQXJlYVByb3h5
LT5wYWdlKCktPmRpZFJlbmRlckZyYW1lKGNvbnRlbnRzU2l6ZSwgY292ZXJlZFJlY3QpOwpAQCAt
MjA2LDExICsyMDYsNiBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Ojphbmlt
YXRpb25GcmFtZVJlYWR5KCkKIH0KICNlbmRpZgogCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdFByb3h5OjpkaWRDaGFuZ2VTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiBwb3Np
dGlvbikKLXsKLSAgICBkaXNwYXRjaFVwZGF0ZShiaW5kKCZDb29yZGluYXRlZEdyYXBoaWNzU2Nl
bmU6OmRpZENoYW5nZVNjcm9sbFBvc2l0aW9uLCBtX3NjZW5lLmdldCgpLCBwb3NpdGlvbikpOwot
fQotCiAjaWYgVVNFKEdSQVBISUNTX1NVUkZBQ0UpCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdFByb3h5OjpjcmVhdGVDYW52YXMoQ29vcmRpbmF0ZWRMYXllcklEIGlkLCBjb25zdCBJbnRT
aXplJiBjYW52YXNTaXplLCBjb25zdCBHcmFwaGljc1N1cmZhY2VUb2tlbiYgdG9rZW4pCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaAppbmRl
eCAyNGIzNDc3MGFjMDgzYzM1YTU1NDAzMDRlMDkwYTA1MjU4ZWY1N2FkLi42YzcxZTdjZGQ2OTlm
OWRiNTI5NDk0NDI5ZDc1MGMzYTc3YWQ2ODljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKQEAgLTY3LDcgKzY3LDcgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoV2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXll
cklEKTsKICAgICB2b2lkIHNldENvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUm
KTsKICAgICB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRS
ZWN0JiwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3Rvcik7Ci0gICAg
dm9pZCBkaWRSZW5kZXJGcmFtZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBjb250ZW50c1NpemUs
IGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNvdmVyZWRSZWN0KTsKKyAgICB2b2lkIGRpZFJlbmRl
ckZyYW1lKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBX
ZWJDb3JlOjpJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNv
dmVyZWRSZWN0KTsKICAgICB2b2lkIGNyZWF0ZVRpbGVGb3JMYXllcihXZWJDb3JlOjpDb29yZGlu
YXRlZExheWVySUQsIHVpbnQzMl90IHRpbGVJRCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNv
bnN0IFdlYkNvcmU6OlN1cmZhY2VVcGRhdGVJbmZvJik7CiAgICAgdm9pZCB1cGRhdGVUaWxlRm9y
TGF5ZXIoV2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXllcklELCB1aW50MzJfdCB0aWxlSUQsIGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpTdXJmYWNlVXBkYXRlSW5mbyYpOwog
ICAgIHZvaWQgcmVtb3ZlVGlsZUZvckxheWVyKFdlYkNvcmU6OkNvb3JkaW5hdGVkTGF5ZXJJRCwg
dWludDMyX3QgdGlsZUlEKTsKQEAgLTc4LDcgKzc4LDYgQEAgcHVibGljOgogICAgIHZvaWQgY2xl
YXJJbWFnZUJhY2tpbmdDb250ZW50cyhXZWJDb3JlOjpDb29yZGluYXRlZEltYWdlQmFja2luZ0lE
KTsKICAgICB2b2lkIHJlbW92ZUltYWdlQmFja2luZyhXZWJDb3JlOjpDb29yZGluYXRlZEltYWdl
QmFja2luZ0lEKTsKICAgICB2b2lkIGRpZFJlY2VpdmVDb29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVy
Jik7Ci0gICAgdm9pZCBkaWRDaGFuZ2VTY3JvbGxQb3NpdGlvbihjb25zdCBXZWJDb3JlOjpGbG9h
dFBvaW50JiBwb3NpdGlvbik7CiAjaWYgVVNFKEdSQVBISUNTX1NVUkZBQ0UpCiAgICAgdm9pZCBj
cmVhdGVDYW52YXMoV2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXllcklELCBjb25zdCBXZWJDb3JlOjpJ
bnRTaXplJiwgY29uc3QgV2ViQ29yZTo6R3JhcGhpY3NTdXJmYWNlVG9rZW4mKTsKICAgICB2b2lk
IHN5bmNDYW52YXMoV2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXllcklELCB1aW50MzJfdCBmcm9udEJ1
ZmZlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDIxZGMyNjM0NTAzY2NkZTg3OTA2MmQ3OTMy
M2M2YmJhYmU0ZjcyZWMuLjE4ODhhZGIyMThjNTNkNmNmNDVlNmU4Y2UwMzI3MjUyZDRjMjEyNDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdFByb3h5Lm1lc3NhZ2VzLmluCkBAIC00MCw4ICs0MCw3IEBAIG1lc3NhZ2VzIC0+IENvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5IExlZ2FjeVJlY2VpdmVyIHsKICAgICBVcGRhdGVJbWFn
ZUJhY2tpbmcodWludDY0X3QgaW1hZ2VJRCwgV2ViS2l0OjpXZWJDb29yZGluYXRlZFN1cmZhY2U6
OkhhbmRsZSBoYW5kbGUpCiAgICAgQ2xlYXJJbWFnZUJhY2tpbmdDb250ZW50cyh1aW50NjRfdCBp
bWFnZUlEKQogICAgIFJlbW92ZUltYWdlQmFja2luZyh1aW50NjRfdCBpbWFnZUlEKQotICAgIERp
ZFJlbmRlckZyYW1lKFdlYkNvcmU6OkludFNpemUgY29udGVudHNTaXplLCBXZWJDb3JlOjpJbnRS
ZWN0IGNvdmVyZWRSZWN0KQotICAgIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uKFdlYkNvcmU6OkZs
b2F0UG9pbnQgcG9zaXRpb24pCisgICAgRGlkUmVuZGVyRnJhbWUoV2ViQ29yZTo6RmxvYXRQb2lu
dCBzY3JvbGxQb3NpdGlvbiwgV2ViQ29yZTo6SW50U2l6ZSBjb250ZW50c1NpemUsIFdlYkNvcmU6
OkludFJlY3QgY292ZXJlZFJlY3QpCiAgICAgU2V0TGF5ZXJBbmltYXRpb25zKHVpbnQzMl90IGlk
LCBXZWJDb3JlOjpHcmFwaGljc0xheWVyQW5pbWF0aW9ucyBhbmltYXRpb25zKQogICAgIFNldEFu
aW1hdGlvbnNMb2NrZWQoYm9vbCBsb2NrZWQpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCmluZGV4IDliYWIxMDhhODQ0
NzViNmU2ODM4ODMwYzg2OWI0MmIwZDY4MTNkMTQuLjg2YmU1ZWUyNjlhOTMxMzU1MTNkN2I4NmFh
ODk1MmExYTVmNmViYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcApAQCAtODUsNyArODUsNiBAQCBDb29yZGluYXRl
ZExheWVyVHJlZUhvc3Q6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdChXZWJQYWdlKiB3ZWJQYWdl
KQogICAgICwgbV9pc0ZsdXNoaW5nTGF5ZXJDaGFuZ2VzKGZhbHNlKQogICAgICwgbV93YWl0aW5n
Rm9yVUlQcm9jZXNzKHRydWUpCiAgICAgLCBtX2lzU3VzcGVuZGVkKGZhbHNlKQotICAgICwgbV9z
aG91bGRTZW5kU2Nyb2xsUG9zaXRpb25VcGRhdGUodHJ1ZSkKICAgICAsIG1fc2hvdWxkU3luY0Zy
YW1lKGZhbHNlKQogICAgICwgbV9kaWRJbml0aWFsaXplUm9vdENvbXBvc2l0aW5nTGF5ZXIoZmFs
c2UpCiAgICAgLCBtX2xheWVyRmx1c2hUaW1lcih0aGlzLCAmQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0OjpsYXllckZsdXNoVGltZXJGaXJlZCkKQEAgLTI5Miw3ICsyOTEsNyBAQCBib29sIENvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdDo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkKIAogICAgICAg
ICBJbnRTaXplIGNvbnRlbnRzU2l6ZSA9IHJvdW5kZWRJbnRTaXplKG1fbm9uQ29tcG9zaXRlZENv
bnRlbnRMYXllci0+c2l6ZSgpKTsKICAgICAgICAgSW50UmVjdCBjb3ZlcmVkUmVjdCA9IHRvQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyKG1fbm9uQ29tcG9zaXRlZENvbnRlbnRMYXllci5nZXQoKSkt
PmNvdmVyUmVjdCgpOwotICAgICAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkNvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpEaWRSZW5kZXJGcmFtZShjb250ZW50c1NpemUsIGNvdmVy
ZWRSZWN0KSk7CisgICAgICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6Q29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHk6OkRpZFJlbmRlckZyYW1lKG1fdmlzaWJsZUNvbnRlbnRzUmVjdC5s
b2NhdGlvbigpLCBjb250ZW50c1NpemUsIGNvdmVyZWRSZWN0KSk7CiAgICAgICAgIG1fd2FpdGlu
Z0ZvclVJUHJvY2VzcyA9IHRydWU7CiAgICAgICAgIG1fc2hvdWxkU3luY0ZyYW1lID0gZmFsc2U7
CiAgICAgfSBlbHNlCkBAIC0zNTIsMTEgKzM1MSw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0Ojppbml0aWFsaXplUm9vdENvbXBvc2l0aW5nTGF5ZXJJZk5lZWRlZCgpCiAKIHZvaWQg
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzeW5jTGF5ZXJTdGF0ZShDb29yZGluYXRlZExheWVy
SUQgaWQsIGNvbnN0IENvb3JkaW5hdGVkTGF5ZXJJbmZvJiBpbmZvKQogewotICAgIGlmIChtX3No
b3VsZFNlbmRTY3JvbGxQb3NpdGlvblVwZGF0ZSkgewotICAgICAgICBtX3dlYlBhZ2UtPnNlbmQo
TWVzc2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpEaWRDaGFuZ2VTY3JvbGxQ
b3NpdGlvbihtX3Zpc2libGVDb250ZW50c1JlY3QubG9jYXRpb24oKSkpOwotICAgICAgICBtX3No
b3VsZFNlbmRTY3JvbGxQb3NpdGlvblVwZGF0ZSA9IGZhbHNlOwotICAgIH0KLQogICAgIG1fc2hv
dWxkU3luY0ZyYW1lID0gdHJ1ZTsKICAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkNvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpTZXRDb21wb3NpdGluZ0xheWVyU3RhdGUoaWQsIGlu
Zm8pKTsKIH0KQEAgLTc5Miw5ICs3ODYsNiBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbgogICAg
ICAgICAvLyB0aGUgc2FtZSB3aGlsZSBwYW5uaW5nLiBUaGlzIGNhbiBoYXZlIG5hc3R5IGVmZmVj
dHMgb24gbGF5b3V0LgogICAgICAgICBtX3dlYlBhZ2UtPnNldEZpeGVkVmlzaWJsZUNvbnRlbnRS
ZWN0KHJvdW5kZWRJbnRSZWN0KHJlY3QpKTsKICAgICB9Ci0KLSAgICBpZiAoY29udGVudHNSZWN0
RGlkQ2hhbmdlKQotICAgICAgICBtX3Nob3VsZFNlbmRTY3JvbGxQb3NpdGlvblVwZGF0ZSA9IHRy
dWU7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkZXZpY2VPclBhZ2VTY2Fs
ZUZhY3RvckNoYW5nZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZExheWVyVHJlZUhvc3QuaAppbmRleCA3Mjk3ZWVkODFlMDVhMmVlMGYwMDVlZWEzZGY4
MTg4NWZlYzNmMmI1Li5jZjc4MjQ2NGE1YmM3ZmU3YzgyYWZkZTQwZDVjY2M4ZjA3ZGQ1YjkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJl
ZUhvc3QuaApAQCAtMjAxLDcgKzIwMSw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3dhaXRpbmdG
b3JVSVByb2Nlc3M7CiAgICAgYm9vbCBtX2lzU3VzcGVuZGVkOwogICAgIFdlYkNvcmU6OkZsb2F0
UmVjdCBtX3Zpc2libGVDb250ZW50c1JlY3Q7Ci0gICAgYm9vbCBtX3Nob3VsZFNlbmRTY3JvbGxQ
b3NpdGlvblVwZGF0ZTsKIAogICAgIExheWVyVHJlZUNvbnRleHQgbV9sYXllclRyZWVDb250ZXh0
OwogICAgIGJvb2wgbV9zaG91bGRTeW5jRnJhbWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186742</attachid>
            <date>2013-02-05 18:42:08 -0800</date>
            <delta_ts>2013-02-06 00:20:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108051-20130206113824.patch</filename>
            <type>text/plain</type>
            <size>14566</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxODU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjc3MzRiNmEzZmU3OTE0
Y2ZkMTFmOWUzYmJjZWNjYTI5MDlhMWM2Zi4uZGM0ZWJiZDVmNjBlZWRlNGRiNDMxNDJkYTMzMTFl
OGMyOTAxZjZkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAyLTA1ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5h
dGVkIEdyYXBoaWNzOiByZW1vdmUgdGhlIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uIG1lc3NhZ2Uu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgwNTEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50
bHksIHdlIHVzZSB0aGUgRGlkQ2hhbmdlU2Nyb2xsUG9zaXRpb24gbWVzc2FnZSB0byBzZW5kIHRo
ZSBzY3JvbGwKKyAgICAgICAgcG9zaXRpb24gdGhhdCBXZWJDb3JlIHVzZWQgaW4gdGhpcyBmcmFt
ZSB0byBVSSBQcm9jZXNzLiBXZSBoYWQgdG8gaGF2ZQorICAgICAgICBzb21lIG1lbWJlciB2YXJp
YWJsZXMgZm9yIHRoZSBEaWRDaGFuZ2VTY3JvbGxQb3NpdGlvbiBtZXNzYWdlLgorICAgICAgICBI
b3dldmVyLCB3ZSBjYW4gc2VuZCBhIHNjcm9sbCBwb3NpdGlvbiB2aWEgdGhlIERpZFJlbmRlckZy
YW1lIG1lc3NhZ2UsCisgICAgICAgIGJlY2F1c2UgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpt
X3JlbmRlcmVkQ29udGVudHNTY3JvbGxQb3NpdGlvbiBpcworICAgICAgICB1cGRhdGVkIGF0IHRo
ZSBtb21lbnQgb2YgZmx1c2hpbmcuIFNvIHdlIGNhbiByZW1vdmUgdGhlCisgICAgICAgIERpZENo
YW5nZVNjcm9sbFBvc2l0aW9uIG1lc3NhZ2UgYW5kIHNvbWUgcmVkdW5kYW50IG1lbWJlciB2YXJp
YWJsZXMuCisKKyAgICAgICAgTm8gdGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdy
YXBoaWNzU2NlbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1Nj
ZW5lOjpmbHVzaExheWVyQ2hhbmdlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oOgorICAgICAgICAoQ29v
cmRpbmF0ZWRHcmFwaGljc1NjZW5lKToKKwogMjAxMy0wMi0wNCAgS2VudCBUYW11cmEgIDx0a2Vu
dEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRml4IGNyYXNoIGJ5IDxzZWxlY3Q+IHR5cGUgY2hh
bmdlIG9uIGZvY3VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzU2YmY3NTFlYzM2ODZhYzZiNzQ0YTZhNWJjZDdm
ZDQ4ODQxZWNkYS4uZTBlOWRlZDA2YzlhZTQ0ZTEzOTI1M2YwYmM4N2NiODQ2MTI0OTU5OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAyLTA1ICBIdWFuZyBEb25nc3VuZyAgPGx1
eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5hdGVkIEdyYXBoaWNzOiBy
ZW1vdmUgdGhlIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uIG1lc3NhZ2UuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgwNTEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHksIHdlIHVzZSB0aGUg
RGlkQ2hhbmdlU2Nyb2xsUG9zaXRpb24gbWVzc2FnZSB0byBzZW5kIHRoZSBzY3JvbGwKKyAgICAg
ICAgcG9zaXRpb24gdGhhdCBXZWJDb3JlIHVzZWQgaW4gdGhpcyBmcmFtZSB0byBVSSBQcm9jZXNz
LiBXZSBoYWQgdG8gaGF2ZQorICAgICAgICBzb21lIG1lbWJlciB2YXJpYWJsZXMgZm9yIHRoZSBE
aWRDaGFuZ2VTY3JvbGxQb3NpdGlvbiBtZXNzYWdlLgorICAgICAgICBIb3dldmVyLCB3ZSBjYW4g
c2VuZCBhIHNjcm9sbCBwb3NpdGlvbiB2aWEgdGhlIERpZFJlbmRlckZyYW1lIG1lc3NhZ2UsCisg
ICAgICAgIGJlY2F1c2UgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjptX3JlbmRlcmVkQ29udGVu
dHNTY3JvbGxQb3NpdGlvbiBpcworICAgICAgICB1cGRhdGVkIGF0IHRoZSBtb21lbnQgb2YgZmx1
c2hpbmcuIFNvIHdlIGNhbiByZW1vdmUgdGhlCisgICAgICAgIERpZENoYW5nZVNjcm9sbFBvc2l0
aW9uIG1lc3NhZ2UgYW5kIHNvbWUgcmVkdW5kYW50IG1lbWJlciB2YXJpYWJsZXMuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhv
c3RQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFBy
b3h5OjpkaWRSZW5kZXJGcmFtZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lmg6
CisgICAgICAgIChDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSk6CisgICAgICAgICogVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHku
bWVzc2FnZXMuaW46CisgICAgICAgICAgUmVtb3ZlIHRoZSBEaWRDaGFuZ2VTY3JvbGxQb3NpdGlv
biBtZXNzYWdlLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBo
aWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0KToKKyAgICAgICAg
KFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpmbHVzaFBlbmRpbmdMYXllckNoYW5n
ZXMpOgorICAgICAgICAgIFNlbmQgYSBzY3JvbGwgcG9zaXRpb24gdmlhIHRoZSBEaWRDaGFuZ2VT
Y3JvbGxQb3NpdGlvbiBtZXNzYWdlLgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OnN5bmNMYXllclN0YXRlKToKKyAgICAgICAgICBEb24ndCBzZW5kIGEgc2Nyb2xs
IHBvc2l0aW9uIGJlY2F1c2UgZmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkgZG9lcworICAgICAg
ICAgIHRoYXQuIEluIGFkZGl0aW9uLCBpdCBpcyB3ZWlyZCB0byBjaGVjayBpZiB3ZSBtdXN0IHNl
bmQgYSBzY3JvbGwKKyAgICAgICAgICBwb3NpdGlvbiBhdCB0aGUgbW9tZW50IG9mIHNlbmRpbmcg
dGhlIFN5bmNMYXllclN0YXRlIG1lc3NhZ2Ugb2YgZXZlcnkKKyAgICAgICAgICBsYXllcnMuCisg
ICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2V0VmlzaWJsZUNvbnRl
bnRzUmVjdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Lmg6CisKIDIwMTMtMDItMDQgIEd3YW5nIFlvb24g
SHdhbmcgIDxyeXVtaWVsQGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIENvb3JkaW5hdGVkIEdy
YXBoaWNzIDogZGlzY29ubmVjdEN1c3RvbUZpbHRlclByb2dyYW0gZG9lcyBub3QgZG8gYW55dGhp
bmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
U2NlbmUuY3BwCmluZGV4IGQyMTVmYjM2MTNiOTA3YjZiMWQ5ZjVlODkxMTlkYmIyNjQ0ZjQ1OTQu
Ljg5YWRlZDM1M2VlNGEwZDc1ZThkNWEyOGI1YWZhZTNhMGVmMzc0ZTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZEdyYXBoaWNzU2NlbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCkBAIC0y
MTMsMTEgKzIxMyw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjphZGp1c3RQb3Np
dGlvbkZvckZpeGVkTGF5ZXJzKCkKICAgICAgICAgdG9UZXh0dXJlTWFwcGVyTGF5ZXIoaXQtPnZh
bHVlKS0+c2V0U2Nyb2xsUG9zaXRpb25EZWx0YUlmTmVlZGVkKGRlbHRhKTsKIH0KIAotdm9pZCBD
b29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmRpZENoYW5nZVNjcm9sbFBvc2l0aW9uKGNvbnN0IEZs
b2F0UG9pbnQmIHBvc2l0aW9uKQotewotICAgIG1fcGVuZGluZ1JlbmRlcmVkQ29udGVudHNTY3Jv
bGxQb3NpdGlvbiA9IHBvc2l0aW9uOwotfQotCiAjaWYgVVNFKEdSQVBISUNTX1NVUkZBQ0UpCiB2
b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6Y3JlYXRlQ2FudmFzKENvb3JkaW5hdGVkTGF5
ZXJJRCBpZCwgY29uc3QgSW50U2l6ZSYsIFBhc3NSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPiBzdXJm
YWNlKQogewpAQCAtNTU0LDkgKzU0OSw5IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
Ojpjb21taXRQZW5kaW5nQmFja2luZ1N0b3JlT3BlcmF0aW9ucygpCiAgICAgbV9iYWNraW5nU3Rv
cmVzV2l0aFBlbmRpbmdCdWZmZXJzLmNsZWFyKCk7CiB9CiAKLXZvaWQgQ29vcmRpbmF0ZWRHcmFw
aGljc1NjZW5lOjpmbHVzaExheWVyQ2hhbmdlcygpCit2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZTo6Zmx1c2hMYXllckNoYW5nZXMoY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24p
CiB7Ci0gICAgbV9yZW5kZXJlZENvbnRlbnRzU2Nyb2xsUG9zaXRpb24gPSBtX3BlbmRpbmdSZW5k
ZXJlZENvbnRlbnRzU2Nyb2xsUG9zaXRpb247CisgICAgbV9yZW5kZXJlZENvbnRlbnRzU2Nyb2xs
UG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbjsKIAogICAgIC8vIFNpbmNlIHRoZSBmcmFtZSBoYXMg
bm93IGJlZW4gcmVuZGVyZWQsIHdlIGNhbiBzYWZlbHkgdW5sb2NrIHRoZSBhbmltYXRpb25zIHVu
dGlsIHRoZSBuZXh0IGxheW91dC4KICAgICBzZXRBbmltYXRpb25zTG9ja2VkKGZhbHNlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGlu
YXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaApp
bmRleCBjZmFiMTY2MmQxYWM1YzQyM2ZkNTAxMGIwMWNkN2U0MDYzNjkzMzgzLi4yZWJkNGFjZDU4
ZDliYzU3YjY4OTY4OGY2NjcwNWQ3YzMyMWMzMTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGlj
c1NjZW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nv
b3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCkBAIC04Miw3ICs4Miw2IEBAIHB1
YmxpYzoKICNlbmRpZgogICAgIHZvaWQgc2V0Q29udGVudHNTaXplKGNvbnN0IEZsb2F0U2l6ZSYp
OwogICAgIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBGbG9hdFJlY3QmKTsKLSAg
ICB2b2lkIGRpZENoYW5nZVNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9u
KTsKICNpZiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKICAgICB2b2lkIGNyZWF0ZUNhbnZhcyhDb29y
ZGluYXRlZExheWVySUQsIGNvbnN0IEludFNpemUmLCBQYXNzUmVmUHRyPEdyYXBoaWNzU3VyZmFj
ZT4pOwogICAgIHZvaWQgc3luY0NhbnZhcyhDb29yZGluYXRlZExheWVySUQsIHVpbnQzMl90IGZy
b250QnVmZmVyKTsKQEAgLTExNyw3ICsxMTYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVU
aWxlKENvb3JkaW5hdGVkTGF5ZXJJRCwgdWludDMyX3QgdGlsZUlELCBjb25zdCBUaWxlVXBkYXRl
Jik7CiAgICAgdm9pZCBjcmVhdGVVcGRhdGVBdGxhcyh1aW50MzJfdCBhdGxhc0lELCBQYXNzUmVm
UHRyPENvb3JkaW5hdGVkU3VyZmFjZT4pOwogICAgIHZvaWQgcmVtb3ZlVXBkYXRlQXRsYXModWlu
dDMyX3QgYXRsYXNJRCk7Ci0gICAgdm9pZCBmbHVzaExheWVyQ2hhbmdlcygpOworICAgIHZvaWQg
Zmx1c2hMYXllckNoYW5nZXMoY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24pOwogICAg
IHZvaWQgY3JlYXRlSW1hZ2VCYWNraW5nKENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpOwogICAg
IHZvaWQgdXBkYXRlSW1hZ2VCYWNraW5nKENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQsIFBhc3NS
ZWZQdHI8Q29vcmRpbmF0ZWRTdXJmYWNlPik7CiAgICAgdm9pZCBjbGVhckltYWdlQmFja2luZ0Nv
bnRlbnRzKENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpOwpAQCAtMjA4LDcgKzIwNyw2IEBAIHBy
aXZhdGU6CiAgICAgTGF5ZXJSYXdQdHJNYXAgbV9maXhlZExheWVyczsKICAgICBDb29yZGluYXRl
ZExheWVySUQgbV9yb290TGF5ZXJJRDsKICAgICBGbG9hdFBvaW50IG1fcmVuZGVyZWRDb250ZW50
c1Njcm9sbFBvc2l0aW9uOwotICAgIEZsb2F0UG9pbnQgbV9wZW5kaW5nUmVuZGVyZWRDb250ZW50
c1Njcm9sbFBvc2l0aW9uOwogICAgIGJvb2wgbV9hbmltYXRpb25zTG9ja2VkOwogI2lmIEVOQUJM
RShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKICAgICBib29sIG1fYW5pbWF0aW9uRnJhbWVSZXF1
ZXN0ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eS5jcHAKaW5kZXggOTg2NDkzYzMyZmY4NDYyOGEzZTBiMGViYjNhMDUxYjc0MTU5Mzc1OC4u
YzU3NGY5YThiZjc0ZmQ5MzdkZDVmZTVhZjFiMDY5NjI4YWQ3YzNlMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcApAQCAtMTI4LDkg
KzEyOCw5IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmNyZWF0ZUN1c3Rv
bUZpbHRlclByb2dyYW0oaW50IGlkLCBjb25zdCBDdXN0CiB9CiAjZW5kaWYKIAotdm9pZCBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6ZGlkUmVuZGVyRnJhbWUoY29uc3QgSW50U2l6ZSYg
Y29udGVudHNTaXplLCBjb25zdCBJbnRSZWN0JiBjb3ZlcmVkUmVjdCkKK3ZvaWQgQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0UHJveHk6OmRpZFJlbmRlckZyYW1lKGNvbnN0IEZsb2F0UG9pbnQmIHNj
cm9sbFBvc2l0aW9uLCBjb25zdCBJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0IEludFJlY3Qm
IGNvdmVyZWRSZWN0KQogewotICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkNvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZTo6Zmx1c2hMYXllckNoYW5nZXMsIG1fc2NlbmUuZ2V0KCkpKTsKKyAgICBkaXNw
YXRjaFVwZGF0ZShiaW5kKCZDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmZsdXNoTGF5ZXJDaGFu
Z2VzLCBtX3NjZW5lLmdldCgpLCBzY3JvbGxQb3NpdGlvbikpOwogICAgIHVwZGF0ZVZpZXdwb3J0
KCk7CiAjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgbV9kcmF3aW5nQXJlYVByb3h5
LT5wYWdlKCktPmRpZFJlbmRlckZyYW1lKGNvbnRlbnRzU2l6ZSwgY292ZXJlZFJlY3QpOwpAQCAt
MjA2LDExICsyMDYsNiBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Ojphbmlt
YXRpb25GcmFtZVJlYWR5KCkKIH0KICNlbmRpZgogCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdFByb3h5OjpkaWRDaGFuZ2VTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiBwb3Np
dGlvbikKLXsKLSAgICBkaXNwYXRjaFVwZGF0ZShiaW5kKCZDb29yZGluYXRlZEdyYXBoaWNzU2Nl
bmU6OmRpZENoYW5nZVNjcm9sbFBvc2l0aW9uLCBtX3NjZW5lLmdldCgpLCBwb3NpdGlvbikpOwot
fQotCiAjaWYgVVNFKEdSQVBISUNTX1NVUkZBQ0UpCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdFByb3h5OjpjcmVhdGVDYW52YXMoQ29vcmRpbmF0ZWRMYXllcklEIGlkLCBjb25zdCBJbnRT
aXplJiBjYW52YXNTaXplLCBjb25zdCBHcmFwaGljc1N1cmZhY2VUb2tlbiYgdG9rZW4pCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaAppbmRl
eCAyNGIzNDc3MGFjMDgzYzM1YTU1NDAzMDRlMDkwYTA1MjU4ZWY1N2FkLi42YzcxZTdjZGQ2OTlm
OWRiNTI5NDk0NDI5ZDc1MGMzYTc3YWQ2ODljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKQEAgLTY3LDcgKzY3LDcgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoV2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXll
cklEKTsKICAgICB2b2lkIHNldENvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUm
KTsKICAgICB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRS
ZWN0JiwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3Rvcik7Ci0gICAg
dm9pZCBkaWRSZW5kZXJGcmFtZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBjb250ZW50c1NpemUs
IGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNvdmVyZWRSZWN0KTsKKyAgICB2b2lkIGRpZFJlbmRl
ckZyYW1lKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBX
ZWJDb3JlOjpJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNv
dmVyZWRSZWN0KTsKICAgICB2b2lkIGNyZWF0ZVRpbGVGb3JMYXllcihXZWJDb3JlOjpDb29yZGlu
YXRlZExheWVySUQsIHVpbnQzMl90IHRpbGVJRCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNv
bnN0IFdlYkNvcmU6OlN1cmZhY2VVcGRhdGVJbmZvJik7CiAgICAgdm9pZCB1cGRhdGVUaWxlRm9y
TGF5ZXIoV2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXllcklELCB1aW50MzJfdCB0aWxlSUQsIGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpTdXJmYWNlVXBkYXRlSW5mbyYpOwog
ICAgIHZvaWQgcmVtb3ZlVGlsZUZvckxheWVyKFdlYkNvcmU6OkNvb3JkaW5hdGVkTGF5ZXJJRCwg
dWludDMyX3QgdGlsZUlEKTsKQEAgLTc4LDcgKzc4LDYgQEAgcHVibGljOgogICAgIHZvaWQgY2xl
YXJJbWFnZUJhY2tpbmdDb250ZW50cyhXZWJDb3JlOjpDb29yZGluYXRlZEltYWdlQmFja2luZ0lE
KTsKICAgICB2b2lkIHJlbW92ZUltYWdlQmFja2luZyhXZWJDb3JlOjpDb29yZGluYXRlZEltYWdl
QmFja2luZ0lEKTsKICAgICB2b2lkIGRpZFJlY2VpdmVDb29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVy
Jik7Ci0gICAgdm9pZCBkaWRDaGFuZ2VTY3JvbGxQb3NpdGlvbihjb25zdCBXZWJDb3JlOjpGbG9h
dFBvaW50JiBwb3NpdGlvbik7CiAjaWYgVVNFKEdSQVBISUNTX1NVUkZBQ0UpCiAgICAgdm9pZCBj
cmVhdGVDYW52YXMoV2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXllcklELCBjb25zdCBXZWJDb3JlOjpJ
bnRTaXplJiwgY29uc3QgV2ViQ29yZTo6R3JhcGhpY3NTdXJmYWNlVG9rZW4mKTsKICAgICB2b2lk
IHN5bmNDYW52YXMoV2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXllcklELCB1aW50MzJfdCBmcm9udEJ1
ZmZlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDIxZGMyNjM0NTAzY2NkZTg3OTA2MmQ3OTMy
M2M2YmJhYmU0ZjcyZWMuLjE4ODhhZGIyMThjNTNkNmNmNDVlNmU4Y2UwMzI3MjUyZDRjMjEyNDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdFByb3h5Lm1lc3NhZ2VzLmluCkBAIC00MCw4ICs0MCw3IEBAIG1lc3NhZ2VzIC0+IENvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5IExlZ2FjeVJlY2VpdmVyIHsKICAgICBVcGRhdGVJbWFn
ZUJhY2tpbmcodWludDY0X3QgaW1hZ2VJRCwgV2ViS2l0OjpXZWJDb29yZGluYXRlZFN1cmZhY2U6
OkhhbmRsZSBoYW5kbGUpCiAgICAgQ2xlYXJJbWFnZUJhY2tpbmdDb250ZW50cyh1aW50NjRfdCBp
bWFnZUlEKQogICAgIFJlbW92ZUltYWdlQmFja2luZyh1aW50NjRfdCBpbWFnZUlEKQotICAgIERp
ZFJlbmRlckZyYW1lKFdlYkNvcmU6OkludFNpemUgY29udGVudHNTaXplLCBXZWJDb3JlOjpJbnRS
ZWN0IGNvdmVyZWRSZWN0KQotICAgIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uKFdlYkNvcmU6OkZs
b2F0UG9pbnQgcG9zaXRpb24pCisgICAgRGlkUmVuZGVyRnJhbWUoV2ViQ29yZTo6RmxvYXRQb2lu
dCBzY3JvbGxQb3NpdGlvbiwgV2ViQ29yZTo6SW50U2l6ZSBjb250ZW50c1NpemUsIFdlYkNvcmU6
OkludFJlY3QgY292ZXJlZFJlY3QpCiAgICAgU2V0TGF5ZXJBbmltYXRpb25zKHVpbnQzMl90IGlk
LCBXZWJDb3JlOjpHcmFwaGljc0xheWVyQW5pbWF0aW9ucyBhbmltYXRpb25zKQogICAgIFNldEFu
aW1hdGlvbnNMb2NrZWQoYm9vbCBsb2NrZWQpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCmluZGV4IDliYWIxMDhhODQ0
NzViNmU2ODM4ODMwYzg2OWI0MmIwZDY4MTNkMTQuLjg2YmU1ZWUyNjlhOTMxMzU1MTNkN2I4NmFh
ODk1MmExYTVmNmViYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcApAQCAtODUsNyArODUsNiBAQCBDb29yZGluYXRl
ZExheWVyVHJlZUhvc3Q6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdChXZWJQYWdlKiB3ZWJQYWdl
KQogICAgICwgbV9pc0ZsdXNoaW5nTGF5ZXJDaGFuZ2VzKGZhbHNlKQogICAgICwgbV93YWl0aW5n
Rm9yVUlQcm9jZXNzKHRydWUpCiAgICAgLCBtX2lzU3VzcGVuZGVkKGZhbHNlKQotICAgICwgbV9z
aG91bGRTZW5kU2Nyb2xsUG9zaXRpb25VcGRhdGUodHJ1ZSkKICAgICAsIG1fc2hvdWxkU3luY0Zy
YW1lKGZhbHNlKQogICAgICwgbV9kaWRJbml0aWFsaXplUm9vdENvbXBvc2l0aW5nTGF5ZXIoZmFs
c2UpCiAgICAgLCBtX2xheWVyRmx1c2hUaW1lcih0aGlzLCAmQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0OjpsYXllckZsdXNoVGltZXJGaXJlZCkKQEAgLTI5Miw3ICsyOTEsNyBAQCBib29sIENvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdDo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkKIAogICAgICAg
ICBJbnRTaXplIGNvbnRlbnRzU2l6ZSA9IHJvdW5kZWRJbnRTaXplKG1fbm9uQ29tcG9zaXRlZENv
bnRlbnRMYXllci0+c2l6ZSgpKTsKICAgICAgICAgSW50UmVjdCBjb3ZlcmVkUmVjdCA9IHRvQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyKG1fbm9uQ29tcG9zaXRlZENvbnRlbnRMYXllci5nZXQoKSkt
PmNvdmVyUmVjdCgpOwotICAgICAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkNvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpEaWRSZW5kZXJGcmFtZShjb250ZW50c1NpemUsIGNvdmVy
ZWRSZWN0KSk7CisgICAgICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6Q29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHk6OkRpZFJlbmRlckZyYW1lKG1fdmlzaWJsZUNvbnRlbnRzUmVjdC5s
b2NhdGlvbigpLCBjb250ZW50c1NpemUsIGNvdmVyZWRSZWN0KSk7CiAgICAgICAgIG1fd2FpdGlu
Z0ZvclVJUHJvY2VzcyA9IHRydWU7CiAgICAgICAgIG1fc2hvdWxkU3luY0ZyYW1lID0gZmFsc2U7
CiAgICAgfSBlbHNlCkBAIC0zNTIsMTEgKzM1MSw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0Ojppbml0aWFsaXplUm9vdENvbXBvc2l0aW5nTGF5ZXJJZk5lZWRlZCgpCiAKIHZvaWQg
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzeW5jTGF5ZXJTdGF0ZShDb29yZGluYXRlZExheWVy
SUQgaWQsIGNvbnN0IENvb3JkaW5hdGVkTGF5ZXJJbmZvJiBpbmZvKQogewotICAgIGlmIChtX3No
b3VsZFNlbmRTY3JvbGxQb3NpdGlvblVwZGF0ZSkgewotICAgICAgICBtX3dlYlBhZ2UtPnNlbmQo
TWVzc2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpEaWRDaGFuZ2VTY3JvbGxQ
b3NpdGlvbihtX3Zpc2libGVDb250ZW50c1JlY3QubG9jYXRpb24oKSkpOwotICAgICAgICBtX3No
b3VsZFNlbmRTY3JvbGxQb3NpdGlvblVwZGF0ZSA9IGZhbHNlOwotICAgIH0KLQogICAgIG1fc2hv
dWxkU3luY0ZyYW1lID0gdHJ1ZTsKICAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkNvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpTZXRDb21wb3NpdGluZ0xheWVyU3RhdGUoaWQsIGlu
Zm8pKTsKIH0KQEAgLTc5Miw5ICs3ODYsNiBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbgogICAg
ICAgICAvLyB0aGUgc2FtZSB3aGlsZSBwYW5uaW5nLiBUaGlzIGNhbiBoYXZlIG5hc3R5IGVmZmVj
dHMgb24gbGF5b3V0LgogICAgICAgICBtX3dlYlBhZ2UtPnNldEZpeGVkVmlzaWJsZUNvbnRlbnRS
ZWN0KHJvdW5kZWRJbnRSZWN0KHJlY3QpKTsKICAgICB9Ci0KLSAgICBpZiAoY29udGVudHNSZWN0
RGlkQ2hhbmdlKQotICAgICAgICBtX3Nob3VsZFNlbmRTY3JvbGxQb3NpdGlvblVwZGF0ZSA9IHRy
dWU7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkZXZpY2VPclBhZ2VTY2Fs
ZUZhY3RvckNoYW5nZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZExheWVyVHJlZUhvc3QuaAppbmRleCA3Mjk3ZWVkODFlMDVhMmVlMGYwMDVlZWEzZGY4
MTg4NWZlYzNmMmI1Li5jZjc4MjQ2NGE1YmM3ZmU3YzgyYWZkZTQwZDVjY2M4ZjA3ZGQ1YjkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJl
ZUhvc3QuaApAQCAtMjAxLDcgKzIwMSw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3dhaXRpbmdG
b3JVSVByb2Nlc3M7CiAgICAgYm9vbCBtX2lzU3VzcGVuZGVkOwogICAgIFdlYkNvcmU6OkZsb2F0
UmVjdCBtX3Zpc2libGVDb250ZW50c1JlY3Q7Ci0gICAgYm9vbCBtX3Nob3VsZFNlbmRTY3JvbGxQ
b3NpdGlvblVwZGF0ZTsKIAogICAgIExheWVyVHJlZUNvbnRleHQgbV9sYXllclRyZWVDb250ZXh0
OwogICAgIGJvb2wgbV9zaG91bGRTeW5jRnJhbWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186776</attachid>
            <date>2013-02-06 00:21:03 -0800</date>
            <delta_ts>2013-02-11 19:16:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108051-20130206171718.patch</filename>
            <type>text/plain</type>
            <size>14566</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxODU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjc3MzRiNmEzZmU3OTE0
Y2ZkMTFmOWUzYmJjZWNjYTI5MDlhMWM2Zi4uZGM0ZWJiZDVmNjBlZWRlNGRiNDMxNDJkYTMzMTFl
OGMyOTAxZjZkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAyLTA1ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5h
dGVkIEdyYXBoaWNzOiByZW1vdmUgdGhlIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uIG1lc3NhZ2Uu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgwNTEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50
bHksIHdlIHVzZSB0aGUgRGlkQ2hhbmdlU2Nyb2xsUG9zaXRpb24gbWVzc2FnZSB0byBzZW5kIHRo
ZSBzY3JvbGwKKyAgICAgICAgcG9zaXRpb24gdGhhdCBXZWJDb3JlIHVzZWQgaW4gdGhpcyBmcmFt
ZSB0byBVSSBQcm9jZXNzLiBXZSBoYWQgdG8gaGF2ZQorICAgICAgICBzb21lIG1lbWJlciB2YXJp
YWJsZXMgZm9yIHRoZSBEaWRDaGFuZ2VTY3JvbGxQb3NpdGlvbiBtZXNzYWdlLgorICAgICAgICBI
b3dldmVyLCB3ZSBjYW4gc2VuZCBhIHNjcm9sbCBwb3NpdGlvbiB2aWEgdGhlIERpZFJlbmRlckZy
YW1lIG1lc3NhZ2UsCisgICAgICAgIGJlY2F1c2UgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpt
X3JlbmRlcmVkQ29udGVudHNTY3JvbGxQb3NpdGlvbiBpcworICAgICAgICB1cGRhdGVkIGF0IHRo
ZSBtb21lbnQgb2YgZmx1c2hpbmcuIFNvIHdlIGNhbiByZW1vdmUgdGhlCisgICAgICAgIERpZENo
YW5nZVNjcm9sbFBvc2l0aW9uIG1lc3NhZ2UgYW5kIHNvbWUgcmVkdW5kYW50IG1lbWJlciB2YXJp
YWJsZXMuCisKKyAgICAgICAgTm8gdGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdy
YXBoaWNzU2NlbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1Nj
ZW5lOjpmbHVzaExheWVyQ2hhbmdlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oOgorICAgICAgICAoQ29v
cmRpbmF0ZWRHcmFwaGljc1NjZW5lKToKKwogMjAxMy0wMi0wNCAgS2VudCBUYW11cmEgIDx0a2Vu
dEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRml4IGNyYXNoIGJ5IDxzZWxlY3Q+IHR5cGUgY2hh
bmdlIG9uIGZvY3VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzU2YmY3NTFlYzM2ODZhYzZiNzQ0YTZhNWJjZDdm
ZDQ4ODQxZWNkYS4uZTBlOWRlZDA2YzlhZTQ0ZTEzOTI1M2YwYmM4N2NiODQ2MTI0OTU5OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAyLTA1ICBIdWFuZyBEb25nc3VuZyAgPGx1
eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5hdGVkIEdyYXBoaWNzOiBy
ZW1vdmUgdGhlIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uIG1lc3NhZ2UuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgwNTEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHksIHdlIHVzZSB0aGUg
RGlkQ2hhbmdlU2Nyb2xsUG9zaXRpb24gbWVzc2FnZSB0byBzZW5kIHRoZSBzY3JvbGwKKyAgICAg
ICAgcG9zaXRpb24gdGhhdCBXZWJDb3JlIHVzZWQgaW4gdGhpcyBmcmFtZSB0byBVSSBQcm9jZXNz
LiBXZSBoYWQgdG8gaGF2ZQorICAgICAgICBzb21lIG1lbWJlciB2YXJpYWJsZXMgZm9yIHRoZSBE
aWRDaGFuZ2VTY3JvbGxQb3NpdGlvbiBtZXNzYWdlLgorICAgICAgICBIb3dldmVyLCB3ZSBjYW4g
c2VuZCBhIHNjcm9sbCBwb3NpdGlvbiB2aWEgdGhlIERpZFJlbmRlckZyYW1lIG1lc3NhZ2UsCisg
ICAgICAgIGJlY2F1c2UgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjptX3JlbmRlcmVkQ29udGVu
dHNTY3JvbGxQb3NpdGlvbiBpcworICAgICAgICB1cGRhdGVkIGF0IHRoZSBtb21lbnQgb2YgZmx1
c2hpbmcuIFNvIHdlIGNhbiByZW1vdmUgdGhlCisgICAgICAgIERpZENoYW5nZVNjcm9sbFBvc2l0
aW9uIG1lc3NhZ2UgYW5kIHNvbWUgcmVkdW5kYW50IG1lbWJlciB2YXJpYWJsZXMuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhv
c3RQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFBy
b3h5OjpkaWRSZW5kZXJGcmFtZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lmg6
CisgICAgICAgIChDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSk6CisgICAgICAgICogVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHku
bWVzc2FnZXMuaW46CisgICAgICAgICAgUmVtb3ZlIHRoZSBEaWRDaGFuZ2VTY3JvbGxQb3NpdGlv
biBtZXNzYWdlLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBo
aWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0KToKKyAgICAgICAg
KFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpmbHVzaFBlbmRpbmdMYXllckNoYW5n
ZXMpOgorICAgICAgICAgIFNlbmQgYSBzY3JvbGwgcG9zaXRpb24gdmlhIHRoZSBEaWRDaGFuZ2VT
Y3JvbGxQb3NpdGlvbiBtZXNzYWdlLgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OnN5bmNMYXllclN0YXRlKToKKyAgICAgICAgICBEb24ndCBzZW5kIGEgc2Nyb2xs
IHBvc2l0aW9uIGJlY2F1c2UgZmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkgZG9lcworICAgICAg
ICAgIHRoYXQuIEluIGFkZGl0aW9uLCBpdCBpcyB3ZWlyZCB0byBjaGVjayBpZiB3ZSBtdXN0IHNl
bmQgYSBzY3JvbGwKKyAgICAgICAgICBwb3NpdGlvbiBhdCB0aGUgbW9tZW50IG9mIHNlbmRpbmcg
dGhlIFN5bmNMYXllclN0YXRlIG1lc3NhZ2Ugb2YgZXZlcnkKKyAgICAgICAgICBsYXllcnMuCisg
ICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2V0VmlzaWJsZUNvbnRl
bnRzUmVjdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Lmg6CisKIDIwMTMtMDItMDQgIEd3YW5nIFlvb24g
SHdhbmcgIDxyeXVtaWVsQGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIENvb3JkaW5hdGVkIEdy
YXBoaWNzIDogZGlzY29ubmVjdEN1c3RvbUZpbHRlclByb2dyYW0gZG9lcyBub3QgZG8gYW55dGhp
bmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
U2NlbmUuY3BwCmluZGV4IGQyMTVmYjM2MTNiOTA3YjZiMWQ5ZjVlODkxMTlkYmIyNjQ0ZjQ1OTQu
Ljg5YWRlZDM1M2VlNGEwZDc1ZThkNWEyOGI1YWZhZTNhMGVmMzc0ZTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZEdyYXBoaWNzU2NlbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCkBAIC0y
MTMsMTEgKzIxMyw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjphZGp1c3RQb3Np
dGlvbkZvckZpeGVkTGF5ZXJzKCkKICAgICAgICAgdG9UZXh0dXJlTWFwcGVyTGF5ZXIoaXQtPnZh
bHVlKS0+c2V0U2Nyb2xsUG9zaXRpb25EZWx0YUlmTmVlZGVkKGRlbHRhKTsKIH0KIAotdm9pZCBD
b29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmRpZENoYW5nZVNjcm9sbFBvc2l0aW9uKGNvbnN0IEZs
b2F0UG9pbnQmIHBvc2l0aW9uKQotewotICAgIG1fcGVuZGluZ1JlbmRlcmVkQ29udGVudHNTY3Jv
bGxQb3NpdGlvbiA9IHBvc2l0aW9uOwotfQotCiAjaWYgVVNFKEdSQVBISUNTX1NVUkZBQ0UpCiB2
b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6Y3JlYXRlQ2FudmFzKENvb3JkaW5hdGVkTGF5
ZXJJRCBpZCwgY29uc3QgSW50U2l6ZSYsIFBhc3NSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPiBzdXJm
YWNlKQogewpAQCAtNTU0LDkgKzU0OSw5IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
Ojpjb21taXRQZW5kaW5nQmFja2luZ1N0b3JlT3BlcmF0aW9ucygpCiAgICAgbV9iYWNraW5nU3Rv
cmVzV2l0aFBlbmRpbmdCdWZmZXJzLmNsZWFyKCk7CiB9CiAKLXZvaWQgQ29vcmRpbmF0ZWRHcmFw
aGljc1NjZW5lOjpmbHVzaExheWVyQ2hhbmdlcygpCit2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZTo6Zmx1c2hMYXllckNoYW5nZXMoY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24p
CiB7Ci0gICAgbV9yZW5kZXJlZENvbnRlbnRzU2Nyb2xsUG9zaXRpb24gPSBtX3BlbmRpbmdSZW5k
ZXJlZENvbnRlbnRzU2Nyb2xsUG9zaXRpb247CisgICAgbV9yZW5kZXJlZENvbnRlbnRzU2Nyb2xs
UG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbjsKIAogICAgIC8vIFNpbmNlIHRoZSBmcmFtZSBoYXMg
bm93IGJlZW4gcmVuZGVyZWQsIHdlIGNhbiBzYWZlbHkgdW5sb2NrIHRoZSBhbmltYXRpb25zIHVu
dGlsIHRoZSBuZXh0IGxheW91dC4KICAgICBzZXRBbmltYXRpb25zTG9ja2VkKGZhbHNlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGlu
YXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaApp
bmRleCBjZmFiMTY2MmQxYWM1YzQyM2ZkNTAxMGIwMWNkN2U0MDYzNjkzMzgzLi4yZWJkNGFjZDU4
ZDliYzU3YjY4OTY4OGY2NjcwNWQ3YzMyMWMzMTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGlj
c1NjZW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nv
b3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCkBAIC04Miw3ICs4Miw2IEBAIHB1
YmxpYzoKICNlbmRpZgogICAgIHZvaWQgc2V0Q29udGVudHNTaXplKGNvbnN0IEZsb2F0U2l6ZSYp
OwogICAgIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBGbG9hdFJlY3QmKTsKLSAg
ICB2b2lkIGRpZENoYW5nZVNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9u
KTsKICNpZiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKICAgICB2b2lkIGNyZWF0ZUNhbnZhcyhDb29y
ZGluYXRlZExheWVySUQsIGNvbnN0IEludFNpemUmLCBQYXNzUmVmUHRyPEdyYXBoaWNzU3VyZmFj
ZT4pOwogICAgIHZvaWQgc3luY0NhbnZhcyhDb29yZGluYXRlZExheWVySUQsIHVpbnQzMl90IGZy
b250QnVmZmVyKTsKQEAgLTExNyw3ICsxMTYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVU
aWxlKENvb3JkaW5hdGVkTGF5ZXJJRCwgdWludDMyX3QgdGlsZUlELCBjb25zdCBUaWxlVXBkYXRl
Jik7CiAgICAgdm9pZCBjcmVhdGVVcGRhdGVBdGxhcyh1aW50MzJfdCBhdGxhc0lELCBQYXNzUmVm
UHRyPENvb3JkaW5hdGVkU3VyZmFjZT4pOwogICAgIHZvaWQgcmVtb3ZlVXBkYXRlQXRsYXModWlu
dDMyX3QgYXRsYXNJRCk7Ci0gICAgdm9pZCBmbHVzaExheWVyQ2hhbmdlcygpOworICAgIHZvaWQg
Zmx1c2hMYXllckNoYW5nZXMoY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24pOwogICAg
IHZvaWQgY3JlYXRlSW1hZ2VCYWNraW5nKENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpOwogICAg
IHZvaWQgdXBkYXRlSW1hZ2VCYWNraW5nKENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQsIFBhc3NS
ZWZQdHI8Q29vcmRpbmF0ZWRTdXJmYWNlPik7CiAgICAgdm9pZCBjbGVhckltYWdlQmFja2luZ0Nv
bnRlbnRzKENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpOwpAQCAtMjA4LDcgKzIwNyw2IEBAIHBy
aXZhdGU6CiAgICAgTGF5ZXJSYXdQdHJNYXAgbV9maXhlZExheWVyczsKICAgICBDb29yZGluYXRl
ZExheWVySUQgbV9yb290TGF5ZXJJRDsKICAgICBGbG9hdFBvaW50IG1fcmVuZGVyZWRDb250ZW50
c1Njcm9sbFBvc2l0aW9uOwotICAgIEZsb2F0UG9pbnQgbV9wZW5kaW5nUmVuZGVyZWRDb250ZW50
c1Njcm9sbFBvc2l0aW9uOwogICAgIGJvb2wgbV9hbmltYXRpb25zTG9ja2VkOwogI2lmIEVOQUJM
RShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKICAgICBib29sIG1fYW5pbWF0aW9uRnJhbWVSZXF1
ZXN0ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eS5jcHAKaW5kZXggOTg2NDkzYzMyZmY4NDYyOGEzZTBiMGViYjNhMDUxYjc0MTU5Mzc1OC4u
YzU3NGY5YThiZjc0ZmQ5MzdkZDVmZTVhZjFiMDY5NjI4YWQ3YzNlMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcApAQCAtMTI4LDkg
KzEyOCw5IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmNyZWF0ZUN1c3Rv
bUZpbHRlclByb2dyYW0oaW50IGlkLCBjb25zdCBDdXN0CiB9CiAjZW5kaWYKIAotdm9pZCBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6ZGlkUmVuZGVyRnJhbWUoY29uc3QgSW50U2l6ZSYg
Y29udGVudHNTaXplLCBjb25zdCBJbnRSZWN0JiBjb3ZlcmVkUmVjdCkKK3ZvaWQgQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0UHJveHk6OmRpZFJlbmRlckZyYW1lKGNvbnN0IEZsb2F0UG9pbnQmIHNj
cm9sbFBvc2l0aW9uLCBjb25zdCBJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0IEludFJlY3Qm
IGNvdmVyZWRSZWN0KQogewotICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkNvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZTo6Zmx1c2hMYXllckNoYW5nZXMsIG1fc2NlbmUuZ2V0KCkpKTsKKyAgICBkaXNw
YXRjaFVwZGF0ZShiaW5kKCZDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmZsdXNoTGF5ZXJDaGFu
Z2VzLCBtX3NjZW5lLmdldCgpLCBzY3JvbGxQb3NpdGlvbikpOwogICAgIHVwZGF0ZVZpZXdwb3J0
KCk7CiAjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgbV9kcmF3aW5nQXJlYVByb3h5
LT5wYWdlKCktPmRpZFJlbmRlckZyYW1lKGNvbnRlbnRzU2l6ZSwgY292ZXJlZFJlY3QpOwpAQCAt
MjA2LDExICsyMDYsNiBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Ojphbmlt
YXRpb25GcmFtZVJlYWR5KCkKIH0KICNlbmRpZgogCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdFByb3h5OjpkaWRDaGFuZ2VTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiBwb3Np
dGlvbikKLXsKLSAgICBkaXNwYXRjaFVwZGF0ZShiaW5kKCZDb29yZGluYXRlZEdyYXBoaWNzU2Nl
bmU6OmRpZENoYW5nZVNjcm9sbFBvc2l0aW9uLCBtX3NjZW5lLmdldCgpLCBwb3NpdGlvbikpOwot
fQotCiAjaWYgVVNFKEdSQVBISUNTX1NVUkZBQ0UpCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdFByb3h5OjpjcmVhdGVDYW52YXMoQ29vcmRpbmF0ZWRMYXllcklEIGlkLCBjb25zdCBJbnRT
aXplJiBjYW52YXNTaXplLCBjb25zdCBHcmFwaGljc1N1cmZhY2VUb2tlbiYgdG9rZW4pCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaAppbmRl
eCAyNGIzNDc3MGFjMDgzYzM1YTU1NDAzMDRlMDkwYTA1MjU4ZWY1N2FkLi42YzcxZTdjZGQ2OTlm
OWRiNTI5NDk0NDI5ZDc1MGMzYTc3YWQ2ODljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKQEAgLTY3LDcgKzY3LDcgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoV2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXll
cklEKTsKICAgICB2b2lkIHNldENvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUm
KTsKICAgICB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRS
ZWN0JiwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3Rvcik7Ci0gICAg
dm9pZCBkaWRSZW5kZXJGcmFtZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBjb250ZW50c1NpemUs
IGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNvdmVyZWRSZWN0KTsKKyAgICB2b2lkIGRpZFJlbmRl
ckZyYW1lKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBX
ZWJDb3JlOjpJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNv
dmVyZWRSZWN0KTsKICAgICB2b2lkIGNyZWF0ZVRpbGVGb3JMYXllcihXZWJDb3JlOjpDb29yZGlu
YXRlZExheWVySUQsIHVpbnQzMl90IHRpbGVJRCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNv
bnN0IFdlYkNvcmU6OlN1cmZhY2VVcGRhdGVJbmZvJik7CiAgICAgdm9pZCB1cGRhdGVUaWxlRm9y
TGF5ZXIoV2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXllcklELCB1aW50MzJfdCB0aWxlSUQsIGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpTdXJmYWNlVXBkYXRlSW5mbyYpOwog
ICAgIHZvaWQgcmVtb3ZlVGlsZUZvckxheWVyKFdlYkNvcmU6OkNvb3JkaW5hdGVkTGF5ZXJJRCwg
dWludDMyX3QgdGlsZUlEKTsKQEAgLTc4LDcgKzc4LDYgQEAgcHVibGljOgogICAgIHZvaWQgY2xl
YXJJbWFnZUJhY2tpbmdDb250ZW50cyhXZWJDb3JlOjpDb29yZGluYXRlZEltYWdlQmFja2luZ0lE
KTsKICAgICB2b2lkIHJlbW92ZUltYWdlQmFja2luZyhXZWJDb3JlOjpDb29yZGluYXRlZEltYWdl
QmFja2luZ0lEKTsKICAgICB2b2lkIGRpZFJlY2VpdmVDb29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVy
Jik7Ci0gICAgdm9pZCBkaWRDaGFuZ2VTY3JvbGxQb3NpdGlvbihjb25zdCBXZWJDb3JlOjpGbG9h
dFBvaW50JiBwb3NpdGlvbik7CiAjaWYgVVNFKEdSQVBISUNTX1NVUkZBQ0UpCiAgICAgdm9pZCBj
cmVhdGVDYW52YXMoV2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXllcklELCBjb25zdCBXZWJDb3JlOjpJ
bnRTaXplJiwgY29uc3QgV2ViQ29yZTo6R3JhcGhpY3NTdXJmYWNlVG9rZW4mKTsKICAgICB2b2lk
IHN5bmNDYW52YXMoV2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXllcklELCB1aW50MzJfdCBmcm9udEJ1
ZmZlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDIxZGMyNjM0NTAzY2NkZTg3OTA2MmQ3OTMy
M2M2YmJhYmU0ZjcyZWMuLjE4ODhhZGIyMThjNTNkNmNmNDVlNmU4Y2UwMzI3MjUyZDRjMjEyNDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdFByb3h5Lm1lc3NhZ2VzLmluCkBAIC00MCw4ICs0MCw3IEBAIG1lc3NhZ2VzIC0+IENvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5IExlZ2FjeVJlY2VpdmVyIHsKICAgICBVcGRhdGVJbWFn
ZUJhY2tpbmcodWludDY0X3QgaW1hZ2VJRCwgV2ViS2l0OjpXZWJDb29yZGluYXRlZFN1cmZhY2U6
OkhhbmRsZSBoYW5kbGUpCiAgICAgQ2xlYXJJbWFnZUJhY2tpbmdDb250ZW50cyh1aW50NjRfdCBp
bWFnZUlEKQogICAgIFJlbW92ZUltYWdlQmFja2luZyh1aW50NjRfdCBpbWFnZUlEKQotICAgIERp
ZFJlbmRlckZyYW1lKFdlYkNvcmU6OkludFNpemUgY29udGVudHNTaXplLCBXZWJDb3JlOjpJbnRS
ZWN0IGNvdmVyZWRSZWN0KQotICAgIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uKFdlYkNvcmU6OkZs
b2F0UG9pbnQgcG9zaXRpb24pCisgICAgRGlkUmVuZGVyRnJhbWUoV2ViQ29yZTo6RmxvYXRQb2lu
dCBzY3JvbGxQb3NpdGlvbiwgV2ViQ29yZTo6SW50U2l6ZSBjb250ZW50c1NpemUsIFdlYkNvcmU6
OkludFJlY3QgY292ZXJlZFJlY3QpCiAgICAgU2V0TGF5ZXJBbmltYXRpb25zKHVpbnQzMl90IGlk
LCBXZWJDb3JlOjpHcmFwaGljc0xheWVyQW5pbWF0aW9ucyBhbmltYXRpb25zKQogICAgIFNldEFu
aW1hdGlvbnNMb2NrZWQoYm9vbCBsb2NrZWQpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCmluZGV4IDliYWIxMDhhODQ0
NzViNmU2ODM4ODMwYzg2OWI0MmIwZDY4MTNkMTQuLjg2YmU1ZWUyNjlhOTMxMzU1MTNkN2I4NmFh
ODk1MmExYTVmNmViYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcApAQCAtODUsNyArODUsNiBAQCBDb29yZGluYXRl
ZExheWVyVHJlZUhvc3Q6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdChXZWJQYWdlKiB3ZWJQYWdl
KQogICAgICwgbV9pc0ZsdXNoaW5nTGF5ZXJDaGFuZ2VzKGZhbHNlKQogICAgICwgbV93YWl0aW5n
Rm9yVUlQcm9jZXNzKHRydWUpCiAgICAgLCBtX2lzU3VzcGVuZGVkKGZhbHNlKQotICAgICwgbV9z
aG91bGRTZW5kU2Nyb2xsUG9zaXRpb25VcGRhdGUodHJ1ZSkKICAgICAsIG1fc2hvdWxkU3luY0Zy
YW1lKGZhbHNlKQogICAgICwgbV9kaWRJbml0aWFsaXplUm9vdENvbXBvc2l0aW5nTGF5ZXIoZmFs
c2UpCiAgICAgLCBtX2xheWVyRmx1c2hUaW1lcih0aGlzLCAmQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0OjpsYXllckZsdXNoVGltZXJGaXJlZCkKQEAgLTI5Miw3ICsyOTEsNyBAQCBib29sIENvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdDo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkKIAogICAgICAg
ICBJbnRTaXplIGNvbnRlbnRzU2l6ZSA9IHJvdW5kZWRJbnRTaXplKG1fbm9uQ29tcG9zaXRlZENv
bnRlbnRMYXllci0+c2l6ZSgpKTsKICAgICAgICAgSW50UmVjdCBjb3ZlcmVkUmVjdCA9IHRvQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyKG1fbm9uQ29tcG9zaXRlZENvbnRlbnRMYXllci5nZXQoKSkt
PmNvdmVyUmVjdCgpOwotICAgICAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkNvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpEaWRSZW5kZXJGcmFtZShjb250ZW50c1NpemUsIGNvdmVy
ZWRSZWN0KSk7CisgICAgICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6Q29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHk6OkRpZFJlbmRlckZyYW1lKG1fdmlzaWJsZUNvbnRlbnRzUmVjdC5s
b2NhdGlvbigpLCBjb250ZW50c1NpemUsIGNvdmVyZWRSZWN0KSk7CiAgICAgICAgIG1fd2FpdGlu
Z0ZvclVJUHJvY2VzcyA9IHRydWU7CiAgICAgICAgIG1fc2hvdWxkU3luY0ZyYW1lID0gZmFsc2U7
CiAgICAgfSBlbHNlCkBAIC0zNTIsMTEgKzM1MSw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0Ojppbml0aWFsaXplUm9vdENvbXBvc2l0aW5nTGF5ZXJJZk5lZWRlZCgpCiAKIHZvaWQg
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzeW5jTGF5ZXJTdGF0ZShDb29yZGluYXRlZExheWVy
SUQgaWQsIGNvbnN0IENvb3JkaW5hdGVkTGF5ZXJJbmZvJiBpbmZvKQogewotICAgIGlmIChtX3No
b3VsZFNlbmRTY3JvbGxQb3NpdGlvblVwZGF0ZSkgewotICAgICAgICBtX3dlYlBhZ2UtPnNlbmQo
TWVzc2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpEaWRDaGFuZ2VTY3JvbGxQ
b3NpdGlvbihtX3Zpc2libGVDb250ZW50c1JlY3QubG9jYXRpb24oKSkpOwotICAgICAgICBtX3No
b3VsZFNlbmRTY3JvbGxQb3NpdGlvblVwZGF0ZSA9IGZhbHNlOwotICAgIH0KLQogICAgIG1fc2hv
dWxkU3luY0ZyYW1lID0gdHJ1ZTsKICAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkNvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpTZXRDb21wb3NpdGluZ0xheWVyU3RhdGUoaWQsIGlu
Zm8pKTsKIH0KQEAgLTc5Miw5ICs3ODYsNiBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbgogICAg
ICAgICAvLyB0aGUgc2FtZSB3aGlsZSBwYW5uaW5nLiBUaGlzIGNhbiBoYXZlIG5hc3R5IGVmZmVj
dHMgb24gbGF5b3V0LgogICAgICAgICBtX3dlYlBhZ2UtPnNldEZpeGVkVmlzaWJsZUNvbnRlbnRS
ZWN0KHJvdW5kZWRJbnRSZWN0KHJlY3QpKTsKICAgICB9Ci0KLSAgICBpZiAoY29udGVudHNSZWN0
RGlkQ2hhbmdlKQotICAgICAgICBtX3Nob3VsZFNlbmRTY3JvbGxQb3NpdGlvblVwZGF0ZSA9IHRy
dWU7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkZXZpY2VPclBhZ2VTY2Fs
ZUZhY3RvckNoYW5nZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZExheWVyVHJlZUhvc3QuaAppbmRleCA3Mjk3ZWVkODFlMDVhMmVlMGYwMDVlZWEzZGY4
MTg4NWZlYzNmMmI1Li5jZjc4MjQ2NGE1YmM3ZmU3YzgyYWZkZTQwZDVjY2M4ZjA3ZGQ1YjkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJl
ZUhvc3QuaApAQCAtMjAxLDcgKzIwMSw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3dhaXRpbmdG
b3JVSVByb2Nlc3M7CiAgICAgYm9vbCBtX2lzU3VzcGVuZGVkOwogICAgIFdlYkNvcmU6OkZsb2F0
UmVjdCBtX3Zpc2libGVDb250ZW50c1JlY3Q7Ci0gICAgYm9vbCBtX3Nob3VsZFNlbmRTY3JvbGxQ
b3NpdGlvblVwZGF0ZTsKIAogICAgIExheWVyVHJlZUNvbnRleHQgbV9sYXllclRyZWVDb250ZXh0
OwogICAgIGJvb2wgbV9zaG91bGRTeW5jRnJhbWU7Cg==
</data>
<flag name="review"
          id="206348"
          type_id="1"
          status="+"
          setter="noam"
    />
    <flag name="commit-queue"
          id="206349"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187757</attachid>
            <date>2013-02-11 19:19:33 -0800</date>
            <delta_ts>2013-02-11 21:31:18 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-108051-20130212121525.patch</filename>
            <type>text/plain</type>
            <size>14616</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmFiYWJlMzFkMWMxNDhm
NDRjZjIwMmVmNjVjOTZhNWM4NGE4OGY1YS4uMzZmMWJmNGJlOGZmZGU2ZmNmNTY0YWQyNDAxYjdm
YWVhNzU2ODAyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAyLTExICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5h
dGVkIEdyYXBoaWNzOiByZW1vdmUgdGhlIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uIG1lc3NhZ2Uu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgwNTEK
KworICAgICAgICBSZXZpZXdlZCBieSBOb2FtIFJvc2VudGhhbC4KKyAgICAgICAgU2lnbmVkIG9m
ZiBmb3IgV2ViS2l0MiBieSBCZW5qYW1pbiBQb3VsYWluLgorCisgICAgICAgIEN1cnJlbnRseSwg
d2UgdXNlIHRoZSBEaWRDaGFuZ2VTY3JvbGxQb3NpdGlvbiBtZXNzYWdlIHRvIHNlbmQgdGhlIHNj
cm9sbAorICAgICAgICBwb3NpdGlvbiB0aGF0IFdlYkNvcmUgdXNlZCBpbiB0aGlzIGZyYW1lIHRv
IFVJIFByb2Nlc3MuIFdlIGhhZCB0byBoYXZlCisgICAgICAgIHNvbWUgbWVtYmVyIHZhcmlhYmxl
cyBmb3IgdGhlIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uIG1lc3NhZ2UuCisgICAgICAgIEhvd2V2
ZXIsIHdlIGNhbiBzZW5kIGEgc2Nyb2xsIHBvc2l0aW9uIHZpYSB0aGUgRGlkUmVuZGVyRnJhbWUg
bWVzc2FnZSwKKyAgICAgICAgYmVjYXVzZSBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6Om1fcmVu
ZGVyZWRDb250ZW50c1Njcm9sbFBvc2l0aW9uIGlzCisgICAgICAgIHVwZGF0ZWQgYXQgdGhlIG1v
bWVudCBvZiBmbHVzaGluZy4gU28gd2UgY2FuIHJlbW92ZSB0aGUKKyAgICAgICAgRGlkQ2hhbmdl
U2Nyb2xsUG9zaXRpb24gbWVzc2FnZSBhbmQgc29tZSByZWR1bmRhbnQgbWVtYmVyIHZhcmlhYmxl
cy4KKworICAgICAgICBObyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NTY2VuZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6
OmZsdXNoTGF5ZXJDaGFuZ2VzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmg6CisgICAgICAgIChDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmUpOgorCiAyMDEzLTAyLTExICBLZW50YXJvIEhhcmEgIDxoYXJha2Vu
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbVjhdIFNjaGVkdWxlZEFjdGlvbjo6bV9jb250ZXh0
IGNhbiBiZSBlbXB0eSwgc28gd2Ugc2hvdWxkbid0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjVmYzUzMzVkODQ4
YzgxZTc4NDkxYzQ4NDFhODNiNDhhNjA2MDc2Ny4uYTNjYmE4NWQ2ZjE4Y2RjYjkwYzQ4ZDdlYjMw
MTNkNzIwODdmZWE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEzLTAyLTExICBI
dWFuZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3Jk
aW5hdGVkIEdyYXBoaWNzOiByZW1vdmUgdGhlIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uIG1lc3Nh
Z2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgw
NTEKKworICAgICAgICBSZXZpZXdlZCBieSBOb2FtIFJvc2VudGhhbC4KKyAgICAgICAgU2lnbmVk
IG9mZiBmb3IgV2ViS2l0MiBieSBCZW5qYW1pbiBQb3VsYWluLgorCisgICAgICAgIEN1cnJlbnRs
eSwgd2UgdXNlIHRoZSBEaWRDaGFuZ2VTY3JvbGxQb3NpdGlvbiBtZXNzYWdlIHRvIHNlbmQgdGhl
IHNjcm9sbAorICAgICAgICBwb3NpdGlvbiB0aGF0IFdlYkNvcmUgdXNlZCBpbiB0aGlzIGZyYW1l
IHRvIFVJIFByb2Nlc3MuIFdlIGhhZCB0byBoYXZlCisgICAgICAgIHNvbWUgbWVtYmVyIHZhcmlh
YmxlcyBmb3IgdGhlIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uIG1lc3NhZ2UuCisgICAgICAgIEhv
d2V2ZXIsIHdlIGNhbiBzZW5kIGEgc2Nyb2xsIHBvc2l0aW9uIHZpYSB0aGUgRGlkUmVuZGVyRnJh
bWUgbWVzc2FnZSwKKyAgICAgICAgYmVjYXVzZSBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6Om1f
cmVuZGVyZWRDb250ZW50c1Njcm9sbFBvc2l0aW9uIGlzCisgICAgICAgIHVwZGF0ZWQgYXQgdGhl
IG1vbWVudCBvZiBmbHVzaGluZy4gU28gd2UgY2FuIHJlbW92ZSB0aGUKKyAgICAgICAgRGlkQ2hh
bmdlU2Nyb2xsUG9zaXRpb24gbWVzc2FnZSBhbmQgc29tZSByZWR1bmRhbnQgbWVtYmVyIHZhcmlh
Ymxlcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHk6OmRpZFJlbmRlckZyYW1lKToKKyAgICAgICAgKFdlYktpdCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkuaDoKKyAgICAgICAgKENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVy
VHJlZUhvc3RQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgICBSZW1vdmUgdGhlIERpZENoYW5n
ZVNjcm9sbFBvc2l0aW9uIG1lc3NhZ2UuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpDb29yZGluYXRlZExheWVyVHJlZUhv
c3QpOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmZsdXNoUGVu
ZGluZ0xheWVyQ2hhbmdlcyk6CisgICAgICAgICAgU2VuZCBhIHNjcm9sbCBwb3NpdGlvbiB2aWEg
dGhlIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uIG1lc3NhZ2UuCisgICAgICAgIChXZWJLaXQ6OkNv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c3luY0xheWVyU3RhdGUpOgorICAgICAgICAgIERvbid0
IHNlbmQgYSBzY3JvbGwgcG9zaXRpb24gYmVjYXVzZSBmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMo
KSBkb2VzCisgICAgICAgICAgdGhhdC4gSW4gYWRkaXRpb24sIGl0IGlzIHdlaXJkIHRvIGNoZWNr
IGlmIHdlIG11c3Qgc2VuZCBhIHNjcm9sbAorICAgICAgICAgIHBvc2l0aW9uIGF0IHRoZSBtb21l
bnQgb2Ygc2VuZGluZyB0aGUgU3luY0xheWVyU3RhdGUgbWVzc2FnZSBvZiBldmVyeQorICAgICAg
ICAgIGxheWVycy4KKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Ojpz
ZXRWaXNpYmxlQ29udGVudHNSZWN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuaDoKKwogMjAxMy0wMi0x
MSAgSmFlIEh5dW4gUGFyayAgPGphZS5wYXJrQGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIFtF
RkxdIEJ1aWxkIGZpeApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0
ZWRHcmFwaGljc1NjZW5lLmNwcAppbmRleCA2MjgxYmQ2ZWIxYjE5NGQwOGQ2N2RmYzE3MDNkNDhk
ODYyMzUyODViLi5iNjA5NzM2YjJlYzIwMTUwYTczOThlMjJkODc4YTQwYzRiNDNjYzM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
LmNwcApAQCAtMjMyLDExICsyMzIsNiBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6
YWRqdXN0UG9zaXRpb25Gb3JGaXhlZExheWVycygpCiAgICAgICAgIHRvVGV4dHVyZU1hcHBlckxh
eWVyKGl0LT52YWx1ZSktPnNldFNjcm9sbFBvc2l0aW9uRGVsdGFJZk5lZWRlZChkZWx0YSk7CiB9
CiAKLXZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpkaWRDaGFuZ2VTY3JvbGxQb3NpdGlv
bihjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbikKLXsKLSAgICBtX3BlbmRpbmdSZW5kZXJlZENv
bnRlbnRzU2Nyb2xsUG9zaXRpb24gPSBwb3NpdGlvbjsKLX0KLQogI2lmIFVTRShHUkFQSElDU19T
VVJGQUNFKQogdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmNyZWF0ZUNhbnZhcyhDb29y
ZGluYXRlZExheWVySUQgaWQsIGNvbnN0IEludFNpemUmLCBQYXNzUmVmUHRyPEdyYXBoaWNzU3Vy
ZmFjZT4gc3VyZmFjZSkKIHsKQEAgLTU3Myw5ICs1NjgsOSBAQCB2b2lkIENvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZTo6Y29tbWl0UGVuZGluZ0JhY2tpbmdTdG9yZU9wZXJhdGlvbnMoKQogICAgIG1f
YmFja2luZ1N0b3Jlc1dpdGhQZW5kaW5nQnVmZmVycy5jbGVhcigpOwogfQogCi12b2lkIENvb3Jk
aW5hdGVkR3JhcGhpY3NTY2VuZTo6Zmx1c2hMYXllckNoYW5nZXMoKQordm9pZCBDb29yZGluYXRl
ZEdyYXBoaWNzU2NlbmU6OmZsdXNoTGF5ZXJDaGFuZ2VzKGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9s
bFBvc2l0aW9uKQogewotICAgIG1fcmVuZGVyZWRDb250ZW50c1Njcm9sbFBvc2l0aW9uID0gbV9w
ZW5kaW5nUmVuZGVyZWRDb250ZW50c1Njcm9sbFBvc2l0aW9uOworICAgIG1fcmVuZGVyZWRDb250
ZW50c1Njcm9sbFBvc2l0aW9uID0gc2Nyb2xsUG9zaXRpb247CiAKICAgICAvLyBTaW5jZSB0aGUg
ZnJhbWUgaGFzIG5vdyBiZWVuIHJlbmRlcmVkLCB3ZSBjYW4gc2FmZWx5IHVubG9jayB0aGUgYW5p
bWF0aW9ucyB1bnRpbCB0aGUgbmV4dCBsYXlvdXQuCiAgICAgc2V0QW5pbWF0aW9uc0xvY2tlZChm
YWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGlj
c1NjZW5lLmgKaW5kZXggYTNlZjI0M2E0OWE1MWM3YjhiNGNhN2U3NmUxZmVhZmFlOGM4NTY2Yi4u
MGI4ZDVkYmNlOGZkNDFmNTgzMWM0MGQyZWQwOTNjNWRhZGM3NjkxOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3NTY2VuZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaApAQCAtODYsNyAr
ODYsNiBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB2b2lkIHNldENvbnRlbnRzU2l6ZShjb25zdCBG
bG9hdFNpemUmKTsKICAgICB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgRmxvYXRS
ZWN0Jik7Ci0gICAgdm9pZCBkaWRDaGFuZ2VTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50
JiBwb3NpdGlvbik7CiAjaWYgVVNFKEdSQVBISUNTX1NVUkZBQ0UpCiAgICAgdm9pZCBjcmVhdGVD
YW52YXMoQ29vcmRpbmF0ZWRMYXllcklELCBjb25zdCBJbnRTaXplJiwgUGFzc1JlZlB0cjxHcmFw
aGljc1N1cmZhY2U+KTsKICAgICB2b2lkIHN5bmNDYW52YXMoQ29vcmRpbmF0ZWRMYXllcklELCB1
aW50MzJfdCBmcm9udEJ1ZmZlcik7CkBAIC0xMjEsNyArMTIwLDcgQEAgcHVibGljOgogICAgIHZv
aWQgdXBkYXRlVGlsZShDb29yZGluYXRlZExheWVySUQsIHVpbnQzMl90IHRpbGVJRCwgY29uc3Qg
VGlsZVVwZGF0ZSYpOwogICAgIHZvaWQgY3JlYXRlVXBkYXRlQXRsYXModWludDMyX3QgYXRsYXNJ
RCwgUGFzc1JlZlB0cjxDb29yZGluYXRlZFN1cmZhY2U+KTsKICAgICB2b2lkIHJlbW92ZVVwZGF0
ZUF0bGFzKHVpbnQzMl90IGF0bGFzSUQpOwotICAgIHZvaWQgZmx1c2hMYXllckNoYW5nZXMoKTsK
KyAgICB2b2lkIGZsdXNoTGF5ZXJDaGFuZ2VzKGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0
aW9uKTsKICAgICB2b2lkIGNyZWF0ZUltYWdlQmFja2luZyhDb29yZGluYXRlZEltYWdlQmFja2lu
Z0lEKTsKICAgICB2b2lkIHVwZGF0ZUltYWdlQmFja2luZyhDb29yZGluYXRlZEltYWdlQmFja2lu
Z0lELCBQYXNzUmVmUHRyPENvb3JkaW5hdGVkU3VyZmFjZT4pOwogICAgIHZvaWQgY2xlYXJJbWFn
ZUJhY2tpbmdDb250ZW50cyhDb29yZGluYXRlZEltYWdlQmFja2luZ0lEKTsKQEAgLTIxNCw3ICsy
MTMsNiBAQCBwcml2YXRlOgogICAgIExheWVyUmF3UHRyTWFwIG1fZml4ZWRMYXllcnM7CiAgICAg
Q29vcmRpbmF0ZWRMYXllcklEIG1fcm9vdExheWVySUQ7CiAgICAgRmxvYXRQb2ludCBtX3JlbmRl
cmVkQ29udGVudHNTY3JvbGxQb3NpdGlvbjsKLSAgICBGbG9hdFBvaW50IG1fcGVuZGluZ1JlbmRl
cmVkQ29udGVudHNTY3JvbGxQb3NpdGlvbjsKICAgICBib29sIG1fYW5pbWF0aW9uc0xvY2tlZDsK
ICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCiAgICAgYm9vbCBtX2FuaW1hdGlv
bkZyYW1lUmVxdWVzdGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkuY3BwCmluZGV4IDQyMzQ5NzdiYTQwZDg3YzBlNWIwZGM4MTczYjA2NTZj
YmZkOTdkMjQuLjcyYWY4MDM1ZmMyNjI3ZDMyMTQ5YTQzNjllZjFiYzBmZmI2OGZjMWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAK
QEAgLTEzMSw5ICsxMzEsOSBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Ojpj
cmVhdGVDdXN0b21GaWx0ZXJQcm9ncmFtKGludCBpZCwgY29uc3QgQ3VzdAogfQogI2VuZGlmCiAK
LXZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmRpZFJlbmRlckZyYW1lKGNvbnN0
IEludFNpemUmIGNvbnRlbnRzU2l6ZSwgY29uc3QgSW50UmVjdCYgY292ZXJlZFJlY3QpCit2b2lk
IENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpkaWRSZW5kZXJGcmFtZShjb25zdCBGbG9h
dFBvaW50JiBzY3JvbGxQb3NpdGlvbiwgY29uc3QgSW50U2l6ZSYgY29udGVudHNTaXplLCBjb25z
dCBJbnRSZWN0JiBjb3ZlcmVkUmVjdCkKIHsKLSAgICBkaXNwYXRjaFVwZGF0ZShiaW5kKCZDb29y
ZGluYXRlZEdyYXBoaWNzU2NlbmU6OmZsdXNoTGF5ZXJDaGFuZ2VzLCBtX3NjZW5lLmdldCgpKSk7
CisgICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpmbHVz
aExheWVyQ2hhbmdlcywgbV9zY2VuZS5nZXQoKSwgc2Nyb2xsUG9zaXRpb24pKTsKICAgICB1cGRh
dGVWaWV3cG9ydCgpOwogI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQogICAgIG1fZHJhd2lu
Z0FyZWFQcm94eS0+cGFnZSgpLT5kaWRSZW5kZXJGcmFtZShjb250ZW50c1NpemUsIGNvdmVyZWRS
ZWN0KTsKQEAgLTIwOSwxMSArMjA5LDYgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eTo6YW5pbWF0aW9uRnJhbWVSZWFkeSgpCiB9CiAjZW5kaWYKIAotdm9pZCBDb29yZGluYXRl
ZExheWVyVHJlZUhvc3RQcm94eTo6ZGlkQ2hhbmdlU2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQ
b2ludCYgcG9zaXRpb24pCi17Ci0gICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmQ29vcmRpbmF0ZWRH
cmFwaGljc1NjZW5lOjpkaWRDaGFuZ2VTY3JvbGxQb3NpdGlvbiwgbV9zY2VuZS5nZXQoKSwgcG9z
aXRpb24pKTsKLX0KLQogI2lmIFVTRShHUkFQSElDU19TVVJGQUNFKQogdm9pZCBDb29yZGluYXRl
ZExheWVyVHJlZUhvc3RQcm94eTo6Y3JlYXRlQ2FudmFzKENvb3JkaW5hdGVkTGF5ZXJJRCBpZCwg
Y29uc3QgSW50U2l6ZSYgY2FudmFzU2l6ZSwgY29uc3QgR3JhcGhpY3NTdXJmYWNlVG9rZW4mIHRv
a2VuKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFBy
b3h5LmgKaW5kZXggYzQzNDdiYjZlYmJmZWNlZjU4ODNkMDE4YTk4NGYxOTk3NTEwMTYyMC4uZTZm
YmY5NTFmNDJjNTZiOGJiYjU3MTU1MGFiNjViNDZjYjIyYTVkNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCkBAIC02Nyw3ICs2Nyw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldFJvb3RDb21wb3NpdGluZ0xheWVyKFdlYkNvcmU6OkNvb3Jk
aW5hdGVkTGF5ZXJJRCk7CiAgICAgdm9pZCBzZXRDb250ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6
RmxvYXRTaXplJik7CiAgICAgdm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IFdlYkNv
cmU6OkZsb2F0UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0
b3IpOwotICAgIHZvaWQgZGlkUmVuZGVyRnJhbWUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgY29u
dGVudHNTaXplLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBjb3ZlcmVkUmVjdCk7CisgICAgdm9p
ZCBkaWRSZW5kZXJGcmFtZShjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlv
biwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgY29udGVudHNTaXplLCBjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiBjb3ZlcmVkUmVjdCk7CiAgICAgdm9pZCBjcmVhdGVUaWxlRm9yTGF5ZXIoV2ViQ29y
ZTo6Q29vcmRpbmF0ZWRMYXllcklELCB1aW50MzJfdCB0aWxlSUQsIGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmLCBjb25zdCBXZWJDb3JlOjpTdXJmYWNlVXBkYXRlSW5mbyYpOwogICAgIHZvaWQgdXBk
YXRlVGlsZUZvckxheWVyKFdlYkNvcmU6OkNvb3JkaW5hdGVkTGF5ZXJJRCwgdWludDMyX3QgdGls
ZUlELCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgV2ViQ29yZTo6U3VyZmFjZVVwZGF0
ZUluZm8mKTsKICAgICB2b2lkIHJlbW92ZVRpbGVGb3JMYXllcihXZWJDb3JlOjpDb29yZGluYXRl
ZExheWVySUQsIHVpbnQzMl90IHRpbGVJRCk7CkBAIC03Nyw3ICs3Nyw2IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHVwZGF0ZUltYWdlQmFja2luZyhXZWJDb3JlOjpDb29yZGluYXRlZEltYWdlQmFja2lu
Z0lELCBjb25zdCBXZWJDb29yZGluYXRlZFN1cmZhY2U6OkhhbmRsZSYpOwogICAgIHZvaWQgY2xl
YXJJbWFnZUJhY2tpbmdDb250ZW50cyhXZWJDb3JlOjpDb29yZGluYXRlZEltYWdlQmFja2luZ0lE
KTsKICAgICB2b2lkIHJlbW92ZUltYWdlQmFja2luZyhXZWJDb3JlOjpDb29yZGluYXRlZEltYWdl
QmFja2luZ0lEKTsKLSAgICB2b2lkIGRpZENoYW5nZVNjcm9sbFBvc2l0aW9uKGNvbnN0IFdlYkNv
cmU6OkZsb2F0UG9pbnQmIHBvc2l0aW9uKTsKICNpZiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKICAg
ICB2b2lkIGNyZWF0ZUNhbnZhcyhXZWJDb3JlOjpDb29yZGluYXRlZExheWVySUQsIGNvbnN0IFdl
YkNvcmU6OkludFNpemUmLCBjb25zdCBXZWJDb3JlOjpHcmFwaGljc1N1cmZhY2VUb2tlbiYpOwog
ICAgIHZvaWQgc3luY0NhbnZhcyhXZWJDb3JlOjpDb29yZGluYXRlZExheWVySUQsIHVpbnQzMl90
IGZyb250QnVmZmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0UHJveHkubWVzc2FnZXMuaW4KaW5kZXggNTEzZThjZmZiYWMyODBhMGM2
NjcxNjljY2NkOWQ2MWI2MTI3MTdhOS4uNWNlMTI4MzZiZjIzZjBkMGJjNjg3NDc4N2YxNjFiMmE4
OTQyNTg2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHkubWVzc2FnZXMuaW4KQEAgLTQwLDggKzQwLDcgQEAgbWVzc2FnZXMg
LT4gQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkgewogICAgIFVwZGF0ZUltYWdlQmFja2lu
Zyh1aW50NjRfdCBpbWFnZUlELCBXZWJLaXQ6OldlYkNvb3JkaW5hdGVkU3VyZmFjZTo6SGFuZGxl
IGhhbmRsZSkKICAgICBDbGVhckltYWdlQmFja2luZ0NvbnRlbnRzKHVpbnQ2NF90IGltYWdlSUQp
CiAgICAgUmVtb3ZlSW1hZ2VCYWNraW5nKHVpbnQ2NF90IGltYWdlSUQpCi0gICAgRGlkUmVuZGVy
RnJhbWUoV2ViQ29yZTo6SW50U2l6ZSBjb250ZW50c1NpemUsIFdlYkNvcmU6OkludFJlY3QgY292
ZXJlZFJlY3QpCi0gICAgRGlkQ2hhbmdlU2Nyb2xsUG9zaXRpb24oV2ViQ29yZTo6RmxvYXRQb2lu
dCBwb3NpdGlvbikKKyAgICBEaWRSZW5kZXJGcmFtZShXZWJDb3JlOjpGbG9hdFBvaW50IHNjcm9s
bFBvc2l0aW9uLCBXZWJDb3JlOjpJbnRTaXplIGNvbnRlbnRzU2l6ZSwgV2ViQ29yZTo6SW50UmVj
dCBjb3ZlcmVkUmVjdCkKICAgICBTZXRMYXllckFuaW1hdGlvbnModWludDMyX3QgaWQsIFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXJBbmltYXRpb25zIGFuaW1hdGlvbnMpCiAgICAgU2V0QW5pbWF0aW9u
c0xvY2tlZChib29sIGxvY2tlZCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBo
aWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXggYzNiNjNiZWZjNzViMjRhMWU3
Y2ViZTQzNDIwNmNkZWE3NGNkZmUyOC4uNTllODM5YjJjNTMyMTYxYzMwODRlZjNjZjUxNDFhYWEw
ZDg5ZTQzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuY3BwCkBAIC04NSw3ICs4NSw2IEBAIENvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0KFdlYlBhZ2UqIHdlYlBhZ2UpCiAgICAg
LCBtX2lzRmx1c2hpbmdMYXllckNoYW5nZXMoZmFsc2UpCiAgICAgLCBtX3dhaXRpbmdGb3JVSVBy
b2Nlc3ModHJ1ZSkKICAgICAsIG1faXNTdXNwZW5kZWQoZmFsc2UpCi0gICAgLCBtX3Nob3VsZFNl
bmRTY3JvbGxQb3NpdGlvblVwZGF0ZSh0cnVlKQogICAgICwgbV9zaG91bGRTeW5jRnJhbWUoZmFs
c2UpCiAgICAgLCBtX2RpZEluaXRpYWxpemVSb290Q29tcG9zaXRpbmdMYXllcihmYWxzZSkKICAg
ICAsIG1fbGF5ZXJGbHVzaFRpbWVyKHRoaXMsICZDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6Omxh
eWVyRmx1c2hUaW1lckZpcmVkKQpAQCAtMjkyLDcgKzI5MSw3IEBAIGJvb2wgQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0OjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoKQogCiAgICAgICAgIEludFNp
emUgY29udGVudHNTaXplID0gcm91bmRlZEludFNpemUobV9ub25Db21wb3NpdGVkQ29udGVudExh
eWVyLT5zaXplKCkpOwogICAgICAgICBJbnRSZWN0IGNvdmVyZWRSZWN0ID0gdG9Db29yZGluYXRl
ZEdyYXBoaWNzTGF5ZXIobV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLmdldCgpKS0+Y292ZXJS
ZWN0KCk7Ci0gICAgICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHk6OkRpZFJlbmRlckZyYW1lKGNvbnRlbnRzU2l6ZSwgY292ZXJlZFJlY3Qp
KTsKKyAgICAgICAgbV93ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpDb29yZGluYXRlZExheWVyVHJl
ZUhvc3RQcm94eTo6RGlkUmVuZGVyRnJhbWUobV92aXNpYmxlQ29udGVudHNSZWN0LmxvY2F0aW9u
KCksIGNvbnRlbnRzU2l6ZSwgY292ZXJlZFJlY3QpKTsKICAgICAgICAgbV93YWl0aW5nRm9yVUlQ
cm9jZXNzID0gdHJ1ZTsKICAgICAgICAgbV9zaG91bGRTeW5jRnJhbWUgPSBmYWxzZTsKICAgICB9
IGVsc2UKQEAgLTM1MiwxMSArMzUxLDYgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6
OmluaXRpYWxpemVSb290Q29tcG9zaXRpbmdMYXllcklmTmVlZGVkKCkKIAogdm9pZCBDb29yZGlu
YXRlZExheWVyVHJlZUhvc3Q6OnN5bmNMYXllclN0YXRlKENvb3JkaW5hdGVkTGF5ZXJJRCBpZCwg
Y29uc3QgQ29vcmRpbmF0ZWRMYXllckluZm8mIGluZm8pCiB7Ci0gICAgaWYgKG1fc2hvdWxkU2Vu
ZFNjcm9sbFBvc2l0aW9uVXBkYXRlKSB7Ci0gICAgICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdl
czo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OkRpZENoYW5nZVNjcm9sbFBvc2l0aW9u
KG1fdmlzaWJsZUNvbnRlbnRzUmVjdC5sb2NhdGlvbigpKSk7Ci0gICAgICAgIG1fc2hvdWxkU2Vu
ZFNjcm9sbFBvc2l0aW9uVXBkYXRlID0gZmFsc2U7Ci0gICAgfQotCiAgICAgbV9zaG91bGRTeW5j
RnJhbWUgPSB0cnVlOwogICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6Q29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHk6OlNldENvbXBvc2l0aW5nTGF5ZXJTdGF0ZShpZCwgaW5mbykpOwog
fQpAQCAtNzQ0LDkgKzczOCw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXRW
aXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgY29uCiAgICAgICAgIC8v
IHRoZSBzYW1lIHdoaWxlIHBhbm5pbmcuIFRoaXMgY2FuIGhhdmUgbmFzdHkgZWZmZWN0cyBvbiBs
YXlvdXQuCiAgICAgICAgIG1fd2ViUGFnZS0+c2V0Rml4ZWRWaXNpYmxlQ29udGVudFJlY3Qocm91
bmRlZEludFJlY3QocmVjdCkpOwogICAgIH0KLQotICAgIGlmIChjb250ZW50c1JlY3REaWRDaGFu
Z2UpCi0gICAgICAgIG1fc2hvdWxkU2VuZFNjcm9sbFBvc2l0aW9uVXBkYXRlID0gdHJ1ZTsKIH0K
IAogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmRldmljZU9yUGFnZVNjYWxlRmFjdG9y
Q2hhbmdlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdC5oCmluZGV4IDU0NGVhN2EwOWI3OThkYzJjZDRjNzE0YWRjODE2Njc2ODJl
YmI4OWMuLjdlMWQxYmFlMDQzZWU3YjEwZDRiZWFmODdiYTFkMmFlZTg4OTNkNzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5o
CkBAIC0yMDAsNyArMjAwLDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fd2FpdGluZ0ZvclVJUHJv
Y2VzczsKICAgICBib29sIG1faXNTdXNwZW5kZWQ7CiAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IG1f
dmlzaWJsZUNvbnRlbnRzUmVjdDsKLSAgICBib29sIG1fc2hvdWxkU2VuZFNjcm9sbFBvc2l0aW9u
VXBkYXRlOwogCiAgICAgTGF5ZXJUcmVlQ29udGV4dCBtX2xheWVyVHJlZUNvbnRleHQ7CiAgICAg
Ym9vbCBtX3Nob3VsZFN5bmNGcmFtZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>