<?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>222709</bug_id>
          
          <creation_ts>2021-03-03 21:36:00 -0800</creation_ts>
          <short_desc>Introduce &quot;websocket&quot;, &quot;fetch&quot;, and &quot;other&quot; resource types to WKContentRuleList</short_desc>
          <delta_ts>2021-05-19 14:11: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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>am</cc>
    
    <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>toyoshim</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1735669</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-03-03 21:36:00 -0800</bug_when>
    <thetext>Introduce &quot;websocket&quot;, &quot;fetch&quot;, and &quot;other&quot; resource types to WKContentRuleList</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735671</commentid>
    <comment_count>1</comment_count>
      <attachid>422179</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-03-03 21:38:57 -0800</bug_when>
    <thetext>Created attachment 422179
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735672</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-03-03 21:39:00 -0800</bug_when>
    <thetext>&lt;rdar://problem/71552078&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735898</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-04 10:00:54 -0800</bug_when>
    <thetext>Committed r273897: &lt;https://commits.webkit.org/r273897&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 422179.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761700</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-19 14:11:49 -0700</bug_when>
    <thetext>*** Bug 154811 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422179</attachid>
            <date>2021-03-03 21:38:57 -0800</date>
            <delta_ts>2021-03-04 10:00:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222709-20210303213856.patch</filename>
            <type>text/plain</type>
            <size>25947</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmFhMDVkNTdjNDRhMWZh
NWJiYmIxYTczZWIxNjVmYzBhNWQ3OWI0OS4uZjc5ODMxZGIzMDc5N2IxNWNmM2U2MDVkM2M3YmQx
YzQ1MDkzYWFiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTAzLTAzICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW50cm9k
dWNlICJ3ZWJzb2NrZXQiLCAiZmV0Y2giLCBhbmQgIm90aGVyIiByZXNvdXJjZSB0eXBlcyB0byBX
S0NvbnRlbnRSdWxlTGlzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIyNzA5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MTU1MjA3OD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAicmF3IiBkaWRuJ3Qg
Z2l2ZSB0aGUgZGVzaXJlZCBncmFudWxhcml0eS4gIFRoaXMga2VlcHMgc3VwcG9ydCBmb3IgInJh
dyIsIGJ1dCBzcGxpdHMgaXQgaW50byAzIHN1YmNhdGVnb3JpZXM6CisgICAgICAgICJ3ZWJzb2Nr
ZXQiIHdoaWNoIG9ubHkgYXBwbGllcyB0byBXZWJTb2NrZXQgcmVxdWVzdHMsCisgICAgICAgICJm
ZXRjaCIgd2hpY2ggYXBwbGllcyB0byBYTUxIVFRQUmVxdWVzdCBhbmQgZmV0Y2ggQVBJIHJlcXVl
c3RzLgorICAgICAgICAib3RoZXIiIHdoaWNoIGFwcGxpZXMgdG8gb3RoZXIgInJhdyIgcmVxdWVz
dHMsIHN1Y2ggYXMgYmVhY29ucy4KKworICAgICAgICBDb3ZlcmVkIGJ5IEFQSSB0ZXN0cy4KKwor
ICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6dmFsaWRh
dGVVUkwpOgorICAgICAgICAqIGNvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25QYXJz
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudEV4dGVuc2lvbnM6OmdldFR5cGVGbGFn
cyk6CisgICAgICAgICogY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZVNoZWV0Q29udGVudHM6OnN1YnJlc291cmNlc0FsbG93UmV1c2UgY29uc3QpOgor
ICAgICAgICAqIGxvYWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpOZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlcjo6TmV0c2NhcGVQbHVnSW5TdHJl
YW1Mb2FkZXIpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRJbmZvLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjp0b1Jlc291cmNlVHlwZSk6CisgICAgICAg
IChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6cmVhZFJlc291cmNlVHlwZSk6CisgICAgICAg
IChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6cmVhZExvYWRUeXBlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpSZXNvdXJjZUxvYWRJbmZvOjpnZXRSZXNvdXJjZUZs
YWdzIGNvbnN0KToKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkSW5mby5oOgorICAgICAg
ICAqIGxvYWRlci9SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWwpOgorICAgICAgICAqIGxvYWRlci9SZXNv
dXJjZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6U3VicmVzb3VyY2VMb2FkZXIpOgor
ICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKToKKwogMjAy
MS0wMy0wMiAgTGF1cm8gTW91cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLiBGaXggLVdyZXR1cm4tdHlwZSB3YXJuaW5ncyBhZnRlciByMjczNTUwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tl
dENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1RocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCA1Y2ViNDBjNDczYWE2YjIzMDViOWQwNGU3YTA1
MDc0MjdlMzc0NTVhLi5jMTE1YjQ1YjdhNzU4NGVmZDk3ODZmNDMxNzkwOWNhMzdmOTdmNTBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdl
YlNvY2tldENoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0
cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTkzLDcgKzkzLDcgQEAgT3B0aW9u
YWw8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw6OlZhbGlkYXRlZFVSTD4gVGhyZWFkYWJsZVdl
YlNvY2tldENoYW5uZWw6OnYKICAgICAgICAgICAgIHJldHVybiB7IH07CiAjaWYgRU5BQkxFKENP
TlRFTlRfRVhURU5TSU9OUykKICAgICAgICAgaWYgKGF1dG8qIGRvY3VtZW50TG9hZGVyID0gZG9j
dW1lbnQubG9hZGVyKCkpIHsKLSAgICAgICAgICAgIGF1dG8gcmVzdWx0cyA9IHBhZ2UtPnVzZXJD
b250ZW50UHJvdmlkZXIoKS5wcm9jZXNzQ29udGVudFJ1bGVMaXN0c0ZvckxvYWQoKnBhZ2UsIHZh
bGlkYXRlZFVSTC51cmwsIENvbnRlbnRFeHRlbnNpb25zOjpSZXNvdXJjZVR5cGU6OlJhdywgKmRv
Y3VtZW50TG9hZGVyKTsKKyAgICAgICAgICAgIGF1dG8gcmVzdWx0cyA9IHBhZ2UtPnVzZXJDb250
ZW50UHJvdmlkZXIoKS5wcm9jZXNzQ29udGVudFJ1bGVMaXN0c0ZvckxvYWQoKnBhZ2UsIHZhbGlk
YXRlZFVSTC51cmwsIHsgQ29udGVudEV4dGVuc2lvbnM6OlJlc291cmNlVHlwZTo6UmF3LCBDb250
ZW50RXh0ZW5zaW9uczo6UmVzb3VyY2VUeXBlOjpXZWJTb2NrZXQgfSwgKmRvY3VtZW50TG9hZGVy
KTsKICAgICAgICAgICAgIGlmIChyZXN1bHRzLnN1bW1hcnkuYmxvY2tlZExvYWQpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHsgfTsKICAgICAgICAgICAgIGlmIChyZXN1bHRzLnN1bW1hcnkubWFk
ZUhUVFBTKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9D
b250ZW50RXh0ZW5zaW9uUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNp
b25zL0NvbnRlbnRFeHRlbnNpb25QYXJzZXIuY3BwCmluZGV4IDg5ODE0ZDg2OTI1ODIzMDY2NmIw
MjEyM2M5OGUzNTgwNjFmMzljMjIuLmI3YzZlNWM1OTkyMWVmMzA3MjVhZTY1ZmJhZWQ0MDljOGFh
NjZkZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRl
bnRFeHRlbnNpb25QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNp
b25zL0NvbnRlbnRFeHRlbnNpb25QYXJzZXIuY3BwCkBAIC05NCw3ICs5NCw4IEBAIHN0YXRpYyBF
eHBlY3RlZDxWZWN0b3I8U3RyaW5nPiwgc3RkOjplcnJvcl9jb2RlPiBnZXREb21haW5MaXN0KEpT
R2xvYmFsT2JqZWN0JiBsCiAgICAgcmV0dXJuIHN0cmluZ3M7CiB9CiAKLXN0YXRpYyBzdGQ6OmVy
cm9yX2NvZGUgZ2V0VHlwZUZsYWdzKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBjb25zdCBKU1ZhbHVlJiB0eXBlVmFsdWUsIFJlc291cmNlRmxhZ3MmIGZsYWdzLCB1aW50MTZf
dCAoKnN0cmluZ1RvVHlwZSkoY29uc3QgU3RyaW5nJikpCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgor
c3RhdGljIHN0ZDo6ZXJyb3JfY29kZSBnZXRUeXBlRmxhZ3MoSlNHbG9iYWxPYmplY3QmIGxleGlj
YWxHbG9iYWxPYmplY3QsIGNvbnN0IEpTVmFsdWUmIHR5cGVWYWx1ZSwgUmVzb3VyY2VGbGFncyYg
ZmxhZ3MsIE9wdGlvbmFsPE9wdGlvblNldDxUPj4gKCpzdHJpbmdUb1R5cGUpKGNvbnN0IFN0cmlu
ZyYpKQogewogICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3Qudm0oKTsKICAgICBhdXRv
IHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CkBAIC0xMTYsMTEgKzExNywxMSBAQCBz
dGF0aWMgc3RkOjplcnJvcl9jb2RlIGdldFR5cGVGbGFncyhKU0dsb2JhbE9iamVjdCYgbGV4aWNh
bEdsb2JhbE9iamVjdCwgY29uc3QgSgogICAgICAgICAgICAgcmV0dXJuIENvbnRlbnRFeHRlbnNp
b25FcnJvcjo6SlNPTkludmFsaWRPYmplY3RJblRyaWdnZXJGbGFnc0FycmF5OwogICAgICAgICAK
ICAgICAgICAgU3RyaW5nIG5hbWUgPSB2YWx1ZS50b1dURlN0cmluZygmbGV4aWNhbEdsb2JhbE9i
amVjdCk7Ci0gICAgICAgIHVpbnQxNl90IHR5cGUgPSBzdHJpbmdUb1R5cGUobmFtZSk7CisgICAg
ICAgIGF1dG8gdHlwZSA9IHN0cmluZ1RvVHlwZShuYW1lKTsKICAgICAgICAgaWYgKCF0eXBlKQog
ICAgICAgICAgICAgcmV0dXJuIENvbnRlbnRFeHRlbnNpb25FcnJvcjo6SlNPTkludmFsaWRTdHJp
bmdJblRyaWdnZXJGbGFnc0FycmF5OwogCi0gICAgICAgIGZsYWdzIHw9IHR5cGU7CisgICAgICAg
IGZsYWdzIHw9IHN0YXRpY19jYXN0PFJlc291cmNlRmxhZ3M+KHR5cGUtPnRvUmF3KCkpOwogICAg
IH0KIAogICAgIHJldHVybiB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVTaGVldENvbnRlbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVu
dHMuY3BwCmluZGV4IDQ0MjU0OGVkZDhiNDgzYzI2ODZkM2Y2NTAyNGIyOTk1MzJhMmNiZGMuLjNj
ZjNlYzA3OTRkYjZiZTY3NzQ2ZjdjNmZiMWQ0ZDhkM2ZiNzkyZmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCkBAIC01MDgsNyArNTA4LDcgQEAgYm9vbCBTdHls
ZVNoZWV0Q29udGVudHM6OnN1YnJlc291cmNlc0FsbG93UmV1c2UoQ2FjaGVQb2xpY3kgY2FjaGVQ
b2xpY3ksIEZyYW1lTG8KICAgICAgICAgYXV0byogZG9jdW1lbnRMb2FkZXIgPSBsb2FkZXIuZG9j
dW1lbnRMb2FkZXIoKTsKICAgICAgICAgaWYgKHBhZ2UgJiYgZG9jdW1lbnRMb2FkZXIpIHsKICAg
ICAgICAgICAgIGNvbnN0IGF1dG8mIHJlcXVlc3QgPSByZXNvdXJjZS5yZXNvdXJjZVJlcXVlc3Qo
KTsKLSAgICAgICAgICAgIGF1dG8gcmVzdWx0cyA9IHBhZ2UtPnVzZXJDb250ZW50UHJvdmlkZXIo
KS5wcm9jZXNzQ29udGVudFJ1bGVMaXN0c0ZvckxvYWQoKnBhZ2UsIHJlcXVlc3QudXJsKCksIENv
bnRlbnRFeHRlbnNpb25zOjp0b1Jlc291cmNlVHlwZShyZXNvdXJjZS50eXBlKCkpLCAqZG9jdW1l
bnRMb2FkZXIpOworICAgICAgICAgICAgYXV0byByZXN1bHRzID0gcGFnZS0+dXNlckNvbnRlbnRQ
cm92aWRlcigpLnByb2Nlc3NDb250ZW50UnVsZUxpc3RzRm9yTG9hZCgqcGFnZSwgcmVxdWVzdC51
cmwoKSwgQ29udGVudEV4dGVuc2lvbnM6OnRvUmVzb3VyY2VUeXBlKHJlc291cmNlLnR5cGUoKSwg
cmVzb3VyY2UucmVzb3VyY2VSZXF1ZXN0KCkucmVxdWVzdGVyKCkpLCAqZG9jdW1lbnRMb2FkZXIp
OwogICAgICAgICAgICAgaWYgKHJlc3VsdHMuc3VtbWFyeS5ibG9ja2VkTG9hZCB8fCByZXN1bHRz
LnN1bW1hcnkubWFkZUhUVFBTKQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJl
YW1Mb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFt
TG9hZGVyLmNwcAppbmRleCA4OTEwZTgyMzNhNmQ3MDQ5YTg0NzFjYzc1NWViYmFkMGU0OGU4OWNi
Li5mNTQ3YWIyZGE0ZDY0NjdhYmU1Njg2YzBlZmZlOTA0YTIxYWM3YWIxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHAKQEAg
LTYwLDcgKzYwLDcgQEAgTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXI6Ok5ldHNjYXBlUGx1Z0lu
U3RyZWFtTG9hZGVyKEZyYW1lJiBmcmFtZSwgTmV0c2NhcGVQbHUKICAgICAsIG1fY2xpZW50KG1h
a2VXZWFrUHRyKGNsaWVudCkpCiB7CiAjaWYgRU5BQkxFKENPTlRFTlRfRVhURU5TSU9OUykKLSAg
ICBtX3Jlc291cmNlVHlwZSA9IENvbnRlbnRFeHRlbnNpb25zOjpSZXNvdXJjZVR5cGU6OlBsdWdJ
blN0cmVhbTsKKyAgICBtX3Jlc291cmNlVHlwZSA9IHsgQ29udGVudEV4dGVuc2lvbnM6OlJlc291
cmNlVHlwZTo6UGx1Z0luU3RyZWFtIH07CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZEluZm8uY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlTG9hZEluZm8uY3BwCmluZGV4IDIwM2IwNGU2NzBiMWFjMjkzNDRiNTI1NDQ0
MGU0YmY0ZGYwODk3ZTkuLjY5NTk0ZTg4MzBiMTZmNDkwYzllZmUyNDUyM2Q4MTZhNmU5ZTEzMGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRJbmZvLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkSW5mby5jcHAKQEAgLTM0LDg0
ICszNCw5NCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIENvbnRlbnRFeHRlbnNp
b25zIHsKIAotUmVzb3VyY2VUeXBlIHRvUmVzb3VyY2VUeXBlKENhY2hlZFJlc291cmNlOjpUeXBl
IHR5cGUpCitPcHRpb25TZXQ8UmVzb3VyY2VUeXBlPiB0b1Jlc291cmNlVHlwZShDYWNoZWRSZXNv
dXJjZTo6VHlwZSB0eXBlLCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpSZXF1ZXN0ZXIgcmVxdWVzdGVy
KQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6
OkxpbmtQcmVmZXRjaDoKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNYWluUmVzb3Vy
Y2U6Ci0gICAgICAgIHJldHVybiBSZXNvdXJjZVR5cGU6OkRvY3VtZW50OworICAgICAgICByZXR1
cm4geyBSZXNvdXJjZVR5cGU6OkRvY3VtZW50IH07CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6
VHlwZTo6U1ZHRG9jdW1lbnRSZXNvdXJjZToKLSAgICAgICAgcmV0dXJuIFJlc291cmNlVHlwZTo6
U1ZHRG9jdW1lbnQ7CisgICAgICAgIHJldHVybiB7IFJlc291cmNlVHlwZTo6U1ZHRG9jdW1lbnQg
fTsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpJbWFnZVJlc291cmNlOgotICAgICAg
ICByZXR1cm4gUmVzb3VyY2VUeXBlOjpJbWFnZTsKKyAgICAgICAgcmV0dXJuIHsgUmVzb3VyY2VU
eXBlOjpJbWFnZSB9OwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkNTU1N0eWxlU2hl
ZXQ6CiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6WFNM
U3R5bGVTaGVldDoKICNlbmRpZgotICAgICAgICByZXR1cm4gUmVzb3VyY2VUeXBlOjpTdHlsZVNo
ZWV0OworICAgICAgICByZXR1cm4geyBSZXNvdXJjZVR5cGU6OlN0eWxlU2hlZXQgfTsKIAogICAg
IGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlNjcmlwdDoKLSAgICAgICAgcmV0dXJuIFJlc291
cmNlVHlwZTo6U2NyaXB0OworICAgICAgICByZXR1cm4geyBSZXNvdXJjZVR5cGU6OlNjcmlwdCB9
OwogCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6Rm9udFJlc291cmNlOgogICAgIGNh
c2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlNWR0ZvbnRSZXNvdXJjZToKLSAgICAgICAgcmV0dXJu
IFJlc291cmNlVHlwZTo6Rm9udDsKKyAgICAgICAgcmV0dXJuIHsgUmVzb3VyY2VUeXBlOjpGb250
IH07CiAKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpNZWRpYVJlc291cmNlOgotICAg
ICAgICByZXR1cm4gUmVzb3VyY2VUeXBlOjpNZWRpYTsKKyAgICAgICAgcmV0dXJuIHsgUmVzb3Vy
Y2VUeXBlOjpNZWRpYSB9OwogCisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6UmF3UmVz
b3VyY2U6CisgICAgICAgIGlmIChyZXF1ZXN0ZXIgPT0gUmVzb3VyY2VSZXF1ZXN0QmFzZTo6UmVx
dWVzdGVyOjpYSFIKKyAgICAgICAgICAgIHx8IHJlcXVlc3RlciA9PSBSZXNvdXJjZVJlcXVlc3RC
YXNlOjpSZXF1ZXN0ZXI6OkZldGNoKQorICAgICAgICAgICAgcmV0dXJuIHt7IFJlc291cmNlVHlw
ZTo6UmF3LCBSZXNvdXJjZVR5cGU6OkZldGNoIH19OworICAgICAgICBGQUxMVEhST1VHSDsKICAg
ICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpCZWFjb246CiAgICAgY2FzZSBDYWNoZWRSZXNv
dXJjZTo6VHlwZTo6UGluZzoKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpJY29uOgot
ICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlJhd1Jlc291cmNlOgogI2lmIEVOQUJMRShN
T0RFTF9FTEVNRU5UKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1vZGVsUmVzb3Vy
Y2U6CiAjZW5kaWYKLSAgICAgICAgcmV0dXJuIFJlc291cmNlVHlwZTo6UmF3OwotCi0gICAgY2Fz
ZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6VGV4dFRyYWNrUmVzb3VyY2U6Ci0gICAgICAgIHJldHVy
biBSZXNvdXJjZVR5cGU6Ok1lZGlhOwotCiAjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNU
KQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q6Ci0g
ICAgICAgIHJldHVybiBSZXNvdXJjZVR5cGU6OlJhdzsKICNlbmRpZgorICAgICAgICByZXR1cm4g
e3sgUmVzb3VyY2VUeXBlOjpSYXcsIFJlc291cmNlVHlwZTo6T3RoZXIgfX07CisKKyAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpUeXBlOjpUZXh0VHJhY2tSZXNvdXJjZToKKyAgICAgICAgcmV0dXJu
IHsgUmVzb3VyY2VUeXBlOjpNZWRpYSB9OworCiAgICAgfTsKLSAgICByZXR1cm4gUmVzb3VyY2VU
eXBlOjpSYXc7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIHsgfTsKIH0K
IAotdWludDE2X3QgcmVhZFJlc291cmNlVHlwZShjb25zdCBTdHJpbmcmIG5hbWUpCitPcHRpb25h
bDxPcHRpb25TZXQ8UmVzb3VyY2VUeXBlPj4gcmVhZFJlc291cmNlVHlwZShjb25zdCBTdHJpbmcm
IG5hbWUpCiB7CiAgICAgaWYgKG5hbWUgPT0gImRvY3VtZW50IikKLSAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PHVpbnQxNl90PihSZXNvdXJjZVR5cGU6OkRvY3VtZW50KTsKKyAgICAgICAgcmV0
dXJuIHsgUmVzb3VyY2VUeXBlOjpEb2N1bWVudCB9OwogICAgIGlmIChuYW1lID09ICJpbWFnZSIp
Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1aW50MTZfdD4oUmVzb3VyY2VUeXBlOjpJbWFn
ZSk7CisgICAgICAgIHJldHVybiB7IFJlc291cmNlVHlwZTo6SW1hZ2UgfTsKICAgICBpZiAobmFt
ZSA9PSAic3R5bGUtc2hlZXQiKQotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dWludDE2X3Q+
KFJlc291cmNlVHlwZTo6U3R5bGVTaGVldCk7CisgICAgICAgIHJldHVybiB7IFJlc291cmNlVHlw
ZTo6U3R5bGVTaGVldCB9OwogICAgIGlmIChuYW1lID09ICJzY3JpcHQiKQotICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8dWludDE2X3Q+KFJlc291cmNlVHlwZTo6U2NyaXB0KTsKKyAgICAgICAg
cmV0dXJuIHsgUmVzb3VyY2VUeXBlOjpTY3JpcHQgfTsKICAgICBpZiAobmFtZSA9PSAiZm9udCIp
Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1aW50MTZfdD4oUmVzb3VyY2VUeXBlOjpGb250
KTsKKyAgICAgICAgcmV0dXJuIHsgUmVzb3VyY2VUeXBlOjpGb250IH07CiAgICAgaWYgKG5hbWUg
PT0gInJhdyIpCi0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1aW50MTZfdD4oUmVzb3VyY2VU
eXBlOjpSYXcpOworICAgICAgICByZXR1cm4geyBSZXNvdXJjZVR5cGU6OlJhdyB9OworICAgIGlm
IChuYW1lID09ICJ3ZWJzb2NrZXQiKQorICAgICAgICByZXR1cm4geyBSZXNvdXJjZVR5cGU6Oldl
YlNvY2tldCB9OworICAgIGlmIChuYW1lID09ICJmZXRjaCIpCisgICAgICAgIHJldHVybiB7IFJl
c291cmNlVHlwZTo6RmV0Y2ggfTsKKyAgICBpZiAobmFtZSA9PSAib3RoZXIiKQorICAgICAgICBy
ZXR1cm4geyBSZXNvdXJjZVR5cGU6Ok90aGVyIH07CiAgICAgaWYgKG5hbWUgPT0gInN2Zy1kb2N1
bWVudCIpCi0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1aW50MTZfdD4oUmVzb3VyY2VUeXBl
OjpTVkdEb2N1bWVudCk7CisgICAgICAgIHJldHVybiB7IFJlc291cmNlVHlwZTo6U1ZHRG9jdW1l
bnQgfTsKICAgICBpZiAobmFtZSA9PSAibWVkaWEiKQotICAgICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8dWludDE2X3Q+KFJlc291cmNlVHlwZTo6TWVkaWEpOworICAgICAgICByZXR1cm4geyBSZXNv
dXJjZVR5cGU6Ok1lZGlhIH07CiAgICAgaWYgKG5hbWUgPT0gInBvcHVwIikKLSAgICAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PHVpbnQxNl90PihSZXNvdXJjZVR5cGU6OlBvcHVwKTsKKyAgICAgICAg
cmV0dXJuIHsgUmVzb3VyY2VUeXBlOjpQb3B1cCB9OwogICAgIGlmIChuYW1lID09ICJwaW5nIikK
LSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVpbnQxNl90PihSZXNvdXJjZVR5cGU6OlBpbmcp
OwotICAgIHJldHVybiBzdGF0aWNfY2FzdDx1aW50MTZfdD4oUmVzb3VyY2VUeXBlOjpJbnZhbGlk
KTsKKyAgICAgICAgcmV0dXJuIHsgUmVzb3VyY2VUeXBlOjpQaW5nIH07CisgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKIH0KIAotdWludDE2X3QgcmVhZExvYWRUeXBlKGNvbnN0IFN0cmluZyYgbmFt
ZSkKK09wdGlvbmFsPE9wdGlvblNldDxMb2FkVHlwZT4+IHJlYWRMb2FkVHlwZShjb25zdCBTdHJp
bmcmIG5hbWUpCiB7CiAgICAgaWYgKG5hbWUgPT0gImZpcnN0LXBhcnR5IikKLSAgICAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PHVpbnQxNl90PihMb2FkVHlwZTo6Rmlyc3RQYXJ0eSk7CisgICAgICAg
IHJldHVybiB7IExvYWRUeXBlOjpGaXJzdFBhcnR5IH07CiAgICAgaWYgKG5hbWUgPT0gInRoaXJk
LXBhcnR5IikKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVpbnQxNl90PihMb2FkVHlwZTo6
VGhpcmRQYXJ0eSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PHVpbnQxNl90PihMb2FkVHlwZTo6
SW52YWxpZCk7CisgICAgICAgIHJldHVybiB7IExvYWRUeXBlOjpUaGlyZFBhcnR5IH07CisgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKIH0KIAogYm9vbCBSZXNvdXJjZUxvYWRJbmZvOjppc1RoaXJk
UGFydHkoKSBjb25zdApAQCAtMTI1LDcgKzEzNSw3IEBAIGJvb2wgUmVzb3VyY2VMb2FkSW5mbzo6
aXNUaGlyZFBhcnR5KCkgY29uc3QKIFJlc291cmNlRmxhZ3MgUmVzb3VyY2VMb2FkSW5mbzo6Z2V0
UmVzb3VyY2VGbGFncygpIGNvbnN0CiB7CiAgICAgUmVzb3VyY2VGbGFncyBmbGFncyA9IDA7Ci0g
ICAgQVNTRVJUKHR5cGUgIT0gUmVzb3VyY2VUeXBlOjpJbnZhbGlkKTsKKyAgICBBU1NFUlQoIXR5
cGUuaXNFbXB0eSgpKTsKICAgICBmbGFncyB8PSB0eXBlLnRvUmF3KCk7CiAgICAgZmxhZ3MgfD0g
aXNUaGlyZFBhcnR5KCkgPyBzdGF0aWNfY2FzdDxSZXNvdXJjZUZsYWdzPihMb2FkVHlwZTo6VGhp
cmRQYXJ0eSkgOiBzdGF0aWNfY2FzdDxSZXNvdXJjZUZsYWdzPihMb2FkVHlwZTo6Rmlyc3RQYXJ0
eSk7CiAgICAgcmV0dXJuIGZsYWdzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlTG9hZEluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRJ
bmZvLmgKaW5kZXggMWNmNDk1MWUxODZlYzJlNTg5NzUxMzNiNzkxYjcyOWJhY2U2OWE3My4uYTE3
YmRiZDZhYjYzOGI3MWFiN2IzMjFmYTJlN2Y1YmQxMTE4YjIyMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZEluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkSW5mby5oCkBAIC0zNSwyNCArMzUsMjUgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogbmFtZXNwYWNlIENvbnRlbnRFeHRlbnNpb25zIHsKIAogZW51bSBjbGFzcyBSZXNv
dXJjZVR5cGUgOiB1aW50MTZfdCB7Ci0gICAgSW52YWxpZCA9IDB4MDAwMCwKICAgICBEb2N1bWVu
dCA9IDB4MDAwMSwKICAgICBJbWFnZSA9IDB4MDAwMiwKICAgICBTdHlsZVNoZWV0ID0gMHgwMDA0
LAogICAgIFNjcmlwdCA9IDB4MDAwOCwKICAgICBGb250ID0gMHgwMDEwLAotICAgIFJhdyA9IDB4
MDAyMCwKKyAgICBSYXcgPSAweDAwMjAsIC8vIFRoaXMgYml0IGNhbiBiZSByZXVzZWQgbmV4dCB0
aW1lIHdlIGluY3JlbWVudCBDdXJyZW50Q29udGVudFJ1bGVMaXN0RmlsZVZlcnNpb24uIEl0IGlz
IGVxdWl2YWxlbnQgdG8gdXNpbmcgRmV0Y2ggfCBXZWJTb2NrZXQgfCBPdGhlci4KICAgICBTVkdE
b2N1bWVudCA9IDB4MDA0MCwKICAgICBNZWRpYSA9IDB4MDA4MCwKICAgICBQbHVnSW5TdHJlYW0g
PSAweDAxMDAsCiAgICAgUG9wdXAgPSAweDAyMDAsCiAgICAgLy8gMHgwNDAwIGFuZCAweDA4MDAg
YXJlIHVzZWQgYnkgTG9hZFR5cGUuCiAgICAgUGluZyA9IDB4MTAwMCwKKyAgICBGZXRjaCA9IDB4
MjAwMCwKKyAgICBXZWJTb2NrZXQgPSAweDQwMDAsCisgICAgT3RoZXIgPSAweDgwMDAsCiB9Owot
Y29uc3QgdWludDE2X3QgUmVzb3VyY2VUeXBlTWFzayA9IDB4MTNGRjsKK2NvbnN0IHVpbnQxNl90
IFJlc291cmNlVHlwZU1hc2sgPSAweEYzRkY7CiAKIGVudW0gY2xhc3MgTG9hZFR5cGUgOiB1aW50
MTZfdCB7Ci0gICAgSW52YWxpZCA9IDB4MDAwMCwKICAgICBGaXJzdFBhcnR5ID0gMHgwNDAwLAog
ICAgIFRoaXJkUGFydHkgPSAweDA4MDAsCiB9OwpAQCAtNzIsOSArNzMsOSBAQCB0eXBlZGVmIHVp
bnQxNl90IFJlc291cmNlRmxhZ3M7CiBjb25zdCB1aW50NjRfdCBBY3Rpb25GbGFnTWFzayA9IDB4
MDAwMEZGRkYwMDAwMDAwMDsKIGNvbnN0IHVpbnQ2NF90IElmQ29uZGl0aW9uRmxhZyA9IDB4MDAw
MTAwMDAwMDAwMDAwMDsKIAotUmVzb3VyY2VUeXBlIHRvUmVzb3VyY2VUeXBlKENhY2hlZFJlc291
cmNlOjpUeXBlKTsKLXVpbnQxNl90IHJlYWRSZXNvdXJjZVR5cGUoY29uc3QgU3RyaW5nJik7Ci11
aW50MTZfdCByZWFkTG9hZFR5cGUoY29uc3QgU3RyaW5nJik7CitPcHRpb25TZXQ8UmVzb3VyY2VU
eXBlPiB0b1Jlc291cmNlVHlwZShDYWNoZWRSZXNvdXJjZTo6VHlwZSwgUmVzb3VyY2VSZXF1ZXN0
QmFzZTo6UmVxdWVzdGVyKTsKK09wdGlvbmFsPE9wdGlvblNldDxSZXNvdXJjZVR5cGU+PiByZWFk
UmVzb3VyY2VUeXBlKGNvbnN0IFN0cmluZyYpOworT3B0aW9uYWw8T3B0aW9uU2V0PExvYWRUeXBl
Pj4gcmVhZExvYWRUeXBlKGNvbnN0IFN0cmluZyYpOwogCiBzdHJ1Y3QgUmVzb3VyY2VMb2FkSW5m
byB7CiAgICAgVVJMIHJlc291cmNlVVJMOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRlci5jcHAKaW5kZXggY2M1YWM1YTI5NTA5MTY5MTEwMjU4MjI4NWNjYzE0NDNmNDg2NWEyZi4u
MDM3YTM4NDE5OTQ3OGNlYTRiYjUyOGM0ODNjMWM0MDk4MjJjNmMxYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zNDEsNyArMzQxLDcgQEAgdm9pZCBSZXNv
dXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWwoUmVzb3VyY2VSZXF1ZXN0JiYgcmVx
dWVzdCwgY29uc3QgUmUKIAogICAgIEFTU0VSVCghbV9yZWFjaGVkVGVybWluYWxTdGF0ZSk7CiAj
aWYgRU5BQkxFKENPTlRFTlRfRVhURU5TSU9OUykKLSAgICBBU1NFUlQobV9yZXNvdXJjZVR5cGUg
IT0gQ29udGVudEV4dGVuc2lvbnM6OlJlc291cmNlVHlwZTo6SW52YWxpZCk7CisgICAgQVNTRVJU
KCFtX3Jlc291cmNlVHlwZS5pc0VtcHR5KCkpOwogI2VuZGlmCiAKICAgICAvLyBXZSBuZWVkIGEg
cmVzb3VyY2UgaWRlbnRpZmllciBmb3IgYWxsIHJlcXVlc3RzLCBldmVuIGlmIEZyYW1lTG9hZGVy
IGlzIG5ldmVyIGdvaW5nIHRvIHNlZSBpdCAoc3VjaCBhcyB3aXRoIENPUlMgcHJlZmxpZ2h0IHJl
cXVlc3RzKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRl
ci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgKaW5kZXggMDU3MTAy
ZWNjYjY5Y2M0NzJlNDFjYzg5NGUwNWI2MzI5ZDRkNDVlZS4uYjJmNmE1ZWNiM2JlYTA0ZTliZmE4
ZDFlZTc2NjJjMzJjMWRmM2QxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jl
c291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVy
LmgKQEAgLTI0Niw3ICsyNDYsNyBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKENPTlRFTlRfRVhU
RU5TSU9OUykKIHByb3RlY3RlZDoKLSAgICBDb250ZW50RXh0ZW5zaW9uczo6UmVzb3VyY2VUeXBl
IG1fcmVzb3VyY2VUeXBlIHsgQ29udGVudEV4dGVuc2lvbnM6OlJlc291cmNlVHlwZTo6SW52YWxp
ZCB9OworICAgIE9wdGlvblNldDxDb250ZW50RXh0ZW5zaW9uczo6UmVzb3VyY2VUeXBlPiBtX3Jl
c291cmNlVHlwZTsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNv
dXJjZUxvYWRlci5jcHAKaW5kZXggMzQ5MWFjNzBjNzE3OTVhNWQ0MGEyNmJkM2U4YjI1YWIyNzEy
YWZhNS4uNDdhNGQxOTczYzA4NzVjYTQ1NjAzOTQ1ZGI2ZDk3ZGM3NTA0NzE1NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMDAsNyArMTAwLDcg
QEAgU3VicmVzb3VyY2VMb2FkZXI6OlN1YnJlc291cmNlTG9hZGVyKEZyYW1lJiBmcmFtZSwgQ2Fj
aGVkUmVzb3VyY2UmIHJlc291cmNlLCBjb24KICAgICBzdWJyZXNvdXJjZUxvYWRlckNvdW50ZXIu
aW5jcmVtZW50KCk7CiAjZW5kaWYKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQotICAg
IG1fcmVzb3VyY2VUeXBlID0gQ29udGVudEV4dGVuc2lvbnM6OnRvUmVzb3VyY2VUeXBlKHJlc291
cmNlLnR5cGUoKSk7CisgICAgbV9yZXNvdXJjZVR5cGUgPSBDb250ZW50RXh0ZW5zaW9uczo6dG9S
ZXNvdXJjZVR5cGUocmVzb3VyY2UudHlwZSgpLCByZXNvdXJjZS5yZXNvdXJjZVJlcXVlc3QoKS5y
ZXF1ZXN0ZXIoKSk7CiAjZW5kaWYKICAgICBtX2NhbkNyb3NzT3JpZ2luUmVxdWVzdHNBc2tVc2Vy
Rm9yQ3JlZGVudGlhbHMgPSByZXNvdXJjZS50eXBlKCkgPT0gQ2FjaGVkUmVzb3VyY2U6OlR5cGU6
Ok1haW5SZXNvdXJjZSB8fCBmcmFtZS5zZXR0aW5ncygpLmFsbG93Q3Jvc3NPcmlnaW5TdWJyZXNv
dXJjZXNUb0Fza0ZvckNyZWRlbnRpYWxzKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlY2QyZjYyNGJiMmZj
ZWViMDJmZWZhNzc5MzgzMTRjYWQzZGMzYTEzLi44YWVmNDM2MmVhYmEyNmNiMTNhOTM3NDA3MjQ0
MDUyZDNlMTg2M2U2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTkwNyw3ICs5MDcsNyBAQCBSZXNvdXJjZUVycm9y
T3I8Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+PiBDYWNoZWRSZXNvdXJjZUxv
YWRlcjo6cmVxdQogI2lmIEVOQUJMRShDT05URU5UX0VYVEVOU0lPTlMpCiAgICAgaWYgKG1fZG9j
dW1lbnRMb2FkZXIpIHsKICAgICAgICAgY29uc3QgYXV0byYgcmVzb3VyY2VSZXF1ZXN0ID0gcmVx
dWVzdC5yZXNvdXJjZVJlcXVlc3QoKTsKLSAgICAgICAgYXV0byByZXN1bHRzID0gcGFnZS51c2Vy
Q29udGVudFByb3ZpZGVyKCkucHJvY2Vzc0NvbnRlbnRSdWxlTGlzdHNGb3JMb2FkKHBhZ2UsIHJl
c291cmNlUmVxdWVzdC51cmwoKSwgQ29udGVudEV4dGVuc2lvbnM6OnRvUmVzb3VyY2VUeXBlKHR5
cGUpLCAqbV9kb2N1bWVudExvYWRlcik7CisgICAgICAgIGF1dG8gcmVzdWx0cyA9IHBhZ2UudXNl
ckNvbnRlbnRQcm92aWRlcigpLnByb2Nlc3NDb250ZW50UnVsZUxpc3RzRm9yTG9hZChwYWdlLCBy
ZXNvdXJjZVJlcXVlc3QudXJsKCksIENvbnRlbnRFeHRlbnNpb25zOjp0b1Jlc291cmNlVHlwZSh0
eXBlLCByZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnJlcXVlc3RlcigpKSwgKm1fZG9jdW1lbnRM
b2FkZXIpOwogICAgICAgICBib29sIGJsb2NrZWRMb2FkID0gcmVzdWx0cy5zdW1tYXJ5LmJsb2Nr
ZWRMb2FkOwogICAgICAgICBib29sIG1hZGVIVFRQUyA9IHJlc3VsdHMuc3VtbWFyeS5tYWRlSFRU
UFM7CiAgICAgICAgIHJlcXVlc3QuYXBwbHlSZXN1bHRzKFdURk1vdmUocmVzdWx0cyksICZwYWdl
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1
OWVjZTlhZGI0ZmE4Y2RhYWZkZTg0MDliNzA5MzY2YjE5NTQwYTAwLi5lYjNiMWZjMWJhZTAwOWFh
ZTM1ZWMyOTZjNTg4NzM0MGRhOTYyMjc3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDMtMDMgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbnRyb2R1Y2Ug
IndlYnNvY2tldCIsICJmZXRjaCIsIGFuZCAib3RoZXIiIHJlc291cmNlIHR5cGVzIHRvIFdLQ29u
dGVudFJ1bGVMaXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjI3MDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcxNTUyMDc4PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9Db250ZW50UnVsZUxpc3ROb3RpZmljYXRpb24ubW06CisgICAgICAg
IChURVNUKToKKyAgICAgICAgKHdlYlNvY2tldEFjY2VwdFZhbHVlKToKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL2NvY29hL0hUVFBTZXJ2ZXIubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpz
dGF0dXNUZXh0KToKKwogMjAyMS0wMy0wMiAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgTWFrZSBidWlsZC53ZWJraXQub3JnIGxvYWRjb25maWcgc2ltaWxh
ciB0byBFV1MKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvQ29udGVudFJ1bGVMaXN0Tm90aWZpY2F0aW9uLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9Db250ZW50UnVsZUxpc3ROb3RpZmljYXRpb24ubW0KaW5kZXggOWM1
YjU1NmU4ZWE5NWMxMGI1NTg0NDg4ZmU1ZmVkNGQ5YzEzODI2MC4uNTdlMDRhZmJmMThkNzAwYmNl
MTFkZDJkZjdhYmU0MGY1NWQyNzI5MSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9Db250ZW50UnVsZUxpc3ROb3RpZmljYXRpb24ubW0KKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Db250ZW50UnVsZUxpc3ROb3RpZmlj
YXRpb24ubW0KQEAgLTI1LDcgKzI1LDExIEBACiAKICNpbXBvcnQgImNvbmZpZy5oIgogCisjaW1w
b3J0ICJIVFRQU2VydmVyLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9y
dCAiVGVzdC5oIgorI2ltcG9ydCAiVGVzdFVJRGVsZWdhdGUuaCIKKyNpbXBvcnQgIlRlc3RVUkxT
Y2hlbWVIYW5kbGVyLmgiCiAjaW1wb3J0IDxXZWJLaXQvV0tDb250ZW50UnVsZUxpc3RQcml2YXRl
Lmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tDb250ZW50UnVsZUxpc3RTdG9yZS5oPgogI2ltcG9ydCA8
V2ViS2l0L1dLTmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZS5oPgpAQCAtMzQsOCArMzgsMTAgQEAK
ICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXcuaD4KICNpbXBvcnQgPFdlYktpdC9fV0tDb250ZW50
UnVsZUxpc3RBY3Rpb24uaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbXBvcnQgPHd0
Zi9TSEExLmg+CiAjaW1wb3J0IDx3dGYvVVJMLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvVmVjdG9y
Q29jb2EuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0L0Jhc2U2NC5oPgogI2ltcG9ydCA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CiAKIHN0YXRpYyBib29sIHJlY2VpdmVkTm90aWZpY2F0aW9uOwpAQCAtMTE3
LDcgKzEyMyw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8V0tDb250ZW50UnVsZUxpc3Q+IG1ha2VDb250
ZW50UnVsZUxpc3QoTlNTdHJpbmcgKnNvdXJjZSwgTlNTdHJpCiAgICAgcmV0dXJuIGNvbnRlbnRS
dWxlTGlzdDsKIH0KIAotVEVTVChXZWJLaXQsIENvbnRlbnRSdWxlTGlzdE5vdGlmaWNhdGlvbk1h
aW5SZXNvdXJjZSkKK1RFU1QoQ29udGVudFJ1bGVMaXN0LCBOb3RpZmljYXRpb25NYWluUmVzb3Vy
Y2UpCiB7CiAgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tDb250ZW50UnVsZUxpc3ROb3Rp
ZmljYXRpb25EZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9
IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CkBAIC0xMzEs
NyArMTM3LDcgQEAgVEVTVChXZWJLaXQsIENvbnRlbnRSdWxlTGlzdE5vdGlmaWNhdGlvbk1haW5S
ZXNvdXJjZSkKICAgICBFWFBFQ1RfU1RSRVEoW25vdGlmaWNhdGlvbklkZW50aWZpZXIgVVRGOFN0
cmluZ10sICJ0ZXN0aWRlbnRpZmllciIpOwogfQogCi1URVNUKFdlYktpdCwgQ29udGVudFJ1bGVM
aXN0Tm90aWZpY2F0aW9uU3VicmVzb3VyY2UpCitURVNUKENvbnRlbnRSdWxlTGlzdCwgTm90aWZp
Y2F0aW9uU3VicmVzb3VyY2UpCiB7CiAgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tDb250
ZW50UnVsZUxpc3ROb3RpZmljYXRpb25EZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwogICAgIGF1dG8g
Y29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBp
bml0XSk7CkBAIC0xNDcsNyArMTUzLDcgQEAgVEVTVChXZWJLaXQsIENvbnRlbnRSdWxlTGlzdE5v
dGlmaWNhdGlvblN1YnJlc291cmNlKQogICAgIEVYUEVDVF9TVFJFUShbbm90aWZpY2F0aW9uSWRl
bnRpZmllciBVVEY4U3RyaW5nXSwgInRlc3RpZGVudGlmaWVyIik7CiB9CiAKLVRFU1QoV2ViS2l0
LCBQZXJmb3JtZWRBY3Rpb25Gb3JVUkwpCitURVNUKENvbnRlbnRSdWxlTGlzdCwgUGVyZm9ybWVk
QWN0aW9uRm9yVVJMKQogewogICAgIE5TU3RyaW5nICpmaXJzdExpc3QgPSBAIlt7XCJhY3Rpb25c
Ijp7XCJ0eXBlXCI6XCJub3RpZnlcIixcIm5vdGlmaWNhdGlvblwiOlwidGVzdG5vdGlmaWNhdGlv
blwifSxcInRyaWdnZXJcIjp7XCJ1cmwtZmlsdGVyXCI6XCJub3RpZnlcIn19XSI7CiAgICAgTlNT
dHJpbmcgKnNlY29uZExpc3QgPSBAIlt7XCJhY3Rpb25cIjp7XCJ0eXBlXCI6XCJibG9ja1wifSxc
InRyaWdnZXJcIjp7XCJ1cmwtZmlsdGVyXCI6XCJibG9ja1wifX1dIjsKQEAgLTE3MSw2ICsxNzcs
MTAxIEBAIFRFU1QoV2ViS2l0LCBQZXJmb3JtZWRBY3Rpb25Gb3JVUkwpCiAgICAgRVhQRUNUX1RS
VUUoZXhwZWN0ZWROb3RpZmljYXRpb25zID09IG5vdGlmaWNhdGlvbkxpc3QpOwogfQogCitzdGF0
aWMgU3RyaW5nIHdlYlNvY2tldEFjY2VwdFZhbHVlKGNvbnN0IFZlY3RvcjxjaGFyPiYgcmVxdWVz
dCkKK3sKKyAgICBjb25zdGV4cHIgYXV0byoga2V5SGVhZGVyRmllbGQgPSAiU2VjLVdlYlNvY2tl
dC1LZXk6ICI7CisgICAgY29uc3QgY2hhcioga2V5QmVnaW4gPSBzdHJuc3RyKHJlcXVlc3QuZGF0
YSgpLCBrZXlIZWFkZXJGaWVsZCwgcmVxdWVzdC5zaXplKCkpICsgc3RybGVuKGtleUhlYWRlckZp
ZWxkKTsKKyAgICBFWFBFQ1RfTk9UX05VTEwoa2V5QmVnaW4pOworICAgIGNvbnN0IGNoYXIqIGtl
eUVuZCA9IHN0cm5zdHIoa2V5QmVnaW4sICJcclxuIiwgcmVxdWVzdC5zaXplKCkgKyAoa2V5QmVn
aW4gLSByZXF1ZXN0LmRhdGEoKSkpOworICAgIEVYUEVDVF9OT1RfTlVMTChrZXlFbmQpOworCisg
ICAgY29uc3RleHByIGF1dG8qIHdlYlNvY2tldEtleUdVSUQgPSAiMjU4RUFGQTUtRTkxNC00N0RB
LTk1Q0EtQzVBQjBEQzg1QjExIjsKKyAgICBTSEExIHNoYTE7CisgICAgc2hhMS5hZGRCeXRlcyhy
ZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihrZXlCZWdpbiksIGtleUVuZCAtIGtleUJl
Z2luKTsKKyAgICBzaGExLmFkZEJ5dGVzKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+
KHdlYlNvY2tldEtleUdVSUQpLCBzdHJsZW4od2ViU29ja2V0S2V5R1VJRCkpOworICAgIFNIQTE6
OkRpZ2VzdCBoYXNoOworICAgIHNoYTEuY29tcHV0ZUhhc2goaGFzaCk7CisgICAgcmV0dXJuIGJh
c2U2NEVuY29kZShoYXNoLmRhdGEoKSwgU0hBMTo6aGFzaFNpemUpOworfQorCitURVNUKENvbnRl
bnRSdWxlTGlzdCwgUmVzb3VyY2VUeXBlcykKK3sKKyAgICB1c2luZyBuYW1lc3BhY2UgVGVzdFdl
YktpdEFQSTsKKyAgICBIVFRQU2VydmVyIHdlYlNvY2tldFNlcnZlcihbXShDb25uZWN0aW9uIGNv
bm5lY3Rpb24pIHsKKyAgICAgICAgY29ubmVjdGlvbi5yZWNlaXZlSFRUUFJlcXVlc3QoWz1dKFZl
Y3RvcjxjaGFyPiYmIHJlcXVlc3QpIHsKKyAgICAgICAgICAgIGNvbm5lY3Rpb24uc2VuZChIVFRQ
UmVzcG9uc2UoMTAxLCB7CisgICAgICAgICAgICAgICAgeyAiVXBncmFkZSIsICJ3ZWJzb2NrZXQi
IH0sCisgICAgICAgICAgICAgICAgeyAiQ29ubmVjdGlvbiIsICJVcGdyYWRlIiB9LAorICAgICAg
ICAgICAgICAgIHsgIlNlYy1XZWJTb2NrZXQtQWNjZXB0Iiwgd2ViU29ja2V0QWNjZXB0VmFsdWUo
cmVxdWVzdCkgfQorICAgICAgICAgICAgfSkuc2VyaWFsaXplKEhUVFBSZXNwb25zZTo6SW5jbHVk
ZUNvbnRlbnRMZW5ndGg6Ok5vKSk7CisgICAgICAgIH0pOworICAgIH0pOworICAgIGF1dG8gc2Vy
dmVyUG9ydCA9IHdlYlNvY2tldFNlcnZlci5wb3J0KCk7CisKKyAgICBhdXRvIGhhbmRsZXIgPSBb
W1Rlc3RVUkxTY2hlbWVIYW5kbGVyIG5ld10gYXV0b3JlbGVhc2VdOworICAgIGhhbmRsZXIuc3Rh
cnRVUkxTY2hlbWVUYXNrSGFuZGxlciA9IF4oV0tXZWJWaWV3ICosIGlkPFdLVVJMU2NoZW1lVGFz
az4gdGFzaykgeworICAgICAgICBhdXRvIHJlc3BvbmQgPSBbdGFza10gKGNvbnN0IGNoYXIqIGh0
bWwpIHsKKyAgICAgICAgICAgIE5TVVJMUmVzcG9uc2UgKnJlc3BvbnNlID0gW1tbTlNVUkxSZXNw
b25zZSBhbGxvY10gaW5pdFdpdGhVUkw6dGFzay5yZXF1ZXN0LlVSTCBNSU1FVHlwZTpAInRleHQv
aHRtbCIgZXhwZWN0ZWRDb250ZW50TGVuZ3RoOnN0cmxlbihodG1sKSB0ZXh0RW5jb2RpbmdOYW1l
Om5pbF0gYXV0b3JlbGVhc2VdOworICAgICAgICAgICAgW3Rhc2sgZGlkUmVjZWl2ZVJlc3BvbnNl
OnJlc3BvbnNlXTsKKyAgICAgICAgICAgIFt0YXNrIGRpZFJlY2VpdmVEYXRhOltOU0RhdGEgZGF0
YVdpdGhCeXRlczpodG1sIGxlbmd0aDpzdHJsZW4oaHRtbCldXTsKKyAgICAgICAgICAgIFt0YXNr
IGRpZEZpbmlzaF07CisgICAgICAgIH07CisgICAgICAgIE5TU3RyaW5nICpwYXRoID0gdGFzay5y
ZXF1ZXN0LlVSTC5wYXRoOworICAgICAgICBpZiAoW3BhdGggaXNFcXVhbFRvU3RyaW5nOkAiL2No
ZWNrV2ViU29ja2V0Lmh0bWwiXSkKKyAgICAgICAgICAgIHJldHVybiByZXNwb25kKFtOU1N0cmlu
ZyBzdHJpbmdXaXRoRm9ybWF0OkAiPHNjcmlwdD52YXIgd3MgPSBuZXcgV2ViU29ja2V0KCd3czov
L2xvY2FsaG9zdDolZC90ZXN0Jyk7d3Mub25vcGVuPSgpPT57YWxlcnQoJ29ub3BlbicpfTt3cy5v
bmVycm9yPSgpPT57YWxlcnQoJ29uZXJyb3InKX08L3NjcmlwdD4iLCBzZXJ2ZXJQb3J0XS5VVEY4
U3RyaW5nKTsKKyAgICAgICAgaWYgKFtwYXRoIGlzRXF1YWxUb1N0cmluZzpAIi9jaGVja0ZldGNo
Lmh0bWwiXSkKKyAgICAgICAgICAgIHJldHVybiByZXNwb25kKCI8c2NyaXB0PmZldGNoKCd0ZXN0
Oi8vL2ZldGNoQ29udGVudCcpLnRoZW4oKCk9PnthbGVydCgnZmV0Y2hlZCcpfSkuY2F0Y2goKCk9
PnthbGVydCgnZGlkIG5vdCBmZXRjaCcpfSk8L3NjcmlwdD4iKTsKKyAgICAgICAgaWYgKFtwYXRo
IGlzRXF1YWxUb1N0cmluZzpAIi9mZXRjaENvbnRlbnQiXSkKKyAgICAgICAgICAgIHJldHVybiBy
ZXNwb25kKCJoZWxsbyIpOworICAgICAgICBpZiAoW3BhdGggaXNFcXVhbFRvU3RyaW5nOkAiL2No
ZWNrWEhSLmh0bWwiXSkKKyAgICAgICAgICAgIHJldHVybiByZXNwb25kKCI8c2NyaXB0PnZhciB4
aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTt4aHIub3BlbignR0VUJywgJ3Rlc3Q6Ly8vZmV0Y2hD
b250ZW50Jyk7eGhyLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e2lmKHhoci5yZWFkeVN0YXRlPT00
KXtzZXRUaW1lb3V0KCgpPT57YWxlcnQoJ3hociBmaW5pc2hlZCcpfSwgMCl9fTt4aHIub25lcnJv
cj0oKT0+e2FsZXJ0KCd4aHIgZXJyb3InKX07eGhyLnNlbmQoKTwvc2NyaXB0PiIpOworCisgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH07CisgICAgYXV0byBjb25maWd1cmF0aW9u
ID0gW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIG5ld10gYXV0b3JlbGVhc2VdOworICAgIFtjb25m
aWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6aGFuZGxlciBmb3JVUkxTY2hlbWU6QCJ0ZXN0
Il07CisgICAgY29uZmlndXJhdGlvbi53ZWJzaXRlRGF0YVN0b3JlID0gW1dLV2Vic2l0ZURhdGFT
dG9yZSBub25QZXJzaXN0ZW50RGF0YVN0b3JlXTsKKyAgICBhdXRvIHdlYlZpZXcgPSBbW1tXS1dl
YlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0WmVybyBjb25maWd1cmF0aW9uOmNvbmZp
Z3VyYXRpb25dIGF1dG9yZWxlYXNlXTsKKworICAgIGF1dG8gbGlzdFdpdGhSZXNvdXJjZVR5cGUg
PSBbXSAoY29uc3QgY2hhciogdHlwZSkgeworICAgICAgICByZXR1cm4gbWFrZUNvbnRlbnRSdWxl
TGlzdChbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIlt7XCJhY3Rpb25cIjp7XCJ0eXBlXCI6
XCJibG9ja1wifSxcInRyaWdnZXJcIjp7XCJ1cmwtZmlsdGVyXCI6XCIuKnRlc3RcIixcInJlc291
cmNlLXR5cGVcIjpbXCIlc1wiXX19XSIsIHR5cGVdKTsKKyAgICB9OworCisgICAgV0tVc2VyQ29u
dGVudENvbnRyb2xsZXIgKnVzZXJDb250ZW50Q29udHJvbGxlciA9IHdlYlZpZXcuY29uZmlndXJh
dGlvbi51c2VyQ29udGVudENvbnRyb2xsZXI7CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05T
VVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInRlc3Q6Ly8v
Y2hlY2tXZWJTb2NrZXQuaHRtbCJdXV07CisgICAgRVhQRUNUX1dLX1NUUkVRKFt3ZWJWaWV3IF90
ZXN0X3dhaXRGb3JBbGVydF0sICJvbm9wZW4iKTsKKyAgICBbdXNlckNvbnRlbnRDb250cm9sbGVy
IGFkZENvbnRlbnRSdWxlTGlzdDpsaXN0V2l0aFJlc291cmNlVHlwZSgid2Vic29ja2V0IikuZ2V0
KCldOworICAgIFt3ZWJWaWV3IHJlbG9hZF07CisgICAgRVhQRUNUX1dLX1NUUkVRKFt3ZWJWaWV3
IF90ZXN0X3dhaXRGb3JBbGVydF0sICJvbmVycm9yIik7CisKKyAgICBbdXNlckNvbnRlbnRDb250
cm9sbGVyIHJlbW92ZUFsbENvbnRlbnRSdWxlTGlzdHNdOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1
ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJ0
ZXN0Oi8vL2NoZWNrRmV0Y2guaHRtbCJdXV07CisgICAgRVhQRUNUX1dLX1NUUkVRKFt3ZWJWaWV3
IF90ZXN0X3dhaXRGb3JBbGVydF0sICJmZXRjaGVkIik7CisgICAgW3VzZXJDb250ZW50Q29udHJv
bGxlciBhZGRDb250ZW50UnVsZUxpc3Q6bGlzdFdpdGhSZXNvdXJjZVR5cGUoImZldGNoIikuZ2V0
KCldOworICAgIFt3ZWJWaWV3IHJlbG9hZF07CisgICAgRVhQRUNUX1dLX1NUUkVRKFt3ZWJWaWV3
IF90ZXN0X3dhaXRGb3JBbGVydF0sICJkaWQgbm90IGZldGNoIik7CisgICAgCisgICAgW3dlYlZp
ZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0
aFN0cmluZzpAInRlc3Q6Ly8vY2hlY2tYSFIuaHRtbCJdXV07CisgICAgRVhQRUNUX1dLX1NUUkVR
KFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JBbGVydF0sICJ4aHIgZXJyb3IiKTsKKyAgICBFWFBFQ1Rf
V0tfU1RSRVEoW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckFsZXJ0XSwgInhociBmaW5pc2hlZCIpOwor
ICAgIFt1c2VyQ29udGVudENvbnRyb2xsZXIgcmVtb3ZlQWxsQ29udGVudFJ1bGVMaXN0c107Cisg
ICAgW3dlYlZpZXcgcmVsb2FkXTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoW3dlYlZpZXcgX3Rlc3Rf
d2FpdEZvckFsZXJ0XSwgInhociBmaW5pc2hlZCIpOworICAgIAorICAgIEhUVFBTZXJ2ZXIgYmVh
Y29uU2VydmVyKHsKKyAgICAgICAgeyAiLyIsIHsgIjxzY3JpcHQ+bmF2aWdhdG9yLnNlbmRCZWFj
b24oJy90ZXN0QmVhY29uVGFyZ2V0JywgJ2hlbGxvJyk7ZmV0Y2goJy90ZXN0RmV0Y2hUYXJnZXQn
KS50aGVuKCgpPT57YWxlcnQoJ2ZldGNoIGRvbmUnKX0pPC9zY3JpcHQ+IiB9IH0sCisgICAgICAg
IHsgIi90ZXN0QmVhY29uVGFyZ2V0IiwgeyAiaGkiIH0gfSwKKyAgICAgICAgeyAiL3Rlc3RGZXRj
aFRhcmdldCIsIHsgImhpIiB9IH0sCisgICAgfSk7CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6
YmVhY29uU2VydmVyLnJlcXVlc3QoKV07CisgICAgRVhQRUNUX1dLX1NUUkVRKFt3ZWJWaWV3IF90
ZXN0X3dhaXRGb3JBbGVydF0sICJmZXRjaCBkb25lIik7CisgICAgRVhQRUNUX0VRKGJlYWNvblNl
cnZlci50b3RhbFJlcXVlc3RzKCksIDN1KTsKKyAgICBbdXNlckNvbnRlbnRDb250cm9sbGVyIGFk
ZENvbnRlbnRSdWxlTGlzdDpsaXN0V2l0aFJlc291cmNlVHlwZSgib3RoZXIiKS5nZXQoKV07Cisg
ICAgW3dlYlZpZXcgcmVsb2FkXTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoW3dlYlZpZXcgX3Rlc3Rf
d2FpdEZvckFsZXJ0XSwgImZldGNoIGRvbmUiKTsKKyAgICBFWFBFQ1RfRVEoYmVhY29uU2VydmVy
LnRvdGFsUmVxdWVzdHMoKSwgNXUpOworfQorCiBURVNUKENvbnRlbnRSdWxlTGlzdCwgU3VwcG9y
dHNSZWdleCkKIHsKICAgICBOU0FycmF5PE5TU3RyaW5nICo+ICphbGxvd2VkID0gQFsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZlci5tbSBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZlci5tbQppbmRleCAwMTM2NjVlZGQ4ZjFkNWVhNzJm
ODM0N2Y0ODE1MWNlZmNhMTIyYjM1Li45ZTQ2Yzg2OTdhMWEwMWQ5NmRjNzE1MzJiNmRlMjNmMGQx
OWI5YWVhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL0hUVFBTZXJ2ZXIu
bW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9IVFRQU2VydmVyLm1tCkBAIC0xNzIs
NiArMTcyLDggQEAgc2l6ZV90IEhUVFBTZXJ2ZXI6OnRvdGFsUmVxdWVzdHMoKSBjb25zdAogc3Rh
dGljIFN0cmluZyBzdGF0dXNUZXh0KHVuc2lnbmVkIHN0YXR1c0NvZGUpCiB7CiAgICAgc3dpdGNo
IChzdGF0dXNDb2RlKSB7CisgICAgY2FzZSAxMDE6CisgICAgICAgIHJldHVybiAiU3dpdGNoaW5n
IFByb3RvY29scyJfczsKICAgICBjYXNlIDIwMDoKICAgICAgICAgcmV0dXJuICJPSyJfczsKICAg
ICBjYXNlIDMwMToK
</data>

          </attachment>
      

    </bug>

</bugzilla>