<?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>132857</bug_id>
          
          <creation_ts>2014-05-13 01:36:50 -0700</creation_ts>
          <short_desc>[iOS] Page scale update messages for media controls should only fire at the end of zooming</short_desc>
          <delta_ts>2014-05-13 17:10:29 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1008893</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-05-13 01:36:50 -0700</bug_when>
    <thetext>[iOS] Page scale update messages for media controls should only fire at the end of zooming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008913</commentid>
    <comment_count>1</comment_count>
      <attachid>231370</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-05-13 04:57:21 -0700</bug_when>
    <thetext>Created attachment 231370
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009030</commentid>
    <comment_count>2</comment_count>
      <attachid>231370</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-13 11:56:59 -0700</bug_when>
    <thetext>Comment on attachment 231370
Patch

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

I&apos;ll have a look.

My first take is: I don&apos;t understand why would this be related to the pinch gesture. Why wouldn&apos;t you update the media control on programmatic zoom (e.g. double tap) and scale changes originating from the WebProcess (e.g. Content Width changes, and is rescaled to fit into view).

&gt; Source/WebCore/page/Page.cpp:788
&gt; +            frame-&gt;document()-&gt;pageScaleFactorChanged();

The method pageScaleFactorChanged() should probably be renamed to something specific to media, and to a name that make it clear that it can be out of sync with the page scale factor.

As it is with the patch, it counter intuitive that you would call pageScaleFactorChanged() only when a user triggered zoom ends.

It is also unclear why would one call pageScaleFactorChanged() on every document when only the scale factor of the main frame changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009034</commentid>
    <comment_count>3</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-05-13 12:11:10 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 231370 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=231370&amp;action=review
&gt; 
&gt; I&apos;ll have a look.
&gt; 
&gt; My first take is: I don&apos;t understand why would this be related to the pinch gesture. Why wouldn&apos;t you update the media control on programmatic zoom (e.g. double tap) and scale changes originating from the WebProcess (e.g. Content Width changes, and is rescaled to fit into view).

Yeah, that&apos;s a mistake. This should happen any time zoom changes. The idea is just to stop it happening during a pinch... so I should move the functionality back into the setPageScaleFactor method.

&gt; 
&gt; &gt; Source/WebCore/page/Page.cpp:788
&gt; &gt; +            frame-&gt;document()-&gt;pageScaleFactorChanged();
&gt; 
&gt; The method pageScaleFactorChanged() should probably be renamed to something specific to media, and to a name that make it clear that it can be out of sync with the page scale factor.

I think I should do half of that. I think I should remove the guards around the code that mention MEDIA, because this could really apply to anything.

Then, yeah, I need to think of a better name.... pageScaleFactorCommitted?

&gt; 
&gt; As it is with the patch, it counter intuitive that you would call pageScaleFactorChanged() only when a user triggered zoom ends.
&gt; 
&gt; It is also unclear why would one call pageScaleFactorChanged() on every document when only the scale factor of the main frame changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009076</commentid>
    <comment_count>4</comment_count>
      <attachid>231407</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-05-13 14:30:23 -0700</bug_when>
    <thetext>Created attachment 231407
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009078</commentid>
    <comment_count>5</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-05-13 14:34:07 -0700</bug_when>
    <thetext>From Ben&apos;s comments:

- renamed the method to make it clear it&apos;s only about media controls
- call the &quot;commit change for media&quot; method during page scale changes unless we&apos;re in the middle of a zoom (covering double tap and other things)
- only calling the method on the main frame</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009081</commentid>
    <comment_count>6</comment_count>
      <attachid>231407</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-05-13 14:39:20 -0700</bug_when>
    <thetext>Comment on attachment 231407
Patch

VisibleContentRectUpdateInfo already has inStableState(); you should use this instead of plumbing through more ways to know if a zoom is in progress.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009110</commentid>
    <comment_count>7</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-13 15:30:22 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 231407 [details])
&gt; VisibleContentRectUpdateInfo already has inStableState(); you should use this instead of plumbing through more ways to know if a zoom is in progress.

The problem with that is if you start pinching, then lift a single finger and continue scrolling.

That is not a stable update, yet we should update anything that depends on a stable scale factor.

At the moment, WKWebView does not differentiate. It seems Dean will need to break stable state in two: &quot;stableState&quot; and &quot;scaleFactorIsStable&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009118</commentid>
    <comment_count>8</comment_count>
      <attachid>231413</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-05-13 15:58:55 -0700</bug_when>
    <thetext>Created attachment 231413
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009119</commentid>
    <comment_count>9</comment_count>
      <attachid>231413</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-05-13 16:12:53 -0700</bug_when>
    <thetext>Comment on attachment 231413
Patch

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

&gt; Source/WebCore/dom/Document.h:1045
&gt; -    void pageScaleFactorChanged();
&gt; +    void pageScaleFactorCommittedForMedia();

I would prefer this not have &quot;ForMedia&quot; in the name. We may need to hook other things up to stable scale changes. Maybe pageScaleFactorChangeToStableValue or something. gotStableScaleChange?

&gt; Source/WebCore/page/Page.cpp:765
&gt; -    for (Frame* frame = &amp;mainFrame(); frame; frame = frame-&gt;tree().traverseNext())
&gt; -        frame-&gt;document()-&gt;pageScaleFactorChanged();
&gt; +    if (inStableState)
&gt; +        mainFrame().document()-&gt;pageScaleFactorCommittedForMedia();

You&apos;ve lost going through subframes in this patch.

&gt; Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:2162
&gt; +    m_page-&gt;setPageScaleFactor(floatBoundedScale, scrollPosition, visibleContentRectUpdateInfo.inStableState());

This changes means that we&apos;ll be changing the scale factor without checking floatBoundedScale != m_page-&gt;pageScaleFactor(), which I suspect will cause some bad things to happen (maybe when pinching?)

I think you should only call m_page-&gt;setPageScaleFactor() here if the state is stable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009124</commentid>
    <comment_count>10</comment_count>
      <attachid>231416</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-05-13 16:22:25 -0700</bug_when>
    <thetext>Created attachment 231416
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009125</commentid>
    <comment_count>11</comment_count>
      <attachid>231416</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-05-13 16:25:02 -0700</bug_when>
    <thetext>Comment on attachment 231416
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:2162
&gt; +    bool toldPageThatScaleHasChanged = false;

Could be just hasSetPageScale I think</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009143</commentid>
    <comment_count>12</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-05-13 17:10:29 -0700</bug_when>
    <thetext>Committed r168761: &lt;http://trac.webkit.org/changeset/168761&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231370</attachid>
            <date>2014-05-13 04:57:21 -0700</date>
            <delta_ts>2014-05-13 14:30:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132857-20140513215657.patch</filename>
            <type>text/plain</type>
            <size>12113</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4NjMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQzM2M1NjY1ZDlkNDhk
