<?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>97839</bug_id>
          
          <creation_ts>2012-09-27 19:04:03 -0700</creation_ts>
          <short_desc>[EFL][WK2] {Vibration,Battery,NetworkInfo}Provider should contain WKContextRef instead of proxy.</short_desc>
          <delta_ts>2012-09-28 11:04:07 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</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>
          <dependson>97528</dependson>
    
    <dependson>97865</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Byungwoo Lee">bw80.lee</reporter>
          <assigned_to name="Byungwoo Lee">bw80.lee</assigned_to>
          <cc>cdumez</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>730109</commentid>
    <comment_count>0</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-27 19:04:03 -0700</bug_when>
    <thetext>There is an unclear relation between WebContext and {VibrationProvider, BatteryProvider, NetworkInfoProvider}

VibrationProvider has WKRetainPtr&lt;WKVibrationRef&gt; m_wkVibrationRef which has reference for object WebVibrationProxy.

But the WebVibrationProxy instance is a member of WebContext which also has RefPtr&lt;WebVibrationProxy&gt;

Two classes are sharing the reference for WebVibrationProxy but there is no relation between the two.

This can make a problem that,
When WebContext if deleted befor the VibrationProvider, WebVibrationProxy will be alive without WebContext,
because VibrationProvider also has the reference for WebVibrationProxy.

This is a problem because WebVibrationProxy should be a member of WebContext.

To prevent this,
there should be a relation between VibrationProvider and WebContext.

(And same about BatteryProvider, NetworkInfoProvider)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730251</commentid>
    <comment_count>1</comment_count>
      <attachid>166142</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-27 22:38:04 -0700</bug_when>
    <thetext>Created attachment 166142
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730259</commentid>
    <comment_count>2</comment_count>
      <attachid>166142</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-27 22:59:20 -0700</bug_when>
    <thetext>Comment on attachment 166142
Patch

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

&gt; Source/WebKit2/ChangeLog:3
&gt; +        [EFL][WK2] Make relation between WebContext and {VibrationProvider,BatteryProvider,NetworkInfoProvider}.

The bug title is really not clear.

&gt; Source/WebKit2/ChangeLog:16
&gt; +        This can make a problem that, when WebContext is deleted befor the

&quot;before&quot;

&gt; Source/WebKit2/ChangeLog:25
&gt; +        Same about BatteryProvider and NetworkInfoProvider.

&quot;Same for&quot;

&gt; Source/WebKit2/UIProcess/API/efl/ewk_context.cpp:89
&gt; +        vibrationProvider = VibrationProvider::create(context.get());

It looks like we are missing the networkInfoProvider, right? We should probably fix this in a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730266</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-27 23:08:11 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 166142 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=166142&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:3
&gt; &gt; +        [EFL][WK2] Make relation between WebContext and {VibrationProvider,BatteryProvider,NetworkInfoProvider}.
&gt; 
&gt; The bug title is really not clear.
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:16
&gt; &gt; +        This can make a problem that, when WebContext is deleted befor the
&gt; 
&gt; &quot;before&quot;
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:25
&gt; &gt; +        Same about BatteryProvider and NetworkInfoProvider.
&gt; 
&gt; &quot;Same for&quot;
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_context.cpp:89
&gt; &gt; +        vibrationProvider = VibrationProvider::create(context.get());
&gt; 
&gt; It looks like we are missing the networkInfoProvider, right? We should probably fix this in a separate patch.

Addressing the missing networkInfoProvider initialization issue in Bug 97865. This patch will need rebasing afterwards.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730271</commentid>
    <comment_count>4</comment_count>
      <attachid>166142</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-27 23:12:27 -0700</bug_when>
    <thetext>Comment on attachment 166142
Patch

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

&gt;&gt; Source/WebKit2/ChangeLog:3
&gt;&gt; +        [EFL][WK2] Make relation between WebContext and {VibrationProvider,BatteryProvider,NetworkInfoProvider}.
&gt; 
&gt; The bug title is really not clear.

Yes. How about this?
[EFL][WK2] {Vibration,Battery,NetworkInfo}Provider should contain WKContextRef instead of proxy.

&gt;&gt; Source/WebKit2/ChangeLog:16
&gt;&gt; +        This can make a problem that, when WebContext is deleted befor the
&gt; 
&gt; &quot;before&quot;

Oops~

&gt;&gt; Source/WebKit2/ChangeLog:25
&gt;&gt; +        Same about BatteryProvider and NetworkInfoProvider.
&gt; 
&gt; &quot;Same for&quot;

Ok

&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_context.cpp:89
&gt;&gt; +        vibrationProvider = VibrationProvider::create(context.get());
&gt; 
&gt; It looks like we are missing the networkInfoProvider, right? We should probably fix this in a separate patch.

Yes I couldn&apos;t find a code about networkInfoProvider. it should be fixed in other patch :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730397</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-28 02:25:41 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 166142 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=166142&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit2/ChangeLog:3
&gt; &gt;&gt; +        [EFL][WK2] Make relation between WebContext and {VibrationProvider,BatteryProvider,NetworkInfoProvider}.
&gt; &gt; 
&gt; &gt; The bug title is really not clear.
&gt; 
&gt; Yes. How about this?
&gt; [EFL][WK2] {Vibration,Battery,NetworkInfo}Provider should contain WKContextRef instead of proxy.

Yes, I think it is better.

&gt; &gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_context.cpp:89
&gt; &gt;&gt; +        vibrationProvider = VibrationProvider::create(context.get());
&gt; &gt; 
&gt; &gt; It looks like we are missing the networkInfoProvider, right? We should probably fix this in a separate patch.
&gt; 
&gt; Yes I couldn&apos;t find a code about networkInfoProvider. it should be fixed in other patch :)

This has been fixed in 97865, please rebase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730403</commentid>
    <comment_count>6</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-28 02:34:06 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (From update of attachment 166142 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=166142&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/WebKit2/ChangeLog:3
&gt; &gt; &gt;&gt; +        [EFL][WK2] Make relation between WebContext and {VibrationProvider,BatteryProvider,NetworkInfoProvider}.
&gt; &gt; &gt; 
&gt; &gt; &gt; The bug title is really not clear.
&gt; &gt; 
&gt; &gt; Yes. How about this?
&gt; &gt; [EFL][WK2] {Vibration,Battery,NetworkInfo}Provider should contain WKContextRef instead of proxy.
&gt; 
&gt; Yes, I think it is better.
&gt; 
&gt; &gt; &gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_context.cpp:89
&gt; &gt; &gt;&gt; +        vibrationProvider = VibrationProvider::create(context.get());
&gt; &gt; &gt; 
&gt; &gt; &gt; It looks like we are missing the networkInfoProvider, right? We should probably fix this in a separate patch.
&gt; &gt; 
&gt; &gt; Yes I couldn&apos;t find a code about networkInfoProvider. it should be fixed in other patch :)
&gt; 
&gt; This has been fixed in 97865, please rebase.

Ok~ I&apos;ll apply it :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730412</commentid>
    <comment_count>7</comment_count>
      <attachid>166186</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-28 02:44:54 -0700</bug_when>
    <thetext>Created attachment 166186
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730415</commentid>
    <comment_count>8</comment_count>
      <attachid>166186</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-28 02:48:15 -0700</bug_when>
    <thetext>Comment on attachment 166186
Patch

Need apply bug 97528</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730416</commentid>
    <comment_count>9</comment_count>
      <attachid>166186</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-28 02:48:25 -0700</bug_when>
    <thetext>Comment on attachment 166186
Patch

Attachment 166186 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14054286</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730502</commentid>
    <comment_count>10</comment_count>
      <attachid>166209</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-28 04:50:46 -0700</bug_when>
    <thetext>Created attachment 166209
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730659</commentid>
    <comment_count>11</comment_count>
      <attachid>166209</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-28 08:01:44 -0700</bug_when>
    <thetext>Comment on attachment 166209
Patch

LGTM, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730663</commentid>
    <comment_count>12</comment_count>
      <attachid>166209</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-09-28 08:08:10 -0700</bug_when>
    <thetext>Comment on attachment 166209
Patch

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

&gt; Source/WebKit2/ChangeLog:16
&gt; +        This can make a problem that, when WebContext is deleted before the

This can become a problem when We...

&gt; Source/WebKit2/ChangeLog:23
&gt; +        To prevent this, changed the VibrationProvider to have

To prevent this, I changed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730704</commentid>
    <comment_count>13</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-28 08:52:25 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 166209 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=166209&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:16
&gt; &gt; +        This can make a problem that, when WebContext is deleted before the
&gt; 
&gt; This can become a problem when We...
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:23
&gt; &gt; +        To prevent this, changed the VibrationProvider to have
&gt; 
&gt; To prevent this, I changed

Ok~ I&apos;ll change it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730711</commentid>
    <comment_count>14</comment_count>
      <attachid>166260</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-28 08:59:39 -0700</bug_when>
    <thetext>Created attachment 166260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730715</commentid>
    <comment_count>15</comment_count>
      <attachid>166262</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-28 09:02:10 -0700</bug_when>
    <thetext>Created attachment 166262
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730812</commentid>
    <comment_count>16</comment_count>
      <attachid>166262</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-28 11:04:01 -0700</bug_when>
    <thetext>Comment on attachment 166262
Patch

Clearing flags on attachment: 166262

Committed r129922: &lt;http://trac.webkit.org/changeset/129922&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730813</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-28 11:04:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166142</attachid>
            <date>2012-09-27 22:38:04 -0700</date>
            <delta_ts>2012-09-28 02:44:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97839-20120928143713.patch</filename>
            <type>text/plain</type>
            <size>12619</size>
            <attacher name="Byungwoo Lee">bw80.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NzI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOGY1YTZmYTY2ZDFlNWVh
