<?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>193522</bug_id>
          
          <creation_ts>2019-01-16 17:54:37 -0800</creation_ts>
          <short_desc>(iPad) Link tapping is sluggish on many sites</short_desc>
          <delta_ts>2019-01-17 11:16:17 -0800</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>WebKit 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="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>thorton</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1495357</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-01-16 17:54:37 -0800</bug_when>
    <thetext>(iPad) Link tapping is sluggish on many sites</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495358</commentid>
    <comment_count>1</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-01-16 17:55:43 -0800</bug_when>
    <thetext>&lt;rdar://problem/47102987&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495360</commentid>
    <comment_count>2</comment_count>
      <attachid>359340</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-01-16 18:06:09 -0800</bug_when>
    <thetext>Created attachment 359340
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495377</commentid>
    <comment_count>3</comment_count>
      <attachid>359340</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-16 19:26:58 -0800</bug_when>
    <thetext>Comment on attachment 359340
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:2471
&gt; +    // return !areEssentiallyEqualAsFloat(contentZoomScale(self), 1);

Did you mean to remove this old commented-out line?

&gt; LayoutTests/fast/events/ios/fast-click-double-tap-sends-click-when-initial-scale.html:17
&gt; +            if (!window.UIHelper)

(Ditto)

&gt; LayoutTests/fast/events/ios/viewport-zooms-from-element-to-initial-scale.html:15
&gt; +            if (!window.UIHelper)

Nit - doesn&apos;t window.UIHelper exist even in the case where the user is manually testing? It seems like we do want to check either eventSender or runUIScript (or both).

&gt; LayoutTests/resources/ui-helper.js:57
&gt; +    static zoomByDoubleTapAt(x, y)

Nit - zoomByDoubleTappingAt?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495529</commentid>
    <comment_count>4</comment_count>
      <attachid>359340</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-01-17 10:33:50 -0800</bug_when>
    <thetext>Comment on attachment 359340
Patch

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

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:2471
&gt;&gt; +    // return !areEssentiallyEqualAsFloat(contentZoomScale(self), 1);
&gt; 
&gt; Did you mean to remove this old commented-out line?

OOPS!

&gt;&gt; LayoutTests/fast/events/ios/viewport-zooms-from-element-to-initial-scale.html:15
&gt;&gt; +            if (!window.UIHelper)
&gt; 
&gt; Nit - doesn&apos;t window.UIHelper exist even in the case where the user is manually testing? It seems like we do want to check either eventSender or runUIScript (or both).

Does it? It shouldn&apos;t exist in Safari.

