<?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>132664</bug_id>
          
          <creation_ts>2014-05-07 14:10:00 -0700</creation_ts>
          <short_desc>[CSS Shapes] Same URL for display and shape-outside can cause CORS problems</short_desc>
          <delta_ts>2016-10-06 02:00:15 -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>CSS</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hans Muller">giles_joplin</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>bjonesbe</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>eoconnor</cc>
    
    <cc>japhet</cc>
    
    <cc>jonlee</cc>
    
    <cc>lmcliste</cc>
    
    <cc>youennf</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1007435</commentid>
    <comment_count>0</comment_count>
      <attachid>231022</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2014-05-07 14:10:00 -0700</bug_when>
    <thetext>Created attachment 231022
Test case

If an ordinary image for some URL is cached, then a subsequent (and valid) cross-origin request for the same image fails, because the cached image wasn&apos;t fetched with CORS.  You can see as much in the attached example, by running the testImage() function.

CSS Shapes apps regularly aggravate this problem, because the same image URL is often used for display (without CORS) and for shape-outside (with CORS).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008472</commentid>
    <comment_count>1</comment_count>
      <attachid>231272</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2014-05-11 20:37:44 -0700</bug_when>
    <thetext>Created attachment 231272
Test case.

Slightly revised the test case.  There are a few additional comments, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008668</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-05-12 11:19:44 -0700</bug_when>
    <thetext>I expect that this will be fairly involved to fix cleanly. WebCore loader is not suited for the same resource being used for multiple purposes, or even for resources used for the same purpose in multiple subframes. The cases that work generally do so by avoiding caching altogether.

Would it be possible to have a way to directly express this use case in markup? If it&apos;s a common case, a nice syntax for it may be appropriate.