YmZkOTRlNGFlZDE2OTc3NWUyZDFmYjBjYi4uZjdkNmYyNDU5ODQ0MTZlNGQxNDY0ODNiYWYxYjNh
ZmU5NjhmNzkxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEyLTA5LTI3ICBCeXVu
Z3dvbyBMZWUgIDxidzgwLmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIE1h
a2UgcmVsYXRpb24gYmV0d2VlbiBXZWJDb250ZXh0IGFuZCB7VmlicmF0aW9uUHJvdmlkZXIsQmF0
dGVyeVByb3ZpZGVyLE5ldHdvcmtJbmZvUHJvdmlkZXJ9LgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc4MzkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBWaWJyYXRpb25Qcm92aWRlciBoYXMgV0tSZXRhaW5Q
dHI8V0tWaWJyYXRpb25SZWY+IG1fd2tWaWJyYXRpb25SZWYKKyAgICAgICAgd2hpY2ggaGFzIHJl
ZmVyZW5jZSBmb3Igb2JqZWN0IFdlYlZpYnJhdGlvblByb3h5LgorICAgICAgICBUaGUgV2ViVmli
cmF0aW9uUHJveHkgaW5zdGFuY2UgaXMgYSBtZW1iZXIgb2YgV2ViQ29udGV4dCB3aG8gaGFzIGl0
CisgICAgICAgIGFzIFJlZlB0cjxXZWJWaWJyYXRpb25Qcm94eT4uCisKKyAgICAgICAgQSBtZW1i
ZXIgb2Ygb25lIGNsYXNzIGlzIHNoYXJlZCB3aXRoIGFub3RoZXIgY2xhc3MsIGJ1dCB0aGVyZSBp
cyBubworICAgICAgICByZWxhdGlvbiBiZXR3ZWVuIHRoZSB0d28gY2xhc3Nlcy4KKworICAgICAg
ICBUaGlzIGNhbiBtYWtlIGEgcHJvYmxlbSB0aGF0LCB3aGVuIFdlYkNvbnRleHQgaXMgZGVsZXRl
ZCBiZWZvciB0aGUKKyAgICAgICAgVmlicmF0aW9uUHJvdmlkZXIsIFdlYlZpYnJhdGlvblByb3h5
IHdpbGwgYmUgYWxpdmUgd2l0aG91dCBXZWJDb250ZXh0LAorICAgICAgICBiZWNhdXNlIFZpYnJh
dGlvblByb3ZpZGVyIGFsc28gaGFzIHRoZSByZWZlcmVuY2UgZm9yIFdlYlZpYnJhdGlvblByb3h5
LgorCisgICAgICAgIFRoaXMgaXMgYSBwcm9ibGVtIGJlY2F1c2UgV2ViVmlicmF0aW9uUHJveHkg
c2hvdWxkIGJlIGEgbWVtYmVyIG9mCisgICAgICAgIFdlYkNvbnRleHQuCisKKyAgICAgICAgVG8g
cHJldmVudCB0aGlzLCBjaGFuZ2VkIHRoZSBWaWJyYXRpb25Qcm92aWRlciB0byBoYXZlCisgICAg
ICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gaW5zdGVhZCBvZiBXS1JldGFpblB0cjxXS1Zp
YnJhdGlvblJlZj4uCisgICAgICAgIFNhbWUgYWJvdXQgQmF0dGVyeVByb3ZpZGVyIGFuZCBOZXR3
b3JrSW5mb1Byb3ZpZGVyLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvQmF0dGVyeVBy
b3ZpZGVyLmNwcDoKKyAgICAgICAgKEJhdHRlcnlQcm92aWRlcjo6Y3JlYXRlKToKKyAgICAgICAg
KEJhdHRlcnlQcm92aWRlcjo6QmF0dGVyeVByb3ZpZGVyKToKKyAgICAgICAgKEJhdHRlcnlQcm92
aWRlcjo6ZGlkQ2hhbmdlQmF0dGVyeVN0YXR1cyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9l
ZmwvQmF0dGVyeVByb3ZpZGVyLmg6CisgICAgICAgIChCYXR0ZXJ5UHJvdmlkZXIpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZWZsL05ldHdvcmtJbmZvUHJvdmlkZXIuY3BwOgorICAgICAgICAo
TmV0d29ya0luZm9Qcm92aWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKE5ldHdvcmtJbmZvUHJvdmlk
ZXI6Ok5ldHdvcmtJbmZvUHJvdmlkZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL05l
dHdvcmtJbmZvUHJvdmlkZXIuaDoKKyAgICAgICAgKE5ldHdvcmtJbmZvUHJvdmlkZXIpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL1ZpYnJhdGlvblByb3ZpZGVyLmNwcDoKKyAgICAgICAg
KFZpYnJhdGlvblByb3ZpZGVyOjpjcmVhdGUpOgorICAgICAgICAoVmlicmF0aW9uUHJvdmlkZXI6
OlZpYnJhdGlvblByb3ZpZGVyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9WaWJyYXRp
b25Qcm92aWRlci5oOgorICAgICAgICAoVmlicmF0aW9uUHJvdmlkZXIpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcDoKKyAgICAgICAgKF9Fd2tfQ29udGV4dDo6
X0V3a19Db250ZXh0KToKKwogMjAxMi0wOS0yNiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEZpeCBYUENTZXJ2aWNlcyBzeW1saW5rIHRvIG5vdCBiZSB0byBhbiBhYnNv
bHV0ZSBwYXRoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9C
YXR0ZXJ5UHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvQmF0
dGVyeVByb3ZpZGVyLmNwcAppbmRleCA4M2NjMzcxMTk0MTI3NmIwNTljMDcwZWM1OTY2NmU2NWU5
ZTRjZTg2Li5iODQ3MzgzNWI3ODEyMDc1MjMwYjVlM2QyNGE0ZDU4ZWZlZjdmODY1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9CYXR0ZXJ5UHJvdmlkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0JhdHRlcnlQcm92aWRlci5j
cHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKICNpbmNsdWRlICJX
S0JhdHRlcnlNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV0tCYXR0ZXJ5U3RhdHVzLmgiCisjaW5jbHVk
ZSAiV0tDb250ZXh0LmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNw
YWNlIFdlYktpdDsKQEAgLTU1LDE1ICs1NiwxOCBAQCBCYXR0ZXJ5UHJvdmlkZXI6On5CYXR0ZXJ5
UHJvdmlkZXIoKQogICAgIG1fcHJvdmlkZXIuc3RvcFVwZGF0aW5nKCk7CiB9CiAKLVBhc3NSZWZQ
dHI8QmF0dGVyeVByb3ZpZGVyPiBCYXR0ZXJ5UHJvdmlkZXI6OmNyZWF0ZShXS0JhdHRlcnlNYW5h
Z2VyUmVmIHdrQmF0dGVyeU1hbmFnZXIpCitQYXNzUmVmUHRyPEJhdHRlcnlQcm92aWRlcj4gQmF0
dGVyeVByb3ZpZGVyOjpjcmVhdGUoV0tDb250ZXh0UmVmIHdrQ29udGV4dCkKIHsKLSAgICByZXR1
cm4gYWRvcHRSZWYobmV3IEJhdHRlcnlQcm92aWRlcih3a0JhdHRlcnlNYW5hZ2VyKSk7CisgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBCYXR0ZXJ5UHJvdmlkZXIod2tDb250ZXh0KSk7CiB9CiAKLUJh
dHRlcnlQcm92aWRlcjo6QmF0dGVyeVByb3ZpZGVyKFdLQmF0dGVyeU1hbmFnZXJSZWYgd2tCYXR0
ZXJ5TWFuYWdlcikKLSAgICA6IG1fd2tCYXR0ZXJ5TWFuYWdlcih3a0JhdHRlcnlNYW5hZ2VyKQor
QmF0dGVyeVByb3ZpZGVyOjpCYXR0ZXJ5UHJvdmlkZXIoV0tDb250ZXh0UmVmIHdrQ29udGV4dCkK
KyAgICA6IG1fd2tDb250ZXh0KHdrQ29udGV4dCkKICAgICAsIG1fcHJvdmlkZXIodGhpcykKIHsK
KyAgICBBU1NFUlQobV93a0NvbnRleHQpOworCisgICAgV0tCYXR0ZXJ5TWFuYWdlclJlZiB3a0Jh
dHRlcnlNYW5hZ2VyID0gV0tDb250ZXh0R2V0QmF0dGVyeU1hbmFnZXIobV93a0NvbnRleHQuZ2V0
KCkpOwogICAgIEFTU0VSVCh3a0JhdHRlcnlNYW5hZ2VyKTsKIAogICAgIFdLQmF0dGVyeVByb3Zp
ZGVyIHdrQmF0dGVyeVByb3ZpZGVyID0gewpAQCAtNzIsNyArNzYsNyBAQCBCYXR0ZXJ5UHJvdmlk
ZXI6OkJhdHRlcnlQcm92aWRlcihXS0JhdHRlcnlNYW5hZ2VyUmVmIHdrQmF0dGVyeU1hbmFnZXIp
CiAgICAgICAgIHN0YXJ0VXBkYXRpbmdDYWxsYmFjaywKICAgICAgICAgc3RvcFVwZGF0aW5nQ2Fs
bGJhY2sKICAgICB9OwotICAgIFdLQmF0dGVyeU1hbmFnZXJTZXRQcm92aWRlcihtX3drQmF0dGVy
eU1hbmFnZXIuZ2V0KCksICZ3a0JhdHRlcnlQcm92aWRlcik7CisgICAgV0tCYXR0ZXJ5TWFuYWdl
clNldFByb3ZpZGVyKHdrQmF0dGVyeU1hbmFnZXIsICZ3a0JhdHRlcnlQcm92aWRlcik7CiB9CiAK
IHZvaWQgQmF0dGVyeVByb3ZpZGVyOjpzdGFydFVwZGF0aW5nKCkKQEAgLTg3LDggKzkxLDExIEBA
IHZvaWQgQmF0dGVyeVByb3ZpZGVyOjpzdG9wVXBkYXRpbmcoKQogCiB2b2lkIEJhdHRlcnlQcm92
aWRlcjo6ZGlkQ2hhbmdlQmF0dGVyeVN0YXR1cyhjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlw
ZSwgUGFzc1JlZlB0cjxCYXR0ZXJ5U3RhdHVzPiBzdGF0dXMpCiB7CisgICAgV0tCYXR0ZXJ5TWFu
YWdlclJlZiB3a0JhdHRlcnlNYW5hZ2VyID0gV0tDb250ZXh0R2V0QmF0dGVyeU1hbmFnZXIobV93
a0NvbnRleHQuZ2V0KCkpOworICAgIEFTU0VSVCh3a0JhdHRlcnlNYW5hZ2VyKTsKKwogICAgIFdL
UmV0YWluUHRyPFdLQmF0dGVyeVN0YXR1c1JlZj4gd2tCYXR0ZXJ5U3RhdHVzKEFkb3B0V0ssIFdL
QmF0dGVyeVN0YXR1c0NyZWF0ZShzdGF0dXMtPmNoYXJnaW5nKCksIHN0YXR1cy0+Y2hhcmdpbmdU
aW1lKCksIHN0YXR1cy0+ZGlzY2hhcmdpbmdUaW1lKCksIHN0YXR1cy0+bGV2ZWwoKSkpOwotICAg
IFdLQmF0dGVyeU1hbmFnZXJQcm92aWRlckRpZENoYW5nZUJhdHRlcnlTdGF0dXMobV93a0JhdHRl
cnlNYW5hZ2VyLmdldCgpLCB0b0FQSShldmVudFR5cGUuaW1wbCgpKSwgd2tCYXR0ZXJ5U3RhdHVz
LmdldCgpKTsKKyAgICBXS0JhdHRlcnlNYW5hZ2VyUHJvdmlkZXJEaWRDaGFuZ2VCYXR0ZXJ5U3Rh
dHVzKHdrQmF0dGVyeU1hbmFnZXIsIHRvQVBJKGV2ZW50VHlwZS5pbXBsKCkpLCB3a0JhdHRlcnlT
dGF0dXMuZ2V0KCkpOwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEJBVFRFUllfU1RBVFVTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvQmF0dGVyeVByb3ZpZGVy
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9CYXR0ZXJ5UHJvdmlkZXIuaApp
bmRleCBlOWU0Y2Y1ZjAzODA5YzIyMDU4YWU1MmMzYzA2YjMyNzZlNGQwYzA5Li5jNTQ0MTRlNjg4
ZTc1MzNmNjAxYmFlMjJiNGNlYTlkYzVlMmVmZmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9CYXR0ZXJ5UHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9CYXR0ZXJ5UHJvdmlkZXIuaApAQCAtMzgsMTggKzM4LDE4IEBA
CiBjbGFzcyBCYXR0ZXJ5UHJvdmlkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxCYXR0ZXJ5UHJvdmlk
ZXI+LCBwdWJsaWMgV2ViQ29yZTo6QmF0dGVyeVByb3ZpZGVyRWZsQ2xpZW50IHsKIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIH5CYXR0ZXJ5UHJvdmlkZXIoKTsKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxC
YXR0ZXJ5UHJvdmlkZXI+IGNyZWF0ZShXS0JhdHRlcnlNYW5hZ2VyUmVmKTsKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxCYXR0ZXJ5UHJvdmlkZXI+IGNyZWF0ZShXS0NvbnRleHRSZWYpOwogCiAgICAg
dm9pZCBzdGFydFVwZGF0aW5nKCk7CiAgICAgdm9pZCBzdG9wVXBkYXRpbmcoKTsKIAogcHJpdmF0
ZToKLSAgICBCYXR0ZXJ5UHJvdmlkZXIoV0tCYXR0ZXJ5TWFuYWdlclJlZik7CisgICAgQmF0dGVy
eVByb3ZpZGVyKFdLQ29udGV4dFJlZik7CiAKICAgICAvLyBCYXR0ZXJ5UHJvdmlkZXJFZmxDbGll
bnQgaW50ZXJmYWNlLgogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VCYXR0ZXJ5U3RhdHVzKGNv
bnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkJhdHRlcnlT
dGF0dXM+KTsKIAotICAgIFdLUmV0YWluUHRyPFdLQmF0dGVyeU1hbmFnZXJSZWY+IG1fd2tCYXR0
ZXJ5TWFuYWdlcjsKKyAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IG1fd2tDb250ZXh0Owog
ICAgIFdlYkNvcmU6OkJhdHRlcnlQcm92aWRlckVmbCBtX3Byb3ZpZGVyOwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvTmV0d29ya0luZm9Qcm92aWRl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9OZXR3b3JrSW5mb1Byb3Zp
ZGVyLmNwcAppbmRleCA1NGE2OTIxZGE1NTE3YzNjMTQ0ZjJhYzU2MGIyZWU5YjFjY2M4YTg3Li43
MzU1YTY3OWUzMTU2YzhiYTk2ZTJkMzE1Nzc5YzNlYjhhZDZmM2U1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9OZXR3b3JrSW5mb1Byb3ZpZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9OZXR3b3JrSW5mb1Byb3ZpZGVyLmNw
cApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKE5FVFdPUktfSU5GTykKIAorI2luY2x1
ZGUgIldLQ29udGV4dC5oIgogI2luY2x1ZGUgIldLTmV0d29ya0luZm9NYW5hZ2VyLmgiCiAjaW5j
bHVkZSA8Tm90SW1wbGVtZW50ZWQuaD4KIApAQCAtNTYsMTUgKzU3LDE3IEBAIHN0YXRpYyBib29s
IGlzTWV0ZXJlZENhbGxiYWNrKFdLTmV0d29ya0luZm9NYW5hZ2VyUmVmLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKQogICAgIHJldHVybiB0b05ldHdvcmtJbmZvUHJvdmlkZXIoY2xpZW50SW5mbykt
Pm1ldGVyZWQoKTsKIH0KIAotUGFzc1JlZlB0cjxOZXR3b3JrSW5mb1Byb3ZpZGVyPiBOZXR3b3Jr
SW5mb1Byb3ZpZGVyOjpjcmVhdGUoV0tOZXR3b3JrSW5mb01hbmFnZXJSZWYgd2tNYW5hZ2VyKQor
UGFzc1JlZlB0cjxOZXR3b3JrSW5mb1Byb3ZpZGVyPiBOZXR3b3JrSW5mb1Byb3ZpZGVyOjpjcmVh
dGUoV0tDb250ZXh0UmVmIHdrQ29udGV4dCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE5l
dHdvcmtJbmZvUHJvdmlkZXIod2tNYW5hZ2VyKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBO
ZXR3b3JrSW5mb1Byb3ZpZGVyKHdrQ29udGV4dCkpOwogfQogCi1OZXR3b3JrSW5mb1Byb3ZpZGVy
OjpOZXR3b3JrSW5mb1Byb3ZpZGVyKFdLTmV0d29ya0luZm9NYW5hZ2VyUmVmIHdrTWFuYWdlcikK
LSAgICA6IG1fd2tOZXR3b3JrSW5mb01hbmFnZXIod2tNYW5hZ2VyKQorTmV0d29ya0luZm9Qcm92
aWRlcjo6TmV0d29ya0luZm9Qcm92aWRlcihXS0NvbnRleHRSZWYgd2tDb250ZXh0KQorICAgIDog
bV93a0NvbnRleHQod2tDb250ZXh0KQogewotICAgIEFTU0VSVCh3a01hbmFnZXIpOworICAgIEFT
U0VSVCh3a0NvbnRleHQpOworICAgIFdLTmV0d29ya0luZm9NYW5hZ2VyUmVmIHdrTmV0d29ya0lu
Zm9NYW5hZ2VyID0gV0tDb250ZXh0R2V0TmV0d29ya0luZm9NYW5hZ2VyKG1fd2tDb250ZXh0Lmdl
dCgpKTsKKyAgICBBU1NFUlQod2tOZXR3b3JrSW5mb01hbmFnZXIpOwogCiAgICAgV0tOZXR3b3Jr
SW5mb1Byb3ZpZGVyIHdrTmV0d29ya0luZm9Qcm92aWRlciA9IHsKICAgICAgICAga1dLTmV0d29y
a0luZm9Qcm92aWRlckN1cnJlbnRWZXJzaW9uLApAQCAtNzQsNyArNzcsNyBAQCBOZXR3b3JrSW5m
b1Byb3ZpZGVyOjpOZXR3b3JrSW5mb1Byb3ZpZGVyKFdLTmV0d29ya0luZm9NYW5hZ2VyUmVmIHdr
TWFuYWdlcikKICAgICAgICAgZ2V0QmFuZHdpZHRoQ2FsbGJhY2ssCiAgICAgICAgIGlzTWV0ZXJl
ZENhbGxiYWNrCiAgICAgfTsKLSAgICBXS05ldHdvcmtJbmZvTWFuYWdlclNldFByb3ZpZGVyKG1f
d2tOZXR3b3JrSW5mb01hbmFnZXIuZ2V0KCksICZ3a05ldHdvcmtJbmZvUHJvdmlkZXIpOworICAg
IFdLTmV0d29ya0luZm9NYW5hZ2VyU2V0UHJvdmlkZXIod2tOZXR3b3JrSW5mb01hbmFnZXIsICZ3
a05ldHdvcmtJbmZvUHJvdmlkZXIpOwogfQogCiBOZXR3b3JrSW5mb1Byb3ZpZGVyOjp+TmV0d29y
a0luZm9Qcm92aWRlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9OZXR3b3JrSW5mb1Byb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9OZXR3b3JrSW5mb1Byb3ZpZGVyLmgKaW5kZXggYjlmODZlNmU1YzEyMjQ1N2NlZWU5YmVl
NGI2YWE0ZDQwZmI1NjE1OS4uMGE1ZDYwZTRmYTE2MTU4ZjY2OGUxZjIzYjI3MDBlMmI2MWJmYjMz
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvTmV0d29ya0lu
Zm9Qcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL05ldHdv
cmtJbmZvUHJvdmlkZXIuaApAQCAtMzcsNyArMzcsNyBAQAogY2xhc3MgTmV0d29ya0luZm9Qcm92
aWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPE5ldHdvcmtJbmZvUHJvdmlkZXI+LCBwdWJsaWMgV2Vi
Q29yZTo6TmV0d29ya0luZm9DbGllbnQgewogcHVibGljOgogICAgIHZpcnR1YWwgfk5ldHdvcmtJ
bmZvUHJvdmlkZXIoKTsKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxOZXR3b3JrSW5mb1Byb3ZpZGVy
PiBjcmVhdGUoV0tOZXR3b3JrSW5mb01hbmFnZXJSZWYpOworICAgIHN0YXRpYyBQYXNzUmVmUHRy
PE5ldHdvcmtJbmZvUHJvdmlkZXI+IGNyZWF0ZShXS0NvbnRleHRSZWYpOwogCiAgICAgLy8gTmV0
d29ya0luZm9DbGllbnQgaW50ZXJmYWNlLgogICAgIHZpcnR1YWwgZG91YmxlIGJhbmR3aWR0aCgp
IGNvbnN0OwpAQCAtNDcsOSArNDcsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHN0b3BV
cGRhdGluZygpOwogCiBwcml2YXRlOgotICAgIE5ldHdvcmtJbmZvUHJvdmlkZXIoV0tOZXR3b3Jr
SW5mb01hbmFnZXJSZWYpOworICAgIE5ldHdvcmtJbmZvUHJvdmlkZXIoV0tDb250ZXh0UmVmKTsK
IAotICAgIFdLUmV0YWluUHRyPFdLTmV0d29ya0luZm9NYW5hZ2VyUmVmPiBtX3drTmV0d29ya0lu
Zm9NYW5hZ2VyOworICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gbV93a0NvbnRleHQ7CiAg
ICAgV2ViQ29yZTo6TmV0d29ya0luZm9Qcm92aWRlckVmbCBtX3Byb3ZpZGVyOwogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvVmlicmF0aW9uUHJvdmlk
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvVmlicmF0aW9uUHJvdmlk
ZXIuY3BwCmluZGV4IDI5ZmI2YTRmYzFjNzBkOTc0ZDdiODIzNTcxM2Y0ZTdjNmZiMzM4ZWUuLmZj
NzE3YTE5Y2MyZjNhZmFjODhlZTYwMDI5MzA5OTgwN2RlZDEyMjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1ZpYnJhdGlvblByb3ZpZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9WaWJyYXRpb25Qcm92aWRlci5jcHAKQEAg
LTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoVklCUkFUSU9OKQogCiAjaW5jbHVkZSAiV0tBUElD
YXN0LmgiCisjaW5jbHVkZSAiV0tDb250ZXh0LmgiCiAjaW5jbHVkZSAiV0tWaWJyYXRpb24uaCIK
ICNpbmNsdWRlIDxFdmFzLmg+CiAKQEAgLTY1LDE1ICs2NiwxOCBAQCBzdGF0aWMgdm9pZCBjYW5j
ZWxWaWJyYXRpb25DYWxsYmFjayhXS1ZpYnJhdGlvblJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5m
bykKICAgICB0b1ZpYnJhdGlvblByb3ZpZGVyKGNsaWVudEluZm8pLT5jYW5jZWxWaWJyYXRpb24o
KTsKIH0KIAotUGFzc1JlZlB0cjxWaWJyYXRpb25Qcm92aWRlcj4gVmlicmF0aW9uUHJvdmlkZXI6
OmNyZWF0ZShXS1ZpYnJhdGlvblJlZiB3a1ZpYnJhdGlvblJlZikKK1Bhc3NSZWZQdHI8VmlicmF0
aW9uUHJvdmlkZXI+IFZpYnJhdGlvblByb3ZpZGVyOjpjcmVhdGUoV0tDb250ZXh0UmVmIHdrQ29u
dGV4dCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFZpYnJhdGlvblByb3ZpZGVyKHdrVmli
cmF0aW9uUmVmKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBWaWJyYXRpb25Qcm92aWRlcih3
a0NvbnRleHQpKTsKIH0KIAotVmlicmF0aW9uUHJvdmlkZXI6OlZpYnJhdGlvblByb3ZpZGVyKFdL
VmlicmF0aW9uUmVmIHdrVmlicmF0aW9uUmVmKQotICAgIDogbV93a1ZpYnJhdGlvblJlZih3a1Zp
YnJhdGlvblJlZikKK1ZpYnJhdGlvblByb3ZpZGVyOjpWaWJyYXRpb25Qcm92aWRlcihXS0NvbnRl
eHRSZWYgd2tDb250ZXh0KQorICAgIDogbV93a0NvbnRleHQod2tDb250ZXh0KQogewotICAgIEFT
U0VSVCh3a1ZpYnJhdGlvblJlZik7CisgICAgQVNTRVJUKG1fd2tDb250ZXh0LmdldCgpKTsKKwor
ICAgIFdLVmlicmF0aW9uUmVmIHdrVmlicmF0aW9uID0gV0tDb250ZXh0R2V0VmlicmF0aW9uKG1f
d2tDb250ZXh0LmdldCgpKTsKKyAgICBBU1NFUlQod2tWaWJyYXRpb24pOwogCiAgICAgV0tWaWJy
YXRpb25Qcm92aWRlciB3a1ZpYnJhdGlvblByb3ZpZGVyID0gewogICAgICAgICBrV0tWaWJyYXRp
b25Qcm92aWRlckN1cnJlbnRWZXJzaW9uLApAQCAtODEsNyArODUsNyBAQCBWaWJyYXRpb25Qcm92
aWRlcjo6VmlicmF0aW9uUHJvdmlkZXIoV0tWaWJyYXRpb25SZWYgd2tWaWJyYXRpb25SZWYpCiAg
ICAgICAgIHZpYnJhdGVDYWxsYmFjaywKICAgICAgICAgY2FuY2VsVmlicmF0aW9uQ2FsbGJhY2sK
ICAgICB9OwotICAgIFdLVmlicmF0aW9uU2V0UHJvdmlkZXIobV93a1ZpYnJhdGlvblJlZi5nZXQo
KSwgJndrVmlicmF0aW9uUHJvdmlkZXIpOworICAgIFdLVmlicmF0aW9uU2V0UHJvdmlkZXIod2tW
aWJyYXRpb24sICZ3a1ZpYnJhdGlvblByb3ZpZGVyKTsKIH0KIAogVmlicmF0aW9uUHJvdmlkZXI6
On5WaWJyYXRpb25Qcm92aWRlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9WaWJyYXRpb25Qcm92aWRlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvVmlicmF0aW9uUHJvdmlkZXIuaAppbmRleCBjMjY0M2I2Mzg2NjI3YTM2MzU5ZDNm
OWJmMjI2MzMzMWVmNzFiOTA0Li42YjJkYjRlZWNhZDAzYjk2NDMwMzQ4NGIyMTYzMThiNTBjNmE2
N2E4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9WaWJyYXRp
b25Qcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1ZpYnJh
dGlvblByb3ZpZGVyLmgKQEAgLTM3LDcgKzM3LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX0V3a19WaWJy
YXRpb25fQ2xpZW50IEV3a19WaWJyYXRpb25fQ2xpZW50OwogCiBjbGFzcyBWaWJyYXRpb25Qcm92
aWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFZpYnJhdGlvblByb3ZpZGVyPiB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8VmlicmF0aW9uUHJvdmlkZXI+IGNyZWF0ZShXS1ZpYnJhdGlv
blJlZik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8VmlicmF0aW9uUHJvdmlkZXI+IGNyZWF0ZShX
S0NvbnRleHRSZWYpOwogICAgIHZpcnR1YWwgflZpYnJhdGlvblByb3ZpZGVyKCk7CiAKICAgICB2
b2lkIHZpYnJhdGUodWludDY0X3QgdmlicmF0aW9uVGltZSk7CkBAIC00NSw5ICs0NSw5IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldFZpYnJhdGlvbkNsaWVudENhbGxiYWNrcyhFd2tfVmlicmF0aW9u
X0NsaWVudF9WaWJyYXRlX0NiLCBFd2tfVmlicmF0aW9uX0NsaWVudF9WaWJyYXRpb25fQ2FuY2Vs
X0NiLCB2b2lkKik7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgVmlicmF0aW9uUHJvdmlkZXIo
V0tWaWJyYXRpb25SZWYpOworICAgIGV4cGxpY2l0IFZpYnJhdGlvblByb3ZpZGVyKFdLQ29udGV4
dFJlZik7CiAKLSAgICBXS1JldGFpblB0cjxXS1ZpYnJhdGlvblJlZj4gbV93a1ZpYnJhdGlvblJl
ZjsKKyAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IG1fd2tDb250ZXh0OwogICAgIE93blB0
cjxFd2tfVmlicmF0aW9uX0NsaWVudD4gbV92aWJyYXRpb25DbGllbnQ7CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAKaW5kZXggYjM0
ZmY3N2RmNjkxMWMyNGFkMzVhMTIzMDAwOTc0OTYyOWFjMzk2ZC4uZmI3Y2RhZjkzYjJjM2Y0ZDI3
OGVjZjliMDgxZTZmZDJlM2ZlMGFmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcApAQCAtODIsMTMgKzgyLDExIEBAIHN0cnVjdCBfRXdr
X0NvbnRleHQgewogICAgICAgICAsIHJlcXVlc3RNYW5hZ2VyKFdLQ29udGV4dEdldFNvdXBSZXF1
ZXN0TWFuYWdlcihjb250ZXh0UmVmLmdldCgpKSkKICAgICB7CiAjaWYgRU5BQkxFKEJBVFRFUllf
U1RBVFVTKQotICAgICAgICBXS0JhdHRlcnlNYW5hZ2VyUmVmIHdrQmF0dGVyeU1hbmFnZXIgPSBX
S0NvbnRleHRHZXRCYXR0ZXJ5TWFuYWdlcihjb250ZXh0UmVmLmdldCgpKTsKLSAgICAgICAgYmF0
dGVyeVByb3ZpZGVyID0gQmF0dGVyeVByb3ZpZGVyOjpjcmVhdGUod2tCYXR0ZXJ5TWFuYWdlcik7
CisgICAgICAgIGJhdHRlcnlQcm92aWRlciA9IEJhdHRlcnlQcm92aWRlcjo6Y3JlYXRlKGNvbnRl
eHQuZ2V0KCkpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoVklCUkFUSU9OKQotICAgICAgICBXS1Zp
YnJhdGlvblJlZiB3a1ZpYnJhdGlvblJlZiA9IFdLQ29udGV4dEdldFZpYnJhdGlvbihjb250ZXh0
UmVmLmdldCgpKTsKLSAgICAgICAgdmlicmF0aW9uUHJvdmlkZXIgPSBWaWJyYXRpb25Qcm92aWRl
cjo6Y3JlYXRlKHdrVmlicmF0aW9uUmVmKTsKKyAgICAgICAgdmlicmF0aW9uUHJvdmlkZXIgPSBW
aWJyYXRpb25Qcm92aWRlcjo6Y3JlYXRlKGNvbnRleHQuZ2V0KCkpOwogI2VuZGlmCiAKICNpZiBF
TkFCTEUoTUVNT1JZX1NBTVBMRVIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166186</attachid>
            <date>2012-09-28 02:44:54 -0700</date>
            <delta_ts>2012-09-28 04:50:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97839-20120928184403.patch</filename>
            <type>text/plain</type>
            <size>12885</size>
            <attacher name="Byungwoo Lee">bw80.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5ODY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMWZiNjBmNjQzMTVjNzE0
OTJjMmIzZGQwNDM0NzlmMzc0NDk5MGY2MS4uMmFmZTU5ZDc3OGVhYzU3N2U1OTI0YTlmZGEyMWYx
YzE4OWQ2ODU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEyLTA5LTI4ICBCeXVu
Z3dvbyBMZWUgIDxidzgwLmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIHtW
aWJyYXRpb24sQmF0dGVyeSxOZXR3b3JrSW5mb31Qcm92aWRlciBzaG91bGQgY29udGFpbiBXS0Nv
bnRleHRSZWYgaW5zdGVhZCBvZiBwcm94eS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk3ODM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVmlicmF0aW9uUHJvdmlkZXIgaGFzIFdLUmV0YWluUHRyPFdLVmli
cmF0aW9uUmVmPiBtX3drVmlicmF0aW9uUmVmCisgICAgICAgIHdoaWNoIGhhcyByZWZlcmVuY2Ug
Zm9yIG9iamVjdCBXZWJWaWJyYXRpb25Qcm94eS4KKyAgICAgICAgVGhlIFdlYlZpYnJhdGlvblBy
b3h5IGluc3RhbmNlIGlzIGEgbWVtYmVyIG9mIFdlYkNvbnRleHQgd2hvIGhhcyBpdAorICAgICAg
ICBhcyBSZWZQdHI8V2ViVmlicmF0aW9uUHJveHk+LgorCisgICAgICAgIEEgbWVtYmVyIG9mIG9u
ZSBjbGFzcyBpcyBzaGFyZWQgd2l0aCBhbm90aGVyIGNsYXNzLCBidXQgdGhlcmUgaXMgbm8KKyAg
ICAgICAgcmVsYXRpb24gYmV0d2VlbiB0aGUgdHdvIGNsYXNzZXMuCisKKyAgICAgICAgVGhpcyBj
YW4gbWFrZSBhIHByb2JsZW0gdGhhdCwgd2hlbiBXZWJDb250ZXh0IGlzIGRlbGV0ZWQgYmVmb3Jl
IHRoZQorICAgICAgICBWaWJyYXRpb25Qcm92aWRlciwgV2ViVmlicmF0aW9uUHJveHkgd2lsbCBi
ZSBhbGl2ZSB3aXRob3V0IFdlYkNvbnRleHQsCisgICAgICAgIGJlY2F1c2UgVmlicmF0aW9uUHJv
dmlkZXIgYWxzbyBoYXMgdGhlIHJlZmVyZW5jZSBmb3IgV2ViVmlicmF0aW9uUHJveHkuCisKKyAg
ICAgICAgVGhpcyBpcyBhIHByb2JsZW0gYmVjYXVzZSBXZWJWaWJyYXRpb25Qcm94eSBzaG91bGQg
YmUgYSBtZW1iZXIgb2YKKyAgICAgICAgV2ViQ29udGV4dC4KKworICAgICAgICBUbyBwcmV2ZW50
IHRoaXMsIGNoYW5nZWQgdGhlIFZpYnJhdGlvblByb3ZpZGVyIHRvIGhhdmUKKyAgICAgICAgV0tS
ZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBpbnN0ZWFkIG9mIFdLUmV0YWluUHRyPFdLVmlicmF0aW9u
UmVmPi4KKyAgICAgICAgU2FtZSBmb3IgQmF0dGVyeVByb3ZpZGVyIGFuZCBOZXR3b3JrSW5mb1By
b3ZpZGVyLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvQmF0dGVyeVByb3ZpZGVyLmNw
cDoKKyAgICAgICAgKEJhdHRlcnlQcm92aWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKEJhdHRlcnlQ
cm92aWRlcjo6QmF0dGVyeVByb3ZpZGVyKToKKyAgICAgICAgKEJhdHRlcnlQcm92aWRlcjo6ZGlk
Q2hhbmdlQmF0dGVyeVN0YXR1cyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvQmF0dGVy
eVByb3ZpZGVyLmg6CisgICAgICAgIChCYXR0ZXJ5UHJvdmlkZXIpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZWZsL05ldHdvcmtJbmZvUHJvdmlkZXIuY3BwOgorICAgICAgICAoTmV0d29ya0lu
Zm9Qcm92aWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKE5ldHdvcmtJbmZvUHJvdmlkZXI6Ok5ldHdv
cmtJbmZvUHJvdmlkZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL05ldHdvcmtJbmZv
UHJvdmlkZXIuaDoKKyAgICAgICAgKE5ldHdvcmtJbmZvUHJvdmlkZXIpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZWZsL1ZpYnJhdGlvblByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFZpYnJhdGlv
blByb3ZpZGVyOjpjcmVhdGUpOgorICAgICAgICAoVmlicmF0aW9uUHJvdmlkZXI6OlZpYnJhdGlv
blByb3ZpZGVyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9WaWJyYXRpb25Qcm92aWRl
ci5oOgorICAgICAgICAoVmlicmF0aW9uUHJvdmlkZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZWZsL2V3a19jb250ZXh0LmNwcDoKKyAgICAgICAgKF9Fd2tfQ29udGV4dDo6X0V3a19Db250
ZXh0KToKKwogMjAxMi0wOS0yOCAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpA
aW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdW1dLMl0gTmV0d29ya0luZm8gcHJvdmlkZXIgaXMg
bm90IGluaXRpYWxpemVkIGluIEV3a19Db250ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9CYXR0ZXJ5UHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvQmF0dGVyeVByb3ZpZGVyLmNwcAppbmRleCA4M2NjMzcxMTk0MTI3
NmIwNTljMDcwZWM1OTY2NmU2NWU5ZTRjZTg2Li5iODQ3MzgzNWI3ODEyMDc1MjMwYjVlM2QyNGE0
ZDU4ZWZlZjdmODY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9CYXR0ZXJ5UHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL0JhdHRlcnlQcm92aWRlci5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJXS0FQ
SUNhc3QuaCIKICNpbmNsdWRlICJXS0JhdHRlcnlNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV0tCYXR0
ZXJ5U3RhdHVzLmgiCisjaW5jbHVkZSAiV0tDb250ZXh0LmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKQEAgLTU1LDE1ICs1NiwxOCBAQCBCYXR0
ZXJ5UHJvdmlkZXI6On5CYXR0ZXJ5UHJvdmlkZXIoKQogICAgIG1fcHJvdmlkZXIuc3RvcFVwZGF0
aW5nKCk7CiB9CiAKLVBhc3NSZWZQdHI8QmF0dGVyeVByb3ZpZGVyPiBCYXR0ZXJ5UHJvdmlkZXI6
OmNyZWF0ZShXS0JhdHRlcnlNYW5hZ2VyUmVmIHdrQmF0dGVyeU1hbmFnZXIpCitQYXNzUmVmUHRy
PEJhdHRlcnlQcm92aWRlcj4gQmF0dGVyeVByb3ZpZGVyOjpjcmVhdGUoV0tDb250ZXh0UmVmIHdr
Q29udGV4dCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEJhdHRlcnlQcm92aWRlcih3a0Jh
dHRlcnlNYW5hZ2VyKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBCYXR0ZXJ5UHJvdmlkZXIo
d2tDb250ZXh0KSk7CiB9CiAKLUJhdHRlcnlQcm92aWRlcjo6QmF0dGVyeVByb3ZpZGVyKFdLQmF0
dGVyeU1hbmFnZXJSZWYgd2tCYXR0ZXJ5TWFuYWdlcikKLSAgICA6IG1fd2tCYXR0ZXJ5TWFuYWdl
cih3a0JhdHRlcnlNYW5hZ2VyKQorQmF0dGVyeVByb3ZpZGVyOjpCYXR0ZXJ5UHJvdmlkZXIoV0tD
b250ZXh0UmVmIHdrQ29udGV4dCkKKyAgICA6IG1fd2tDb250ZXh0KHdrQ29udGV4dCkKICAgICAs
IG1fcHJvdmlkZXIodGhpcykKIHsKKyAgICBBU1NFUlQobV93a0NvbnRleHQpOworCisgICAgV0tC
YXR0ZXJ5TWFuYWdlclJlZiB3a0JhdHRlcnlNYW5hZ2VyID0gV0tDb250ZXh0R2V0QmF0dGVyeU1h
bmFnZXIobV93a0NvbnRleHQuZ2V0KCkpOwogICAgIEFTU0VSVCh3a0JhdHRlcnlNYW5hZ2VyKTsK
IAogICAgIFdLQmF0dGVyeVByb3ZpZGVyIHdrQmF0dGVyeVByb3ZpZGVyID0gewpAQCAtNzIsNyAr
NzYsNyBAQCBCYXR0ZXJ5UHJvdmlkZXI6OkJhdHRlcnlQcm92aWRlcihXS0JhdHRlcnlNYW5hZ2Vy
UmVmIHdrQmF0dGVyeU1hbmFnZXIpCiAgICAgICAgIHN0YXJ0VXBkYXRpbmdDYWxsYmFjaywKICAg
ICAgICAgc3RvcFVwZGF0aW5nQ2FsbGJhY2sKICAgICB9OwotICAgIFdLQmF0dGVyeU1hbmFnZXJT
ZXRQcm92aWRlcihtX3drQmF0dGVyeU1hbmFnZXIuZ2V0KCksICZ3a0JhdHRlcnlQcm92aWRlcik7
CisgICAgV0tCYXR0ZXJ5TWFuYWdlclNldFByb3ZpZGVyKHdrQmF0dGVyeU1hbmFnZXIsICZ3a0Jh
dHRlcnlQcm92aWRlcik7CiB9CiAKIHZvaWQgQmF0dGVyeVByb3ZpZGVyOjpzdGFydFVwZGF0aW5n
KCkKQEAgLTg3LDggKzkxLDExIEBAIHZvaWQgQmF0dGVyeVByb3ZpZGVyOjpzdG9wVXBkYXRpbmco
KQogCiB2b2lkIEJhdHRlcnlQcm92aWRlcjo6ZGlkQ2hhbmdlQmF0dGVyeVN0YXR1cyhjb25zdCBB
dG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxCYXR0ZXJ5U3RhdHVzPiBzdGF0dXMp
CiB7CisgICAgV0tCYXR0ZXJ5TWFuYWdlclJlZiB3a0JhdHRlcnlNYW5hZ2VyID0gV0tDb250ZXh0
R2V0QmF0dGVyeU1hbmFnZXIobV93a0NvbnRleHQuZ2V0KCkpOworICAgIEFTU0VSVCh3a0JhdHRl
cnlNYW5hZ2VyKTsKKwogICAgIFdLUmV0YWluUHRyPFdLQmF0dGVyeVN0YXR1c1JlZj4gd2tCYXR0
ZXJ5U3RhdHVzKEFkb3B0V0ssIFdLQmF0dGVyeVN0YXR1c0NyZWF0ZShzdGF0dXMtPmNoYXJnaW5n
KCksIHN0YXR1cy0+Y2hhcmdpbmdUaW1lKCksIHN0YXR1cy0+ZGlzY2hhcmdpbmdUaW1lKCksIHN0
YXR1cy0+bGV2ZWwoKSkpOwotICAgIFdLQmF0dGVyeU1hbmFnZXJQcm92aWRlckRpZENoYW5nZUJh
dHRlcnlTdGF0dXMobV93a0JhdHRlcnlNYW5hZ2VyLmdldCgpLCB0b0FQSShldmVudFR5cGUuaW1w
bCgpKSwgd2tCYXR0ZXJ5U3RhdHVzLmdldCgpKTsKKyAgICBXS0JhdHRlcnlNYW5hZ2VyUHJvdmlk
ZXJEaWRDaGFuZ2VCYXR0ZXJ5U3RhdHVzKHdrQmF0dGVyeU1hbmFnZXIsIHRvQVBJKGV2ZW50VHlw
ZS5pbXBsKCkpLCB3a0JhdHRlcnlTdGF0dXMuZ2V0KCkpOwogfQogCiAjZW5kaWYgLy8gRU5BQkxF
KEJBVFRFUllfU1RBVFVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvQmF0dGVyeVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9CYXR0ZXJ5UHJvdmlkZXIuaAppbmRleCBlOWU0Y2Y1ZjAzODA5YzIyMDU4YWU1MmMzYzA2YjMy
NzZlNGQwYzA5Li5jNTQ0MTRlNjg4ZTc1MzNmNjAxYmFlMjJiNGNlYTlkYzVlMmVmZmVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9CYXR0ZXJ5UHJvdmlkZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9CYXR0ZXJ5UHJvdmlkZXIu
aApAQCAtMzgsMTggKzM4LDE4IEBACiBjbGFzcyBCYXR0ZXJ5UHJvdmlkZXIgOiBwdWJsaWMgUmVm
Q291bnRlZDxCYXR0ZXJ5UHJvdmlkZXI+LCBwdWJsaWMgV2ViQ29yZTo6QmF0dGVyeVByb3ZpZGVy
RWZsQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5CYXR0ZXJ5UHJvdmlkZXIoKTsKLSAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxCYXR0ZXJ5UHJvdmlkZXI+IGNyZWF0ZShXS0JhdHRlcnlNYW5h
Z2VyUmVmKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxCYXR0ZXJ5UHJvdmlkZXI+IGNyZWF0ZShX
S0NvbnRleHRSZWYpOwogCiAgICAgdm9pZCBzdGFydFVwZGF0aW5nKCk7CiAgICAgdm9pZCBzdG9w
VXBkYXRpbmcoKTsKIAogcHJpdmF0ZToKLSAgICBCYXR0ZXJ5UHJvdmlkZXIoV0tCYXR0ZXJ5TWFu
YWdlclJlZik7CisgICAgQmF0dGVyeVByb3ZpZGVyKFdLQ29udGV4dFJlZik7CiAKICAgICAvLyBC
YXR0ZXJ5UHJvdmlkZXJFZmxDbGllbnQgaW50ZXJmYWNlLgogICAgIHZpcnR1YWwgdm9pZCBkaWRD
aGFuZ2VCYXR0ZXJ5U3RhdHVzKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVm
UHRyPFdlYkNvcmU6OkJhdHRlcnlTdGF0dXM+KTsKIAotICAgIFdLUmV0YWluUHRyPFdLQmF0dGVy
eU1hbmFnZXJSZWY+IG1fd2tCYXR0ZXJ5TWFuYWdlcjsKKyAgICBXS1JldGFpblB0cjxXS0NvbnRl
eHRSZWY+IG1fd2tDb250ZXh0OwogICAgIFdlYkNvcmU6OkJhdHRlcnlQcm92aWRlckVmbCBtX3By
b3ZpZGVyOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvTmV0d29ya0luZm9Qcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9OZXR3b3JrSW5mb1Byb3ZpZGVyLmNwcAppbmRleCA1NGE2OTIxZGE1NTE3YzNjMTQ0ZjJh
YzU2MGIyZWU5YjFjY2M4YTg3Li43MzU1YTY3OWUzMTU2YzhiYTk2ZTJkMzE1Nzc5YzNlYjhhZDZm
M2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9OZXR3b3Jr
SW5mb1Byb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9O
ZXR3b3JrSW5mb1Byb3ZpZGVyLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKE5F
VFdPUktfSU5GTykKIAorI2luY2x1ZGUgIldLQ29udGV4dC5oIgogI2luY2x1ZGUgIldLTmV0d29y
a0luZm9NYW5hZ2VyLmgiCiAjaW5jbHVkZSA8Tm90SW1wbGVtZW50ZWQuaD4KIApAQCAtNTYsMTUg
KzU3LDE3IEBAIHN0YXRpYyBib29sIGlzTWV0ZXJlZENhbGxiYWNrKFdLTmV0d29ya0luZm9NYW5h
Z2VyUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogICAgIHJldHVybiB0b05ldHdvcmtJbmZv
UHJvdmlkZXIoY2xpZW50SW5mbyktPm1ldGVyZWQoKTsKIH0KIAotUGFzc1JlZlB0cjxOZXR3b3Jr
SW5mb1Byb3ZpZGVyPiBOZXR3b3JrSW5mb1Byb3ZpZGVyOjpjcmVhdGUoV0tOZXR3b3JrSW5mb01h
bmFnZXJSZWYgd2tNYW5hZ2VyKQorUGFzc1JlZlB0cjxOZXR3b3JrSW5mb1Byb3ZpZGVyPiBOZXR3
b3JrSW5mb1Byb3ZpZGVyOjpjcmVhdGUoV0tDb250ZXh0UmVmIHdrQ29udGV4dCkKIHsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IE5ldHdvcmtJbmZvUHJvdmlkZXIod2tNYW5hZ2VyKSk7CisgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBOZXR3b3JrSW5mb1Byb3ZpZGVyKHdrQ29udGV4dCkpOwogfQog
Ci1OZXR3b3JrSW5mb1Byb3ZpZGVyOjpOZXR3b3JrSW5mb1Byb3ZpZGVyKFdLTmV0d29ya0luZm9N
YW5hZ2VyUmVmIHdrTWFuYWdlcikKLSAgICA6IG1fd2tOZXR3b3JrSW5mb01hbmFnZXIod2tNYW5h
Z2VyKQorTmV0d29ya0luZm9Qcm92aWRlcjo6TmV0d29ya0luZm9Qcm92aWRlcihXS0NvbnRleHRS
ZWYgd2tDb250ZXh0KQorICAgIDogbV93a0NvbnRleHQod2tDb250ZXh0KQogewotICAgIEFTU0VS
VCh3a01hbmFnZXIpOworICAgIEFTU0VSVCh3a0NvbnRleHQpOworICAgIFdLTmV0d29ya0luZm9N
YW5hZ2VyUmVmIHdrTmV0d29ya0luZm9NYW5hZ2VyID0gV0tDb250ZXh0R2V0TmV0d29ya0luZm9N
YW5hZ2VyKG1fd2tDb250ZXh0LmdldCgpKTsKKyAgICBBU1NFUlQod2tOZXR3b3JrSW5mb01hbmFn
ZXIpOwogCiAgICAgV0tOZXR3b3JrSW5mb1Byb3ZpZGVyIHdrTmV0d29ya0luZm9Qcm92aWRlciA9
IHsKICAgICAgICAga1dLTmV0d29ya0luZm9Qcm92aWRlckN1cnJlbnRWZXJzaW9uLApAQCAtNzQs
NyArNzcsNyBAQCBOZXR3b3JrSW5mb1Byb3ZpZGVyOjpOZXR3b3JrSW5mb1Byb3ZpZGVyKFdLTmV0
d29ya0luZm9NYW5hZ2VyUmVmIHdrTWFuYWdlcikKICAgICAgICAgZ2V0QmFuZHdpZHRoQ2FsbGJh
Y2ssCiAgICAgICAgIGlzTWV0ZXJlZENhbGxiYWNrCiAgICAgfTsKLSAgICBXS05ldHdvcmtJbmZv
TWFuYWdlclNldFByb3ZpZGVyKG1fd2tOZXR3b3JrSW5mb01hbmFnZXIuZ2V0KCksICZ3a05ldHdv
cmtJbmZvUHJvdmlkZXIpOworICAgIFdLTmV0d29ya0luZm9NYW5hZ2VyU2V0UHJvdmlkZXIod2tO
ZXR3b3JrSW5mb01hbmFnZXIsICZ3a05ldHdvcmtJbmZvUHJvdmlkZXIpOwogfQogCiBOZXR3b3Jr
SW5mb1Byb3ZpZGVyOjp+TmV0d29ya0luZm9Qcm92aWRlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9OZXR3b3JrSW5mb1Byb3ZpZGVyLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9OZXR3b3JrSW5mb1Byb3ZpZGVyLmgKaW5kZXggYjlm
ODZlNmU1YzEyMjQ1N2NlZWU5YmVlNGI2YWE0ZDQwZmI1NjE1OS4uMGE1ZDYwZTRmYTE2MTU4ZjY2
OGUxZjIzYjI3MDBlMmI2MWJmYjMzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvTmV0d29ya0luZm9Qcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL05ldHdvcmtJbmZvUHJvdmlkZXIuaApAQCAtMzcsNyArMzcsNyBAQAog
Y2xhc3MgTmV0d29ya0luZm9Qcm92aWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPE5ldHdvcmtJbmZv
UHJvdmlkZXI+LCBwdWJsaWMgV2ViQ29yZTo6TmV0d29ya0luZm9DbGllbnQgewogcHVibGljOgog
ICAgIHZpcnR1YWwgfk5ldHdvcmtJbmZvUHJvdmlkZXIoKTsKLSAgICBzdGF0aWMgUGFzc1JlZlB0
cjxOZXR3b3JrSW5mb1Byb3ZpZGVyPiBjcmVhdGUoV0tOZXR3b3JrSW5mb01hbmFnZXJSZWYpOwor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5ldHdvcmtJbmZvUHJvdmlkZXI+IGNyZWF0ZShXS0NvbnRl
eHRSZWYpOwogCiAgICAgLy8gTmV0d29ya0luZm9DbGllbnQgaW50ZXJmYWNlLgogICAgIHZpcnR1
YWwgZG91YmxlIGJhbmR3aWR0aCgpIGNvbnN0OwpAQCAtNDcsOSArNDcsOSBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIHN0b3BVcGRhdGluZygpOwogCiBwcml2YXRlOgotICAgIE5ldHdvcmtJ
bmZvUHJvdmlkZXIoV0tOZXR3b3JrSW5mb01hbmFnZXJSZWYpOworICAgIE5ldHdvcmtJbmZvUHJv
dmlkZXIoV0tDb250ZXh0UmVmKTsKIAotICAgIFdLUmV0YWluUHRyPFdLTmV0d29ya0luZm9NYW5h
Z2VyUmVmPiBtX3drTmV0d29ya0luZm9NYW5hZ2VyOworICAgIFdLUmV0YWluUHRyPFdLQ29udGV4
dFJlZj4gbV93a0NvbnRleHQ7CiAgICAgV2ViQ29yZTo6TmV0d29ya0luZm9Qcm92aWRlckVmbCBt
X3Byb3ZpZGVyOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvVmlicmF0aW9uUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvVmlicmF0aW9uUHJvdmlkZXIuY3BwCmluZGV4IDI5ZmI2YTRmYzFjNzBkOTc0ZDdiODIz
NTcxM2Y0ZTdjNmZiMzM4ZWUuLmZjNzE3YTE5Y2MyZjNhZmFjODhlZTYwMDI5MzA5OTgwN2RlZDEy
MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1ZpYnJhdGlv
blByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9WaWJy
YXRpb25Qcm92aWRlci5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoVklCUkFUSU9O
KQogCiAjaW5jbHVkZSAiV0tBUElDYXN0LmgiCisjaW5jbHVkZSAiV0tDb250ZXh0LmgiCiAjaW5j
bHVkZSAiV0tWaWJyYXRpb24uaCIKICNpbmNsdWRlIDxFdmFzLmg+CiAKQEAgLTY1LDE1ICs2Niwx
OCBAQCBzdGF0aWMgdm9pZCBjYW5jZWxWaWJyYXRpb25DYWxsYmFjayhXS1ZpYnJhdGlvblJlZiwg
Y29uc3Qgdm9pZCogY2xpZW50SW5mbykKICAgICB0b1ZpYnJhdGlvblByb3ZpZGVyKGNsaWVudElu
Zm8pLT5jYW5jZWxWaWJyYXRpb24oKTsKIH0KIAotUGFzc1JlZlB0cjxWaWJyYXRpb25Qcm92aWRl
cj4gVmlicmF0aW9uUHJvdmlkZXI6OmNyZWF0ZShXS1ZpYnJhdGlvblJlZiB3a1ZpYnJhdGlvblJl
ZikKK1Bhc3NSZWZQdHI8VmlicmF0aW9uUHJvdmlkZXI+IFZpYnJhdGlvblByb3ZpZGVyOjpjcmVh
dGUoV0tDb250ZXh0UmVmIHdrQ29udGV4dCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFZp
YnJhdGlvblByb3ZpZGVyKHdrVmlicmF0aW9uUmVmKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBWaWJyYXRpb25Qcm92aWRlcih3a0NvbnRleHQpKTsKIH0KIAotVmlicmF0aW9uUHJvdmlkZXI6
OlZpYnJhdGlvblByb3ZpZGVyKFdLVmlicmF0aW9uUmVmIHdrVmlicmF0aW9uUmVmKQotICAgIDog
bV93a1ZpYnJhdGlvblJlZih3a1ZpYnJhdGlvblJlZikKK1ZpYnJhdGlvblByb3ZpZGVyOjpWaWJy
YXRpb25Qcm92aWRlcihXS0NvbnRleHRSZWYgd2tDb250ZXh0KQorICAgIDogbV93a0NvbnRleHQo
d2tDb250ZXh0KQogewotICAgIEFTU0VSVCh3a1ZpYnJhdGlvblJlZik7CisgICAgQVNTRVJUKG1f
d2tDb250ZXh0LmdldCgpKTsKKworICAgIFdLVmlicmF0aW9uUmVmIHdrVmlicmF0aW9uID0gV0tD
b250ZXh0R2V0VmlicmF0aW9uKG1fd2tDb250ZXh0LmdldCgpKTsKKyAgICBBU1NFUlQod2tWaWJy
YXRpb24pOwogCiAgICAgV0tWaWJyYXRpb25Qcm92aWRlciB3a1ZpYnJhdGlvblByb3ZpZGVyID0g
ewogICAgICAgICBrV0tWaWJyYXRpb25Qcm92aWRlckN1cnJlbnRWZXJzaW9uLApAQCAtODEsNyAr
ODUsNyBAQCBWaWJyYXRpb25Qcm92aWRlcjo6VmlicmF0aW9uUHJvdmlkZXIoV0tWaWJyYXRpb25S
ZWYgd2tWaWJyYXRpb25SZWYpCiAgICAgICAgIHZpYnJhdGVDYWxsYmFjaywKICAgICAgICAgY2Fu
Y2VsVmlicmF0aW9uQ2FsbGJhY2sKICAgICB9OwotICAgIFdLVmlicmF0aW9uU2V0UHJvdmlkZXIo
bV93a1ZpYnJhdGlvblJlZi5nZXQoKSwgJndrVmlicmF0aW9uUHJvdmlkZXIpOworICAgIFdLVmli
cmF0aW9uU2V0UHJvdmlkZXIod2tWaWJyYXRpb24sICZ3a1ZpYnJhdGlvblByb3ZpZGVyKTsKIH0K
IAogVmlicmF0aW9uUHJvdmlkZXI6On5WaWJyYXRpb25Qcm92aWRlcigpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9WaWJyYXRpb25Qcm92aWRlci5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvVmlicmF0aW9uUHJvdmlkZXIuaAppbmRleCBj
MjY0M2I2Mzg2NjI3YTM2MzU5ZDNmOWJmMjI2MzMzMWVmNzFiOTA0Li42YjJkYjRlZWNhZDAzYjk2
NDMwMzQ4NGIyMTYzMThiNTBjNmE2N2E4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9WaWJyYXRpb25Qcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL1ZpYnJhdGlvblByb3ZpZGVyLmgKQEAgLTM3LDcgKzM3LDcgQEAgdHlw
ZWRlZiBzdHJ1Y3QgX0V3a19WaWJyYXRpb25fQ2xpZW50IEV3a19WaWJyYXRpb25fQ2xpZW50Owog
CiBjbGFzcyBWaWJyYXRpb25Qcm92aWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFZpYnJhdGlvblBy
b3ZpZGVyPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8VmlicmF0aW9uUHJvdmlk
ZXI+IGNyZWF0ZShXS1ZpYnJhdGlvblJlZik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8VmlicmF0
aW9uUHJvdmlkZXI+IGNyZWF0ZShXS0NvbnRleHRSZWYpOwogICAgIHZpcnR1YWwgflZpYnJhdGlv
blByb3ZpZGVyKCk7CiAKICAgICB2b2lkIHZpYnJhdGUodWludDY0X3QgdmlicmF0aW9uVGltZSk7
CkBAIC00NSw5ICs0NSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFZpYnJhdGlvbkNsaWVudENh
bGxiYWNrcyhFd2tfVmlicmF0aW9uX0NsaWVudF9WaWJyYXRlX0NiLCBFd2tfVmlicmF0aW9uX0Ns
aWVudF9WaWJyYXRpb25fQ2FuY2VsX0NiLCB2b2lkKik7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGlj
aXQgVmlicmF0aW9uUHJvdmlkZXIoV0tWaWJyYXRpb25SZWYpOworICAgIGV4cGxpY2l0IFZpYnJh
dGlvblByb3ZpZGVyKFdLQ29udGV4dFJlZik7CiAKLSAgICBXS1JldGFpblB0cjxXS1ZpYnJhdGlv
blJlZj4gbV93a1ZpYnJhdGlvblJlZjsKKyAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IG1f
d2tDb250ZXh0OwogICAgIE93blB0cjxFd2tfVmlicmF0aW9uX0NsaWVudD4gbV92aWJyYXRpb25D
bGllbnQ7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfY29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
Y29udGV4dC5jcHAKaW5kZXggYjQ0ODAwYTAzNWZhMzA2ZDQyYmVkMjkwYjUwODFiNmQxODljNmRh
Ny4uNzY3NzRjNzJhM2I1NTg4ZmIyM2FjYzgwNzlmMzJhNzUxMTFjY2YxMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcApAQCAtODksMTgg
Kzg5LDE1IEBAIHN0cnVjdCBfRXdrX0NvbnRleHQgewogICAgICAgICBld2tfaW5pdCgpOwogCiAj
aWYgRU5BQkxFKEJBVFRFUllfU1RBVFVTKQotICAgICAgICBXS0JhdHRlcnlNYW5hZ2VyUmVmIHdr
QmF0dGVyeU1hbmFnZXIgPSBXS0NvbnRleHRHZXRCYXR0ZXJ5TWFuYWdlcihjb250ZXh0UmVmLmdl
dCgpKTsKLSAgICAgICAgYmF0dGVyeVByb3ZpZGVyID0gQmF0dGVyeVByb3ZpZGVyOjpjcmVhdGUo
d2tCYXR0ZXJ5TWFuYWdlcik7CisgICAgICAgIGJhdHRlcnlQcm92aWRlciA9IEJhdHRlcnlQcm92
aWRlcjo6Y3JlYXRlKGNvbnRleHQuZ2V0KCkpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoTkVUV09S
S19JTkZPKQotICAgICAgICBXS05ldHdvcmtJbmZvTWFuYWdlclJlZiB3a05ldHdvcmtJbmZvTWFu
YWdlclJlZiA9IFdLQ29udGV4dEdldE5ldHdvcmtJbmZvTWFuYWdlcihjb250ZXh0UmVmLmdldCgp
KTsKLSAgICAgICAgbmV0d29ya0luZm9Qcm92aWRlciA9IE5ldHdvcmtJbmZvUHJvdmlkZXI6OmNy
ZWF0ZSh3a05ldHdvcmtJbmZvTWFuYWdlclJlZik7CisgICAgICAgIG5ldHdvcmtJbmZvUHJvdmlk
ZXIgPSBOZXR3b3JrSW5mb1Byb3ZpZGVyOjpjcmVhdGUoY29udGV4dC5nZXQoKSk7CiAjZW5kaWYK
IAogI2lmIEVOQUJMRShWSUJSQVRJT04pCi0gICAgICAgIFdLVmlicmF0aW9uUmVmIHdrVmlicmF0
aW9uUmVmID0gV0tDb250ZXh0R2V0VmlicmF0aW9uKGNvbnRleHRSZWYuZ2V0KCkpOwotICAgICAg
ICB2aWJyYXRpb25Qcm92aWRlciA9IFZpYnJhdGlvblByb3ZpZGVyOjpjcmVhdGUod2tWaWJyYXRp
b25SZWYpOworICAgICAgICB2aWJyYXRpb25Qcm92aWRlciA9IFZpYnJhdGlvblByb3ZpZGVyOjpj
cmVhdGUoY29udGV4dC5nZXQoKSk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRU1PUllfU0FNUExF
UikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166209</attachid>
            <date>2012-09-28 04:50:46 -0700</date>
            <delta_ts>2012-09-28 08:59:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97839-20120928205002.patch</filename>
            <type>text/plain</type>
            <size>13881</size>
            <attacher name="Byungwoo Lee">bw80.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5ODY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWU5ZWRkY2M3MDk4YjQ2
