<?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>61808</bug_id>
          
          <creation_ts>2011-05-31 14:35:54 -0700</creation_ts>
          <short_desc>REGRESSION (5.0.5-ToT, WebKit2): Flash to white when navigating between pages on wsj.com, other sites (when navigating away from composited page)</short_desc>
          <delta_ts>2011-05-31 15:12:09 -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>WebKit2</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>InRadar, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>darin</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>412867</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-05-31 14:35:54 -0700</bug_when>
    <thetext>REGRESSION (5.0.5-ToT, WebKit2): Flash to white when navigating between pages on wsj.com, other sites (when navigating away from composited page)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412868</commentid>
    <comment_count>1</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-05-31 14:36:50 -0700</bug_when>
    <thetext>&lt;rdar://problem/9523192&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412881</commentid>
    <comment_count>2</comment_count>
      <attachid>95487</attachid>
    <who name="">mitz</who>
    <bug_when>2011-05-31 14:46:42 -0700</bug_when>
    <thetext>Created attachment 95487
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412892</commentid>
    <comment_count>3</comment_count>
      <attachid>95487</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-05-31 14:56:30 -0700</bug_when>
    <thetext>Comment on attachment 95487
Patch

If neither Anders nor Simon plans to review this, I would be willing to.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412893</commentid>
    <comment_count>4</comment_count>
      <attachid>95487</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-05-31 14:59:08 -0700</bug_when>
    <thetext>Comment on attachment 95487
Patch

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

&gt; Source/WebKit2/ChangeLog:9
&gt; +        WebKit1 has a mechanism to prevent the stale bits from the outgoing page from being erased
&gt; +        until the incoming page has layout. Adapt this in WebKit2 to prevent the composited layer tree

Ironically the WK1 mechanism doesn&apos;t do anything with the layer tree, causing layers to get torn down prematurely.

&gt; Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:1032
&gt;  void WebFrameLoaderClient::frameLoadCompleted()
&gt;  {
&gt; -    notImplemented();
&gt; +    WebPage* webPage = m_frame-&gt;page();
&gt; +    if (!webPage)
&gt; +        return;
&gt; +
&gt; +    if (m_frame == m_frame-&gt;page()-&gt;mainFrame())
&gt; +        webPage-&gt;drawingArea()-&gt;setLayerTreeStateIsFrozen(false);
&gt;  }

What&apos;s the timing of frameLoadCompleted(), relative to load events etc? Keeping the layer tree frozen until the load event fires would be bad, I think.

&gt; Source/WebKit2/WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:99
&gt; +    if (m_layerFlushSchedulingEnabled)
&gt; +        return;

I wonder if we should detect that a flush should have been scheduled, and schedule one here? It seems that we could have have layer changes early in the load that will never get flushed with the current code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412913</commentid>
    <comment_count>5</comment_count>
      <attachid>95487</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-05-31 15:10:16 -0700</bug_when>
    <thetext>Comment on attachment 95487
Patch

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

&gt;&gt; Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:1032
&gt;&gt;  }
&gt; 
&gt; What&apos;s the timing of frameLoadCompleted(), relative to load events etc? Keeping the layer tree frozen until the load event fires would be bad, I think.

Oh, I see the above call in dispatchDidFirstLayout() now. This is OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412915</commentid>
    <comment_count>6</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-05-31 15:12:09 -0700</bug_when>
    <thetext>Fixed in r87755. &lt;http://trac.webkit.org/changeset/87755&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95487</attachid>
            <date>2011-05-31 14:46:42 -0700</date>
            <delta_ts>2011-05-31 15:10:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61808-20110531144640.patch</filename>
            <type>text/plain</type>
            <size>15408</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg3NzUxKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTUgQEAKKzIwMTEtMDUtMzEgIERhbiBCZXJu
