<?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>143406</bug_id>
          
          <creation_ts>2015-04-04 15:18:53 -0700</creation_ts>
          <short_desc>Crash under Document::absoluteRegionForEventTargets on build.webkit.org/dashboard</short_desc>
          <delta_ts>2015-04-04 17:54: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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1082819</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-04-04 15:18:53 -0700</bug_when>
    <thetext>Crash under Document::absoluteRegionForEventTargets on build.webkit.org/dashboard</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082820</commentid>
    <comment_count>1</comment_count>
      <attachid>250139</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-04-04 15:22:22 -0700</bug_when>
    <thetext>Created attachment 250139
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082821</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-04-04 15:23:21 -0700</bug_when>
    <thetext>rdar://problem/20407080</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082826</commentid>
    <comment_count>3</comment_count>
      <attachid>250139</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-04-04 16:25:21 -0700</bug_when>
    <thetext>Comment on attachment 250139
Patch

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

&gt; Source/WebCore/dom/Document.cpp:6142
&gt; -        
&gt; +

This seems like an unnecessary whitespace line hange.

&gt; Source/WebCore/dom/Node.cpp:331
&gt;      if (hasEventTargetData()) {
&gt; +        document.didRemoveWheelEventHandler(*this);

I don&apos;t think this is right. Look at Node::didMoveToNewDocument.
We&apos;re checking the number of wheel event listeners and calling didRemoveWheelEventHandler as many times as needed.
I bet you can create a test case with multiple wheel event listeners that still crash.

In fact, m_wheelEventTargets is a HashCountedSet&lt;Node*&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082830</commentid>
    <comment_count>4</comment_count>
      <attachid>250140</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-04-04 17:39:10 -0700</bug_when>
    <thetext>Created attachment 250140
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082831</commentid>
    <comment_count>5</comment_count>
      <attachid>250140</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-04-04 17:45:52 -0700</bug_when>
    <thetext>Comment on attachment 250140
Patch

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

&gt; Source/WebCore/dom/Document.cpp:6006
&gt; +// Returns true if the Node was removed from the set.

I don&apos;t think we need this comment. This is a very common pattern in WebCore.
If anything we can add a new enum class.

&gt; Source/WebCore/dom/Document.cpp:6015
&gt; +    

Nit: whitespace.

&gt; Source/WebCore/dom/Document.cpp:6072
&gt; -void Document::didRemoveTouchEventHandler(Node&amp; handler)
&gt; +void Document::didRemoveTouchEventHandler(Node&amp; handler, EventHandlerRemoval removal)

Looks like we&apos;re never calling this function with EventHandlerRemoval::All?

&gt; Source/WebCore/dom/Document.cpp:6155
&gt; -        
&gt; +

Nit: unrelated whitespace change.

&gt; LayoutTests/platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/destroy-element-with-multiple-handlers-crash-expected.txt:1
&gt; +This test passes if it does not crash.

Please add a description as to what we&apos;re testing.

&gt; LayoutTests/platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/destroy-element-with-multiple-handlers-crash.html:21
&gt; +        

Nit: whitespace.
It looks like all these tests have the same issue.

&gt; LayoutTests/platform/mac-wk2/tiled-drawing/scrolling/non-fast-region/destroy-wheel-element-crash-expected.txt:1
&gt; +This test passes if it does not crash.

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082832</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-04-04 17:54:29 -0700</bug_when>
    <thetext>https://trac.webkit.org/r182349
https://trac.webkit.org/r182350</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250139</attachid>
            <date>2015-04-04 15:22:22 -0700</date>
            <delta_ts>2015-04-04 17:39:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143406-20150404152135.patch</filename>
            <type>text/plain</type>
            <size>10250</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzA5N2FhNTA0MTNmODEz
MjIzZTI3YTc3NjA1NTViMDA4OTU5YTBkNS4uZThhNmI4NDkyNzg2NDk3NmQ3NTBjNmZlMzQyNTA3
NTM2MGYzM2NkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI4IEBACiAyMDE1LTA0LTA0ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIENyYXNoIHVuZGVy
IERvY3VtZW50OjphYnNvbHV0ZVJlZ2lvbkZvckV2ZW50VGFyZ2V0cyBvbiBidWlsZC53ZWJraXQu
b3JnL2Rhc2hib2FyZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQzNDA2CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzIwNDA3MDgwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBXZSBmYWlsZWQg
dG8gcmVtb3ZlIGVsZW1lbnRzIGZyb20gRG9jdW1lbnQncyBtX3doZWVsRXZlbnRUYXJnZXRzIEhh
c2hTZXQgd2hlbiB0aGUKKyAgICAgICAgZWxlbWVudHMgd2VyZSBkZXN0cm95ZWQgd2l0aCB3aGVl
bCBoYW5kbGVycyBzdGlsbCBvbiB0aGlzLiBGaXggYnkgcmVtb3ZpbmcgdGhlCisgICAgICAgIG5v
ZGUgZnJvbSB0aGUgc2V0IHZpYSBOb2RlOjp3aWxsQmVEZWxldGVkRnJvbSgpLgorCisgICAgICAg
IFRlc3RzOiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL25vbi1mYXN0
LXJlZ2lvbi9kZXN0cm95LXdoZWVsLWVsZW1lbnQtY3Jhc2guaHRtbAorICAgICAgICAgICAgICAg
cGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9ub24tZmFzdC1yZWdpb24v
ZGVzdHJveS13aGVlbC1lbGVtZW50LXBhcmVudC1jcmFzaC5odG1sCisKKyAgICAgICAgKiBkb20v
RG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZFJlbW92ZVdoZWVs
RXZlbnRIYW5kbGVyKTogV2UgY2FuIGNhbGwgdGhpcyBmb3IgTm9kZXMgd2l0aAorICAgICAgICBh
bnkgZXZlbnQgaGFuZGxlcnMsIG5vdCBqdXN0IHdoZWVsIGV2ZW50IGhhbmRsZXJzLCB0byBqdXN0
IHJldHVybiBpZiB0aGUgbm9kZQorICAgICAgICB3YXNuJ3QgaW4gdGhlIG1hcC4KKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjphYnNvbHV0ZVJlZ2lvbkZvckV2ZW50VGFyZ2V0cyk6CisgICAg
ICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6d2lsbEJlRGVsZXRl
ZEZyb20pOgorCisyMDE1LTA0LTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUu
Y29tPgorCiAgICAgICAgIFJFR1JFU1NJT04gKHIxODIyMTUpOiBGZWVkbHkgY3Jhc2hlcyB3aGVu
IGNsb3NpbmcgYXJ0aWNsZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQzNDA1CiAgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzIwMzgyNzM0LCByZGFyOi8v
cHJvYmxlbS8yMDM5NTQ5NwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggYjkyN2Q1NDUwYWFh
YWYyNzQ4ODBhMjFiMmQzMDgyMDgyYTY5NzUyNS4uMzBjYTI5NWFmMzhmNTQzN2I0YjJkMTNjZTI4
NDU1ZjNhOGU5N2ZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC02MDA4LDggKzYwMDgs
OCBAQCB2b2lkIERvY3VtZW50OjpkaWRSZW1vdmVXaGVlbEV2ZW50SGFuZGxlcihOb2RlJiBub2Rl
KQogICAgIGlmICghbV93aGVlbEV2ZW50VGFyZ2V0cykKICAgICAgICAgcmV0dXJuOwogCi0gICAg
QVNTRVJUKG1fd2hlZWxFdmVudFRhcmdldHMtPmNvbnRhaW5zKCZub2RlKSk7Ci0gICAgbV93aGVl
bEV2ZW50VGFyZ2V0cy0+cmVtb3ZlKCZub2RlKTsKKyAgICBpZiAoIW1fd2hlZWxFdmVudFRhcmdl
dHMtPnJlbW92ZSgmbm9kZSkpCisgICAgICAgIHJldHVybjsKIAogICAgIGlmIChEb2N1bWVudCog
cGFyZW50ID0gcGFyZW50RG9jdW1lbnQoKSkgewogICAgICAgICBwYXJlbnQtPmRpZFJlbW92ZVdo
ZWVsRXZlbnRIYW5kbGVyKCp0aGlzKTsKQEAgLTYxMzksNyArNjEzOSw3IEBAIERvY3VtZW50OjpS
ZWdpb25GaXhlZFBhaXIgRG9jdW1lbnQ6OmFic29sdXRlUmVnaW9uRm9yRXZlbnRUYXJnZXRzKGNv
bnN0IEV2ZW50VGFyCiAKICAgICBmb3IgKGF1dG8gaXQgOiAqdGFyZ2V0cykgewogICAgICAgICBM
YXlvdXRSZWN0IHJvb3RSZWxhdGl2ZUJvdW5kczsKLSAgICAgICAgCisKICAgICAgICAgaWYgKGlz
PERvY3VtZW50PihpdC5rZXkpKSB7CiAgICAgICAgICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBk
b3duY2FzdDxEb2N1bWVudD4oaXQua2V5KTsKICAgICAgICAgICAgIGlmIChkb2N1bWVudCA9PSB0
aGlzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDE5Y2ZiYzRmMDJjY2Q3NmEwYTQzZTFkNmFmNzRhYzU2
Y2EwNTUwMzcuLmE5YWRmMzExNGEwMDdjZWI3NmRmNmMwYjc3MzUzMDM1ZWY3ZGY3YmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5jcHAKQEAgLTMyOCw2ICszMjgsNyBAQCBOb2RlOjp+Tm9kZSgpCiB2b2lkIE5vZGU6
OndpbGxCZURlbGV0ZWRGcm9tKERvY3VtZW50JiBkb2N1bWVudCkKIHsKICAgICBpZiAoaGFzRXZl
bnRUYXJnZXREYXRhKCkpIHsKKyAgICAgICAgZG9jdW1lbnQuZGlkUmVtb3ZlV2hlZWxFdmVudEhh
bmRsZXIoKnRoaXMpOwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpICYmIFBMQVRGT1JNKElPUykK
ICAgICAgICAgZG9jdW1lbnQucmVtb3ZlVG91Y2hFdmVudExpc3RlbmVyKHRoaXMsIHRydWUpOwog
I2VuZGlmCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggNjQzODE4NmM5ZGIxNjY5Yjk4YWNlMGQyZmYwOGMzYzE3Mzg1YWM2MS4u
MTdiMWI4ZjljYjdjNDA4ZWE1ZDY4ZjFlM2IwOWM0YjhkMGUwNGUzMyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsx
LDIwIEBACiAyMDE1LTA0LTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgogCisgICAgICAgIENyYXNoIHVuZGVyIERvY3VtZW50OjphYnNvbHV0ZVJlZ2lvbkZvckV2ZW50
VGFyZ2V0cyBvbiBidWlsZC53ZWJraXQub3JnL2Rhc2hib2FyZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzNDA2CisgICAgICAgIHJkYXI6Ly9wcm9i
bGVtLzIwNDA3MDgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAg
ICAgIAorICAgICAgICBBIGNvdXBsZSBvZiBjb25maWd1cmF0aW9ucyBvZiBlbGVtZW50cyB3aXRo
IGRpZmZlcmVudCBwYXJlbnRpbmcgYW5kIGV2ZW50IGhhbmRsZXJzIGFkZGluZyBvcmRlcnMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL25vbi1m
YXN0LXJlZ2lvbi9kZXN0cm95LXdoZWVsLWVsZW1lbnQtY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL25v
bi1mYXN0LXJlZ2lvbi9kZXN0cm95LXdoZWVsLWVsZW1lbnQtY3Jhc2guaHRtbDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9ub24tZmFz
dC1yZWdpb24vZGVzdHJveS13aGVlbC1lbGVtZW50LXBhcmVudC1jcmFzaC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxp
bmcvbm9uLWZhc3QtcmVnaW9uL2Rlc3Ryb3ktd2hlZWwtZWxlbWVudC1wYXJlbnQtY3Jhc2guaHRt
bDogQWRkZWQuCisKKzIwMTUtMDQtMDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+CisKICAgICAgICAgUkVHUkVTU0lPTiAocjE4MjIxNSk6IEZlZWRseSBjcmFzaGVzIHdo
ZW4gY2xvc2luZyBhcnRpY2xlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDM0MDUKICAgICAgICAgcmRhcjovL3Byb2JsZW0vMjAzODI3MzQsIHJkYXI6
Ly9wcm9ibGVtLzIwMzk1NDk3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL25vbi1mYXN0LXJlZ2lvbi9kZXN0cm95LXdoZWVs
LWVsZW1lbnQtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9ub24tZmFzdC1yZWdpb24vZGVzdHJveS13aGVlbC1l
bGVtZW50LWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYzAyMzY2NjliN2RjNWI2MmY5
ODljOGM2ZmNmMmE4YTQxMjM4NTgxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9ub24tZmFzdC1yZWdpb24vZGVz
dHJveS13aGVlbC1lbGVtZW50LWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1Ro
aXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guCisKK0l0ZXJhdGlvbnM6IDQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3Jv
bGxpbmcvbm9uLWZhc3QtcmVnaW9uL2Rlc3Ryb3ktd2hlZWwtZWxlbWVudC1jcmFzaC5odG1sIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9ub24t
ZmFzdC1yZWdpb24vZGVzdHJveS13aGVlbC1lbGVtZW50LWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NWExMDQ4NDZmZTU0ZTJjM2Y4M2Y5YTFhNWYxNmNjMTFlMGRiZWY1NQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcv
bm9uLWZhc3QtcmVnaW9uL2Rlc3Ryb3ktd2hlZWwtZWxlbWVudC1jcmFzaC5odG1sCkBAIC0wLDAg
KzEsNzEgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4K
KyAgICAgICAgLnBvcG92ZXIgeworICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAg
ICAgICAgICAgei1pbmRleDogMTsKKyAgICAgICAgICAgIHRvcDogMTAwcHg7CisgICAgICAgICAg
ICBsZWZ0OiAxMDBweDsKKyAgICAgICAgICAgIHdpZHRoOiAzMDBweDsKKyAgICAgICAgICAgIGhl
aWdodDogMjAwcHg7CisgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAg
ICAgfQorICAgICAgICAKKyAgICAgICAgLmNvbnRhaW5lciB7CisgICAgICAgICAgICBwb3NpdGlv
bjogYWJzb2x1dGU7CisgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgIGhlaWdo
dDogMTAwJTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICA8L3N0eWxlPgorCisgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyIgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAg
ICAgICB9CisgICAgICAgIAorICAgICAgICB2YXIgcG9wb3ZlcjsKKyAgICAgICAgZnVuY3Rpb24g
Y3JlYXRlUG9wb3ZlcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHBvcG92ZXIgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgICAgIHBvcG92ZXIuY2xhc3NOYW1lID0g
J3BvcG92ZXInOworICAgICAgICAgICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2RpdicpOworICAgICAgICAgICAgY29udGFpbmVyLmNsYXNzTmFtZSA9ICdjb250YWlu
ZXInOworICAgICAgICAgICAgcG9wb3Zlci5hcHBlbmRDaGlsZChjb250YWluZXIpOworICAgICAg
ICB9CisgICAgICAgIAorICAgICAgICBmdW5jdGlvbiBkb1Rlc3QoKQorICAgICAgICB7CisgICAg
ICAgICAgICBjcmVhdGVQb3BvdmVyKCk7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHBvcG92ZXIpOworICAgICAgICAgICAgcG9wb3Zlci5hZGRFdmVudExpc3RlbmVyKCJt
b3VzZXdoZWVsIiwgdGhpcywgdHJ1ZSk7CisgICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dChk
aXNtaXNzLCAwKTsKKyAgICAgICAgfQorCisgICAgICAgIHZhciBjb3VudCA9IDA7CisgICAgICAg
IGZ1bmN0aW9uIGRpc21pc3MoKQorICAgICAgICB7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5
LnJlbW92ZUNoaWxkKHBvcG92ZXIpOworICAgICAgICAgICAgZ2MoKTsKKyAgICAgICAgICAgIAor
ICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvdW50JykudGV4dENvbnRlbnQg
PSArK2NvdW50OworICAgICAgICAgICAgaWYgKGNvdW50ID4gMykgeworICAgICAgICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgZG9UZXN0KCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7CisgICAgPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2gu
PC9wPgorPHA+SXRlcmF0aW9uczogPHNwYW4gaWQ9ImNvdW50Ij48L3NwYW4+PC9wPgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxl
ZC1kcmF3aW5nL3Njcm9sbGluZy9ub24tZmFzdC1yZWdpb24vZGVzdHJveS13aGVlbC1lbGVtZW50
LXBhcmVudC1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL25vbi1mYXN0LXJlZ2lvbi9kZXN0cm95LXdoZWVsLWVs
ZW1lbnQtcGFyZW50LWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYzAyMzY2NjliN2Rj
NWI2MmY5ODljOGM2ZmNmMmE4YTQxMjM4NTgxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9ub24tZmFzdC1yZWdp
b24vZGVzdHJveS13aGVlbC1lbGVtZW50LXBhcmVudC1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzIEBACitUaGlzIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLgorCitJdGVy
YXRpb25zOiA0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVk
LWRyYXdpbmcvc2Nyb2xsaW5nL25vbi1mYXN0LXJlZ2lvbi9kZXN0cm95LXdoZWVsLWVsZW1lbnQt
cGFyZW50LWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRy
YXdpbmcvc2Nyb2xsaW5nL25vbi1mYXN0LXJlZ2lvbi9kZXN0cm95LXdoZWVsLWVsZW1lbnQtcGFy
ZW50LWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDY5MjYxZTIzZmQ2ZjYzMTU4NDM3YzczMDk2OWJh
MDNiMDgwYWFiZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvbm9uLWZhc3QtcmVnaW9uL2Rlc3Ryb3ktd2hlZWwt
ZWxlbWVudC1wYXJlbnQtY3Jhc2guaHRtbApAQCAtMCwwICsxLDcxIEBACis8IURPQ1RZUEUgaHRt
bD4KKworPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIC5wb3BvdmVyIHsKKyAg
ICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgICAgIHotaW5kZXg6IDE7Cisg
ICAgICAgICAgICB0b3A6IDEwMHB4OworICAgICAgICAgICAgbGVmdDogMTAwcHg7CisgICAgICAg
ICAgICB3aWR0aDogMzAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgICAg
ICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAg
IC5jb250YWluZXIgeworICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CisgICAgICAgIH0KKyAg
ICAgICAgCisgICAgPC9zdHlsZT4KKworICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0i
dXRmLTgiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgeworICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAg
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAg
ICAgdmFyIHBvcG92ZXI7CisgICAgICAgIGZ1bmN0aW9uIGNyZWF0ZVBvcG92ZXIoKQorICAgICAg
ICB7CisgICAgICAgICAgICBwb3BvdmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7
CisgICAgICAgICAgICBwb3BvdmVyLmNsYXNzTmFtZSA9ICdwb3BvdmVyJzsKKyAgICAgICAgICAg
IHZhciBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAg
ICAgIGNvbnRhaW5lci5jbGFzc05hbWUgPSAnY29udGFpbmVyJzsKKyAgICAgICAgICAgIGNvbnRh
aW5lci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXdoZWVsIiwgdGhpcywgdHJ1ZSk7CisgICAgICAg
ICAgICBwb3BvdmVyLmFwcGVuZENoaWxkKGNvbnRhaW5lcik7CisgICAgICAgIH0KKyAgICAgICAg
CisgICAgICAgIGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNyZWF0
ZVBvcG92ZXIoKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocG9wb3Zl
cik7CisgICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dChkaXNtaXNzLCAwKTsKKyAgICAgICAg
fQorCisgICAgICAgIHZhciBjb3VudCA9IDA7CisgICAgICAgIGZ1bmN0aW9uIGRpc21pc3MoKQor
ICAgICAgICB7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHBvcG92ZXIp
OworICAgICAgICAgICAgZ2MoKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2NvdW50JykudGV4dENvbnRlbnQgPSArK2NvdW50OworICAgICAgICAg
ICAgaWYgKGNvdW50ID4gMykgeworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZG9UZXN0KCk7Cisg
ICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2Fk
JywgZG9UZXN0LCBmYWxzZSk7CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRo
aXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guPC9wPgorPHA+SXRlcmF0aW9uczog
PHNwYW4gaWQ9ImNvdW50Ij48L3NwYW4+PC9wPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250140</attachid>
            <date>2015-04-04 17:39:10 -0700</date>
            <delta_ts>2015-04-04 17:45:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143406-20150404173823.patch</filename>
            <type>text/plain</type>
            <size>16668</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMzQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmNiNTU0Mjc1YzM4MTMw
YjE4ZWRlMzFlNzFmZjQwMWU0NGE4NjhjMi4uMDhlNDI1N2ViMjkwZmNkMDllMjMxMTdiZGQ0ZTgx
Y2MyNWVmMWY1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMxIEBACiAyMDE1LTA0LTA0ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIENyYXNoIHVuZGVy
IERvY3VtZW50OjphYnNvbHV0ZVJlZ2lvbkZvckV2ZW50VGFyZ2V0cyBvbiBidWlsZC53ZWJraXQu
b3JnL2Rhc2hib2FyZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQzNDA2CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzIwNDA3MDgwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBXZSBmYWlsZWQg
dG8gcmVtb3ZlIGVsZW1lbnRzIGZyb20gRG9jdW1lbnQncyBtX3doZWVsRXZlbnRUYXJnZXRzIEhh
c2hTZXQgd2hlbiB0aGUKKyAgICAgICAgZWxlbWVudHMgd2VyZSBkZXN0cm95ZWQgd2l0aCB3aGVl
bCBoYW5kbGVycyBzdGlsbCBvbiB0aGlzLiBGaXggYnkgcmVtb3ZpbmcgdGhlCisgICAgICAgIG5v
ZGUgZnJvbSB0aGUgc2V0IHZpYSBOb2RlOjp3aWxsQmVEZWxldGVkRnJvbSgpLgorCisgICAgICAg
IFRlc3RzOiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL25vbi1mYXN0
LXJlZ2lvbi9kZXN0cm95LWVsZW1lbnQtd2l0aC1tdWx0aXBsZS1oYW5kbGVycy1jcmFzaC5odG1s
CisgICAgICAgICAgICAgICBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L25vbi1mYXN0LXJlZ2lvbi9kZXN0cm95LXdoZWVsLWVsZW1lbnQtY3Jhc2guaHRtbAorICAgICAg
ICAgICAgICAgcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9ub24tZmFz
dC1yZWdpb24vZGVzdHJveS13aGVlbC1lbGVtZW50LXBhcmVudC1jcmFzaC5odG1sCisKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVtb3ZlSGFuZGxlckZy
b21TZXQpOiBIZWxwZXIgdG8gcmVtb3ZlIG9uZSBvciBhbGwgaGFuZGxlcnMgb24gdGhlIGdpdmVu
IG5vZGUuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGlkUmVtb3ZlV2hlZWxFdmVudEhh
bmRsZXIpOiBBZGQgYSBwYXJhbWV0ZXIgdG8gc3BlY2lmeSB3aGV0aGVyIHdlJ3JlCisgICAgICAg
IHJlbW92aW5nIGFsbCBoYW5kbGVycyBvbiB0aGUgZ2l2ZW4gbm9kZS4KKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpkaWRSZW1vdmVUb3VjaEV2ZW50SGFuZGxlcik6IFVzZSByZW1vdmVIYW5k
bGVyRnJvbVNldCgpLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9O
b2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OndpbGxCZURlbGV0ZWRGcm9tKTogVGVs
bCB0aGUgZG9jdW1lbnQgd2UncmUgcmVtb3ZpbmcgYWxsIGhhbmRsZXJzCisgICAgICAgIGZvciB0
aGlzIG5vZGUuCisKKzIwMTUtMDQtMDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+CisKICAgICAgICAgUkVHUkVTU0lPTiAocjE4MjIxNSk6IEZlZWRseSBjcmFzaGVzIHdo
ZW4gY2xvc2luZyBhcnRpY2xlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDM0MDUKICAgICAgICAgcmRhcjovL3Byb2JsZW0vMjAzODI3MzQsIHJkYXI6
Ly9wcm9ibGVtLzIwMzk1NDk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBiOTI3ZDU0NTBh
YWFhZjI3NDg4MGEyMWIyZDMwODIwODJhNjk3NTI1Li42MTYwZmJjYTA0MjBjYmU5ZmIwNDhhNzcx
NjZjMTU1NmRjNjM1ZDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTYwMDMsMTMgKzYw
MDMsMjYgQEAgdm9pZCBEb2N1bWVudDo6ZGlkQWRkV2hlZWxFdmVudEhhbmRsZXIoTm9kZSYgbm9k
ZSkKICAgICAgICAgRGVidWdQYWdlT3ZlcmxheXM6OmRpZENoYW5nZUV2ZW50SGFuZGxlcnMoKmZy
YW1lKTsKIH0KIAotdm9pZCBEb2N1bWVudDo6ZGlkUmVtb3ZlV2hlZWxFdmVudEhhbmRsZXIoTm9k
ZSYgbm9kZSkKKy8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgTm9kZSB3YXMgcmVtb3ZlZCBmcm9tIHRo
ZSBzZXQuCitzdGF0aWMgYm9vbCByZW1vdmVIYW5kbGVyRnJvbVNldChFdmVudFRhcmdldFNldCYg
aGFuZGxlclNldCwgTm9kZSYgbm9kZSwgRXZlbnRIYW5kbGVyUmVtb3ZhbCByZW1vdmFsKQorewor
ICAgIHN3aXRjaCAocmVtb3ZhbCkgeworICAgIGNhc2UgRXZlbnRIYW5kbGVyUmVtb3ZhbDo6T25l
OgorICAgICAgICByZXR1cm4gaGFuZGxlclNldC5yZW1vdmUoJm5vZGUpOworICAgIGNhc2UgRXZl
bnRIYW5kbGVyUmVtb3ZhbDo6QWxsOgorICAgICAgICByZXR1cm4gaGFuZGxlclNldC5yZW1vdmVB
bGwoJm5vZGUpOworICAgIH0KKyAgICAKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgRG9j
dW1lbnQ6OmRpZFJlbW92ZVdoZWVsRXZlbnRIYW5kbGVyKE5vZGUmIG5vZGUsIEV2ZW50SGFuZGxl
clJlbW92YWwgcmVtb3ZhbCkKIHsKICAgICBpZiAoIW1fd2hlZWxFdmVudFRhcmdldHMpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIEFTU0VSVChtX3doZWVsRXZlbnRUYXJnZXRzLT5jb250YWlucygm
bm9kZSkpOwotICAgIG1fd2hlZWxFdmVudFRhcmdldHMtPnJlbW92ZSgmbm9kZSk7CisgICAgaWYg
KCFyZW1vdmVIYW5kbGVyRnJvbVNldCgqbV93aGVlbEV2ZW50VGFyZ2V0cywgbm9kZSwgcmVtb3Zh
bCkpCisgICAgICAgIHJldHVybjsKIAogICAgIGlmIChEb2N1bWVudCogcGFyZW50ID0gcGFyZW50
RG9jdW1lbnQoKSkgewogICAgICAgICBwYXJlbnQtPmRpZFJlbW92ZVdoZWVsRXZlbnRIYW5kbGVy
KCp0aGlzKTsKQEAgLTYwNTYsMTQgKzYwNjksMTMgQEAgdm9pZCBEb2N1bWVudDo6ZGlkQWRkVG91
Y2hFdmVudEhhbmRsZXIoTm9kZSYgaGFuZGxlcikKICNlbmRpZgogfQogCi12b2lkIERvY3VtZW50
OjpkaWRSZW1vdmVUb3VjaEV2ZW50SGFuZGxlcihOb2RlJiBoYW5kbGVyKQordm9pZCBEb2N1bWVu
dDo6ZGlkUmVtb3ZlVG91Y2hFdmVudEhhbmRsZXIoTm9kZSYgaGFuZGxlciwgRXZlbnRIYW5kbGVy
UmVtb3ZhbCByZW1vdmFsKQogewogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgaWYgKCFt
X3RvdWNoRXZlbnRUYXJnZXRzKQogICAgICAgICByZXR1cm47CiAKLSAgICBBU1NFUlQobV90b3Vj
aEV2ZW50VGFyZ2V0cy0+Y29udGFpbnMoJmhhbmRsZXIpKTsKLSAgICBtX3RvdWNoRXZlbnRUYXJn
ZXRzLT5yZW1vdmUoJmhhbmRsZXIpOworICAgIHJlbW92ZUhhbmRsZXJGcm9tU2V0KCptX3RvdWNo
RXZlbnRUYXJnZXRzLCBoYW5kbGVyLCByZW1vdmFsKSkKIAogICAgIGlmIChEb2N1bWVudCogcGFy
ZW50ID0gcGFyZW50RG9jdW1lbnQoKSkgewogICAgICAgICBwYXJlbnQtPmRpZFJlbW92ZVRvdWNo
RXZlbnRIYW5kbGVyKCp0aGlzKTsKQEAgLTYwODQsNiArNjA5Niw3IEBAIHZvaWQgRG9jdW1lbnQ6
OmRpZFJlbW92ZVRvdWNoRXZlbnRIYW5kbGVyKE5vZGUmIGhhbmRsZXIpCiAgICAgcGFnZS0+Y2hy
b21lKCkuY2xpZW50KCkubmVlZFRvdWNoRXZlbnRzKGZhbHNlKTsKICNlbHNlCiAgICAgVU5VU0VE
X1BBUkFNKGhhbmRsZXIpOworICAgIFVOVVNFRF9QQVJBTShyZW1vdmFsKTsKICNlbmRpZgogfQog
CkBAIC02MTM5LDcgKzYxNTIsNyBAQCBEb2N1bWVudDo6UmVnaW9uRml4ZWRQYWlyIERvY3VtZW50
OjphYnNvbHV0ZVJlZ2lvbkZvckV2ZW50VGFyZ2V0cyhjb25zdCBFdmVudFRhcgogCiAgICAgZm9y
IChhdXRvIGl0IDogKnRhcmdldHMpIHsKICAgICAgICAgTGF5b3V0UmVjdCByb290UmVsYXRpdmVC
b3VuZHM7Ci0gICAgICAgIAorCiAgICAgICAgIGlmIChpczxEb2N1bWVudD4oaXQua2V5KSkgewog
ICAgICAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KGl0Lmtl
eSk7CiAgICAgICAgICAgICBpZiAoZG9jdW1lbnQgPT0gdGhpcykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
aW5kZXggOGZjOThiYjYzNmM2YjNlYThlZjNiZTgxMDhiNDcwZjA5NTM4NzM3Ni4uYTdlNjYzMTg1
YTg5ZTM3NjI5NWE2M2UxYzljOWJiMWEyYTJhNDU1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAg
LTI0MCw2ICsyNDAsNyBAQCBlbnVtIE5vZGVMaXN0SW52YWxpZGF0aW9uVHlwZSB7CiB9OwogY29u
c3QgaW50IG51bU5vZGVMaXN0SW52YWxpZGF0aW9uVHlwZXMgPSBJbnZhbGlkYXRlT25BbnlBdHRy
Q2hhbmdlICsgMTsKIAorZW51bSBjbGFzcyBFdmVudEhhbmRsZXJSZW1vdmFsIHsgT25lLCBBbGwg
fTsKIHR5cGVkZWYgSGFzaENvdW50ZWRTZXQ8Tm9kZSo+IEV2ZW50VGFyZ2V0U2V0OwogCiBlbnVt
IERvY3VtZW50Q2xhc3MgewpAQCAtMTEyMyw3ICsxMTI0LDcgQEAgcHVibGljOgogICAgIHZvaWQg
aW5pdEROU1ByZWZldGNoKCk7CiAKICAgICB2b2lkIGRpZEFkZFdoZWVsRXZlbnRIYW5kbGVyKE5v
ZGUmKTsKLSAgICB2b2lkIGRpZFJlbW92ZVdoZWVsRXZlbnRIYW5kbGVyKE5vZGUmKTsKKyAgICB2
b2lkIGRpZFJlbW92ZVdoZWVsRXZlbnRIYW5kbGVyKE5vZGUmLCBFdmVudEhhbmRsZXJSZW1vdmFs
ID0gRXZlbnRIYW5kbGVyUmVtb3ZhbDo6T25lKTsKIAogICAgIGRvdWJsZSBsYXN0SGFuZGxlZFVz
ZXJHZXN0dXJlVGltZXN0YW1wKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0SGFuZGxlZFVzZXJHZXN0
dXJlVGltZXN0YW1wOyB9CiAgICAgdm9pZCB1cGRhdGVMYXN0SGFuZGxlZFVzZXJHZXN0dXJlVGlt
ZXN0YW1wKCk7CkBAIC0xMTM5LDcgKzExNDAsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBP
UlQgdW5zaWduZWQgdG91Y2hFdmVudEhhbmRsZXJDb3VudCgpIGNvbnN0OwogCiAgICAgdm9pZCBk
aWRBZGRUb3VjaEV2ZW50SGFuZGxlcihOb2RlJik7Ci0gICAgdm9pZCBkaWRSZW1vdmVUb3VjaEV2
ZW50SGFuZGxlcihOb2RlJik7CisgICAgdm9pZCBkaWRSZW1vdmVUb3VjaEV2ZW50SGFuZGxlcihO
b2RlJiwgRXZlbnRIYW5kbGVyUmVtb3ZhbCA9IEV2ZW50SGFuZGxlclJlbW92YWw6Ok9uZSk7CiAK
ICAgICB2b2lkIGRpZFJlbW92ZUV2ZW50VGFyZ2V0Tm9kZShOb2RlJik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cAppbmRleCAxOWNmYmM0ZjAyY2NkNzZhMGE0M2UxZDZhZjc0YWM1NmNhMDU1MDM3Li4xOTYxZDEx
YTU1MWM4MWI1NDBkYzc0ZWQ1MmNkYzAyNmQ4MDY2MTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC0z
MjgsOCArMzI4LDExIEBAIE5vZGU6On5Ob2RlKCkKIHZvaWQgTm9kZTo6d2lsbEJlRGVsZXRlZEZy
b20oRG9jdW1lbnQmIGRvY3VtZW50KQogewogICAgIGlmIChoYXNFdmVudFRhcmdldERhdGEoKSkg
eworICAgICAgICBkb2N1bWVudC5kaWRSZW1vdmVXaGVlbEV2ZW50SGFuZGxlcigqdGhpcywgRXZl
bnRIYW5kbGVyUmVtb3ZhbDo6QWxsKTsKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKSAmJiBQTEFU
Rk9STShJT1MpCiAgICAgICAgIGRvY3VtZW50LnJlbW92ZVRvdWNoRXZlbnRMaXN0ZW5lcih0aGlz
LCB0cnVlKTsKKyNlbHNlCisgICAgICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBjYWxsIGRpZFJl
bW92ZVRvdWNoRXZlbnRIYW5kbGVyKCkuCiAjZW5kaWYKICAgICAgICAgY2xlYXJFdmVudFRhcmdl
dERhdGEoKTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDdiZmRhNWNmODIxOGFkZWVmZWUyY2QyMzQxOTA3YWUz
NDIxMDA5OS4uZWJkNTlmNzdkNjNjYzRhYjgxMTA0Y2UzMDQyZThhOTJjNjRiZDA2MSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSw1ICsxLDIzIEBACiAyMDE1LTA0LTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgogCisgICAgICAgIENyYXNoIHVuZGVyIERvY3VtZW50OjphYnNvbHV0ZVJlZ2lv
bkZvckV2ZW50VGFyZ2V0cyBvbiBidWlsZC53ZWJraXQub3JnL2Rhc2hib2FyZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzNDA2CisgICAgICAgIHJk
YXI6Ly9wcm9ibGVtLzIwNDA3MDgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisgICAgICAgIAorICAgICAgICBUZXN0IGNvbmZpZ3VyYXRpb25zIG9mIGVsZW1lbnRzIHdp
dGggZGlmZmVyZW50IHBhcmVudGluZyBhbmQgZXZlbnQgaGFuZGxlcnMgYWRkaW5nIG9yZGVycywg
YW5kIG11bHRpcGxlIGhhbmRsZXJzIG9uCisgICAgICAgIHRoZSBzYW1lIG5vZGUuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL25vbi1mYXN0LXJl
Z2lvbi9kZXN0cm95LWVsZW1lbnQtd2l0aC1tdWx0aXBsZS1oYW5kbGVycy1jcmFzaC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9z
Y3JvbGxpbmcvbm9uLWZhc3QtcmVnaW9uL2Rlc3Ryb3ktZWxlbWVudC13aXRoLW11bHRpcGxlLWhh
bmRsZXJzLWNyYXNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvdGls
ZWQtZHJhd2luZy9zY3JvbGxpbmcvbm9uLWZhc3QtcmVnaW9uL2Rlc3Ryb3ktd2hlZWwtZWxlbWVu
dC1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIv
dGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvbm9uLWZhc3QtcmVnaW9uL2Rlc3Ryb3ktd2hlZWwtZWxl
bWVudC1jcmFzaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVk
LWRyYXdpbmcvc2Nyb2xsaW5nL25vbi1mYXN0LXJlZ2lvbi9kZXN0cm95LXdoZWVsLWVsZW1lbnQt
cGFyZW50LWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFj
LXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9ub24tZmFzdC1yZWdpb24vZGVzdHJveS13aGVl
bC1lbGVtZW50LXBhcmVudC1jcmFzaC5odG1sOiBBZGRlZC4KKworMjAxNS0wNC0wNCAgU2ltb24g
RnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwogICAgICAgICBSRUdSRVNTSU9OIChy
MTgyMjE1KTogRmVlZGx5IGNyYXNoZXMgd2hlbiBjbG9zaW5nIGFydGljbGUKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzQwNQogICAgICAgICByZGFy
Oi8vcHJvYmxlbS8yMDM4MjczNCwgcmRhcjovL3Byb2JsZW0vMjAzOTU0OTcKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvbm9u
LWZhc3QtcmVnaW9uL2Rlc3Ryb3ktZWxlbWVudC13aXRoLW11bHRpcGxlLWhhbmRsZXJzLWNyYXNo
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2lu
Zy9zY3JvbGxpbmcvbm9uLWZhc3QtcmVnaW9uL2Rlc3Ryb3ktZWxlbWVudC13aXRoLW11bHRpcGxl
LWhhbmRsZXJzLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYzAyMzY2NjliN2RjNWI2
MmY5ODljOGM2ZmNmMmE4YTQxMjM4NTgxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9ub24tZmFzdC1yZWdpb24v
ZGVzdHJveS1lbGVtZW50LXdpdGgtbXVsdGlwbGUtaGFuZGxlcnMtY3Jhc2gtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMyBAQAorVGhpcyB0ZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4K
KworSXRlcmF0aW9uczogNApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9ub24tZmFzdC1yZWdpb24vZGVzdHJveS1lbGVtZW50
LXdpdGgtbXVsdGlwbGUtaGFuZGxlcnMtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvbm9uLWZhc3QtcmVnaW9uL2Rlc3Ryb3kt
ZWxlbWVudC13aXRoLW11bHRpcGxlLWhhbmRsZXJzLWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDgy
Y2JkODkyNjQ3Nzg4N2YzZGIxNjVlYTJiY2ZiZDZlNzRjODJjYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvbm9u
LWZhc3QtcmVnaW9uL2Rlc3Ryb3ktZWxlbWVudC13aXRoLW11bHRpcGxlLWhhbmRsZXJzLWNyYXNo
Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+
CisgICAgPHN0eWxlPgorICAgICAgICAucG9wb3ZlciB7CisgICAgICAgICAgICBwb3NpdGlvbjog
YWJzb2x1dGU7CisgICAgICAgICAgICB6LWluZGV4OiAxOworICAgICAgICAgICAgdG9wOiAxMDBw
eDsKKyAgICAgICAgICAgIGxlZnQ6IDEwMHB4OworICAgICAgICAgICAgd2lkdGg6IDMwMHB4Owor
ICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsYWNrOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICAuY29udGFpbmVyIHsKKyAgICAg
ICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgICAgaGVpZ2h0OiAxMDAlOworICAgICAgICB9CisgICAgICAgIAorICAgIDwvc3R5bGU+
CisKKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij48L3NjcmlwdD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHZhciBwb3BvdmVyOworICAg
ICAgICBmdW5jdGlvbiBjcmVhdGVQb3BvdmVyKCkKKyAgICAgICAgeworICAgICAgICAgICAgcG9w
b3ZlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAgcG9wb3Zl
ci5jbGFzc05hbWUgPSAncG9wb3Zlcic7CisgICAgICAgICAgICB2YXIgY29udGFpbmVyID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgICAgICBjb250YWluZXIuY2xhc3NO
YW1lID0gJ2NvbnRhaW5lcic7CisgICAgICAgICAgICBwb3BvdmVyLmFwcGVuZENoaWxkKGNvbnRh
aW5lcik7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIGRvVGVzdCgpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIGNyZWF0ZVBvcG92ZXIoKTsKKyAgICAgICAgICAgIGRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocG9wb3Zlcik7CisgICAgICAgICAgICBwb3BvdmVyLmFkZEV2
ZW50TGlzdGVuZXIoIm1vdXNld2hlZWwiLCBmdW5jdGlvbigpIHsgfSwgdHJ1ZSk7CisgICAgICAg
ICAgICBwb3BvdmVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNld2hlZWwiLCBmdW5jdGlvbigpIHsg
fSwgdHJ1ZSk7CisgICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dChkaXNtaXNzLCAwKTsKKyAg
ICAgICAgfQorCisgICAgICAgIHZhciBjb3VudCA9IDA7CisgICAgICAgIGZ1bmN0aW9uIGRpc21p
c3MoKQorICAgICAgICB7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHBv
cG92ZXIpOworICAgICAgICAgICAgZ2MoKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvdW50JykudGV4dENvbnRlbnQgPSArK2NvdW50OworICAg
ICAgICAgICAgaWYgKGNvdW50ID4gMykgeworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZG9UZXN0
KCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwPlRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guPC9wPgorPHA+SXRlcmF0
aW9uczogPHNwYW4gaWQ9ImNvdW50Ij48L3NwYW4+PC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9s
bGluZy9ub24tZmFzdC1yZWdpb24vZGVzdHJveS13aGVlbC1lbGVtZW50LWNyYXNoLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxp
bmcvbm9uLWZhc3QtcmVnaW9uL2Rlc3Ryb3ktd2hlZWwtZWxlbWVudC1jcmFzaC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMmMwMjM2NjY5YjdkYzViNjJmOTg5YzhjNmZjZjJhOGE0MTIzODU4MQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJh
d2luZy9zY3JvbGxpbmcvbm9uLWZhc3QtcmVnaW9uL2Rlc3Ryb3ktd2hlZWwtZWxlbWVudC1jcmFz
aC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIHRlc3QgcGFzc2VzIGlmIGl0IGRv
ZXMgbm90IGNyYXNoLgorCitJdGVyYXRpb25zOiA0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL25vbi1mYXN0LXJlZ2lvbi9k
ZXN0cm95LXdoZWVsLWVsZW1lbnQtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvbm9uLWZhc3QtcmVnaW9uL2Rlc3Ryb3ktd2hl
ZWwtZWxlbWVudC1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhMTA0ODQ2ZmU1NGUyYzNmODNmOWEx
YTVmMTZjYzExZTBkYmVmNTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL25vbi1mYXN0LXJlZ2lvbi9kZXN0cm95
LXdoZWVsLWVsZW1lbnQtY3Jhc2guaHRtbApAQCAtMCwwICsxLDcxIEBACis8IURPQ1RZUEUgaHRt
bD4KKworPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIC5wb3BvdmVyIHsKKyAg
ICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgICAgIHotaW5kZXg6IDE7Cisg
ICAgICAgICAgICB0b3A6IDEwMHB4OworICAgICAgICAgICAgbGVmdDogMTAwcHg7CisgICAgICAg
ICAgICB3aWR0aDogMzAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgICAg
ICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAg
IC5jb250YWluZXIgeworICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CisgICAgICAgIH0KKyAg
ICAgICAgCisgICAgPC9zdHlsZT4KKworICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0i
dXRmLTgiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgeworICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAg
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAg
ICAgdmFyIHBvcG92ZXI7CisgICAgICAgIGZ1bmN0aW9uIGNyZWF0ZVBvcG92ZXIoKQorICAgICAg
ICB7CisgICAgICAgICAgICBwb3BvdmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7
CisgICAgICAgICAgICBwb3BvdmVyLmNsYXNzTmFtZSA9ICdwb3BvdmVyJzsKKyAgICAgICAgICAg
IHZhciBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAg
ICAgIGNvbnRhaW5lci5jbGFzc05hbWUgPSAnY29udGFpbmVyJzsKKyAgICAgICAgICAgIHBvcG92
ZXIuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAg
ZnVuY3Rpb24gZG9UZXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgY3JlYXRlUG9wb3Zlcigp
OworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwb3BvdmVyKTsKKyAgICAg
ICAgICAgIHBvcG92ZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V3aGVlbCIsIHRoaXMsIHRydWUp
OworICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZGlzbWlzcywgMCk7CisgICAgICAgIH0K
KworICAgICAgICB2YXIgY291bnQgPSAwOworICAgICAgICBmdW5jdGlvbiBkaXNtaXNzKCkKKyAg
ICAgICAgeworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChwb3BvdmVyKTsK
KyAgICAgICAgICAgIGdjKCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdjb3VudCcpLnRleHRDb250ZW50ID0gKytjb3VudDsKKyAgICAgICAgICAg
IGlmIChjb3VudCA+IDMpIHsKKyAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGRvVGVzdCgpOworICAg
ICAgICB9CisgICAgICAgIAorICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcs
IGRvVGVzdCwgZmFsc2UpOworICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlz
IHRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLjwvcD4KKzxwPkl0ZXJhdGlvbnM6IDxz
cGFuIGlkPSJjb3VudCI+PC9zcGFuPjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvbm9u
LWZhc3QtcmVnaW9uL2Rlc3Ryb3ktd2hlZWwtZWxlbWVudC1wYXJlbnQtY3Jhc2gtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGlu
Zy9ub24tZmFzdC1yZWdpb24vZGVzdHJveS13aGVlbC1lbGVtZW50LXBhcmVudC1jcmFzaC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMmMwMjM2NjY5YjdkYzViNjJmOTg5YzhjNmZjZjJhOGE0MTIz
ODU4MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGls
ZWQtZHJhd2luZy9zY3JvbGxpbmcvbm9uLWZhc3QtcmVnaW9uL2Rlc3Ryb3ktd2hlZWwtZWxlbWVu
dC1wYXJlbnQtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGhpcyB0ZXN0IHBh
c3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4KKworSXRlcmF0aW9uczogNApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9ub24t
ZmFzdC1yZWdpb24vZGVzdHJveS13aGVlbC1lbGVtZW50LXBhcmVudC1jcmFzaC5odG1sIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9ub24tZmFz
dC1yZWdpb24vZGVzdHJveS13aGVlbC1lbGVtZW50LXBhcmVudC1jcmFzaC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA2OTI2MWUyM2ZkNmY2MzE1ODQzN2M3MzA5NjliYTAzYjA4MGFhYmYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xs
aW5nL25vbi1mYXN0LXJlZ2lvbi9kZXN0cm95LXdoZWVsLWVsZW1lbnQtcGFyZW50LWNyYXNoLmh0
bWwKQEAgLTAsMCArMSw3MSBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+Cisg
ICAgPHN0eWxlPgorICAgICAgICAucG9wb3ZlciB7CisgICAgICAgICAgICBwb3NpdGlvbjogYWJz
b2x1dGU7CisgICAgICAgICAgICB6LWluZGV4OiAxOworICAgICAgICAgICAgdG9wOiAxMDBweDsK
KyAgICAgICAgICAgIGxlZnQ6IDEwMHB4OworICAgICAgICAgICAgd2lkdGg6IDMwMHB4OworICAg
ICAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
YWNrOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICAuY29udGFpbmVyIHsKKyAgICAgICAg
ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICAgICAgaGVpZ2h0OiAxMDAlOworICAgICAgICB9CisgICAgICAgIAorICAgIDwvc3R5bGU+CisK
KyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij48L3NjcmlwdD4KKyAgICA8
c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHZhciBwb3BvdmVyOworICAgICAg
ICBmdW5jdGlvbiBjcmVhdGVQb3BvdmVyKCkKKyAgICAgICAgeworICAgICAgICAgICAgcG9wb3Zl
ciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAgcG9wb3Zlci5j
bGFzc05hbWUgPSAncG9wb3Zlcic7CisgICAgICAgICAgICB2YXIgY29udGFpbmVyID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgICAgICBjb250YWluZXIuY2xhc3NOYW1l
ID0gJ2NvbnRhaW5lcic7CisgICAgICAgICAgICBjb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcigi
bW91c2V3aGVlbCIsIHRoaXMsIHRydWUpOworICAgICAgICAgICAgcG9wb3Zlci5hcHBlbmRDaGls
ZChjb250YWluZXIpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBmdW5jdGlvbiBkb1Rl
c3QoKQorICAgICAgICB7CisgICAgICAgICAgICBjcmVhdGVQb3BvdmVyKCk7CisgICAgICAgICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBvcG92ZXIpOworICAgICAgICAgICAgd2luZG93
LnNldFRpbWVvdXQoZGlzbWlzcywgMCk7CisgICAgICAgIH0KKworICAgICAgICB2YXIgY291bnQg
PSAwOworICAgICAgICBmdW5jdGlvbiBkaXNtaXNzKCkKKyAgICAgICAgeworICAgICAgICAgICAg
ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChwb3BvdmVyKTsKKyAgICAgICAgICAgIGdjKCk7Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb3VudCcp
LnRleHRDb250ZW50ID0gKytjb3VudDsKKyAgICAgICAgICAgIGlmIChjb3VudCA+IDMpIHsKKyAg
ICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGRvVGVzdCgpOworICAgICAgICB9CisgICAgICAgIAorICAg
ICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGRvVGVzdCwgZmFsc2UpOworICAg
IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcGFzc2VzIGlmIGl0IGRv
ZXMgbm90IGNyYXNoLjwvcD4KKzxwPkl0ZXJhdGlvbnM6IDxzcGFuIGlkPSJjb3VudCI+PC9zcGFu
PjwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="274955"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>