OGQxZmZjNDgyOGZiNDUxZDMyM2VhZDNiNC4uMzY0ZDI3ZjA0YWQxNWZiZGRhNzM1NzcyMTMyZGU0
N2FlMjkzOTlmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUwIEBACiAyMDEyLTA5LTI4ICBCeXVu
Z3dvbyBMZWUgIDxidzgwLmxlZUBzYW1zdW5nLmNvbT4KIAorICAgICAgICBbRUZMXVtXSzJdIHtW
aWJyYXRpb24sQmF0dGVyeSxOZXR3b3JrSW5mb31Qcm92aWRlciBzaG91bGQgY29udGFpbiBXS0Nv
bnRleHRSZWYgaW5zdGVhZCBvZiBwcm94eS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk3ODM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVmlicmF0aW9uUHJvdmlkZXIgaGFzIFdLUmV0YWluUHRyPFdLVmli
cmF0aW9uUmVmPiBtX3drVmlicmF0aW9uUmVmCisgICAgICAgIHdoaWNoIGhhcyByZWZlcmVuY2Ug
Zm9yIG9iamVjdCBXZWJWaWJyYXRpb25Qcm94eS4KKyAgICAgICAgVGhlIFdlYlZpYnJhdGlvblBy
b3h5IGluc3RhbmNlIGlzIGEgbWVtYmVyIG9mIFdlYkNvbnRleHQgd2hvIGhhcyBpdAorICAgICAg
ICBhcyBSZWZQdHI8V2ViVmlicmF0aW9uUHJveHk+LgorCisgICAgICAgIEEgbWVtYmVyIG9mIG9u
ZSBjbGFzcyBpcyBzaGFyZWQgd2l0aCBhbm90aGVyIGNsYXNzLCBidXQgdGhlcmUgaXMgbm8KKyAg
ICAgICAgcmVsYXRpb24gYmV0d2VlbiB0aGUgdHdvIGNsYXNzZXMuCisKKyAgICAgICAgVGhpcyBj
YW4gbWFrZSBhIHByb2JsZW0gdGhhdCwgd2hlbiBXZWJDb250ZXh0IGlzIGRlbGV0ZWQgYmVmb3Jl
IHRoZQorICAgICAgICBWaWJyYXRpb25Qcm92aWRlciwgV2ViVmlicmF0aW9uUHJveHkgd2lsbCBi
ZSBhbGl2ZSB3aXRob3V0IFdlYkNvbnRleHQsCisgICAgICAgIGJlY2F1c2UgVmlicmF0aW9uUHJv
dmlkZXIgYWxzbyBoYXMgdGhlIHJlZmVyZW5jZSBmb3IgV2ViVmlicmF0aW9uUHJveHkuCisKKyAg
ICAgICAgVGhpcyBpcyBhIHByb2JsZW0gYmVjYXVzZSBXZWJWaWJyYXRpb25Qcm94eSBzaG91bGQg
YmUgYSBtZW1iZXIgb2YKKyAgICAgICAgV2ViQ29udGV4dC4KKworICAgICAgICBUbyBwcmV2ZW50
IHRoaXMsIGNoYW5nZWQgdGhlIFZpYnJhdGlvblByb3ZpZGVyIHRvIGhhdmUKKyAgICAgICAgV0tS
ZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBpbnN0ZWFkIG9mIFdLUmV0YWluUHRyPFdLVmlicmF0aW9u
UmVmPi4KKyAgICAgICAgU2FtZSBmb3IgQmF0dGVyeVByb3ZpZGVyIGFuZCBOZXR3b3JrSW5mb1By
b3ZpZGVyLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvQmF0dGVyeVByb3ZpZGVyLmNw
cDoKKyAgICAgICAgKEJhdHRlcnlQcm92aWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKEJhdHRlcnlQ
cm92aWRlcjo6QmF0dGVyeVByb3ZpZGVyKToKKyAgICAgICAgKEJhdHRlcnlQcm92aWRlcjo6ZGlk
Q2hhbmdlQmF0dGVyeVN0YXR1cyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvQmF0dGVy
eVByb3ZpZGVyLmg6CisgICAgICAgIChCYXR0ZXJ5UHJvdmlkZXIpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZWZsL05ldHdvcmtJbmZvUHJvdmlkZXIuY3BwOgorICAgICAgICAoTmV0d29ya0lu
Zm9Qcm92aWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKE5ldHdvcmtJbmZvUHJvdmlkZXI6Ok5ldHdv
cmtJbmZvUHJvdmlkZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL05ldHdvcmtJbmZv
UHJvdmlkZXIuaDoKKyAgICAgICAgKE5ldHdvcmtJbmZvUHJvdmlkZXIpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZWZsL1ZpYnJhdGlvblByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFZpYnJhdGlv
blByb3ZpZGVyOjpjcmVhdGUpOgorICAgICAgICAoVmlicmF0aW9uUHJvdmlkZXI6OlZpYnJhdGlv
blByb3ZpZGVyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9WaWJyYXRpb25Qcm92aWRl
ci5oOgorICAgICAgICAoVmlicmF0aW9uUHJvdmlkZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZWZsL2V3a19jb250ZXh0LmNwcDoKKyAgICAgICAgKF9Fd2tfQ29udGV4dDo6X0V3a19Db250
ZXh0KToKKworMjAxMi0wOS0yOCAgQnl1bmd3b28gTGVlICA8Ync4MC5sZWVAc2Ftc3VuZy5jb20+
CisKICAgICAgICAgW0VGTF1bV0syXSBDbGVhciBwcm92aWRlciBvbiBkZXN0cnVjdG9yIG9mIHtW
aWJyYXRpb24sQmF0dGVyeSxOZXR3b3JrSW5mb31Qcm92aWRlci4KICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NTI4CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0JhdHRlcnlQcm92aWRlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9CYXR0ZXJ5UHJvdmlkZXIuY3BwCmluZGV4IDliYzZi
ZjM1NzUyNDY3ZTA4ZTlkOTE4MDhkNmFhODBmMDNlZjk4ZjAuLjgxMDcxMTU5N2M1NmVhYWRkYmFk
YjNlMWEyMDBmYmRkNDU5YjZkY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL0JhdHRlcnlQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvQmF0dGVyeVByb3ZpZGVyLmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1
ZGUgIldLQVBJQ2FzdC5oIgogI2luY2x1ZGUgIldLQmF0dGVyeU1hbmFnZXIuaCIKICNpbmNsdWRl
ICJXS0JhdHRlcnlTdGF0dXMuaCIKKyNpbmNsdWRlICJXS0NvbnRleHQuaCIKIAogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwpAQCAtNTMsMTggKzU0LDI1
IEBAIHN0YXRpYyB2b2lkIHN0b3BVcGRhdGluZ0NhbGxiYWNrKFdLQmF0dGVyeU1hbmFnZXJSZWYs
IGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiBCYXR0ZXJ5UHJvdmlkZXI6On5CYXR0ZXJ5UHJvdmlk
ZXIoKQogewogICAgIG1fcHJvdmlkZXIuc3RvcFVwZGF0aW5nKCk7Ci0gICAgV0tCYXR0ZXJ5TWFu
YWdlclNldFByb3ZpZGVyKG1fd2tCYXR0ZXJ5TWFuYWdlci5nZXQoKSwgMCk7CisKKyAgICBXS0Jh
dHRlcnlNYW5hZ2VyUmVmIHdrQmF0dGVyeU1hbmFnZXIgPSBXS0NvbnRleHRHZXRCYXR0ZXJ5TWFu
YWdlcihtX3drQ29udGV4dC5nZXQoKSk7CisgICAgQVNTRVJUKHdrQmF0dGVyeU1hbmFnZXIpOwor
CisgICAgV0tCYXR0ZXJ5TWFuYWdlclNldFByb3ZpZGVyKHdrQmF0dGVyeU1hbmFnZXIsIDApOwog
fQogCi1QYXNzUmVmUHRyPEJhdHRlcnlQcm92aWRlcj4gQmF0dGVyeVByb3ZpZGVyOjpjcmVhdGUo
V0tCYXR0ZXJ5TWFuYWdlclJlZiB3a0JhdHRlcnlNYW5hZ2VyKQorUGFzc1JlZlB0cjxCYXR0ZXJ5
UHJvdmlkZXI+IEJhdHRlcnlQcm92aWRlcjo6Y3JlYXRlKFdLQ29udGV4dFJlZiB3a0NvbnRleHQp
CiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBCYXR0ZXJ5UHJvdmlkZXIod2tCYXR0ZXJ5TWFu
YWdlcikpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgQmF0dGVyeVByb3ZpZGVyKHdrQ29udGV4
dCkpOwogfQogCi1CYXR0ZXJ5UHJvdmlkZXI6OkJhdHRlcnlQcm92aWRlcihXS0JhdHRlcnlNYW5h
Z2VyUmVmIHdrQmF0dGVyeU1hbmFnZXIpCi0gICAgOiBtX3drQmF0dGVyeU1hbmFnZXIod2tCYXR0
ZXJ5TWFuYWdlcikKK0JhdHRlcnlQcm92aWRlcjo6QmF0dGVyeVByb3ZpZGVyKFdLQ29udGV4dFJl
ZiB3a0NvbnRleHQpCisgICAgOiBtX3drQ29udGV4dCh3a0NvbnRleHQpCiAgICAgLCBtX3Byb3Zp
ZGVyKHRoaXMpCiB7CisgICAgQVNTRVJUKG1fd2tDb250ZXh0KTsKKworICAgIFdLQmF0dGVyeU1h
bmFnZXJSZWYgd2tCYXR0ZXJ5TWFuYWdlciA9IFdLQ29udGV4dEdldEJhdHRlcnlNYW5hZ2VyKG1f
d2tDb250ZXh0LmdldCgpKTsKICAgICBBU1NFUlQod2tCYXR0ZXJ5TWFuYWdlcik7CiAKICAgICBX
S0JhdHRlcnlQcm92aWRlciB3a0JhdHRlcnlQcm92aWRlciA9IHsKQEAgLTczLDcgKzgxLDcgQEAg
QmF0dGVyeVByb3ZpZGVyOjpCYXR0ZXJ5UHJvdmlkZXIoV0tCYXR0ZXJ5TWFuYWdlclJlZiB3a0Jh
dHRlcnlNYW5hZ2VyKQogICAgICAgICBzdGFydFVwZGF0aW5nQ2FsbGJhY2ssCiAgICAgICAgIHN0
b3BVcGRhdGluZ0NhbGxiYWNrCiAgICAgfTsKLSAgICBXS0JhdHRlcnlNYW5hZ2VyU2V0UHJvdmlk
ZXIobV93a0JhdHRlcnlNYW5hZ2VyLmdldCgpLCAmd2tCYXR0ZXJ5UHJvdmlkZXIpOworICAgIFdL
QmF0dGVyeU1hbmFnZXJTZXRQcm92aWRlcih3a0JhdHRlcnlNYW5hZ2VyLCAmd2tCYXR0ZXJ5UHJv
dmlkZXIpOwogfQogCiB2b2lkIEJhdHRlcnlQcm92aWRlcjo6c3RhcnRVcGRhdGluZygpCkBAIC04
OCw4ICs5NiwxMSBAQCB2b2lkIEJhdHRlcnlQcm92aWRlcjo6c3RvcFVwZGF0aW5nKCkKIAogdm9p
ZCBCYXR0ZXJ5UHJvdmlkZXI6OmRpZENoYW5nZUJhdHRlcnlTdGF0dXMoY29uc3QgQXRvbWljU3Ry
aW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8QmF0dGVyeVN0YXR1cz4gc3RhdHVzKQogeworICAg
IFdLQmF0dGVyeU1hbmFnZXJSZWYgd2tCYXR0ZXJ5TWFuYWdlciA9IFdLQ29udGV4dEdldEJhdHRl
cnlNYW5hZ2VyKG1fd2tDb250ZXh0LmdldCgpKTsKKyAgICBBU1NFUlQod2tCYXR0ZXJ5TWFuYWdl
cik7CisKICAgICBXS1JldGFpblB0cjxXS0JhdHRlcnlTdGF0dXNSZWY+IHdrQmF0dGVyeVN0YXR1
cyhBZG9wdFdLLCBXS0JhdHRlcnlTdGF0dXNDcmVhdGUoc3RhdHVzLT5jaGFyZ2luZygpLCBzdGF0
dXMtPmNoYXJnaW5nVGltZSgpLCBzdGF0dXMtPmRpc2NoYXJnaW5nVGltZSgpLCBzdGF0dXMtPmxl
dmVsKCkpKTsKLSAgICBXS0JhdHRlcnlNYW5hZ2VyUHJvdmlkZXJEaWRDaGFuZ2VCYXR0ZXJ5U3Rh
dHVzKG1fd2tCYXR0ZXJ5TWFuYWdlci5nZXQoKSwgdG9BUEkoZXZlbnRUeXBlLmltcGwoKSksIHdr
QmF0dGVyeVN0YXR1cy5nZXQoKSk7CisgICAgV0tCYXR0ZXJ5TWFuYWdlclByb3ZpZGVyRGlkQ2hh
bmdlQmF0dGVyeVN0YXR1cyh3a0JhdHRlcnlNYW5hZ2VyLCB0b0FQSShldmVudFR5cGUuaW1wbCgp
KSwgd2tCYXR0ZXJ5U3RhdHVzLmdldCgpKTsKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShCQVRURVJZ
X1NUQVRVUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0Jh
dHRlcnlQcm92aWRlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvQmF0dGVy
eVByb3ZpZGVyLmgKaW5kZXggZTllNGNmNWYwMzgwOWMyMjA1OGFlNTJjM2MwNmIzMjc2ZTRkMGMw
OS4uYzU0NDE0ZTY4OGU3NTMzZjYwMWJhZTIyYjRjZWE5ZGM1ZTJlZmZlZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvQmF0dGVyeVByb3ZpZGVyLmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvQmF0dGVyeVByb3ZpZGVyLmgKQEAgLTM4
LDE4ICszOCwxOCBAQAogY2xhc3MgQmF0dGVyeVByb3ZpZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8
QmF0dGVyeVByb3ZpZGVyPiwgcHVibGljIFdlYkNvcmU6OkJhdHRlcnlQcm92aWRlckVmbENsaWVu
dCB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+QmF0dGVyeVByb3ZpZGVyKCk7Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8QmF0dGVyeVByb3ZpZGVyPiBjcmVhdGUoV0tCYXR0ZXJ5TWFuYWdlclJlZik7
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8QmF0dGVyeVByb3ZpZGVyPiBjcmVhdGUoV0tDb250ZXh0
UmVmKTsKIAogICAgIHZvaWQgc3RhcnRVcGRhdGluZygpOwogICAgIHZvaWQgc3RvcFVwZGF0aW5n
KCk7CiAKIHByaXZhdGU6Ci0gICAgQmF0dGVyeVByb3ZpZGVyKFdLQmF0dGVyeU1hbmFnZXJSZWYp
OworICAgIEJhdHRlcnlQcm92aWRlcihXS0NvbnRleHRSZWYpOwogCiAgICAgLy8gQmF0dGVyeVBy
b3ZpZGVyRWZsQ2xpZW50IGludGVyZmFjZS4KICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQmF0
dGVyeVN0YXR1cyhjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxXZWJD
b3JlOjpCYXR0ZXJ5U3RhdHVzPik7CiAKLSAgICBXS1JldGFpblB0cjxXS0JhdHRlcnlNYW5hZ2Vy
UmVmPiBtX3drQmF0dGVyeU1hbmFnZXI7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBt
X3drQ29udGV4dDsKICAgICBXZWJDb3JlOjpCYXR0ZXJ5UHJvdmlkZXJFZmwgbV9wcm92aWRlcjsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL05ldHdv
cmtJbmZvUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvTmV0
d29ya0luZm9Qcm92aWRlci5jcHAKaW5kZXggNDFhZDlhMTkyZThjMThlZTc0NGE3MjhjNmQzYWJk
NTY5ZjgwYWQwYy4uMTQzMWM4M2E3YjkyZjZkMTk4ODc0YjNhMzBiYmM0Y2M3M2IwNDY5MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvTmV0d29ya0luZm9Qcm92
aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvTmV0d29ya0lu
Zm9Qcm92aWRlci5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShORVRXT1JLX0lO
Rk8pCiAKKyNpbmNsdWRlICJXS0NvbnRleHQuaCIKICNpbmNsdWRlICJXS05ldHdvcmtJbmZvTWFu
YWdlci5oIgogI2luY2x1ZGUgPE5vdEltcGxlbWVudGVkLmg+CiAKQEAgLTU2LDE1ICs1NywxOCBA
QCBzdGF0aWMgYm9vbCBpc01ldGVyZWRDYWxsYmFjayhXS05ldHdvcmtJbmZvTWFuYWdlclJlZiwg
Y29uc3Qgdm9pZCogY2xpZW50SW5mbykKICAgICByZXR1cm4gdG9OZXR3b3JrSW5mb1Byb3ZpZGVy
KGNsaWVudEluZm8pLT5tZXRlcmVkKCk7CiB9CiAKLVBhc3NSZWZQdHI8TmV0d29ya0luZm9Qcm92
aWRlcj4gTmV0d29ya0luZm9Qcm92aWRlcjo6Y3JlYXRlKFdLTmV0d29ya0luZm9NYW5hZ2VyUmVm
IHdrTWFuYWdlcikKK1Bhc3NSZWZQdHI8TmV0d29ya0luZm9Qcm92aWRlcj4gTmV0d29ya0luZm9Q
cm92aWRlcjo6Y3JlYXRlKFdLQ29udGV4dFJlZiB3a0NvbnRleHQpCiB7Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBOZXR3b3JrSW5mb1Byb3ZpZGVyKHdrTWFuYWdlcikpOworICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgTmV0d29ya0luZm9Qcm92aWRlcih3a0NvbnRleHQpKTsKIH0KIAotTmV0d29y
a0luZm9Qcm92aWRlcjo6TmV0d29ya0luZm9Qcm92aWRlcihXS05ldHdvcmtJbmZvTWFuYWdlclJl
ZiB3a01hbmFnZXIpCi0gICAgOiBtX3drTmV0d29ya0luZm9NYW5hZ2VyKHdrTWFuYWdlcikKK05l
dHdvcmtJbmZvUHJvdmlkZXI6Ok5ldHdvcmtJbmZvUHJvdmlkZXIoV0tDb250ZXh0UmVmIHdrQ29u
dGV4dCkKKyAgICA6IG1fd2tDb250ZXh0KHdrQ29udGV4dCkKIHsKLSAgICBBU1NFUlQod2tNYW5h
Z2VyKTsKKyAgICBBU1NFUlQod2tDb250ZXh0KTsKKworICAgIFdLTmV0d29ya0luZm9NYW5hZ2Vy
UmVmIHdrTmV0d29ya0luZm9NYW5hZ2VyID0gV0tDb250ZXh0R2V0TmV0d29ya0luZm9NYW5hZ2Vy
KG1fd2tDb250ZXh0LmdldCgpKTsKKyAgICBBU1NFUlQod2tOZXR3b3JrSW5mb01hbmFnZXIpOwog
CiAgICAgV0tOZXR3b3JrSW5mb1Byb3ZpZGVyIHdrTmV0d29ya0luZm9Qcm92aWRlciA9IHsKICAg
ICAgICAga1dLTmV0d29ya0luZm9Qcm92aWRlckN1cnJlbnRWZXJzaW9uLApAQCAtNzQsMTIgKzc4
LDE1IEBAIE5ldHdvcmtJbmZvUHJvdmlkZXI6Ok5ldHdvcmtJbmZvUHJvdmlkZXIoV0tOZXR3b3Jr
SW5mb01hbmFnZXJSZWYgd2tNYW5hZ2VyKQogICAgICAgICBnZXRCYW5kd2lkdGhDYWxsYmFjaywK
ICAgICAgICAgaXNNZXRlcmVkQ2FsbGJhY2sKICAgICB9OwotICAgIFdLTmV0d29ya0luZm9NYW5h
Z2VyU2V0UHJvdmlkZXIobV93a05ldHdvcmtJbmZvTWFuYWdlci5nZXQoKSwgJndrTmV0d29ya0lu
Zm9Qcm92aWRlcik7CisgICAgV0tOZXR3b3JrSW5mb01hbmFnZXJTZXRQcm92aWRlcih3a05ldHdv
cmtJbmZvTWFuYWdlciwgJndrTmV0d29ya0luZm9Qcm92aWRlcik7CiB9CiAKIE5ldHdvcmtJbmZv
UHJvdmlkZXI6On5OZXR3b3JrSW5mb1Byb3ZpZGVyKCkKIHsKLSAgICBXS05ldHdvcmtJbmZvTWFu
YWdlclNldFByb3ZpZGVyKG1fd2tOZXR3b3JrSW5mb01hbmFnZXIuZ2V0KCksIDApOworICAgIFdL
TmV0d29ya0luZm9NYW5hZ2VyUmVmIHdrTmV0d29ya0luZm9NYW5hZ2VyID0gV0tDb250ZXh0R2V0
TmV0d29ya0luZm9NYW5hZ2VyKG1fd2tDb250ZXh0LmdldCgpKTsKKyAgICBBU1NFUlQod2tOZXR3
b3JrSW5mb01hbmFnZXIpOworCisgICAgV0tOZXR3b3JrSW5mb01hbmFnZXJTZXRQcm92aWRlcih3
a05ldHdvcmtJbmZvTWFuYWdlciwgMCk7CiB9CiAKIGRvdWJsZSBOZXR3b3JrSW5mb1Byb3ZpZGVy
OjpiYW5kd2lkdGgoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvTmV0d29ya0luZm9Qcm92aWRlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvTmV0d29ya0luZm9Qcm92aWRlci5oCmluZGV4IGI5Zjg2ZTZlNWMxMjI0NTdjZWVl
OWJlZTRiNmFhNGQ0MGZiNTYxNTkuLjBhNWQ2MGU0ZmExNjE1OGY2NjhlMWYyM2IyNzAwZTJiNjFi
ZmIzMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL05ldHdv
cmtJbmZvUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9O
ZXR3b3JrSW5mb1Byb3ZpZGVyLmgKQEAgLTM3LDcgKzM3LDcgQEAKIGNsYXNzIE5ldHdvcmtJbmZv
UHJvdmlkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxOZXR3b3JrSW5mb1Byb3ZpZGVyPiwgcHVibGlj
IFdlYkNvcmU6Ok5ldHdvcmtJbmZvQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5OZXR3
b3JrSW5mb1Byb3ZpZGVyKCk7Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TmV0d29ya0luZm9Qcm92
aWRlcj4gY3JlYXRlKFdLTmV0d29ya0luZm9NYW5hZ2VyUmVmKTsKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxOZXR3b3JrSW5mb1Byb3ZpZGVyPiBjcmVhdGUoV0tDb250ZXh0UmVmKTsKIAogICAgIC8v
IE5ldHdvcmtJbmZvQ2xpZW50IGludGVyZmFjZS4KICAgICB2aXJ0dWFsIGRvdWJsZSBiYW5kd2lk
dGgoKSBjb25zdDsKQEAgLTQ3LDkgKzQ3LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBz
dG9wVXBkYXRpbmcoKTsKIAogcHJpdmF0ZToKLSAgICBOZXR3b3JrSW5mb1Byb3ZpZGVyKFdLTmV0
d29ya0luZm9NYW5hZ2VyUmVmKTsKKyAgICBOZXR3b3JrSW5mb1Byb3ZpZGVyKFdLQ29udGV4dFJl
Zik7CiAKLSAgICBXS1JldGFpblB0cjxXS05ldHdvcmtJbmZvTWFuYWdlclJlZj4gbV93a05ldHdv
cmtJbmZvTWFuYWdlcjsKKyAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IG1fd2tDb250ZXh0
OwogICAgIFdlYkNvcmU6Ok5ldHdvcmtJbmZvUHJvdmlkZXJFZmwgbV9wcm92aWRlcjsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1ZpYnJhdGlvblBy
b3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1ZpYnJhdGlvblBy
b3ZpZGVyLmNwcAppbmRleCBlNzEwNjRkZWI2NWVjODU1NjlhMTgyNjRhOWI3ZTE4OWU3MzRmMTY2
Li4xM2Q0ZGU2ZDY2NTc4ZGFmNmMyMWZhNWNiN2YzMzNjODhkMTMzYWY1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9WaWJyYXRpb25Qcm92aWRlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvVmlicmF0aW9uUHJvdmlkZXIuY3Bw
CkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgRU5BQkxFKFZJQlJBVElPTikKIAogI2luY2x1ZGUgIldL
QVBJQ2FzdC5oIgorI2luY2x1ZGUgIldLQ29udGV4dC5oIgogI2luY2x1ZGUgIldLVmlicmF0aW9u
LmgiCiAjaW5jbHVkZSA8RXZhcy5oPgogCkBAIC02NSwxNSArNjYsMTggQEAgc3RhdGljIHZvaWQg
Y2FuY2VsVmlicmF0aW9uQ2FsbGJhY2soV0tWaWJyYXRpb25SZWYsIGNvbnN0IHZvaWQqIGNsaWVu
dEluZm8pCiAgICAgdG9WaWJyYXRpb25Qcm92aWRlcihjbGllbnRJbmZvKS0+Y2FuY2VsVmlicmF0
aW9uKCk7CiB9CiAKLVBhc3NSZWZQdHI8VmlicmF0aW9uUHJvdmlkZXI+IFZpYnJhdGlvblByb3Zp
ZGVyOjpjcmVhdGUoV0tWaWJyYXRpb25SZWYgd2tWaWJyYXRpb25SZWYpCitQYXNzUmVmUHRyPFZp
YnJhdGlvblByb3ZpZGVyPiBWaWJyYXRpb25Qcm92aWRlcjo6Y3JlYXRlKFdLQ29udGV4dFJlZiB3
a0NvbnRleHQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBWaWJyYXRpb25Qcm92aWRlcih3
a1ZpYnJhdGlvblJlZikpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgVmlicmF0aW9uUHJvdmlk
ZXIod2tDb250ZXh0KSk7CiB9CiAKLVZpYnJhdGlvblByb3ZpZGVyOjpWaWJyYXRpb25Qcm92aWRl
cihXS1ZpYnJhdGlvblJlZiB3a1ZpYnJhdGlvblJlZikKLSAgICA6IG1fd2tWaWJyYXRpb25SZWYo
d2tWaWJyYXRpb25SZWYpCitWaWJyYXRpb25Qcm92aWRlcjo6VmlicmF0aW9uUHJvdmlkZXIoV0tD
b250ZXh0UmVmIHdrQ29udGV4dCkKKyAgICA6IG1fd2tDb250ZXh0KHdrQ29udGV4dCkKIHsKLSAg
ICBBU1NFUlQod2tWaWJyYXRpb25SZWYpOworICAgIEFTU0VSVChtX3drQ29udGV4dC5nZXQoKSk7
CisKKyAgICBXS1ZpYnJhdGlvblJlZiB3a1ZpYnJhdGlvbiA9IFdLQ29udGV4dEdldFZpYnJhdGlv
bihtX3drQ29udGV4dC5nZXQoKSk7CisgICAgQVNTRVJUKHdrVmlicmF0aW9uKTsKIAogICAgIFdL
VmlicmF0aW9uUHJvdmlkZXIgd2tWaWJyYXRpb25Qcm92aWRlciA9IHsKICAgICAgICAga1dLVmli
cmF0aW9uUHJvdmlkZXJDdXJyZW50VmVyc2lvbiwKQEAgLTgxLDEyICs4NSwxNSBAQCBWaWJyYXRp
b25Qcm92aWRlcjo6VmlicmF0aW9uUHJvdmlkZXIoV0tWaWJyYXRpb25SZWYgd2tWaWJyYXRpb25S
ZWYpCiAgICAgICAgIHZpYnJhdGVDYWxsYmFjaywKICAgICAgICAgY2FuY2VsVmlicmF0aW9uQ2Fs
bGJhY2sKICAgICB9OwotICAgIFdLVmlicmF0aW9uU2V0UHJvdmlkZXIobV93a1ZpYnJhdGlvblJl
Zi5nZXQoKSwgJndrVmlicmF0aW9uUHJvdmlkZXIpOworICAgIFdLVmlicmF0aW9uU2V0UHJvdmlk
ZXIod2tWaWJyYXRpb24sICZ3a1ZpYnJhdGlvblByb3ZpZGVyKTsKIH0KIAogVmlicmF0aW9uUHJv
dmlkZXI6On5WaWJyYXRpb25Qcm92aWRlcigpCiB7Ci0gICAgV0tWaWJyYXRpb25TZXRQcm92aWRl
cihtX3drVmlicmF0aW9uUmVmLmdldCgpLCAwKTsKKyAgICBXS1ZpYnJhdGlvblJlZiB3a1ZpYnJh
dGlvbiA9IFdLQ29udGV4dEdldFZpYnJhdGlvbihtX3drQ29udGV4dC5nZXQoKSk7CisgICAgQVNT
RVJUKHdrVmlicmF0aW9uKTsKKworICAgIFdLVmlicmF0aW9uU2V0UHJvdmlkZXIod2tWaWJyYXRp
b24sIDApOwogfQogCiB2b2lkIFZpYnJhdGlvblByb3ZpZGVyOjp2aWJyYXRlKHVpbnQ2NF90IHZp
YnJhdGlvblRpbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9WaWJyYXRpb25Qcm92aWRlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
VmlicmF0aW9uUHJvdmlkZXIuaAppbmRleCBjMjY0M2I2Mzg2NjI3YTM2MzU5ZDNmOWJmMjI2MzMz
MWVmNzFiOTA0Li42YjJkYjRlZWNhZDAzYjk2NDMwMzQ4NGIyMTYzMThiNTBjNmE2N2E4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9WaWJyYXRpb25Qcm92aWRl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1ZpYnJhdGlvblByb3Zp
ZGVyLmgKQEAgLTM3LDcgKzM3LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX0V3a19WaWJyYXRpb25fQ2xp
ZW50IEV3a19WaWJyYXRpb25fQ2xpZW50OwogCiBjbGFzcyBWaWJyYXRpb25Qcm92aWRlciA6IHB1
YmxpYyBSZWZDb3VudGVkPFZpYnJhdGlvblByb3ZpZGVyPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8VmlicmF0aW9uUHJvdmlkZXI+IGNyZWF0ZShXS1ZpYnJhdGlvblJlZik7Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8VmlicmF0aW9uUHJvdmlkZXI+IGNyZWF0ZShXS0NvbnRleHRS
ZWYpOwogICAgIHZpcnR1YWwgflZpYnJhdGlvblByb3ZpZGVyKCk7CiAKICAgICB2b2lkIHZpYnJh
dGUodWludDY0X3QgdmlicmF0aW9uVGltZSk7CkBAIC00NSw5ICs0NSw5IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldFZpYnJhdGlvbkNsaWVudENhbGxiYWNrcyhFd2tfVmlicmF0aW9uX0NsaWVudF9W
aWJyYXRlX0NiLCBFd2tfVmlicmF0aW9uX0NsaWVudF9WaWJyYXRpb25fQ2FuY2VsX0NiLCB2b2lk
Kik7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgVmlicmF0aW9uUHJvdmlkZXIoV0tWaWJyYXRp
b25SZWYpOworICAgIGV4cGxpY2l0IFZpYnJhdGlvblByb3ZpZGVyKFdLQ29udGV4dFJlZik7CiAK
LSAgICBXS1JldGFpblB0cjxXS1ZpYnJhdGlvblJlZj4gbV93a1ZpYnJhdGlvblJlZjsKKyAgICBX
S1JldGFpblB0cjxXS0NvbnRleHRSZWY+IG1fd2tDb250ZXh0OwogICAgIE93blB0cjxFd2tfVmli
cmF0aW9uX0NsaWVudD4gbV92aWJyYXRpb25DbGllbnQ7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAKaW5kZXggYjQ0ODAwYTAzNWZh
MzA2ZDQyYmVkMjkwYjUwODFiNmQxODljNmRhNy4uNzY3NzRjNzJhM2I1NTg4ZmIyM2FjYzgwNzlm
MzJhNzUxMTFjY2YxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX2NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19jb250ZXh0LmNwcApAQCAtODksMTggKzg5LDE1IEBAIHN0cnVjdCBfRXdrX0NvbnRleHQg
ewogICAgICAgICBld2tfaW5pdCgpOwogCiAjaWYgRU5BQkxFKEJBVFRFUllfU1RBVFVTKQotICAg
ICAgICBXS0JhdHRlcnlNYW5hZ2VyUmVmIHdrQmF0dGVyeU1hbmFnZXIgPSBXS0NvbnRleHRHZXRC
YXR0ZXJ5TWFuYWdlcihjb250ZXh0UmVmLmdldCgpKTsKLSAgICAgICAgYmF0dGVyeVByb3ZpZGVy
ID0gQmF0dGVyeVByb3ZpZGVyOjpjcmVhdGUod2tCYXR0ZXJ5TWFuYWdlcik7CisgICAgICAgIGJh
dHRlcnlQcm92aWRlciA9IEJhdHRlcnlQcm92aWRlcjo6Y3JlYXRlKGNvbnRleHQuZ2V0KCkpOwog
I2VuZGlmCiAKICNpZiBFTkFCTEUoTkVUV09SS19JTkZPKQotICAgICAgICBXS05ldHdvcmtJbmZv
TWFuYWdlclJlZiB3a05ldHdvcmtJbmZvTWFuYWdlclJlZiA9IFdLQ29udGV4dEdldE5ldHdvcmtJ
bmZvTWFuYWdlcihjb250ZXh0UmVmLmdldCgpKTsKLSAgICAgICAgbmV0d29ya0luZm9Qcm92aWRl
ciA9IE5ldHdvcmtJbmZvUHJvdmlkZXI6OmNyZWF0ZSh3a05ldHdvcmtJbmZvTWFuYWdlclJlZik7
CisgICAgICAgIG5ldHdvcmtJbmZvUHJvdmlkZXIgPSBOZXR3b3JrSW5mb1Byb3ZpZGVyOjpjcmVh
dGUoY29udGV4dC5nZXQoKSk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShWSUJSQVRJT04pCi0gICAg
ICAgIFdLVmlicmF0aW9uUmVmIHdrVmlicmF0aW9uUmVmID0gV0tDb250ZXh0R2V0VmlicmF0aW9u
KGNvbnRleHRSZWYuZ2V0KCkpOwotICAgICAgICB2aWJyYXRpb25Qcm92aWRlciA9IFZpYnJhdGlv
blByb3ZpZGVyOjpjcmVhdGUod2tWaWJyYXRpb25SZWYpOworICAgICAgICB2aWJyYXRpb25Qcm92
aWRlciA9IFZpYnJhdGlvblByb3ZpZGVyOjpjcmVhdGUoY29udGV4dC5nZXQoKSk7CiAjZW5kaWYK
IAogI2lmIEVOQUJMRShNRU1PUllfU0FNUExFUikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166260</attachid>
            <date>2012-09-28 08:59:39 -0700</date>
            <delta_ts>2012-09-28 09:02:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97839-20120929005855.patch</filename>
            <type>text/plain</type>
            <size>13879</size>
            <attacher name="Byungwoo Lee">bw80.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5ODY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWU5ZWRkY2M3MDk4YjQ2
