<?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>184502</bug_id>
          
          <creation_ts>2018-04-11 08:27:12 -0700</creation_ts>
          <short_desc>Safari 11.1: MessageChannel no longer works between Workers</short_desc>
          <delta_ts>2018-08-30 03:54:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>Safari 11</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=184254</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=184769</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ashley Gullen">ashley</reporter>
          <assigned_to name="Tadeu Zagallo">tzagallo</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>hy</cc>
    
    <cc>kangil.han</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1413683</commentid>
    <comment_count>0</comment_count>
    <who name="Ashley Gullen">ashley</who>
    <bug_when>2018-04-11 08:27:12 -0700</bug_when>
    <thetext>This is a critical issue that causes our PWA Construct 3 (editor.construct.net) to no longer work in Safari 11.1 on either iOS 11.3 or macOS 10.13.4.

Repro URL: https://www.scirra.com/labs/bugs/safarimessagechannel/
Steps to reproduce: open page, open JavaScript console, and look at log messages

Expected result: last log message should read: &quot;[Worker2] Received forwarded message:  Hello world&quot;
Observed result: last log message reads: &quot;[Worker1] Received message to forward, posting to Worker 2:  Hello world&quot;

This URL creates two Web Workers, creates a MessageChannel, and transfers port1 and port2 to the first and second web workers. This is a typical way to allow Web Workers to directly communicate without going through the main document, and is a workaround to the fact nested workers aren&apos;t widely supported. For example now if Worker 1 posts data to its message port, it will be received by port2 in Worker 2.

In Safari 11.1, a message posted down the MessageChannel is never received at the other end. This causes this setup to fail, since no messages are received by the other worker. In our PWA, this causes the UI to permanently hang, since we use this arrangement to dispatch several kinds of processing jobs to web workers. It works correctly in Chrome 65, Firefox 59 and Edge 16.

The log message &quot;[Worker2] Received forwarded message:  Hello world&quot; indicates that Worker 2 received a message sent down the MessageChannel from Worker 1. This log message is missing in Safari 11.1. The final log message (&quot;[Worker1] Received message to forward, posting to Worker 2:  Hello world&quot;) indicates the message was posted, but it is never received.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413686</commentid>
    <comment_count>1</comment_count>
    <who name="Ashley Gullen">ashley</who>
    <bug_when>2018-04-11 08:29:17 -0700</bug_when>
    <thetext>I&apos;d add it appeared to work in Safari 11.0 so this appears to be a regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413945</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-04-11 23:24:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/39372771&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414030</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-04-12 09:01:00 -0700</bug_when>
    <thetext>Potential dupe of Bug 184254?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414275</commentid>
    <comment_count>4</comment_count>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2018-04-12 19:25:46 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #3)
&gt; Potential dupe of Bug 184254?

I reduced the test case and I don&apos;t believe it&apos;s a dupe. This issue only appears when sending messages from workers to workers, and is not affected by the kind of data being sent. I will investigate more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414474</commentid>
    <comment_count>5</comment_count>
      <attachid>337908</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2018-04-13 10:59:06 -0700</bug_when>
    <thetext>Created attachment 337908
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414477</commentid>
    <comment_count>6</comment_count>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2018-04-13 11:05:03 -0700</bug_when>
    <thetext>The issue was that when transferring a MessagePort, we only retained the MessagePortChannel for the duration of the transfer if it was being sent via another MessagePort. When sending both ports via workers, there was no reference to the MessagePortChannel left, so it got deallocated. By the time the message was received, the reference from the port back to the channel had been cleared, so the message was dropped. I added a minimal test case, and also checked the example provided, both work. I&apos;m not sure if entangling/disentangling is the best place to retain the channel though, but it seemed like the most central place, where it would require the least changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414565</commentid>
    <comment_count>7</comment_count>
      <attachid>337938</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2018-04-13 18:24:14 -0700</bug_when>
    <thetext>Created attachment 337938
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415322</commentid>
    <comment_count>8</comment_count>
      <attachid>337938</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2018-04-17 16:12:16 -0700</bug_when>
    <thetext>Comment on attachment 337938
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415334</commentid>
    <comment_count>9</comment_count>
      <attachid>337938</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-17 16:38:51 -0700</bug_when>
    <thetext>Comment on attachment 337938
Patch

Clearing flags on attachment: 337938

Committed r230738: &lt;https://trac.webkit.org/changeset/230738&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415335</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-17 16:38:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415776</commentid>
    <comment_count>11</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-04-18 16:39:38 -0700</bug_when>
    <thetext>The LayoutTest added with this change is a flaky failure due to messages being received/printed out of order:

--- /Volumes/Data/slave/sierra-release-tests-wk1/build/layout-test-results/workers/worker-to-worker-expected.txt
+++ /Volumes/Data/slave/sierra-release-tests-wk1/build/layout-test-results/workers/worker-to-worker-actual.txt
@@ -6,6 +6,6 @@
 PASS successfullyParsed is true
 
 TEST COMPLETE
+[Worker 2] Received message: hello
 [Worker 1] Received message: hello
-[Worker 2] Received message: hello
 

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=workers%2Fworker-to-worker.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415959</commentid>
    <comment_count>12</comment_count>
      <attachid>337938</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2018-04-19 10:05:23 -0700</bug_when>
    <thetext>Comment on attachment 337938
Patch

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

&gt; LayoutTests/workers/worker-to-worker.html:23
&gt; +  worker(&quot;Worker 1&quot;, mc.port1, 1),