c3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICA8cmRhcjovL3Byb2JsZW0vOTUyMzE5Mj4gUkVHUkVTU0lPTiAoNS4w
LjUtVG9ULCBXZWJLaXQyKTogRmxhc2ggdG8gd2hpdGUgd2hlbiBuYXZpZ2F0aW5nIGJldHdlZW4g
cGFnZXMgb24gd3NqLmNvbSwgb3RoZXIgc2l0ZXMgKHdoZW4gbmF2aWdhdGluZyBhd2F5IGZyb20g
Y29tcG9zaXRlZCBwYWdlKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjE4MDgKKworICAgICAgICBXZWJLaXQxIGhhcyBhIG1lY2hhbmlzbSB0byBwcmV2
ZW50IHRoZSBzdGFsZSBiaXRzIGZyb20gdGhlIG91dGdvaW5nIHBhZ2UgZnJvbSBiZWluZyBlcmFz
ZWQKKyAgICAgICAgdW50aWwgdGhlIGluY29taW5nIHBhZ2UgaGFzIGxheW91dC4gQWRhcHQgdGhp
cyBpbiBXZWJLaXQyIHRvIHByZXZlbnQgdGhlIGNvbXBvc2l0ZWQgbGF5ZXIgdHJlZQorICAgICAg
ICBvZiB0aGUgb3V0Z29pbmcgcGFnZSBmcm9tIGJlaW5nIHRvcm4gZG93biBvciB1cGRhdGVkIHVu
dGlsIHRoZSBpbmNvbWluZyBwYWdlIGhhcyBsYXlvdXQuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkRmlyc3RMYXlvdXQpOiBVbmZyZWV6
ZSB0aGUgbGF5ZXIgdHJlZSBzdGF0ZS4KKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJD
bGllbnQ6OmZyYW1lTG9hZENvbXBsZXRlZCk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJG
cmFtZUxvYWRlckNsaWVudDo6cHJvdmlzaW9uYWxMb2FkU3RhcnRlZCk6IEZyZWV6ZSB0aGUgbGF5
ZXIgdHJlZSBzdGF0ZS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJl
YS5oOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6c2V0TGF5ZXJUcmVlU3RhdGVJc0Zy
b3plbik6IEFkZGVkLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVh
SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhSW1wbDo6RHJhd2luZ0FyZWFJ
bXBsKTogSW5pdGlhbGl6ZSBuZXcgbWVtYmVyIHZhcmlhYmxlcy4KKyAgICAgICAgKFdlYktpdDo6
RHJhd2luZ0FyZWFJbXBsOjpzZXRMYXllclRyZWVTdGF0ZUlzRnJvemVuKTogQWRkZWQuIFdoZW4g
ZnJlZXppbmcsIHNldHMgdGhlIGZsYWcgYW5kCisgICAgICAgIGRpc2FibGVzIGxheWVyIGZsdXNo
IHNjaGVkdWxpbmcgYW5kIGV4aXRpbmcgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgbW9kZS4gV2hl
biB1bmZyZWV6aW5nLAorICAgICAgICBjbGVhcnMgdGhlIGZsYWcgYW5kIGV4aXRzIGNvbXBvc2l0
aW5nIG1vZGUgaWYgbmVlZGVkLgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OnNl
dFJvb3RDb21wb3NpdGluZ0xheWVyKTogUmVzZXQgbV93YW50c1RvRXhpdEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdNb2RlLgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OmVudGVyQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6RHJhd2lu
Z0FyZWFJbXBsOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUpOiBEaXR0by4KKyAgICAg
ICAgKFdlYktpdDo6RHJhd2luZ0FyZWFJbXBsOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01v
ZGVTb29uKTogSWYgdGhlIGxheWVyIHRyZWUgc3RhdGUgaXMgZnJvemVuLAorICAgICAgICBiYWls
IG91dCBidXQgc2V0IG1fd2FudHNUb0V4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZS4KKwor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oOgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJlZUhvc3RDQS5jcHA6CisgICAgICAgIChXZWJLaXQ6Okxh
eWVyVHJlZUhvc3RDQTo6TGF5ZXJUcmVlSG9zdENBKTogSW5pdGlhbGl6ZSBtX2xheWVyRmx1c2hT
Y2hlZHVsaW5nRW5hYmxlZC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9jYS9MYXll
clRyZWVIb3N0Q0EuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvY2EvbWFjL0xheWVy
VHJlZUhvc3RDQU1hYy5oOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL21hYy9M
YXllclRyZWVIb3N0Q0FNYWMubW06CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RDQU1h
Yzo6c2NoZWR1bGVMYXllckZsdXNoKTogQmFpbCBvdXQgaWYgc2NoZWR1bGluZyBpcyBub3QgZW5h
YmxlZC4KKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdENBTWFjOjpzZXRMYXllckZsdXNo
U2NoZWR1bGluZ0VuYWJsZWQpOiBBZGRlZC4gU2V0cyB0aGUgZmxhZy4gSWYgZGlzYWJsaW5nCisg
ICAgICAgIGZsdXNoaW5nLCBjYW5jZWxzIHRoZSBwZW5kaW5nIGZsdXNoLgorICAgICAgICAoV2Vi
S2l0OjpMYXllclRyZWVIb3N0Q0FNYWM6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlc1J1bkxvb3BP
YnNlcnZlckNhbGxiYWNrKTogQWRkZWQgYW4gYXNzZXJ0aW9uLgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL2NhL3dpbi9MYXllclRyZWVIb3N0Q0FXaW4uY3BwOgorICAgICAgICAoV2Vi
S2l0OjpMYXllclRyZWVIb3N0Q0FXaW46OnNjaGVkdWxlTGF5ZXJGbHVzaCk6IEJhaWwgb3V0IGlm
IHNjaGVkdWxpbmcgaXMgbm90IGVuYWJsZWQuCisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhv
c3RDQVdpbjo6c2V0TGF5ZXJGbHVzaFNjaGVkdWxpbmdFbmFibGVkKTogQWRkZWQuIFNldHMgdGhl
IGZsYWcuIElmIGRpc2FibGluZworICAgICAgICBmbHVzaGluZywgY2FuY2VscyB0aGUgcGVuZGlu
ZyBmbHVzaC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9jYS93aW4vTGF5ZXJUcmVl
SG9zdENBV2luLmg6CisKIDIwMTEtMDUtMzEgIENoYW5nZUxvZyAgPGphbWVzLmNvb2xleUBub2tp
YS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCShyZXZpc2lvbiA4NzczOCkKKysrIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01MzUsNiArNTM1LDkgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNs
aWVudDo6ZGlzcGF0Y2hEaWRGaQogCiAgICAgLy8gTm90aWZ5IHRoZSBVSVByb2Nlc3MuCiAgICAg
d2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRGaXJzdExheW91dEZvckZy
YW1lKG1fZnJhbWUtPmZyYW1lSUQoKSwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIo
dXNlckRhdGEuZ2V0KCkpKSk7CisKKyAgICBpZiAobV9mcmFtZSA9PSBtX2ZyYW1lLT5wYWdlKCkt
Pm1haW5GcmFtZSgpKQorICAgICAgICB3ZWJQYWdlLT5kcmF3aW5nQXJlYSgpLT5zZXRMYXllclRy
ZWVTdGF0ZUlzRnJvemVuKGZhbHNlKTsKIH0KIAogdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6
ZGlzcGF0Y2hEaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXQoKQpAQCAtMTAyMCw3ICsxMDIz
LDEyIEBAIFN0cmluZyBXZWJGcmFtZUxvYWRlckNsaWVudDo6Z2VuZXJhdGVkTUkKIAogdm9pZCBX
ZWJGcmFtZUxvYWRlckNsaWVudDo6ZnJhbWVMb2FkQ29tcGxldGVkKCkKIHsKLSAgICBub3RJbXBs
ZW1lbnRlZCgpOworICAgIFdlYlBhZ2UqIHdlYlBhZ2UgPSBtX2ZyYW1lLT5wYWdlKCk7CisgICAg
aWYgKCF3ZWJQYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9mcmFtZSA9PSBtX2Zy
YW1lLT5wYWdlKCktPm1haW5GcmFtZSgpKQorICAgICAgICB3ZWJQYWdlLT5kcmF3aW5nQXJlYSgp
LT5zZXRMYXllclRyZWVTdGF0ZUlzRnJvemVuKGZhbHNlKTsKIH0KIAogdm9pZCBXZWJGcmFtZUxv
YWRlckNsaWVudDo6c2F2ZVZpZXdTdGF0ZVRvSXRlbShIaXN0b3J5SXRlbSopCkBAIC0xMDQyLDcg
KzEwNTAsMTIgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6cmVzdG9yZVZpZXdTdAogCiB2
b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojpwcm92aXNpb25hbExvYWRTdGFydGVkKCkKIHsKLSAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIFdlYlBhZ2UqIHdlYlBhZ2UgPSBtX2ZyYW1lLT5wYWdl
KCk7CisgICAgaWYgKCF3ZWJQYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9mcmFt
ZSA9PSBtX2ZyYW1lLT5wYWdlKCktPm1haW5GcmFtZSgpKQorICAgICAgICB3ZWJQYWdlLT5kcmF3
aW5nQXJlYSgpLT5zZXRMYXllclRyZWVTdGF0ZUlzRnJvemVuKHRydWUpOwogfQogCiB2b2lkIFdl
YkZyYW1lTG9hZGVyQ2xpZW50OjpkaWRGaW5pc2hMb2FkKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCShyZXZpc2lvbiA4NzczOCkK
KysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIHB1YmxpYzoKICAgICAvLyBGSVhNRTogVGhlc2Ug
c2hvdWxkIGJlIHB1cmUgdmlydHVhbC4KICAgICB2aXJ0dWFsIHZvaWQgcGFnZUJhY2tncm91bmRU
cmFuc3BhcmVuY3lDaGFuZ2VkKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGZvcmNlUmVwYWludCgp
IHsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRMYXllclRyZWVTdGF0ZUlzRnJvemVuKGJvb2wpIHsg
fQogCiAgICAgdmlydHVhbCB2b2lkIGRpZEluc3RhbGxQYWdlT3ZlcmxheSgpIHsgfQogICAgIHZp
cnR1YWwgdm9pZCBkaWRVbmluc3RhbGxQYWdlT3ZlcmxheSgpIHsgfQpJbmRleDogU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAJ
KHJldmlzaW9uIDg3NzM4KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhSW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYwLDYgKzYwLDggQEAgRHJhd2lu
Z0FyZWFJbXBsOjpEcmF3aW5nQXJlYUltcGwoV2ViUGFnZQogICAgICwgbV9zaG91bGRTZW5kRGlk
VXBkYXRlQmFja2luZ1N0b3JlU3RhdGUoZmFsc2UpCiAgICAgLCBtX2lzV2FpdGluZ0ZvckRpZFVw
ZGF0ZShmYWxzZSkKICAgICAsIG1fY29tcG9zaXRpbmdBY2NvcmRpbmdUb1Byb3h5TWVzc2FnZXMo
ZmFsc2UpCisgICAgLCBtX2xheWVyVHJlZVN0YXRlSXNGcm96ZW4oZmFsc2UpCisgICAgLCBtX3dh
bnRzVG9FeGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoZmFsc2UpCiAgICAgLCBtX2lzUGFp
bnRpbmdTdXNwZW5kZWQoIXBhcmFtZXRlcnMuaXNWaXNpYmxlKQogICAgICwgbV9hbHdheXNVc2VD
b21wb3NpdGluZyhmYWxzZSkKICAgICAsIG1fbGFzdERpc3BsYXlUaW1lKDApCkBAIC0xNDksNiAr
MTUxLDIyIEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpzY3JvbGwoY29uc3QgSW50UmUKICAgICBt
X3Njcm9sbE9mZnNldCArPSBzY3JvbGxPZmZzZXQ7CiB9CiAKK3ZvaWQgRHJhd2luZ0FyZWFJbXBs
OjpzZXRMYXllclRyZWVTdGF0ZUlzRnJvemVuKGJvb2wgaXNGcm96ZW4pCit7CisgICAgaWYgKG1f
bGF5ZXJUcmVlU3RhdGVJc0Zyb3plbiA9PSBpc0Zyb3plbikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgbV9sYXllclRyZWVTdGF0ZUlzRnJvemVuID0gaXNGcm96ZW47CisKKyAgICBpZiAobV9sYXll
clRyZWVIb3N0KQorICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnNldExheWVyRmx1c2hTY2hlZHVs
aW5nRW5hYmxlZCghaXNGcm96ZW4pOworCisgICAgaWYgKGlzRnJvemVuKQorICAgICAgICBtX2V4
aXRDb21wb3NpdGluZ1RpbWVyLnN0b3AoKTsKKyAgICBlbHNlIGlmIChtX3dhbnRzVG9FeGl0QWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUpCisgICAgICAgIGV4aXRBY2NlbGVyYXRlZENvbXBvc2l0
aW5nTW9kZVNvb24oKTsKK30KKwogdm9pZCBEcmF3aW5nQXJlYUltcGw6OmZvcmNlUmVwYWludCgp
CiB7CiAgICAgc2V0TmVlZHNEaXNwbGF5KG1fd2ViUGFnZS0+Ym91bmRzKCkpOwpAQCAtMjQ3LDYg
KzI2NSw3IEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpzZXRSb290Q29tcG9zaXRpbmcKICAgICAg
ICAgICAgIC8vIFdlJ3JlIGFscmVhZHkgaW4gYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgbW9kZSwg
YnV0IHRoZSByb290IGNvbXBvc2l0aW5nIGxheWVyIGNoYW5nZWQuCiAKICAgICAgICAgICAgIG1f
ZXhpdENvbXBvc2l0aW5nVGltZXIuc3RvcCgpOworICAgICAgICAgICAgbV93YW50c1RvRXhpdEFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlID0gZmFsc2U7CiAKICAgICAgICAgICAgIC8vIElmIHdl
IGhhdmVuJ3Qgc2VudCB0aGUgRW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSBtZXNzYWdl
LCBtYWtlIHN1cmUgdGhhdCB0aGUKICAgICAgICAgICAgIC8vIGxheWVyIHRyZWUgaG9zdCBjYWxs
cyB1cyBiYWNrIGFmdGVyIHRoZSBuZXh0IGxheWVyIGZsdXNoIHNvIHdlIGNhbiBzZW5kIGl0IHRo
ZW4uCkBAIC00MDQsNiArNDIzLDcgQEAgdm9pZCBEcmF3aW5nQXJlYUltcGw6OnJlc3VtZVBhaW50
aW5nKCkKIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjplbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdN
b2RlKEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIpCiB7CiAgICAgbV9leGl0Q29tcG9zaXRp
bmdUaW1lci5zdG9wKCk7CisgICAgbV93YW50c1RvRXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdN
b2RlID0gZmFsc2U7CiAKICAgICBBU1NFUlQoIW1fbGF5ZXJUcmVlSG9zdCk7CiAKQEAgLTQyOSw3
ICs0NDksMTAgQEAgdm9pZCBEcmF3aW5nQXJlYUltcGw6OmV4aXRBY2NlbGVyYXRlZENvbQogICAg
IGlmIChtX2Fsd2F5c1VzZUNvbXBvc2l0aW5nKQogICAgICAgICByZXR1cm47CiAKKyAgICBBU1NF
UlQoIW1fbGF5ZXJUcmVlU3RhdGVJc0Zyb3plbik7CisKICAgICBtX2V4aXRDb21wb3NpdGluZ1Rp
bWVyLnN0b3AoKTsKKyAgICBtX3dhbnRzVG9FeGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUg
PSBmYWxzZTsKIAogICAgIEFTU0VSVChtX2xheWVyVHJlZUhvc3QpOwogCkBAIC00NzYsNiArNDk5
LDExIEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpleGl0QWNjZWxlcmF0ZWRDb20KIAogdm9pZCBE
cmF3aW5nQXJlYUltcGw6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZVNvb24oKQogewor
ICAgIGlmIChtX2xheWVyVHJlZVN0YXRlSXNGcm96ZW4pIHsKKyAgICAgICAgbV93YW50c1RvRXhp
dEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKwogICAgIGlmIChleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVQZW5kaW5nKCkpCiAg
ICAgICAgIHJldHVybjsKIApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0RyYXdpbmdBcmVhSW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaAkocmV2aXNpb24gODc3MzgpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ5LDYgKzQ5LDcgQEAgcHJpdmF0ZToKICAgICAvLyBEcmF3aW5nQXJlYQogICAgIHZp
cnR1YWwgdm9pZCBzZXROZWVkc0Rpc3BsYXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogICAg
IHZpcnR1YWwgdm9pZCBzY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCwg
Y29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KTsKKyAgICB2aXJ0dWFsIHZvaWQg
c2V0TGF5ZXJUcmVlU3RhdGVJc0Zyb3plbihib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgZm9yY2VS
ZXBhaW50KCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5KCk7CkBA
IC05OCw2ICs5OSwxNCBAQCBwcml2YXRlOgogICAgIC8vIFRydWUgYmV0d2VlbiBzZW5kaW5nIHRo
ZSAnZW50ZXIgY29tcG9zaXRpbmcnIG1lc3NhZ2VzLCBhbmQgdGhlICdleGl0IGNvbXBvc2l0aW5n
JyBtZXNzYWdlLgogICAgIGJvb2wgbV9jb21wb3NpdGluZ0FjY29yZGluZ1RvUHJveHlNZXNzYWdl
czsKIAorICAgIC8vIFdoZW4gdHJ1ZSwgd2UgbWFpbnRhaW4gdGhlIGxheWVyIHRyZWUgaW4gaXRz
IGN1cnJlbnQgc3RhdGUgYnkgbm90IGxlYXZpbmcgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgbW9k
ZQorICAgIC8vIGFuZCBub3Qgc2NoZWR1bGluZyBsYXllciBmbHVzaGVzLgorICAgIGJvb2wgbV9s
YXllclRyZWVTdGF0ZUlzRnJvemVuOworCisgICAgLy8gVHJ1ZSB3aGVuIHdlIHdlcmUgYXNrZWQg
dG8gZXhpdCBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBtb2RlIGJ1dCBjb3VsZG4ndCBiZWNhdXNl
IGxheWVyIHRyZWUKKyAgICAvLyBzdGF0ZSB3YXMgZnJvemVuLgorICAgIGJvb2wgbV93YW50c1Rv
RXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlOworCiAgICAgLy8gV2hldGhlciBwYWludGlu
ZyBpcyBzdXNwZW5kZWQuIFdlJ2xsIHN0aWxsIGtlZXAgdHJhY2sgb2YgdGhlIGRpcnR5IHJlZ2lv
biBidXQgd2UgCiAgICAgLy8gd29uJ3QgcGFpbnQgdW50aWwgcGFpbnRpbmcgaGFzIHJlc3VtZWQg
YWdhaW4uCiAgICAgYm9vbCBtX2lzUGFpbnRpbmdTdXNwZW5kZWQ7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgJKHJldmlzaW9u
IDg3NzM4KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhv
c3QuaAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0
dWFsIGNvbnN0IExheWVyVHJlZUNvbnRleHQmIGxheWVyVHJlZUNvbnRleHQoKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIHNjaGVkdWxlTGF5ZXJGbHVzaCgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
c2V0TGF5ZXJGbHVzaFNjaGVkdWxpbmdFbmFibGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgc2V0U2hvdWxkTm90aWZ5QWZ0ZXJOZXh0U2NoZWR1bGVkTGF5ZXJGbHVzaChib29sKSA9IDA7
CiAgICAgdmlydHVhbCB2b2lkIHNldFJvb3RDb21wb3NpdGluZ0xheWVyKFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXIqKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGUoKSA9IDA7CkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5
ZXJUcmVlSG9zdENBLmNwcAkocmV2aXNpb24gODc3MzgpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogTGF5ZXJUcmVlSG9zdENBOjpMYXll
clRyZWVIb3N0Q0EoV2ViUGFnZSogd2ViUGFnZSkKICAgICA6IExheWVyVHJlZUhvc3Qod2ViUGFn
ZSkKKyAgICAsIG1fbGF5ZXJGbHVzaFNjaGVkdWxpbmdFbmFibGVkKHRydWUpCiAgICAgLCBtX2lz
VmFsaWQodHJ1ZSkKICAgICAsIG1fbm90aWZ5QWZ0ZXJTY2hlZHVsZWRMYXllckZsdXNoKGZhbHNl
KQogewpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJl
ZUhvc3RDQS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9jYS9MYXllclRyZWVIb3N0Q0EuaAkocmV2aXNpb24gODc3MzgpCisrKyBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmgJKHdvcmtpbmcgY29weSkK
QEAgLTU0LDYgKzU0LDggQEAgcHJvdGVjdGVkOgogICAgIC8vIExheWVyVHJlZUhvc3RDQQogICAg
IHZpcnR1YWwgdm9pZCBkaWRQZXJmb3JtU2NoZWR1bGVkTGF5ZXJGbHVzaCgpOwogCisgICAgYm9v
bCBtX2xheWVyRmx1c2hTY2hlZHVsaW5nRW5hYmxlZDsKKwogcHJpdmF0ZToKICAgICAvLyBMYXll
clRyZWVIb3N0LgogICAgIHZpcnR1YWwgY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYgbGF5ZXJUcmVl
Q29udGV4dCgpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL21h
Yy9MYXllclRyZWVIb3N0Q0FNYWMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvY2EvbWFjL0xheWVyVHJlZUhvc3RDQU1hYy5oCShyZXZpc2lvbiA4Nzcz
OCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9jYS9tYWMvTGF5ZXJUcmVl
SG9zdENBTWFjLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDcgQEAgcHJpdmF0ZToKIAog
ICAgIC8vIExheWVyVHJlZUhvc3QuCiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlTGF5ZXJGbHVz
aCgpOworICAgIHZpcnR1YWwgdm9pZCBzZXRMYXllckZsdXNoU2NoZWR1bGluZ0VuYWJsZWQoYm9v
bCk7CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGUoKTsKICAgICB2aXJ0dWFsIHZvaWQgc2l6
ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBuZXdTaXplKTsKICAgICB2aXJ0dWFs
IHZvaWQgZm9yY2VSZXBhaW50KCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvY2EvbWFjL0xheWVyVHJlZUhvc3RDQU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvbWFjL0xheWVyVHJlZUhvc3RDQU1hYy5tbQko
cmV2aXNpb24gODc3MzgpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2Ev
bWFjL0xheWVyVHJlZUhvc3RDQU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjksNiArNjksOSBA
QCB2b2lkIExheWVyVHJlZUhvc3RDQU1hYzo6cGxhdGZvcm1Jbml0aWFsCiAKIHZvaWQgTGF5ZXJU
cmVlSG9zdENBTWFjOjpzY2hlZHVsZUxheWVyRmx1c2goKQogeworICAgIGlmICghbV9sYXllckZs
dXNoU2NoZWR1bGluZ0VuYWJsZWQpCisgICAgICAgIHJldHVybjsKKwogICAgIENGUnVuTG9vcFJl
ZiBjdXJyZW50UnVuTG9vcCA9IENGUnVuTG9vcEdldEN1cnJlbnQoKTsKICAgICAKICAgICAvLyBN
YWtlIHN1cmUgd2Ugd2FrZSB1cCB0aGUgbG9vcCBvciB0aGUgb2JzZXJ2ZXIgY291bGQgYmUgZGVs
YXllZCB1bnRpbCBzb21lIG90aGVyIHNvdXJjZSBmaXJlcy4KQEAgLTg1LDYgKzg4LDIzIEBAIHZv
aWQgTGF5ZXJUcmVlSG9zdENBTWFjOjpzY2hlZHVsZUxheWVyRmwKICAgICBDRlJ1bkxvb3BBZGRP
YnNlcnZlcihjdXJyZW50UnVuTG9vcCwgbV9mbHVzaFBlbmRpbmdMYXllckNoYW5nZXNSdW5Mb29w
T2JzZXJ2ZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7CiB9CiAKK3ZvaWQgTGF5ZXJU
cmVlSG9zdENBTWFjOjpzZXRMYXllckZsdXNoU2NoZWR1bGluZ0VuYWJsZWQoYm9vbCBsYXllckZs
dXNoaW5nRW5hYmxlZCkKK3sKKyAgICBpZiAobV9sYXllckZsdXNoU2NoZWR1bGluZ0VuYWJsZWQg
PT0gbGF5ZXJGbHVzaGluZ0VuYWJsZWQpCisgICAgICAgIHJldHVybjsKKworICAgIG1fbGF5ZXJG
bHVzaFNjaGVkdWxpbmdFbmFibGVkID0gbGF5ZXJGbHVzaGluZ0VuYWJsZWQ7CisKKyAgICBpZiAo
bV9sYXllckZsdXNoU2NoZWR1bGluZ0VuYWJsZWQpCisgICAgICAgIHJldHVybjsKKworICAgIGlm
ICghbV9mbHVzaFBlbmRpbmdMYXllckNoYW5nZXNSdW5Mb29wT2JzZXJ2ZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIENGUnVuTG9vcE9ic2VydmVySW52YWxpZGF0ZShtX2ZsdXNoUGVuZGluZ0xh
eWVyQ2hhbmdlc1J1bkxvb3BPYnNlcnZlci5nZXQoKSk7CisgICAgbV9mbHVzaFBlbmRpbmdMYXll
ckNoYW5nZXNSdW5Mb29wT2JzZXJ2ZXIgPSBudWxscHRyOworfQorCiB2b2lkIExheWVyVHJlZUhv
c3RDQU1hYzo6aW52YWxpZGF0ZSgpCiB7CiAgICAgaWYgKG1fZmx1c2hQZW5kaW5nTGF5ZXJDaGFu
Z2VzUnVuTG9vcE9ic2VydmVyKSB7CkBAIC0xMjgsOSArMTQ4LDEzIEBAIHZvaWQgTGF5ZXJUcmVl
SG9zdENBTWFjOjpyZXN1bWVSZW5kZXJpbmcKIAogdm9pZCBMYXllclRyZWVIb3N0Q0FNYWM6OmZs
dXNoUGVuZGluZ0xheWVyQ2hhbmdlc1J1bkxvb3BPYnNlcnZlckNhbGxiYWNrKENGUnVuTG9vcE9i
c2VydmVyUmVmLCBDRlJ1bkxvb3BBY3Rpdml0eSwgdm9pZCogY29udGV4dCkKIHsKKyAgICBMYXll
clRyZWVIb3N0Q0FNYWMqIGxheWVyVHJlZUhvc3QgPSBzdGF0aWNfY2FzdDxMYXllclRyZWVIb3N0
Q0FNYWMqPihjb250ZXh0KTsKKworICAgIEFTU0VSVChsYXllclRyZWVIb3N0LT5tX2xheWVyRmx1
c2hTY2hlZHVsaW5nRW5hYmxlZCk7CisKICAgICAvLyBUaGlzIGdldHMgY2FsbGVkIG91dHNpZGUg
b2YgdGhlIG5vcm1hbCBldmVudCBsb29wIHNvIHdyYXAgaW4gYW4gYXV0b3JlbGVhc2UgcG9vbAog
ICAgIE5TQXV0b3JlbGVhc2VQb29sICpwb29sID0gW1tOU0F1dG9yZWxlYXNlUG9vbCBhbGxvY10g
aW5pdF07Ci0gICAgc3RhdGljX2Nhc3Q8TGF5ZXJUcmVlSG9zdENBTWFjKj4oY29udGV4dCktPnBl
cmZvcm1TY2hlZHVsZWRMYXllckZsdXNoKCk7CisgICAgbGF5ZXJUcmVlSG9zdC0+cGVyZm9ybVNj
aGVkdWxlZExheWVyRmx1c2goKTsKICAgICBbcG9vbCBkcmFpbl07CiB9CiAKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9jYS93aW4vTGF5ZXJUcmVlSG9zdENBV2luLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2Evd2lu
L0xheWVyVHJlZUhvc3RDQVdpbi5jcHAJKHJldmlzaW9uIDg3NzM4KQorKysgU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL3dpbi9MYXllclRyZWVIb3N0Q0FXaW4uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMzYsOSArMTM2LDI1IEBAIHZvaWQgTGF5ZXJUcmVlSG9zdENBV2luOjpp
bnZhbGlkYXRlKCkKIAogdm9pZCBMYXllclRyZWVIb3N0Q0FXaW46OnNjaGVkdWxlTGF5ZXJGbHVz
aCgpCiB7CisgICAgaWYgKCFtX2xheWVyRmx1c2hTY2hlZHVsaW5nRW5hYmxlZCkKKyAgICAgICAg
cmV0dXJuOworCiAgICAgTGF5ZXJDaGFuZ2VzRmx1c2hlcjo6c2hhcmVkKCkuZmx1c2hQZW5kaW5n
TGF5ZXJDaGFuZ2VzU29vbih0aGlzKTsKIH0KIAordm9pZCBMYXllclRyZWVIb3N0Q0FXaW46OnNl
dExheWVyRmx1c2hTY2hlZHVsaW5nRW5hYmxlZChib29sIGxheWVyRmx1c2hpbmdFbmFibGVkKQor
eworICAgIGlmIChtX2xheWVyRmx1c2hTY2hlZHVsaW5nRW5hYmxlZCA9PSBsYXllckZsdXNoaW5n
RW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9sYXllckZsdXNoU2NoZWR1bGluZ0Vu
YWJsZWQgPSBsYXllckZsdXNoaW5nRW5hYmxlZDsKKworICAgIGlmIChtX2xheWVyRmx1c2hTY2hl
ZHVsaW5nRW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgTGF5ZXJDaGFuZ2VzRmx1c2hl
cjo6c2hhcmVkKCkuY2FuY2VsUGVuZGluZ0ZsdXNoKHRodXMpOworfQorCiBib29sIExheWVyVHJl
ZUhvc3RDQVdpbjo6cGFydGljaXBhdGVzSW5EaXNwbGF5KCkKIHsKICAgICByZXR1cm4gdHJ1ZTsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9jYS93aW4vTGF5ZXJUcmVl
SG9zdENBV2luLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL2NhL3dpbi9MYXllclRyZWVIb3N0Q0FXaW4uaAkocmV2aXNpb24gODc3MzgpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2Evd2luL0xheWVyVHJlZUhvc3RDQVdpbi5o
CSh3b3JraW5nIGNvcHkpCkBAIC01Nyw2ICs1Nyw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2
b2lkIGZvcmNlUmVwYWludCgpOwogICAgIHZpcnR1YWwgdm9pZCBzaXplRGlkQ2hhbmdlKGNvbnN0
IFdlYkNvcmU6OkludFNpemUmIG5ld1NpemUpOwogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUxh
eWVyRmx1c2goKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0TGF5ZXJGbHVzaFNjaGVkdWxpbmdFbmFi
bGVkKGJvb2wpOwogICAgIHZpcnR1YWwgYm9vbCBwYXJ0aWNpcGF0ZXNJbkRpc3BsYXkoKTsKICAg
ICB2aXJ0dWFsIGJvb2wgbmVlZHNEaXNwbGF5KCk7CiAgICAgdmlydHVhbCBkb3VibGUgdGltZVVu
dGlsTmV4dERpc3BsYXkoKTsK
</data>
<flag name="review"
          id="88992"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>