<?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>161692</bug_id>
          
          <creation_ts>2016-09-07 09:21:56 -0700</creation_ts>
          <short_desc>Drop legacy canvas.probablySupportsContext()</short_desc>
          <delta_ts>2016-09-07 10:23:49 -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>Canvas</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>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rniwa</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1227192</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-07 09:21:56 -0700</bug_when>
    <thetext>Drop legacy canvas.probablySupportsContext() as it is no longer in the specification:
- https://html.spec.whatwg.org/#htmlcanvaselement

Firefox and Chrome do not support canvas.probablySupportsContext().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1227210</commentid>
    <comment_count>1</comment_count>
      <attachid>288150</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-07 09:42:46 -0700</bug_when>
    <thetext>Created attachment 288150
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1227242</commentid>
    <comment_count>2</comment_count>
      <attachid>288150</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-07 10:23:44 -0700</bug_when>
    <thetext>Comment on attachment 288150
Patch

Clearing flags on attachment: 288150

Committed r205554: &lt;http://trac.webkit.org/changeset/205554&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1227243</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-07 10:23:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288150</attachid>
            <date>2016-09-07 09:42:46 -0700</date>
            <delta_ts>2016-09-07 10:23:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161692-20160907094022.patch</filename>
            <type>text/plain</type>
            <size>22077</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1NTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODRmNDA5MTEwZWJkY2Fl