MjcyMzc3ZWI5Mzk4ZjY0MDVlODYzOWU0NC4uN2VkMzgxNzUzNThiNDdlNTdhNjhjZDFhMmZkN2Ix
OWMxYjcyMDg3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE0LTA1LTEzICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBQYWdlIHNjYWxlIHVw
ZGF0ZSBtZXNzYWdlcyBmb3IgbWVkaWEgY29udHJvbHMgc2hvdWxkIG9ubHkgZmlyZSBhdCB0aGUg
ZW5kIG9mIHpvb21pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEzMjg1NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTY2MzEwMDk+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXMgdGhlIHVzZXIgd2Fz
IHpvb21pbmcsIHRoZSBtZWRpYSBjb250cm9scyB0aGF0IHJlc3BvbmRlZAorICAgICAgICB0byB0
aGUgcGFnZSBzY2FsZSAoYW5kIHJlc2l6ZWQgdGhlbXNlbHZlcykgd291bGQgZG8gc28KKyAgICAg
ICAgc2xpZ2h0bHkgb3V0IG9mIHN5bmMgd2l0aCB0aGUgc2NyZWVuIHJlZnJlc2hlcywgYW5kIGl0
IGxvb2tlZAorICAgICAgICB0ZXJyaWJsZS4gVGhleSByZWFsbHkgb25seSBuZWVkIHRvIGdldCB0
b2xkIGF0IHRoZSBlbmQKKyAgICAgICAgb2YgdGhlIHpvb20gdGhhdCB0aGV5IG5lZWQgdG8gcmVs
YXlvdXQuCisKKyAgICAgICAgRXhwb3NlIGEgd2F5IGZvciBXZWJLaXQgdG8gdGVsbCB0aGUgUGFn
ZSB0aGF0IGl0IGlzCisgICAgICAgIGluIHRoZSBtaWRkbGUgb2YgYSB1c2VyIGluaXRpYXRlZCB6
b29tLiBUaGlzIHdheSB0aGUKKyAgICAgICAgTWVkaWEgQ29udHJvbHMgd2lsbCBvbmx5IHJlY2Vp
dmUgdGhlIHBhZ2VTY2FsZUZhY3RvckNoYW5nZWQKKyAgICAgICAgbWVzc2FnZSBhdCB0aGUgZW5k
IG9mIHRoZSB6b29tLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IEV4cG9ydCBQYWdlOjpz
ZXRJblVzZXJUcmlnZ2VyZWRab29tLgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlOjpzZXRQYWdlU2NhbGVGYWN0b3IpOiBNb3ZlIHRoZSBjb2RlIHRoYXQK
KyAgICAgICAgY2FsbGVkIHBhZ2VTY2FsZUZhY3RvckNoYW5nZWQgZnJvbSBoZXJlLi4uCisgICAg
ICAgIChXZWJDb3JlOjpQYWdlOjpzZXRJblVzZXJUcmlnZ2VyZWRab29tKTogLi4uIHRvIGhlcmUs
IHdoaWNoCisgICAgICAgIGlzIGEgbmV3IG1ldGhvZC4gSWYgd2UncmUgdHJhbnNpdGlvbmluZyBm
cm9tIHpvb21pbmcgdG8KKyAgICAgICAgZW5kIHpvb21pbmcsIHRlbGwgdGhlIGZyYW1lcyB0aGF0
IHRoZSBzY2FsZSBoYXMgY2hhbmdlZC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2U6OmluVXNlclRyaWdnZXJlZFpvb20pOiBHZXR0ZXIuCisKIDIwMTQtMDUt
MTIgIEpvenNlZiBCZXJ0YSAgPGpiZXJ0YS51LXN6ZWdlZEBwYXJ0bmVyLnNhbXN1bmcuY29tPgog
CiAgICAgICAgIFdpbkNhaXJvIGJ1aWxkZml4IGFmdGVyIHIxNjg2MTEKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBm
MjIzOTM4YTRmZGI1OTUzMjQwNmQ4MTRlNjBjZTkzODYzMTRmYTEzLi4wODc4MmNmOTRkMzIwMjUx
MjgxNTA2ZGNmMTY0ZDViYWQyYjY5OGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIw
MTQtMDUtMTMgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1Nd
IFBhZ2Ugc2NhbGUgdXBkYXRlIG1lc3NhZ2VzIGZvciBtZWRpYSBjb250cm9scyBzaG91bGQgb25s
eSBmaXJlIGF0IHRoZSBlbmQgb2Ygem9vbWluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyODU3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xNjYz
MTAwOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
cyB0aGUgdXNlciB3YXMgem9vbWluZywgdGhlIG1lZGlhIGNvbnRyb2xzIHRoYXQgcmVzcG9uZGVk
CisgICAgICAgIHRvIHRoZSBwYWdlIHNjYWxlIChhbmQgcmVzaXplZCB0aGVtc2VsdmVzKSB3b3Vs
ZCBkbyBzbworICAgICAgICBzbGlnaHRseSBvdXQgb2Ygc3luYyB3aXRoIHRoZSBzY3JlZW4gcmVm
cmVzaGVzLCBhbmQgaXQgbG9va2VkCisgICAgICAgIHRlcnJpYmxlLiBUaGV5IHJlYWxseSBvbmx5
IG5lZWQgdG8gZ2V0IHRvbGQgYXQgdGhlIGVuZAorICAgICAgICBvZiB0aGUgem9vbSB0aGF0IHRo
ZXkgbmVlZCB0byByZWxheW91dC4KKworICAgICAgICBPbiB0aGUgV2ViS2l0MiBzaWRlIHRoaXMg
aW52b2x2ZXMgaW1wbGVtZW50aW5nIHNvbWUgY29kZQorICAgICAgICBpbiB0aGUgc2Nyb2xsVmll
d0RpZEVuZFpvb21pbmcgZGVsZWdhdGUgd2l0aGluIHRoZSBVSVByb2Nlc3MsCisgICAgICAgIHdo
aWNoIHRlbGxzIHRoZSBXZWJQcm9jZXNzIHRoYXQgYSB1c2VyLXRyaWdnZXJlZCB6b29tIGhhcyBl
bmRlZC4KKyAgICAgICAgVGhpcyBpcyB0aGVuIGZvcndhcmRlZCBvbnRvIHRoZSBXZWJDb3JlOjpQ
YWdlLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAg
ICAgICgtW1dLV2ViVmlldyBzY3JvbGxWaWV3RGlkRW5kWm9vbWluZzp3aXRoVmlldzphdFNjYWxl
Ol0pOiBUZWxsIHRoZSBjb250ZW50VmlldworICAgICAgICB0aGF0IHRoZSB1c2VyIHRyaWdnZXJl
ZCB6b29tIGhhcyBlbmRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6IEFk
ZCBkaWRFbmRVc2VyVHJpZ2dlcmVkWm9vbWluZygpLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlldy5oOiBBZGQgZGlkRW5kVXNlclRyaWdnZXJlZFpvb20uCisgICAgICAgICog
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3
IGRpZEVuZFVzZXJUcmlnZ2VyZWRab29tXSk6IEltcGxlbWVudCBkaWRFbmRVc2VyVHJpZ2dlcmVk
Wm9vbSwgd2hpY2gKKyAgICAgICAgY2FsbHMgaW50byB0aGUgUGFnZSBwcm94eS4KKyAgICAgICAg
KiBVSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpkaWRFbmRVc2VyVHJpZ2dlcmVkWm9vbWluZyk6IFNlbmQgRGlkRW5kVXNlclRy
aWdnZXJlZFpvb21pbmcgdG8gdGhlIFdlYlByb2Nlc3MuCisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5t
ZXNzYWdlcy5pbjogQWRkIERpZEVuZFVzZXJUcmlnZ2VyZWRab29taW5nLgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6d2lsbFN0YXJ0VXNlclRyaWdnZXJlZFpvb21pbmcpOiBUZWxsIHRoZSBQYWdlIHRoYXQg
YSB1c2VyCisgICAgICAgIHRyaWdnZXJlZCB6b29tIGhhcyBzdGFydGVkLgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpkaWRFbmRVc2VyVHJpZ2dlcmVkWm9vbWluZyk6IFRlbGwgdGhlIFBhZ2Ug
dGhhdCBhIHVzZXIgdHJpZ2dlcmVkCisgICAgICAgIHpvb20gaGFzIGVuZGVkLgorCiAyMDE0LTA1
LTEyICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgV0tX
ZWJWaWV3IHNob3VsZCBkZWZhdWx0IHRvIF9iYWNrZ3JvdW5kRXh0ZW5kc0JleW9uZFBhZ2UgPSBZ
RVMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggOGQzZGU3ZWYxNmYwMDk1OTI2MmEwNGMzODgwNjkz
NjdiNTg0MzFmYy4uZGExODE5NmRhNTVlYTE5OTZhMDg4YjE1MGQxODgzMjYyYzYwYmEzOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KQEAgLTEwNzYsNiArMTA3Niw3IEBAIF9fWk43V2ViQ29yZTRQYWdl
MjFtYXJrQWxsTWF0Y2hlc0ZvclRleHRFUktOM1dURjZTdHJpbmdFaGJqCiBfX1pON1dlYkNvcmU0
UGFnZTIxcmVzdW1lQW5pbWF0aW5nSW1hZ2VzRXYKIF9fWk43V2ViQ29yZTRQYWdlMjJub25GYXN0
U2Nyb2xsYWJsZVJlY3RzRVBLTlNfNUZyYW1lRQogX19aTjdXZWJDb3JlNFBhZ2UyMnJlbW92ZUxh
eW91dE1pbGVzdG9uZXNFagorX19aTjdXZWJDb3JlNFBhZ2UyMnNldEluVXNlclRyaWdnZXJlZFpv
b21FYgogX19aTjdXZWJDb3JlNFBhZ2UyM2NsZWFyVW5kb1JlZG9PcGVyYXRpb25zRXYKIF9fWk43
V2ViQ29yZTRQYWdlMjNpbnZhbGlkYXRlU3R5bGVzRm9yTGlua0V5CiBfX1pON1dlYkNvcmU0UGFn
ZTI0ZmluZFN0cmluZ01hdGNoaW5nUmFuZ2VzRVJLTjNXVEY2U3RyaW5nRWhpUE5TMV82VmVjdG9y
SU5TMV82UmVmUHRySU5TXzVSYW5nZUVFRUxtMEVOUzFfMTVDcmFzaE9uT3ZlcmZsb3dFRUVSaQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5jcHAKaW5kZXggZjVmYmZiNTdiMWJiMGQ4MmE2NjBiMTQ0YTk2YTBiMTI4Nzc5
MzU2Ny4uZjlhNzdkMjgzN2M5MTk2MzFiNzU1MDc3NWQ1NmMyMWVlMDA5NGNiMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwCkBAIC03NTUsMTEgKzc1NSw2IEBAIHZvaWQgUGFnZTo6c2V0UGFnZVNjYWxlRmFj
dG9yKGZsb2F0IHNjYWxlLCBjb25zdCBJbnRQb2ludCYgb3JpZ2luKQogICAgICAgICAgICAgdmll
dy0+aG9zdFdpbmRvdygpLT5kZWxlZ2F0ZWRTY3JvbGxSZXF1ZXN0ZWQob3JpZ2luKTsKICNlbmRp
ZgogICAgIH0KLQotI2lmIEVOQUJMRShNRURJQV9DT05UUk9MU19TQ1JJUFQpCi0gICAgZm9yIChG
cmFtZSogZnJhbWUgPSAmbWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCku
dHJhdmVyc2VOZXh0KCkpCi0gICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT5wYWdlU2NhbGVGYWN0
b3JDaGFuZ2VkKCk7Ci0jZW5kaWYKIH0KIAogdm9pZCBQYWdlOjpzZXREZXZpY2VTY2FsZUZhY3Rv
cihmbG9hdCBzY2FsZUZhY3RvcikKQEAgLTc4Myw3ICs3NzgsMjAgQEAgdm9pZCBQYWdlOjpzZXRE
ZXZpY2VTY2FsZUZhY3RvcihmbG9hdCBzY2FsZUZhY3RvcikKICAgICBwYWdlQ2FjaGUoKS0+bWFy
a1BhZ2VzRm9yRnVsbFN0eWxlUmVjYWxjKHRoaXMpOwogICAgIEdyYXBoaWNzQ29udGV4dDo6dXBk
YXRlRG9jdW1lbnRNYXJrZXJSZXNvdXJjZXMoKTsKIH0KLSAgICAKKwordm9pZCBQYWdlOjpzZXRJ
blVzZXJUcmlnZ2VyZWRab29tKGJvb2wgaW5Vc2VyVHJpZ2dlcmVkWm9vbSkKK3sKKyNpZiBFTkFC
TEUoTUVESUFfQ09OVFJPTFNfU0NSSVBUKQorICAgIC8vIElmIHdlJ3ZlIGVuZGVkIGEgem9vbSwg
bGV0IHRoZSBmcmFtZXMga25vdyB0aGUgcGFnZSBzY2FsZSBoYXMgbGlrZWx5IGNoYW5nZWQuCisg
ICAgaWYgKG1faW5Vc2VyVHJpZ2dlcmVkWm9vbSAmJiAhaW5Vc2VyVHJpZ2dlcmVkWm9vbSkgewor
ICAgICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9ICZtYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0g
ZnJhbWUtPnRyZWUoKS50cmF2ZXJzZU5leHQoKSkKKyAgICAgICAgICAgIGZyYW1lLT5kb2N1bWVu
dCgpLT5wYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7CisgICAgfQorI2VuZGlmCisKKyAgICBtX2lu
VXNlclRyaWdnZXJlZFpvb20gPSBpblVzZXJUcmlnZ2VyZWRab29tOworfQorCiB2b2lkIFBhZ2U6
OnNldFRvcENvbnRlbnRJbnNldChmbG9hdCBjb250ZW50SW5zZXQpCiB7CiAgICAgaWYgKG1fdG9w
Q29udGVudEluc2V0ID09IGNvbnRlbnRJbnNldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggNTlmOGFlNjIy
YWE0ZjVhYTg3ZmVlNmYwNDM2YmQ3MjFiNzM1MjcyZC4uMzEzMjRlZWNlNGVjN2Y4MzA0YjE0Y2U1
YzI5NTc4MjI0MTU0NGMxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTQyNiw2ICs0MjYsOSBAQCBwdWJs
aWM6CiAgICAgdm9pZCBlbmFibGVMZWdhY3lQcml2YXRlQnJvd3NpbmcoYm9vbCBwcml2YXRlQnJv
d3NpbmdFbmFibGVkKTsKICAgICBib29sIHVzZXNFcGhlbWVyYWxTZXNzaW9uKCkgY29uc3QgeyBy
ZXR1cm4gbV9zZXNzaW9uSUQuaXNFcGhlbWVyYWwoKTsgfQogCisgICAgdm9pZCBzZXRJblVzZXJU
cmlnZ2VyZWRab29tKGJvb2wpOworICAgIGJvb2wgaW5Vc2VyVHJpZ2dlcmVkWm9vbSgpIGNvbnN0
IHsgcmV0dXJuIG1faW5Vc2VyVHJpZ2dlcmVkWm9vbTsgfQorCiBwcml2YXRlOgogICAgIHZvaWQg
aW5pdEdyb3VwKCk7CiAKQEAgLTUzMiw2ICs1MzUsNyBAQCBwcml2YXRlOgogICAgIEpTQzo6RGVi
dWdnZXIqIG1fZGVidWdnZXI7CiAKICAgICBib29sIG1fY2FuU3RhcnRNZWRpYTsKKyAgICBib29s
IG1faW5Vc2VyVHJpZ2dlcmVkWm9vbTsKIAogICAgIFJlZlB0cjxTdG9yYWdlTmFtZXNwYWNlPiBt
X3Nlc3Npb25TdG9yYWdlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tCmluZGV4IGQyMmJkNTU3Yjk0ZjgzYWJmZjIzZTJjZDA4NDI0YWU5M2Fi
ZTUzNjcuLjE1NjA0MTU2Njg1YjhjN2M5NjlmZDQzOTUxNDE3OThkZDc4YTVhZDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC03NDQs
NiArNzQ0LDggQEAgc3RhdGljIFdlYkNvcmU6OkZsb2F0UG9pbnQgY29uc3RyYWluQ29udGVudE9m
ZnNldChXZWJDb3JlOjpGbG9hdFBvaW50IGNvbnRlbnRPZmYKIHsKICAgICBBU1NFUlQoc2Nyb2xs
VmlldyA9PSBfc2Nyb2xsVmlldyk7CiAgICAgW3NlbGYgX3VwZGF0ZVZpc2libGVDb250ZW50UmVj
dHNdOworICAgIGlmIChzY3JvbGxWaWV3LnBpbmNoR2VzdHVyZVJlY29nbml6ZXIuc3RhdGUgPT0g
VUlHZXN0dXJlUmVjb2duaXplclN0YXRlRW5kZWQgfHwgc2Nyb2xsVmlldy5waW5jaEdlc3R1cmVS
ZWNvZ25pemVyLnN0YXRlID09IFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZUNhbmNlbGxlZCkKKyAg
ICAgICAgW19jb250ZW50VmlldyBkaWRFbmRVc2VyVHJpZ2dlcmVkWm9vbV07CiAgICAgW19jb250
ZW50VmlldyBkaWRab29tVG9TY2FsZTpzY2FsZV07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAppbmRleCAyYTYyNTFjYTEzNjFiMThhMzdiZTA2OTBlNmZhZGQ5ZDE3
ZjU4YTZkLi5jYmIzODJmNDVlZGU3MWUwYTViOWY0NWViMzFhNDY2MjhmOTIzMjk2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xMDMyLDYgKzEwMzIsNyBAQCBw
dWJsaWM6CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgdm9pZCB3aWxsU3RhcnRVc2VyVHJpZ2dl
cmVkWm9vbWluZygpOworICAgIHZvaWQgZGlkRW5kVXNlclRyaWdnZXJlZFpvb21pbmcoKTsKIAog
ICAgIHZvaWQgcG90ZW50aWFsVGFwQXRQb3NpdGlvbihjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50
JiwgdWludDY0X3QmIHJlcXVlc3RJRCk7CiAgICAgdm9pZCBjb21taXRQb3RlbnRpYWxUYXAoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3LmgKaW5kZXggNWJk
OTliM2QxMDgxZWJkNTBjYTI4Mjg5OWE0Zjk4MzE4YTVlYTY3YS4uNzZiYTE5NDRhOGU4MjUyZjMy
YjAwY2Y1NjFjNjQ2ODVkYjcyMWExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3LmgKQEAgLTcwLDYgKzcwLDcgQEAgc3RydWN0IFdlYlBhZ2VDb25maWd1
cmF0aW9uOwogLSAodm9pZCl3aWxsU3RhcnRab29tT3JTY3JvbGw7CiAtICh2b2lkKXdpbGxTdGFy
dFVzZXJUcmlnZ2VyZWRTY3JvbGw7CiAtICh2b2lkKXdpbGxTdGFydFVzZXJUcmlnZ2VyZWRab29t
OworLSAodm9pZClkaWRFbmRVc2VyVHJpZ2dlcmVkWm9vbTsKIAogLSAoc3RkOjp1bmlxdWVfcHRy
PFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eT4pX2NyZWF0ZURyYXdpbmdBcmVhUHJveHk7CiAtICh2
b2lkKV9wcm9jZXNzRGlkRXhpdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlldy5tbQppbmRleCBlMTY0YWE1ZjkxODNlZmEwODJhMzc0YTcxZWQxZDBjODNlOWNi
Yzk4Li4zN2Q5YTg5Yjk2MWM1NmZhYzdhOTY4YmIyNzc2YzZjNDI4Y2IxNzBmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCkBAIC0zODUsNiArMzg1
LDExIEBAIHN0YXRpYyBpbmxpbmUgRmxvYXRSZWN0IGZpeGVkUG9zaXRpb25SZWN0RnJvbUV4cG9z
ZWRSZWN0KENHUmVjdCB1bm9ic2N1cmVkUmVjdCwKICAgICBbc2VsZiBfZGlkRW5kU2Nyb2xsaW5n
T3Jab29taW5nXTsKIH0KIAorLSAodm9pZClkaWRFbmRVc2VyVHJpZ2dlcmVkWm9vbQoreworICAg
IF9wYWdlLT5kaWRFbmRVc2VyVHJpZ2dlcmVkWm9vbWluZygpOworfQorCiAjcHJhZ21hIG1hcmsg
SW50ZXJuYWwKIAogLSAodm9pZClfd2luZG93RGlkTW92ZVRvU2NyZWVuTm90aWZpY2F0aW9uOihO
U05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCBmZjBlMGE0MjMxZmMzOTYzMjg0OTlhY2Nl
ZjUzMTRmNGQyNGNjM2Y1Li44N2RiOGYwMmUwNWQ3MzJiNTIwZWE3OWYzOTk1MWM3MzE5OGZmZDhi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlP
Uy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5t
bQpAQCAtNDYxLDYgKzQ2MSwxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6d2lsbFN0YXJ0VXNlclRy
aWdnZXJlZFpvb21pbmcoKQogICAgIHByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpX
aWxsU3RhcnRVc2VyVHJpZ2dlcmVkWm9vbWluZygpLCBtX3BhZ2VJRCk7CiB9CiAKK3ZvaWQgV2Vi
UGFnZVByb3h5OjpkaWRFbmRVc2VyVHJpZ2dlcmVkWm9vbWluZygpCit7CisgICAgcHJvY2Vzcygp
LnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRpZEVuZFVzZXJUcmlnZ2VyZWRab29taW5nKCksIG1f
cGFnZUlEKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OnBvdGVudGlhbFRhcEF0UG9zaXRpb24o
Y29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgcG9zaXRpb24sIHVpbnQ2NF90JiByZXF1ZXN0SUQp
CiB7CiAgICAgcHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlBvdGVudGlhbFRhcEF0
UG9zaXRpb24ocmVxdWVzdElELCBwb3NpdGlvbiksIG1fcGFnZUlEKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDk0NzlkNzQyOGZmYThjZTQzMmEz
ZjgyNWUwMDc1ZDkxZDI1MjM0OTQuLjQyNTdhOWM0YmYyN2I2OWY5OGJmNzMwZTkzZTJhYjQyNjY3
MDA1M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApA
QCAtNzEwLDYgKzcxMCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZVZpc2libGVDb250ZW50
UmVjdHMoY29uc3QgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyYpOwogICAgIGJvb2wgc2Nh
bGVXYXNTZXRCeVVJUHJvY2VzcygpIGNvbnN0IHsgcmV0dXJuIG1fc2NhbGVXYXNTZXRCeVVJUHJv
Y2VzczsgfQogICAgIHZvaWQgd2lsbFN0YXJ0VXNlclRyaWdnZXJlZFpvb21pbmcoKTsKKyAgICB2
b2lkIGRpZEVuZFVzZXJUcmlnZ2VyZWRab29taW5nKCk7CiAgICAgdm9pZCBhcHBsaWNhdGlvbldp
bGxSZXNpZ25BY3RpdmUoKTsKICAgICB2b2lkIGFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3Vu
ZCgpOwogICAgIHZvaWQgYXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5k
ZXggZDA2NTY3MjcyN2Q2ZGE1NDliYzJiOTMwZDFlYmYwM2FkMmEwZThlNi4uZThhZWNlM2ZlNTli
ZWNjMWE1ZTk4ZTIzNTgxZDRjNjVkNTIyMTI0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTM2MCw2ICszNjAs
NyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKIAogI2lmIFBMQVRGT1JN
KElPUykKICAgICBXaWxsU3RhcnRVc2VyVHJpZ2dlcmVkWm9vbWluZygpOworICAgIERpZEVuZFVz
ZXJUcmlnZ2VyZWRab29taW5nKCk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKEdUSykgJiYgVVNF
KFRFWFRVUkVfTUFQUEVSX0dMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IGVjYTBlMzBhOGJhNzkxZWU3YWZjNzY4ZjAz
ZmNhMDdkNDJkZGEwZTguLmRiNTUwYzM2Y2YxZDU0M2IwM2MxOGQ0MTkxNWM0OTE1NTI4Y2NmMjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFn
ZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBh
Z2VJT1MubW0KQEAgLTIxOTUsNiArMjE5NSwxMiBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVZpc2li
bGVDb250ZW50UmVjdHMoY29uc3QgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyYgdmlzaQog
dm9pZCBXZWJQYWdlOjp3aWxsU3RhcnRVc2VyVHJpZ2dlcmVkWm9vbWluZygpCiB7CiAgICAgbV91
c2VySGFzQ2hhbmdlZFBhZ2VTY2FsZUZhY3RvciA9IHRydWU7CisgICAgbV9wYWdlLT5zZXRJblVz
ZXJUcmlnZ2VyZWRab29tKHRydWUpOworfQorCit2b2lkIFdlYlBhZ2U6OmRpZEVuZFVzZXJUcmln
Z2VyZWRab29taW5nKCkKK3sKKyAgICBtX3BhZ2UtPnNldEluVXNlclRyaWdnZXJlZFpvb20oZmFs
c2UpOwogfQogCiAjaWYgRU5BQkxFKFdFQkdMKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231407</attachid>
            <date>2014-05-13 14:30:23 -0700</date>
            <delta_ts>2014-05-13 15:58:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132857-20140514072959.patch</filename>
            <type>text/plain</type>
            <size>16734</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4NjMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQzM2M1NjY1ZDlkNDhk