Looks like the problem here is that 1ms is not a deterministic or reliable guarantee of ordering.

If you change the worker function to pass e.data to its resolver, then you can process log the e.data results in deterministic order at the very end, after all promises have resolved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415969</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-04-19 10:18:23 -0700</bug_when>
    <thetext>Tadeu has a fix in bug 184769.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455188</commentid>
    <comment_count>14</comment_count>
    <who name="Huess Yil">hy</who>
    <bug_when>2018-08-30 02:52:04 -0700</bug_when>
    <thetext>The Status says &quot;Resolved Fixed&quot; but i&apos;m still facing the same issue with current versions (macOS 10.13.6/Safari 11.1.2 &amp; iOS 11.4). Posting messages from worker to worker using messagechannel ports won&apos;t work at all.

You can still use Ashley&apos;s Repro URL to reproduce this in the mentioned versions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455194</commentid>
    <comment_count>15</comment_count>
    <who name="Ashley Gullen">ashley</who>
    <bug_when>2018-08-30 03:36:05 -0700</bug_when>
    <thetext>Apple are typically opaque about process and slow to get fixes to release. However as far as I can tell by myself, it should be fixed in the latest Safari Technology Preview, and in Safari 12 when that&apos;s released. Yes, this feature has been broken for the entire time Safari 11.1 has been out. They did the same thing when they broke WebAssembly...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455196</commentid>
    <comment_count>16</comment_count>
    <who name="Huess Yil">hy</who>
    <bug_when>2018-08-30 03:54:44 -0700</bug_when>
    <thetext>Thanks for the info Ashley! I tested it with Safari Tech Preview now and can confirm that it&apos;s working.. Unfortunately i will need to build a workaround if this fix only ships with 12 since we found out that most of our macOS/IOs users don&apos;t update their devices/systems frequently.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337908</attachid>
            <date>2018-04-13 10:59:06 -0700</date>
            <delta_ts>2018-04-13 18:24:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184502-20180413105905.patch</filename>
            <type>text/plain</type>
            <size>7631</size>
            <attacher name="Tadeu Zagallo">tzagallo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTAzNGNlMzRjMGQxYzkx
OWUzMjA3OWM4NThiOWRhMGJiNGFmYjU3OC4uMGY0ZDc1ZTE2ZGRiNzljNjU3NzdjOThkZmIzNzA3
YTYxZjc5ODEyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE4LTA0LTEzICBUYWRl
dSBaYWdhbGxvICA8dGFkZXV6YWdhbGxvQGdtYWlsLmNvbT4KKworICAgICAgICBSZXRhaW4gTWVz
c2FnZVBvcnRDaGFubmVsIGZvciB0cmFuc2ZlciB3aGVuIGRpc2VudGFuZ2xpbmcgcG9ydHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDUwMgorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMzkzNzI3NzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTWVzc2FnZVBvcnRDaGFubmVscyBzaG91bGQgYmUgcmV0
YWluZWQgd2hpbGUgcG9ydHMgYXJlIGJlaW5nIHRyYW5zZmVycmVkLCBidXQgdGhhdCB3YXMgb25s
eQorICAgICAgICBoYXBwZW5pbmcgd2hlbiBzZW5kaW5nIGEgcG9ydCB0aHJvdWdoIGFub3RoZXIg
cG9ydCwgYnV0IG5vdCB3aGVuIHNlbmRpbmcgaXQgdGhyb3VnaCBhIHdvcmtlci4KKworICAgICAg
ICBUZXN0OiB3b3JrZXJzL3dvcmtlci10by13b3JrZXIuaHRtbAorCisgICAgICAgICogZG9tL21l
c3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVz
c2FnZVBvcnRDaGFubmVsOjplbnRhbmdsZVBvcnRXaXRoUHJvY2Vzcyk6CisgICAgICAgIChXZWJD
b3JlOjpNZXNzYWdlUG9ydENoYW5uZWw6OmRpc2VudGFuZ2xlUG9ydCk6CisgICAgICAgIChXZWJD
b3JlOjpNZXNzYWdlUG9ydENoYW5uZWw6OnBvc3RNZXNzYWdlVG9SZW1vdGUpOgorICAgICAgICAo
V2ViQ29yZTo6TWVzc2FnZVBvcnRDaGFubmVsOjp0YWtlQWxsTWVzc2FnZXNGb3JQb3J0KToKKwog
MjAxOC0wNC0xMCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIERv
IG5vdCBsYXlvdXQgaW1hZ2VzIHdoZW4gd2Ugb25seSBuZWVkIHRoZSBvdmVyZmxvdyBpbmZvcm1h
dGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tZXNzYWdlcG9ydHMvTWVzc2Fn
ZVBvcnRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tZXNzYWdlcG9ydHMvTWVzc2Fn
ZVBvcnRDaGFubmVsLmNwcAppbmRleCBkNzUwNmYwMmVkYzQzOGYxMTg3MWZmZTZjNWVhY2Q3ZGMx
ZDNiMTExLi4zNmEwYzc5OGE0NDcwNGM5NDQ4NjY0NzlkMzY0NGJiZTM3MjNkODZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5u
ZWwuY3BwCkBAIC04Nyw2ICs4Nyw3IEBAIHZvaWQgTWVzc2FnZVBvcnRDaGFubmVsOjplbnRhbmds
ZVBvcnRXaXRoUHJvY2Vzcyhjb25zdCBNZXNzYWdlUG9ydElkZW50aWZpZXImIHBvCiAgICAgQVNT
RVJUKCFtX3Byb2Nlc3Nlc1tpXSB8fCAqbV9wcm9jZXNzZXNbaV0gPT0gcHJvY2Vzcyk7CiAgICAg
bV9wcm9jZXNzZXNbaV0gPSBwcm9jZXNzOwogICAgIG1fZW50YW5nbGVkVG9Qcm9jZXNzUHJvdGVj
dG9yc1tpXSA9IHRoaXM7CisgICAgbV9wZW5kaW5nTWVzc2FnZVBvcnRUcmFuc2ZlcnNbaV0ucmVt
b3ZlKHRoaXMpOwogfQogCiB2b2lkIE1lc3NhZ2VQb3J0Q2hhbm5lbDo6ZGlzZW50YW5nbGVQb3J0
KGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgcG9ydCkKQEAgLTk4LDggKzk5LDEwIEBAIHZv
aWQgTWVzc2FnZVBvcnRDaGFubmVsOjpkaXNlbnRhbmdsZVBvcnQoY29uc3QgTWVzc2FnZVBvcnRJ
ZGVudGlmaWVyJiBwb3J0KQogICAgIEFTU0VSVChwb3J0ID09IG1fcG9ydHNbMF0gfHwgcG9ydCA9
PSBtX3BvcnRzWzFdKTsKICAgICBzaXplX3QgaSA9IHBvcnQgPT0gbV9wb3J0c1swXSA/IDAgOiAx
OwogCisKICAgICBBU1NFUlQobV9wcm9jZXNzZXNbaV0gfHwgbV9pc0Nsb3NlZFtpXSk7CiAgICAg
bV9wcm9jZXNzZXNbaV0gPSBzdGQ6Om51bGxvcHQ7CisgICAgbV9wZW5kaW5nTWVzc2FnZVBvcnRU
cmFuc2ZlcnNbaV0uYWRkKHRoaXMpOwogCiAgICAgLy8gVGhpcyBzZXQgb2Ygc3RlcHMgaXMgdG8g
Z3VhcmFudGVlIHRoYXQgdGhlIGxvY2sgaXMgdW5sb2NrZWQgYmVmb3JlIHRoZQogICAgIC8vIGxh
c3QgcmVmIHRvIHRoaXMgb2JqZWN0IGlzIHJlbGVhc2VkLgpAQCAtMTMzLDI0ICsxMzYsNiBAQCBi
b29sIE1lc3NhZ2VQb3J0Q2hhbm5lbDo6cG9zdE1lc3NhZ2VUb1JlbW90ZShNZXNzYWdlV2l0aE1l
c3NhZ2VQb3J0cyYmIG1lc3NhZ2UsCiAgICAgQVNTRVJUKHJlbW90ZVRhcmdldCA9PSBtX3BvcnRz
WzBdIHx8IHJlbW90ZVRhcmdldCA9PSBtX3BvcnRzWzFdKTsKICAgICBzaXplX3QgaSA9IHJlbW90
ZVRhcmdldCA9PSBtX3BvcnRzWzBdID8gMCA6IDE7CiAKLSAgICBmb3IgKGF1dG8mIGNoYW5uZWxQ
YWlyIDogbWVzc2FnZS50cmFuc2ZlcnJlZFBvcnRzKSB7Ci0gICAgICAgIGF1dG8qIGNoYW5uZWwg
PSBtX3JlZ2lzdHJ5LmV4aXN0aW5nQ2hhbm5lbENvbnRhaW5pbmdQb3J0KGNoYW5uZWxQYWlyLmZp
cnN0KTsKLSAgICAgICAgLy8gT25lIG9mIHRoZSBwb3J0cyBpbiB0aGUgY2hhbm5lbCBtaWdodCBo
YXZlIGJlZW4gY2xvc2VkLCB0aGVyZWZvcmUgcmVtb3ZpbmcgcmVjb3JkIG9mIHRoZSBjaGFubmVs
LgotICAgICAgICAvLyBUaGF0J3Mgb2theTsgc3VjaCBwb3J0cyBjYW4gc3RpbGwgYmUgdHJhbnNm
ZXJyZWQuIFdlIGp1c3QgZG9uJ3QgaGF2ZSB0byBwcm90ZWN0IHRoZSBjaGFubmVsLgotICAgICAg
ICBpZiAoIWNoYW5uZWwpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBBU1NFUlQo
Y2hhbm5lbC0+aW5jbHVkZXNQb3J0KGNoYW5uZWxQYWlyLnNlY29uZCkpOwotCi0jaWZuZGVmIE5E
RUJVRwotICAgICAgICBpZiAoYXV0byogb3RoZXJDaGFubmVsID0gbV9yZWdpc3RyeS5leGlzdGlu
Z0NoYW5uZWxDb250YWluaW5nUG9ydChjaGFubmVsUGFpci5zZWNvbmQpKQotICAgICAgICAgICAg
QVNTRVJUKGNoYW5uZWwgPT0gb3RoZXJDaGFubmVsKTsKLSNlbmRpZgotICAgICAgICAvLyBIYXZp
bmcgYSBwZW5kaW5nIG1lc3NhZ2Ugc2hvdWxkIGtlZXAgYSBwb3J0IGFsaXZlIHdpdGggYSByZWYu
Ci0gICAgICAgIC8vIFRoZSByZWYgd2lsbCBiZSBjbGVhcmVkIGFmdGVyIHRoZSBiYXRjaCBvZiBw
ZW5kaW5nIG1lc3NhZ2VzIGhhcyBiZWVuIGRlbGl2ZXJlZC4KLSAgICAgICAgbV9wZW5kaW5nTWVz
c2FnZVBvcnRUcmFuc2ZlcnNbaV0uYWRkKGNoYW5uZWwpOwotICAgIH0KLQogICAgIG1fcGVuZGlu
Z01lc3NhZ2VzW2ldLmFwcGVuZChXVEZNb3ZlKG1lc3NhZ2UpKTsKICAgICBMT0coTWVzc2FnZVBv
cnRzLCAiTWVzc2FnZVBvcnRDaGFubmVsICVzICglcCkgbm93IGhhcyAlenUgbWVzc2FnZXMgcGVu
ZGluZyBvbiBwb3J0ICVzIiwgbG9nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgdGhpcywgbV9wZW5k
aW5nTWVzc2FnZXNbaV0uc2l6ZSgpLCByZW1vdGVUYXJnZXQubG9nU3RyaW5nKCkudXRmOCgpLmRh
dGEoKSk7CiAKQEAgLTE4NywxMCArMTcyLDcgQEAgdm9pZCBNZXNzYWdlUG9ydENoYW5uZWw6OnRh
a2VBbGxNZXNzYWdlc0ZvclBvcnQoY29uc3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBwb3IKICAg
ICBMT0coTWVzc2FnZVBvcnRzLCAiVGhlcmUgYXJlICV6dSBtZXNzYWdlcyB0byB0YWtlIGZvciBw
b3J0ICVzLiBUYWtpbmcgdGhlbSBub3csIG1lc3NhZ2VzIGluIGZsaWdodCBpcyBub3cgJSIgUFJJ
dTY0LCByZXN1bHQuc2l6ZSgpLCBwb3J0LmxvZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCksIG1fbWVz
c2FnZUJhdGNoZXNJbkZsaWdodCk7CiAKICAgICBhdXRvIHNpemUgPSByZXN1bHQuc2l6ZSgpOwot
ICAgIEhhc2hTZXQ8UmVmUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbD4+IHRyYW5zZmVycmVkUG9ydFBy
b3RlY3RvcnM7Ci0gICAgdHJhbnNmZXJyZWRQb3J0UHJvdGVjdG9ycy5zd2FwKG1fcGVuZGluZ01l
c3NhZ2VQb3J0VHJhbnNmZXJzW2ldKTsKLQotICAgIGNhbGxiYWNrKFdURk1vdmUocmVzdWx0KSwg
W3NpemUsIHRoaXMsIHBvcnQsIHByb3RlY3RlZFRoaXMgPSBXVEZNb3ZlKG1fcGVuZGluZ01lc3Nh
Z2VQcm90ZWN0b3JzW2ldKSwgdHJhbnNmZXJyZWRQb3J0UHJvdGVjdG9ycyA9IFdURk1vdmUodHJh
bnNmZXJyZWRQb3J0UHJvdGVjdG9ycyldIHsKKyAgICBjYWxsYmFjayhXVEZNb3ZlKHJlc3VsdCks
IFtzaXplLCB0aGlzLCBwb3J0LCBwcm90ZWN0ZWRUaGlzID0gV1RGTW92ZShtX3BlbmRpbmdNZXNz
YWdlUHJvdGVjdG9yc1tpXSldIHsKICAgICAgICAgVU5VU0VEX1BBUkFNKHBvcnQpOwogI2lmIExP
R19ESVNBQkxFRAogICAgICAgICBVTlVTRURfUEFSQU0oc2l6ZSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWFiYWQ0YzBm
OGI2ZWRjNjZiMTZmMjZlNzY2NTY5NGM0ZTMwMmQ0Ni4uNTYyMGI4ZmRkNjAzMDQ5M2IxNzIzMjU1
NDE2MjlkNWExNWZkNmE0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE4LTA0LTEzICBUYWRl
dSBaYWdhbGxvICA8dGFkZXV6YWdhbGxvQGdtYWlsLmNvbT4KKworICAgICAgICBSZXRhaW4gTWVz
c2FnZVBvcnRDaGFubmVsIGZvciB0cmFuc2ZlciB3aGVuIGRpc2VudGFuZ2xpbmcgcG9ydHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDUwMgorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMzkzNzI3NzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hlY2sgdGhhdCB0aGUgTWVzc2FnZUNoYW5uZWwgZG9l
cyBub3QgZ2V0IGVhZ2VybHkgZGVhbGxvY2F0ZWQgd2hlbiB0cmFuc2ZlcnJpbmcKKyAgICAgICAg
Ym90aCBvZiBpdHMgcG9ydHMuCisKKyAgICAgICAgKiB3b3JrZXJzL3dvcmtlci10by13b3JrZXIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3b3JrZXJzL3dvcmtlci10by13b3JrZXIu
aHRtbDogQWRkZWQuCisgICAgICAgICogd29ya2Vycy93b3JrZXItdG8td29ya2VyLmpzOiBBZGRl
ZC4KKwogMjAxOC0wNC0xMCAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAog
ICAgICAgICBNYXJrIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9uYW1l
LXByb3BlcnR5Lmh0bWwgYXMgZmxha3kuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93b3JrZXJz
L3dvcmtlci10by13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd29ya2Vycy93b3Jr
ZXItdG8td29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44OTRmNTQ2YzEzY2FjZjRlNGVl
MTU2N2IyYTM5YTJmODg5YTQ0NzU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd29y
a2Vycy93b3JrZXItdG8td29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitXb3Jr
ZXIgdG8gd29ya2VyIGNvbW11bmljYXRpb24gdmlhIE1lc3NhZ2VQb3J0cworCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCitbV29ya2VyIDFdIFJlY2VpdmVkIG1lc3NhZ2U6IGhlbGxvCitbV29ya2Vy
IDJdIFJlY2VpdmVkIG1lc3NhZ2U6IGhlbGxvCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dv
cmtlcnMvd29ya2VyLXRvLXdvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvd29ya2Vycy93b3JrZXIt
dG8td29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmZkMjU1ODNjMGNmMjdmNzE0NDFjMjhjNGYxMmY2
ZGM5ZTQyMDBmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dvcmtlcnMvd29ya2Vy
LXRvLXdvcmtlci5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIldvcmtlciB0byB3b3JrZXIgY29tbXVuaWNhdGlvbiB2
aWEgTWVzc2FnZVBvcnRzIik7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgd2luZG93LnRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworCitjb25zdCB3b3JrZXIgPSAobmFtZSwgcG9ydCwg
d2FpdCkgPT4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgIGNvbnN0IHcgPSBuZXcgV29ya2Vy
KCJ3b3JrZXItdG8td29ya2VyLmpzIik7CisgIHcucG9zdE1lc3NhZ2UoeyBuYW1lLCB3YWl0LCBw
b3J0IH0sIFtwb3J0XSk7CisgIHcub25tZXNzYWdlID0gKGUpID0+IHsKKyAgICBkZWJ1ZyhlLmRh
dGEpOworICAgIHJlc29sdmUoKTsKKyAgfTsKK30pOworCitjb25zdCBtYyA9IG5ldyBNZXNzYWdl
Q2hhbm5lbCgpOworUHJvbWlzZS5hbGwoWworICAvLyBmb3JjZSBvbmUgd29ya2VyIHRvIHdhaXQg
dG8gbWFrZSBvcmRlciBkZXRlcm1pbmlzdGljCisgIHdvcmtlcigiV29ya2VyIDEiLCBtYy5wb3J0
MSwgMSksCisgIHdvcmtlcigiV29ya2VyIDIiLCBtYy5wb3J0MiksCitdKS50aGVuKCgpID0+IHsK
KyAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHdpbmRvdy50ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKK30pOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd29ya2Vycy93b3JrZXItdG8td29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvd29y
a2Vycy93b3JrZXItdG8td29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1MzRmNDczZGJjN2FhZjkyNzAy
NGY2MzkwYTg5ZDEwYzA3MjBjMzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93b3Jr
ZXJzL3dvcmtlci10by13b3JrZXIuanMKQEAgLTAsMCArMSwxMSBAQAorc2VsZi5vbm1lc3NhZ2Ug
PSBlID0+IHsKKyAgY29uc3Qge25hbWV9ID0gZS5kYXRhOworCisgIGUuZGF0YS5wb3J0Lm9ubWVz
c2FnZSA9IGUgPT4geworICAgIHNlbGYucG9zdE1lc3NhZ2UoYFske25hbWV9XSBSZWNlaXZlZCBt
ZXNzYWdlOiAke2UuZGF0YX1gKTsKKyAgfQorCisgIGNvbnN0IHNlbmRNc2cgPSAoKSA9PiBlLmRh
dGEucG9ydC5wb3N0TWVzc2FnZSgnaGVsbG8nKTsKKyAgaWYgKGUuZGF0YS53YWl0KSBzZXRUaW1l
b3V0KHNlbmRNc2csIGUuZGF0YS53YWl0KTsKKyAgZWxzZSBzZW5kTXNnKCk7Cit9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337938</attachid>
            <date>2018-04-13 18:24:14 -0700</date>
            <delta_ts>2018-04-17 16:38:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184502-20180413182413.patch</filename>
            <type>text/plain</type>
            <size>7608</size>
            <attacher name="Tadeu Zagallo">tzagallo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTAzNGNlMzRjMGQxYzkx
OWUzMjA3OWM4NThiOWRhMGJiNGFmYjU3OC4uYjU4OTYxZmRhOTQzYTM2YTNhMzExM2MxZmVhMDBj
ZjhmYjdjNWQyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE4LTA0LTEzICBUYWRl
dSBaYWdhbGxvICA8dHphZ2FsbG9AYXBwbGUuY29tPgorCisgICAgICAgIFJldGFpbiBNZXNzYWdl
UG9ydENoYW5uZWwgZm9yIHRyYW5zZmVyIHdoZW4gZGlzZW50YW5nbGluZyBwb3J0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0NTAyCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8zOTM3Mjc3MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBNZXNzYWdlUG9ydENoYW5uZWxzIHNob3VsZCBiZSByZXRhaW5l
ZCB3aGlsZSBwb3J0cyBhcmUgYmVpbmcgdHJhbnNmZXJyZWQsIGJ1dCB0aGF0IHdhcyBvbmx5Cisg
ICAgICAgIGhhcHBlbmluZyB3aGVuIHNlbmRpbmcgYSBwb3J0IHRocm91Z2ggYW5vdGhlciBwb3J0
LCBidXQgbm90IHdoZW4gc2VuZGluZyBpdCB0aHJvdWdoIGEgd29ya2VyLgorCisgICAgICAgIFRl
c3Q6IHdvcmtlcnMvd29ya2VyLXRvLXdvcmtlci5odG1sCisKKyAgICAgICAgKiBkb20vbWVzc2Fn
ZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZXNzYWdl
UG9ydENoYW5uZWw6OmVudGFuZ2xlUG9ydFdpdGhQcm9jZXNzKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lc3NhZ2VQb3J0Q2hhbm5lbDo6ZGlzZW50YW5nbGVQb3J0KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lc3NhZ2VQb3J0Q2hhbm5lbDo6cG9zdE1lc3NhZ2VUb1JlbW90ZSk6CisgICAgICAgIChXZWJD
b3JlOjpNZXNzYWdlUG9ydENoYW5uZWw6OnRha2VBbGxNZXNzYWdlc0ZvclBvcnQpOgorCiAyMDE4
LTA0LTEwICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgRG8gbm90
IGxheW91dCBpbWFnZXMgd2hlbiB3ZSBvbmx5IG5lZWQgdGhlIG92ZXJmbG93IGluZm9ybWF0aW9u
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9y
dENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9y
dENoYW5uZWwuY3BwCmluZGV4IGQ3NTA2ZjAyZWRjNDM4ZjExODcxZmZlNmM1ZWFjZDdkYzFkM2Ix
MTEuLjgzZTE5NjFkZmUzOGM1NDgyZWU1NGExMWM5NzM5MmZkNTI2NzViMzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbC5j
cHAKQEAgLTg3LDYgKzg3LDcgQEAgdm9pZCBNZXNzYWdlUG9ydENoYW5uZWw6OmVudGFuZ2xlUG9y
dFdpdGhQcm9jZXNzKGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmllciYgcG8KICAgICBBU1NFUlQo
IW1fcHJvY2Vzc2VzW2ldIHx8ICptX3Byb2Nlc3Nlc1tpXSA9PSBwcm9jZXNzKTsKICAgICBtX3By
b2Nlc3Nlc1tpXSA9IHByb2Nlc3M7CiAgICAgbV9lbnRhbmdsZWRUb1Byb2Nlc3NQcm90ZWN0b3Jz
W2ldID0gdGhpczsKKyAgICBtX3BlbmRpbmdNZXNzYWdlUG9ydFRyYW5zZmVyc1tpXS5yZW1vdmUo
dGhpcyk7CiB9CiAKIHZvaWQgTWVzc2FnZVBvcnRDaGFubmVsOjpkaXNlbnRhbmdsZVBvcnQoY29u
c3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBwb3J0KQpAQCAtMTAwLDYgKzEwMSw3IEBAIHZvaWQg
TWVzc2FnZVBvcnRDaGFubmVsOjpkaXNlbnRhbmdsZVBvcnQoY29uc3QgTWVzc2FnZVBvcnRJZGVu
dGlmaWVyJiBwb3J0KQogCiAgICAgQVNTRVJUKG1fcHJvY2Vzc2VzW2ldIHx8IG1faXNDbG9zZWRb
aV0pOwogICAgIG1fcHJvY2Vzc2VzW2ldID0gc3RkOjpudWxsb3B0OworICAgIG1fcGVuZGluZ01l
c3NhZ2VQb3J0VHJhbnNmZXJzW2ldLmFkZCh0aGlzKTsKIAogICAgIC8vIFRoaXMgc2V0IG9mIHN0
ZXBzIGlzIHRvIGd1YXJhbnRlZSB0aGF0IHRoZSBsb2NrIGlzIHVubG9ja2VkIGJlZm9yZSB0aGUK
ICAgICAvLyBsYXN0IHJlZiB0byB0aGlzIG9iamVjdCBpcyByZWxlYXNlZC4KQEAgLTEzMywyNCAr
MTM1LDYgQEAgYm9vbCBNZXNzYWdlUG9ydENoYW5uZWw6OnBvc3RNZXNzYWdlVG9SZW1vdGUoTWVz
c2FnZVdpdGhNZXNzYWdlUG9ydHMmJiBtZXNzYWdlLAogICAgIEFTU0VSVChyZW1vdGVUYXJnZXQg
PT0gbV9wb3J0c1swXSB8fCByZW1vdGVUYXJnZXQgPT0gbV9wb3J0c1sxXSk7CiAgICAgc2l6ZV90
IGkgPSByZW1vdGVUYXJnZXQgPT0gbV9wb3J0c1swXSA/IDAgOiAxOwogCi0gICAgZm9yIChhdXRv
JiBjaGFubmVsUGFpciA6IG1lc3NhZ2UudHJhbnNmZXJyZWRQb3J0cykgewotICAgICAgICBhdXRv
KiBjaGFubmVsID0gbV9yZWdpc3RyeS5leGlzdGluZ0NoYW5uZWxDb250YWluaW5nUG9ydChjaGFu
bmVsUGFpci5maXJzdCk7Ci0gICAgICAgIC8vIE9uZSBvZiB0aGUgcG9ydHMgaW4gdGhlIGNoYW5u
ZWwgbWlnaHQgaGF2ZSBiZWVuIGNsb3NlZCwgdGhlcmVmb3JlIHJlbW92aW5nIHJlY29yZCBvZiB0
aGUgY2hhbm5lbC4KLSAgICAgICAgLy8gVGhhdCdzIG9rYXk7IHN1Y2ggcG9ydHMgY2FuIHN0aWxs
IGJlIHRyYW5zZmVycmVkLiBXZSBqdXN0IGRvbid0IGhhdmUgdG8gcHJvdGVjdCB0aGUgY2hhbm5l
bC4KLSAgICAgICAgaWYgKCFjaGFubmVsKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAg
ICAgQVNTRVJUKGNoYW5uZWwtPmluY2x1ZGVzUG9ydChjaGFubmVsUGFpci5zZWNvbmQpKTsKLQot
I2lmbmRlZiBOREVCVUcKLSAgICAgICAgaWYgKGF1dG8qIG90aGVyQ2hhbm5lbCA9IG1fcmVnaXN0
cnkuZXhpc3RpbmdDaGFubmVsQ29udGFpbmluZ1BvcnQoY2hhbm5lbFBhaXIuc2Vjb25kKSkKLSAg
ICAgICAgICAgIEFTU0VSVChjaGFubmVsID09IG90aGVyQ2hhbm5lbCk7Ci0jZW5kaWYKLSAgICAg
ICAgLy8gSGF2aW5nIGEgcGVuZGluZyBtZXNzYWdlIHNob3VsZCBrZWVwIGEgcG9ydCBhbGl2ZSB3
aXRoIGEgcmVmLgotICAgICAgICAvLyBUaGUgcmVmIHdpbGwgYmUgY2xlYXJlZCBhZnRlciB0aGUg
YmF0Y2ggb2YgcGVuZGluZyBtZXNzYWdlcyBoYXMgYmVlbiBkZWxpdmVyZWQuCi0gICAgICAgIG1f
cGVuZGluZ01lc3NhZ2VQb3J0VHJhbnNmZXJzW2ldLmFkZChjaGFubmVsKTsKLSAgICB9Ci0KICAg
ICBtX3BlbmRpbmdNZXNzYWdlc1tpXS5hcHBlbmQoV1RGTW92ZShtZXNzYWdlKSk7CiAgICAgTE9H
KE1lc3NhZ2VQb3J0cywgIk1lc3NhZ2VQb3J0Q2hhbm5lbCAlcyAoJXApIG5vdyBoYXMgJXp1IG1l
c3NhZ2VzIHBlbmRpbmcgb24gcG9ydCAlcyIsIGxvZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCksIHRo
aXMsIG1fcGVuZGluZ01lc3NhZ2VzW2ldLnNpemUoKSwgcmVtb3RlVGFyZ2V0LmxvZ1N0cmluZygp
LnV0ZjgoKS5kYXRhKCkpOwogCkBAIC0xODcsMTAgKzE3MSw3IEBAIHZvaWQgTWVzc2FnZVBvcnRD
aGFubmVsOjp0YWtlQWxsTWVzc2FnZXNGb3JQb3J0KGNvbnN0IE1lc3NhZ2VQb3J0SWRlbnRpZmll
ciYgcG9yCiAgICAgTE9HKE1lc3NhZ2VQb3J0cywgIlRoZXJlIGFyZSAlenUgbWVzc2FnZXMgdG8g
dGFrZSBmb3IgcG9ydCAlcy4gVGFraW5nIHRoZW0gbm93LCBtZXNzYWdlcyBpbiBmbGlnaHQgaXMg
bm93ICUiIFBSSXU2NCwgcmVzdWx0LnNpemUoKSwgcG9ydC5sb2dTdHJpbmcoKS51dGY4KCkuZGF0
YSgpLCBtX21lc3NhZ2VCYXRjaGVzSW5GbGlnaHQpOwogCiAgICAgYXV0byBzaXplID0gcmVzdWx0
LnNpemUoKTsKLSAgICBIYXNoU2V0PFJlZlB0cjxNZXNzYWdlUG9ydENoYW5uZWw+PiB0cmFuc2Zl
cnJlZFBvcnRQcm90ZWN0b3JzOwotICAgIHRyYW5zZmVycmVkUG9ydFByb3RlY3RvcnMuc3dhcCht
X3BlbmRpbmdNZXNzYWdlUG9ydFRyYW5zZmVyc1tpXSk7Ci0KLSAgICBjYWxsYmFjayhXVEZNb3Zl
KHJlc3VsdCksIFtzaXplLCB0aGlzLCBwb3J0LCBwcm90ZWN0ZWRUaGlzID0gV1RGTW92ZShtX3Bl
bmRpbmdNZXNzYWdlUHJvdGVjdG9yc1tpXSksIHRyYW5zZmVycmVkUG9ydFByb3RlY3RvcnMgPSBX
VEZNb3ZlKHRyYW5zZmVycmVkUG9ydFByb3RlY3RvcnMpXSB7CisgICAgY2FsbGJhY2soV1RGTW92
ZShyZXN1bHQpLCBbc2l6ZSwgdGhpcywgcG9ydCwgcHJvdGVjdGVkVGhpcyA9IFdURk1vdmUobV9w
ZW5kaW5nTWVzc2FnZVByb3RlY3RvcnNbaV0pXSB7CiAgICAgICAgIFVOVVNFRF9QQVJBTShwb3J0
KTsKICNpZiBMT0dfRElTQUJMRUQKICAgICAgICAgVU5VU0VEX1BBUkFNKHNpemUpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGVhYmFkNGMwZjhiNmVkYzY2YjE2ZjI2ZTc2NjU2OTRjNGUzMDJkNDYuLjQ4YTVmYzZkNDJmODRm
MDBlNmU5ZTA0MDc2Mjk4YTExNWRmMDNmYmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxOC0w
NC0xMyAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNvbT4KKworICAgICAgICBSZXRh
aW4gTWVzc2FnZVBvcnRDaGFubmVsIGZvciB0cmFuc2ZlciB3aGVuIGRpc2VudGFuZ2xpbmcgcG9y
dHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDUw
MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzkzNzI3NzE+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hlY2sgdGhhdCB0aGUgTWVzc2FnZUNoYW5u
ZWwgZG9lcyBub3QgZ2V0IGVhZ2VybHkgZGVhbGxvY2F0ZWQgd2hlbiB0cmFuc2ZlcnJpbmcgYm90
aCBvZiBpdHMKKyAgICAgICAgcG9ydHMuIE9yaWdpbmFsIHRlc3QgY2FzZSBwcm92aWRlZCB3aXRo
IHRoZSBidWcgcmVwb3J0IGJ5IEFzaGxleSBHdWxsZW4gPGFzaGxleUBzY2lycmEuY29tPgorCisg
ICAgICAgICogd29ya2Vycy93b3JrZXItdG8td29ya2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd29ya2Vycy93b3JrZXItdG8td29ya2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdvcmtlcnMvd29ya2VyLXRvLXdvcmtlci5qczogQWRkZWQuCisKIDIwMTgtMDQtMTAgIFJ5YW4g
SGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgTWFyayBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFtZS1wcm9wZXJ0eS5odG1sIGFzIGZsYWt5
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd29ya2Vycy93b3JrZXItdG8td29ya2VyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3dvcmtlcnMvd29ya2VyLXRvLXdvcmtlci1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODk0ZjU0NmMxM2NhY2Y0ZTRlZTE1NjdiMmEzOWEyZjg4OWE0NDc1OQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dvcmtlcnMvd29ya2VyLXRvLXdvcmtlci1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorV29ya2VyIHRvIHdvcmtlciBjb21tdW5pY2F0
aW9uIHZpYSBNZXNzYWdlUG9ydHMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorW1dvcmtlciAx
XSBSZWNlaXZlZCBtZXNzYWdlOiBoZWxsbworW1dvcmtlciAyXSBSZWNlaXZlZCBtZXNzYWdlOiBo
ZWxsbworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93b3JrZXJzL3dvcmtlci10by13b3JrZXIu
aHRtbCBiL0xheW91dFRlc3RzL3dvcmtlcnMvd29ya2VyLXRvLXdvcmtlci5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjZmZDI1NTgzYzBjZjI3ZjcxNDQxYzI4YzRmMTJmNmRjOWU0MjAwZmYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93b3JrZXJzL3dvcmtlci10by13b3JrZXIuaHRtbApAQCAtMCww
ICsxLDMzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCJXb3JrZXIgdG8gd29ya2VyIGNvbW11bmljYXRpb24gdmlhIE1lc3NhZ2VQb3J0cyIpOworCitp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKKworY29uc3Qgd29ya2VyID0gKG5hbWUsIHBvcnQsIHdhaXQpID0+IG5ldyBQcm9taXNlKHJl
c29sdmUgPT4geworICBjb25zdCB3ID0gbmV3IFdvcmtlcigid29ya2VyLXRvLXdvcmtlci5qcyIp
OworICB3LnBvc3RNZXNzYWdlKHsgbmFtZSwgd2FpdCwgcG9ydCB9LCBbcG9ydF0pOworICB3Lm9u
bWVzc2FnZSA9IChlKSA9PiB7CisgICAgZGVidWcoZS5kYXRhKTsKKyAgICByZXNvbHZlKCk7Cisg
IH07Cit9KTsKKworY29uc3QgbWMgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKK1Byb21pc2UuYWxs
KFsKKyAgLy8gZm9yY2Ugb25lIHdvcmtlciB0byB3YWl0IHRvIG1ha2Ugb3JkZXIgZGV0ZXJtaW5p
c3RpYworICB3b3JrZXIoIldvcmtlciAxIiwgbWMucG9ydDEsIDEpLAorICB3b3JrZXIoIldvcmtl
ciAyIiwgbWMucG9ydDIpLAorXSkudGhlbigoKSA9PiB7CisgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICB3aW5kb3cudGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9KTsKKworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dvcmtlcnMvd29y
a2VyLXRvLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL3dvcmtlcnMvd29ya2VyLXRvLXdvcmtlci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43NTM0ZjQ3M2RiYzdhYWY5MjcwMjRmNjM5MGE4OWQxMGMwNzIwYzMyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd29ya2Vycy93b3JrZXItdG8td29ya2VyLmpz
CkBAIC0wLDAgKzEsMTEgQEAKK3NlbGYub25tZXNzYWdlID0gZSA9PiB7CisgIGNvbnN0IHtuYW1l
fSA9IGUuZGF0YTsKKworICBlLmRhdGEucG9ydC5vbm1lc3NhZ2UgPSBlID0+IHsKKyAgICBzZWxm
LnBvc3RNZXNzYWdlKGBbJHtuYW1lfV0gUmVjZWl2ZWQgbWVzc2FnZTogJHtlLmRhdGF9YCk7Cisg
IH0KKworICBjb25zdCBzZW5kTXNnID0gKCkgPT4gZS5kYXRhLnBvcnQucG9zdE1lc3NhZ2UoJ2hl
bGxvJyk7CisgIGlmIChlLmRhdGEud2FpdCkgc2V0VGltZW91dChzZW5kTXNnLCBlLmRhdGEud2Fp
dCk7CisgIGVsc2Ugc2VuZE1zZygpOworfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>