OGQxZmZjNDgyOGZiNDUxZDMyM2VhZDNiNC4uYWEwNmQ1NDExNjU5ZjM4OTEzNmFjOThkYTc4Y2Q2
NmIwYjExNTJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUwIEBACiAyMDEyLTA5LTI4ICBCeXVu
Z3dvbyBMZWUgIDxidzgwLmxlZUBzYW1zdW5nLmNvbT4KIAorICAgICAgICBbRUZMXVtXSzJdIHtW
aWJyYXRpb24sQmF0dGVyeSxOZXR3b3JrSW5mb31Qcm92aWRlciBzaG91bGQgY29udGFpbiBXS0Nv
bnRleHRSZWYgaW5zdGVhZCBvZiBwcm94eS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk3ODM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVmlicmF0aW9uUHJvdmlkZXIgaGFzIFdLUmV0YWluUHRyPFdLVmli
cmF0aW9uUmVmPiBtX3drVmlicmF0aW9uUmVmCisgICAgICAgIHdoaWNoIGhhcyByZWZlcmVuY2Ug
Zm9yIG9iamVjdCBXZWJWaWJyYXRpb25Qcm94eS4KKyAgICAgICAgVGhlIFdlYlZpYnJhdGlvblBy
b3h5IGluc3RhbmNlIGlzIGEgbWVtYmVyIG9mIFdlYkNvbnRleHQgd2hvIGhhcyBpdAorICAgICAg
ICBhcyBSZWZQdHI8V2ViVmlicmF0aW9uUHJveHk+LgorCisgICAgICAgIEEgbWVtYmVyIG9mIG9u
ZSBjbGFzcyBpcyBzaGFyZWQgd2l0aCBhbm90aGVyIGNsYXNzLCBidXQgdGhlcmUgaXMgbm8KKyAg
ICAgICAgcmVsYXRpb24gYmV0d2VlbiB0aGUgdHdvIGNsYXNzZXMuCisKKyAgICAgICAgVGhpcyBj
YW4gYmVjb21lIGEgcHJvYmxlbSB3aGVuIFdlYkNvbnRleHQgaXMgZGVsZXRlZCBiZWZvcmUgdGhl
CisgICAgICAgIFZpYnJhdGlvblByb3ZpZGVyLCBXZWJWaWJyYXRpb25Qcm94eSB3aWxsIGJlIGFs
aXZlIHdpdGhvdXQgV2ViQ29udGV4dCwKKyAgICAgICAgYmVjYXVzZSBWaWJyYXRpb25Qcm92aWRl
ciBhbHNvIGhhcyB0aGUgcmVmZXJlbmNlIGZvciBXZWJWaWJyYXRpb25Qcm94eS4KKworICAgICAg
ICBUaGlzIGlzIGEgcHJvYmxlbSBiZWNhdXNlIFdlYlZpYnJhdGlvblByb3h5IHNob3VsZCBiZSBh
IG1lbWJlciBvZgorICAgICAgICBXZWJDb250ZXh0LgorCisgICAgICAgIFRvIHByZXZlbnQgdGhp
cywgSSBjaGFuZ2VkIHRoZSBWaWJyYXRpb25Qcm92aWRlciB0byBoYXZlCisgICAgICAgIFdLUmV0
YWluUHRyPFdLQ29udGV4dFJlZj4gaW5zdGVhZCBvZiBXS1JldGFpblB0cjxXS1ZpYnJhdGlvblJl
Zj4uCisgICAgICAgIFNhbWUgZm9yIEJhdHRlcnlQcm92aWRlciBhbmQgTmV0d29ya0luZm9Qcm92
aWRlci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0JhdHRlcnlQcm92aWRlci5jcHA6
CisgICAgICAgIChCYXR0ZXJ5UHJvdmlkZXI6OmNyZWF0ZSk6CisgICAgICAgIChCYXR0ZXJ5UHJv
dmlkZXI6OkJhdHRlcnlQcm92aWRlcik6CisgICAgICAgIChCYXR0ZXJ5UHJvdmlkZXI6OmRpZENo
YW5nZUJhdHRlcnlTdGF0dXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0JhdHRlcnlQ
cm92aWRlci5oOgorICAgICAgICAoQmF0dGVyeVByb3ZpZGVyKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2VmbC9OZXR3b3JrSW5mb1Byb3ZpZGVyLmNwcDoKKyAgICAgICAgKE5ldHdvcmtJbmZv
UHJvdmlkZXI6OmNyZWF0ZSk6CisgICAgICAgIChOZXR3b3JrSW5mb1Byb3ZpZGVyOjpOZXR3b3Jr
SW5mb1Byb3ZpZGVyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9OZXR3b3JrSW5mb1By
b3ZpZGVyLmg6CisgICAgICAgIChOZXR3b3JrSW5mb1Byb3ZpZGVyKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2VmbC9WaWJyYXRpb25Qcm92aWRlci5jcHA6CisgICAgICAgIChWaWJyYXRpb25Q
cm92aWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKFZpYnJhdGlvblByb3ZpZGVyOjpWaWJyYXRpb25Q
cm92aWRlcik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvVmlicmF0aW9uUHJvdmlkZXIu
aDoKKyAgICAgICAgKFZpYnJhdGlvblByb3ZpZGVyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfY29udGV4dC5jcHA6CisgICAgICAgIChfRXdrX0NvbnRleHQ6Ol9Fd2tfQ29udGV4
dCk6CisKKzIwMTItMDktMjggIEJ5dW5nd29vIExlZSAgPGJ3ODAubGVlQHNhbXN1bmcuY29tPgor
CiAgICAgICAgIFtFRkxdW1dLMl0gQ2xlYXIgcHJvdmlkZXIgb24gZGVzdHJ1Y3RvciBvZiB7Vmli
cmF0aW9uLEJhdHRlcnksTmV0d29ya0luZm99UHJvdmlkZXIuCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzUyOAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9CYXR0ZXJ5UHJvdmlkZXIuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvQmF0dGVyeVByb3ZpZGVyLmNwcAppbmRleCA5YmM2YmYz
NTc1MjQ2N2UwOGU5ZDkxODA4ZDZhYTgwZjAzZWY5OGYwLi44MTA3MTE1OTdjNTZlYWFkZGJhZGIz
ZTFhMjAwZmJkZDQ1OWI2ZGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9CYXR0ZXJ5UHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL0JhdHRlcnlQcm92aWRlci5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRl
ICJXS0FQSUNhc3QuaCIKICNpbmNsdWRlICJXS0JhdHRlcnlNYW5hZ2VyLmgiCiAjaW5jbHVkZSAi
V0tCYXR0ZXJ5U3RhdHVzLmgiCisjaW5jbHVkZSAiV0tDb250ZXh0LmgiCiAKIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKQEAgLTUzLDE4ICs1NCwyNSBA
QCBzdGF0aWMgdm9pZCBzdG9wVXBkYXRpbmdDYWxsYmFjayhXS0JhdHRlcnlNYW5hZ2VyUmVmLCBj
b25zdCB2b2lkKiBjbGllbnRJbmZvKQogQmF0dGVyeVByb3ZpZGVyOjp+QmF0dGVyeVByb3ZpZGVy
KCkKIHsKICAgICBtX3Byb3ZpZGVyLnN0b3BVcGRhdGluZygpOwotICAgIFdLQmF0dGVyeU1hbmFn
ZXJTZXRQcm92aWRlcihtX3drQmF0dGVyeU1hbmFnZXIuZ2V0KCksIDApOworCisgICAgV0tCYXR0
ZXJ5TWFuYWdlclJlZiB3a0JhdHRlcnlNYW5hZ2VyID0gV0tDb250ZXh0R2V0QmF0dGVyeU1hbmFn
ZXIobV93a0NvbnRleHQuZ2V0KCkpOworICAgIEFTU0VSVCh3a0JhdHRlcnlNYW5hZ2VyKTsKKwor
ICAgIFdLQmF0dGVyeU1hbmFnZXJTZXRQcm92aWRlcih3a0JhdHRlcnlNYW5hZ2VyLCAwKTsKIH0K
IAotUGFzc1JlZlB0cjxCYXR0ZXJ5UHJvdmlkZXI+IEJhdHRlcnlQcm92aWRlcjo6Y3JlYXRlKFdL
QmF0dGVyeU1hbmFnZXJSZWYgd2tCYXR0ZXJ5TWFuYWdlcikKK1Bhc3NSZWZQdHI8QmF0dGVyeVBy
b3ZpZGVyPiBCYXR0ZXJ5UHJvdmlkZXI6OmNyZWF0ZShXS0NvbnRleHRSZWYgd2tDb250ZXh0KQog
ewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgQmF0dGVyeVByb3ZpZGVyKHdrQmF0dGVyeU1hbmFn
ZXIpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEJhdHRlcnlQcm92aWRlcih3a0NvbnRleHQp
KTsKIH0KIAotQmF0dGVyeVByb3ZpZGVyOjpCYXR0ZXJ5UHJvdmlkZXIoV0tCYXR0ZXJ5TWFuYWdl
clJlZiB3a0JhdHRlcnlNYW5hZ2VyKQotICAgIDogbV93a0JhdHRlcnlNYW5hZ2VyKHdrQmF0dGVy
eU1hbmFnZXIpCitCYXR0ZXJ5UHJvdmlkZXI6OkJhdHRlcnlQcm92aWRlcihXS0NvbnRleHRSZWYg
d2tDb250ZXh0KQorICAgIDogbV93a0NvbnRleHQod2tDb250ZXh0KQogICAgICwgbV9wcm92aWRl
cih0aGlzKQogeworICAgIEFTU0VSVChtX3drQ29udGV4dCk7CisKKyAgICBXS0JhdHRlcnlNYW5h
Z2VyUmVmIHdrQmF0dGVyeU1hbmFnZXIgPSBXS0NvbnRleHRHZXRCYXR0ZXJ5TWFuYWdlcihtX3dr
Q29udGV4dC5nZXQoKSk7CiAgICAgQVNTRVJUKHdrQmF0dGVyeU1hbmFnZXIpOwogCiAgICAgV0tC
YXR0ZXJ5UHJvdmlkZXIgd2tCYXR0ZXJ5UHJvdmlkZXIgPSB7CkBAIC03Myw3ICs4MSw3IEBAIEJh
dHRlcnlQcm92aWRlcjo6QmF0dGVyeVByb3ZpZGVyKFdLQmF0dGVyeU1hbmFnZXJSZWYgd2tCYXR0
ZXJ5TWFuYWdlcikKICAgICAgICAgc3RhcnRVcGRhdGluZ0NhbGxiYWNrLAogICAgICAgICBzdG9w
VXBkYXRpbmdDYWxsYmFjawogICAgIH07Ci0gICAgV0tCYXR0ZXJ5TWFuYWdlclNldFByb3ZpZGVy
KG1fd2tCYXR0ZXJ5TWFuYWdlci5nZXQoKSwgJndrQmF0dGVyeVByb3ZpZGVyKTsKKyAgICBXS0Jh
dHRlcnlNYW5hZ2VyU2V0UHJvdmlkZXIod2tCYXR0ZXJ5TWFuYWdlciwgJndrQmF0dGVyeVByb3Zp
ZGVyKTsKIH0KIAogdm9pZCBCYXR0ZXJ5UHJvdmlkZXI6OnN0YXJ0VXBkYXRpbmcoKQpAQCAtODgs
OCArOTYsMTEgQEAgdm9pZCBCYXR0ZXJ5UHJvdmlkZXI6OnN0b3BVcGRhdGluZygpCiAKIHZvaWQg
QmF0dGVyeVByb3ZpZGVyOjpkaWRDaGFuZ2VCYXR0ZXJ5U3RhdHVzKGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPEJhdHRlcnlTdGF0dXM+IHN0YXR1cykKIHsKKyAgICBX
S0JhdHRlcnlNYW5hZ2VyUmVmIHdrQmF0dGVyeU1hbmFnZXIgPSBXS0NvbnRleHRHZXRCYXR0ZXJ5
TWFuYWdlcihtX3drQ29udGV4dC5nZXQoKSk7CisgICAgQVNTRVJUKHdrQmF0dGVyeU1hbmFnZXIp
OworCiAgICAgV0tSZXRhaW5QdHI8V0tCYXR0ZXJ5U3RhdHVzUmVmPiB3a0JhdHRlcnlTdGF0dXMo
QWRvcHRXSywgV0tCYXR0ZXJ5U3RhdHVzQ3JlYXRlKHN0YXR1cy0+Y2hhcmdpbmcoKSwgc3RhdHVz
LT5jaGFyZ2luZ1RpbWUoKSwgc3RhdHVzLT5kaXNjaGFyZ2luZ1RpbWUoKSwgc3RhdHVzLT5sZXZl
bCgpKSk7Ci0gICAgV0tCYXR0ZXJ5TWFuYWdlclByb3ZpZGVyRGlkQ2hhbmdlQmF0dGVyeVN0YXR1
cyhtX3drQmF0dGVyeU1hbmFnZXIuZ2V0KCksIHRvQVBJKGV2ZW50VHlwZS5pbXBsKCkpLCB3a0Jh
dHRlcnlTdGF0dXMuZ2V0KCkpOworICAgIFdLQmF0dGVyeU1hbmFnZXJQcm92aWRlckRpZENoYW5n
ZUJhdHRlcnlTdGF0dXMod2tCYXR0ZXJ5TWFuYWdlciwgdG9BUEkoZXZlbnRUeXBlLmltcGwoKSks
IHdrQmF0dGVyeVN0YXR1cy5nZXQoKSk7CiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoQkFUVEVSWV9T
VEFUVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9CYXR0
ZXJ5UHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0JhdHRlcnlQ
cm92aWRlci5oCmluZGV4IGU5ZTRjZjVmMDM4MDljMjIwNThhZTUyYzNjMDZiMzI3NmU0ZDBjMDku
LmM1NDQxNGU2ODhlNzUzM2Y2MDFiYWUyMmI0Y2VhOWRjNWUyZWZmZWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0JhdHRlcnlQcm92aWRlci5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0JhdHRlcnlQcm92aWRlci5oCkBAIC0zOCwx
OCArMzgsMTggQEAKIGNsYXNzIEJhdHRlcnlQcm92aWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPEJh
dHRlcnlQcm92aWRlcj4sIHB1YmxpYyBXZWJDb3JlOjpCYXR0ZXJ5UHJvdmlkZXJFZmxDbGllbnQg
ewogcHVibGljOgogICAgIHZpcnR1YWwgfkJhdHRlcnlQcm92aWRlcigpOwotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPEJhdHRlcnlQcm92aWRlcj4gY3JlYXRlKFdLQmF0dGVyeU1hbmFnZXJSZWYpOwor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJhdHRlcnlQcm92aWRlcj4gY3JlYXRlKFdLQ29udGV4dFJl
Zik7CiAKICAgICB2b2lkIHN0YXJ0VXBkYXRpbmcoKTsKICAgICB2b2lkIHN0b3BVcGRhdGluZygp
OwogCiBwcml2YXRlOgotICAgIEJhdHRlcnlQcm92aWRlcihXS0JhdHRlcnlNYW5hZ2VyUmVmKTsK
KyAgICBCYXR0ZXJ5UHJvdmlkZXIoV0tDb250ZXh0UmVmKTsKIAogICAgIC8vIEJhdHRlcnlQcm92
aWRlckVmbENsaWVudCBpbnRlcmZhY2UuCiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUJhdHRl
cnlTdGF0dXMoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8V2ViQ29y
ZTo6QmF0dGVyeVN0YXR1cz4pOwogCi0gICAgV0tSZXRhaW5QdHI8V0tCYXR0ZXJ5TWFuYWdlclJl
Zj4gbV93a0JhdHRlcnlNYW5hZ2VyOworICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gbV93
a0NvbnRleHQ7CiAgICAgV2ViQ29yZTo6QmF0dGVyeVByb3ZpZGVyRWZsIG1fcHJvdmlkZXI7CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9OZXR3b3Jr
SW5mb1Byb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL05ldHdv
cmtJbmZvUHJvdmlkZXIuY3BwCmluZGV4IDQxYWQ5YTE5MmU4YzE4ZWU3NDRhNzI4YzZkM2FiZDU2
OWY4MGFkMGMuLjE0MzFjODNhN2I5MmY2ZDE5ODg3NGIzYTMwYmJjNGNjNzNiMDQ2OTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL05ldHdvcmtJbmZvUHJvdmlk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL05ldHdvcmtJbmZv
UHJvdmlkZXIuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoTkVUV09SS19JTkZP
KQogCisjaW5jbHVkZSAiV0tDb250ZXh0LmgiCiAjaW5jbHVkZSAiV0tOZXR3b3JrSW5mb01hbmFn
ZXIuaCIKICNpbmNsdWRlIDxOb3RJbXBsZW1lbnRlZC5oPgogCkBAIC01NiwxNSArNTcsMTggQEAg
c3RhdGljIGJvb2wgaXNNZXRlcmVkQ2FsbGJhY2soV0tOZXR3b3JrSW5mb01hbmFnZXJSZWYsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pCiAgICAgcmV0dXJuIHRvTmV0d29ya0luZm9Qcm92aWRlcihj
bGllbnRJbmZvKS0+bWV0ZXJlZCgpOwogfQogCi1QYXNzUmVmUHRyPE5ldHdvcmtJbmZvUHJvdmlk
ZXI+IE5ldHdvcmtJbmZvUHJvdmlkZXI6OmNyZWF0ZShXS05ldHdvcmtJbmZvTWFuYWdlclJlZiB3
a01hbmFnZXIpCitQYXNzUmVmUHRyPE5ldHdvcmtJbmZvUHJvdmlkZXI+IE5ldHdvcmtJbmZvUHJv
dmlkZXI6OmNyZWF0ZShXS0NvbnRleHRSZWYgd2tDb250ZXh0KQogewotICAgIHJldHVybiBhZG9w
dFJlZihuZXcgTmV0d29ya0luZm9Qcm92aWRlcih3a01hbmFnZXIpKTsKKyAgICByZXR1cm4gYWRv
cHRSZWYobmV3IE5ldHdvcmtJbmZvUHJvdmlkZXIod2tDb250ZXh0KSk7CiB9CiAKLU5ldHdvcmtJ
bmZvUHJvdmlkZXI6Ok5ldHdvcmtJbmZvUHJvdmlkZXIoV0tOZXR3b3JrSW5mb01hbmFnZXJSZWYg
d2tNYW5hZ2VyKQotICAgIDogbV93a05ldHdvcmtJbmZvTWFuYWdlcih3a01hbmFnZXIpCitOZXR3
b3JrSW5mb1Byb3ZpZGVyOjpOZXR3b3JrSW5mb1Byb3ZpZGVyKFdLQ29udGV4dFJlZiB3a0NvbnRl
eHQpCisgICAgOiBtX3drQ29udGV4dCh3a0NvbnRleHQpCiB7Ci0gICAgQVNTRVJUKHdrTWFuYWdl
cik7CisgICAgQVNTRVJUKHdrQ29udGV4dCk7CisKKyAgICBXS05ldHdvcmtJbmZvTWFuYWdlclJl
ZiB3a05ldHdvcmtJbmZvTWFuYWdlciA9IFdLQ29udGV4dEdldE5ldHdvcmtJbmZvTWFuYWdlciht
X3drQ29udGV4dC5nZXQoKSk7CisgICAgQVNTRVJUKHdrTmV0d29ya0luZm9NYW5hZ2VyKTsKIAog
ICAgIFdLTmV0d29ya0luZm9Qcm92aWRlciB3a05ldHdvcmtJbmZvUHJvdmlkZXIgPSB7CiAgICAg
ICAgIGtXS05ldHdvcmtJbmZvUHJvdmlkZXJDdXJyZW50VmVyc2lvbiwKQEAgLTc0LDEyICs3OCwx
NSBAQCBOZXR3b3JrSW5mb1Byb3ZpZGVyOjpOZXR3b3JrSW5mb1Byb3ZpZGVyKFdLTmV0d29ya0lu
Zm9NYW5hZ2VyUmVmIHdrTWFuYWdlcikKICAgICAgICAgZ2V0QmFuZHdpZHRoQ2FsbGJhY2ssCiAg
ICAgICAgIGlzTWV0ZXJlZENhbGxiYWNrCiAgICAgfTsKLSAgICBXS05ldHdvcmtJbmZvTWFuYWdl
clNldFByb3ZpZGVyKG1fd2tOZXR3b3JrSW5mb01hbmFnZXIuZ2V0KCksICZ3a05ldHdvcmtJbmZv
UHJvdmlkZXIpOworICAgIFdLTmV0d29ya0luZm9NYW5hZ2VyU2V0UHJvdmlkZXIod2tOZXR3b3Jr
SW5mb01hbmFnZXIsICZ3a05ldHdvcmtJbmZvUHJvdmlkZXIpOwogfQogCiBOZXR3b3JrSW5mb1By
b3ZpZGVyOjp+TmV0d29ya0luZm9Qcm92aWRlcigpCiB7Ci0gICAgV0tOZXR3b3JrSW5mb01hbmFn
ZXJTZXRQcm92aWRlcihtX3drTmV0d29ya0luZm9NYW5hZ2VyLmdldCgpLCAwKTsKKyAgICBXS05l
dHdvcmtJbmZvTWFuYWdlclJlZiB3a05ldHdvcmtJbmZvTWFuYWdlciA9IFdLQ29udGV4dEdldE5l
dHdvcmtJbmZvTWFuYWdlcihtX3drQ29udGV4dC5nZXQoKSk7CisgICAgQVNTRVJUKHdrTmV0d29y
a0luZm9NYW5hZ2VyKTsKKworICAgIFdLTmV0d29ya0luZm9NYW5hZ2VyU2V0UHJvdmlkZXIod2tO
ZXR3b3JrSW5mb01hbmFnZXIsIDApOwogfQogCiBkb3VibGUgTmV0d29ya0luZm9Qcm92aWRlcjo6
YmFuZHdpZHRoKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL05ldHdvcmtJbmZvUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL05ldHdvcmtJbmZvUHJvdmlkZXIuaAppbmRleCBiOWY4NmU2ZTVjMTIyNDU3Y2VlZTli
ZWU0YjZhYTRkNDBmYjU2MTU5Li4wYTVkNjBlNGZhMTYxNThmNjY4ZTFmMjNiMjcwMGUyYjYxYmZi
MzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9OZXR3b3Jr
SW5mb1Byb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvTmV0
d29ya0luZm9Qcm92aWRlci5oCkBAIC0zNyw3ICszNyw3IEBACiBjbGFzcyBOZXR3b3JrSW5mb1By
b3ZpZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8TmV0d29ya0luZm9Qcm92aWRlcj4sIHB1YmxpYyBX
ZWJDb3JlOjpOZXR3b3JrSW5mb0NsaWVudCB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+TmV0d29y
a0luZm9Qcm92aWRlcigpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5ldHdvcmtJbmZvUHJvdmlk
ZXI+IGNyZWF0ZShXS05ldHdvcmtJbmZvTWFuYWdlclJlZik7CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8TmV0d29ya0luZm9Qcm92aWRlcj4gY3JlYXRlKFdLQ29udGV4dFJlZik7CiAKICAgICAvLyBO
ZXR3b3JrSW5mb0NsaWVudCBpbnRlcmZhY2UuCiAgICAgdmlydHVhbCBkb3VibGUgYmFuZHdpZHRo
KCkgY29uc3Q7CkBAIC00Nyw5ICs0Nyw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3Rv
cFVwZGF0aW5nKCk7CiAKIHByaXZhdGU6Ci0gICAgTmV0d29ya0luZm9Qcm92aWRlcihXS05ldHdv
cmtJbmZvTWFuYWdlclJlZik7CisgICAgTmV0d29ya0luZm9Qcm92aWRlcihXS0NvbnRleHRSZWYp
OwogCi0gICAgV0tSZXRhaW5QdHI8V0tOZXR3b3JrSW5mb01hbmFnZXJSZWY+IG1fd2tOZXR3b3Jr
SW5mb01hbmFnZXI7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBtX3drQ29udGV4dDsK
ICAgICBXZWJDb3JlOjpOZXR3b3JrSW5mb1Byb3ZpZGVyRWZsIG1fcHJvdmlkZXI7CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9WaWJyYXRpb25Qcm92
aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9WaWJyYXRpb25Qcm92
aWRlci5jcHAKaW5kZXggZTcxMDY0ZGViNjVlYzg1NTY5YTE4MjY0YTliN2UxODllNzM0ZjE2Ni4u
MTNkNGRlNmQ2NjU3OGRhZjZjMjFmYTVjYjdmMzMzYzg4ZDEzM2FmNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvVmlicmF0aW9uUHJvdmlkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1ZpYnJhdGlvblByb3ZpZGVyLmNwcApA
QCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShWSUJSQVRJT04pCiAKICNpbmNsdWRlICJXS0FQ
SUNhc3QuaCIKKyNpbmNsdWRlICJXS0NvbnRleHQuaCIKICNpbmNsdWRlICJXS1ZpYnJhdGlvbi5o
IgogI2luY2x1ZGUgPEV2YXMuaD4KIApAQCAtNjUsMTUgKzY2LDE4IEBAIHN0YXRpYyB2b2lkIGNh
bmNlbFZpYnJhdGlvbkNhbGxiYWNrKFdLVmlicmF0aW9uUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJ
bmZvKQogICAgIHRvVmlicmF0aW9uUHJvdmlkZXIoY2xpZW50SW5mbyktPmNhbmNlbFZpYnJhdGlv
bigpOwogfQogCi1QYXNzUmVmUHRyPFZpYnJhdGlvblByb3ZpZGVyPiBWaWJyYXRpb25Qcm92aWRl
cjo6Y3JlYXRlKFdLVmlicmF0aW9uUmVmIHdrVmlicmF0aW9uUmVmKQorUGFzc1JlZlB0cjxWaWJy
YXRpb25Qcm92aWRlcj4gVmlicmF0aW9uUHJvdmlkZXI6OmNyZWF0ZShXS0NvbnRleHRSZWYgd2tD
b250ZXh0KQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgVmlicmF0aW9uUHJvdmlkZXIod2tW
aWJyYXRpb25SZWYpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFZpYnJhdGlvblByb3ZpZGVy
KHdrQ29udGV4dCkpOwogfQogCi1WaWJyYXRpb25Qcm92aWRlcjo6VmlicmF0aW9uUHJvdmlkZXIo
V0tWaWJyYXRpb25SZWYgd2tWaWJyYXRpb25SZWYpCi0gICAgOiBtX3drVmlicmF0aW9uUmVmKHdr
VmlicmF0aW9uUmVmKQorVmlicmF0aW9uUHJvdmlkZXI6OlZpYnJhdGlvblByb3ZpZGVyKFdLQ29u
dGV4dFJlZiB3a0NvbnRleHQpCisgICAgOiBtX3drQ29udGV4dCh3a0NvbnRleHQpCiB7Ci0gICAg
QVNTRVJUKHdrVmlicmF0aW9uUmVmKTsKKyAgICBBU1NFUlQobV93a0NvbnRleHQuZ2V0KCkpOwor
CisgICAgV0tWaWJyYXRpb25SZWYgd2tWaWJyYXRpb24gPSBXS0NvbnRleHRHZXRWaWJyYXRpb24o
bV93a0NvbnRleHQuZ2V0KCkpOworICAgIEFTU0VSVCh3a1ZpYnJhdGlvbik7CiAKICAgICBXS1Zp
YnJhdGlvblByb3ZpZGVyIHdrVmlicmF0aW9uUHJvdmlkZXIgPSB7CiAgICAgICAgIGtXS1ZpYnJh
dGlvblByb3ZpZGVyQ3VycmVudFZlcnNpb24sCkBAIC04MSwxMiArODUsMTUgQEAgVmlicmF0aW9u
UHJvdmlkZXI6OlZpYnJhdGlvblByb3ZpZGVyKFdLVmlicmF0aW9uUmVmIHdrVmlicmF0aW9uUmVm
KQogICAgICAgICB2aWJyYXRlQ2FsbGJhY2ssCiAgICAgICAgIGNhbmNlbFZpYnJhdGlvbkNhbGxi
YWNrCiAgICAgfTsKLSAgICBXS1ZpYnJhdGlvblNldFByb3ZpZGVyKG1fd2tWaWJyYXRpb25SZWYu
Z2V0KCksICZ3a1ZpYnJhdGlvblByb3ZpZGVyKTsKKyAgICBXS1ZpYnJhdGlvblNldFByb3ZpZGVy
KHdrVmlicmF0aW9uLCAmd2tWaWJyYXRpb25Qcm92aWRlcik7CiB9CiAKIFZpYnJhdGlvblByb3Zp
ZGVyOjp+VmlicmF0aW9uUHJvdmlkZXIoKQogewotICAgIFdLVmlicmF0aW9uU2V0UHJvdmlkZXIo
bV93a1ZpYnJhdGlvblJlZi5nZXQoKSwgMCk7CisgICAgV0tWaWJyYXRpb25SZWYgd2tWaWJyYXRp
b24gPSBXS0NvbnRleHRHZXRWaWJyYXRpb24obV93a0NvbnRleHQuZ2V0KCkpOworICAgIEFTU0VS
VCh3a1ZpYnJhdGlvbik7CisKKyAgICBXS1ZpYnJhdGlvblNldFByb3ZpZGVyKHdrVmlicmF0aW9u
LCAwKTsKIH0KIAogdm9pZCBWaWJyYXRpb25Qcm92aWRlcjo6dmlicmF0ZSh1aW50NjRfdCB2aWJy
YXRpb25UaW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
VmlicmF0aW9uUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1Zp
YnJhdGlvblByb3ZpZGVyLmgKaW5kZXggYzI2NDNiNjM4NjYyN2EzNjM1OWQzZjliZjIyNjMzMzFl
ZjcxYjkwNC4uNmIyZGI0ZWVjYWQwM2I5NjQzMDM0ODRiMjE2MzE4YjUwYzZhNjdhOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvVmlicmF0aW9uUHJvdmlkZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9WaWJyYXRpb25Qcm92aWRl
ci5oCkBAIC0zNyw3ICszNyw3IEBAIHR5cGVkZWYgc3RydWN0IF9Fd2tfVmlicmF0aW9uX0NsaWVu
dCBFd2tfVmlicmF0aW9uX0NsaWVudDsKIAogY2xhc3MgVmlicmF0aW9uUHJvdmlkZXIgOiBwdWJs
aWMgUmVmQ291bnRlZDxWaWJyYXRpb25Qcm92aWRlcj4gewogcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFZpYnJhdGlvblByb3ZpZGVyPiBjcmVhdGUoV0tWaWJyYXRpb25SZWYpOworICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFZpYnJhdGlvblByb3ZpZGVyPiBjcmVhdGUoV0tDb250ZXh0UmVm
KTsKICAgICB2aXJ0dWFsIH5WaWJyYXRpb25Qcm92aWRlcigpOwogCiAgICAgdm9pZCB2aWJyYXRl
KHVpbnQ2NF90IHZpYnJhdGlvblRpbWUpOwpAQCAtNDUsOSArNDUsOSBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRWaWJyYXRpb25DbGllbnRDYWxsYmFja3MoRXdrX1ZpYnJhdGlvbl9DbGllbnRfVmli
cmF0ZV9DYiwgRXdrX1ZpYnJhdGlvbl9DbGllbnRfVmlicmF0aW9uX0NhbmNlbF9DYiwgdm9pZCop
OwogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IFZpYnJhdGlvblByb3ZpZGVyKFdLVmlicmF0aW9u
UmVmKTsKKyAgICBleHBsaWNpdCBWaWJyYXRpb25Qcm92aWRlcihXS0NvbnRleHRSZWYpOwogCi0g
ICAgV0tSZXRhaW5QdHI8V0tWaWJyYXRpb25SZWY+IG1fd2tWaWJyYXRpb25SZWY7CisgICAgV0tS
ZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBtX3drQ29udGV4dDsKICAgICBPd25QdHI8RXdrX1ZpYnJh
dGlvbl9DbGllbnQ+IG1fdmlicmF0aW9uQ2xpZW50OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwCmluZGV4IGI0NDgwMGEwMzVmYTMw
NmQ0MmJlZDI5MGI1MDgxYjZkMTg5YzZkYTcuLjc2Nzc0YzcyYTNiNTU4OGZiMjNhY2M4MDc5ZjMy
YTc1MTExY2NmMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19jb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfY29udGV4dC5jcHAKQEAgLTg5LDE4ICs4OSwxNSBAQCBzdHJ1Y3QgX0V3a19Db250ZXh0IHsK
ICAgICAgICAgZXdrX2luaXQoKTsKIAogI2lmIEVOQUJMRShCQVRURVJZX1NUQVRVUykKLSAgICAg
ICAgV0tCYXR0ZXJ5TWFuYWdlclJlZiB3a0JhdHRlcnlNYW5hZ2VyID0gV0tDb250ZXh0R2V0QmF0
dGVyeU1hbmFnZXIoY29udGV4dFJlZi5nZXQoKSk7Ci0gICAgICAgIGJhdHRlcnlQcm92aWRlciA9
IEJhdHRlcnlQcm92aWRlcjo6Y3JlYXRlKHdrQmF0dGVyeU1hbmFnZXIpOworICAgICAgICBiYXR0
ZXJ5UHJvdmlkZXIgPSBCYXR0ZXJ5UHJvdmlkZXI6OmNyZWF0ZShjb250ZXh0LmdldCgpKTsKICNl
bmRpZgogCiAjaWYgRU5BQkxFKE5FVFdPUktfSU5GTykKLSAgICAgICAgV0tOZXR3b3JrSW5mb01h
bmFnZXJSZWYgd2tOZXR3b3JrSW5mb01hbmFnZXJSZWYgPSBXS0NvbnRleHRHZXROZXR3b3JrSW5m
b01hbmFnZXIoY29udGV4dFJlZi5nZXQoKSk7Ci0gICAgICAgIG5ldHdvcmtJbmZvUHJvdmlkZXIg
PSBOZXR3b3JrSW5mb1Byb3ZpZGVyOjpjcmVhdGUod2tOZXR3b3JrSW5mb01hbmFnZXJSZWYpOwor
ICAgICAgICBuZXR3b3JrSW5mb1Byb3ZpZGVyID0gTmV0d29ya0luZm9Qcm92aWRlcjo6Y3JlYXRl
KGNvbnRleHQuZ2V0KCkpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoVklCUkFUSU9OKQotICAgICAg
ICBXS1ZpYnJhdGlvblJlZiB3a1ZpYnJhdGlvblJlZiA9IFdLQ29udGV4dEdldFZpYnJhdGlvbihj
b250ZXh0UmVmLmdldCgpKTsKLSAgICAgICAgdmlicmF0aW9uUHJvdmlkZXIgPSBWaWJyYXRpb25Q
cm92aWRlcjo6Y3JlYXRlKHdrVmlicmF0aW9uUmVmKTsKKyAgICAgICAgdmlicmF0aW9uUHJvdmlk
ZXIgPSBWaWJyYXRpb25Qcm92aWRlcjo6Y3JlYXRlKGNvbnRleHQuZ2V0KCkpOwogI2VuZGlmCiAK
ICNpZiBFTkFCTEUoTUVNT1JZX1NBTVBMRVIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166262</attachid>
            <date>2012-09-28 09:02:10 -0700</date>
            <delta_ts>2012-09-28 11:04:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97839-20120929010126.patch</filename>
            <type>text/plain</type>
            <size>13891</size>
            <attacher name="Byungwoo Lee">bw80.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5ODY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWU5ZWRkY2M3MDk4YjQ2