MjcyMzc3ZWI5Mzk4ZjY0MDVlODYzOWU0NC4uYzlkOGQwZmU5OWE3ZTFmOWI1ZDJhZTU1YmMzNmVm
ZTE5NGNjNDE2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE0LTA1LTEzICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBQYWdlIHNjYWxlIHVw
ZGF0ZSBtZXNzYWdlcyBmb3IgbWVkaWEgY29udHJvbHMgc2hvdWxkIG9ubHkgZmlyZSBhdCB0aGUg
ZW5kIG9mIHpvb21pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEzMjg1NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTY2MzEwMDk+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXMgdGhlIHVzZXIgd2Fz
IHpvb21pbmcsIHRoZSBtZWRpYSBjb250cm9scyB0aGF0IHJlc3BvbmRlZAorICAgICAgICB0byB0
aGUgcGFnZSBzY2FsZSAoYW5kIHJlc2l6ZWQgdGhlbXNlbHZlcykgd291bGQgZG8gc28KKyAgICAg
ICAgc2xpZ2h0bHkgb3V0IG9mIHN5bmMgd2l0aCB0aGUgc2NyZWVuIHJlZnJlc2hlcywgYW5kIGl0
IGxvb2tlZAorICAgICAgICB0ZXJyaWJsZS4gVGhleSByZWFsbHkgb25seSBuZWVkIHRvIGdldCB0
b2xkIGF0IHRoZSBlbmQKKyAgICAgICAgb2YgdGhlIHpvb20gdGhhdCB0aGV5IG5lZWQgdG8gcmVs
YXlvdXQuCisKKyAgICAgICAgRXhwb3NlIGEgd2F5IGZvciBXZWJLaXQgdG8gdGVsbCB0aGUgUGFn
ZSB0aGF0IGl0IGlzCisgICAgICAgIGluIHRoZSBtaWRkbGUgb2YgYSB1c2VyIGluaXRpYXRlZCB6
b29tLiBUaGlzIHdheSB0aGUKKyAgICAgICAgTWVkaWEgQ29udHJvbHMgd2lsbCBvbmx5IHJlY2Vp
dmUgdGhlIHBhZ2VTY2FsZUZhY3RvckNoYW5nZWQKKyAgICAgICAgbWVzc2FnZSBhdCB0aGUgZW5k
IG9mIHRoZSB6b29tLiBIb3dldmVyLCB0aGV5IHN0aWxsIG5lZWQKKyAgICAgICAgdG8gYmUgdG9s
ZCBvZiBvdGhlciBzY2FsZSBjaGFuZ2VzIChlLmcuIGRvdWJsZSB0YXAgem9vbSkuCisKKyAgICAg
ICAgQmVuIHBvaW50ZWQgb3V0IHRoYXQgdGhlIHBhZ2VTY2FsZUZhY3RvckNoYW5nZWQgbWV0aG9k
IHNob3VsZAorICAgICAgICBoYXZlIGEgbW9yZSBzcGVjaWZpYyBuYW1lIHNpbmNlIGl0IGlzIG9u
bHkgdXNlZCBieSBNZWRpYSBhdAorICAgICAgICB0aGUgbW9tZW50LgorCisgICAgICAgICogV2Vi
Q29yZS5leHAuaW46IEV4cG9ydCBQYWdlOjpzZXRJblVzZXJUcmlnZ2VyZWRab29tLgorICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cGFnZVNj
YWxlRmFjdG9yQ29tbWl0dGVkRm9yTWVkaWEpOiBSZW5hbWVkIGZyb20gcGFnZVNjYWxlRmFjdG9y
Q2hhbmdlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpwYWdlU2NhbGVGYWN0b3JDaGFu
Z2VkKTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdl
L1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0UGFnZVNjYWxlRmFjdG9yKTog
Q2FsbCBwYWdlU2NhbGVGYWN0b3JDb21taXR0ZWRGb3JNZWRpYSBpZgorICAgICAgICB3ZSdyZSBu
b3QgaW4gYSB1c2VyIHpvb20uCisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpzZXRJblVzZXJUcmln
Z2VyZWRab29tKTogSWYgd2UncmUgdHJhbnNpdGlvbmluZyBmcm9tIHpvb21pbmcgdG8KKyAgICAg
ICAgZW5kIHpvb21pbmcsIHRlbGwgdGhlIG1haW4gZnJhbWUgdGhhdCB0aGUgc2NhbGUgaGFzIGNo
YW5nZWQuCisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpp
blVzZXJUcmlnZ2VyZWRab29tKTogR2V0dGVyLgorCiAyMDE0LTA1LTEyICBKb3pzZWYgQmVydGEg
IDxqYmVydGEudS1zemVnZWRAcGFydG5lci5zYW1zdW5nLmNvbT4KIAogICAgICAgICBXaW5DYWly
byBidWlsZGZpeCBhZnRlciByMTY4NjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjIyMzkzOGE0ZmRiNTk1MzI0
MDZkODE0ZTYwY2U5Mzg2MzE0ZmExMy4uMDgxYjc0YjQ5NTk4MThmZDJkZjUzNTRiMzg2MTY1OWIx
ZTA3YjdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE0LTA1LTEzICBEZWFuIEph
Y2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBQYWdlIHNjYWxlIHVwZGF0
ZSBtZXNzYWdlcyBmb3IgbWVkaWEgY29udHJvbHMgc2hvdWxkIG9ubHkgZmlyZSBhdCB0aGUgZW5k
IG9mIHpvb21pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzMjg1NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTY2MzEwMDk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXMgdGhlIHVzZXIgd2FzIHpv
b21pbmcsIHRoZSBtZWRpYSBjb250cm9scyB0aGF0IHJlc3BvbmRlZAorICAgICAgICB0byB0aGUg
cGFnZSBzY2FsZSAoYW5kIHJlc2l6ZWQgdGhlbXNlbHZlcykgd291bGQgZG8gc28KKyAgICAgICAg
c2xpZ2h0bHkgb3V0IG9mIHN5bmMgd2l0aCB0aGUgc2NyZWVuIHJlZnJlc2hlcywgYW5kIGl0IGxv
b2tlZAorICAgICAgICB0ZXJyaWJsZS4gVGhleSByZWFsbHkgb25seSBuZWVkIHRvIGdldCB0b2xk
IGF0IHRoZSBlbmQKKyAgICAgICAgb2YgdGhlIHpvb20gdGhhdCB0aGV5IG5lZWQgdG8gcmVsYXlv
dXQgaW4gdGhpcyBjYXNlLiBUaGV5IHN0aWxsCisgICAgICAgIG5lZWQgdG8gYmUgdG9sZCBhdCBv
dGhlciB0aW1lcyAoZS5nLiBkb3VibGUgdGFwIHpvb20pLgorCisgICAgICAgIE9uIHRoZSBXZWJL
aXQyIHNpZGUgdGhpcyBpbnZvbHZlcyBpbXBsZW1lbnRpbmcgc29tZSBjb2RlCisgICAgICAgIGlu
IHRoZSBzY3JvbGxWaWV3RGlkRW5kWm9vbWluZyBkZWxlZ2F0ZSB3aXRoaW4gdGhlIFVJUHJvY2Vz
cywKKyAgICAgICAgd2hpY2ggdGVsbHMgdGhlIFdlYlByb2Nlc3MgdGhhdCBhIHVzZXItdHJpZ2dl
cmVkIHpvb20gaGFzIGVuZGVkLgorICAgICAgICBUaGlzIGlzIHRoZW4gZm9yd2FyZGVkIG9udG8g
dGhlIFdlYkNvcmU6OlBhZ2UuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF96b29tVG9Qb2ludDpXZWJDb3JlOjphdFNj
YWxlOl0pOiBTaW5jZSB3ZSB0b2xkIHRoZSBjb250ZW50VmlldworICAgICAgICB0aGF0IHRoZSB1
c2VyIHN0YXJ0ZWQgYSB6b29tLCB3ZSBub3cgaGF2ZSB0byBpbmRpY2F0ZSBpdCBpcyBpbW1lZGlh
dGVseSBvdmVyLgorICAgICAgICAoLVtXS1dlYlZpZXcgc2Nyb2xsVmlld1dpbGxCZWdpblpvb21p
bmc6d2l0aFZpZXc6XSk6IFJlbWVtYmVyIGlmIHdlIGFyZSBpbgorICAgICAgICBhIHVzZXIgdHJp
Z2dlcmVkIHpvb20uCisgICAgICAgICgtW1dLV2ViVmlldyBzY3JvbGxWaWV3RGlkRW5kWm9vbWlu
Zzp3aXRoVmlldzphdFNjYWxlOl0pOiBUZWxsIHRoZSBjb250ZW50VmlldworICAgICAgICB0aGF0
IHRoZSB1c2VyIHRyaWdnZXJlZCB6b29tIGhhcyBlbmRlZC4KKyAgICAgICAgKC1bV0tXZWJWaWV3
IF9pblVzZXJUcmlnZ2VyZWRab29tXSk6IE5ldyBwcml2YXRlIHByb3BlcnR5IHRvIHJlbWVtYmVy
IGlmIHdlJ3JlCisgICAgICAgIGluIGEgem9vbS4KKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zZXRJ
blVzZXJUcmlnZ2VyZWRab29tOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3UHJpdmF0ZS5oOiBOZXcgcHJpdmF0ZSBwcm9wZXJ0eSByZW1lbWJlcmluZyBpZgorICAg
ICAgICB3ZSdyZSBpbiBhIHVzZXIgem9vbS4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lmg6IEFkZCBkaWRFbmRVc2VyVHJpZ2dlcmVkWm9vbWluZygpLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlldy5oOiBBZGQgZGlkRW5kVXNlclRyaWdnZXJlZFpvb20uCisg
ICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tOgorICAgICAgICAoLVtXS0Nv
bnRlbnRWaWV3IGRpZEVuZFVzZXJUcmlnZ2VyZWRab29tXSk6IEltcGxlbWVudCBkaWRFbmRVc2Vy
VHJpZ2dlcmVkWm9vbSwgd2hpY2gKKyAgICAgICAgY2FsbHMgaW50byB0aGUgUGFnZSBwcm94eS4K
KyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpkaWRFbmRVc2VyVHJpZ2dlcmVkWm9vbWluZyk6IFNlbmQgRGlk
RW5kVXNlclRyaWdnZXJlZFpvb21pbmcgdG8gdGhlIFdlYlByb2Nlc3MuCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5tZXNzYWdlcy5pbjogQWRkIERpZEVuZFVzZXJUcmlnZ2VyZWRab29taW5nLgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6d2lsbFN0YXJ0VXNlclRyaWdnZXJlZFpvb21pbmcpOiBUZWxsIHRoZSBQ
YWdlIHRoYXQgYSB1c2VyCisgICAgICAgIHRyaWdnZXJlZCB6b29tIGhhcyBzdGFydGVkLgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaWRFbmRVc2VyVHJpZ2dlcmVkWm9vbWluZyk6IFRlbGwg
dGhlIFBhZ2UgdGhhdCBhIHVzZXIgdHJpZ2dlcmVkCisgICAgICAgIHpvb20gaGFzIGVuZGVkLgor
CiAyMDE0LTA1LTEyICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAg
ICAgICAgV0tXZWJWaWV3IHNob3VsZCBkZWZhdWx0IHRvIF9iYWNrZ3JvdW5kRXh0ZW5kc0JleW9u
ZFBhZ2UgPSBZRVMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggOGQzZGU3ZWYxNmYwMDk1OTI2MmEw
NGMzODgwNjkzNjdiNTg0MzFmYy4uZGExODE5NmRhNTVlYTE5OTZhMDg4YjE1MGQxODgzMjYyYzYw
YmEzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTEwNzYsNiArMTA3Niw3IEBAIF9fWk43V2Vi
Q29yZTRQYWdlMjFtYXJrQWxsTWF0Y2hlc0ZvclRleHRFUktOM1dURjZTdHJpbmdFaGJqCiBfX1pO
N1dlYkNvcmU0UGFnZTIxcmVzdW1lQW5pbWF0aW5nSW1hZ2VzRXYKIF9fWk43V2ViQ29yZTRQYWdl
MjJub25GYXN0U2Nyb2xsYWJsZVJlY3RzRVBLTlNfNUZyYW1lRQogX19aTjdXZWJDb3JlNFBhZ2Uy
MnJlbW92ZUxheW91dE1pbGVzdG9uZXNFagorX19aTjdXZWJDb3JlNFBhZ2UyMnNldEluVXNlclRy
aWdnZXJlZFpvb21FYgogX19aTjdXZWJDb3JlNFBhZ2UyM2NsZWFyVW5kb1JlZG9PcGVyYXRpb25z
RXYKIF9fWk43V2ViQ29yZTRQYWdlMjNpbnZhbGlkYXRlU3R5bGVzRm9yTGlua0V5CiBfX1pON1dl
YkNvcmU0UGFnZTI0ZmluZFN0cmluZ01hdGNoaW5nUmFuZ2VzRVJLTjNXVEY2U3RyaW5nRWhpUE5T
MV82VmVjdG9ySU5TMV82UmVmUHRySU5TXzVSYW5nZUVFRUxtMEVOUzFfMTVDcmFzaE9uT3ZlcmZs
b3dFRUVSaQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggOTZjNDA1Mjk2NzhhZGRhNjNjZmJl
MjUzNjMzOTQ5OTkyZGMyMzM4Zi4uYTc0ZTkyMDViNjczMDE1MzVjNDhhODc1ZThjM2YxZWI0N2E0
YzllMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00MjAxLDcgKzQyMDEsNyBAQCB2b2lk
IERvY3VtZW50Ojp1bnJlZ2lzdGVyRm9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZENhbGxiYWNrcyhI
VE1MTWVkaWFFbGVtZW50KiBlbAogICAgIG1fcGFnZVNjYWxlRmFjdG9yQ2hhbmdlZEVsZW1lbnRz
LnJlbW92ZShlbGVtZW50KTsKIH0KIAotdm9pZCBEb2N1bWVudDo6cGFnZVNjYWxlRmFjdG9yQ2hh
bmdlZCgpCit2b2lkIERvY3VtZW50OjpwYWdlU2NhbGVGYWN0b3JDb21taXR0ZWRGb3JNZWRpYSgp
CiB7CiAgICAgZm9yIChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgOiBtX3BhZ2VTY2Fs
ZUZhY3RvckNoYW5nZWRFbGVtZW50cykKICAgICAgICAgbWVkaWFFbGVtZW50LT5wYWdlU2NhbGVG
YWN0b3JDaGFuZ2VkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDM3NDIyNTEwYjU5NjU4Zjdi
NWI4ZGRlYjgxMTMxZDlkMTEzZmY2M2IuLmUwYTlhNWJlOTk5MWM1MmI0YTNlNzcyMGUxYWNmNzVm
ODE1NjM4YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMDQyLDcgKzEwNDIsNyBAQCBwdWJs
aWM6CiAjaWYgRU5BQkxFKE1FRElBX0NPTlRST0xTX1NDUklQVCkKICAgICB2b2lkIHJlZ2lzdGVy
Rm9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZENhbGxiYWNrcyhIVE1MTWVkaWFFbGVtZW50Kik7CiAg
ICAgdm9pZCB1bnJlZ2lzdGVyRm9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZENhbGxiYWNrcyhIVE1M
TWVkaWFFbGVtZW50Kik7Ci0gICAgdm9pZCBwYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7CisgICAg
dm9pZCBwYWdlU2NhbGVGYWN0b3JDb21taXR0ZWRGb3JNZWRpYSgpOwogI2VuZGlmCiAKICNpZiBF
TkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGY1ZmJmYjU3
YjFiYjBkODJhNjYwYjE0NGE5NmEwYjEyODc3OTM1NjcuLmFhZDY4OTM3ZDZiMDJjMjhlNDY3ZDg3
OTcwMjhlMTc5MDliMjk4YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTczLDYgKzE3Myw3IEBA
IFBhZ2U6OlBhZ2UoUGFnZUNsaWVudHMmIHBhZ2VDbGllbnRzKQogICAgICwgbV9ncm91cCgwKQog
ICAgICwgbV9kZWJ1Z2dlcigwKQogICAgICwgbV9jYW5TdGFydE1lZGlhKHRydWUpCisgICAgLCBt
X2luVXNlclRyaWdnZXJlZFpvb20oZmFsc2UpCiAjaWYgRU5BQkxFKFZJRVdfTU9ERV9DU1NfTUVE
SUEpCiAgICAgLCBtX3ZpZXdNb2RlKFZpZXdNb2RlV2luZG93ZWQpCiAjZW5kaWYgLy8gRU5BQkxF
KFZJRVdfTU9ERV9DU1NfTUVESUEpCkBAIC03NTcsOCArNzU4LDggQEAgdm9pZCBQYWdlOjpzZXRQ
YWdlU2NhbGVGYWN0b3IoZmxvYXQgc2NhbGUsIGNvbnN0IEludFBvaW50JiBvcmlnaW4pCiAgICAg
fQogCiAjaWYgRU5BQkxFKE1FRElBX0NPTlRST0xTX1NDUklQVCkKLSAgICBmb3IgKEZyYW1lKiBm
cmFtZSA9ICZtYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50cmF2ZXJz
ZU5leHQoKSkKLSAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnBhZ2VTY2FsZUZhY3RvckNoYW5n
ZWQoKTsKKyAgICBpZiAoIWluVXNlclRyaWdnZXJlZFpvb20oKSkKKyAgICAgICAgbWFpbkZyYW1l
KCkuZG9jdW1lbnQoKS0+cGFnZVNjYWxlRmFjdG9yQ29tbWl0dGVkRm9yTWVkaWEoKTsKICNlbmRp
ZgogfQogCkBAIC03ODMsNyArNzg0LDE3IEBAIHZvaWQgUGFnZTo6c2V0RGV2aWNlU2NhbGVGYWN0
b3IoZmxvYXQgc2NhbGVGYWN0b3IpCiAgICAgcGFnZUNhY2hlKCktPm1hcmtQYWdlc0ZvckZ1bGxT
dHlsZVJlY2FsYyh0aGlzKTsKICAgICBHcmFwaGljc0NvbnRleHQ6OnVwZGF0ZURvY3VtZW50TWFy
a2VyUmVzb3VyY2VzKCk7CiB9Ci0gICAgCisKK3ZvaWQgUGFnZTo6c2V0SW5Vc2VyVHJpZ2dlcmVk
Wm9vbShib29sIGluVXNlclRyaWdnZXJlZFpvb20pCit7CisjaWYgRU5BQkxFKE1FRElBX0NPTlRS
T0xTX1NDUklQVCkKKyAgICBpZiAobV9pblVzZXJUcmlnZ2VyZWRab29tICYmICFpblVzZXJUcmln
Z2VyZWRab29tKQorICAgICAgICBtYWluRnJhbWUoKS5kb2N1bWVudCgpLT5wYWdlU2NhbGVGYWN0
b3JDb21taXR0ZWRGb3JNZWRpYSgpOworI2VuZGlmCisKKyAgICBtX2luVXNlclRyaWdnZXJlZFpv
b20gPSBpblVzZXJUcmlnZ2VyZWRab29tOworfQorCiB2b2lkIFBhZ2U6OnNldFRvcENvbnRlbnRJ
bnNldChmbG9hdCBjb250ZW50SW5zZXQpCiB7CiAgICAgaWYgKG1fdG9wQ29udGVudEluc2V0ID09
IGNvbnRlbnRJbnNldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggNTlmOGFlNjIyYWE0ZjVhYTg3ZmVlNmYw
NDM2YmQ3MjFiNzM1MjcyZC4uMzEzMjRlZWNlNGVjN2Y4MzA0YjE0Y2U1YzI5NTc4MjI0MTU0NGMx
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmgKQEAgLTQyNiw2ICs0MjYsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBl
bmFibGVMZWdhY3lQcml2YXRlQnJvd3NpbmcoYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkKTsK
ICAgICBib29sIHVzZXNFcGhlbWVyYWxTZXNzaW9uKCkgY29uc3QgeyByZXR1cm4gbV9zZXNzaW9u
SUQuaXNFcGhlbWVyYWwoKTsgfQogCisgICAgdm9pZCBzZXRJblVzZXJUcmlnZ2VyZWRab29tKGJv
b2wpOworICAgIGJvb2wgaW5Vc2VyVHJpZ2dlcmVkWm9vbSgpIGNvbnN0IHsgcmV0dXJuIG1faW5V
c2VyVHJpZ2dlcmVkWm9vbTsgfQorCiBwcml2YXRlOgogICAgIHZvaWQgaW5pdEdyb3VwKCk7CiAK
QEAgLTUzMiw2ICs1MzUsNyBAQCBwcml2YXRlOgogICAgIEpTQzo6RGVidWdnZXIqIG1fZGVidWdn
ZXI7CiAKICAgICBib29sIG1fY2FuU3RhcnRNZWRpYTsKKyAgICBib29sIG1faW5Vc2VyVHJpZ2dl
cmVkWm9vbTsKIAogICAgIFJlZlB0cjxTdG9yYWdlTmFtZXNwYWNlPiBtX3Nlc3Npb25TdG9yYWdl
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
CmluZGV4IGQyMmJkNTU3Yjk0ZjgzYWJmZjIzZTJjZDA4NDI0YWU5M2FiZTUzNjcuLmEzNTBkNjk2
Y2JkNGU1N2QwOGM5ZTgzNWRiMDgyYjg4YmNjZTM0NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0xMjMsNiArMTIzLDcgQEAKIAog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxlcj4gX2dlc3R1
cmVDb250cm9sbGVyOwogICAgIEJPT0wgX2FsbG93c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1
cmVzOworICAgIEJPT0wgX2luVXNlclRyaWdnZXJlZFpvb207CiAKICAgICBSZXRhaW5QdHI8VUlW
aWV3IDxXS1dlYlZpZXdDb250ZW50UHJvdmlkZXI+PiBfY3VzdG9tQ29udGVudFZpZXc7CiAKQEAg
LTU0Myw4ICs1NDQsMTAgQEAgc3RhdGljIENHRmxvYXQgY29udGVudFpvb21TY2FsZShXS1dlYlZp
ZXcqIHdlYlZpZXcpCiAgICAgQ0dGbG9hdCB6b29tU2NhbGUgPSBjb250ZW50Wm9vbVNjYWxlKHNl
bGYpOwogICAgIENGVGltZUludGVydmFsIGR1cmF0aW9uID0gc3RkOjptaW4oZmFicyhsb2coem9v
bVNjYWxlKSAtIGxvZyhzY2FsZSkpICogem9vbUR1cmF0aW9uRmFjdG9yICsgbWluaW11bVpvb21E
dXJhdGlvbiwgbWF4aW11bVpvb21EdXJhdGlvbik7CiAKLSAgICBpZiAoc2NhbGUgIT0gem9vbVNj
YWxlKQorICAgIGlmIChzY2FsZSAhPSB6b29tU2NhbGUpIHsKICAgICAgICAgW19jb250ZW50Vmll
dyB3aWxsU3RhcnRVc2VyVHJpZ2dlcmVkWm9vbV07CisgICAgICAgIFtfY29udGVudFZpZXcgZGlk
RW5kVXNlclRyaWdnZXJlZFpvb21dOworICAgIH0KIAogICAgIFtfc2Nyb2xsVmlldyBfem9vbVRv
Q2VudGVyOnBvaW50IHNjYWxlOnNjYWxlIGR1cmF0aW9uOmR1cmF0aW9uXTsKIH0KQEAgLTY4NSw4
ICs2ODgsMTAgQEAgc3RhdGljIFdlYkNvcmU6OkZsb2F0UG9pbnQgY29uc3RyYWluQ29udGVudE9m
ZnNldChXZWJDb3JlOjpGbG9hdFBvaW50IGNvbnRlbnRPZmYKICAgICBpZiAoIVtzZWxmIHVzZXNT
dGFuZGFyZENvbnRlbnRWaWV3XSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHNjcm9sbFZp
ZXcucGluY2hHZXN0dXJlUmVjb2duaXplci5zdGF0ZSA9PSBVSUdlc3R1cmVSZWNvZ25pemVyU3Rh
dGVCZWdhbikKKyAgICBpZiAoc2Nyb2xsVmlldy5waW5jaEdlc3R1cmVSZWNvZ25pemVyLnN0YXRl
ID09IFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZUJlZ2FuKSB7CisgICAgICAgIHNlbGYuX2luVXNl
clRyaWdnZXJlZFpvb20gPSBZRVM7CiAgICAgICAgIFtfY29udGVudFZpZXcgd2lsbFN0YXJ0VXNl
clRyaWdnZXJlZFpvb21dOworICAgIH0KICAgICBbX2NvbnRlbnRWaWV3IHdpbGxTdGFydFpvb21P
clNjcm9sbF07CiB9CiAKQEAgLTc0NCw2ICs3NDksMTAgQEAgc3RhdGljIFdlYkNvcmU6OkZsb2F0
UG9pbnQgY29uc3RyYWluQ29udGVudE9mZnNldChXZWJDb3JlOjpGbG9hdFBvaW50IGNvbnRlbnRP
ZmYKIHsKICAgICBBU1NFUlQoc2Nyb2xsVmlldyA9PSBfc2Nyb2xsVmlldyk7CiAgICAgW3NlbGYg
X3VwZGF0ZVZpc2libGVDb250ZW50UmVjdHNdOworICAgIGlmIChzZWxmLl9pblVzZXJUcmlnZ2Vy
ZWRab29tKSB7CisgICAgICAgIHNlbGYuX2luVXNlclRyaWdnZXJlZFpvb20gPSBOTzsKKyAgICAg
ICAgW19jb250ZW50VmlldyBkaWRFbmRVc2VyVHJpZ2dlcmVkWm9vbV07CisgICAgfQogICAgIFtf
Y29udGVudFZpZXcgZGlkWm9vbVRvU2NhbGU6c2NhbGVdOwogfQogCkBAIC0xMDYwLDYgKzEwNjks
MTYgQEAgc3RhdGljIHZvaWQgcmVsZWFzZU5TRGF0YSh1bnNpZ25lZCBjaGFyKiwgY29uc3Qgdm9p
ZCogZGF0YSkKICAgICBfcGFnZS0+c2V0QWRkc1Zpc2l0ZWRMaW5rcyhhZGRzVmlzaXRlZExpbmtz
KTsKIH0KIAorLSAoQk9PTClfaW5Vc2VyVHJpZ2dlcmVkWm9vbQoreworICAgIHJldHVybiBfaW5V
c2VyVHJpZ2dlcmVkWm9vbTsKK30KKworLSAodm9pZClfc2V0SW5Vc2VyVHJpZ2dlcmVkWm9vbToo
Qk9PTClpblVzZXJUcmlnZ2VyZWRab29tCit7CisgICAgX2luVXNlclRyaWdnZXJlZFpvb20gPSBp
blVzZXJUcmlnZ2VyZWRab29tOworfQorCiBzdGF0aWMgaW5saW5lIFdlYkNvcmU6OkxheW91dE1p
bGVzdG9uZXMgbGF5b3V0TWlsZXN0b25lcyhfV0tSZW5kZXJpbmdQcm9ncmVzc0V2ZW50cyBldmVu
dHMpCiB7CiAgICAgV2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lcyBtaWxlc3RvbmVzID0gMDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJp
dmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2
YXRlLmgKaW5kZXggZTU1YmUyODAyNTUxNGFlM2EzYTkyNDk3NjlkYzE2YWMzNWM2YTNiOS4uYTJj
YzI2OWNjOWI0NmE0ZjA0ZmY3ZGIxZGM1NmYyNGZiNmIxMWIzYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKQEAgLTky
LDYgKzkyLDggQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIF9XS0ZpbmRPcHRpb25z
KSB7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEFkZHNWaXNpdGVkTGlua3M6
KSBCT09MIF9hZGRzVmlzaXRlZExpbmtzOwogCitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVy
PV9zZXRJblVzZXJUcmlnZ2VyZWRab29tOikgQk9PTCBfaW5Vc2VyVHJpZ2dlcmVkWm9vbTsKKwog
LSAodm9pZClfY2xvc2U7CiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMmE2MjUxY2ExMzYxYjE4YTM3YmUwNjkwZTZmYWRk
OWQxN2Y1OGE2ZC4uY2JiMzgyZjQ1ZWRlNzFlMGE1YjlmNDVlYjMxYTQ2NjI4ZjkyMzI5NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTAzMiw2ICsxMDMyLDcg
QEAgcHVibGljOgogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIHZvaWQgd2lsbFN0YXJ0VXNlclRy
aWdnZXJlZFpvb21pbmcoKTsKKyAgICB2b2lkIGRpZEVuZFVzZXJUcmlnZ2VyZWRab29taW5nKCk7
CiAKICAgICB2b2lkIHBvdGVudGlhbFRhcEF0UG9zaXRpb24oY29uc3QgV2ViQ29yZTo6RmxvYXRQ
b2ludCYsIHVpbnQ2NF90JiByZXF1ZXN0SUQpOwogICAgIHZvaWQgY29tbWl0UG90ZW50aWFsVGFw
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5oCmluZGV4
IDViZDk5YjNkMTA4MWViZDUwY2EyODI4OTlhNGY5ODMxOGE1ZWE2N2EuLjc2YmExOTQ0YThlODI1
MmYzMmIwMGNmNTYxYzY0Njg1ZGI3MjFhMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlldy5oCkBAIC03MCw2ICs3MCw3IEBAIHN0cnVjdCBXZWJQYWdlQ29u
ZmlndXJhdGlvbjsKIC0gKHZvaWQpd2lsbFN0YXJ0Wm9vbU9yU2Nyb2xsOwogLSAodm9pZCl3aWxs
U3RhcnRVc2VyVHJpZ2dlcmVkU2Nyb2xsOwogLSAodm9pZCl3aWxsU3RhcnRVc2VyVHJpZ2dlcmVk
Wm9vbTsKKy0gKHZvaWQpZGlkRW5kVXNlclRyaWdnZXJlZFpvb207CiAKIC0gKHN0ZDo6dW5pcXVl
X3B0cjxXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHk+KV9jcmVhdGVEcmF3aW5nQXJlYVByb3h5Owog
LSAodm9pZClfcHJvY2Vzc0RpZEV4aXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXcubW0KaW5kZXggZTE2NGFhNWY5MTgzZWZhMDgyYTM3NGE3MWVkMWQwYzgz
ZTljYmM5OC4uMzdkOWE4OWI5NjFjNTZmYWM3YTk2OGJiMjc3NmM2YzQyOGNiMTcwZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQpAQCAtMzg1LDYg
KzM4NSwxMSBAQCBzdGF0aWMgaW5saW5lIEZsb2F0UmVjdCBmaXhlZFBvc2l0aW9uUmVjdEZyb21F
eHBvc2VkUmVjdChDR1JlY3QgdW5vYnNjdXJlZFJlY3QsCiAgICAgW3NlbGYgX2RpZEVuZFNjcm9s
bGluZ09yWm9vbWluZ107CiB9CiAKKy0gKHZvaWQpZGlkRW5kVXNlclRyaWdnZXJlZFpvb20KK3sK
KyAgICBfcGFnZS0+ZGlkRW5kVXNlclRyaWdnZXJlZFpvb21pbmcoKTsKK30KKwogI3ByYWdtYSBt
YXJrIEludGVybmFsCiAKIC0gKHZvaWQpX3dpbmRvd0RpZE1vdmVUb1NjcmVlbk5vdGlmaWNhdGlv
bjooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KaW5kZXggZmYwZTBhNDIzMWZjMzk2MzI4NDk5
YWNjZWY1MzE0ZjRkMjRjYzNmNS4uODdkYjhmMDJlMDVkNzMyYjUyMGVhNzlmMzk5NTFjNzMxOThm
ZmQ4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJv
eHlJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJ
T1MubW0KQEAgLTQ2MSw2ICs0NjEsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OndpbGxTdGFydFVz
ZXJUcmlnZ2VyZWRab29taW5nKCkKICAgICBwcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUGFn
ZTo6V2lsbFN0YXJ0VXNlclRyaWdnZXJlZFpvb21pbmcoKSwgbV9wYWdlSUQpOwogfQogCit2b2lk
IFdlYlBhZ2VQcm94eTo6ZGlkRW5kVXNlclRyaWdnZXJlZFpvb21pbmcoKQoreworICAgIHByb2Nl
c3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRFbmRVc2VyVHJpZ2dlcmVkWm9vbWluZygp
LCBtX3BhZ2VJRCk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5Ojpwb3RlbnRpYWxUYXBBdFBvc2l0
aW9uKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHBvc2l0aW9uLCB1aW50NjRfdCYgcmVxdWVz
dElEKQogewogICAgIHByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpQb3RlbnRpYWxU
YXBBdFBvc2l0aW9uKHJlcXVlc3RJRCwgcG9zaXRpb24pLCBtX3BhZ2VJRCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA5NDc5ZDc0MjhmZmE4Y2U0
MzJhM2Y4MjVlMDA3NWQ5MWQyNTIzNDk0Li40MjU3YTljNGJmMjdiNjlmOThiZjczMGU5M2UyYWI0
MjY2NzAwNTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKQEAgLTcxMCw2ICs3MTAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVWaXNpYmxlQ29u
dGVudFJlY3RzKGNvbnN0IFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8mKTsKICAgICBib29s
IHNjYWxlV2FzU2V0QnlVSVByb2Nlc3MoKSBjb25zdCB7IHJldHVybiBtX3NjYWxlV2FzU2V0QnlV
SVByb2Nlc3M7IH0KICAgICB2b2lkIHdpbGxTdGFydFVzZXJUcmlnZ2VyZWRab29taW5nKCk7Cisg
ICAgdm9pZCBkaWRFbmRVc2VyVHJpZ2dlcmVkWm9vbWluZygpOwogICAgIHZvaWQgYXBwbGljYXRp
b25XaWxsUmVzaWduQWN0aXZlKCk7CiAgICAgdm9pZCBhcHBsaWNhdGlvbldpbGxFbnRlckZvcmVn
cm91bmQoKTsKICAgICB2b2lkIGFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
CmluZGV4IGQwNjU2NzI3MjdkNmRhNTQ5YmMyYjkzMGQxZWJmMDNhZDJhMGU4ZTYuLmU4YWVjZTNm
ZTU5YmVjYzFhNWU5OGUyMzU4MWQ0YzY1ZDUyMjEyNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0zNjAsNiAr
MzYwLDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAKICNpZiBQTEFU
Rk9STShJT1MpCiAgICAgV2lsbFN0YXJ0VXNlclRyaWdnZXJlZFpvb21pbmcoKTsKKyAgICBEaWRF
bmRVc2VyVHJpZ2dlcmVkWm9vbWluZygpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShHVEspICYm
IFVTRShURVhUVVJFX01BUFBFUl9HTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQppbmRleCBlY2EwZTMwYThiYTc5MWVlN2FmYzc2
OGYwM2ZjYTA3ZDQyZGRhMGU4Li5kYjU1MGMzNmNmMWQ1NDNiMDNjMThkNDE5MTVjNDkxNTUyOGNj
ZjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dl
YlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9X
ZWJQYWdlSU9TLm1tCkBAIC0yMTk1LDYgKzIxOTUsMTIgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVW
aXNpYmxlQ29udGVudFJlY3RzKGNvbnN0IFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8mIHZp
c2kKIHZvaWQgV2ViUGFnZTo6d2lsbFN0YXJ0VXNlclRyaWdnZXJlZFpvb21pbmcoKQogewogICAg
IG1fdXNlckhhc0NoYW5nZWRQYWdlU2NhbGVGYWN0b3IgPSB0cnVlOworICAgIG1fcGFnZS0+c2V0
SW5Vc2VyVHJpZ2dlcmVkWm9vbSh0cnVlKTsKK30KKwordm9pZCBXZWJQYWdlOjpkaWRFbmRVc2Vy
VHJpZ2dlcmVkWm9vbWluZygpCit7CisgICAgbV9wYWdlLT5zZXRJblVzZXJUcmlnZ2VyZWRab29t
KGZhbHNlKTsKIH0KIAogI2lmIEVOQUJMRShXRUJHTCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231413</attachid>
            <date>2014-05-13 15:58:55 -0700</date>
            <delta_ts>2014-05-13 16:22:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132857-20140514085831.patch</filename>
            <type>text/plain</type>
            <size>8544</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4NjMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQzM2M1NjY1ZDlkNDhk