YTYwM2RkMjU2MWUxNzI0MWZjMDYxZGRkMy4uYTkwNGNlMTE4NDRkZGQzZWY5OWRmYWIxOGFlMmQw
N2VmNWE5ZmYwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE2LTA5LTA3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJvcCBsZWdhY3kgY2FudmFz
LnByb2JhYmx5U3VwcG9ydHNDb250ZXh0KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2MTY5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIERyb3AgbGVnYWN5IGNhbnZhcy5wcm9iYWJseVN1cHBvcnRzQ29u
dGV4dCgpIGFzIGl0IGlzIG5vIGxvbmdlciBpbiB0aGUgc3BlY2lmaWNhdGlvbjoKKyAgICAgICAg
LSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNodG1sY2FudmFzZWxlbWVudAorCisgICAg
ICAgIEZpcmVmb3ggYW5kIENocm9tZSBkbyBub3Qgc3VwcG9ydCBjYW52YXMucHJvYmFibHlTdXBw
b3J0c0NvbnRleHQoKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHJlYmFzZWxpbmVkIGV4aXN0
aW5nIHRlc3QuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxDYW52YXNFbGVtZW50Q3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OnByb2JhYmx5
U3VwcG9ydHNDb250ZXh0KTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDYW52YXNFbGVtZW50Ojpwcm9iYWJseVN1cHBvcnRz
Q29udGV4dCk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oOgor
ICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuaWRsOgorCiAyMDE2LTA5LTA3ICBDYXJs
b3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBD
cmFzaCBvZiBXZWJQcm9jZXNzIG9uIHRoZSBsYXN0IFdlYlZpZXcgZGlzY29ubmVjdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9DaGFuZ2VMb2cKaW5kZXggOTkzZTFjYzI2Yzc5OTBkZjgxZjFlYjhkZTk2YzM4MzEyNWUz
N2JmZS4uNDFiMWFmNzgyZjdmMTFjOGUwYmM2Njk4ODBjZGI0MGUzZjRjZjk1YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMDktMDcgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIGxlZ2FjeSBjYW52YXMucHJvYmFi
bHlTdXBwb3J0c0NvbnRleHQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTYxNjkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9OYXRpdmVGdW5jdGlvblBhcmFtZXRl
cnMuanM6CisKIDIwMTYtMDktMDYgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBdm9pZCBsaW5raWZ5aW5nIHNvbWUgc2NoZW1l
cyBpbiBjb25zb2xlIGxvZ3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTSFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKaW5kZXggMDdiNjM4YzIzYTkyNjM4NzEy
ZDVjZDZlNmQzYmE5MzZkY2IwNzNjNi4uZjFhYjc5ZmE4M2YxMmE4ZWRlNDZhYzg2NDg2NjZkYWY4
NTA1ZjQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2Fu
dmFzRWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNI
VE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKQEAgLTEwMCwzMSArMTAwLDYgQEAgSlNWYWx1ZSBK
U0hUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KEV4ZWNTdGF0ZSYgc3RhdGUpCiAgICAgcmV0
dXJuIHRvSlMoJnN0YXRlLCBnbG9iYWxPYmplY3QoKSwgZG93bmNhc3Q8Q2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEPigqY29udGV4dCkpOwogfQogCi1KU1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6
OnByb2JhYmx5U3VwcG9ydHNDb250ZXh0KEV4ZWNTdGF0ZSYgc3RhdGUpCi17Ci0gICAgVk0mIHZt
ID0gc3RhdGUudm0oKTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
Ci0KLSAgICBpZiAoVU5MSUtFTFkoc3RhdGUuYXJndW1lbnRDb3VudCgpIDwgMSkpCi0gICAgICAg
IHJldHVybiB0aHJvd0V4Y2VwdGlvbigmc3RhdGUsIHNjb3BlLCBjcmVhdGVOb3RFbm91Z2hBcmd1
bWVudHNFcnJvcigmc3RhdGUpKTsKLQotICAgIEhUTUxDYW52YXNFbGVtZW50JiBjYW52YXMgPSB3
cmFwcGVkKCk7Ci0gICAgY29uc3QgU3RyaW5nJiBjb250ZXh0SWQgPSBzdGF0ZS51bmNoZWNrZWRB
cmd1bWVudCgwKS50b1dURlN0cmluZygmc3RhdGUpOwotICAgIGlmIChzdGF0ZS5oYWRFeGNlcHRp
b24oKSkKLSAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0gICAgCi0gICAgUmVmUHRyPENh
bnZhc0NvbnRleHRBdHRyaWJ1dGVzPiBhdHRyczsKLSNpZiBFTkFCTEUoV0VCR0wpCi0gICAgaWYg
KEhUTUxDYW52YXNFbGVtZW50OjppczNkVHlwZShjb250ZXh0SWQpKSB7Ci0gICAgICAgIGdldDNE
Q29udGV4dEF0dHJpYnV0ZXMoc3RhdGUsIGF0dHJzKTsKLSAgICAgICAgaWYgKHN0YXRlLmhhZEV4
Y2VwdGlvbigpKQotICAgICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci0gICAgfQotI2Vu
ZGlmCi0gICAgCi0gICAgcmV0dXJuIGpzQm9vbGVhbihjYW52YXMucHJvYmFibHlTdXBwb3J0c0Nv
bnRleHQoY29udGV4dElkLCBhdHRycy5nZXQoKSkpOwotfQotCiBKU1ZhbHVlIEpTSFRNTENhbnZh
c0VsZW1lbnQ6OnRvRGF0YVVSTChFeGVjU3RhdGUmIHN0YXRlKQogewogICAgIEhUTUxDYW52YXNF
bGVtZW50JiBjYW52YXMgPSB3cmFwcGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZh
c0VsZW1lbnQuY3BwCmluZGV4IDE5N2U0NmU0MDk1MjYxY2FmMTNkMjRjN2JkYWIzY2E0MDNiYTUx
MjYuLmIxYzQwNTE0Y2Q0MTEyNjQ2OGM2NGQ0ZDliYmU1OWJhMjRjZjI5M2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCkBAIC0yNjEsMjIgKzI2MSw2IEBAIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQqIEhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KGNvbnN0
IFN0cmluZyYgdHlwZSwgQ2FudmFzCiAjZW5kaWYKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KLSAg
ICAKLWJvb2wgSFRNTENhbnZhc0VsZW1lbnQ6OnByb2JhYmx5U3VwcG9ydHNDb250ZXh0KGNvbnN0
IFN0cmluZyYgdHlwZSwgQ2FudmFzQ29udGV4dEF0dHJpYnV0ZXMqKQotewotICAgIC8vIEZJWE1F
OiBQcm92aWRlIGltcGxlbWVudGF0aW9uIHRoYXQgYWNjb3VudHMgZm9yIGF0dHJpYnV0ZXMuCi0g
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzA5MwotICAg
IGlmIChpczJkVHlwZSh0eXBlKSkKLSAgICAgICAgcmV0dXJuICFtX2NvbnRleHQgfHwgbV9jb250
ZXh0LT5pczJkKCk7Ci0KLSNpZiBFTkFCTEUoV0VCR0wpCi0gICAgaWYgKHNob3VsZEVuYWJsZVdl
YkdMKGRvY3VtZW50KCkuc2V0dGluZ3MoKSkpIHsKLSAgICAgICAgaWYgKGlzM2RUeXBlKHR5cGUp
KQotICAgICAgICAgICAgcmV0dXJuICFtX2NvbnRleHQgfHwgbV9jb250ZXh0LT5pczNkKCk7Ci0g
ICAgfQotI2VuZGlmCi0gICAgcmV0dXJuIGZhbHNlOwotfQogCiBib29sIEhUTUxDYW52YXNFbGVt
ZW50OjppczJkVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxDYW52YXNFbGVtZW50LmgKaW5kZXggMTZjMmM3NjAxODdlNjAzMDJiMDc2NzM3NjJiNjIwNzgw
MTVlZDIyZS4uNDRhZTZhNjVkZDU4M2U2MmE1Y2UxYTNlYWRlZmZiYTc5ZTVjNTVhMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaApAQCAtODYsNyArODYsNiBAQCBwdWJs
aWM6CiAgICAgfQogCiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCogZ2V0Q29udGV4dChjb25z
dCBTdHJpbmcmLCBDYW52YXNDb250ZXh0QXR0cmlidXRlcyogPSBudWxscHRyKTsKLSAgICBib29s
IHByb2JhYmx5U3VwcG9ydHNDb250ZXh0KGNvbnN0IFN0cmluZyYsIENhbnZhc0NvbnRleHRBdHRy
aWJ1dGVzKiA9IG51bGxwdHIpOwogICAgIHN0YXRpYyBib29sIGlzMmRUeXBlKGNvbnN0IFN0cmlu
ZyYpOwogI2lmIEVOQUJMRShXRUJHTCkKICAgICBzdGF0aWMgYm9vbCBpczNkVHlwZShjb25zdCBT
dHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1l
bnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5pZGwKaW5kZXgg
ZmUzYzdhMTU1YmIzZDJhNzY5Mjk2MTA4MzA3NWFhMjdiZDI1Y2UwYS4uMTZmYjQwYzhmZTIyNTY4
ZTc3YmFlZWM5NTg5M2M3ZWQxNTljYTg1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQ2FudmFzRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2Fu
dmFzRWxlbWVudC5pZGwKQEAgLTM2LDYgKzM2LDUgQEAKIAogICAgIC8vIFRoZSBjdXN0b20gYmlu
ZGluZyBpcyBuZWVkZWQgdG8gaGFuZGxlIGNvbnRleHQgY3JlYXRpb24gYXR0cmlidXRlcy4KICAg
ICBbQ3VzdG9tXSBhbnkgZ2V0Q29udGV4dChET01TdHJpbmcgY29udGV4dElkLCBhbnkuLi4gYXJn
dW1lbnRzKTsKLSAgICBbQ3VzdG9tXSBib29sZWFuIHByb2JhYmx5U3VwcG9ydHNDb250ZXh0KERP
TVN0cmluZyBjb250ZXh0SWQsIGFueS4uLiBhcmd1bWVudHMpOwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9u
UGFyYW1ldGVycy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVs
cy9OYXRpdmVGdW5jdGlvblBhcmFtZXRlcnMuanMKaW5kZXggYjcxY2NjNThjNTNiZmUwNWFmOThl
OTIwOTMxNDEzOTYzNzFlMjJlOS4uYjI1YTJjNDM1YWI1MmMxODFiZjg5ZDNlNjJjYTE3MDM1YWU5
OWE1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9k
ZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Nb2RlbHMvTmF0aXZlRnVuY3Rpb25QYXJhbWV0ZXJzLmpzCkBAIC04
NzIsNyArODcyLDYgQEAgV2ViSW5zcGVjdG9yLk5hdGl2ZVByb3RvdHlwZUZ1bmN0aW9uUGFyYW1l
dGVycyA9IHsKIAogICAgIEhUTUxDYW52YXNFbGVtZW50OiB7CiAgICAgICAgIGdldENvbnRleHQ6
ICJjb250ZXh0SWQiLAotICAgICAgICBwcm9iYWJseVN1cHBvcnRzQ29udGV4dDogImNvbnRleHRJ
ZCIsCiAgICAgICAgIHRvRGF0YVVSTDogIlt0eXBlXSIsCiAgICAgICAgIF9fcHJvdG9fXzogbnVs
bCwKICAgICB9LApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDZhMjY2NmVkOWY0MTAxYTc1ODQ3ZDY5MWIwMTAxNmY3NTNjZWY0
YjUuLjg1MjVmZGE3M2VhMTNmZTMyYzNjYzhjNDgzNWUzY2I4MDE5MjU0OGEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxNi0wOS0wNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIERyb3AgbGVnYWN5IGNhbnZhcy5wcm9iYWJseVN1cHBvcnRzQ29udGV4dCgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE2OTIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIGxlZ2Fj
eSBsYXlvdXQgdGVzdC4KKworICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL2NhbnZhcy1zdXBw
b3J0cy1jb250ZXh0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZh
cy93ZWJnbC9jYW52YXMtc3VwcG9ydHMtY29udGV4dC5odG1sOiBSZW1vdmVkLgorCiAyMDE2LTA5
LTA3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2luZyB0
ZXN0cy1vcHRpb25zLmpzb24gdG8gY29tcHV0ZSB3aGV0aGVyIHRlc3RzIGFyZSBzbG93CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBiOWE0YWEzMTEyNWNkMmExNzQzNGVlZDg0NmI3
NjRhNjRmYTEzNTk4Li4zZjUxN2JkNzJiOTFmNmZmODlmYjI2MTBhZGQ2ZTIyYTc5ZjAzOTUwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0wOS0w
NyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3AgbGVnYWN5
IGNhbnZhcy5wcm9iYWJseVN1cHBvcnRzQ29udGV4dCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE2OTIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWJhc2VsaW5lIFczQyB0ZXN0IG5vdyB0aGF0IG9u
ZSBtb3JlIGNoZWNrIGlzIHBhc3NpbmcuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtY2FudmFzLWVsZW1lbnQvaGlzdG9y
aWNhbC1leHBlY3RlZC50eHQ6CisKIDIwMTYtMDktMDYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgaW5wdXQubWluTGVuZ3RoIC8gdGV4
dEFyZWEubWluTGVuZ3RoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC9jYW52YXMtc3VwcG9ydHMtY29udGV4dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9jYW52YXMtc3VwcG9ydHMtY29udGV4dC1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzZDIxMTljMjRlOWVhMjAzODU4MDdlYmVhM2NmYzAz
MDdjZmUxODYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY2FudmFzLXN1cHBvcnRzLWNvbnRleHQtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIxICswLDAgQEAKLVRoaXMgdGVzdCBlbnN1
cmVzIFdlYkdMIGltcGxlbWVudGF0aW9ucyBpbnRlcmFjdCBjb3JyZWN0bHkgd2l0aCB0aGUgY2Fu
dmFzIHRhZydzIHByb2JhYmx5U3VwcG9ydHNDb250ZXh0IGZ1bmN0aW9uLCB0aGF0IGdldENvbnRl
eHQgYW5kIHByb2JhYmx5U3VwcG9ydHNDb250ZXh0IGFyZSBpbXBsZW1lbnRlZCBjb25zaXN0ZW50
bHkgd2l0aCBvbmUgYW5vdGhlciwgYW5kIHRoYXQgbWFsZm9ybWVkIHBhcmFtZXRlcnMgdG8gcHJv
YmFibHlTdXBwb3J0c0NvbnRleHQgYXJlIGhhbmRsZWQgY29ycmVjdGx5LgotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotQ2FudmFzLnByb2JhYmx5U3VwcG9ydHNDb250ZXh0KCcyZCcp
Ci0KLVBBU1MgcHJvYmFibHlTdXBwb3J0c0NvbnRleHQoJzJkJykgaXMgY29uc2lzdGVudCB3aXRo
IGdldENvbnRleHQoJzJkJykKLVBBU1MgcHJvYmFibHlTdXBwb3J0c0NvbnRleHQoJzJkJykgcmV0
dXJucyB0cnVlCi1QQVNTIGdldENvbnRleHQoJzJkJykgcmV0dXJucyB0cnVlIChjb250ZXh0IGV4
aXN0cykKLVRlc3RpbmcgZ2V0Q29udGV4dCBhbmQgcHJvYmFibHlTdXBwb3J0c0NvbnRleHQoJzJk
JykgYWZ0ZXIgYSBjb250ZXh0IGlzIGNyZWF0ZWQKLVBBU1MgcHJvYmFibHlTdXBwb3J0c0NvbnRl
eHQoJzJkJykgcmV0dXJucyB0cnVlCi1QQVNTIHByb2JhYmx5U3VwcG9ydHNDb250ZXh0KCd3ZWJr
aXQtM2QnKSByZXR1cm5zIGZhbHNlCi1QQVNTIHdlYmtpdC0zZCBjb250ZXh0IGRvZXMgbm90IGV4
aXN0Ci0KLVdlYkdMIGRpc2FibGVkCi0KLUNhbnZhcy5wcm9iYWJseVN1cHBvcnRzQ29udGV4dCgn
d2Via2l0LTNkJykKLQotUEFTUyBwcm9iYWJseVN1cHBvcnRzQ29udGV4dCgnd2Via2l0LTNkJykg
aXMgY29uc2lzdGVudCB3aXRoIGdldENvbnRleHQoJ3dlYmtpdC0zZCcpCi1GQUlMIHByb2JhYmx5
U3VwcG9ydHNDb250ZXh0KCd3ZWJraXQtM2QnKSByZXR1cm5zIGZhbHNlCi1GQUlMIGdldENvbnRl
eHQoJ3dlYmtpdC0zZCcpIHJldHVybnMgZmFsc2UgKGNvbnRleHQgZG9lcyBub3QgZXhpc3QpCi0K
LUNhbnZhcy5wcm9iYWJseVN1cHBvcnRzQ29udGV4dCgnZXhwZXJpbWVudGFsLXdlYmdsJykKLQot
UEFTUyBwcm9iYWJseVN1cHBvcnRzQ29udGV4dCgnZXhwZXJpbWVudGFsLXdlYmdsJykgaXMgY29u
c2lzdGVudCB3aXRoIGdldENvbnRleHQoJ2V4cGVyaW1lbnRhbC13ZWJnbCcpCi1GQUlMIHByb2Jh
Ymx5U3VwcG9ydHNDb250ZXh0KCdleHBlcmltZW50YWwtd2ViZ2wnKSByZXR1cm5zIGZhbHNlCi1G
QUlMIGdldENvbnRleHQoJ2V4cGVyaW1lbnRhbC13ZWJnbCcpIHJldHVybnMgZmFsc2UgKGNvbnRl
eHQgZG9lcyBub3QgZXhpc3QpCi0KLUNhbnZhcy5wcm9iYWJseVN1cHBvcnRzQ29udGV4dCgnbW96
LXdlYmdsJykKLQotUEFTUyBwcm9iYWJseVN1cHBvcnRzQ29udGV4dCgnbW96LXdlYmdsJykgaXMg
Y29uc2lzdGVudCB3aXRoIGdldENvbnRleHQoJ21vei13ZWJnbCcpCi1GQUlMIHByb2JhYmx5U3Vw
cG9ydHNDb250ZXh0KCdtb3otd2ViZ2wnKSByZXR1cm5zIGZhbHNlCi1GQUlMIGdldENvbnRleHQo
J21vei13ZWJnbCcpIHJldHVybnMgZmFsc2UgKGNvbnRleHQgZG9lcyBub3QgZXhpc3QpCi0KLVdl
YkdMIGVuYWJsZWQKLQotQ2FudmFzLnByb2JhYmx5U3VwcG9ydHNDb250ZXh0KCd3ZWJraXQtM2Qn
KQotCi1QQVNTIHByb2JhYmx5U3VwcG9ydHNDb250ZXh0KCd3ZWJraXQtM2QnKSBpcyBjb25zaXN0
ZW50IHdpdGggZ2V0Q29udGV4dCgnd2Via2l0LTNkJykKLVBBU1MgcHJvYmFibHlTdXBwb3J0c0Nv
bnRleHQoJ3dlYmtpdC0zZCcpIHJldHVybnMgdHJ1ZQotUEFTUyBnZXRDb250ZXh0KCd3ZWJraXQt
M2QnKSByZXR1cm5zIHRydWUgKGNvbnRleHQgZXhpc3RzKQotVGVzdGluZyBnZXRDb250ZXh0IGFu
ZCBwcm9iYWJseVN1cHBvcnRzQ29udGV4dCgnd2Via2l0LTNkJykgYWZ0ZXIgYSBjb250ZXh0IGlz
IGNyZWF0ZWQKLVBBU1MgcHJvYmFibHlTdXBwb3J0c0NvbnRleHQoJ3dlYmtpdC0zZCcpIHJldHVy
bnMgdHJ1ZQotUEFTUyBwcm9iYWJseVN1cHBvcnRzQ29udGV4dCgnMmQnKSByZXR1cm5zIGZhbHNl
Ci1QQVNTIDJkIGNvbnRleHQgZG9lcyBub3QgZXhpc3QKLQotQ2FudmFzLnByb2JhYmx5U3VwcG9y
dHNDb250ZXh0KCdleHBlcmltZW50YWwtd2ViZ2wnKQotCi1QQVNTIHByb2JhYmx5U3VwcG9ydHND
b250ZXh0KCdleHBlcmltZW50YWwtd2ViZ2wnKSBpcyBjb25zaXN0ZW50IHdpdGggZ2V0Q29udGV4
dCgnZXhwZXJpbWVudGFsLXdlYmdsJykKLVBBU1MgcHJvYmFibHlTdXBwb3J0c0NvbnRleHQoJ2V4
cGVyaW1lbnRhbC13ZWJnbCcpIHJldHVybnMgdHJ1ZQotUEFTUyBnZXRDb250ZXh0KCdleHBlcmlt
ZW50YWwtd2ViZ2wnKSByZXR1cm5zIHRydWUgKGNvbnRleHQgZXhpc3RzKQotVGVzdGluZyBnZXRD
b250ZXh0IGFuZCBwcm9iYWJseVN1cHBvcnRzQ29udGV4dCgnZXhwZXJpbWVudGFsLXdlYmdsJykg
YWZ0ZXIgYSBjb250ZXh0IGlzIGNyZWF0ZWQKLVBBU1MgcHJvYmFibHlTdXBwb3J0c0NvbnRleHQo
J2V4cGVyaW1lbnRhbC13ZWJnbCcpIHJldHVybnMgdHJ1ZQotUEFTUyBwcm9iYWJseVN1cHBvcnRz
Q29udGV4dCgnMmQnKSByZXR1cm5zIGZhbHNlCi1QQVNTIDJkIGNvbnRleHQgZG9lcyBub3QgZXhp
c3QKLQotQ2FudmFzLnByb2JhYmx5U3VwcG9ydHNDb250ZXh0KCdtb3otd2ViZ2wnKQotCi1QQVNT
IHByb2JhYmx5U3VwcG9ydHNDb250ZXh0KCdtb3otd2ViZ2wnKSBpcyBjb25zaXN0ZW50IHdpdGgg
Z2V0Q29udGV4dCgnbW96LXdlYmdsJykKLUZBSUwgcHJvYmFibHlTdXBwb3J0c0NvbnRleHQoJ21v
ei13ZWJnbCcpIHJldHVybnMgZmFsc2UKLUZBSUwgZ2V0Q29udGV4dCgnbW96LXdlYmdsJykgcmV0
dXJucyBmYWxzZSAoY29udGV4dCBkb2VzIG5vdCBleGlzdCkKLQotVGVzdGluZyBtYWxmb3JtZWQg
YXR0cmlidXRlcyB0aGF0IGNhdXNlIHByb2JhYmx5U3VwcG9ydHNDb250ZXh0IGFuZCBnZXRDb250
ZXh0IHRvIGJlIHVuZGVmaW5lZAotCi1jYW52YXMucHJvYmFibHlTdXBwb3J0c0NvbnRleHQoJ3dl
YmtpdC0zZCcgLHsgZ2V0IGFscGhhKCkgeyB0aHJvdyAnVGVzdCBhbHBoYSBFcnJvcic7IH0gfSkK
LQotUEFTUyBzdXBwb3J0cyBpcyB1bmRlZmluZWQKLVBBU1MgY29udGV4dCBpcyB1bmRlZmluZWQK
LVBBU1MgcHJvYmFibHlTdXBwb3J0c0NvbnRleHQoJ3dlYmtpdC0zZCcgLHsgZ2V0IGFscGhhKCkg
eyB0aHJvdyAnVGVzdCBhbHBoYSBFcnJvcic7IH0gfSkgaXMgY29uc2lzdGVudCB3aXRoIGdldENv
bnRleHQoJ3dlYmtpdC0zZCcgLHsgZ2V0IGFscGhhKCkgeyB0aHJvdyAnVGVzdCBhbHBoYSBFcnJv
cic7IH0gfSkKLUZBSUwgcHJvYmFibHlTdXBwb3J0c0NvbnRleHQoJ3dlYmtpdC0zZCcgLHsgZ2V0
IGFscGhhKCkgeyB0aHJvdyAnVGVzdCBhbHBoYSBFcnJvcic7IH0gfSkgcmV0dXJucyBmYWxzZQot
RkFJTCBnZXRDb250ZXh0KCd3ZWJraXQtM2QnICx7IGdldCBhbHBoYSgpIHsgdGhyb3cgJ1Rlc3Qg
YWxwaGEgRXJyb3InOyB9IH0pIHJldHVybnMgZmFsc2UgKGNvbnRleHQgZG9lcyBub3QgZXhpc3Qp
Ci0KLWNhbnZhcy5wcm9iYWJseVN1cHBvcnRzQ29udGV4dCgnd2Via2l0LTNkJyAseyBnZXQgZGVw
dGgoKSB7IHRocm93ICdUZXN0IGRlcHRoIEVycm9yJzsgfSB9KQotCi1QQVNTIHN1cHBvcnRzIGlz
IHVuZGVmaW5lZAotUEFTUyBjb250ZXh0IGlzIHVuZGVmaW5lZAotUEFTUyBwcm9iYWJseVN1cHBv
cnRzQ29udGV4dCgnd2Via2l0LTNkJyAseyBnZXQgZGVwdGgoKSB7IHRocm93ICdUZXN0IGRlcHRo
IEVycm9yJzsgfSB9KSBpcyBjb25zaXN0ZW50IHdpdGggZ2V0Q29udGV4dCgnd2Via2l0LTNkJyAs
eyBnZXQgZGVwdGgoKSB7IHRocm93ICdUZXN0IGRlcHRoIEVycm9yJzsgfSB9KQotRkFJTCBwcm9i
YWJseVN1cHBvcnRzQ29udGV4dCgnd2Via2l0LTNkJyAseyBnZXQgZGVwdGgoKSB7IHRocm93ICdU
ZXN0IGRlcHRoIEVycm9yJzsgfSB9KSByZXR1cm5zIGZhbHNlCi1GQUlMIGdldENvbnRleHQoJ3dl
YmtpdC0zZCcgLHsgZ2V0IGRlcHRoKCkgeyB0aHJvdyAnVGVzdCBkZXB0aCBFcnJvcic7IH0gfSkg
cmV0dXJucyBmYWxzZSAoY29udGV4dCBkb2VzIG5vdCBleGlzdCkKLQotY2FudmFzLnByb2JhYmx5
U3VwcG9ydHNDb250ZXh0KCd3ZWJraXQtM2QnICx7IGdldCBzdGVuY2lsKCkgeyB0aHJvdyAnVGVz
dCBzdGVuY2lsIEVycm9yJzsgfSB9KQotCi1QQVNTIHN1cHBvcnRzIGlzIHVuZGVmaW5lZAotUEFT
UyBjb250ZXh0IGlzIHVuZGVmaW5lZAotUEFTUyBwcm9iYWJseVN1cHBvcnRzQ29udGV4dCgnd2Vi
a2l0LTNkJyAseyBnZXQgc3RlbmNpbCgpIHsgdGhyb3cgJ1Rlc3Qgc3RlbmNpbCBFcnJvcic7IH0g
fSkgaXMgY29uc2lzdGVudCB3aXRoIGdldENvbnRleHQoJ3dlYmtpdC0zZCcgLHsgZ2V0IHN0ZW5j
aWwoKSB7IHRocm93ICdUZXN0IHN0ZW5jaWwgRXJyb3InOyB9IH0pCi1GQUlMIHByb2JhYmx5U3Vw
cG9ydHNDb250ZXh0KCd3ZWJraXQtM2QnICx7IGdldCBzdGVuY2lsKCkgeyB0aHJvdyAnVGVzdCBz
dGVuY2lsIEVycm9yJzsgfSB9KSByZXR1cm5zIGZhbHNlCi1GQUlMIGdldENvbnRleHQoJ3dlYmtp
dC0zZCcgLHsgZ2V0IHN0ZW5jaWwoKSB7IHRocm93ICdUZXN0IHN0ZW5jaWwgRXJyb3InOyB9IH0p
IHJldHVybnMgZmFsc2UgKGNvbnRleHQgZG9lcyBub3QgZXhpc3QpCi0KLWNhbnZhcy5wcm9iYWJs
eVN1cHBvcnRzQ29udGV4dCgnd2Via2l0LTNkJyAseyBnZXQgYW50aWFsaWFzKCkgeyB0aHJvdyAn
VGVzdCBhbnRpYWxpYXMgRXJyb3InOyB9IH0pCi0KLVBBU1Mgc3VwcG9ydHMgaXMgdW5kZWZpbmVk
Ci1QQVNTIGNvbnRleHQgaXMgdW5kZWZpbmVkCi1QQVNTIHByb2JhYmx5U3VwcG9ydHNDb250ZXh0
KCd3ZWJraXQtM2QnICx7IGdldCBhbnRpYWxpYXMoKSB7IHRocm93ICdUZXN0IGFudGlhbGlhcyBF
cnJvcic7IH0gfSkgaXMgY29uc2lzdGVudCB3aXRoIGdldENvbnRleHQoJ3dlYmtpdC0zZCcgLHsg
Z2V0IGFudGlhbGlhcygpIHsgdGhyb3cgJ1Rlc3QgYW50aWFsaWFzIEVycm9yJzsgfSB9KQotRkFJ
TCBwcm9iYWJseVN1cHBvcnRzQ29udGV4dCgnd2Via2l0LTNkJyAseyBnZXQgYW50aWFsaWFzKCkg
eyB0aHJvdyAnVGVzdCBhbnRpYWxpYXMgRXJyb3InOyB9IH0pIHJldHVybnMgZmFsc2UKLUZBSUwg
Z2V0Q29udGV4dCgnd2Via2l0LTNkJyAseyBnZXQgYW50aWFsaWFzKCkgeyB0aHJvdyAnVGVzdCBh
bnRpYWxpYXMgRXJyb3InOyB9IH0pIHJldHVybnMgZmFsc2UgKGNvbnRleHQgZG9lcyBub3QgZXhp
c3QpCi0KLWNhbnZhcy5wcm9iYWJseVN1cHBvcnRzQ29udGV4dCgnd2Via2l0LTNkJyAseyBnZXQg
cHJlbXVsdGlwbGllZEFscGhhKCkgeyB0aHJvdyAnVGVzdCBwcmVtdWx0aXBsaWVkQWxwaGEgRXJy
b3InOyB9IH0pCi0KLVBBU1Mgc3VwcG9ydHMgaXMgdW5kZWZpbmVkCi1QQVNTIGNvbnRleHQgaXMg
dW5kZWZpbmVkCi1QQVNTIHByb2JhYmx5U3VwcG9ydHNDb250ZXh0KCd3ZWJraXQtM2QnICx7IGdl
dCBwcmVtdWx0aXBsaWVkQWxwaGEoKSB7IHRocm93ICdUZXN0IHByZW11bHRpcGxpZWRBbHBoYSBF
cnJvcic7IH0gfSkgaXMgY29uc2lzdGVudCB3aXRoIGdldENvbnRleHQoJ3dlYmtpdC0zZCcgLHsg
Z2V0IHByZW11bHRpcGxpZWRBbHBoYSgpIHsgdGhyb3cgJ1Rlc3QgcHJlbXVsdGlwbGllZEFscGhh
IEVycm9yJzsgfSB9KQotRkFJTCBwcm9iYWJseVN1cHBvcnRzQ29udGV4dCgnd2Via2l0LTNkJyAs
eyBnZXQgcHJlbXVsdGlwbGllZEFscGhhKCkgeyB0aHJvdyAnVGVzdCBwcmVtdWx0aXBsaWVkQWxw
aGEgRXJyb3InOyB9IH0pIHJldHVybnMgZmFsc2UKLUZBSUwgZ2V0Q29udGV4dCgnd2Via2l0LTNk
JyAseyBnZXQgcHJlbXVsdGlwbGllZEFscGhhKCkgeyB0aHJvdyAnVGVzdCBwcmVtdWx0aXBsaWVk
QWxwaGEgRXJyb3InOyB9IH0pIHJldHVybnMgZmFsc2UgKGNvbnRleHQgZG9lcyBub3QgZXhpc3Qp
Ci0KLWNhbnZhcy5wcm9iYWJseVN1cHBvcnRzQ29udGV4dCgnd2Via2l0LTNkJyAseyBnZXQgcHJl
c2VydmVEcmF3aW5nQlVmZmVyKCkgeyB0aHJvdyAnVGVzdCBwcmVzZXJ2ZURyYXdpbmdCdWZmZXIg
RXJyb3InOyB9IH0pCi0KLVBBU1Mgc3VwcG9ydHMgaXMgdW5kZWZpbmVkCi1QQVNTIGNvbnRleHQg
aXMgdW5kZWZpbmVkCi1QQVNTIHByb2JhYmx5U3VwcG9ydHNDb250ZXh0KCd3ZWJraXQtM2QnICx7
IGdldCBwcmVzZXJ2ZURyYXdpbmdCVWZmZXIoKSB7IHRocm93ICdUZXN0IHByZXNlcnZlRHJhd2lu
Z0J1ZmZlciBFcnJvcic7IH0gfSkgaXMgY29uc2lzdGVudCB3aXRoIGdldENvbnRleHQoJ3dlYmtp
dC0zZCcgLHsgZ2V0IHByZXNlcnZlRHJhd2luZ0JVZmZlcigpIHsgdGhyb3cgJ1Rlc3QgcHJlc2Vy
dmVEcmF3aW5nQnVmZmVyIEVycm9yJzsgfSB9KQotRkFJTCBwcm9iYWJseVN1cHBvcnRzQ29udGV4
dCgnd2Via2l0LTNkJyAseyBnZXQgcHJlc2VydmVEcmF3aW5nQlVmZmVyKCkgeyB0aHJvdyAnVGVz
dCBwcmVzZXJ2ZURyYXdpbmdCdWZmZXIgRXJyb3InOyB9IH0pIHJldHVybnMgZmFsc2UKLUZBSUwg
Z2V0Q29udGV4dCgnd2Via2l0LTNkJyAseyBnZXQgcHJlc2VydmVEcmF3aW5nQlVmZmVyKCkgeyB0
aHJvdyAnVGVzdCBwcmVzZXJ2ZURyYXdpbmdCdWZmZXIgRXJyb3InOyB9IH0pIHJldHVybnMgZmFs
c2UgKGNvbnRleHQgZG9lcyBub3QgZXhpc3QpCi0KLVRlc3RpbmcgaG93IHByb2JhYmx5U3VwcG9y
dHNDb250ZXh0IGhhbmRsZXMgbm8gcGFyYW1ldGVycwotUEFTUyBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdjYW52YXMnKS5wcm9iYWJseVN1cHBvcnRzQ29udGV4dCgpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCi1Tb21lIHRlc3RzIGZhaWxlZC4KLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jYW52YXMtc3VwcG9ydHMtY29udGV4
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY2FudmFzLXN1cHBvcnRzLWNv
bnRleHQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzkzMmU5NDhhMzY2ODgy
Nzg0MWNmOGVmZGU4ZTUwYmZlM2ZjMGI1ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jYW52YXMtc3Vw
cG9ydHMtY29udGV4dC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTY5ICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci08dGl0bGU+V2ViR0wgQ2FudmFzIHByb2JhYmx5U3VwcG9ydHNDb250ZXh0IFRl
c3RzPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
LTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLXZhciB0eXBlMmQgPSAiMmQiOwot
dmFyIHR5cGUzZGxlZ2FjeSA9ICJ3ZWJraXQtM2QiOwotdmFyIHR5cGUzZHByb3Zpc2lvbmFsID0g
ImV4cGVyaW1lbnRhbC13ZWJnbCI7Ci12YXIgdHlwZTNkbW96ID0gIm1vei13ZWJnbCI7Ci0KLWZ1
bmN0aW9uIHByaW50X2Jhc2ljX3Jlc3VsdHMoc3VwcG9ydHMsIGNvbnRleHQsIGFyZ3Nfc3RyKQot
ewotICAgIGlmIChjb250ZXh0ICYmICFzdXBwb3J0cykKLSAgICAgICAgdGVzdEZhaWxlZCh0eXBl
X29mX2NvbnRleHQgKyAiIGNvbnRleHQgZXhpc3RzIHlldCBjYW52YXMucHJvYmFibHlTdXBwb3J0
c0NvbnRleHQoIiArIGFyZ3Nfc3RyICsgIikgcmV0dXJucyBmYWxzZSIpOwotICAgIGVsc2UKLSAg
ICAgICAgdGVzdFBhc3NlZCgicHJvYmFibHlTdXBwb3J0c0NvbnRleHQoIiArIGFyZ3Nfc3RyICsg
IikgaXMgY29uc2lzdGVudCB3aXRoIGdldENvbnRleHQoIiArIGFyZ3Nfc3RyICsgIikiKTsKLQot
ICAgIGlmIChzdXBwb3J0cykKLSAgICAgICAgdGVzdFBhc3NlZCgicHJvYmFibHlTdXBwb3J0c0Nv
bnRleHQoIiArIGFyZ3Nfc3RyICsgIikgcmV0dXJucyB0cnVlIik7Ci0gICAgZWxzZQotICAgICAg
ICB0ZXN0RmFpbGVkKCJwcm9iYWJseVN1cHBvcnRzQ29udGV4dCgiICsgYXJnc19zdHIgKyAiKSBy
ZXR1cm5zIGZhbHNlIik7Ci0KLSAgICBpZiAoY29udGV4dCkgewotICAgICAgICB0ZXN0UGFzc2Vk
KCJnZXRDb250ZXh0KCIgKyBhcmdzX3N0ciArICIpIHJldHVybnMgdHJ1ZSAoY29udGV4dCBleGlz
dHMpIik7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHRlc3RG
YWlsZWQoImdldENvbnRleHQoIiArIGFyZ3Nfc3RyICsgIikgcmV0dXJucyBmYWxzZSAoY29udGV4
dCBkb2VzIG5vdCBleGlzdCkiKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLX0KLQot
ZnVuY3Rpb24gb3RoZXJfdHlwZV9vZl9jb250ZXh0KHR5cGVfb2ZfY29udGV4dCkKLXsKLSAgICBp
ZiAodHlwZV9vZl9jb250ZXh0ID09IHR5cGUyZCkKLSAgICAgICAgcmV0dXJuIHR5cGUzZGxlZ2Fj
eTsKLSAgICBlbHNlIGlmICgodHlwZV9vZl9jb250ZXh0ID09IHR5cGUzZGxlZ2FjeSkgfHwgKHR5
cGVfb2ZfY29udGV4dCA9PSB0eXBlM2Rwcm92aXNpb25hbCkpCi0gICAgICAgIHJldHVybiB0eXBl
MmQ7Ci0gICAgZWxzZQotICAgICAgICByZXR1cm4gIiI7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RfcG9z
dF9jcmVhdGlvbihjYW52YXMsIHR5cGVfb2ZfY29udGV4dCkKLXsKLSAgICBkZWJ1ZygiVGVzdGlu
ZyBnZXRDb250ZXh0IGFuZCBwcm9iYWJseVN1cHBvcnRzQ29udGV4dCgnIiArIHR5cGVfb2ZfY29u
dGV4dCArICInKSBhZnRlciBhIGNvbnRleHQgaXMgY3JlYXRlZCIpOwotCi0gICAgaWYgKGNhbnZh
cy5wcm9iYWJseVN1cHBvcnRzQ29udGV4dCh0eXBlX29mX2NvbnRleHQpKQotICAgICAgICB0ZXN0
UGFzc2VkKCJwcm9iYWJseVN1cHBvcnRzQ29udGV4dCgnIiArIHR5cGVfb2ZfY29udGV4dCArICIn
KSByZXR1cm5zIHRydWUiKTsKLSAgICBlbHNlCi0gICAgICAgIHRlc3RGYWlsZWQoInByb2JhYmx5
U3VwcG9ydHNDb250ZXh0KCciICsgdHlwZV9vZl9jb250ZXh0ICsgIicpIHJldHVybnMgZmFsc2Ui
KTsKLQotICAgIHZhciBvdGhlcl90eXBlID0gb3RoZXJfdHlwZV9vZl9jb250ZXh0KHR5cGVfb2Zf
Y29udGV4dCk7Ci0gICAgCi0gICAgaWYgKCFvdGhlcl90eXBlKSB7Ci0gICAgICAgIHRlc3RGYWls
ZWQodHlwZV9vZl9jb250ZXh0ICsgJyBub3QgY3VycmVudGx5IHN1cHBvcnRlZCcpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFjYW52YXMucHJvYmFibHlTdXBwb3J0c0NvbnRl
eHQob3RoZXJfdHlwZSkpCi0gICAgICAgIHRlc3RQYXNzZWQoInByb2JhYmx5U3VwcG9ydHNDb250
ZXh0KCciICsgb3RoZXJfdHlwZSArICInKSByZXR1cm5zIGZhbHNlIik7Ci0gICAgZWxzZQotICAg
ICAgICB0ZXN0RmFpbGVkKCJwcm9iYWJseVN1cHBvcnRzQ29udGV4dCgnIiArIG90aGVyX3R5cGUg
KyAiJykgcmV0dXJucyB0cnVlIik7Ci0KLSAgICBpZiAoIWNhbnZhcy5nZXRDb250ZXh0KG90aGVy
X3R5cGUpKQotICAgICAgICB0ZXN0UGFzc2VkKG90aGVyX3R5cGUgKyAiIGNvbnRleHQgZG9lcyBu
b3QgZXhpc3QiKTsKLSAgICBlbHNlCi0gICAgICAgIHRlc3RGYWlsZWQob3RoZXJfdHlwZSArICIg
Y29udGV4dCBleGlzdHMiKTsKLQotfQotCi1mdW5jdGlvbiBjaGVja19jb250ZXh0KHR5cGVfb2Zf
Y29udGV4dCkKLXsKLSAgICBkZWJ1ZygiIik7Ci0gICAgZGVidWcoIkNhbnZhcy5wcm9iYWJseVN1
cHBvcnRzQ29udGV4dCgnIiArIHR5cGVfb2ZfY29udGV4dCArICInKSIpOwotICAgIGRlYnVnKCIi
KTsKLQotICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsK
LSAgICB2YXIgc3VwcG9ydHMgPSBjYW52YXMucHJvYmFibHlTdXBwb3J0c0NvbnRleHQodHlwZV9v
Zl9jb250ZXh0KTsKLSAgICB2YXIgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KHR5cGVfb2Zf
Y29udGV4dCk7Ci0KLSAgICBpZihwcmludF9iYXNpY19yZXN1bHRzKHN1cHBvcnRzLCBjb250ZXh0
LCAiJyIgKyB0eXBlX29mX2NvbnRleHQgKyAiJyIpKQotICAgICAgICB0ZXN0X3Bvc3RfY3JlYXRp
b24oY2FudmFzLCB0eXBlX29mX2NvbnRleHQpOwotfQotCi1mdW5jdGlvbiBtYWxmb3JtZWRfYXR0
cnMoYXR0cnMsIGF0dHJzX3N0cikKLXsKLSAgICB0eXBlX29mX2NvbnRleHQgPSB0eXBlM2RsZWdh
Y3k7Ci0KLSAgICBkZWJ1ZygiIik7Ci0gICAgZGVidWcoImNhbnZhcy5wcm9iYWJseVN1cHBvcnRz
Q29udGV4dCgnIiArIHR5cGVfb2ZfY29udGV4dCArICInICwiICsgYXR0cnNfc3RyICsgIikiKTsK
LSAgICBkZWJ1ZygiIik7Ci0KLSAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiY2FudmFzIik7Ci0gICAgdmFyIHN1cHBvcnRzOwotICAgIHRyeSB7Ci0gICAgICAgIHN1cHBv
cnRzID0gY2FudmFzLnByb2JhYmx5U3VwcG9ydHNDb250ZXh0KHR5cGVfb2ZfY29udGV4dCwgYXR0
cnMpOwotICAgIH0gY2F0Y2ggKGUpIHsgfSBmaW5hbGx5IHsKLSAgICAgICAgaWYgKHR5cGVvZihz
dXBwb3J0cykgPT0gdHlwZW9mKHVuZGVmaW5lZCkpCi0gICAgICAgICAgICB0ZXN0UGFzc2VkKCJz
dXBwb3J0cyBpcyB1bmRlZmluZWQiKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGVzdEZh
aWxlZCgic3VwcG9ydHMgaXMgbm90IHVuZGVmaW5lZCIpOwotICAgIH0KLQotICAgIHZhciBjb250
ZXh0OwotICAgIHRyeSB7Ci0gICAgICAgIGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCh0eXBl
X29mX2NvbnRleHQsIGF0dHJzKTsKLSAgICB9IGNhdGNoIChlKSB7IH0gZmluYWxseSB7Ci0gICAg
ICAgIGlmICh0eXBlb2YoY29udGV4dCkgPT0gdHlwZW9mKHVuZGVmaW5lZCkpCi0gICAgICAgICAg
ICB0ZXN0UGFzc2VkKCJjb250ZXh0IGlzIHVuZGVmaW5lZCIpOwotICAgICAgICBlbHNlCi0gICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJjb250ZXh0IGlzIG5vdCB1bmRlZmluZWQiKTsKLQotICAgIH0K
LQotICAgIHByaW50X2Jhc2ljX3Jlc3VsdHMoc3VwcG9ydHMsIGNvbnRleHQsICInIiArIHR5cGVf
b2ZfY29udGV4dCArICInICwiICsgYXR0cnNfc3RyKTsKLX0KLQotZnVuY3Rpb24gcnVuX3Rlc3Rz
KCkKLXsKLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgV2ViR0wgaW1wbGVtZW50
YXRpb25zIGludGVyYWN0IGNvcnJlY3RseSB3aXRoIHRoZSBjYW52YXMgdGFnJ3MgcHJvYmFibHlT
dXBwb3J0c0NvbnRleHQgZnVuY3Rpb24sIHRoYXQgZ2V0Q29udGV4dCBhbmQgcHJvYmFibHlTdXBw
b3J0c0NvbnRleHQgYXJlIGltcGxlbWVudGVkIGNvbnNpc3RlbnRseSB3aXRoIG9uZSBhbm90aGVy
LCBhbmQgdGhhdCBtYWxmb3JtZWQgcGFyYW1ldGVycyB0byBwcm9iYWJseVN1cHBvcnRzQ29udGV4
dCBhcmUgaGFuZGxlZCBjb3JyZWN0bHkuIik7Ci0KLSAgICBjaGVja19jb250ZXh0KHR5cGUyZCk7
Ci0KLSAgICBkZWJ1ZygiIik7Ci0gICAgZGVidWcoIldlYkdMIGRpc2FibGVkIik7Ci0gICAgd2lu
ZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRXZWJHTEVuYWJsZWQiLCAi
MCIpOwotCi0gICAgY2hlY2tfY29udGV4dCh0eXBlM2RsZWdhY3kpOwotICAgIGNoZWNrX2NvbnRl
eHQodHlwZTNkcHJvdmlzaW9uYWwpOwotICAgIGNoZWNrX2NvbnRleHQodHlwZTNkbW96KTsgLy8g
Im1vei13ZWJnbCIgaXMgbm90IHN1cHBvcnRlZCBpbiBXSzIsIGJ1dCB3YXMgdXNlZCBpbiBjcmVh
dGUzRENvbnRleHQKLQotICAgIGRlYnVnKCIiKTsKLSAgICBkZWJ1ZygiV2ViR0wgZW5hYmxlZCIp
OwotICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0V2ViR0xF
bmFibGVkIiwgIjEiKTsKLQotICAgIGNoZWNrX2NvbnRleHQodHlwZTNkbGVnYWN5KTsKLSAgICBj
aGVja19jb250ZXh0KHR5cGUzZHByb3Zpc2lvbmFsKTsKLSAgICBjaGVja19jb250ZXh0KHR5cGUz
ZG1veik7Ci0KLSAgICBkZWJ1ZygiIik7Ci0gICAgZGVidWcoIlRlc3RpbmcgbWFsZm9ybWVkIGF0
dHJpYnV0ZXMgdGhhdCBjYXVzZSBwcm9iYWJseVN1cHBvcnRzQ29udGV4dCBhbmQgZ2V0Q29udGV4
dCB0byBiZSB1bmRlZmluZWQiKTsKLQotICAgIG1hbGZvcm1lZF9hdHRycyh7IGdldCBhbHBoYSgp
IHsgdGhyb3cgJ1Rlc3QgYWxwaGEgRXJyb3InOyB9IH0sIAotICAgICAgICAieyBnZXQgYWxwaGEo
KSB7IHRocm93ICdUZXN0IGFscGhhIEVycm9yJzsgfSB9Iik7Ci0gICAgbWFsZm9ybWVkX2F0dHJz
KHsgZ2V0IGRlcHRoKCkgeyB0aHJvdyAnVGVzdCBkZXB0aCBFcnJvcic7IH0gfSwgCi0gICAgICAg
ICJ7IGdldCBkZXB0aCgpIHsgdGhyb3cgJ1Rlc3QgZGVwdGggRXJyb3InOyB9IH0iKTsKLSAgICBt
YWxmb3JtZWRfYXR0cnMoeyBnZXQgc3RlbmNpbCgpIHsgdGhyb3cgJ1Rlc3Qgc3RlbmNpbCBFcnJv
cic7IH0gfSwgCi0gICAgICAgICJ7IGdldCBzdGVuY2lsKCkgeyB0aHJvdyAnVGVzdCBzdGVuY2ls
IEVycm9yJzsgfSB9Iik7Ci0gICAgbWFsZm9ybWVkX2F0dHJzKHsgZ2V0IGFudGlhbGlhcygpIHsg
dGhyb3cgJ1Rlc3QgYW50aWFsaWFzIEVycm9yJzsgfSB9LCAKLSAgICAgICAgInsgZ2V0IGFudGlh
bGlhcygpIHsgdGhyb3cgJ1Rlc3QgYW50aWFsaWFzIEVycm9yJzsgfSB9Iik7Ci0gICAgbWFsZm9y
bWVkX2F0dHJzKHsgZ2V0IHByZW11bHRpcGxpZWRBbHBoYSgpIHsgdGhyb3cgJ3ByZW11bHRpcGxp
ZWRBbHBoYSBFcnJvcic7IH0gfSwgCi0gICAgICAgICJ7IGdldCBwcmVtdWx0aXBsaWVkQWxwaGEo
KSB7IHRocm93ICdUZXN0IHByZW11bHRpcGxpZWRBbHBoYSBFcnJvcic7IH0gfSIpOwotICAgIG1h
bGZvcm1lZF9hdHRycyh7IGdldCBwcmVzZXJ2ZURyYXdpbmdCdWZmZXIoKSB7IHRocm93ICdwcmVz
ZXJ2ZURyYXdpbmdCdWZmZXIgRXJyb3InOyB9IH0sIAotICAgICAgICAieyBnZXQgcHJlc2VydmVE
cmF3aW5nQlVmZmVyKCkgeyB0aHJvdyAnVGVzdCBwcmVzZXJ2ZURyYXdpbmdCdWZmZXIgRXJyb3In
OyB9IH0iKTsKLQotICAgIGRlYnVnKCIiKTsKLSAgICBkZWJ1ZygiVGVzdGluZyBob3cgcHJvYmFi
bHlTdXBwb3J0c0NvbnRleHQgaGFuZGxlcyBubyBwYXJhbWV0ZXJzIik7Ci0gICAgc2hvdWxkVGhy
b3coImRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpLnByb2JhYmx5U3VwcG9ydHNDb250
ZXh0KCkiKTsKLQotICAgIGRlYnVnKCIiKTsKLX0KLQotcnVuX3Rlc3RzKCk7Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtY2Fu
dmFzLWVsZW1lbnQvaGlzdG9yaWNhbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQv
dGhlLWNhbnZhcy1lbGVtZW50L2hpc3RvcmljYWwtZXhwZWN0ZWQudHh0CmluZGV4IGEzNDMyOTNm
YWM3ZTlhZDdkMzljM2JmY2Y1MzUzMzdhNmQ2OTk5YjcuLmZmYzgyNGYzNmIxMDNjNTdiNjA0YmQz
N2U3Y2VlNzQ2NGNkNWY1YTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtY2Fu
dmFzLWVsZW1lbnQvaGlzdG9yaWNhbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250
ZW50L3RoZS1jYW52YXMtZWxlbWVudC9oaXN0b3JpY2FsLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDQgQEAKIAogUEFTUyBDYW52YXMgc3VwcG9ydCBmb3Igc3VwcG9ydHNDb250ZXh0IAotRkFJTCBD
YW52YXMgc3VwcG9ydCBmb3IgcHJvYmFibHlTdXBwb3J0c0NvbnRleHQgYXNzZXJ0X2ZhbHNlOiBl
eHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorUEFTUyBDYW52YXMgc3VwcG9ydCBmb3IgcHJvYmFibHlT
dXBwb3J0c0NvbnRleHQgCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>