&gt; window.UIHelper
undefined</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495530</commentid>
    <comment_count>5</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-17 10:35:26 -0800</bug_when>
    <thetext>(In reply to Dean Jackson from comment #4)
&gt; Comment on attachment 359340 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=359340&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:2471
&gt; &gt;&gt; +    // return !areEssentiallyEqualAsFloat(contentZoomScale(self), 1);
&gt; &gt; 
&gt; &gt; Did you mean to remove this old commented-out line?
&gt; 
&gt; OOPS!
&gt; 
&gt; &gt;&gt; LayoutTests/fast/events/ios/viewport-zooms-from-element-to-initial-scale.html:15
&gt; &gt;&gt; +            if (!window.UIHelper)
&gt; &gt; 
&gt; &gt; Nit - doesn&apos;t window.UIHelper exist even in the case where the user is manually testing? It seems like we do want to check either eventSender or runUIScript (or both).
&gt; 
&gt; Does it? It shouldn&apos;t exist in Safari.

UIHelper is just a JavaScript class defined in ui-helper.js though. When you tried it in Safari, did you upload all of LayoutTests, or just viewport-zooms-from-element-to-initial-scale.html?

&gt; 
&gt; &gt; window.UIHelper
&gt; undefined</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495537</commentid>
    <comment_count>6</comment_count>
      <attachid>359340</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-01-17 10:50:17 -0800</bug_when>
    <thetext>Comment on attachment 359340
Patch

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

&gt;&gt;&gt; LayoutTests/fast/events/ios/viewport-zooms-from-element-to-initial-scale.html:15
&gt;&gt;&gt; +            if (!window.UIHelper)
&gt;&gt; 
&gt;&gt; Nit - doesn&apos;t window.UIHelper exist even in the case where the user is manually testing? It seems like we do want to check either eventSender or runUIScript (or both).
&gt; 
&gt; Does it? It shouldn&apos;t exist in Safari.

Errr.... ignore the incredible stupidness here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495555</commentid>
    <comment_count>7</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-01-17 11:16:17 -0800</bug_when>
    <thetext>Committed r240119: &lt;https://trac.webkit.org/changeset/240119&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359340</attachid>
            <date>2019-01-16 18:06:09 -0800</date>
            <delta_ts>2019-01-16 19:26:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193522-20190117130608.patch</filename>
            <type>text/plain</type>
            <size>17049</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NzI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGUwNGIyOWU3ZTg3ZWEwYzc4
YjM3YzcwOTA3NzUyMzk2ZWNkM2VjMzkuLjA1MTVjY2FkZjM5NDVlMmMzODUzMDlhM2IyM2IxMzY0
OTQyZDRmYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMDEtMTYgIERlYW4gSmFj
a3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIChpUGFkKSBMaW5rIHRhcHBpbmcgaXMg
c2x1Z2dpc2ggb24gbWFueSBzaXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTkzNTIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzEwMjk4Nz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTb21lIFdL
V2ViVmlldyBjbGllbnRzIG1pZ2h0IHNldCB0aGUgaW5pdGlhbCB6b29tIHNjYWxlIG9mIHRoZSBw
YWdlIHRvCisgICAgICAgIHNvbWV0aGluZyBvdGhlciB0aGFuIDEsIHdoaWNoIGRpc2FibGVzIHRo
ZSAiZmFzdCB0YXAiIGJlaGF2aW91ci4KKyAgICAgICAgVGhlIGZpeCBpcyB2ZXJ5IHNpbXBsZSAt
LSBqdXN0IGNoZWNrIGFnYWluc3QgdGhlIGluaXRpYWwgc2NhbGUgcmF0aGVyCisgICAgICAgIHRo
YW4gMS4KKworICAgICAgICBUaGUgbW9zdCBsaWtlbHkgcmVncmVzc2lvbiBmcm9tIHRoaXMgd291
bGQgYmUgcGFnZXMgZGVzaWduZWQgZm9yIGRlc2t0b3AsCisgICAgICAgIGJ1dCBwcm92aWRlIGEg
dmlld3BvcnQgdGFnIHNheWluZyB3aWR0aD1kZXZpY2Utd2lkdGggYW5kIGluaXRpYWwtc2NhbGUu
CisgICAgICAgIFRoZXkgbWlnaHQgc3RvcCBhbGxvd2luZyBkb3VibGUtdGFwLXRvLXpvb20uCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1b
V0tXZWJWaWV3IF9hbGxvd3NEb3VibGVUYXBHZXN0dXJlc10pOiBDaGVjayBhZ2FpbnN0IGluaXRp
YWwgcGFnZSBzY2FsZS4KKwogMjAxOS0wMS0wOCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFsd2F5cyBjYWxsIENvbXBsZXRpb25IYW5kbGVy
IGluIENhY2hlOjpzdG9yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0KaW5kZXggY2YxOTE5YzkzYTczODUzMDc1OWUzN2YzM2RiYjEwYjRjZDA0NTg3
OC4uOTdlMmVlOGUxMDY4NjNhMmExNzM3NGI2MTMyYjliNDhhNTYyNjExMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0yNDY3LDkgKzI0
NjcsOSBAQCBzdGF0aWMgV2ViQ29yZTo6RmxvYXRQb2ludCBjb25zdHJhaW5Db250ZW50T2Zmc2V0
KFdlYkNvcmU6OkZsb2F0UG9pbnQgY29udGVudE9mZgogCiAgICAgLy8gQXQgdGhpcyBwb2ludCwg
d2UgaGF2ZSBhIHBhZ2UgdGhhdCBhc2tlZCBmb3Igd2lkdGggPSBkZXZpY2Utd2lkdGguIEhvd2V2
ZXIsCiAgICAgLy8gaWYgdGhlIGNvbnRlbnQncyB3aWR0aCBhbmQgaGVpZ2h0IHdlcmUgbGFyZ2Us
IHdlIG1pZ2h0IGhhdmUgaGFkIHRvIHNocmluayBpdC4KLSAgICAvLyBTaW5jZSB3ZSdsbCBlbmFi
bGUgZG91YmxlIHRhcCB6b29tIHdoZW5ldmVyIHdlJ3JlIG5vdCBhdCB0aGUgYWN0dWFsCi0gICAg
Ly8gaW5pdGlhbCBzY2FsZSwgdGhpcyBzaW1wbHkgYmVjb21lcyBhIHRlc3Qgb2YgdGhlIGN1cnJl
bnQgc2NhbGUgYWdhaW5zdCAxLgotICAgIHJldHVybiAhYXJlRXNzZW50aWFsbHlFcXVhbEFzRmxv
YXQoY29udGVudFpvb21TY2FsZShzZWxmKSwgMSk7CisgICAgLy8gV2UnbGwgZW5hYmxlIGRvdWJs
ZSB0YXAgem9vbSB3aGVuZXZlciB3ZSdyZSBub3QgYXQgdGhlIGFjdHVhbCBpbml0aWFsIHNjYWxl
LgorICAgIC8vIHJldHVybiAhYXJlRXNzZW50aWFsbHlFcXVhbEFzRmxvYXQoY29udGVudFpvb21T
Y2FsZShzZWxmKSwgMSk7CisgICAgcmV0dXJuICFhcmVFc3NlbnRpYWxseUVxdWFsQXNGbG9hdChj
b250ZW50Wm9vbVNjYWxlKHNlbGYpLCBfaW5pdGlhbFNjYWxlRmFjdG9yKTsKIH0KIAogLSAoQk9P
TClfc3R5bHVzVGFwR2VzdHVyZVNob3VsZENyZWF0ZUVkaXRhYmxlSW1hZ2UKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NjNl
YTM2YmM5OGJlMGQ3NGMwZTg5MzE2YjIwMDg2N2Y1MzQ4ZWM1Li5hZjBmZDY2N2EyOGY1ODU3YjU0
OTc5NmYyMTRkZDkxYjUwOGYzMjhmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTktMDEtMTYg
IERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIChpUGFkKSBMaW5rIHRh
cHBpbmcgaXMgc2x1Z2dpc2ggb24gbWFueSBzaXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzNTIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80
NzEwMjk4Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgYSB0ZXN0IHRoYXQgY2hlY2tzIGEgZG91YmxlIHRhcCB3aWxsIHRyaWdnZXIgYSBjbGlj
aworICAgICAgICBldmVudCBvbiBhIHBhZ2UgdGhhdCBpcyBhdCBpbml0aWFsIHNjYWxlLgorCisg
ICAgICAgIEV4dHJhIGJvbnVzOiBmb3Igc29tZSByZWFzb24gYWRkaW5nIHRoaXMgdGVzdCwgb3Ig
bWFraW5nIHRoaXMgY29kZQorICAgICAgICBjaGFuZ2UsIHVuY292ZXJlZCBhIGNvdXBsZSBvZiBi
dWdzIGluIGV4aXN0aW5nIHRlc3RzLiBUaGUKKyAgICAgICAgdmlld3BvcnQtem9vbXMtZnJvbS1l
bGVtZW50LXRvLWluaXRpYWwtc2NhbGUgdGVzdCB3YXMgY29tcGxldGVseSB3cm9uZworICAgICAg
ICBiZWNhdXNlIGl0IHdhcyBleHBlY3RpbmcgdGhlIGluY29ycmVjdCByZXN1bHQsIHdoaWNoIHdh
cyB0cmlnZ2VyZWQgYnkKKyAgICAgICAgdGhlIHpvb20gY2FsbGJhY2sgZmlyaW5nIGVhcmx5IGF0
IGEgZm9yY2VkIHNjYWxlIHZhbHVlLiBUaGUKKyAgICAgICAgdmlld3BvcnQtbm8td2lkdGgtdmFs
dWUtYWxsb3dzLWRvdWJsZS10YXAgdGVzdCB3YXMgdHJpZ2dlcmluZyBhIEpTCisgICAgICAgIGVy
cm9yIGluIGl0cyBVSSBzY3JpcHQuIEkgbW9kZXJuaXNlZCBib3RoIG9mIHRoZXNlIHRvIHVzZSBV
SUhlbHBlciBpbnN0ZWFkLgorCisgICAgICAgICogZmFzdC9ldmVudHMvaW9zL2Zhc3QtY2xpY2st
ZG91YmxlLXRhcC1zZW5kcy1jbGljay13aGVuLWluaXRpYWwtc2NhbGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9pb3MvZmFzdC1jbGljay1kb3VibGUtdGFwLXNl
bmRzLWNsaWNrLXdoZW4taW5pdGlhbC1zY2FsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2V2ZW50cy9pb3Mvdmlld3BvcnQtbm8td2lkdGgtdmFsdWUtYWxsb3dzLWRvdWJsZS10YXAuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9pb3Mvdmlld3BvcnQtem9vbXMtZnJvbS1lbGVtZW50
LXRvLWluaXRpYWwtc2NhbGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRzL2lv
cy92aWV3cG9ydC16b29tcy1mcm9tLWVsZW1lbnQtdG8taW5pdGlhbC1zY2FsZS5odG1sOgorICAg
ICAgICAqIHJlc291cmNlcy91aS1oZWxwZXIuanM6IEFkZCBkb3VibGVUYXBBdCBhbmQgem9vbUJ5
RG91YmxlVGFwQXQgaGVscGVycy4gUmVtb3ZlIHRoZQorICAgICAgICB1bm5lY2Vzc2FyeSAiRG9u
ZSIgcmV0dXJuIHZhbHVlIGZyb20gbWFueSBvZiB0aGUgY2FsbGJhY2tzLiBHaXZlIHpvb21Ub1Nj
YWxlIGEgcmV0dXJuCisgICAgICAgIHZhbHVlLgorICAgICAgICAod2luZG93LlVJSGVscGVyLnRh
cEF0LnJldHVybi5uZXcuUHJvbWlzZSk6CisgICAgICAgICh3aW5kb3cuVUlIZWxwZXIudGFwQXQp
OgorICAgICAgICAod2luZG93LlVJSGVscGVyLmRvdWJsZVRhcEF0LnJldHVybi5uZXcuUHJvbWlz
ZSk6CisgICAgICAgICh3aW5kb3cuVUlIZWxwZXIuZG91YmxlVGFwQXQpOgorICAgICAgICAod2lu
ZG93LlVJSGVscGVyLnpvb21CeURvdWJsZVRhcEF0KToKKyAgICAgICAgKHdpbmRvdy5VSUhlbHBl
ci5hY3RpdmF0ZUF0LnJldHVybi5uZXcuUHJvbWlzZSk6CisgICAgICAgICh3aW5kb3cuVUlIZWxw
ZXIuYWN0aXZhdGVBdCk6CisgICAgICAgICh3aW5kb3cuVUlIZWxwZXIudG9nZ2xlQ2Fwc0xvY2sp
OgorICAgICAgICAod2luZG93LlVJSGVscGVyLmVuc3VyZVByZXNlbnRhdGlvblVwZGF0ZS5yZXR1
cm4ubmV3LlByb21pc2UpOgorICAgICAgICAod2luZG93LlVJSGVscGVyLmVuc3VyZVByZXNlbnRh
dGlvblVwZGF0ZSk6CisgICAgICAgICh3aW5kb3cuVUlIZWxwZXIuYWN0aXZhdGVBbmRXYWl0Rm9y
SW5wdXRTZXNzaW9uQXQucmV0dXJuLm5ldy5Qcm9taXNlLik6CisgICAgICAgICh3aW5kb3cuVUlI
ZWxwZXIuYWN0aXZhdGVGb3JtQ29udHJvbC5yZXR1cm4ubmV3LlByb21pc2UuKToKKyAgICAgICAg
KHdpbmRvdy5VSUhlbHBlci5yZXBsYWNlVGV4dEF0UmFuZ2UpOgorICAgICAgICAod2luZG93LlVJ
SGVscGVyLnpvb21Ub1NjYWxlKToKKyAgICAgICAgKHdpbmRvdy5VSUhlbHBlci5zdHlsdXNUYXBB
dC5yZXR1cm4ubmV3LlByb21pc2UpOgorICAgICAgICAod2luZG93LlVJSGVscGVyLnN0eWx1c1Rh
cEF0KToKKwogMjAxOS0wMS0wNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAK
ICAgICAgICAgTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvY3NwLXJlcG9ydHMtYnlwYXNzLWNz
cC1jaGVja3MuaHRtbCBpcyBmbGFreQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvaW9zL2Zhc3QtY2xpY2stZG91YmxlLXRhcC1zZW5kcy1jbGljay13aGVuLWluaXRpYWwtc2Nh
bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL2Zhc3QtY2xpY2st
ZG91YmxlLXRhcC1zZW5kcy1jbGljay13aGVuLWluaXRpYWwtc2NhbGUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY1MWM1YjllNzRjNmVhZjFhNzRhMGFmOWRmY2UyNWE4N2ZhMGIxZTkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvZmFzdC1jbGljay1kb3Vi
bGUtdGFwLXNlbmRzLWNsaWNrLXdoZW4taW5pdGlhbC1zY2FsZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwyIEBACitQQVNTOiBDbGljayBmaXJlZCBvbiBlbGVtZW50IHdpdGggaGFuZGxlci4KK1Ro
aXMgZG9jdW1lbnQgaXMgc2V0IHVwIHRvIGVuYWJsZSBmYXN0IGNsaWNrcywgYmVjYXVzZSBpdCBo
YXMgbm90IG1vdmVkIGZyb20gaXRzIGluaXRpYWwgc2NhbGUuIERvdWJsZSB0YXBwaW5nIG9uIHRo
ZSByZWN0YW5nbGUgYWJvdmUgc2hvdWxkIHNlbmQgYSBjbGljayBldmVudCwgbm90IHRyaWdnZXIg
YSB6b29tLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL2Zhc3QtY2xp
Y2stZG91YmxlLXRhcC1zZW5kcy1jbGljay13aGVuLWluaXRpYWwtc2NhbGUuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9mYXN0LWNsaWNrLWRvdWJsZS10YXAtc2VuZHMtY2xpY2st
d2hlbi1pbml0aWFsLXNjYWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWUxYTM1M2QwMTkzMThlM2M5NzY2
MmE0NWU4NDEyNDhkNjAxYzcxNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL2lvcy9mYXN0LWNsaWNrLWRvdWJsZS10YXAtc2VuZHMtY2xpY2std2hlbi1pbml0aWFs
LXNjYWxlLmh0bWwKQEAgLTAsMCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+CisKKzxodG1sPgor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9ImluaXRpYWwtc2NhbGU9MC45OCx3aWR0aD1k
ZXZpY2Utd2lkdGgiPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cisg
ICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKQorICAgICAgICB7CisgICAgICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBo
YW5kbGVDbGljaywgZmFsc2UpOworCisgICAgICAgICAgICBpZiAoIXdpbmRvdy5VSUhlbHBlcikK
KyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5kb3Vi
bGVUYXBBdCg1MCwgNTApOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gaGFuZGxlQ2xp
Y2soZXZlbnQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0YXJnZXQiKS50ZXh0Q29udGVudCA9ICJQQVNTOiBDbGljayBmaXJlZCBvbiBlbGVtZW50IHdp
dGggaGFuZGxlci4iOworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAg
ICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c3R5bGU+CisgICAgICAgIGJvZHkgeworICAgICAg
ICAgICAgbWFyZ2luOiAwOworICAgICAgICB9CisgICAgICAgICN0YXJnZXQgeworICAgICAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgICAg
IGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8ZGl2IGlkPSJ0YXJnZXQiPjwvZGl2Pgor
PGRpdiBpZD0iZGVzY3JpcHRpb24iPlRoaXMgZG9jdW1lbnQgaXMgc2V0IHVwIHRvIGVuYWJsZSBm
YXN0IGNsaWNrcywgYmVjYXVzZQorICAgIGl0IGhhcyBub3QgbW92ZWQgZnJvbSBpdHMgaW5pdGlh
bCBzY2FsZS4gRG91YmxlIHRhcHBpbmcgb24gdGhlIHJlY3RhbmdsZQorICAgIGFib3ZlIHNob3Vs
ZCBzZW5kIGEgY2xpY2sgZXZlbnQsIG5vdCB0cmlnZ2VyIGEgem9vbS48L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy92aWV3cG9y
dC1uby13aWR0aC12YWx1ZS1hbGxvd3MtZG91YmxlLXRhcC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvaW9zL3ZpZXdwb3J0LW5vLXdpZHRoLXZhbHVlLWFsbG93cy1kb3VibGUtdGFwLmh0
bWwKaW5kZXggNDgwMjI1M2U2OTY1N2QyYTgyYjE0NjcwMmIxZGYzYmNjYzY4MGY1YS4uNGYzOWJk
M2EyZWFkZTk3YTI5Y2NmZGM4NzE5NmJmMWM2OGYwM2JjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvaW9zL3ZpZXdwb3J0LW5vLXdpZHRoLXZhbHVlLWFsbG93cy1kb3VibGUt
dGFwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL3ZpZXdwb3J0LW5vLXdp
ZHRoLXZhbHVlLWFsbG93cy1kb3VibGUtdGFwLmh0bWwKQEAgLTUsMjggKzUsMTYgQEAKIAogPGhl
YWQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBpZD0idWktc2NyaXB0IiB0eXBlPSJ0ZXh0L3BsYWluIj4K
LSAgICAgICAgKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdWlDb250cm9sbGVyLmRvdWJsZVRh
cEF0UG9pbnQoMTUsIDQwMCwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdWlDb250cm9s
bGVyLnVpU2NyaXB0Q29tcGxldGUoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KSgpOwot
ICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KIAogICAgIDxzY3JpcHQ+Ci0gICAgdmFyIHNjcmlwdENvbXBsZXRl
ZCA9IGZhbHNlOwotICAgIHZhciBjbGlja0NvdW50ID0gMDsKICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCi0gICAgZnVuY3Rp
b24gZ2V0VUlTY3JpcHQoKSB7Ci0gICAgICAgIHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidWktc2NyaXB0IikudGV4dDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJzY3JvbGwiLCBzY3JvbGxlZCwgZmFsc2UpOwotICAgICAgICBpZiAodGVzdFJ1bm5l
ci5ydW5VSVNjcmlwdCkKLSAgICAgICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoZ2V0VUlT
Y3JpcHQoKSk7CisgICAgICAgIGlmICh3aW5kb3cuVUlIZWxwZXIpCisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5kb3VibGVUYXBBdCgxNSwgNDAwKTsKICAgICB9CiAgICAgZnVuY3Rpb24gc2Ny
b2xsZWQoKSB7CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy92aWV3cG9ydC16b29tcy1mcm9tLWVsZW1lbnQtdG8t
aW5pdGlhbC1zY2FsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3Mv
dmlld3BvcnQtem9vbXMtZnJvbS1lbGVtZW50LXRvLWluaXRpYWwtc2NhbGUtZXhwZWN0ZWQudHh0
CmluZGV4IDEyZjFlOTA5OWZiNjIzMGE5MTU3NTg2ZDI1MjY2MGJhMzc3MmE2ZWUuLmM5Nzk0NjQ5
MmJmMTg0NWRkNTg1YTRiODQyYzk3MmEwOGY5NTA5OGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL2lvcy92aWV3cG9ydC16b29tcy1mcm9tLWVsZW1lbnQtdG8taW5pdGlhbC1z
Y2FsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL3ZpZXdw
b3J0LXpvb21zLWZyb20tZWxlbWVudC10by1pbml0aWFsLXNjYWxlLWV4cGVjdGVkLnR4dApAQCAt
MSArMSBAQAotVGhlIHZpZXdwb3J0IHpvb21lZCB0byBzY2FsZTogMS42CitUaGUgdmlld3BvcnQg
em9vbWVkIHRvIHNjYWxlOiA1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9p
b3Mvdmlld3BvcnQtem9vbXMtZnJvbS1lbGVtZW50LXRvLWluaXRpYWwtc2NhbGUuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy92aWV3cG9ydC16b29tcy1mcm9tLWVsZW1lbnQtdG8t
aW5pdGlhbC1zY2FsZS5odG1sCmluZGV4IGY5ZmUyMTZmNmRhNDBmM2M0MTRhNGIxZGFlZWIwNWZl
NGMxYjFlZjQuLjViNDM1ZDBlNWU1ODdmNzYyMGRlMTlhNjM3OWRlZThiNGY2MGM2NzUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy92aWV3cG9ydC16b29tcy1mcm9tLWVs
ZW1lbnQtdG8taW5pdGlhbC1zY2FsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2lvcy92aWV3cG9ydC16b29tcy1mcm9tLWVsZW1lbnQtdG8taW5pdGlhbC1zY2FsZS5odG1sCkBA
IC0zLDM1ICszLDIyIEBACiA8aHRtbD4KIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJp
bml0aWFsLXNjYWxlPTUsIHdpZHRoPWRldmljZS13aWR0aCI+CiA8aGVhZD4KLSAgICA8c2NyaXB0
IGlkPSJ1aS1zY3JpcHQiIHR5cGU9InRleHQvcGxhaW4iPgotICAgICAgICAoZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICB1aUNvbnRyb2xsZXIuZGlkRW5kWm9vbWluZ0NhbGxiYWNrID0gZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxldGUodWlD
b250cm9sbGVyLnpvb21TY2FsZSk7Ci0gICAgICAgICAgICB9OwotICAgICAgICAgICAgdWlDb250
cm9sbGVyLmRvdWJsZVRhcEF0UG9pbnQoMTUsIDE1LCBmdW5jdGlvbigpIHt9KTsKLSAgICAgICAg
fSkoKTsKLSAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdD4KICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAg
ICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAgICB9CiAKLSAgICAg
ICAgZnVuY3Rpb24gZ2V0VUlTY3JpcHQoKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVpLXNjcmlwdCIpLnRleHQ7Ci0gICAgICAgIH0KLQot
ICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVyIHx8ICF0
ZXN0UnVubmVyLnJ1blVJU2NyaXB0KQorICAgICAgICAgICAgaWYgKCF3aW5kb3cuVUlIZWxwZXIp
CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAgICBldmVudFNlbmRlci5zY2Fs
ZVBhZ2VCeSgxLjYsIDEuNik7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGdl
dFVJU2NyaXB0KCksIGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKS5pbm5lclRleHQgPSAiVGhlIHZpZXdwb3J0IHpvb21l
ZCB0byBzY2FsZTogIiArIE51bWJlcihyZXN1bHQpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwotICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBhd2FpdCBVSUhl
bHBlci56b29tVG9TY2FsZSgxLjYpOworICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0IFVJ
SGVscGVyLnpvb21CeURvdWJsZVRhcEF0KDE1LCAxNSk7CisgICAgICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGFyZ2V0IikuaW5uZXJUZXh0ID0gIlRoZSB2aWV3cG9ydCB6b29tZWQg
dG8gc2NhbGU6ICIgKyBOdW1iZXIocmVzdWx0KTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwogICAgICAgICB9CiAgICAgPC9zY3JpcHQ+CiAgICAgPHN0eWxlPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3VpLWhlbHBlci5qcyBiL0xheW91dFRlc3RzL3Jl
c291cmNlcy91aS1oZWxwZXIuanMKaW5kZXggMmY1NjlhYWNjNTVjNDVjNzAyNWNlMjE2YTcwMzQ1
NzI5MjI0YmM2ZS4uZWI0MDUyNWQyNDQ4YWQ1Zjk1NzM4MDRhMGE0MmIwMGY2OGMyMzVhOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3VpLWhlbHBlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzCkBAIC0yNSwxMSArMjUsNjEgQEAgd2luZG93LlVJ
SGVscGVyID0gY2xhc3MgVUlIZWxwZXIgewogICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJl
c29sdmUpID0+IHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYAogICAgICAg
ICAgICAgICAgIHVpQ29udHJvbGxlci5zaW5nbGVUYXBBdFBvaW50KCR7eH0sICR7eX0sIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIudWlTY3JpcHRDb21wbGV0
ZSgnRG9uZScpOworICAgICAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIudWlTY3JpcHRDb21w
bGV0ZSgpOwogICAgICAgICAgICAgICAgIH0pO2AsIHJlc29sdmUpOwogICAgICAgICB9KTsKICAg
ICB9CiAKKyAgICBzdGF0aWMgZG91YmxlVGFwQXQoeCwgeSkKKyAgICB7CisgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KHRoaXMuaXNJT1MoKSk7CisKKyAgICAgICAgaWYgKCF0aGlzLmlzV2ViS2l0Migp
KSB7CisgICAgICAgICAgICBldmVudFNlbmRlci5hZGRUb3VjaFBvaW50KHgsIHkpOworICAgICAg
ICAgICAgZXZlbnRTZW5kZXIudG91Y2hTdGFydCgpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIu
cmVsZWFzZVRvdWNoUG9pbnQoMCk7CisgICAgICAgICAgICBldmVudFNlbmRlci50b3VjaEVuZCgp
OworICAgICAgICAgICAgZXZlbnRTZW5kZXIuYWRkVG91Y2hQb2ludCh4LCB5KTsKKyAgICAgICAg
ICAgIGV2ZW50U2VuZGVyLnRvdWNoU3RhcnQoKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLnJl
bGVhc2VUb3VjaFBvaW50KDApOworICAgICAgICAgICAgZXZlbnRTZW5kZXIudG91Y2hFbmQoKTsK
KyAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKKyAgICAgICAgfQorCisgICAg
ICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICAgICAgdGVzdFJ1
bm5lci5ydW5VSVNjcmlwdChgCisgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLmRvdWJsZVRh
cEF0UG9pbnQoJHt4fSwgJHt5fSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIHVp
Q29udHJvbGxlci51aVNjcmlwdENvbXBsZXRlKCk7CisgICAgICAgICAgICAgICAgfSk7YCwgcmVz
b2x2ZSk7CisgICAgICAgIH0pOworICAgIH0KKworICAgIHN0YXRpYyB6b29tQnlEb3VibGVUYXBB
dCh4LCB5KQorICAgIHsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5pc0lPUygpKTsKKwor
ICAgICAgICBpZiAoIXRoaXMuaXNXZWJLaXQyKCkpIHsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVy
LmFkZFRvdWNoUG9pbnQoeCwgeSk7CisgICAgICAgICAgICBldmVudFNlbmRlci50b3VjaFN0YXJ0
KCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5yZWxlYXNlVG91Y2hQb2ludCgwKTsKKyAgICAg
ICAgICAgIGV2ZW50U2VuZGVyLnRvdWNoRW5kKCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5h
ZGRUb3VjaFBvaW50KHgsIHkpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIudG91Y2hTdGFydCgp
OworICAgICAgICAgICAgZXZlbnRTZW5kZXIucmVsZWFzZVRvdWNoUG9pbnQoMCk7CisgICAgICAg
ICAgICBldmVudFNlbmRlci50b3VjaEVuZCgpOworICAgICAgICAgICAgcmV0dXJuIFByb21pc2Uu
cmVzb2x2ZSgpOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNv
bHZlKSA9PiB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGAKKyAgICAgICAg
ICAgICAgICB1aUNvbnRyb2xsZXIuZGlkRW5kWm9vbWluZ0NhbGxiYWNrID0gKCkgPT4geworICAg
ICAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIuZGlkRW5kWm9vbWluZ0NhbGxiYWNrID0gbnVs
bDsKKyAgICAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxldGUodWlD
b250cm9sbGVyLnpvb21TY2FsZSk7CisgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICAg
ICB1aUNvbnRyb2xsZXIuZG91YmxlVGFwQXRQb2ludCgke3h9LCAke3l9LCAoKSA9PiB7fSk7YCwg
cmVzb2x2ZSk7CisgICAgICAgIH0pOworICAgIH0KKwogICAgIHN0YXRpYyBhY3RpdmF0ZUF0KHgs
IHkpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMuaXNXZWJLaXQyKCkgfHwgIXRoaXMuaXNJT1Mo
KSkgewpAQCAtNDIsNyArOTIsNyBAQCB3aW5kb3cuVUlIZWxwZXIgPSBjbGFzcyBVSUhlbHBlciB7
CiAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewogICAgICAgICAgICAg
dGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgCiAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnNp
bmdsZVRhcEF0UG9pbnQoJHt4fSwgJHt5fSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHVpQ29udHJvbGxlci51aVNjcmlwdENvbXBsZXRlKCdEb25lJyk7CisgICAgICAgICAgICAg
ICAgICAgIHVpQ29udHJvbGxlci51aVNjcmlwdENvbXBsZXRlKCk7CiAgICAgICAgICAgICAgICAg
fSk7YCwgcmVzb2x2ZSk7CiAgICAgICAgIH0pOwogICAgIH0KQEAgLTY5LDcgKzExOSw3IEBAIHdp
bmRvdy5VSUhlbHBlciA9IGNsYXNzIFVJSGVscGVyIHsKICAgICBzdGF0aWMgdG9nZ2xlQ2Fwc0xv
Y2soKQogICAgIHsKICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0g
ICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGB1aUNvbnRyb2xsZXIudG9nZ2xlQ2Fw
c0xvY2soKCkgPT4gdWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxldGUoJ0RvbmUnKSk7YCwgcmVz
b2x2ZSk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGB1aUNvbnRyb2xsZXIu
dG9nZ2xlQ2Fwc0xvY2soKCkgPT4gdWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxldGUoKSk7YCwg
cmVzb2x2ZSk7CiAgICAgICAgIH0pOwogICAgIH0KIApAQCAtODMsNyArMTMzLDcgQEAgd2luZG93
LlVJSGVscGVyID0gY2xhc3MgVUlIZWxwZXIgewogICAgICAgICByZXR1cm4gbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGAKICAgICAg
ICAgICAgICAgICB1aUNvbnRyb2xsZXIuZG9BZnRlclByZXNlbnRhdGlvblVwZGF0ZShmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxldGUo
J0RvbmUnKTsKKyAgICAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxl
dGUoKTsKICAgICAgICAgICAgICAgICB9KTtgLCByZXNvbHZlKTsKICAgICAgICAgfSk7CiAgICAg
fQpAQCAtMTA4LDcgKzE1OCw3IEBAIHdpbmRvdy5VSUhlbHBlciA9IGNsYXNzIFVJSGVscGVyIHsK
ICAgICAgICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYAogICAgICAgICAgICAgICAgIChm
dW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLmRpZFNob3dLZXli
b2FyZENhbGxiYWNrID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB1aUNv
bnRyb2xsZXIudWlTY3JpcHRDb21wbGV0ZSgiRG9uZSIpOworICAgICAgICAgICAgICAgICAgICAg
ICAgdWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxldGUoKTsKICAgICAgICAgICAgICAgICAgICAg
fTsKICAgICAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnNpbmdsZVRhcEF0UG9pbnQoJHt4
fSwgJHt5fSwgZnVuY3Rpb24oKSB7IH0pOwogICAgICAgICAgICAgICAgIH0pKClgLCByZXNvbHZl
KTsKQEAgLTEyNyw3ICsxNzcsNyBAQCB3aW5kb3cuVUlIZWxwZXIgPSBjbGFzcyBVSUhlbHBlciB7
CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGAKICAgICAgICAgICAgICAgICAo
ZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci5kaWRTdGFydEZv
cm1Db250cm9sSW50ZXJhY3Rpb25DYWxsYmFjayA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgdWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxldGUoIkRvbmUiKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci51aVNjcmlwdENvbXBsZXRlKCk7CiAgICAg
ICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci5zaW5n
bGVUYXBBdFBvaW50KCR7eH0sICR7eX0sIGZ1bmN0aW9uKCkgeyB9KTsKICAgICAgICAgICAgICAg
ICB9KSgpYCwgcmVzb2x2ZSk7CkBAIC0yNTAsNyArMzAwLDcgQEAgd2luZG93LlVJSGVscGVyID0g
Y2xhc3MgVUlIZWxwZXIgewogICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7
CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGAoKCkgPT4gewogICAgICAgICAg
ICAgICAgIHVpQ29udHJvbGxlci5yZXBsYWNlVGV4dEF0UmFuZ2UoIiR7dGV4dH0iLCAke2xvY2F0
aW9ufSwgJHtsZW5ndGh9KTsKLSAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIudWlTY3JpcHRD
b21wbGV0ZSgnRG9uZScpOworICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci51aVNjcmlwdENv
bXBsZXRlKCk7CiAgICAgICAgICAgICB9KSgpYCwgcmVzb2x2ZSk7CiAgICAgICAgIH0pOwogICAg
IH0KQEAgLTM0OCw3ICszOTgsNyBAQCB3aW5kb3cuVUlIZWxwZXIgPSBjbGFzcyBVSUhlbHBlciB7
CiAKICAgICBzdGF0aWMgem9vbVRvU2NhbGUoc2NhbGUpCiAgICAgewotICAgICAgICBjb25zdCB1
aVNjcmlwdCA9IGB1aUNvbnRyb2xsZXIuem9vbVRvU2NhbGUoJHtzY2FsZX0sICgpID0+IHVpQ29u
dHJvbGxlci51aVNjcmlwdENvbXBsZXRlKCkpYDsKKyAgICAgICAgY29uc3QgdWlTY3JpcHQgPSBg
dWlDb250cm9sbGVyLnpvb21Ub1NjYWxlKCR7c2NhbGV9LCAoKSA9PiB1aUNvbnRyb2xsZXIudWlT
Y3JpcHRDb21wbGV0ZSh1aUNvbnRyb2xsZXIuem9vbVNjYWxlKSlgOwogICAgICAgICByZXR1cm4g
bmV3IFByb21pc2UocmVzb2x2ZSA9PiB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KHVpU2NyaXB0LCBy
ZXNvbHZlKSk7CiAgICAgfQogCkBAIC00NTcsNyArNTA3LDcgQEAgd2luZG93LlVJSGVscGVyID0g
Y2xhc3MgVUlIZWxwZXIgewogICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+
IHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYAogICAgICAgICAgICAgICAg
IHVpQ29udHJvbGxlci5zdHlsdXNUYXBBdFBvaW50KCR7eH0sICR7eX0sIDIsIDEsIDAuNSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci51aVNjcmlwdENvbXBs
ZXRlKCdEb25lJyk7CisgICAgICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci51aVNjcmlwdENv
bXBsZXRlKCk7CiAgICAgICAgICAgICAgICAgfSk7YCwgcmVzb2x2ZSk7CiAgICAgICAgIH0pOwog
ICAgIH0K
</data>
<flag name="review"
          id="376121"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
          </attachment>
      

    </bug>

</bugzilla>