MjcyMzc3ZWI5Mzk4ZjY0MDVlODYzOWU0NC4uNmRhZTQ3OTg5OGEwOWNmNWJkYjY3ODU4ODJmODAz
YzhlYjM1M2NjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE0LTA1LTEzICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBQYWdlIHNjYWxlIHVw
ZGF0ZSBtZXNzYWdlcyBmb3IgbWVkaWEgY29udHJvbHMgc2hvdWxkIG9ubHkgZmlyZSBhdCB0aGUg
ZW5kIG9mIHpvb21pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEzMjg1NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTY2MzEwMDk+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXMgdGhlIHVzZXIgd2Fz
IHpvb21pbmcsIHRoZSBtZWRpYSBjb250cm9scyB0aGF0IHJlc3BvbmRlZAorICAgICAgICB0byB0
aGUgcGFnZSBzY2FsZSAoYW5kIHJlc2l6ZWQgdGhlbXNlbHZlcykgd291bGQgZG8gc28KKyAgICAg
ICAgc2xpZ2h0bHkgb3V0IG9mIHN5bmMgd2l0aCB0aGUgc2NyZWVuIHJlZnJlc2hlcywgYW5kIGl0
IGxvb2tlZAorICAgICAgICB0ZXJyaWJsZS4gVGhleSByZWFsbHkgb25seSBuZWVkIHRvIGdldCB0
b2xkIGF0IHRoZSBlbmQKKyAgICAgICAgb2YgdGhlIHpvb20gdGhhdCB0aGV5IG5lZWQgdG8gcmVs
YXlvdXQuCisKKyAgICAgICAgQWxsb3cgc2V0UGFnZVNjYWxlRmFjdG9yIHRvIGFjY2VwdCBhbm90
aGVyIHBhcmFtZXRlcgorICAgICAgICB0aGF0IGluZGljYXRlcyBpZiB0aGUgY2hhbmdlIGlzIHN0
YWJsZS4gVGhhdCB3YXksIGNoYW5nZXMKKyAgICAgICAgZHVyaW5nIGEgdXNlciB0cmlnZ2VycyB6
b29tIGdlc3R1cmUgY2FuIGJlIGlnbm9yZWQgZm9yCisgICAgICAgIG1lZGlhIGNvbnRyb2xzLgor
CisgICAgICAgIEJlbiBwb2ludGVkIG91dCB0aGF0IHRoZSBwYWdlU2NhbGVGYWN0b3JDaGFuZ2Vk
IG1ldGhvZCBzaG91bGQKKyAgICAgICAgaGF2ZSBhIG1vcmUgc3BlY2lmaWMgbmFtZSBzaW5jZSBp
dCBpcyBvbmx5IHVzZWQgYnkgTWVkaWEgYXQKKyAgICAgICAgdGhlIG1vbWVudC4KKworICAgICAg
ICAqIFdlYkNvcmUuZXhwLmluOiBQYWdlOjpzZXRQYWdlU2NhbGVGYWN0b3IgdGFrZXMgYSBuZXcg
cGFyYW1ldGVyLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6cGFnZVNjYWxlRmFjdG9yQ29tbWl0dGVkRm9yTWVkaWEpOiBSZW5hbWVkIGZy
b20gcGFnZVNjYWxlRmFjdG9yQ2hhbmdlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpw
YWdlU2NhbGVGYWN0b3JDaGFuZ2VkKTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQu
aDoKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0
UGFnZVNjYWxlRmFjdG9yKTogQWNjZXB0cyBhIG5ldyBpblN0YWJsZVN0YXRlIHBhcmFtZXRlciwK
KyAgICAgICAgYW5kIHRlbGxzIHRoZSBtYWluIGZyYW1lIHRoYXQgdGhlIHNjYWxlIGZhY3RvciBo
YXMgY2hhbmdlZCBpZiBpdCdzIHN0YWJsZS4KKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKwogMjAx
NC0wNS0xMiAgSm96c2VmIEJlcnRhICA8amJlcnRhLnUtc3plZ2VkQHBhcnRuZXIuc2Ftc3VuZy5j
b20+CiAKICAgICAgICAgV2luQ2Fpcm8gYnVpbGRmaXggYWZ0ZXIgcjE2ODYxMQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IGYyMjM5MzhhNGZkYjU5NTMyNDA2ZDgxNGU2MGNlOTM4NjMxNGZhMTMuLjA4NDdjMzZkMDFi
Y2Q2YzFmYzcwYWUwNjlhNTAxNWIxMGQ3OWI5NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBA
QAorMjAxNC0wNS0xMyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAg
W2lPU10gUGFnZSBzY2FsZSB1cGRhdGUgbWVzc2FnZXMgZm9yIG1lZGlhIGNvbnRyb2xzIHNob3Vs
ZCBvbmx5IGZpcmUgYXQgdGhlIGVuZCBvZiB6b29taW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI4NTcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzE2NjMxMDA5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFzIHRoZSB1c2VyIHdhcyB6b29taW5nLCB0aGUgbWVkaWEgY29udHJvbHMgdGhhdCByZXNw
b25kZWQKKyAgICAgICAgdG8gdGhlIHBhZ2Ugc2NhbGUgKGFuZCByZXNpemVkIHRoZW1zZWx2ZXMp
IHdvdWxkIGRvIHNvCisgICAgICAgIHNsaWdodGx5IG91dCBvZiBzeW5jIHdpdGggdGhlIHNjcmVl
biByZWZyZXNoZXMsIGFuZCBpdCBsb29rZWQKKyAgICAgICAgdGVycmlibGUuCisKKyAgICAgICAg
V2UgYWxyZWFkeSBrbm93IGlmIGEgcGFnZVNjYWxlIGNoYW5nZSBpcyBoYXBwZW5pbmcgaW5zaWRl
CisgICAgICAgIGEgZ2VzdHVyZSB1c2luZyB0aGUgaW5TdGFibGVTdGF0ZSBwcm9wZXJ0eSBvZiB0
aGUgdmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby4KKyAgICAgICAgU2ltcGx5IHBhc3MgdGhp
cyBhbG9uZyB0byBXZWJDb3JlOjpQYWdlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVWaXNp
YmxlQ29udGVudFJlY3RzKTogUGFzcyBpblN0YWJsZVN0YXRlIG9udG8gdGhlCisgICAgICAgIFdl
YkNvcmU6OlBhZ2UuIE5vdGUgdGhhdCB3ZSBoYXZlIHRvIHNlbmQgdGhpcyBtZXNzYWdlIGV2ZW4g
aWYgdGhlCisgICAgICAgIHNjYWxlIGhhcyBub3QgY2hhbmdlZCwgc2luY2UgdGhlIGxhc3QgY2hh
bmdpbmcgdXBkYXRlIG1pZ2h0IG5vdCBoYXZlCisgICAgICAgIGJlZW4gc3RhYmxlLgorCiAyMDE0
LTA1LTEyICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAg
V0tXZWJWaWV3IHNob3VsZCBkZWZhdWx0IHRvIF9iYWNrZ3JvdW5kRXh0ZW5kc0JleW9uZFBhZ2Ug
PSBZRVMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggOGQzZGU3ZWYxNmYwMDk1OTI2MmEwNGMzODgw
NjkzNjdiNTg0MzFmYy4uMTk2ZTAzMmVkNjExYmI5YjE1ODc4OWQ3YmU4MGY0NTQxZDcyNDk2MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTEwNjUsNyArMTA2NSw3IEBAIF9fWk43V2ViQ29yZTRQ
YWdlMTZjb3VudEZpbmRNYXRjaGVzRVJLTjNXVEY2U3RyaW5nRWhqCiBfX1pON1dlYkNvcmU0UGFn
ZTE2c2V0Q2FuU3RhcnRNZWRpYUViCiBfX1pON1dlYkNvcmU0UGFnZTE2c2V0RGVmZXJzTG9hZGlu
Z0ViCiBfX1pON1dlYkNvcmU0UGFnZTE4cmVtb3ZlU2NoZWR1bGVQYWlyRU4zV1RGMTBQYXNzUmVm
UHRySU5TMV8xMlNjaGVkdWxlUGFpckVFRQotX19aTjdXZWJDb3JlNFBhZ2UxOHNldFBhZ2VTY2Fs
ZUZhY3RvckVmUktOU184SW50UG9pbnRFCitfX1pON1dlYkNvcmU0UGFnZTE4c2V0UGFnZVNjYWxl
RmFjdG9yRWZSS05TXzhJbnRQb2ludEViCiBfX1pON1dlYkNvcmU0UGFnZTE4c2V0VG9wQ29udGVu
dEluc2V0RWYKIF9fWk43V2ViQ29yZTRQYWdlMTlhZGRMYXlvdXRNaWxlc3RvbmVzRWoKIF9fWk43
V2ViQ29yZTRQYWdlMTljcmVhdGVQYWdlVGhyb3R0bGVyRXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CmluZGV4IDk2YzQwNTI5Njc4YWRkYTYzY2ZiZTI1MzYzMzk0OTk5MmRjMjMzOGYuLmE3NGU5MjA1
YjY3MzAxNTM1YzQ4YTg3NWU4YzNmMWViNDdhNGM5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cApAQCAtNDIwMSw3ICs0MjAxLDcgQEAgdm9pZCBEb2N1bWVudDo6dW5yZWdpc3RlckZvclBhZ2VT
Y2FsZUZhY3RvckNoYW5nZWRDYWxsYmFja3MoSFRNTE1lZGlhRWxlbWVudCogZWwKICAgICBtX3Bh
Z2VTY2FsZUZhY3RvckNoYW5nZWRFbGVtZW50cy5yZW1vdmUoZWxlbWVudCk7CiB9CiAKLXZvaWQg
RG9jdW1lbnQ6OnBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKQordm9pZCBEb2N1bWVudDo6cGFnZVNj
YWxlRmFjdG9yQ29tbWl0dGVkRm9yTWVkaWEoKQogewogICAgIGZvciAoSFRNTE1lZGlhRWxlbWVu
dCogbWVkaWFFbGVtZW50IDogbV9wYWdlU2NhbGVGYWN0b3JDaGFuZ2VkRWxlbWVudHMpCiAgICAg
ICAgIG1lZGlhRWxlbWVudC0+cGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaAppbmRleCAzNzQyMjUxMGI1OTY1OGY3YjViOGRkZWI4MTEzMWQ5ZDExM2ZmNjNiLi5lMGE5
YTViZTk5OTFjNTJiNGEzZTc3MjBlMWFjZjc1ZjgxNTYzOGMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aApAQCAtMTA0Miw3ICsxMDQyLDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShNRURJQV9DT05UUk9M
U19TQ1JJUFQpCiAgICAgdm9pZCByZWdpc3RlckZvclBhZ2VTY2FsZUZhY3RvckNoYW5nZWRDYWxs
YmFja3MoSFRNTE1lZGlhRWxlbWVudCopOwogICAgIHZvaWQgdW5yZWdpc3RlckZvclBhZ2VTY2Fs
ZUZhY3RvckNoYW5nZWRDYWxsYmFja3MoSFRNTE1lZGlhRWxlbWVudCopOwotICAgIHZvaWQgcGFn
ZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOworICAgIHZvaWQgcGFnZVNjYWxlRmFjdG9yQ29tbWl0dGVk
Rm9yTWVkaWEoKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcAppbmRleCBmNWZiZmI1N2IxYmIwZDgyYTY2MGIxNDRhOTZhMGIxMjg3Nzkz
NTY3Li43ZTU4ZDdhYzdjYTVkOTJjY2VlMTVhMTMyN2M5ZmZiZWY3OTJkMzc1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKQEAgLTcwNyw3ICs3MDcsNyBAQCB2b2lkIFBhZ2U6OnNldFpvb21lZE91dFBhZ2VT
Y2FsZUZhY3RvcihmbG9hdCBzY2FsZSkKICAgICBtYWluRnJhbWUoKS5kZXZpY2VPclBhZ2VTY2Fs
ZUZhY3RvckNoYW5nZWQoKTsKIH0KIAotdm9pZCBQYWdlOjpzZXRQYWdlU2NhbGVGYWN0b3IoZmxv
YXQgc2NhbGUsIGNvbnN0IEludFBvaW50JiBvcmlnaW4pCit2b2lkIFBhZ2U6OnNldFBhZ2VTY2Fs
ZUZhY3RvcihmbG9hdCBzY2FsZSwgY29uc3QgSW50UG9pbnQmIG9yaWdpbiwgYm9vbCBpblN0YWJs
ZVN0YXRlKQogewogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG1haW5GcmFtZSgpLmRvY3VtZW50
KCk7CiAgICAgRnJhbWVWaWV3KiB2aWV3ID0gZG9jdW1lbnQtPnZpZXcoKTsKQEAgLTcyNCw2ICs3
MjQsMTAgQEAgdm9pZCBQYWdlOjpzZXRQYWdlU2NhbGVGYWN0b3IoZmxvYXQgc2NhbGUsIGNvbnN0
IEludFBvaW50JiBvcmlnaW4pCiAgICAgICAgICAgICAgICAgdmlldy0+aG9zdFdpbmRvdygpLT5k
ZWxlZ2F0ZWRTY3JvbGxSZXF1ZXN0ZWQob3JpZ2luKTsKICNlbmRpZgogICAgICAgICB9CisjaWYg
RU5BQkxFKE1FRElBX0NPTlRST0xTX1NDUklQVCkKKyAgICAgICAgaWYgKGluU3RhYmxlU3RhdGUp
CisgICAgICAgICAgICBtYWluRnJhbWUoKS5kb2N1bWVudCgpLT5wYWdlU2NhbGVGYWN0b3JDb21t
aXR0ZWRGb3JNZWRpYSgpOworI2VuZGlmCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTc1
Nyw4ICs3NjEsOCBAQCB2b2lkIFBhZ2U6OnNldFBhZ2VTY2FsZUZhY3RvcihmbG9hdCBzY2FsZSwg
Y29uc3QgSW50UG9pbnQmIG9yaWdpbikKICAgICB9CiAKICNpZiBFTkFCTEUoTUVESUFfQ09OVFJP
TFNfU0NSSVBUKQotICAgIGZvciAoRnJhbWUqIGZyYW1lID0gJm1haW5GcmFtZSgpOyBmcmFtZTsg
ZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNlTmV4dCgpKQotICAgICAgICBmcmFtZS0+ZG9j
dW1lbnQoKS0+cGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOworICAgIGlmIChpblN0YWJsZVN0YXRl
KQorICAgICAgICBtYWluRnJhbWUoKS5kb2N1bWVudCgpLT5wYWdlU2NhbGVGYWN0b3JDb21taXR0
ZWRGb3JNZWRpYSgpOwogI2VuZGlmCiB9CiAKQEAgLTc4Myw3ICs3ODcsNyBAQCB2b2lkIFBhZ2U6
OnNldERldmljZVNjYWxlRmFjdG9yKGZsb2F0IHNjYWxlRmFjdG9yKQogICAgIHBhZ2VDYWNoZSgp
LT5tYXJrUGFnZXNGb3JGdWxsU3R5bGVSZWNhbGModGhpcyk7CiAgICAgR3JhcGhpY3NDb250ZXh0
Ojp1cGRhdGVEb2N1bWVudE1hcmtlclJlc291cmNlcygpOwogfQotICAgIAorCiB2b2lkIFBhZ2U6
OnNldFRvcENvbnRlbnRJbnNldChmbG9hdCBjb250ZW50SW5zZXQpCiB7CiAgICAgaWYgKG1fdG9w
Q29udGVudEluc2V0ID09IGNvbnRlbnRJbnNldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggNTlmOGFlNjIy
YWE0ZjVhYTg3ZmVlNmYwNDM2YmQ3MjFiNzM1MjcyZC4uOWQzNjg2YzdiNzVlMzZlMWMyYTg0NTQ5
YTZjNWM4Njc5ODgxM2UwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTI3MSw3ICsyNzEsNyBAQCBwdWJs
aWM6CiAgICAgZmxvYXQgbWVkaWFWb2x1bWUoKSBjb25zdCB7IHJldHVybiBtX21lZGlhVm9sdW1l
OyB9CiAgICAgdm9pZCBzZXRNZWRpYVZvbHVtZShmbG9hdCk7CiAKLSAgICB2b2lkIHNldFBhZ2VT
Y2FsZUZhY3RvcihmbG9hdCBzY2FsZSwgY29uc3QgSW50UG9pbnQmIG9yaWdpbik7CisgICAgdm9p
ZCBzZXRQYWdlU2NhbGVGYWN0b3IoZmxvYXQgc2NhbGUsIGNvbnN0IEludFBvaW50JiBvcmlnaW4s
IGJvb2wgaW5TdGFibGVTdGF0ZSA9IHRydWUpOwogICAgIGZsb2F0IHBhZ2VTY2FsZUZhY3Rvcigp
IGNvbnN0IHsgcmV0dXJuIG1fcGFnZVNjYWxlRmFjdG9yOyB9CiAKICAgICB2b2lkIHNldFpvb21l
ZE91dFBhZ2VTY2FsZUZhY3RvcihmbG9hdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggZWNhMGUzMGE4YmE3OTFlZTdh
ZmM3NjhmMDNmY2EwN2Q0MmRkYTBlOC4uODc3YTJhZWYwNWUwMDk2NDExZjRjYmZmMDBmNWZhOTEz
NjdmYWIyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lv
cy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9p
b3MvV2ViUGFnZUlPUy5tbQpAQCAtMjE1OSwxMiArMjE1OSwxMiBAQCB2b2lkIFdlYlBhZ2U6OnVw
ZGF0ZVZpc2libGVDb250ZW50UmVjdHMoY29uc3QgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5m
byYgdmlzaQogICAgIEludFBvaW50IHNjcm9sbFBvc2l0aW9uID0gcm91bmRlZFVub2JzY3VyZWRS
ZWN0LmxvY2F0aW9uKCk7CiAKICAgICBmbG9hdCBmbG9hdEJvdW5kZWRTY2FsZSA9IGJvdW5kZWRT
Y2FsZTsKKyAgICBtX3BhZ2UtPnNldFBhZ2VTY2FsZUZhY3RvcihmbG9hdEJvdW5kZWRTY2FsZSwg
c2Nyb2xsUG9zaXRpb24sIHZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uaW5TdGFibGVTdGF0
ZSgpKTsKICAgICBpZiAoZmxvYXRCb3VuZGVkU2NhbGUgIT0gbV9wYWdlLT5wYWdlU2NhbGVGYWN0
b3IoKSkgewogICAgICAgICBtX3NjYWxlV2FzU2V0QnlVSVByb2Nlc3MgPSB0cnVlOwogCiAgICAg
ICAgIG1fZHluYW1pY1NpemVVcGRhdGVIaXN0b3J5LmNsZWFyKCk7CiAKLSAgICAgICAgbV9wYWdl
LT5zZXRQYWdlU2NhbGVGYWN0b3IoZmxvYXRCb3VuZGVkU2NhbGUsIHNjcm9sbFBvc2l0aW9uKTsK
ICAgICAgICAgaWYgKExheWVyVHJlZUhvc3QqIGxheWVyVHJlZUhvc3QgPSBtX2RyYXdpbmdBcmVh
LT5sYXllclRyZWVIb3N0KCkpCiAgICAgICAgICAgICBsYXllclRyZWVIb3N0LT5kZXZpY2VPclBh
Z2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpQYWdlU2NhbGVGYWN0b3JEaWRDaGFuZ2UoZmxvYXRCb3VuZGVkU2NhbGUpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231416</attachid>
            <date>2014-05-13 16:22:25 -0700</date>
            <delta_ts>2014-05-13 16:25:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132857-20140514092201.patch</filename>
            <type>text/plain</type>
            <size>9016</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4NjMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQzM2M1NjY1ZDlkNDhk