A workaround would be to use a different URL, of course (e.g. by adding a query such as &quot;?for-shape&quot;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008986</commentid>
    <comment_count>3</comment_count>
    <who name="Theresa O&apos;Connor">eoconnor</who>
    <bug_when>2014-05-13 10:28:07 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Would it be possible to have a way to directly express this use case in markup?

CSS V&amp;U Level 3 provides for this by enhancing the attr() function:

shape-outside: attr(src url)

See also bug 26609.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1014721</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-06-11 05:20:55 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I expect that this will be fairly involved to fix cleanly. WebCore loader is not suited for the same resource being used for multiple purposes, or even for resources used for the same purpose in multiple subframes. The cases that work generally do so by avoiding caching altogether.

Resources should probably not be reused when the request origin policy options are not the same.
How about mandating the loader to reload whenever the HTTP origin of the new request does not match the origin of the cached one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033210</commentid>
    <comment_count>5</comment_count>
      <attachid>237627</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-09-04 08:54:56 -0700</bug_when>
    <thetext>Created attachment 237627
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056384</commentid>
    <comment_count>6</comment_count>
      <attachid>237627</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-12-17 11:04:43 -0800</bug_when>
    <thetext>Comment on attachment 237627
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        CachedResourceLoader now reloads cached resources for which the Origin between the cached request and the new request is not the same.

This is probably an improvement overall, however it&apos;s not too great that shape-outside resources won&apos;t be cached, and will instead cause two loads on every page load.

&gt; LayoutTests/ChangeLog:3
&gt; +        [CSS Shapes] Same URL for display and shape-outside can cause CORS problems

There doesn&apos;t appear to be a test for shape-outside added with this patch. Can it be tested?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056798</commentid>
    <comment_count>7</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-12-18 09:45:34 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Comment on attachment 237627 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=237627&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:11
&gt; &gt; +        CachedResourceLoader now reloads cached resources for which the Origin between the cached request and the new request is not the same.
&gt; 
&gt; This is probably an improvement overall, however it&apos;s not too great that
&gt; shape-outside resources won&apos;t be cached, and will instead cause two loads on
&gt; every page load.

The changelog is in fact a simplification of what the newly added check does:
it verifies upfront whether the request requires CORS check in which case Reload happens only if cached response is failing CORS check with the request origin.
If a web site adds correct CORS information for the first request, Reload will never happen.

I can update the changelog if that helps.

An alternative/generalization of the current check would be to Reload according the Vary header of the response.


&gt; &gt; LayoutTests/ChangeLog:3
&gt; &gt; +        [CSS Shapes] Same URL for display and shape-outside can cause CORS problems
&gt; 
&gt; There doesn&apos;t appear to be a test for shape-outside added with this patch.
&gt; Can it be tested?

Sure, I can try to add one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221917</commentid>
    <comment_count>8</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-08-22 11:25:09 -0700</bug_when>
    <thetext>Hi Youenn. What&apos;s the status with this change? It&apos;s desperately out of date, so we can&apos;t really review it...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221919</commentid>
    <comment_count>9</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-08-22 11:31:28 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Hi Youenn. What&apos;s the status with this change? It&apos;s desperately out of date,
&gt; so we can&apos;t really review it...

I will rebase the patch. I am not yet exactly sure when will be the best time for it. Please let me know if this is somehow blocking</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224591</commentid>
    <comment_count>10</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-08-30 09:46:15 -0700</bug_when>
    <thetext>I am not able to reproduce the particular bug for CSS Shapes.
AFAICS, shape-outside URLs are fetched in CORS mode but in anonymous mode, thus without credentials.
img elements load data in No-CORS mode but with credentials.
This difference triggers reloading of the cached resource.

When reloading, all necessary checks are done.

If there is no objection, I&apos;ll close that bug as fixed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>231022</attachid>
            <date>2014-05-07 14:10:00 -0700</date>
            <delta_ts>2014-05-11 20:37:44 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>cached-image-fail.html</filename>
            <type>text/html</type>
            <size>762</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPiAgCjxzY3JpcHQ+CnZhciBpbWFnZURhdGEgPSAiZmFpbCI7
CgpmdW5jdGlvbiB0ZXN0SW1hZ2UoKSB7CiAgICB2YXIgaW1nID0gbmV3IEltYWdlKCk7CiAgICBp
bWcuY3Jvc3NPcmlnaW4gPSAiYW5vbnltb3VzIjsKICAgIGltZy5vbmxvYWQgPSBmdW5jdGlvbigp
IHsKICAgICAgICB2YXIgZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKS5nZXRD
b250ZXh0KCcyZCcpOwogICAgICAgIGcuZHJhd0ltYWdlKGltZywgMCwgMCk7CiAgICAgICAgaW1h
Z2VEYXRhID0gZy5nZXRJbWFnZURhdGEoMCwgMCwgMTAwLCAxMDApOwogICAgfTsKICAgIGltZy5z
cmMgPSAiaHR0cDovL3MuY2Rwbi5pby8yODcyNy9TcXVhcmVfcm9vdF9vZl8yX3RyaWFuZ2xlLnN2
ZyI7Cn0KPC9zY3JpcHQ+Cgo8c3R5bGU+CiNjYW52YXMgewogICAgLyogSWYgdGhpcyBsaW5lIGlz
IGNvbW1lbnRlZCBvdXQsIHRoZW4gdGhlIHRlc3RJbWFnZSgpIGZ1bmN0aW9uIHdpbGwgc3VjY2Vl
ZCwgc2luY2UgdGhlIG5vbi1DT1JTIHZlcnNpb24KICAgICAgIG9mIHRoZSBpbWFnZSB3aWxsIG5v
dCBoYXZlIGJlZW4gY2FjaGVkIGFscmVhZHkuIAogICAgKi8KICAgIGJhY2tncm91bmQtaW1hZ2U6
IHVybCgiaHR0cDovL3MuY2Rwbi5pby8yODcyNy9TcXVhcmVfcm9vdF9vZl8yX3RyaWFuZ2xlLnN2
ZyIpOwp9Cjwvc3R5bGU+CjxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjUwMHB4OyIgaGVpZ2h0
PSI1MDBweCIvPgoKPC9odG1sPgoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>231272</attachid>
            <date>2014-05-11 20:37:44 -0700</date>
            <delta_ts>2014-05-11 20:37:44 -0700</delta_ts>
            <desc>Test case.</desc>
            <filename>cached-image-failv1.html</filename>
            <type>text/html</type>
            <size>1444</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjwhLS0KVGhlIHRlc3RJbWFnZSgpIGZ1bmN0aW9uIGxvYWRzIGEgVVJM
IGZyb20gYSBzZXJ2ZXIgdGhhdCByZXNwb25kcyBjb3JyZWN0bHkgdG8gdGhlIHJlcXVlc3QgIm9y
aWdpbiIgaGVhZGVyLgoKSWYgdGhpcyBmaWxlIGlzIGxvYWRlZCBhcy1pcyBhbmQgdGhlbiB0ZXN0
SW1hZ2UoKSBpcyBydW4gZnJvbSB0aGUgY29uc29sZSgpLCBhIENPUlMgZmFpbHVyZSBvY2N1cnMu
CgpJZiB0aGUgYmFja2dyb3VuZC1pbWFnZSAjY2FudmFzIHByb3BlcnR5IGlzIGNvbW1lbnRlZCBv
dXQsIHRoZW4gdGVzdEltYWdlKCkgd29ya3MgYXMgZXhwZWN0ZWQuCgotLT4KPGh0bWw+ICAKPHNj
cmlwdD4KdmFyIGltYWdlRGF0YSA9ICJmYWlsIjsKCmZ1bmN0aW9uIHRlc3RJbWFnZSgpIHsKICAg
IHZhciBpbWcgPSBuZXcgSW1hZ2UoKTsKICAgIGltZy5jcm9zc09yaWdpbiA9ICJhbm9ueW1vdXMi
OwogICAgaW1nLm9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBnID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpLmdldENvbnRleHQoJzJkJyk7CiAgICAgICAgZy5kcmF3
SW1hZ2UoaW1nLCAwLCAwKTsKICAgICAgICBpbWFnZURhdGEgPSBnLmdldEltYWdlRGF0YSgwLCAw
LCAxMDAsIDEwMCk7CiAgICAgICAgY29uc29sZS5sb2coIk9LIik7CiAgICB9OwogICAgaW1nLnNy
YyA9ICJodHRwczovL3MzLXVzLXdlc3QtMi5hbWF6b25hd3MuY29tL3MuY2Rwbi5pby8yODcyNy93
aW5lLWp1Zy1zaGFwZS5wbmciOyAKfQoKLyogVGhpcyB0ZXN0SW1hZ2UoKSBjYWxsIHNlZW1zIHRv
IGFsd2F5cyBzdWNjZWVkLiBBbmQgb25jZSBpdCBoYXMsIHN1YnNlcXVlbnQgY2FsbHMgZnJvbSB0
aGUgY29uc29sZQogKiB3b3JrIGFzIHdlbGwgKHByb2JhYmx5KSBiZWNhdXNlIHdoYXRldmVyIGNh
Y2hlIHByb2JsZW0gb2NjdXJzIGZvciB0aGUgZmFpbHVyZSBtb2RlLCBkb2Vzbid0IGhhcHBlbgog
KiB3aGVuIHRoZSBDT1JTIHZlcmlzb24gb2YgdGhlIFVSTCB3YXMgbG9hZGVkIGxhc3QuCiAqLwov
KndpbmRvdy5vbmxvYWQgPSB0ZXN0SW1hZ2U7Ki8KPC9zY3JpcHQ+Cgo8Ym9keT4KPHN0eWxlPgoj
Y2FudmFzIHsKICAgIC8qIElmIHRoaXMgbGluZSBpcyBjb21tZW50ZWQgb3V0LCB0aGVuIHRoZSB0
ZXN0SW1hZ2UoKSBmdW5jdGlvbiB3aWxsIHN1Y2NlZWQsIHNpbmNlIHRoZSBub24tQ09SUyB2ZXJz
aW9uCiAgICAgICBvZiB0aGUgaW1hZ2Ugd2lsbCBub3QgaGF2ZSBiZWVuIGNhY2hlZCBhbHJlYWR5
LiAKICAgICovCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImh0dHBzOi8vczMtdXMtd2VzdC0y
LmFtYXpvbmF3cy5jb20vcy5jZHBuLmlvLzI4NzI3L3dpbmUtanVnLXNoYXBlLnBuZyIpOwp9Cjwv
c3R5bGU+CjxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjUwMHB4OyIgaGVpZ2h0PSI1MDBweCIv
Pgo8L2JvZHk+CjwvaHRtbD4KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237627</attachid>
            <date>2014-09-04 08:54:56 -0700</date>
            <delta_ts>2016-08-30 09:39:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132664-20140904175449.patch</filename>
            <type>text/plain</type>
            <size>14979</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczMjU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTcwMjY1YzAyZjVhYzFl
NWI3MmU2YWFhYjkyYWY1MDQ4NzAyYzc2NS4uMmNjNzI3NTBjZGNjOWUyMmU2OTE5MjNjNjcwODA1
ODlmZTNmZGZiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE0LTA5LTA0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgW0NTUyBT
aGFwZXNdIFNhbWUgVVJMIGZvciBkaXNwbGF5IGFuZCBzaGFwZS1vdXRzaWRlIGNhbiBjYXVzZSBD
T1JTIHByb2JsZW1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMzI2NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0czogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY2FjaGVkLXJlc291
cmNlLXBhcmFsbGVsLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jv
c3Mtb3JpZ2luLWNhY2hlZC1yZXNvdXJjZS5odG1sCisKKyAgICAgICAgQ2FjaGVkUmVzb3VyY2VM
b2FkZXIgbm93IHJlbG9hZHMgY2FjaGVkIHJlc291cmNlcyBmb3Igd2hpY2ggdGhlIE9yaWdpbiBi
ZXR3ZWVuIHRoZSBjYWNoZWQgcmVxdWVzdCBhbmQgdGhlIG5ldyByZXF1ZXN0IGlzIG5vdCB0aGUg
c2FtZS4KKworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6Omhhc1JlZGlyZWN0aW9uKTogUmV0dXJucyB3aGV0
aGVyIHRoZSByZXNvdXJjZSBoYXMgYSByZWRpcmVjdGlvbiBvciBub3QuCisgICAgICAgICogbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlZFJlc291cmNlTG9hZGVyOjpkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xpY3kpOiBSZWxvYWQg
aWYgQ09SUyBhY2Nlc3MgY2hlY2sgd2lsbCBmYWlsLgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3RCYXNlOjpoYXNIVFRQT3JpZ2luKTogUmV0dXJucyB0cnVlIGlmIHRoZSBPcmlnaW4gSFRU
UCBoZWFkZXIgaXMgc2V0LgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1
ZXN0QmFzZS5oOgorCiAyMDE0LTA5LTAzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBj
cmYuY2Fub24uZnI+CiAKICAgICAgICAgWE1MSHR0cFJlcXVlc3QgYWx3YXlzIGRlZmF1bHRzIENv
bnRlbnQtVHlwZSB0byBhcHBsaWNhdGlvbi94bWwsIHdoaWxlIGl0IHNob3VsZCBkZXBlbmQgb24g
ZGF0YSB0eXBlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5o
CmluZGV4IDU1N2EyMGI3MDA3ODk3ZmRhNjczYjFjYjdmZmUzZDI1YzVjYWYxNGYuLmY4NDViZDE1
NDg1YjZiOTYyYzc4MzEyMmRjYjg3ZDY2YWUxOTM4ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCkBAIC0yMzIsNiArMjMyLDcgQEAgcHVibGljOgog
CiAgICAgdmlydHVhbCBib29sIG11c3RSZXZhbGlkYXRlRHVlVG9DYWNoZUhlYWRlcnMoQ2FjaGVQ
b2xpY3kpIGNvbnN0OwogICAgIGJvb2wgcmVkaXJlY3RDaGFpbkFsbG93c1JldXNlKCkgY29uc3Q7
CisgICAgYm9vbCBoYXNSZWRpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fcmVkaXJlY3RDaGFp
bkNhY2hlU3RhdHVzICE9IE5vUmVkaXJlY3Rpb247IH0KIAogICAgIGJvb2wgaXNDYWNoZVZhbGlk
YXRvcigpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb3VyY2VUb1JldmFsaWRhdGU7IH0KICAgICBDYWNo
ZWRSZXNvdXJjZSogcmVzb3VyY2VUb1JldmFsaWRhdGUoKSBjb25zdCB7IHJldHVybiBtX3Jlc291
cmNlVG9SZXZhbGlkYXRlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBmOTNiMGQzNWE4ODcwZGU1OTc3OGZiY2Uw
Y2QzY2RmY2M1MjFkYmJmLi5iMDA1MWIwMTc2MTVhOTM5MzQ2NTcyY2NhN2Q0Mzk3ODlmODVkZWE5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHAKQEAgLTYyMCwxMyArNjIwLDI3IEBAIENhY2hlZFJlc291cmNlTG9hZGVyOjpS
ZXZhbGlkYXRpb25Qb2xpY3kgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRldGVybWluZVJldmFsaWRh
CiAgICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGV0
ZXJtaW5lUmV2YWxpZGF0aW9uUG9saWN5IHJlbG9hZGluZyBkdWUgdG8gQ2FjaGVQb2xpY3lSZWxv
YWQuIik7CiAgICAgICAgIHJldHVybiBSZWxvYWQ7CiAgICAgfQotICAgIAorCiAgICAgLy8gV2Un
bGwgdHJ5IHRvIHJlbG9hZCB0aGUgcmVzb3VyY2UgaWYgaXQgZmFpbGVkIGxhc3QgdGltZS4KICAg
ICBpZiAoZXhpc3RpbmdSZXNvdXJjZS0+ZXJyb3JPY2N1cnJlZCgpKSB7Ci0gICAgICAgIExPRyhS
ZXNvdXJjZUxvYWRpbmcsICJDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGV0ZXJtaW5lUmV2YWxpZGF0
aW9uUG9saWN5ZSByZWxvYWRpbmcgZHVlIHRvIHJlc291cmNlIGJlaW5nIGluIHRoZSBlcnJvciBz
dGF0ZSIpOworICAgICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OmRldGVybWluZVJldmFsaWRhdGlvblBvbGljeSByZWxvYWRpbmcgZHVlIHRvIHJlc291cmNl
IGJlaW5nIGluIHRoZSBlcnJvciBzdGF0ZSIpOwogICAgICAgICByZXR1cm4gUmVsb2FkOwogICAg
IH0KLSAgICAKKworICAgIC8vIFJlbG9hZCBpZiBvcmlnaW5zIGRvIG5vdCBtYXRjaCBhbmQgQ09S
UyBjaGVjayBpcyBmYWlsaW5nCisgICAgaWYgKHJlcXVlc3QuaGFzSFRUUE9yaWdpbigpICYmIHJl
cXVlc3QuaHR0cE9yaWdpbigpICE9ICBleGlzdGluZ1Jlc291cmNlLT5yZXNvdXJjZVJlcXVlc3Qo
KS5odHRwT3JpZ2luKCkpIHsKKyAgICAgICAgLy8gRG8gd2Ugd2FudCB0byBDT1JTIGNoZWNrIHJl
ZGlyZWN0aW9ucz8KKyAgICAgICAgaWYgKGV4aXN0aW5nUmVzb3VyY2UtPmhhc1JlZGlyZWN0aW9u
KCkpIHsKKyAgICAgICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJDYWNoZWRSZXNvdXJjZUxv
YWRlcjo6ZGV0ZXJtaW5lUmV2YWxpZGF0aW9uUG9saWN5IHJlbG9hZGluZyBkdWUgdG8gZGlmZmVy
ZW50IG9yaWdpbiIpOworICAgICAgICAgICAgcmV0dXJuIFJlbG9hZDsKKyAgICAgICAgfQorICAg
ICAgICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IG9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVh
dGVGcm9tU3RyaW5nKHJlcXVlc3QuaHR0cE9yaWdpbigpKTsKKyAgICAgICAgaWYgKCFleGlzdGlu
Z1Jlc291cmNlLT5wYXNzZXNBY2Nlc3NDb250cm9sQ2hlY2sob3JpZ2luLmdldCgpKSkgeworICAg
ICAgICAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNlTG9hZGVyOjpkZXRl
cm1pbmVSZXZhbGlkYXRpb25Qb2xpY3kgcmVsb2FkaW5nIGR1ZSB0byBkaWZmZXJlbnQgb3JpZ2lu
Iik7CisgICAgICAgICAgICByZXR1cm4gUmVsb2FkOworICAgICAgICB9CisgICAgfQorCiAgICAg
Ly8gRm9yIHJlc291cmNlcyB0aGF0IGFyZSBub3QgeWV0IGxvYWRlZCB3ZSBpZ25vcmUgdGhlIGNh
Y2hlIHBvbGljeS4KICAgICBpZiAoZXhpc3RpbmdSZXNvdXJjZS0+aXNMb2FkaW5nKCkpCiAgICAg
ICAgIHJldHVybiBVc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAppbmRleCAwOWQ4ZmIxMjBjZjViNzY0ZDU3MWIw
MTVmZTJiNDc5OTJhOTcyMzdlLi4xZjhmNTI4ZjczMmIwZmU1MTc4NGQ3OTdkYWI5OTFiN2RmZmFk
NDMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVxdWVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXF1ZXN0QmFzZS5jcHAKQEAgLTMzNyw2ICszMzcsMTEgQEAgdm9pZCBSZXNvdXJjZVJl
cXVlc3RCYXNlOjpjbGVhckhUVFBPcmlnaW4oKQogICAgICAgICBtX3BsYXRmb3JtUmVxdWVzdFVw
ZGF0ZWQgPSBmYWxzZTsKIH0KIAorYm9vbCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpoYXNIVFRQT3Jp
Z2luKCkgY29uc3QgCit7CisgICAgcmV0dXJuIGh0dHBIZWFkZXJGaWVsZHMoKS5jb250YWlucyhI
VFRQSGVhZGVyTmFtZTo6T3JpZ2luKTsKK30KKwogU3RyaW5nIFJlc291cmNlUmVxdWVzdEJhc2U6
Omh0dHBVc2VyQWdlbnQoKSBjb25zdAogewogICAgIHJldHVybiBodHRwSGVhZGVyRmllbGQoSFRU
UEhlYWRlck5hbWU6OlVzZXJBZ2VudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IGMyYzEzNGViOTJhMDM5M2Fl
MDE2ZDU1ZmQ0YmNmMDMwYTVjODdhN2UuLmEyMDA5MGJkNDdlZjQ2OTExZGUxNmM0MzkwMmE5NDA4
Mjg4OGZiYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXF1ZXN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXF1ZXN0QmFzZS5oCkBAIC0xMDYsNiArMTA2LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBTdHJpbmcgaHR0cE9yaWdpbigpIGNvbnN0OwogICAgICAgICB2b2lkIHNl
dEhUVFBPcmlnaW4oY29uc3QgU3RyaW5nJik7CiAgICAgICAgIHZvaWQgY2xlYXJIVFRQT3JpZ2lu
KCk7CisgICAgICAgIGJvb2wgaGFzSFRUUE9yaWdpbigpIGNvbnN0OwogCiAgICAgICAgIFN0cmlu
ZyBodHRwVXNlckFnZW50KCkgY29uc3Q7CiAgICAgICAgIHZvaWQgc2V0SFRUUFVzZXJBZ2VudChj
b25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjYzZlNDkxNDE3ZTgzN2I1M2VlMzA5MjQyMjFlNTVjNTVj
NDhmNzM5Li4zOWRmYzRjNWM1ZDJiYzFjZDQzOGVkMmY0OTdmOTY3YzI5MmU0MzRkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTQtMDktMDQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0
QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbQ1NTIFNoYXBlc10gU2FtZSBVUkwgZm9yIGRpc3Bs
YXkgYW5kIHNoYXBlLW91dHNpZGUgY2FuIGNhdXNlIENPUlMgcHJvYmxlbXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjY2NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS9jcm9zcy1vcmlnaW4tY2FjaGVkLXJlc291cmNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY2FjaGVkLXJlc291cmNlLXBh
cmFsbGVsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS9jcm9zcy1vcmlnaW4tY2FjaGVkLXJlc291cmNlLXBhcmFsbGVsLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNhY2hlZC1yZXNvdXJjZS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9hYmUt
YWxsb3ctaWYtb3JpZ2luLnBocDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLWNhY2hlZC1yZXNvdXJjZS1pZnJhbWUuaHRtbDogQWRk
ZWQuCisKIDIwMTQtMDktMDMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5v
bi5mcj4KIAogICAgICAgICBYTUxIdHRwUmVxdWVzdCBhbHdheXMgZGVmYXVsdHMgQ29udGVudC1U
eXBlIHRvIGFwcGxpY2F0aW9uL3htbCwgd2hpbGUgaXQgc2hvdWxkIGRlcGVuZCBvbiBkYXRhIHR5
cGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3Jp
Z2luLWNhY2hlZC1yZXNvdXJjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jYWNoZWQtcmVzb3VyY2UtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjBiMzUwZTcxZTJjNmEwMDk2MmEwMjM5NTliMTNiYWJlZTMxODM0YWEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1j
YWNoZWQtcmVzb3VyY2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3RzIHNvdXJj
ZSBvcmlnaW4gZGlmZmVyZW5jZSBmb3IgY2FjaGVkIHJlc291cmNlcy4KKworVHJ5aW5nIHRvIGxv
YWQgc2VxdWVudGlhbGx5IHRoZSBzYW1lIGltYWdlIGZyb20gdmFyaW91cyBvcmlnaW5zLgorQWxs
IGltYWdlcyBzaG91bGQgbG9hZC4KKworUEFTUzogbG9hZGVkIGltYWdlIGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvYWJlLWFsbG93LXN0YXIucGhwIGZyb20gaHR0cDov
L2xvY2FsaG9zdDo4MDAwCitQQVNTOiBsb2FkZWQgaW1hZ2UgaHR0cDovLzEyNy4wLjAuMTo4MDAw
L3NlY3VyaXR5L3Jlc291cmNlcy9hYmUtYWxsb3ctc3Rhci5waHAgZnJvbSBodHRwOi8vbG9jYWxo
b3N0OjgwODAKK1BBU1M6IGxvYWRlZCBpbWFnZSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJp
dHkvcmVzb3VyY2VzL2FiZS1hbGxvdy1pZi1vcmlnaW4ucGhwIGZyb20gaHR0cDovL2xvY2FsaG9z
dDo4MDAwCitQQVNTOiBsb2FkZWQgaW1hZ2UgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5
L3Jlc291cmNlcy9hYmUtYWxsb3ctaWYtb3JpZ2luLnBocCBmcm9tIGh0dHA6Ly9sb2NhbGhvc3Q6
ODA4MAorCisKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2Nyb3NzLW9yaWdpbi1jYWNoZWQtcmVzb3VyY2UtcGFyYWxsZWwtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY2FjaGVkLXJlc291cmNl
LXBhcmFsbGVsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTRjNzE5NTgwODc1OWY5YmQzMDAz
N2MzZjBmMzQ5OWQ5ZjllMTAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY2FjaGVkLXJlc291cmNlLXBhcmFsbGVsLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0cyBzb3VyY2Ugb3JpZ2luIGRpZmZlcmVuY2Ug
Zm9yIGNhY2hlZCByZXNvdXJjZXMuCisKK1RyeWluZyB0byBsb2FkIGluIHBhcmFsbGVsIHRoZSBz
YW1lIGltYWdlIGZyb20gdmFyaW91cyBvcmlnaW5zLgorCitBbGwgaW1hZ2VzIHNob3VsZCBsb2Fk
LgorCitQQVNTOiBsb2FkZWQgaW1hZ2UgZnJvbSBkb21haW4gMQorUEFTUzogbG9hZGVkIHNhbWUg
aW1hZ2UgZnJvbSBkb21haW4gMgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNhY2hlZC1yZXNvdXJjZS1wYXJhbGxlbC5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY2FjaGVkLXJlc291
cmNlLXBhcmFsbGVsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjQ0NzAxMjRhODE4NGYxMTk1ZDc2YjU0ZGI5
YjNhZWZiMjg1ZmQ5OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNhY2hlZC1yZXNvdXJjZS1wYXJhbGxlbC5odG1sCkBAIC0w
LDAgKzEsNDYgQEAKKzxodG1sPgorPGJvZHk+Cis8cD5UZXN0cyBzb3VyY2Ugb3JpZ2luIGRpZmZl
cmVuY2UgZm9yIGNhY2hlZCByZXNvdXJjZXMuPC9wPgorPHA+VHJ5aW5nIHRvIGxvYWQgaW4gcGFy
YWxsZWwgdGhlIHNhbWUgaW1hZ2UgZnJvbSB2YXJpb3VzIG9yaWdpbnMuPC9wPgorPHA+QWxsIGlt
YWdlcyBzaG91bGQgbG9hZC48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlw
dD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CisgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKworCitmdW5jdGlvbiBsb2cobWVz
c2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmlubmVySFRN
TCArPSBtZXNzYWdlICsgIjxici8+IjsKK30KKwordmFyIGNvdW50ZXIgPSAxOword2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBmdW5jdGlvbihldmVudCkgeworICAgIHZhciBpc09L
ID0gZXZlbnQuZGF0YS5pbmRleE9mKCJQQVNTIik9PTA7CisgICAgaWYgKGNvdW50ZXIrKyA9PSAx
KQorICAgICAgICBsb2coaXNPSyA/ICJQQVNTOiBsb2FkZWQgaW1hZ2UgZnJvbSBkb21haW4gMSIg
OiAiRkFJTDogbm90IGxvYWRlZCBpbWFnZSBmcm9tIGRvbWFpbiAxIik7CisgICAgZWxzZSB7Cisg
ICAgICAgIGxvZyhpc09LID8gIlBBU1M6IGxvYWRlZCBzYW1lIGltYWdlIGZyb20gZG9tYWluIDIi
IDogIkZBSUw6IG5vdCBsb2FkZWQgc2FtZSBpbWFnZSBmcm9tIGRvbWFpbiAyIik7CisgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOworICAgIH0KK30pOworCis8L3NjcmlwdD4KKworPGRpdj4KKyAgICA8IS0tIExvYWRpbmcg
aHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9hYmUtYWxsb3ctaWYtb3Jp
Z2luLnBocCNkZWxheT01MDAgZnJvbSBsb2NhbGhvc3Q6ODAwMC4gQ2FjaGVkIHJlc291cmNlIHNo
b3VsZCBiZSBjcmVhdGVkLiAtLT4KKyAgICA8aWZyYW1lIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4
MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tY2FjaGVkLXJlc291cmNlLWlmcmFt
ZS5odG1sI2h0dHAlM0ElMkYlMkYxMjcuMC4wLjElM0E4MDAwJTJGc2VjdXJpdHklMkZyZXNvdXJj
ZXMlMkZhYmUtYWxsb3ctaWYtb3JpZ2luLnBocCUyM2RlbGF5JTNENTAwIj48L2lmcmFtZT4KKzwv
ZGl2PgorCis8ZGl2PgorICAgIDwhLS0gTG9hZGluZyBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2Vj
dXJpdHkvcmVzb3VyY2VzL2FiZS1hbGxvdy1pZi1vcmlnaW4ucGhwI2RlbGF5PTUwMCBmcm9tIGxv
Y2FsaG9zdDo4MDgwLiBDYWNoZWQgcmVzb3VyY2UgKHByb2JhYmx5IG5vdCB5ZXQgbG9hZGVkKSBj
YW5ub3QgYmUgcmV1c2VkLCBhcyBjYWNoZWQgcmVzb3VyY2UgY2Fubm90IGJlIHVzZWQgYnkgbG9j
YWxob3N0OjgwODAuIC0tPgorICAgIDxpZnJhbWUgc3JjPSJodHRwOi8vbG9jYWxob3N0OjgwODAv
c2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi1jYWNoZWQtcmVzb3VyY2UtaWZyYW1lLmh0
bWwjaHR0cCUzQSUyRiUyRjEyNy4wLjAuMSUzQTgwMDAlMkZzZWN1cml0eSUyRnJlc291cmNlcyUy
RmFiZS1hbGxvdy1pZi1vcmlnaW4ucGhwJTIzZGVsYXklM0Q1MDAiPjwvaWZyYW1lPgorPC9kaXY+
CisKKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY2FjaGVkLXJlc291cmNlLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jYWNoZWQtcmVzb3VyY2UuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zZjYwMjdjYmFhZDRlMGJiNzFmYjM1MWY0NjhlOTdlNWZkNTZlOTQyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmln
aW4tY2FjaGVkLXJlc291cmNlLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPGh0bWw+Cis8Ym9keT4K
KzxwPlRlc3RzIHNvdXJjZSBvcmlnaW4gZGlmZmVyZW5jZSBmb3IgY2FjaGVkIHJlc291cmNlcy48
L3AKKzxwPlRyeWluZyB0byBsb2FkIHNlcXVlbnRpYWxseSB0aGUgc2FtZSBpbWFnZSBmcm9tIHZh
cmlvdXMgb3JpZ2lucy48L3A+Cis8cD5BbGwgaW1hZ2VzIHNob3VsZCBsb2FkLjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorCisKKworPGRpdj4KKyAgICA8IS0tIExvYWRpbmcgaHR0cDov
LzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9hYmUtYWxsb3ctc3Rhci5waHAgZnJv
bSBsb2NhbGhvc3Q6ODAwMC4gQ2FjaGVkIHJlc291cmNlIHNob3VsZCBiZSBjcmVhdGVkLiAtLT4K
KyAgICA8aWZyYW1lIGlkPSJpZnJhbWUxIj48L2lmcmFtZT4KKzwvZGl2PgorPGRpdj4KKyAgICA8
IS0tIExvYWRpbmcgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9hYmUt
YWxsb3ctc3Rhci5waHAgZnJvbSBsb2NhbGhvc3Q6ODA4MC4gQ2FjaGVkIHJlc291cmNlIGNhbiBi
ZSB1c2VkLiAtLT4KKyAgICA8aWZyYW1lIGlkPSJpZnJhbWUyIj48L2lmcmFtZT4KKzwvZGl2Pgor
Cis8ZGl2PgorICAgIDwhLS0gTG9hZGluZyBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkv
cmVzb3VyY2VzL2FiZS1hbGxvdy1pZi1vcmlnaW4ucGhwIGZyb20gbG9jYWxob3N0OjgwMDAuIENh
Y2hlZCByZXNvdXJjZSBzaG91bGQgYmUgY3JlYXRlZC4gLS0+CisgICAgPGlmcmFtZSBpZD0iaWZy
YW1lMyI+PC9pZnJhbWU+Cis8L2Rpdj4KKworPGRpdj4KKyAgICA8IS0tIExvYWRpbmcgaHR0cDov
LzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9hYmUtYWxsb3ctaWYtb3JpZ2luLnBo
cCBmcm9tIGxvY2FsaG9zdDo4MDgwLiBDYWNoZWQgcmVzb3VyY2UgY2Fubm90IGJlIHVzZWQgYXMg
bG9jYWxob3N0OjgwODAgd2lsbCBub3QgcGFzcyByZXNvdXJjZSBDT1JTIGNoZWNrLiAtLT4KKyAg
ICA8aWZyYW1lIGlkPSJpZnJhbWU0Ij48L2lmcmFtZT4KKzwvZGl2PgorCisKKzxzY3JpcHQ+Citp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9CisKKworZnVuY3Rpb24gbG9nKG1lc3NhZ2Up
Cit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5pbm5lckhUTUwgKz0g
bWVzc2FnZSArICI8YnIvPiI7Cit9CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdl
IiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBsb2coZXZlbnQuZGF0YSk7CisgICAgbG9hZE5leHRG
cmFtZSgpOworfSk7CisKK3ZhciBjb3VudGVyID0gMDsKK2Z1bmN0aW9uIGxvYWROZXh0RnJhbWUo
KQoreworICAgIGNvdW50ZXIrKzsKKyAgICBpZiAoY291bnRlciA9PSAxKQorICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lMScpLnNyYyA9ICJodHRwOi8vbG9jYWxob3N0Ojgw
MDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi1jYWNoZWQtcmVzb3VyY2UtaWZyYW1l
Lmh0bWwjaHR0cCUzQSUyRiUyRjEyNy4wLjAuMSUzQTgwMDAlMkZzZWN1cml0eSUyRnJlc291cmNl
cyUyRmFiZS1hbGxvdy1zdGFyLnBocCI7CisgICAgZWxzZSBpZiAoY291bnRlciA9PSAyKQorICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lMicpLnNyYyA9ICJodHRwOi8vbG9j
YWxob3N0OjgwODAvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi1jYWNoZWQtcmVzb3Vy
Y2UtaWZyYW1lLmh0bWwjaHR0cCUzQSUyRiUyRjEyNy4wLjAuMSUzQTgwMDAlMkZzZWN1cml0eSUy
RnJlc291cmNlcyUyRmFiZS1hbGxvdy1zdGFyLnBocCI7CisgICAgZWxzZSBpZiAoY291bnRlciA9
PSAzKQorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lMycpLnNyYyA9ICJo
dHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi1jYWNo
ZWQtcmVzb3VyY2UtaWZyYW1lLmh0bWwjaHR0cCUzQSUyRiUyRjEyNy4wLjAuMSUzQTgwMDAlMkZz
ZWN1cml0eSUyRnJlc291cmNlcyUyRmFiZS1hbGxvdy1pZi1vcmlnaW4ucGhwIjsKKyAgICBlbHNl
IGlmIChjb3VudGVyID09IDQpCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJh
bWU0Jykuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9zZWN1cml0eS9yZXNvdXJjZXMvY3Jv
c3Mtb3JpZ2luLWNhY2hlZC1yZXNvdXJjZS1pZnJhbWUuaHRtbCNodHRwJTNBJTJGJTJGMTI3LjAu
MC4xJTNBODAwMCUyRnNlY3VyaXR5JTJGcmVzb3VyY2VzJTJGYWJlLWFsbG93LWlmLW9yaWdpbi5w
aHAiOworICAgIGVsc2UgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKK30KKworbG9hZE5leHRGcmFtZSgpOworPC9zY3JpcHQ+CisKKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
cmVzb3VyY2VzL2FiZS1hbGxvdy1pZi1vcmlnaW4ucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9yZXNvdXJjZXMvYWJlLWFsbG93LWlmLW9yaWdpbi5waHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Njg4YWM5ZDNmYTYzNGUwZGI2ZGNjZGVkZmNmZTlkY2UxNzM5YWM1YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2FiZS1hbGxvdy1p
Zi1vcmlnaW4ucGhwCkBAIC0wLDAgKzEsMTkgQEAKKzw/cGhwCisKKyRkZWxheSA9ICRfR0VUWydk
ZWxheSddOworaWYgKGlzc2V0KCRkZWxheSkpCisgICAgdXNsZWVwKCRkZWxheSk7CisKK2lmICgk
X1NFUlZFUlsiSFRUUF9PUklHSU4iXSkKKyAgICBoZWFkZXIoIkFjY2Vzcy1Db250cm9sLUFsbG93
LU9yaWdpbjogIiAuICRfU0VSVkVSWyJIVFRQX09SSUdJTiJdKTsKKworaGVhZGVyKCJDYWNoZS1D
b250cm9sOiBtYXgtYWdlPTEwMCIpOworJG5hbWUgPSAnYWJlLnBuZyc7CiskZnAgPSBmb3Blbigk
bmFtZSwgJ3JiJyk7CitoZWFkZXIoIlZhcnk6IE9yaWdpbiIpOworaGVhZGVyKCJDb250ZW50LVR5
cGU6IGltYWdlL3BuZyIpOworaGVhZGVyKCJDb250ZW50LUxlbmd0aDogIiAuIGZpbGVzaXplKCRu
YW1lKSk7CisKK2ZwYXNzdGhydSgkZnApOworZXhpdDsKKz8+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tY2FjaGVkLXJl
c291cmNlLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNv
dXJjZXMvY3Jvc3Mtb3JpZ2luLWNhY2hlZC1yZXNvdXJjZS1pZnJhbWUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jYTk5YjgxOWY1ZmRlOTY5YjA0ZmJlOWY0MzdkZDQ0ZTBhNTIyNmVkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3Mtb3Jp
Z2luLWNhY2hlZC1yZXNvdXJjZS1pZnJhbWUuaHRtbApAQCAtMCwwICsxLDE5IEBACis8aHRtbD4K
Kzxib2R5PgorCis8aW1nIGlkPSJpbWciIGNyb3NzT3JpZ2luPSJBbm9ueW1vdXMiIG9ubG9hZD0i
aW1hZ2VMb2FkU3VjY2VlZGVkKCkiIG9uZXJyb3I9ImltYWdlTG9hZEZhaWxlZCgpIi8+Cis8c2Ny
aXB0PgorZnVuY3Rpb24gaW1hZ2VMb2FkU3VjY2VlZGVkKCkKK3sKKyAgICBtc2cgPSAiUEFTUzog
bG9hZGVkIGltYWdlICIgKyBpbWcuc3JjICsgIiBmcm9tICIgKyB3aW5kb3cubG9jYXRpb24ucHJv
dG9jb2wgKyAiLy8iICsgd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lICsgIjoiICsgd2luZG93Lmxv
Y2F0aW9uLnBvcnQ7CisgICAgcGFyZW50LnBvc3RNZXNzYWdlKG1zZywgIioiKTsKK30KK2Z1bmN0
aW9uIGltYWdlTG9hZEZhaWxlZCgpCit7CisgICAgbXNnID0gIkZBSUw6IGxvYWRlZCBpbWFnZSAi
ICsgaW1nLnNyYyArICIgZnJvbSAiICsgd2luZG93LmxvY2F0aW9uLnByb3RvY29sICsgIi8vIiAr
IHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSArICI6IiArIHdpbmRvdy5sb2NhdGlvbi5wb3J0Owor
ICAgIHBhcmVudC5wb3N0TWVzc2FnZShtc2csICIqIik7Cit9Citkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnaW1nJykuc3JjID0gZGVjb2RlVVJJQ29tcG9uZW50KHdpbmRvdy5sb2NhdGlvbi5oYXNo
LnN1YnN0cmluZygxKSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>