<?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>197183</bug_id>
          
          <creation_ts>2019-04-22 16:29:42 -0700</creation_ts>
          <short_desc>Ad Click Attribution redirects to well-known location should not trigger a conversion if they are blocked by content blockers</short_desc>
          <delta_ts>2019-04-23 19:31:50 -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>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="John Wilander">wilander</reporter>
          <assigned_to name="John Wilander">wilander</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1529455</commentid>
    <comment_count>0</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-04-22 16:29:42 -0700</bug_when>
    <thetext>We should make sure Ad Click Attribution redirects to well-known location don&apos;t trigger a conversion if they are blocked by content blockers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529456</commentid>
    <comment_count>1</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-04-22 16:29:58 -0700</bug_when>
    <thetext>&lt;rdar://problem/47763188&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529464</commentid>
    <comment_count>2</comment_count>
      <attachid>367996</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-04-22 16:45:18 -0700</bug_when>
    <thetext>Created attachment 367996
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529524</commentid>
    <comment_count>3</comment_count>
      <attachid>367996</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-04-22 22:16:46 -0700</bug_when>
    <thetext>Comment on attachment 367996
Patch

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

&gt; Source/WebKit/ChangeLog:12
&gt; +        a blocked request comes back empty.

It makes sense to be consistent there with content blockers but more generally with the whole loading code.
Web Process might cancel the load due to injected bundles, CSP, the context going away...
The easiest approach might be to do the handleAdClickAttributionConversion call in NetworkResourceLoader::continueWillSendRequest if the request is not null.
That means keeping an Optional&lt;AdClickAttribution::Conversion&gt; as a member field of NetworkResourceLoader and populate it in NetworkResourceLoader::willSendRedirectedRequest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529586</commentid>
    <comment_count>4</comment_count>
      <attachid>367996</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-23 08:03:10 -0700</bug_when>
    <thetext>Comment on attachment 367996
Patch

I think this is consistent with the rest of the loading code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529607</commentid>
    <comment_count>5</comment_count>
      <attachid>367996</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-04-23 08:57:42 -0700</bug_when>
    <thetext>Comment on attachment 367996
Patch

Thanks, both of you! Let’s revisit this when we move content blockers to the network process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529619</commentid>
    <comment_count>6</comment_count>
      <attachid>367996</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-23 09:14:13 -0700</bug_when>
    <thetext>Comment on attachment 367996
Patch

Clearing flags on attachment: 367996

Committed r244544: &lt;https://trac.webkit.org/changeset/244544&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529620</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-23 09:14:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529888</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-04-23 19:31:50 -0700</bug_when>
    <thetext>&gt; I think this is consistent with the rest of the loading code.

Not really. Even though NetworkProcess is more and more independent of WebProcess, this is still not the case. Given network load checker can be null in some cases, given injected bundles, the most consistent place to do the whole conversion is in NetworkResourceLoader::continueWillSendRequest. There may not even be the need to add a  NetworkResourceLoader field since originalRequest is kept.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367996</attachid>
            <date>2019-04-22 16:45:18 -0700</date>
            <delta_ts>2019-04-23 09:14:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197183-20190422164517.patch</filename>
            <type>text/plain</type>
            <size>15581</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0NTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI5NWI5MzA1MGI4YjI0YTQw