OGQxZmZjNDgyOGZiNDUxZDMyM2VhZDNiNC4uYmMyZDc4MTVmNzg5MmNiMWIxNDk0MmEzMTBkOGE3
MGE5NmJlZjFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUwIEBACiAyMDEyLTA5LTI4ICBCeXVu
Z3dvbyBMZWUgIDxidzgwLmxlZUBzYW1zdW5nLmNvbT4KIAorICAgICAgICBbRUZMXVtXSzJdIHtW
aWJyYXRpb24sQmF0dGVyeSxOZXR3b3JrSW5mb31Qcm92aWRlciBzaG91bGQgY29udGFpbiBXS0Nv
bnRleHRSZWYgaW5zdGVhZCBvZiBwcm94eS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk3ODM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBS
b2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgVmlicmF0aW9uUHJvdmlkZXIgaGFzIFdLUmV0
YWluUHRyPFdLVmlicmF0aW9uUmVmPiBtX3drVmlicmF0aW9uUmVmCisgICAgICAgIHdoaWNoIGhh
cyByZWZlcmVuY2UgZm9yIG9iamVjdCBXZWJWaWJyYXRpb25Qcm94eS4KKyAgICAgICAgVGhlIFdl
YlZpYnJhdGlvblByb3h5IGluc3RhbmNlIGlzIGEgbWVtYmVyIG9mIFdlYkNvbnRleHQgd2hvIGhh
cyBpdAorICAgICAgICBhcyBSZWZQdHI8V2ViVmlicmF0aW9uUHJveHk+LgorCisgICAgICAgIEEg
bWVtYmVyIG9mIG9uZSBjbGFzcyBpcyBzaGFyZWQgd2l0aCBhbm90aGVyIGNsYXNzLCBidXQgdGhl
cmUgaXMgbm8KKyAgICAgICAgcmVsYXRpb24gYmV0d2VlbiB0aGUgdHdvIGNsYXNzZXMuCisKKyAg
ICAgICAgVGhpcyBjYW4gYmVjb21lIGEgcHJvYmxlbSB3aGVuIFdlYkNvbnRleHQgaXMgZGVsZXRl
ZCBiZWZvcmUgdGhlCisgICAgICAgIFZpYnJhdGlvblByb3ZpZGVyLCBXZWJWaWJyYXRpb25Qcm94
eSB3aWxsIGJlIGFsaXZlIHdpdGhvdXQgV2ViQ29udGV4dCwKKyAgICAgICAgYmVjYXVzZSBWaWJy
YXRpb25Qcm92aWRlciBhbHNvIGhhcyB0aGUgcmVmZXJlbmNlIGZvciBXZWJWaWJyYXRpb25Qcm94
eS4KKworICAgICAgICBUaGlzIGlzIGEgcHJvYmxlbSBiZWNhdXNlIFdlYlZpYnJhdGlvblByb3h5
IHNob3VsZCBiZSBhIG1lbWJlciBvZgorICAgICAgICBXZWJDb250ZXh0LgorCisgICAgICAgIFRv
IHByZXZlbnQgdGhpcywgSSBjaGFuZ2VkIHRoZSBWaWJyYXRpb25Qcm92aWRlciB0byBoYXZlCisg
ICAgICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gaW5zdGVhZCBvZiBXS1JldGFpblB0cjxX
S1ZpYnJhdGlvblJlZj4uCisgICAgICAgIFNhbWUgZm9yIEJhdHRlcnlQcm92aWRlciBhbmQgTmV0
d29ya0luZm9Qcm92aWRlci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0JhdHRlcnlQ
cm92aWRlci5jcHA6CisgICAgICAgIChCYXR0ZXJ5UHJvdmlkZXI6OmNyZWF0ZSk6CisgICAgICAg
IChCYXR0ZXJ5UHJvdmlkZXI6OkJhdHRlcnlQcm92aWRlcik6CisgICAgICAgIChCYXR0ZXJ5UHJv
dmlkZXI6OmRpZENoYW5nZUJhdHRlcnlTdGF0dXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
ZWZsL0JhdHRlcnlQcm92aWRlci5oOgorICAgICAgICAoQmF0dGVyeVByb3ZpZGVyKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9OZXR3b3JrSW5mb1Byb3ZpZGVyLmNwcDoKKyAgICAgICAg
KE5ldHdvcmtJbmZvUHJvdmlkZXI6OmNyZWF0ZSk6CisgICAgICAgIChOZXR3b3JrSW5mb1Byb3Zp
ZGVyOjpOZXR3b3JrSW5mb1Byb3ZpZGVyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9O
ZXR3b3JrSW5mb1Byb3ZpZGVyLmg6CisgICAgICAgIChOZXR3b3JrSW5mb1Byb3ZpZGVyKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9WaWJyYXRpb25Qcm92aWRlci5jcHA6CisgICAgICAg
IChWaWJyYXRpb25Qcm92aWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKFZpYnJhdGlvblByb3ZpZGVy
OjpWaWJyYXRpb25Qcm92aWRlcik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvVmlicmF0
aW9uUHJvdmlkZXIuaDoKKyAgICAgICAgKFZpYnJhdGlvblByb3ZpZGVyKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHA6CisgICAgICAgIChfRXdrX0NvbnRleHQ6
Ol9Fd2tfQ29udGV4dCk6CisKKzIwMTItMDktMjggIEJ5dW5nd29vIExlZSAgPGJ3ODAubGVlQHNh
bXN1bmcuY29tPgorCiAgICAgICAgIFtFRkxdW1dLMl0gQ2xlYXIgcHJvdmlkZXIgb24gZGVzdHJ1
Y3RvciBvZiB7VmlicmF0aW9uLEJhdHRlcnksTmV0d29ya0luZm99UHJvdmlkZXIuCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzUyOAogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9CYXR0ZXJ5UHJvdmlkZXIuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvQmF0dGVyeVByb3ZpZGVyLmNwcApp
bmRleCA5YmM2YmYzNTc1MjQ2N2UwOGU5ZDkxODA4ZDZhYTgwZjAzZWY5OGYwLi44MTA3MTE1OTdj
NTZlYWFkZGJhZGIzZTFhMjAwZmJkZDQ1OWI2ZGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9CYXR0ZXJ5UHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0JhdHRlcnlQcm92aWRlci5jcHAKQEAgLTMxLDYgKzMxLDcg
QEAKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKICNpbmNsdWRlICJXS0JhdHRlcnlNYW5hZ2VyLmgi
CiAjaW5jbHVkZSAiV0tCYXR0ZXJ5U3RhdHVzLmgiCisjaW5jbHVkZSAiV0tDb250ZXh0LmgiCiAK
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKQEAgLTUz
LDE4ICs1NCwyNSBAQCBzdGF0aWMgdm9pZCBzdG9wVXBkYXRpbmdDYWxsYmFjayhXS0JhdHRlcnlN
YW5hZ2VyUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogQmF0dGVyeVByb3ZpZGVyOjp+QmF0
dGVyeVByb3ZpZGVyKCkKIHsKICAgICBtX3Byb3ZpZGVyLnN0b3BVcGRhdGluZygpOwotICAgIFdL
QmF0dGVyeU1hbmFnZXJTZXRQcm92aWRlcihtX3drQmF0dGVyeU1hbmFnZXIuZ2V0KCksIDApOwor
CisgICAgV0tCYXR0ZXJ5TWFuYWdlclJlZiB3a0JhdHRlcnlNYW5hZ2VyID0gV0tDb250ZXh0R2V0
QmF0dGVyeU1hbmFnZXIobV93a0NvbnRleHQuZ2V0KCkpOworICAgIEFTU0VSVCh3a0JhdHRlcnlN
YW5hZ2VyKTsKKworICAgIFdLQmF0dGVyeU1hbmFnZXJTZXRQcm92aWRlcih3a0JhdHRlcnlNYW5h
Z2VyLCAwKTsKIH0KIAotUGFzc1JlZlB0cjxCYXR0ZXJ5UHJvdmlkZXI+IEJhdHRlcnlQcm92aWRl
cjo6Y3JlYXRlKFdLQmF0dGVyeU1hbmFnZXJSZWYgd2tCYXR0ZXJ5TWFuYWdlcikKK1Bhc3NSZWZQ
dHI8QmF0dGVyeVByb3ZpZGVyPiBCYXR0ZXJ5UHJvdmlkZXI6OmNyZWF0ZShXS0NvbnRleHRSZWYg
d2tDb250ZXh0KQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgQmF0dGVyeVByb3ZpZGVyKHdr
QmF0dGVyeU1hbmFnZXIpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEJhdHRlcnlQcm92aWRl
cih3a0NvbnRleHQpKTsKIH0KIAotQmF0dGVyeVByb3ZpZGVyOjpCYXR0ZXJ5UHJvdmlkZXIoV0tC
YXR0ZXJ5TWFuYWdlclJlZiB3a0JhdHRlcnlNYW5hZ2VyKQotICAgIDogbV93a0JhdHRlcnlNYW5h
Z2VyKHdrQmF0dGVyeU1hbmFnZXIpCitCYXR0ZXJ5UHJvdmlkZXI6OkJhdHRlcnlQcm92aWRlcihX
S0NvbnRleHRSZWYgd2tDb250ZXh0KQorICAgIDogbV93a0NvbnRleHQod2tDb250ZXh0KQogICAg
ICwgbV9wcm92aWRlcih0aGlzKQogeworICAgIEFTU0VSVChtX3drQ29udGV4dCk7CisKKyAgICBX
S0JhdHRlcnlNYW5hZ2VyUmVmIHdrQmF0dGVyeU1hbmFnZXIgPSBXS0NvbnRleHRHZXRCYXR0ZXJ5
TWFuYWdlcihtX3drQ29udGV4dC5nZXQoKSk7CiAgICAgQVNTRVJUKHdrQmF0dGVyeU1hbmFnZXIp
OwogCiAgICAgV0tCYXR0ZXJ5UHJvdmlkZXIgd2tCYXR0ZXJ5UHJvdmlkZXIgPSB7CkBAIC03Myw3
ICs4MSw3IEBAIEJhdHRlcnlQcm92aWRlcjo6QmF0dGVyeVByb3ZpZGVyKFdLQmF0dGVyeU1hbmFn
ZXJSZWYgd2tCYXR0ZXJ5TWFuYWdlcikKICAgICAgICAgc3RhcnRVcGRhdGluZ0NhbGxiYWNrLAog
ICAgICAgICBzdG9wVXBkYXRpbmdDYWxsYmFjawogICAgIH07Ci0gICAgV0tCYXR0ZXJ5TWFuYWdl
clNldFByb3ZpZGVyKG1fd2tCYXR0ZXJ5TWFuYWdlci5nZXQoKSwgJndrQmF0dGVyeVByb3ZpZGVy
KTsKKyAgICBXS0JhdHRlcnlNYW5hZ2VyU2V0UHJvdmlkZXIod2tCYXR0ZXJ5TWFuYWdlciwgJndr
QmF0dGVyeVByb3ZpZGVyKTsKIH0KIAogdm9pZCBCYXR0ZXJ5UHJvdmlkZXI6OnN0YXJ0VXBkYXRp
bmcoKQpAQCAtODgsOCArOTYsMTEgQEAgdm9pZCBCYXR0ZXJ5UHJvdmlkZXI6OnN0b3BVcGRhdGlu
ZygpCiAKIHZvaWQgQmF0dGVyeVByb3ZpZGVyOjpkaWRDaGFuZ2VCYXR0ZXJ5U3RhdHVzKGNvbnN0
IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPEJhdHRlcnlTdGF0dXM+IHN0YXR1
cykKIHsKKyAgICBXS0JhdHRlcnlNYW5hZ2VyUmVmIHdrQmF0dGVyeU1hbmFnZXIgPSBXS0NvbnRl
eHRHZXRCYXR0ZXJ5TWFuYWdlcihtX3drQ29udGV4dC5nZXQoKSk7CisgICAgQVNTRVJUKHdrQmF0
dGVyeU1hbmFnZXIpOworCiAgICAgV0tSZXRhaW5QdHI8V0tCYXR0ZXJ5U3RhdHVzUmVmPiB3a0Jh
dHRlcnlTdGF0dXMoQWRvcHRXSywgV0tCYXR0ZXJ5U3RhdHVzQ3JlYXRlKHN0YXR1cy0+Y2hhcmdp
bmcoKSwgc3RhdHVzLT5jaGFyZ2luZ1RpbWUoKSwgc3RhdHVzLT5kaXNjaGFyZ2luZ1RpbWUoKSwg
c3RhdHVzLT5sZXZlbCgpKSk7Ci0gICAgV0tCYXR0ZXJ5TWFuYWdlclByb3ZpZGVyRGlkQ2hhbmdl
QmF0dGVyeVN0YXR1cyhtX3drQmF0dGVyeU1hbmFnZXIuZ2V0KCksIHRvQVBJKGV2ZW50VHlwZS5p
bXBsKCkpLCB3a0JhdHRlcnlTdGF0dXMuZ2V0KCkpOworICAgIFdLQmF0dGVyeU1hbmFnZXJQcm92
aWRlckRpZENoYW5nZUJhdHRlcnlTdGF0dXMod2tCYXR0ZXJ5TWFuYWdlciwgdG9BUEkoZXZlbnRU
eXBlLmltcGwoKSksIHdrQmF0dGVyeVN0YXR1cy5nZXQoKSk7CiB9CiAKICNlbmRpZiAvLyBFTkFC
TEUoQkFUVEVSWV9TVEFUVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9CYXR0ZXJ5UHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL0JhdHRlcnlQcm92aWRlci5oCmluZGV4IGU5ZTRjZjVmMDM4MDljMjIwNThhZTUyYzNjMDZi
MzI3NmU0ZDBjMDkuLmM1NDQxNGU2ODhlNzUzM2Y2MDFiYWUyMmI0Y2VhOWRjNWUyZWZmZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0JhdHRlcnlQcm92aWRl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0JhdHRlcnlQcm92aWRl
ci5oCkBAIC0zOCwxOCArMzgsMTggQEAKIGNsYXNzIEJhdHRlcnlQcm92aWRlciA6IHB1YmxpYyBS
ZWZDb3VudGVkPEJhdHRlcnlQcm92aWRlcj4sIHB1YmxpYyBXZWJDb3JlOjpCYXR0ZXJ5UHJvdmlk
ZXJFZmxDbGllbnQgewogcHVibGljOgogICAgIHZpcnR1YWwgfkJhdHRlcnlQcm92aWRlcigpOwot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJhdHRlcnlQcm92aWRlcj4gY3JlYXRlKFdLQmF0dGVyeU1h
bmFnZXJSZWYpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJhdHRlcnlQcm92aWRlcj4gY3JlYXRl
KFdLQ29udGV4dFJlZik7CiAKICAgICB2b2lkIHN0YXJ0VXBkYXRpbmcoKTsKICAgICB2b2lkIHN0
b3BVcGRhdGluZygpOwogCiBwcml2YXRlOgotICAgIEJhdHRlcnlQcm92aWRlcihXS0JhdHRlcnlN
YW5hZ2VyUmVmKTsKKyAgICBCYXR0ZXJ5UHJvdmlkZXIoV0tDb250ZXh0UmVmKTsKIAogICAgIC8v
IEJhdHRlcnlQcm92aWRlckVmbENsaWVudCBpbnRlcmZhY2UuCiAgICAgdmlydHVhbCB2b2lkIGRp
ZENoYW5nZUJhdHRlcnlTdGF0dXMoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NS
ZWZQdHI8V2ViQ29yZTo6QmF0dGVyeVN0YXR1cz4pOwogCi0gICAgV0tSZXRhaW5QdHI8V0tCYXR0
ZXJ5TWFuYWdlclJlZj4gbV93a0JhdHRlcnlNYW5hZ2VyOworICAgIFdLUmV0YWluUHRyPFdLQ29u
dGV4dFJlZj4gbV93a0NvbnRleHQ7CiAgICAgV2ViQ29yZTo6QmF0dGVyeVByb3ZpZGVyRWZsIG1f
cHJvdmlkZXI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9OZXR3b3JrSW5mb1Byb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL05ldHdvcmtJbmZvUHJvdmlkZXIuY3BwCmluZGV4IDQxYWQ5YTE5MmU4YzE4ZWU3NDRh
NzI4YzZkM2FiZDU2OWY4MGFkMGMuLjE0MzFjODNhN2I5MmY2ZDE5ODg3NGIzYTMwYmJjNGNjNzNi
MDQ2OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL05ldHdv
cmtJbmZvUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L05ldHdvcmtJbmZvUHJvdmlkZXIuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUo
TkVUV09SS19JTkZPKQogCisjaW5jbHVkZSAiV0tDb250ZXh0LmgiCiAjaW5jbHVkZSAiV0tOZXR3
b3JrSW5mb01hbmFnZXIuaCIKICNpbmNsdWRlIDxOb3RJbXBsZW1lbnRlZC5oPgogCkBAIC01Niwx
NSArNTcsMTggQEAgc3RhdGljIGJvb2wgaXNNZXRlcmVkQ2FsbGJhY2soV0tOZXR3b3JrSW5mb01h
bmFnZXJSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiAgICAgcmV0dXJuIHRvTmV0d29ya0lu
Zm9Qcm92aWRlcihjbGllbnRJbmZvKS0+bWV0ZXJlZCgpOwogfQogCi1QYXNzUmVmUHRyPE5ldHdv
cmtJbmZvUHJvdmlkZXI+IE5ldHdvcmtJbmZvUHJvdmlkZXI6OmNyZWF0ZShXS05ldHdvcmtJbmZv
TWFuYWdlclJlZiB3a01hbmFnZXIpCitQYXNzUmVmUHRyPE5ldHdvcmtJbmZvUHJvdmlkZXI+IE5l
dHdvcmtJbmZvUHJvdmlkZXI6OmNyZWF0ZShXS0NvbnRleHRSZWYgd2tDb250ZXh0KQogewotICAg
IHJldHVybiBhZG9wdFJlZihuZXcgTmV0d29ya0luZm9Qcm92aWRlcih3a01hbmFnZXIpKTsKKyAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IE5ldHdvcmtJbmZvUHJvdmlkZXIod2tDb250ZXh0KSk7CiB9
CiAKLU5ldHdvcmtJbmZvUHJvdmlkZXI6Ok5ldHdvcmtJbmZvUHJvdmlkZXIoV0tOZXR3b3JrSW5m
b01hbmFnZXJSZWYgd2tNYW5hZ2VyKQotICAgIDogbV93a05ldHdvcmtJbmZvTWFuYWdlcih3a01h
bmFnZXIpCitOZXR3b3JrSW5mb1Byb3ZpZGVyOjpOZXR3b3JrSW5mb1Byb3ZpZGVyKFdLQ29udGV4
dFJlZiB3a0NvbnRleHQpCisgICAgOiBtX3drQ29udGV4dCh3a0NvbnRleHQpCiB7Ci0gICAgQVNT
RVJUKHdrTWFuYWdlcik7CisgICAgQVNTRVJUKHdrQ29udGV4dCk7CisKKyAgICBXS05ldHdvcmtJ
bmZvTWFuYWdlclJlZiB3a05ldHdvcmtJbmZvTWFuYWdlciA9IFdLQ29udGV4dEdldE5ldHdvcmtJ
bmZvTWFuYWdlcihtX3drQ29udGV4dC5nZXQoKSk7CisgICAgQVNTRVJUKHdrTmV0d29ya0luZm9N
YW5hZ2VyKTsKIAogICAgIFdLTmV0d29ya0luZm9Qcm92aWRlciB3a05ldHdvcmtJbmZvUHJvdmlk
ZXIgPSB7CiAgICAgICAgIGtXS05ldHdvcmtJbmZvUHJvdmlkZXJDdXJyZW50VmVyc2lvbiwKQEAg
LTc0LDEyICs3OCwxNSBAQCBOZXR3b3JrSW5mb1Byb3ZpZGVyOjpOZXR3b3JrSW5mb1Byb3ZpZGVy
KFdLTmV0d29ya0luZm9NYW5hZ2VyUmVmIHdrTWFuYWdlcikKICAgICAgICAgZ2V0QmFuZHdpZHRo
Q2FsbGJhY2ssCiAgICAgICAgIGlzTWV0ZXJlZENhbGxiYWNrCiAgICAgfTsKLSAgICBXS05ldHdv
cmtJbmZvTWFuYWdlclNldFByb3ZpZGVyKG1fd2tOZXR3b3JrSW5mb01hbmFnZXIuZ2V0KCksICZ3
a05ldHdvcmtJbmZvUHJvdmlkZXIpOworICAgIFdLTmV0d29ya0luZm9NYW5hZ2VyU2V0UHJvdmlk
ZXIod2tOZXR3b3JrSW5mb01hbmFnZXIsICZ3a05ldHdvcmtJbmZvUHJvdmlkZXIpOwogfQogCiBO
ZXR3b3JrSW5mb1Byb3ZpZGVyOjp+TmV0d29ya0luZm9Qcm92aWRlcigpCiB7Ci0gICAgV0tOZXR3
b3JrSW5mb01hbmFnZXJTZXRQcm92aWRlcihtX3drTmV0d29ya0luZm9NYW5hZ2VyLmdldCgpLCAw
KTsKKyAgICBXS05ldHdvcmtJbmZvTWFuYWdlclJlZiB3a05ldHdvcmtJbmZvTWFuYWdlciA9IFdL
Q29udGV4dEdldE5ldHdvcmtJbmZvTWFuYWdlcihtX3drQ29udGV4dC5nZXQoKSk7CisgICAgQVNT
RVJUKHdrTmV0d29ya0luZm9NYW5hZ2VyKTsKKworICAgIFdLTmV0d29ya0luZm9NYW5hZ2VyU2V0
UHJvdmlkZXIod2tOZXR3b3JrSW5mb01hbmFnZXIsIDApOwogfQogCiBkb3VibGUgTmV0d29ya0lu
Zm9Qcm92aWRlcjo6YmFuZHdpZHRoKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL05ldHdvcmtJbmZvUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL05ldHdvcmtJbmZvUHJvdmlkZXIuaAppbmRleCBiOWY4NmU2ZTVj
MTIyNDU3Y2VlZTliZWU0YjZhYTRkNDBmYjU2MTU5Li4wYTVkNjBlNGZhMTYxNThmNjY4ZTFmMjNi
MjcwMGUyYjYxYmZiMzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9OZXR3b3JrSW5mb1Byb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvTmV0d29ya0luZm9Qcm92aWRlci5oCkBAIC0zNyw3ICszNyw3IEBACiBjbGFzcyBO
ZXR3b3JrSW5mb1Byb3ZpZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8TmV0d29ya0luZm9Qcm92aWRl
cj4sIHB1YmxpYyBXZWJDb3JlOjpOZXR3b3JrSW5mb0NsaWVudCB7CiBwdWJsaWM6CiAgICAgdmly
dHVhbCB+TmV0d29ya0luZm9Qcm92aWRlcigpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5ldHdv
cmtJbmZvUHJvdmlkZXI+IGNyZWF0ZShXS05ldHdvcmtJbmZvTWFuYWdlclJlZik7CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8TmV0d29ya0luZm9Qcm92aWRlcj4gY3JlYXRlKFdLQ29udGV4dFJlZik7
CiAKICAgICAvLyBOZXR3b3JrSW5mb0NsaWVudCBpbnRlcmZhY2UuCiAgICAgdmlydHVhbCBkb3Vi
bGUgYmFuZHdpZHRoKCkgY29uc3Q7CkBAIC00Nyw5ICs0Nyw5IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCk7CiAKIHByaXZhdGU6Ci0gICAgTmV0d29ya0luZm9Qcm92
aWRlcihXS05ldHdvcmtJbmZvTWFuYWdlclJlZik7CisgICAgTmV0d29ya0luZm9Qcm92aWRlcihX
S0NvbnRleHRSZWYpOwogCi0gICAgV0tSZXRhaW5QdHI8V0tOZXR3b3JrSW5mb01hbmFnZXJSZWY+
IG1fd2tOZXR3b3JrSW5mb01hbmFnZXI7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBt
X3drQ29udGV4dDsKICAgICBXZWJDb3JlOjpOZXR3b3JrSW5mb1Byb3ZpZGVyRWZsIG1fcHJvdmlk
ZXI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9W
aWJyYXRpb25Qcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9W
aWJyYXRpb25Qcm92aWRlci5jcHAKaW5kZXggZTcxMDY0ZGViNjVlYzg1NTY5YTE4MjY0YTliN2Ux
ODllNzM0ZjE2Ni4uMTNkNGRlNmQ2NjU3OGRhZjZjMjFmYTVjYjdmMzMzYzg4ZDEzM2FmNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvVmlicmF0aW9uUHJvdmlk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1ZpYnJhdGlvblBy
b3ZpZGVyLmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShWSUJSQVRJT04pCiAKICNp
bmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNsdWRlICJXS0NvbnRleHQuaCIKICNpbmNsdWRlICJX
S1ZpYnJhdGlvbi5oIgogI2luY2x1ZGUgPEV2YXMuaD4KIApAQCAtNjUsMTUgKzY2LDE4IEBAIHN0
YXRpYyB2b2lkIGNhbmNlbFZpYnJhdGlvbkNhbGxiYWNrKFdLVmlicmF0aW9uUmVmLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKQogICAgIHRvVmlicmF0aW9uUHJvdmlkZXIoY2xpZW50SW5mbyktPmNh
bmNlbFZpYnJhdGlvbigpOwogfQogCi1QYXNzUmVmUHRyPFZpYnJhdGlvblByb3ZpZGVyPiBWaWJy
YXRpb25Qcm92aWRlcjo6Y3JlYXRlKFdLVmlicmF0aW9uUmVmIHdrVmlicmF0aW9uUmVmKQorUGFz
c1JlZlB0cjxWaWJyYXRpb25Qcm92aWRlcj4gVmlicmF0aW9uUHJvdmlkZXI6OmNyZWF0ZShXS0Nv
bnRleHRSZWYgd2tDb250ZXh0KQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgVmlicmF0aW9u
UHJvdmlkZXIod2tWaWJyYXRpb25SZWYpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFZpYnJh
dGlvblByb3ZpZGVyKHdrQ29udGV4dCkpOwogfQogCi1WaWJyYXRpb25Qcm92aWRlcjo6VmlicmF0
aW9uUHJvdmlkZXIoV0tWaWJyYXRpb25SZWYgd2tWaWJyYXRpb25SZWYpCi0gICAgOiBtX3drVmli
cmF0aW9uUmVmKHdrVmlicmF0aW9uUmVmKQorVmlicmF0aW9uUHJvdmlkZXI6OlZpYnJhdGlvblBy
b3ZpZGVyKFdLQ29udGV4dFJlZiB3a0NvbnRleHQpCisgICAgOiBtX3drQ29udGV4dCh3a0NvbnRl
eHQpCiB7Ci0gICAgQVNTRVJUKHdrVmlicmF0aW9uUmVmKTsKKyAgICBBU1NFUlQobV93a0NvbnRl
eHQuZ2V0KCkpOworCisgICAgV0tWaWJyYXRpb25SZWYgd2tWaWJyYXRpb24gPSBXS0NvbnRleHRH
ZXRWaWJyYXRpb24obV93a0NvbnRleHQuZ2V0KCkpOworICAgIEFTU0VSVCh3a1ZpYnJhdGlvbik7
CiAKICAgICBXS1ZpYnJhdGlvblByb3ZpZGVyIHdrVmlicmF0aW9uUHJvdmlkZXIgPSB7CiAgICAg
ICAgIGtXS1ZpYnJhdGlvblByb3ZpZGVyQ3VycmVudFZlcnNpb24sCkBAIC04MSwxMiArODUsMTUg
QEAgVmlicmF0aW9uUHJvdmlkZXI6OlZpYnJhdGlvblByb3ZpZGVyKFdLVmlicmF0aW9uUmVmIHdr
VmlicmF0aW9uUmVmKQogICAgICAgICB2aWJyYXRlQ2FsbGJhY2ssCiAgICAgICAgIGNhbmNlbFZp
YnJhdGlvbkNhbGxiYWNrCiAgICAgfTsKLSAgICBXS1ZpYnJhdGlvblNldFByb3ZpZGVyKG1fd2tW
aWJyYXRpb25SZWYuZ2V0KCksICZ3a1ZpYnJhdGlvblByb3ZpZGVyKTsKKyAgICBXS1ZpYnJhdGlv
blNldFByb3ZpZGVyKHdrVmlicmF0aW9uLCAmd2tWaWJyYXRpb25Qcm92aWRlcik7CiB9CiAKIFZp
YnJhdGlvblByb3ZpZGVyOjp+VmlicmF0aW9uUHJvdmlkZXIoKQogewotICAgIFdLVmlicmF0aW9u
U2V0UHJvdmlkZXIobV93a1ZpYnJhdGlvblJlZi5nZXQoKSwgMCk7CisgICAgV0tWaWJyYXRpb25S
ZWYgd2tWaWJyYXRpb24gPSBXS0NvbnRleHRHZXRWaWJyYXRpb24obV93a0NvbnRleHQuZ2V0KCkp
OworICAgIEFTU0VSVCh3a1ZpYnJhdGlvbik7CisKKyAgICBXS1ZpYnJhdGlvblNldFByb3ZpZGVy
KHdrVmlicmF0aW9uLCAwKTsKIH0KIAogdm9pZCBWaWJyYXRpb25Qcm92aWRlcjo6dmlicmF0ZSh1
aW50NjRfdCB2aWJyYXRpb25UaW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvVmlicmF0aW9uUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL1ZpYnJhdGlvblByb3ZpZGVyLmgKaW5kZXggYzI2NDNiNjM4NjYyN2EzNjM1OWQz
ZjliZjIyNjMzMzFlZjcxYjkwNC4uNmIyZGI0ZWVjYWQwM2I5NjQzMDM0ODRiMjE2MzE4YjUwYzZh
NjdhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvVmlicmF0
aW9uUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9WaWJy
YXRpb25Qcm92aWRlci5oCkBAIC0zNyw3ICszNyw3IEBAIHR5cGVkZWYgc3RydWN0IF9Fd2tfVmli
cmF0aW9uX0NsaWVudCBFd2tfVmlicmF0aW9uX0NsaWVudDsKIAogY2xhc3MgVmlicmF0aW9uUHJv
dmlkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxWaWJyYXRpb25Qcm92aWRlcj4gewogcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFZpYnJhdGlvblByb3ZpZGVyPiBjcmVhdGUoV0tWaWJyYXRp
b25SZWYpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFZpYnJhdGlvblByb3ZpZGVyPiBjcmVhdGUo
V0tDb250ZXh0UmVmKTsKICAgICB2aXJ0dWFsIH5WaWJyYXRpb25Qcm92aWRlcigpOwogCiAgICAg
dm9pZCB2aWJyYXRlKHVpbnQ2NF90IHZpYnJhdGlvblRpbWUpOwpAQCAtNDUsOSArNDUsOSBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRWaWJyYXRpb25DbGllbnRDYWxsYmFja3MoRXdrX1ZpYnJhdGlv
bl9DbGllbnRfVmlicmF0ZV9DYiwgRXdrX1ZpYnJhdGlvbl9DbGllbnRfVmlicmF0aW9uX0NhbmNl
bF9DYiwgdm9pZCopOwogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IFZpYnJhdGlvblByb3ZpZGVy
KFdLVmlicmF0aW9uUmVmKTsKKyAgICBleHBsaWNpdCBWaWJyYXRpb25Qcm92aWRlcihXS0NvbnRl
eHRSZWYpOwogCi0gICAgV0tSZXRhaW5QdHI8V0tWaWJyYXRpb25SZWY+IG1fd2tWaWJyYXRpb25S
ZWY7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBtX3drQ29udGV4dDsKICAgICBPd25Q
dHI8RXdrX1ZpYnJhdGlvbl9DbGllbnQ+IG1fdmlicmF0aW9uQ2xpZW50OwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwCmluZGV4IGI0
NDgwMGEwMzVmYTMwNmQ0MmJlZDI5MGI1MDgxYjZkMTg5YzZkYTcuLjc2Nzc0YzcyYTNiNTU4OGZi
MjNhY2M4MDc5ZjMyYTc1MTExY2NmMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAKQEAgLTg5LDE4ICs4OSwxNSBAQCBzdHJ1Y3QgX0V3
a19Db250ZXh0IHsKICAgICAgICAgZXdrX2luaXQoKTsKIAogI2lmIEVOQUJMRShCQVRURVJZX1NU
QVRVUykKLSAgICAgICAgV0tCYXR0ZXJ5TWFuYWdlclJlZiB3a0JhdHRlcnlNYW5hZ2VyID0gV0tD
b250ZXh0R2V0QmF0dGVyeU1hbmFnZXIoY29udGV4dFJlZi5nZXQoKSk7Ci0gICAgICAgIGJhdHRl
cnlQcm92aWRlciA9IEJhdHRlcnlQcm92aWRlcjo6Y3JlYXRlKHdrQmF0dGVyeU1hbmFnZXIpOwor
ICAgICAgICBiYXR0ZXJ5UHJvdmlkZXIgPSBCYXR0ZXJ5UHJvdmlkZXI6OmNyZWF0ZShjb250ZXh0
LmdldCgpKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKE5FVFdPUktfSU5GTykKLSAgICAgICAgV0tO
ZXR3b3JrSW5mb01hbmFnZXJSZWYgd2tOZXR3b3JrSW5mb01hbmFnZXJSZWYgPSBXS0NvbnRleHRH
ZXROZXR3b3JrSW5mb01hbmFnZXIoY29udGV4dFJlZi5nZXQoKSk7Ci0gICAgICAgIG5ldHdvcmtJ
bmZvUHJvdmlkZXIgPSBOZXR3b3JrSW5mb1Byb3ZpZGVyOjpjcmVhdGUod2tOZXR3b3JrSW5mb01h
bmFnZXJSZWYpOworICAgICAgICBuZXR3b3JrSW5mb1Byb3ZpZGVyID0gTmV0d29ya0luZm9Qcm92
aWRlcjo6Y3JlYXRlKGNvbnRleHQuZ2V0KCkpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoVklCUkFU
SU9OKQotICAgICAgICBXS1ZpYnJhdGlvblJlZiB3a1ZpYnJhdGlvblJlZiA9IFdLQ29udGV4dEdl
dFZpYnJhdGlvbihjb250ZXh0UmVmLmdldCgpKTsKLSAgICAgICAgdmlicmF0aW9uUHJvdmlkZXIg
PSBWaWJyYXRpb25Qcm92aWRlcjo6Y3JlYXRlKHdrVmlicmF0aW9uUmVmKTsKKyAgICAgICAgdmli
cmF0aW9uUHJvdmlkZXIgPSBWaWJyYXRpb25Qcm92aWRlcjo6Y3JlYXRlKGNvbnRleHQuZ2V0KCkp
OwogI2VuZGlmCiAKICNpZiBFTkFCTEUoTUVNT1JZX1NBTVBMRVIpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>