MjcyMzc3ZWI5Mzk4ZjY0MDVlODYzOWU0NC4uZGZiMTM3ZWRiOTFiZjIyMWRlZjkyMmQwYzE1MDRi
MmE4NDZlYmMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE0LTA1LTEzICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBQYWdlIHNjYWxlIHVw
ZGF0ZSBtZXNzYWdlcyBmb3IgbWVkaWEgY29udHJvbHMgc2hvdWxkIG9ubHkgZmlyZSBhdCB0aGUg
ZW5kIG9mIHpvb21pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEzMjg1NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTY2MzEwMDk+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXMgdGhlIHVzZXIgd2Fz
IHpvb21pbmcsIHRoZSBtZWRpYSBjb250cm9scyB0aGF0IHJlc3BvbmRlZAorICAgICAgICB0byB0
aGUgcGFnZSBzY2FsZSAoYW5kIHJlc2l6ZWQgdGhlbXNlbHZlcykgd291bGQgZG8gc28KKyAgICAg
ICAgc2xpZ2h0bHkgb3V0IG9mIHN5bmMgd2l0aCB0aGUgc2NyZWVuIHJlZnJlc2hlcywgYW5kIGl0
IGxvb2tlZAorICAgICAgICB0ZXJyaWJsZS4gVGhleSByZWFsbHkgb25seSBuZWVkIHRvIGdldCB0
b2xkIGF0IHRoZSBlbmQKKyAgICAgICAgb2YgdGhlIHpvb20gdGhhdCB0aGV5IG5lZWQgdG8gcmVs
YXlvdXQuCisKKyAgICAgICAgQWxsb3cgc2V0UGFnZVNjYWxlRmFjdG9yIHRvIGFjY2VwdCBhbm90
aGVyIHBhcmFtZXRlcgorICAgICAgICB0aGF0IGluZGljYXRlcyBpZiB0aGUgY2hhbmdlIGlzIHN0
YWJsZS4gVGhhdCB3YXksIGNoYW5nZXMKKyAgICAgICAgZHVyaW5nIGEgdXNlciB0cmlnZ2VycyB6
b29tIGdlc3R1cmUgY2FuIGJlIGlnbm9yZWQgZm9yCisgICAgICAgIG1lZGlhIGNvbnRyb2xzLgor
CisgICAgICAgICogV2ViQ29yZS5leHAuaW46IFBhZ2U6OnNldFBhZ2VTY2FsZUZhY3RvciB0YWtl
cyBhIG5ldyBwYXJhbWV0ZXIuCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpwYWdlU2NhbGVGYWN0b3JDaGFuZ2VkQW5kU3RhYmxlKTogUmVu
YW1lZCBmcm9tIHBhZ2VTY2FsZUZhY3RvckNoYW5nZWQuCisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6cGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0Rv
Y3VtZW50Lmg6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBh
Z2U6OnNldFBhZ2VTY2FsZUZhY3Rvcik6IEFjY2VwdHMgYSBuZXcgaW5TdGFibGVTdGF0ZSBwYXJh
bWV0ZXIsCisgICAgICAgIGFuZCB0ZWxscyB0aGUgbWFpbiBmcmFtZSB0aGF0IHRoZSBzY2FsZSBm
YWN0b3IgaGFzIGNoYW5nZWQgaWYgaXQncyBzdGFibGUuCisgICAgICAgICogcGFnZS9QYWdlLmg6
CisKIDIwMTQtMDUtMTIgIEpvenNlZiBCZXJ0YSAgPGpiZXJ0YS51LXN6ZWdlZEBwYXJ0bmVyLnNh
bXN1bmcuY29tPgogCiAgICAgICAgIFdpbkNhaXJvIGJ1aWxkZml4IGFmdGVyIHIxNjg2MTEKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwppbmRleCBmMjIzOTM4YTRmZGI1OTUzMjQwNmQ4MTRlNjBjZTkzODYzMTRmYTEzLi4wODQ3
YzM2ZDAxYmNkNmMxZmM3MGFlMDY5YTUwMTViMTBkNzliOTU5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjYgQEAKKzIwMTQtMDUtMTMgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisg
ICAgICAgIFtpT1NdIFBhZ2Ugc2NhbGUgdXBkYXRlIG1lc3NhZ2VzIGZvciBtZWRpYSBjb250cm9s
cyBzaG91bGQgb25seSBmaXJlIGF0IHRoZSBlbmQgb2Ygem9vbWluZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyODU3CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8xNjYzMTAwOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBcyB0aGUgdXNlciB3YXMgem9vbWluZywgdGhlIG1lZGlhIGNvbnRyb2xzIHRo
YXQgcmVzcG9uZGVkCisgICAgICAgIHRvIHRoZSBwYWdlIHNjYWxlIChhbmQgcmVzaXplZCB0aGVt
c2VsdmVzKSB3b3VsZCBkbyBzbworICAgICAgICBzbGlnaHRseSBvdXQgb2Ygc3luYyB3aXRoIHRo
ZSBzY3JlZW4gcmVmcmVzaGVzLCBhbmQgaXQgbG9va2VkCisgICAgICAgIHRlcnJpYmxlLgorCisg
ICAgICAgIFdlIGFscmVhZHkga25vdyBpZiBhIHBhZ2VTY2FsZSBjaGFuZ2UgaXMgaGFwcGVuaW5n
IGluc2lkZQorICAgICAgICBhIGdlc3R1cmUgdXNpbmcgdGhlIGluU3RhYmxlU3RhdGUgcHJvcGVy
dHkgb2YgdGhlIHZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uCisgICAgICAgIFNpbXBseSBw
YXNzIHRoaXMgYWxvbmcgdG8gV2ViQ29yZTo6UGFnZS4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBk
YXRlVmlzaWJsZUNvbnRlbnRSZWN0cyk6IFBhc3MgaW5TdGFibGVTdGF0ZSBvbnRvIHRoZQorICAg
ICAgICBXZWJDb3JlOjpQYWdlLiBOb3RlIHRoYXQgd2UgaGF2ZSB0byBzZW5kIHRoaXMgbWVzc2Fn
ZSBldmVuIGlmIHRoZQorICAgICAgICBzY2FsZSBoYXMgbm90IGNoYW5nZWQsIHNpbmNlIHRoZSBs
YXN0IGNoYW5naW5nIHVwZGF0ZSBtaWdodCBub3QgaGF2ZQorICAgICAgICBiZWVuIHN0YWJsZS4K
KwogMjAxNC0wNS0xMiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAg
ICAgICAgIFdLV2ViVmlldyBzaG91bGQgZGVmYXVsdCB0byBfYmFja2dyb3VuZEV4dGVuZHNCZXlv
bmRQYWdlID0gWUVTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDhkM2RlN2VmMTZmMDA5NTkyNjJh
MDRjMzg4MDY5MzY3YjU4NDMxZmMuLjE5NmUwMzJlZDYxMWJiOWIxNTg3ODlkN2JlODBmNDU0MWQ3
MjQ5NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xMDY1LDcgKzEwNjUsNyBAQCBfX1pON1dl
YkNvcmU0UGFnZTE2Y291bnRGaW5kTWF0Y2hlc0VSS04zV1RGNlN0cmluZ0VoagogX19aTjdXZWJD
b3JlNFBhZ2UxNnNldENhblN0YXJ0TWVkaWFFYgogX19aTjdXZWJDb3JlNFBhZ2UxNnNldERlZmVy
c0xvYWRpbmdFYgogX19aTjdXZWJDb3JlNFBhZ2UxOHJlbW92ZVNjaGVkdWxlUGFpckVOM1dURjEw
UGFzc1JlZlB0cklOUzFfMTJTY2hlZHVsZVBhaXJFRUUKLV9fWk43V2ViQ29yZTRQYWdlMThzZXRQ
YWdlU2NhbGVGYWN0b3JFZlJLTlNfOEludFBvaW50RQorX19aTjdXZWJDb3JlNFBhZ2UxOHNldFBh
Z2VTY2FsZUZhY3RvckVmUktOU184SW50UG9pbnRFYgogX19aTjdXZWJDb3JlNFBhZ2UxOHNldFRv
cENvbnRlbnRJbnNldEVmCiBfX1pON1dlYkNvcmU0UGFnZTE5YWRkTGF5b3V0TWlsZXN0b25lc0Vq
CiBfX1pON1dlYkNvcmU0UGFnZTE5Y3JlYXRlUGFnZVRocm90dGxlckV2CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAppbmRleCA5NmM0MDUyOTY3OGFkZGE2M2NmYmUyNTM2MzM5NDk5OTJkYzIzMzhmLi4x
ZGRiYmJkOGE0YWM0ZDhlODAyZjA1ZWZjYWUyNjE4MjVmZGQ0N2NhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKQEAgLTQyMDEsNyArNDIwMSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnVucmVnaXN0ZXJG
b3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkQ2FsbGJhY2tzKEhUTUxNZWRpYUVsZW1lbnQqIGVsCiAg
ICAgbV9wYWdlU2NhbGVGYWN0b3JDaGFuZ2VkRWxlbWVudHMucmVtb3ZlKGVsZW1lbnQpOwogfQog
Ci12b2lkIERvY3VtZW50OjpwYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCkKK3ZvaWQgRG9jdW1lbnQ6
OnBhZ2VTY2FsZUZhY3RvckNoYW5nZWRBbmRTdGFibGUoKQogewogICAgIGZvciAoSFRNTE1lZGlh
RWxlbWVudCogbWVkaWFFbGVtZW50IDogbV9wYWdlU2NhbGVGYWN0b3JDaGFuZ2VkRWxlbWVudHMp
CiAgICAgICAgIG1lZGlhRWxlbWVudC0+cGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaAppbmRleCAzNzQyMjUxMGI1OTY1OGY3YjViOGRkZWI4MTEzMWQ5ZDExM2ZmNjNi
Li5hZmMyYWE5ZGUzMWMzNDk0ZGY4NWQxYTZhZTYyZDEzZjRjMGJmZThkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaApAQCAtMTA0Miw3ICsxMDQyLDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShNRURJQV9D
T05UUk9MU19TQ1JJUFQpCiAgICAgdm9pZCByZWdpc3RlckZvclBhZ2VTY2FsZUZhY3RvckNoYW5n
ZWRDYWxsYmFja3MoSFRNTE1lZGlhRWxlbWVudCopOwogICAgIHZvaWQgdW5yZWdpc3RlckZvclBh
Z2VTY2FsZUZhY3RvckNoYW5nZWRDYWxsYmFja3MoSFRNTE1lZGlhRWxlbWVudCopOwotICAgIHZv
aWQgcGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOworICAgIHZvaWQgcGFnZVNjYWxlRmFjdG9yQ2hh
bmdlZEFuZFN0YWJsZSgpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQ
SSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGY1ZmJmYjU3YjFiYjBkODJhNjYwYjE0NGE5NmEwYjEy
ODc3OTM1NjcuLjFmYTc0MDcxMzY3MTNkMzhhNDU3OGNjMjVmMWZjNWY1ZTA2YmE3NDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcApAQCAtNzA3LDcgKzcwNyw3IEBAIHZvaWQgUGFnZTo6c2V0Wm9vbWVkT3V0
UGFnZVNjYWxlRmFjdG9yKGZsb2F0IHNjYWxlKQogICAgIG1haW5GcmFtZSgpLmRldmljZU9yUGFn
ZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOwogfQogCi12b2lkIFBhZ2U6OnNldFBhZ2VTY2FsZUZhY3Rv
cihmbG9hdCBzY2FsZSwgY29uc3QgSW50UG9pbnQmIG9yaWdpbikKK3ZvaWQgUGFnZTo6c2V0UGFn
ZVNjYWxlRmFjdG9yKGZsb2F0IHNjYWxlLCBjb25zdCBJbnRQb2ludCYgb3JpZ2luLCBib29sIGlu
U3RhYmxlU3RhdGUpCiB7CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gbWFpbkZyYW1lKCkuZG9j
dW1lbnQoKTsKICAgICBGcmFtZVZpZXcqIHZpZXcgPSBkb2N1bWVudC0+dmlldygpOwpAQCAtNzI0
LDYgKzcyNCwxMiBAQCB2b2lkIFBhZ2U6OnNldFBhZ2VTY2FsZUZhY3RvcihmbG9hdCBzY2FsZSwg
Y29uc3QgSW50UG9pbnQmIG9yaWdpbikKICAgICAgICAgICAgICAgICB2aWV3LT5ob3N0V2luZG93
KCktPmRlbGVnYXRlZFNjcm9sbFJlcXVlc3RlZChvcmlnaW4pOwogI2VuZGlmCiAgICAgICAgIH0K
KyNpZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNfU0NSSVBUKQorICAgICAgICBpZiAoaW5TdGFibGVT
dGF0ZSkgeworICAgICAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSAmbWFpbkZyYW1lKCk7IGZy
YW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpCisgICAgICAgICAgICAg
ICAgZnJhbWUtPmRvY3VtZW50KCktPnBhZ2VTY2FsZUZhY3RvckNoYW5nZWRBbmRTdGFibGUoKTsK
KyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTc1Nyw4ICs3
NjMsMTAgQEAgdm9pZCBQYWdlOjpzZXRQYWdlU2NhbGVGYWN0b3IoZmxvYXQgc2NhbGUsIGNvbnN0
IEludFBvaW50JiBvcmlnaW4pCiAgICAgfQogCiAjaWYgRU5BQkxFKE1FRElBX0NPTlRST0xTX1ND
UklQVCkKLSAgICBmb3IgKEZyYW1lKiBmcmFtZSA9ICZtYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1l
ID0gZnJhbWUtPnRyZWUoKS50cmF2ZXJzZU5leHQoKSkKLSAgICAgICAgZnJhbWUtPmRvY3VtZW50
KCktPnBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKKyAgICBpZiAoaW5TdGFibGVTdGF0ZSkgewor
ICAgICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9ICZtYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0g
ZnJhbWUtPnRyZWUoKS50cmF2ZXJzZU5leHQoKSkKKyAgICAgICAgICAgIGZyYW1lLT5kb2N1bWVu
dCgpLT5wYWdlU2NhbGVGYWN0b3JDaGFuZ2VkQW5kU3RhYmxlKCk7CisgICAgfQogI2VuZGlmCiB9
CiAKQEAgLTc4Myw3ICs3OTEsNyBAQCB2b2lkIFBhZ2U6OnNldERldmljZVNjYWxlRmFjdG9yKGZs
b2F0IHNjYWxlRmFjdG9yKQogICAgIHBhZ2VDYWNoZSgpLT5tYXJrUGFnZXNGb3JGdWxsU3R5bGVS
ZWNhbGModGhpcyk7CiAgICAgR3JhcGhpY3NDb250ZXh0Ojp1cGRhdGVEb2N1bWVudE1hcmtlclJl
c291cmNlcygpOwogfQotICAgIAorCiB2b2lkIFBhZ2U6OnNldFRvcENvbnRlbnRJbnNldChmbG9h
dCBjb250ZW50SW5zZXQpCiB7CiAgICAgaWYgKG1fdG9wQ29udGVudEluc2V0ID09IGNvbnRlbnRJ
bnNldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggNTlmOGFlNjIyYWE0ZjVhYTg3ZmVlNmYwNDM2YmQ3MjFi
NzM1MjcyZC4uOWQzNjg2YzdiNzVlMzZlMWMyYTg0NTQ5YTZjNWM4Njc5ODgxM2UwMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKQEAgLTI3MSw3ICsyNzEsNyBAQCBwdWJsaWM6CiAgICAgZmxvYXQgbWVkaWFWb2x1
bWUoKSBjb25zdCB7IHJldHVybiBtX21lZGlhVm9sdW1lOyB9CiAgICAgdm9pZCBzZXRNZWRpYVZv
bHVtZShmbG9hdCk7CiAKLSAgICB2b2lkIHNldFBhZ2VTY2FsZUZhY3RvcihmbG9hdCBzY2FsZSwg
Y29uc3QgSW50UG9pbnQmIG9yaWdpbik7CisgICAgdm9pZCBzZXRQYWdlU2NhbGVGYWN0b3IoZmxv
YXQgc2NhbGUsIGNvbnN0IEludFBvaW50JiBvcmlnaW4sIGJvb2wgaW5TdGFibGVTdGF0ZSA9IHRy
dWUpOwogICAgIGZsb2F0IHBhZ2VTY2FsZUZhY3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fcGFnZVNj
YWxlRmFjdG9yOyB9CiAKICAgICB2b2lkIHNldFpvb21lZE91dFBhZ2VTY2FsZUZhY3RvcihmbG9h
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dl
YlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBh
Z2VJT1MubW0KaW5kZXggZWNhMGUzMGE4YmE3OTFlZTdhZmM3NjhmMDNmY2EwN2Q0MmRkYTBlOC4u
MjM2Zjc4NjY4MGU3OWYyYjZhNGRmYTA0YWY0MmZiZTYxNjJiNDE2MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtMjE1
OSwxNyArMjE1OSwyMyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVZpc2libGVDb250ZW50UmVjdHMo
Y29uc3QgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyYgdmlzaQogICAgIEludFBvaW50IHNj
cm9sbFBvc2l0aW9uID0gcm91bmRlZFVub2JzY3VyZWRSZWN0LmxvY2F0aW9uKCk7CiAKICAgICBm
bG9hdCBmbG9hdEJvdW5kZWRTY2FsZSA9IGJvdW5kZWRTY2FsZTsKKyAgICBib29sIHRvbGRQYWdl
VGhhdFNjYWxlSGFzQ2hhbmdlZCA9IGZhbHNlOwogICAgIGlmIChmbG9hdEJvdW5kZWRTY2FsZSAh
PSBtX3BhZ2UtPnBhZ2VTY2FsZUZhY3RvcigpKSB7CiAgICAgICAgIG1fc2NhbGVXYXNTZXRCeVVJ
UHJvY2VzcyA9IHRydWU7CiAKICAgICAgICAgbV9keW5hbWljU2l6ZVVwZGF0ZUhpc3RvcnkuY2xl
YXIoKTsKIAotICAgICAgICBtX3BhZ2UtPnNldFBhZ2VTY2FsZUZhY3RvcihmbG9hdEJvdW5kZWRT
Y2FsZSwgc2Nyb2xsUG9zaXRpb24pOworICAgICAgICBtX3BhZ2UtPnNldFBhZ2VTY2FsZUZhY3Rv
cihmbG9hdEJvdW5kZWRTY2FsZSwgc2Nyb2xsUG9zaXRpb24sIHZpc2libGVDb250ZW50UmVjdFVw
ZGF0ZUluZm8uaW5TdGFibGVTdGF0ZSgpKTsKKyAgICAgICAgdG9sZFBhZ2VUaGF0U2NhbGVIYXND
aGFuZ2VkID0gdHJ1ZTsKKwogICAgICAgICBpZiAoTGF5ZXJUcmVlSG9zdCogbGF5ZXJUcmVlSG9z
dCA9IG1fZHJhd2luZ0FyZWEtPmxheWVyVHJlZUhvc3QoKSkKICAgICAgICAgICAgIGxheWVyVHJl
ZUhvc3QtPmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOwogICAgICAgICBzZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OlBhZ2VTY2FsZUZhY3RvckRpZENoYW5nZShmbG9hdEJvdW5k
ZWRTY2FsZSkpOwogICAgIH0KIAorICAgIGlmICghdG9sZFBhZ2VUaGF0U2NhbGVIYXNDaGFuZ2Vk
ICYmIHZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uaW5TdGFibGVTdGF0ZSgpKQorICAgICAg
ICBtX3BhZ2UtPnNldFBhZ2VTY2FsZUZhY3RvcihmbG9hdEJvdW5kZWRTY2FsZSwgc2Nyb2xsUG9z
aXRpb24sIHRydWUpOworCiAgICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcgPSAqbV9wYWdlLT5tYWlu
RnJhbWUoKS52aWV3KCk7CiAgICAgaWYgKHNjcm9sbFBvc2l0aW9uICE9IEludFBvaW50KGZyYW1l
Vmlldy5zY3JvbGxPZmZzZXQoKSkpCiAgICAgICAgIG1fZHluYW1pY1NpemVVcGRhdGVIaXN0b3J5
LmNsZWFyKCk7Cg==
</data>
<flag name="review"
          id="255862"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>