MTFlMWNlMWZiMDg0YTNmYjdjODE2MzguLjEyMjdlMjYwMmM2NjAwYjFkNjM1ODFhN2I1ZDY1ZTY3
YzI2Njg5ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTktMDQtMjIgIEpvaG4gV2ls
YW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgQWQgQ2xpY2sgQXR0cmlidXRp
b24gcmVkaXJlY3RzIHRvIHdlbGwta25vd24gbG9jYXRpb24gc2hvdWxkIG5vdCB0cmlnZ2VyIGEg
Y29udmVyc2lvbiBpZiB0aGV5IGFyZSBibG9ja2VkIGJ5IGNvbnRlbnQgYmxvY2tlcnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NzE4MworICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNDc3NjMxODg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWQgQ2xpY2sgQXR0cmlidXRpb24gY29udmVyc2lvbnMgYXJl
IHBpY2tlZCB1cCBpbiB0aGUgcmVkaXJlY3QgaGFuZGxlcgorICAgICAgICBpbiBXZWJLaXQ6Ok5l
dHdvcmtSZXNvdXJjZUxvYWRlci4gQ29udGVudCBibG9ja2luZyB0eXBpY2FsbHkgaGFwcGVucyBp
bgorICAgICAgICB0aGUgY29udGludWVkIHJlZGlyZWN0IHJlcXVlc3QgaGFuZGxpbmcgaW4gdGhl
IHdlYiBjb250ZW50IHByb2Nlc3MgYW5kCisgICAgICAgIGEgYmxvY2tlZCByZXF1ZXN0IGNvbWVz
IGJhY2sgZW1wdHkuCisKKyAgICAgICAgV2UgbmVlZCB0byBjYWxsIHRoZSBXZWJLaXQ6Ok5ldHdv
cmtMb2FkQ2hlY2tlciBpbiB0aGUgbmV0d29yayBwcm9jZXNzCisgICAgICAgIGZvciB0aGVzZSBz
cGVjaWZpYyByZWRpcmVjdHMsIGp1c3QgbGlrZSB3ZSBkbyBmb3IgUGluZy4KKworICAgICAgICBU
aGUgY2hhbmdlIG1ha2VzIHVzZSBvZiB0aGUgZXhpc3RpbmcgZnVuY3Rpb24KKyAgICAgICAgTmV0
d29ya0xvYWRDaGVja2VyOjplbmFibGVDb250ZW50RXh0ZW5zaW9uc0NoZWNrKCkgZm9yIHRoaXMg
cHVycG9zZS4KKworICAgICAgICBJbiBlc3NlbmNlLCB0aGlzIGNoYW5nZSBtYWtlcyBpdCBwb3Nz
aWJsZSB0byBibG9jayBhbGwgY29udmVyc2lvbnMgbWFkZQorICAgICAgICB0byBhICIvLndlbGwt
a25vd24vYWQtY2xpY2stYXR0cmlidXRpb24vIiBVUkwuCisKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
UmVzb3VyY2VMb2FkZXI6OmhhbmRsZUFkQ2xpY2tBdHRyaWJ1dGlvbkNvbnZlcnNpb24pOgorICAg
ICAgICAgICAgTmV3IGNvbnZlbmllbmNlIGZ1bmN0aW9uLgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVkaXJlY3RlZFJlcXVlc3QpOgorICAgICAgICAg
ICAgTm93IGNhbGxzIE5ldHdvcmtMb2FkQ2hlY2tlcjo6ZW5hYmxlQ29udGVudEV4dGVuc2lvbnND
aGVjaygpIGlmCisgICAgICAgICAgICBhbiBBZCBDbGljayBBdHRyaWJ1dGlvbiBjb252ZXJzaW9u
IHdhcyBmb3VuZCBpbiB0aGUgcmVkaXJlY3QgVVJMLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
UmVzb3VyY2VMb2FkZXI6OmNvbnRpbnVlV2lsbFNlbmRSZWRpcmVjdGVkUmVxdWVzdCk6CisgICAg
ICAgICAgICBJZiB0aGUgcmVxdWVzdCB3YXMgbm90IGJsb2NrZWQsIGl0IHdpbGwgc3RvcmUgYW55
IGZvdW5kIGNvbnZlcnNpb24gaGVyZS4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuaDoKKwogMjAxOS0wNC0yMiAgTHVkb3ZpY28gZGUgTml0dGlzICA8bHVk
b3ZpY28uZGVuaXR0aXNAY29sbGFib3JhLmNvbT4KIAogICAgICAgICBbR1RLXSBmaXggZ3RrX3N0
eWxlX2NvbnRleHRfc2V0X2JhY2tncm91bmQgZGVwcmVjYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCBj
YjE3OTRkZTI3NzBiNmJiOWFkYmNlOTUyMGIzZmE4MTU5OWMwM2EzLi41Nzk0YWNiMDYwNGVmZGM0
ZDY5MWRmYTAxNTMxZGYyNTE3ZGNkNmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC00Miw3ICs0Miw2IEBA
CiAjaW5jbHVkZSAiV2ViUGFnZU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2Fk
ZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzLmgiCi0j
aW5jbHVkZSA8V2ViQ29yZS9BZENsaWNrQXR0cmlidXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0Jsb2JEYXRhRmlsZVJlZmVyZW5jZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJ
bmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaD4KQEAgLTU4
MSwyOSArNTgwLDM1IEBAIE9wdGlvbmFsPFNlY29uZHM+IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6
dmFsaWRhdGVDYWNoZUVudHJ5Rm9yTWF4QWdlQ2FwVmFsaWRhdGlvCiAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKIH0KIAordm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmhhbmRsZUFkQ2xpY2tB
dHRyaWJ1dGlvbkNvbnZlcnNpb24oQWRDbGlja0F0dHJpYnV0aW9uOjpDb252ZXJzaW9uJiYgY29u
dmVyc2lvbiwgY29uc3QgVVJMJiByZXF1ZXN0VVJMLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmIHJlZGlyZWN0UmVxdWVzdCkKK3sKKyAgICBBU1NFUlQoIXNlc3Npb25JRCgpLmlzRXBo
ZW1lcmFsKCkpOworCisgICAgUmVnaXN0cmFibGVEb21haW4gcmVkaXJlY3REb21haW4geyByZWRp
cmVjdFJlcXVlc3QudXJsKCkgfTsKKyAgICBhdXRvJiBmaXJzdFBhcnR5VVJMID0gcmVkaXJlY3RS
ZXF1ZXN0LmZpcnN0UGFydHlGb3JDb29raWVzKCk7CisgICAgTmV0d29ya1Nlc3Npb24qIG5ldHdv
cmtTZXNzaW9uID0gbnVsbHB0cjsKKyAgICAvLyBUaGUgcmVkaXJlY3QgaGFzIHRvIGJlIGRvbmUg
YnkgdGhlIHNhbWUgcmVnaXN0cmFibGUgZG9tYWluIGFuZCBpdCBoYXMgdG8gYmUgYSB0aGlyZC1w
YXJ0eSByZXF1ZXN0LgorICAgIGlmIChyZWRpcmVjdERvbWFpbi5tYXRjaGVzKHJlcXVlc3RVUkwp
ICYmICFyZWRpcmVjdERvbWFpbi5tYXRjaGVzKGZpcnN0UGFydHlVUkwpICYmIChuZXR3b3JrU2Vz
c2lvbiA9IG1fY29ubmVjdGlvbi0+bmV0d29ya1Byb2Nlc3MoKS5uZXR3b3JrU2Vzc2lvbihzZXNz
aW9uSUQoKSkpKQorICAgICAgICBuZXR3b3JrU2Vzc2lvbi0+Y29udmVydEFkQ2xpY2tBdHRyaWJ1
dGlvbihBZENsaWNrQXR0cmlidXRpb246OlNvdXJjZSB7IFdURk1vdmUocmVkaXJlY3REb21haW4p
IH0sIEFkQ2xpY2tBdHRyaWJ1dGlvbjo6RGVzdGluYXRpb24geyBmaXJzdFBhcnR5VVJMIH0sIFdU
Rk1vdmUoY29udmVyc2lvbikpOworfQorCiB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6d2ls
bFNlbmRSZWRpcmVjdGVkUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBSZXNvdXJj
ZVJlcXVlc3QmJiByZWRpcmVjdFJlcXVlc3QsIFJlc291cmNlUmVzcG9uc2UmJiByZWRpcmVjdFJl
c3BvbnNlKQogewogICAgICsrbV9yZWRpcmVjdENvdW50OwogCi0gICAgYXV0byYgcmVkaXJlY3RV
UkwgPSByZWRpcmVjdFJlcXVlc3QudXJsKCk7Ci0gICAgaWYgKCFzZXNzaW9uSUQoKS5pc0VwaGVt
ZXJhbCgpKSB7Ci0gICAgICAgIGlmIChhdXRvIGFkQ2xpY2tDb252ZXJzaW9uID0gQWRDbGlja0F0
dHJpYnV0aW9uOjpwYXJzZUNvbnZlcnNpb25SZXF1ZXN0KHJlZGlyZWN0VVJMKSkgewotICAgICAg
ICAgICAgUmVnaXN0cmFibGVEb21haW4gcmVkaXJlY3REb21haW4geyByZWRpcmVjdFVSTCB9Owot
ICAgICAgICAgICAgYXV0byYgZmlyc3RQYXJ0eVVSTCA9IHJlZGlyZWN0UmVxdWVzdC5maXJzdFBh
cnR5Rm9yQ29va2llcygpOwotICAgICAgICAgICAgTmV0d29ya1Nlc3Npb24qIG5ldHdvcmtTZXNz
aW9uID0gbnVsbHB0cjsKLSAgICAgICAgICAgIC8vIFRoZSByZWRpcmVjdCBoYXMgdG8gYmUgZG9u
ZSBieSB0aGUgc2FtZSByZWdpc3RyYWJsZSBkb21haW4gYW5kIGl0IGhhcyB0byBiZSBhIHRoaXJk
LXBhcnR5IHJlcXVlc3QuCi0gICAgICAgICAgICBpZiAocmVkaXJlY3REb21haW4ubWF0Y2hlcyhy
ZXF1ZXN0LnVybCgpKSAmJiAhcmVkaXJlY3REb21haW4ubWF0Y2hlcyhmaXJzdFBhcnR5VVJMKSAm
JiAobmV0d29ya1Nlc3Npb24gPSBtX2Nvbm5lY3Rpb24tPm5ldHdvcmtQcm9jZXNzKCkubmV0d29y
a1Nlc3Npb24oc2Vzc2lvbklEKCkpKSkKLSAgICAgICAgICAgICAgICBuZXR3b3JrU2Vzc2lvbi0+
Y29udmVydEFkQ2xpY2tBdHRyaWJ1dGlvbihBZENsaWNrQXR0cmlidXRpb246OlNvdXJjZSB7IFdU
Rk1vdmUocmVkaXJlY3REb21haW4pIH0sIEFkQ2xpY2tBdHRyaWJ1dGlvbjo6RGVzdGluYXRpb24g
eyBmaXJzdFBhcnR5VVJMIH0sIFdURk1vdmUoKmFkQ2xpY2tDb252ZXJzaW9uKSk7Ci0gICAgICAg
IH0KLSAgICB9CisgICAgT3B0aW9uYWw8QWRDbGlja0F0dHJpYnV0aW9uOjpDb252ZXJzaW9uPiBh
ZENsaWNrQ29udmVyc2lvbjsKKyAgICBpZiAoIXNlc3Npb25JRCgpLmlzRXBoZW1lcmFsKCkpCisg
ICAgICAgIGFkQ2xpY2tDb252ZXJzaW9uID0gQWRDbGlja0F0dHJpYnV0aW9uOjpwYXJzZUNvbnZl
cnNpb25SZXF1ZXN0KHJlZGlyZWN0UmVxdWVzdC51cmwoKSk7CiAKICAgICBhdXRvIG1heEFnZUNh
cCA9IHZhbGlkYXRlQ2FjaGVFbnRyeUZvck1heEFnZUNhcFZhbGlkYXRpb24ocmVxdWVzdCwgcmVk
aXJlY3RSZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKTsKICAgICBpZiAocmVkaXJlY3RSZXNwb25z
ZS5zb3VyY2UoKSA9PSBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6Ok5ldHdvcmsgJiYgY2FuVXNl
Q2FjaGVkUmVkaXJlY3QocmVxdWVzdCkpCiAgICAgICAgIG1fY2FjaGUtPnN0b3JlUmVkaXJlY3Qo
cmVxdWVzdCwgcmVkaXJlY3RSZXNwb25zZSwgcmVkaXJlY3RSZXF1ZXN0LCBtYXhBZ2VDYXApOwog
CiAgICAgaWYgKG1fbmV0d29ya0xvYWRDaGVja2VyKSB7CisgICAgICAgIGlmIChhZENsaWNrQ29u
dmVyc2lvbikKKyAgICAgICAgICAgIG1fbmV0d29ya0xvYWRDaGVja2VyLT5lbmFibGVDb250ZW50
RXh0ZW5zaW9uc0NoZWNrKCk7CiAgICAgICAgIG1fbmV0d29ya0xvYWRDaGVja2VyLT5zdG9yZVJl
ZGlyZWN0aW9uSWZOZWVkZWQocmVxdWVzdCwgcmVkaXJlY3RSZXNwb25zZSk7Ci0gICAgICAgIG1f
bmV0d29ya0xvYWRDaGVja2VyLT5jaGVja1JlZGlyZWN0aW9uKFdURk1vdmUocmVxdWVzdCksIFdU
Rk1vdmUocmVkaXJlY3RSZXF1ZXN0KSwgV1RGTW92ZShyZWRpcmVjdFJlc3BvbnNlKSwgdGhpcywg
W3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgdGhpcywgc3RvcmVkQ3JlZGVudGlhbHNQ
b2xpY3kgPSBtX25ldHdvcmtMb2FkQ2hlY2tlci0+c3RvcmVkQ3JlZGVudGlhbHNQb2xpY3koKV0o
YXV0byYmIHJlc3VsdCkgbXV0YWJsZSB7CisgICAgICAgIG1fbmV0d29ya0xvYWRDaGVja2VyLT5j
aGVja1JlZGlyZWN0aW9uKFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUocmVkaXJlY3RSZXF1ZXN0
KSwgV1RGTW92ZShyZWRpcmVjdFJlc3BvbnNlKSwgdGhpcywgW3Byb3RlY3RlZFRoaXMgPSBtYWtl
UmVmKCp0aGlzKSwgdGhpcywgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kgPSBtX25ldHdvcmtMb2Fk
Q2hlY2tlci0+c3RvcmVkQ3JlZGVudGlhbHNQb2xpY3koKSwgYWRDbGlja0NvbnZlcnNpb24gPSBX
VEZNb3ZlKGFkQ2xpY2tDb252ZXJzaW9uKV0oYXV0byYmIHJlc3VsdCkgbXV0YWJsZSB7CiAgICAg
ICAgICAgICBpZiAoIXJlc3VsdC5oYXNfdmFsdWUoKSkgewogICAgICAgICAgICAgICAgIGlmIChy
ZXN1bHQuZXJyb3IoKS5pc0NhbmNlbGxhdGlvbigpKQogICAgICAgICAgICAgICAgICAgICByZXR1
cm47CkBAIC02MzEsMTcgKzYzNiwxOSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6d2ls
bFNlbmRSZWRpcmVjdGVkUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LAogICAgICAg
ICAgICAgfQogCiAgICAgICAgICAgICBtX3Nob3VsZFJlc3RhcnRMb2FkID0gc3RvcmVkQ3JlZGVu
dGlhbHNQb2xpY3kgIT0gbV9uZXR3b3JrTG9hZENoZWNrZXItPnN0b3JlZENyZWRlbnRpYWxzUG9s
aWN5KCk7Ci0gICAgICAgICAgICB0aGlzLT5jb250aW51ZVdpbGxTZW5kUmVkaXJlY3RlZFJlcXVl
c3QoV1RGTW92ZShyZXN1bHQtPnJlcXVlc3QpLCBXVEZNb3ZlKHJlc3VsdC0+cmVkaXJlY3RSZXF1
ZXN0KSwgV1RGTW92ZShyZXN1bHQtPnJlZGlyZWN0UmVzcG9uc2UpKTsKKyAgICAgICAgICAgIHRo
aXMtPmNvbnRpbnVlV2lsbFNlbmRSZWRpcmVjdGVkUmVxdWVzdChXVEZNb3ZlKHJlc3VsdC0+cmVx
dWVzdCksIFdURk1vdmUocmVzdWx0LT5yZWRpcmVjdFJlcXVlc3QpLCBXVEZNb3ZlKHJlc3VsdC0+
cmVkaXJlY3RSZXNwb25zZSksIFdURk1vdmUoYWRDbGlja0NvbnZlcnNpb24pKTsKICAgICAgICAg
fSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgY29udGludWVXaWxsU2VuZFJlZGlyZWN0
ZWRSZXF1ZXN0KFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUocmVkaXJlY3RSZXF1ZXN0KSwgV1RG
TW92ZShyZWRpcmVjdFJlc3BvbnNlKSk7CisgICAgY29udGludWVXaWxsU2VuZFJlZGlyZWN0ZWRS
ZXF1ZXN0KFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUocmVkaXJlY3RSZXF1ZXN0KSwgV1RGTW92
ZShyZWRpcmVjdFJlc3BvbnNlKSwgV1RGTW92ZShhZENsaWNrQ29udmVyc2lvbikpOwogfQogCi12
b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Y29udGludWVXaWxsU2VuZFJlZGlyZWN0ZWRSZXF1
ZXN0KFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFJlc291cmNlUmVxdWVzdCYmIHJlZGlyZWN0
UmVxdWVzdCwgUmVzb3VyY2VSZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9uc2UpCit2b2lkIE5ldHdv
cmtSZXNvdXJjZUxvYWRlcjo6Y29udGludWVXaWxsU2VuZFJlZGlyZWN0ZWRSZXF1ZXN0KFJlc291
cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFJlc291cmNlUmVxdWVzdCYmIHJlZGlyZWN0UmVxdWVzdCwg
UmVzb3VyY2VSZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9uc2UsIE9wdGlvbmFsPEFkQ2xpY2tBdHRy
aWJ1dGlvbjo6Q29udmVyc2lvbj4mJiBhZENsaWNrQ29udmVyc2lvbikKIHsKICAgICBBU1NFUlQo
IWlzU3luY2hyb25vdXMoKSk7CiAKKyAgICBpZiAoYWRDbGlja0NvbnZlcnNpb24pCisgICAgICAg
IGhhbmRsZUFkQ2xpY2tBdHRyaWJ1dGlvbkNvbnZlcnNpb24oV1RGTW92ZSgqYWRDbGlja0NvbnZl
cnNpb24pLCByZXF1ZXN0LnVybCgpLCByZWRpcmVjdFJlcXVlc3QpOwogICAgIHNlbmQoTWVzc2Fn
ZXM6OldlYlJlc291cmNlTG9hZGVyOjpXaWxsU2VuZFJlcXVlc3QocmVkaXJlY3RSZXF1ZXN0LCBz
YW5pdGl6ZVJlc3BvbnNlSWZQb3NzaWJsZShXVEZNb3ZlKHJlZGlyZWN0UmVzcG9uc2UpLCBSZXNv
dXJjZVJlc3BvbnNlOjpTYW5pdGl6YXRpb25UeXBlOjpSZWRpcmVjdGlvbikpKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVy
LmgKaW5kZXggNWJlZTllMjY5YzAyNDFkNGZiODQxMjBkZGE2ZWJhNDUxNmExMDE0Ni4uMDI5ODUx
MTIyYWUzNmFlNmIzNGNiNWFmMDJhNjU3ODhjZGZlNTliNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5oCkBAIC0zMSw2ICsz
MSw3IEBACiAjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5o
IgogI2luY2x1ZGUgIk5ldHdvcmtMb2FkQ2xpZW50LmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0FkQ2xpY2tBdHRyaWJ1dGlv
bi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ29udGVudFNlY3VyaXR5UG9saWN5Q2xpZW50Lmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9T
ZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50Lmg+CkBAIC0xNTksNyArMTYwLDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIGxvZ0Nvb2tpZUluZm9ybWF0aW9uKCkgY29uc3Q7CiAjZW5kaWYKIAotICAg
IHZvaWQgY29udGludWVXaWxsU2VuZFJlZGlyZWN0ZWRSZXF1ZXN0KFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYmLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiByZWRpcmVjdFJlcXVlc3QsIFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJik7CisgICAgdm9pZCBjb250aW51ZVdpbGxTZW5kUmVk
aXJlY3RlZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYmIHJlZGlyZWN0UmVxdWVzdCwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYm
LCBPcHRpb25hbDxXZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb246OkNvbnZlcnNpb24+JiYpOwog
ICAgIHZvaWQgZGlkRmluaXNoV2l0aFJlZGlyZWN0UmVzcG9uc2UoV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZSYmKTsKICAgICBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHNhbml0aXplUmVzcG9u
c2VJZlBvc3NpYmxlKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiwgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZTo6U2FuaXRpemF0aW9uVHlwZSk7CiAKQEAgLTE3MCw2ICsxNzEsOCBAQCBwcml2
YXRlOgogCiAgICAgdm9pZCBsb2dTbG93Q2FjaGVSZXRyaWV2ZUlmTmVlZGVkKGNvbnN0IE5ldHdv
cmtDYWNoZTo6Q2FjaGU6OlJldHJpZXZlSW5mbyYpOwogCisgICAgdm9pZCBoYW5kbGVBZENsaWNr
QXR0cmlidXRpb25Db252ZXJzaW9uKFdlYkNvcmU6OkFkQ2xpY2tBdHRyaWJ1dGlvbjo6Q29udmVy
c2lvbiYmLCBjb25zdCBVUkwmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKKwog
ICAgIE9wdGlvbmFsPFNlY29uZHM+IHZhbGlkYXRlQ2FjaGVFbnRyeUZvck1heEFnZUNhcFZhbGlk
YXRpb24oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiByZWRpcmVjdFJlcXVlc3QsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2UmKTsKIAogICAgIGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzIG1fcGFy
YW1ldGVyczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA2YWY5MmIxNmU2YzdiNWNiMDc0MzMxNTlmYWZhNDA2ZTYxMGUzYTVh
Li40ZDI1ZTc4YmI2M2Q2ZTllNmVkNDU1ZDU5ODE1Yzg5NWZmMDM4MTNmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTktMDQtMjIgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+
CisKKyAgICAgICAgQWQgQ2xpY2sgQXR0cmlidXRpb24gcmVkaXJlY3RzIHRvIHdlbGwta25vd24g
bG9jYXRpb24gc2hvdWxkIG5vdCB0cmlnZ2VyIGEgY29udmVyc2lvbiBpZiB0aGV5IGFyZSBibG9j
a2VkIGJ5IGNvbnRlbnQgYmxvY2tlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5NzE4MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc3NjMxODg+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL2Jsb2NrLWFkLWNsaWNrLWF0dHJpYnV0aW9uLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9i
bG9jay1hZC1jbGljay1hdHRyaWJ1dGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL2NvbnRlbnRleHRlbnNpb25zL2Jsb2NrLWFkLWNsaWNrLWF0dHJpYnV0aW9uLmh0bWwuanNv
bjogQWRkZWQuCisKIDIwMTktMDQtMjIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI0MTI4OSk6IFtHVEtdIGFjY2Vzc2li
aWxpdHkvcmVtb3ZlZC1jb250aW51YXRpb24tZWxlbWVudC1jYXVzZXMtY3Jhc2guaHRtbCBhbmQg
YWNjZXNzaWJpbGl0eS9yZW1vdmVkLWFub255bW91cy1ibG9jay1jaGlsZC1jYXVzZXMtY3Jhc2gu
aHRtbCBjcmFzaGVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRl
eHRlbnNpb25zL2Jsb2NrLWFkLWNsaWNrLWF0dHJpYnV0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvYmxvY2stYWQtY2xpY2stYXR0cmli
dXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3MDc0Zjc5OTViMWI4OWQ1ZTg3ZDA0NjEz
YjZlYjA0NWFkNTViOGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NvbnRlbnRleHRlbnNpb25zL2Jsb2NrLWFkLWNsaWNrLWF0dHJpYnV0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE3IEBACitDT05TT0xFIE1FU1NBR0U6IEJsb2NrZWQgYnkgY29udGVudCBl
eHRlbnNpb24KK0NPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxvYWQgaW1hZ2UgaHR0cHM6Ly8xMjcu
MC4wLjE6ODQ0My9hZENsaWNrQXR0cmlidXRpb24vcmVzb3VyY2VzL3JlZGlyZWN0VG9Db252ZXJz
aW9uLnBocD9jb252ZXJzaW9uRGF0YT0xMiBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgor
VGVzdHMgdGhhdCBhZCBjbGljayBhdHRyaWJ1dGlvbiByZWRpcmVjdHMgdG8gd2VsbC1rbm93biBs
b2NhdGlvbiBkb24ndCB0cmlnZ2VyIGEgY29udmVyc2lvbiBpZiB0aGV5IGFyZSBibG9ja2VkIGJ5
IGNvbnRlbnQgYmxvY2tlcnMuCisKKworCistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWUxLS0+
JworLS0tLS0tLS0KK0NvbnZlcnNpb24gbm90IHJlY2VpdmVkIC0gdGltZWQgb3V0LgorCitVbmNv
bnZlcnRlZCBBZCBDbGljayBBdHRyaWJ1dGlvbnM6CitXZWJDb3JlOjpBZENsaWNrQXR0cmlidXRp
b24gMQorU291cmNlOiAxMjcuMC4wLjEKK0Rlc3RpbmF0aW9uOiBsb2NhbGhvc3QKK0NhbXBhaWdu
IElEOiAzCitObyBjb252ZXJzaW9uIGRhdGEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL2Jsb2NrLWFkLWNsaWNrLWF0dHJpYnV0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL2Jsb2NrLWFkLWNsaWNr
LWF0dHJpYnV0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTE2NmJhZDI0MTFjZDQ0N2U3ZDYzMjY3YmU3
YTBmODVhZTBlNzBiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y29udGVudGV4dGVuc2lvbnMvYmxvY2stYWQtY2xpY2stYXR0cmlidXRpb24uaHRtbApAQCAtMCww
ICsxLDcyIEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgaW50ZXJuYWw6QWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZD10
cnVlIF0gLS0+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJV
VEYtOCI+CisgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKyAgICA8c2NyaXB0IHNy
Yz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlw
dCBzcmM9Ii4uL2FkQ2xpY2tBdHRyaWJ1dGlvbi9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQocnVuVGVzdCwgMCkiPgorPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPlRlc3RzIHRoYXQgYWQgY2xpY2sgYXR0cmlidXRpb24gcmVkaXJlY3Rz
IHRvIHdlbGwta25vd24gbG9jYXRpb24gZG9uJ3QgdHJpZ2dlciBhIGNvbnZlcnNpb24gaWYgdGhl
eSBhcmUgYmxvY2tlZCBieSBjb250ZW50IGJsb2NrZXJzLjwvZGl2PgorPGEgaWQ9InRhcmdldExp
bmsiIGhyZWY9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1h
ZC1jbGljay1hdHRyaWJ1dGlvbi5odG1sP3N0ZXBUd28iIGFkY2FtcGFpZ25pZD0iMyIgYWRkZXN0
aW5hdGlvbj0iaHR0cDovL2xvY2FsaG9zdDo4MDAwIj5MaW5rPC9hPjxicj4KKzxkaXYgaWQ9Im91
dHB1dCI+PC9kaXY+Cis8c2NyaXB0PgorICAgIHByZXBhcmVUZXN0KCk7CisKKyAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRBZENsaWNrQXR0cmlidXRp
b25PdmVycmlkZVRpbWVyRm9yVGVzdGluZyh0cnVlKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRB
ZENsaWNrQXR0cmlidXRpb25Db252ZXJzaW9uVVJMRm9yVGVzdGluZygiaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2FkQ2xpY2tBdHRyaWJ1dGlvbi9yZXNvdXJjZXMvY29udmVyc2lvblJlcG9ydC5waHAi
KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVudElEKSB7Cisg
ICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElEKTsK
KyAgICAgICAgdmFyIGNlbnRlclggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50Lm9mZnNl
dFdpZHRoIC8gMjsKKyAgICAgICAgdmFyIGNlbnRlclkgPSBlbGVtZW50Lm9mZnNldFRvcCArIGVs
ZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVBdChjZW50
ZXJYLCBjZW50ZXJZKS50aGVuKAorICAgICAgICAgICAgZnVuY3Rpb24gKCkgeworICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgib3V0cHV0IikuaW5uZXJUZXh0ID0gIkZBSUwgUHJvbWlzZSByZWpl
Y3RlZC4iOworICAgICAgICAgICAgICAgIHRlYXJEb3duQW5kRmluaXNoKCk7CisgICAgICAgICAg
ICB9CisgICAgICAgICk7CisgICAgfQorCisgICAgZnVuY3Rpb24gYXBwZW5kSWZyYW1lKHVybCwg
b25sb2FkQ2FsbGJhY2spIHsKKyAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgICAgICAgaWZyYW1lRWxlbWVudC5zcmMgPSB1cmw7
CisgICAgICAgIGlmIChvbmxvYWRDYWxsYmFjaykKKyAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQu
b25sb2FkID0gb25sb2FkQ2FsbGJhY2s7CisgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoaWZyYW1lRWxlbWVudCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gYXBwZW5kQ29udmVyc2lv
bkRhdGFJZnJhbWVBbmRGaW5pc2goKSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFkQ2xpY2tB
dHRyaWJ1dGlvbigpOworICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXRMaW5rIikpOworICAgICAgICBkb2N1bWVudC5ib2R5LnJl
bW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwaXhlbCIpKTsKKworICAgICAgICBh
cHBlbmRJZnJhbWUoImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9hZENsaWNrQXR0cmlidXRpb24vcmVz
b3VyY2VzL2dldENvbnZlcnNpb25EYXRhLnBocD90aW1lb3V0X21zPTEwMDAiLCBmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgIHRlYXJEb3duQW5kRmluaXNoKCk7CisgICAgICAgIH0pOworICAgIH0K
KworICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgeworICAgICAgICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2ggPT09ICI/c3RlcFR3
byIpIHsKKyAgICAgICAgICAgICAgICBsZXQgaW1hZ2VFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiaW1nIik7CisgICAgICAgICAgICAgICAgaW1hZ2VFbGVtZW50LnNyYyA9ICJodHRw
czovLzEyNy4wLjAuMTo4NDQzL2FkQ2xpY2tBdHRyaWJ1dGlvbi9yZXNvdXJjZXMvcmVkaXJlY3RU
b0NvbnZlcnNpb24ucGhwP2NvbnZlcnNpb25EYXRhPTEyIjsKKyAgICAgICAgICAgICAgICBpbWFn
ZUVsZW1lbnQuaWQgPSAicGl4ZWwiOworICAgICAgICAgICAgICAgIGltYWdlRWxlbWVudC5vbmVy
cm9yID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIGFwcGVuZENvbnZlcnNpb25E
YXRhSWZyYW1lQW5kRmluaXNoKCk7CisgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGltYWdlRWxlbWVudCk7CisgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgIGFjdGl2YXRlRWxlbWVudCgidGFyZ2V0TGluayIpOwor
ICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoIm91dHB1dCIpLmlubmVyVGV4dCA9ICJGQUlMIE5vIHRlc3RSdW5uZXIuIjsK
KyAgICAgICAgfQorICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1hZC1jbGlj
ay1hdHRyaWJ1dGlvbi5odG1sLmpzb24gYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRl
eHRlbnNpb25zL2Jsb2NrLWFkLWNsaWNrLWF0dHJpYnV0aW9uLmh0bWwuanNvbgpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41ZTM5NGVmMTE4MGJjOGZiYTY4NzZlMTU2MzE0NGU4NGE2NDk0ZDE0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1hZC1j
bGljay1hdHRyaWJ1dGlvbi5odG1sLmpzb24KQEAgLTAsMCArMSwxMCBAQAorWworICB7CisgICAg
InRyaWdnZXIiOiB7CisgICAgICAidXJsLWZpbHRlciI6ICIvLndlbGwta25vd24vYWQtY2xpY2st
YXR0cmlidXRpb24vIgorICAgIH0sCisgICAgImFjdGlvbiI6IHsKKyAgICAgICJ0eXBlIjogImJs
b2NrIgorICAgIH0KKyAgfQorXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>