<?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>184098</bug_id>
          
          <creation_ts>2018-03-28 10:58:17 -0700</creation_ts>
          <short_desc>NetworkLoadChecker should upgrade redirects if needed</short_desc>
          <delta_ts>2018-03-30 14:51:24 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>mkwst</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1409924</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-03-28 10:58:17 -0700</bug_when>
    <thetext>NetworkLoadChecker should upgrade redirects if needed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409927</commentid>
    <comment_count>1</comment_count>
      <attachid>336678</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-03-28 11:05:39 -0700</bug_when>
    <thetext>Created attachment 336678
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410051</commentid>
    <comment_count>2</comment_count>
      <attachid>336718</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-03-28 14:14:50 -0700</bug_when>
    <thetext>Created attachment 336718
Fixing WPT lint</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410708</commentid>
    <comment_count>3</comment_count>
      <attachid>336880</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-03-30 12:59:30 -0700</bug_when>
    <thetext>Created attachment 336880
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410739</commentid>
    <comment_count>4</comment_count>
      <attachid>336880</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-30 14:50:07 -0700</bug_when>
    <thetext>Comment on attachment 336880
Patch

Clearing flags on attachment: 336880

Committed r230118: &lt;https://trac.webkit.org/changeset/230118&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410740</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-30 14:50:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410741</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-30 14:51:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/39053758&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336678</attachid>
            <date>2018-03-28 11:05:39 -0700</date>
            <delta_ts>2018-03-28 14:14:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184098-20180328110539.patch</filename>
            <type>text/plain</type>
            <size>22027</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwMDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTlhODkyM2M0YjI3Yzc3
ZGY5OGQ5MTNiMWNmNDhkMzRiNTliZTRiMi4uMzZhYTUzZDc5MTY5ZGZlY2IxMjExMzE3Y2IzZTNk
YWQzNWFjOTg3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE4LTAzLTI4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrTG9hZENoZWNr
ZXIgc2hvdWxkIHVwZ3JhZGUgcmVkaXJlY3RzIGlmIG5lZWRlZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0MDk4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9iZWFjb24vdXBncmFkZS1iZWFjb24uaHR0cHMuaHRtbAorCisgICAgICAgIE1h
a2UgQ29udGVudFNlY3VyaXR5UG9saWN5IHRha2UgYSBTZWN1cml0eU9yaWdpbkRhdGEgc2luY2Ug
aXQgb25seSB1c2VzIHByb3RvY29sL2hvc3QvcG9ydCB0cmlwbGUuCisgICAgICAgIFVwZGF0ZSBj
YWxsZXJzIGFjY29yZGluZ2x5LgorCisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKToK
KyAgICAgICAgKiBsb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpNYWluVGhy
ZWFkQnJpZGdlKToKKyAgICAgICAgKiBwYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjpDb250ZW50U2VjdXJp
dHlQb2xpY3kpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5Ojp1cGRh
dGVTb3VyY2VTZWxmKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6
YXBwbHlQb2xpY3lUb1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgorICAgICAgICAqIHBhZ2UvY3Nw
L0NvbnRlbnRTZWN1cml0eVBvbGljeS5oOgorCiAyMDE4LTAzLTI3ICBNaWNoYWVsIENhdGFuemFy
byAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByMjMwMDA4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0YmJjNWQ1NWQyN2NiMTlmYWEzYzYzNTE1MjM1ZTFl
MTBiZjkzYTMwLi5kMWJkNDQwZTVhZTdjOWMyN2Q0YTlmYjBhNDM5MmZkZGM3NmM5MTFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE4LTAzLTI4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrTG9hZENoZWNrZXIgc2hvdWxkIHVwZ3JhZGUg
cmVkaXJlY3RzIGlmIG5lZWRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTg0MDk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW4gY2FzZSBvZiByZWRpcmVjdGlvbnMsIHVwZ3JhZGUgVVJMIGFjY29yZGlu
ZyBDU1AuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrTG9hZENoZWNrZXI6OmNoZWNrUmVxdWVzdCk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkQ2hlY2tlcjo6Y29udGVudFNlY3VyaXR5UG9saWN5
IGNvbnN0KToKKwogMjAxOC0wMy0yNyAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGln
YWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZml4IHR5cG8gaW4gdmFyaWFibGUgbmFt
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKaW5kZXggY2Y5ZWYyZGNh
MTJjM2I0MGRmNzc1NzNhMjgwODgxN2I5ZmE0ZTU5Mi4uYmJhOGZkNjA3NWFkNjI0MzU1ZDc5Mzg1
NWRhMDhjMTdjMTk0MmMzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIu
Y3BwCkBAIC03NDksNyArNzQ5LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6cmVzcG9uc2VSZWNl
aXZlZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgQ29tcGxldGkKICAgICAKICAg
ICBhdXRvIHVybCA9IHJlc3BvbnNlLnVybCgpOwogCi0gICAgQ29udGVudFNlY3VyaXR5UG9saWN5
IGNvbnRlbnRTZWN1cml0eVBvbGljeShTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHVybCksIG1fZnJh
bWUpOworICAgIENvbnRlbnRTZWN1cml0eVBvbGljeSBjb250ZW50U2VjdXJpdHlQb2xpY3koU2Vj
dXJpdHlPcmlnaW5EYXRhOjpmcm9tVVJMKHVybCksIG1fZnJhbWUpOwogICAgIGNvbnRlbnRTZWN1
cml0eVBvbGljeS5kaWRSZWNlaXZlSGVhZGVycyhDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMocmVzcG9uc2UpKTsKICAgICBpZiAoIWNvbnRlbnRTZWN1cml0eVBvbGljeS5hbGxv
d0ZyYW1lQW5jZXN0b3JzKCptX2ZyYW1lLCB1cmwpKSB7CiAgICAgICAgIHN0b3BMb2FkaW5nQWZ0
ZXJYRnJhbWVPcHRpb25zT3JDb250ZW50U2VjdXJpdHlQb2xpY3lEZW5pZWQoaWRlbnRpZmllciwg
cmVzcG9uc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVh
ZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVM
b2FkZXIuY3BwCmluZGV4IGQ2ZjVkYzkzYWVjYzY1YjMyOTNkNzU4MzE1MDgzOTA1OWUyMTEzMzIu
LmUwYzc0MGRlNTk0NTA1ODllZGJlZDA1ZGM0Y2Q1ZWIwZTYzMjI3M2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTExNiw3ICsx
MTYsNyBAQCBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpNYWluVGhy
ZWFkQnJpZGdlKFRocmVhZGFibGVMb2FkZXJDbGllbgogICAgIEFTU0VSVChjb250ZW50U2VjdXJp
dHlQb2xpY3kpOwogCiAgICAgYXV0byBzZWN1cml0eU9yaWdpbkNvcHkgPSBzZWN1cml0eU9yaWdp
bi0+aXNvbGF0ZWRDb3B5KCk7Ci0gICAgYXV0byBjb250ZW50U2VjdXJpdHlQb2xpY3lDb3B5ID0g
c3RkOjptYWtlX3VuaXF1ZTxDb250ZW50U2VjdXJpdHlQb2xpY3k+KHNlY3VyaXR5T3JpZ2luQ29w
eSk7CisgICAgYXV0byBjb250ZW50U2VjdXJpdHlQb2xpY3lDb3B5ID0gc3RkOjptYWtlX3VuaXF1
ZTxDb250ZW50U2VjdXJpdHlQb2xpY3k+KHNlY3VyaXR5T3JpZ2luQ29weS0+ZGF0YSgpKTsKICAg
ICBjb250ZW50U2VjdXJpdHlQb2xpY3lDb3B5LT5jb3B5U3RhdGVGcm9tKGNvbnRlbnRTZWN1cml0
eVBvbGljeSk7CiAgICAgY29udGVudFNlY3VyaXR5UG9saWN5Q29weS0+Y29weVVwZ3JhZGVJbnNl
Y3VyZVJlcXVlc3RTdGF0ZUZyb20oKmNvbnRlbnRTZWN1cml0eVBvbGljeSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCmluZGV4IDBj
MjAzNmY3NmZhOGIyOTAzMDRlOTc2ZmFhMDQwYzljYzU4ZWQ4NjEuLjNhZmQ0MzQ4NjJhZDZhYWYz
ZGVlYzIzM2EyMmUxYWE3NjkyMzdkODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Y3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9j
c3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAtOTMsMTQgKzkzLDE0IEBAIENvbnRlbnRT
ZWN1cml0eVBvbGljeTo6Q29udGVudFNlY3VyaXR5UG9saWN5KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIHNjcmlwdEV4ZWN1CiAgICAgLCBtX3NhbmRib3hGbGFncyhTYW5kYm94Tm9uZSkKIHsKICAg
ICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5zZWN1cml0eU9yaWdpbigpKTsKLSAgICB1
cGRhdGVTb3VyY2VTZWxmKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0LnNlY3VyaXR5T3JpZ2luKCkp
OworICAgIHVwZGF0ZVNvdXJjZVNlbGYoc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5zZWN1cml0eU9y
aWdpbigpLT5kYXRhKCkpOwogfQogCi1Db250ZW50U2VjdXJpdHlQb2xpY3k6OkNvbnRlbnRTZWN1
cml0eVBvbGljeShjb25zdCBTZWN1cml0eU9yaWdpbiYgc2VjdXJpdHlPcmlnaW4sIGNvbnN0IEZy
YW1lKiBmcmFtZSkKK0NvbnRlbnRTZWN1cml0eVBvbGljeTo6Q29udGVudFNlY3VyaXR5UG9saWN5
KGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgc2VjdXJpdHlPcmlnaW5EYXRhLCBjb25zdCBGcmFt
ZSogZnJhbWUpCiAgICAgOiBtX2ZyYW1lKGZyYW1lKQogICAgICwgbV9zYW5kYm94RmxhZ3MoU2Fu
ZGJveE5vbmUpCiB7Ci0gICAgdXBkYXRlU291cmNlU2VsZihzZWN1cml0eU9yaWdpbik7CisgICAg
dXBkYXRlU291cmNlU2VsZihzZWN1cml0eU9yaWdpbkRhdGEpOwogfQogCiBDb250ZW50U2VjdXJp
dHlQb2xpY3k6On5Db250ZW50U2VjdXJpdHlQb2xpY3koKSA9IGRlZmF1bHQ7CkBAIC0yMTQsMTAg
KzIxNCwxMCBAQCB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6ZGlkUmVjZWl2ZUhlYWRlcihj
b25zdCBTdHJpbmcmIGhlYWRlciwgQ29udGVudFNlY3VyaQogICAgICAgICBhcHBseVBvbGljeVRv
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwogfQogCi12b2lkIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6dXBkYXRlU291cmNlU2VsZihjb25zdCBTZWN1cml0eU9yaWdpbiYgc2VjdXJpdHlPcmlnaW4p
Cit2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6dXBkYXRlU291cmNlU2VsZihjb25zdCBTZWN1
cml0eU9yaWdpbkRhdGEmIHNlY3VyaXR5T3JpZ2luRGF0YSkKIHsKLSAgICBtX3NlbGZTb3VyY2VQ
cm90b2NvbCA9IHNlY3VyaXR5T3JpZ2luLnByb3RvY29sKCk7Ci0gICAgbV9zZWxmU291cmNlID0g
c3RkOjptYWtlX3VuaXF1ZTxDb250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2U+KCp0aGlzLCBtX3Nl
bGZTb3VyY2VQcm90b2NvbCwgc2VjdXJpdHlPcmlnaW4uaG9zdCgpLCBzZWN1cml0eU9yaWdpbi5w
b3J0KCksIGVtcHR5U3RyaW5nKCksIGZhbHNlLCBmYWxzZSk7CisgICAgbV9zZWxmU291cmNlUHJv
dG9jb2wgPSBzZWN1cml0eU9yaWdpbkRhdGEucHJvdG9jb2w7CisgICAgbV9zZWxmU291cmNlID0g
c3RkOjptYWtlX3VuaXF1ZTxDb250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2U+KCp0aGlzLCBtX3Nl
bGZTb3VyY2VQcm90b2NvbCwgc2VjdXJpdHlPcmlnaW5EYXRhLmhvc3QsIHNlY3VyaXR5T3JpZ2lu
RGF0YS5wb3J0LCBlbXB0eVN0cmluZygpLCBmYWxzZSwgZmFsc2UpOwogfQogCiB2b2lkIENvbnRl
bnRTZWN1cml0eVBvbGljeTo6YXBwbHlQb2xpY3lUb1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKQpA
QCAtMjI4LDcgKzIyOCw3IEBAIHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5OjphcHBseVBvbGlj
eVRvU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpCiAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBtYXkg
aGF2ZSBiZWVuIGluaXRpYWxseSBjcmVhdGVkIGZvciBhbiBhYm91dDpibGFuayBpZnJhbWUgdGhh
dCBsYXRlciBpbmhlcml0ZWQgdGhlCiAgICAgLy8gc2VjdXJpdHkgb3JpZ2luIG9mIGl0cyBvd25l
ciBkb2N1bWVudC4KICAgICBBU1NFUlQobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5zZWN1cml0
eU9yaWdpbigpKTsKLSAgICB1cGRhdGVTb3VyY2VTZWxmKCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQtPnNlY3VyaXR5T3JpZ2luKCkpOworICAgIHVwZGF0ZVNvdXJjZVNlbGYobV9zY3JpcHRFeGVj
dXRpb25Db250ZXh0LT5zZWN1cml0eU9yaWdpbigpLT5kYXRhKCkpOwogCiAgICAgYm9vbCBlbmFi
bGVTdHJpY3RNaXhlZENvbnRlbnRNb2RlID0gZmFsc2U7CiAgICAgZm9yIChhdXRvJiBwb2xpY3kg
OiBtX3BvbGljaWVzKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250
ZW50U2VjdXJpdHlQb2xpY3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1
cml0eVBvbGljeS5oCmluZGV4IDY2OWE4ZmZlNDAzZTdlMjk0Y2U3YTM2OWM4NzA0NGIxZmZmYTY5
ZWYuLjEzODcwNDhlZDE2MTAwMDZjZTcwZjJlZDk1ZTc0MmI5MTIyMzMxYWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCkBAIC02NSw3ICs2
NSw3IEBAIGNsYXNzIENvbnRlbnRTZWN1cml0eVBvbGljeSB7CiAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgQ29udGVudFNlY3VyaXR5UG9saWN5KFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBleHBsaWNpdCBDb250
ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgU2VjdXJpdHlPcmlnaW4mLCBjb25zdCBGcmFtZSogPSBu
dWxscHRyKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBleHBsaWNpdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3koY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiwgY29uc3QgRnJhbWUqID0gbnVsbHB0cik7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgfkNvbnRlbnRTZWN1cml0eVBvbGljeSgpOwogCiAgICAgdm9pZCBj
b3B5U3RhdGVGcm9tKGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeSopOwpAQCAtMTYyLDcgKzE2
Miw3IEBAIHB1YmxpYzoKICAgICBib29sIHVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RzKCkgY29uc3Qg
eyByZXR1cm4gbV91cGdyYWRlSW5zZWN1cmVSZXF1ZXN0czsgfQogICAgIGVudW0gY2xhc3MgSW5z
ZWN1cmVSZXF1ZXN0VHlwZSB7IExvYWQsIEZvcm1TdWJtaXNzaW9uLCBOYXZpZ2F0aW9uIH07CiAg
ICAgdm9pZCB1cGdyYWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQoUmVzb3VyY2VSZXF1ZXN0Jiwg
SW5zZWN1cmVSZXF1ZXN0VHlwZSkgY29uc3Q7Ci0gICAgdm9pZCB1cGdyYWRlSW5zZWN1cmVSZXF1
ZXN0SWZOZWVkZWQoVVJMJiwgSW5zZWN1cmVSZXF1ZXN0VHlwZSkgY29uc3Q7CisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCB1cGdyYWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQoVVJMJiwgSW5zZWN1
cmVSZXF1ZXN0VHlwZSkgY29uc3Q7CiAKICAgICBIYXNoU2V0PFNlY3VyaXR5T3JpZ2luRGF0YT4g
dGFrZU5hdmlnYXRpb25SZXF1ZXN0c1RvVXBncmFkZSgpOwogICAgIHZvaWQgaW5oZXJpdEluc2Vj
dXJlTmF2aWdhdGlvblJlcXVlc3RzVG9VcGdyYWRlRnJvbU9wZW5lcihjb25zdCBDb250ZW50U2Vj
dXJpdHlQb2xpY3kmKTsKQEAgLTE3MCw3ICsxNzAsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAg
ICAgdm9pZCBsb2dUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcm
IGNvbnRleHRVUkwgPSBTdHJpbmcoKSwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0
TGluZSA9IFdURjo6T3JkaW5hbE51bWJlcjo6YmVmb3JlRmlyc3QoKSwgSlNDOjpFeGVjU3RhdGUq
ID0gbnVsbHB0cikgY29uc3Q7Ci0gICAgdm9pZCB1cGRhdGVTb3VyY2VTZWxmKGNvbnN0IFNlY3Vy
aXR5T3JpZ2luJik7CisgICAgdm9pZCB1cGRhdGVTb3VyY2VTZWxmKGNvbnN0IFNlY3VyaXR5T3Jp
Z2luRGF0YSYpOwogICAgIHZvaWQgYXBwbHlQb2xpY3lUb1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KTsKIAogICAgIGNvbnN0IFRleHRFbmNvZGluZyYgZG9jdW1lbnRFbmNvZGluZygpIGNvbnN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNr
ZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIu
Y3BwCmluZGV4IGE2M2U2ZWE1ZDkxNDZlMWM0ZTIwYjVkZWM3YTI4Y2NmMTRjOWNlNjQuLjQxMjY5
MjM4MzlkMWZjOGRhZGI5MzgzZmQ5MGFkZGRkZDdlMmZkNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHAKQEAgLTEwMiw2ICsx
MDIsMTMgQEAgdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNoZWNrUmVxdWVzdChSZXNvdXJjZVJl
cXVlc3QmJiByZXF1ZXN0LCBWYWxpZGF0aW9uSGFuZGwKICNlbmRpZgogCiAgICAgaWYgKGF1dG8q
IGNvbnRlbnRTZWN1cml0eVBvbGljeSA9IHRoaXMtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpKSB7
CisgICAgICAgIGlmIChpc1JlZGlyZWN0ZWQoKSkgeworICAgICAgICAgICAgVVJMIHVybCA9IHJl
cXVlc3QudXJsKCk7CisgICAgICAgICAgICBhdXRvIHR5cGUgPSBtX21vZGUgPT0gRmV0Y2hPcHRp
b25zOjpNb2RlOjpOYXZpZ2F0ZSA/IENvbnRlbnRTZWN1cml0eVBvbGljeTo6SW5zZWN1cmVSZXF1
ZXN0VHlwZTo6TmF2aWdhdGlvbiA6IENvbnRlbnRTZWN1cml0eVBvbGljeTo6SW5zZWN1cmVSZXF1
ZXN0VHlwZTo6TG9hZDsKKyAgICAgICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeS0+dXBncmFk
ZUluc2VjdXJlUmVxdWVzdElmTmVlZGVkKHVybCwgdHlwZSk7CisgICAgICAgICAgICBpZiAodXJs
ICE9IHJlcXVlc3QudXJsKCkpCisgICAgICAgICAgICAgICAgcmVxdWVzdC5zZXRVUkwodXJsKTsK
KyAgICAgICAgfQogICAgICAgICBpZiAoIWNvbnRlbnRTZWN1cml0eVBvbGljeS0+YWxsb3dDb25u
ZWN0VG9Tb3VyY2UocmVxdWVzdC51cmwoKSwgaXNSZWRpcmVjdGVkKCkgPyBDb250ZW50U2VjdXJp
dHlQb2xpY3k6OlJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6WWVzIDogQ29udGVudFNlY3VyaXR5
UG9saWN5OjpSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6Ok5vKSkgewogICAgICAgICAgICAgaGFu
ZGxlcihyZXR1cm5FcnJvcihBU0NJSUxpdGVyYWwoIkJsb2NrZWQgYnkgQ29udGVudCBTZWN1cml0
eSBQb2xpY3kiKSkpOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjE1LDcgKzIyMiw3IEBAIGJv
b2wgTmV0d29ya0xvYWRDaGVja2VyOjpkb2VzTm90TmVlZENPUlNDaGVjayhjb25zdCBVUkwmIHVy
bCkgY29uc3QKIENvbnRlbnRTZWN1cml0eVBvbGljeSogTmV0d29ya0xvYWRDaGVja2VyOjpjb250
ZW50U2VjdXJpdHlQb2xpY3koKSBjb25zdAogewogICAgIGlmICghbV9jb250ZW50U2VjdXJpdHlQ
b2xpY3kgJiYgbV9jc3BSZXNwb25zZUhlYWRlcnMpIHsKLSAgICAgICAgbV9jb250ZW50U2VjdXJp
dHlQb2xpY3kgPSBzdGQ6Om1ha2VfdW5pcXVlPENvbnRlbnRTZWN1cml0eVBvbGljeT4oKm1fb3Jp
Z2luKTsKKyAgICAgICAgbV9jb250ZW50U2VjdXJpdHlQb2xpY3kgPSBzdGQ6Om1ha2VfdW5pcXVl
PENvbnRlbnRTZWN1cml0eVBvbGljeT4obV9vcmlnaW4tPmRhdGEoKSk7CiAgICAgICAgIG1fY29u
dGVudFNlY3VyaXR5UG9saWN5LT5kaWRSZWNlaXZlSGVhZGVycygqbV9jc3BSZXNwb25zZUhlYWRl
cnMsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0UGFyc2luZ0Vycm9yczo6Tm8pOwogICAg
IH0KICAgICByZXR1cm4gbV9jb250ZW50U2VjdXJpdHlQb2xpY3kuZ2V0KCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBlMzYwODM1YjA0OTY0ZDBkOTExYzYyMmViMjk4OWYzYWVh
M2Q0M2I1Li4yNWIwNTRkMGQ0YmM4ZWQ2N2E1ZmY1NDA0MGNjMzc3OGI2NTY0MDU5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOC0wMy0yOCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTmV0d29ya0xvYWRDaGVj
a2VyIHNob3VsZCB1cGdyYWRlIHJlZGlyZWN0cyBpZiBuZWVkZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDA5OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNv
bi9yZXNvdXJjZXMvYmVhY29uLXByZWZsaWdodC5weTogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2JlYWNvbi9yZXNvdXJjZXMvcmVkaXJlY3QucHk6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vcmVzb3VyY2VzL3VwZ3JhZGUtaWZyYW1lLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vcmVzb3VyY2Vz
L3VwZ3JhZGUtcmVkaXJlY3QtaWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9iZWFjb24vdXBncmFkZS1iZWFjb24uaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL3VwZ3JhZGUtYmVhY29uLmh0
dHBzLmh0bWw6IEFkZGVkLgorCiAyMDE4LTAzLTIzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgV1BUIHRvb2xzIHRvIGExZWMzMzAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL3Jl
c291cmNlcy9iZWFjb24tcHJlZmxpZ2h0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vcmVzb3VyY2VzL2JlYWNvbi1wcmVmbGlnaHQucHkKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZDMxOTY5MjkxM2VmMzIzZjZlZTY5OTM1NWMyZTlmNmYyMTJhZjkxMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
YmVhY29uL3Jlc291cmNlcy9iZWFjb24tcHJlZmxpZ2h0LnB5CkBAIC0wLDAgKzEsNTUgQEAKK2lt
cG9ydCBqc29uCisKK2RlZiByZXNwb25kVG9DT1JTUHJlZmxpZ2h0KHJlcXVlc3QsIHJlc3BvbnNl
KToKKyAgYWxsb3dfY29ycyA9IGludChyZXF1ZXN0LkdFVC5maXJzdCgiYWxsb3dDb3JzIiwgMCkp
ICE9IDA7CisgIAorICBpZiBub3QgYWxsb3dfY29yczoKKyAgICByZXNwb25zZS5zZXRfZXJyb3Io
NDAwLCAiTm90IGFsbG93ZWQiKQorICAgIHJldHVybiAiRVJST1I6IE5vdCBhbGxvd2VkIgorICAK
KyAgaWYgbm90ICJBY2Nlc3MtQ29udHJvbC1SZXF1ZXN0LU1ldGhvZCIgaW4gcmVxdWVzdC5oZWFk
ZXJzOgorICAgIHJlc3BvbnNlLnNldF9lcnJvcig0MDAsICJObyBBY2Nlc3MtQ29udHJvbC1SZXF1
ZXN0LU1ldGhvZCBoZWFkZXIiKQorICAgIHJldHVybiAiRVJST1I6IE5vIGFjY2Vzcy1jb250cm9s
LXJlcXVlc3QtbWV0aG9kIGluIHByZWZsaWdodCEiCisgIAorICBoZWFkZXJzID0gWygiQ29udGVu
dC1UeXBlIiwgInRleHQvcGxhaW4iKV0KKyAgaGVhZGVycy5hcHBlbmQoKCJBY2Nlc3MtQ29udHJv
bC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJPcmlnaW4iLCAiKiIpKSkKKyAg
aGVhZGVycy5hcHBlbmQoKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsICJ0cnVl
IikpCisgIHJlcXVlc3RlZF9tZXRob2QgPSByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJBY2Nlc3MtQ29u
dHJvbC1SZXF1ZXN0LU1ldGhvZCIsIE5vbmUpCisgIGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNzLUNv
bnRyb2wtQWxsb3ctTWV0aG9kcyIsIHJlcXVlc3RlZF9tZXRob2QpKQorICByZXF1ZXN0ZWRfaGVh
ZGVycyA9IHJlcXVlc3QuaGVhZGVycy5nZXQoIkFjY2Vzcy1Db250cm9sLVJlcXVlc3QtSGVhZGVy
cyIsIE5vbmUpCisgIGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVy
cyIsIHJlcXVlc3RlZF9oZWFkZXJzKSkKKyAgaGVhZGVycy5hcHBlbmQoKCJBY2Nlc3MtQ29udHJv
bC1NYXgtQWdlIiwgIjYwIikpCisgIHJldHVybiBoZWFkZXJzLCAiIgorCitkZWYgbWFpbihyZXF1
ZXN0LCByZXNwb25zZSk6CisgIGNvbW1hbmQgPSByZXF1ZXN0LkdFVC5maXJzdCgiY21kIikubG93
ZXIoKTsKKyAgdGVzdF9pZCA9IHJlcXVlc3QuR0VULmZpcnN0KCJpZCIpCisgIHN0YXNoZWRfZGF0
YSA9IHJlcXVlc3Quc2VydmVyLnN0YXNoLnRha2UodGVzdF9pZCkKKyAgaWYgc3Rhc2hlZF9kYXRh
IGlzIE5vbmU6CisgICAgc3Rhc2hlZF9kYXRhID0geyAncHJlZmxpZ2h0JzogMCwgJ2JlYWNvbic6
IDAsICdwcmVmbGlnaHRfcmVxdWVzdGVkX21ldGhvZCc6ICcnLCAncHJlZmxpZ2h0X3JlcXVlc3Rl
ZF9oZWFkZXJzJzogJycsICdwcmVmbGlnaHRfcmVmZXJyZXInOiAnJywgJ3ByZWZsaWdodF9jb29r
aWVfaGVhZGVyJzogJycsICdiZWFjb25fY29va2llX2hlYWRlcic6ICcnIH0KKworICBpZiBjb21t
YW5kID09ICJwdXQiOgorICAgIGlmIHJlcXVlc3QubWV0aG9kID09ICJPUFRJT05TIjoKKyAgICAg
IHN0YXNoZWRfZGF0YVsncHJlZmxpZ2h0J10gPSAxOworICAgICAgc3Rhc2hlZF9kYXRhWydwcmVm
bGlnaHRfcmVxdWVzdGVkX21ldGhvZCddID0gcmVxdWVzdC5oZWFkZXJzLmdldCgiQWNjZXNzLUNv
bnRyb2wtUmVxdWVzdC1NZXRob2QiLCAiIikKKyAgICAgIHN0YXNoZWRfZGF0YVsncHJlZmxpZ2h0
X3JlcXVlc3RlZF9oZWFkZXJzJ10gPSByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJBY2Nlc3MtQ29udHJv
bC1SZXF1ZXN0LUhlYWRlcnMiLCAiIikKKyAgICAgIHN0YXNoZWRfZGF0YVsncHJlZmxpZ2h0X2Nv
b2tpZV9oZWFkZXInXSA9IHJlcXVlc3QuaGVhZGVycy5nZXQoIkNvb2tpZSIsICIiKTsKKyAgICAg
IHN0YXNoZWRfZGF0YVsncHJlZmxpZ2h0X3JlZmVyZXInXSA9IHJlcXVlc3QuaGVhZGVycy5nZXQo
IlJlZmVyZXIiLCAiIikKKyAgICAgIHN0YXNoZWRfZGF0YVsncHJlZmxpZ2h0X29yaWdpbiddID0g
cmVxdWVzdC5oZWFkZXJzLmdldCgiT3JpZ2luIiwgIiIpCisgICAgICByZXF1ZXN0LnNlcnZlci5z
dGFzaC5wdXQodGVzdF9pZCwgc3Rhc2hlZF9kYXRhKQorICAgICAgcmV0dXJuIHJlc3BvbmRUb0NP
UlNQcmVmbGlnaHQocmVxdWVzdCwgcmVzcG9uc2UpCisgICAgZWxpZiByZXF1ZXN0Lm1ldGhvZCA9
PSAiUE9TVCI6CisgICAgICBzdGFzaGVkX2RhdGFbJ2JlYWNvbiddID0gMTsKKyAgICAgIHN0YXNo
ZWRfZGF0YVsnYmVhY29uX2Nvb2tpZV9oZWFkZXInXSA9IHJlcXVlc3QuaGVhZGVycy5nZXQoIkNv
b2tpZSIsICIiKQorICAgICAgc3Rhc2hlZF9kYXRhWydiZWFjb25fb3JpZ2luJ10gPSByZXF1ZXN0
LmhlYWRlcnMuZ2V0KCJPcmlnaW4iLCAiIikKKyAgICAgIHN0YXNoZWRfZGF0YVsndXJsJ10gPSBy
ZXF1ZXN0LnVybAorICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRlc3RfaWQsIHN0YXNo
ZWRfZGF0YSkKKyAgICByZXR1cm4gWygiQ29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKV0sICIi
CisKKyAgaWYgY29tbWFuZCA9PSAiZ2V0IjoKKyAgICBpZiBzdGFzaGVkX2RhdGEgaXMgbm90IE5v
bmU6CisgICAgICByZXR1cm4gWygiQ29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKV0sIGpzb24u
ZHVtcHMoc3Rhc2hlZF9kYXRhKQorICAgIHJldHVybiBbKCJDb250ZW50LVR5cGUiLCAidGV4dC9w
bGFpbiIpXSwgIiIKKworICByZXNwb25zZS5zZXRfZXJyb3IoNDAwLCAiQmFkIENvbW1hbmQiKQor
ICByZXR1cm4gIkVSUk9SOiBCYWQgQ29tbWFuZCEiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9yZXNvdXJjZXMvcmVkaXJlY3Qu
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9y
ZXNvdXJjZXMvcmVkaXJlY3QucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzljNTc0YzQwMmYwMmE5YjVjOThkOWVk
ZmM0NjQ0MjZlNTdhYWM1OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL3Jlc291cmNlcy9yZWRpcmVjdC5weQpAQCAt
MCwwICsxLDYzIEBACitmcm9tIHVybGxpYiBpbXBvcnQgdXJsZW5jb2RlCitmcm9tIHVybHBhcnNl
IGltcG9ydCB1cmxwYXJzZQorCitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgc3Rh
c2hlZF9kYXRhID0geydjb3VudCc6IDAsICdwcmVmbGlnaHQnOiAiMCJ9CisgICAgc3RhdHVzID0g
MzAyCisgICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L3BsYWluIiksCisgICAg
ICAgICAgICAgICAoIkNhY2hlLUNvbnRyb2wiLCAibm8tY2FjaGUiKSwKKyAgICAgICAgICAgICAg
ICgiUHJhZ21hIiwgIm5vLWNhY2hlIiksCisgICAgICAgICAgICAgICAoIkFjY2Vzcy1Db250cm9s
LUFsbG93LUNyZWRlbnRpYWxzIiwgInRydWUiKV0KKyAgICBoZWFkZXJzLmFwcGVuZCgoIkFjY2Vz
cy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQoIk9yaWdpbiIsICIq
IikpKQorICAgIHRva2VuID0gTm9uZQorCisgICAgaWYgInRva2VuIiBpbiByZXF1ZXN0LkdFVDoK
KyAgICAgICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iKQorICAgICAgICBkYXRh
ID0gcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKKyAgICAgICAgaWYgZGF0YToKKyAg
ICAgICAgICAgIHN0YXNoZWRfZGF0YSA9IGRhdGEKKworICAgIGlmIHJlcXVlc3QubWV0aG9kID09
ICJPUFRJT05TIjoKKyAgICAgICAgcmVxdWVzdGVkX21ldGhvZCA9IHJlcXVlc3QuaGVhZGVycy5n
ZXQoIkFjY2Vzcy1Db250cm9sLVJlcXVlc3QtTWV0aG9kIiwgTm9uZSkKKyAgICAgICAgaGVhZGVy
cy5hcHBlbmQoKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgcmVxdWVzdGVkX21ldGhv
ZCkpCisgICAgICAgIHJlcXVlc3RlZF9oZWFkZXJzID0gcmVxdWVzdC5oZWFkZXJzLmdldCgiQWNj
ZXNzLUNvbnRyb2wtUmVxdWVzdC1IZWFkZXJzIiwgTm9uZSkKKyAgICAgICAgaGVhZGVycy5hcHBl
bmQoKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwgcmVxdWVzdGVkX2hlYWRlcnMpKQor
ICAgICAgICBzdGFzaGVkX2RhdGFbJ3ByZWZsaWdodCddID0gIjEiCisgICAgICAgICNQcmVmbGln
aHQgaXMgbm90IHJlZGlyZWN0ZWQ6IHJldHVybiAyMDAKKyAgICAgICAgaWYgbm90ICJyZWRpcmVj
dF9wcmVmbGlnaHQiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICAgICAgaWYgdG9rZW46CisgICAg
ICAgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dChyZXF1ZXN0LkdFVC5maXJzdCgidG9r
ZW4iKSwgc3Rhc2hlZF9kYXRhKQorICAgICAgICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgIiIK
KworICAgIGlmICJyZWRpcmVjdF9zdGF0dXMiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICBzdGF0
dXMgPSBpbnQocmVxdWVzdC5HRVRbJ3JlZGlyZWN0X3N0YXR1cyddKQorCisgICAgc3Rhc2hlZF9k
YXRhWydjb3VudCddICs9IDEKKworICAgIGlmICJsb2NhdGlvbiIgaW4gcmVxdWVzdC5HRVQ6Cisg
ICAgICAgIHVybCA9IHJlcXVlc3QuR0VUWydsb2NhdGlvbiddCisgICAgICAgIHNjaGVtZSA9IHVy
bHBhcnNlKHVybCkuc2NoZW1lCisgICAgICAgIGlmIHNjaGVtZSA9PSAiIiBvciBzY2hlbWUgPT0g
Imh0dHAiIG9yIHNjaGVtZSA9PSAiaHR0cHMiOgorICAgICAgICAgICAgdXJsICs9ICImIiBpZiAn
PycgaW4gdXJsIGVsc2UgIj8iCisgICAgICAgICAgICAja2VlcCB1cmwgcGFyYW1ldGVycyBpbiBs
b2NhdGlvbgorICAgICAgICAgICAgdXJsX3BhcmFtZXRlcnMgPSB7fQorICAgICAgICAgICAgZm9y
IGl0ZW0gaW4gcmVxdWVzdC5HRVQuaXRlbXMoKToKKyAgICAgICAgICAgICAgICB1cmxfcGFyYW1l
dGVyc1tpdGVtWzBdXSA9IGl0ZW1bMV1bMF0KKyAgICAgICAgICAgIHVybCArPSB1cmxlbmNvZGUo
dXJsX3BhcmFtZXRlcnMpCisgICAgICAgICAgICAjbWFrZSBzdXJlIGxvY2F0aW9uIGNoYW5nZXMg
ZHVyaW5nIHJlZGlyZWN0aW9uIGxvb3AKKyAgICAgICAgICAgIHVybCArPSAiJmNvdW50PSIgKyBz
dHIoc3Rhc2hlZF9kYXRhWydjb3VudCddKQorICAgICAgICBoZWFkZXJzLmFwcGVuZCgoIkxvY2F0
aW9uIiwgdXJsKSkKKworICAgIGlmICJyZWRpcmVjdF9yZWZlcnJlcnBvbGljeSIgaW4gcmVxdWVz
dC5HRVQ6CisgICAgICAgIGhlYWRlcnMuYXBwZW5kKCgiUmVmZXJyZXItUG9saWN5IiwgcmVxdWVz
dC5HRVRbJ3JlZGlyZWN0X3JlZmVycmVycG9saWN5J10pKQorCisgICAgaWYgdG9rZW46CisgICAg
ICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dChyZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iKSwg
c3Rhc2hlZF9kYXRhKQorICAgICAgICBpZiAibWF4X2NvdW50IiBpbiByZXF1ZXN0LkdFVDoKKyAg
ICAgICAgICAgIG1heF9jb3VudCA9ICBpbnQocmVxdWVzdC5HRVRbJ21heF9jb3VudCddKQorICAg
ICAgICAgICAgI3N0b3AgcmVkaXJlY3RpbmcgYW5kIHJldHVybiBjb3VudAorICAgICAgICAgICAg
aWYgc3Rhc2hlZF9kYXRhWydjb3VudCddID4gbWF4X2NvdW50OgorICAgICAgICAgICAgICAgICMg
LTEgYmVjYXVzZSB0aGUgbGFzdCBpcyBub3QgYSByZWRpcmVjdGlvbgorICAgICAgICAgICAgICAg
IHJldHVybiBzdHIoc3Rhc2hlZF9kYXRhWydjb3VudCddIC0gMSkKKworICAgIHJldHVybiBzdGF0
dXMsIGhlYWRlcnMsICIiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9yZXNvdXJjZXMvdXBncmFkZS1pZnJhbWUuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL3Jlc291cmNl
cy91cGdyYWRlLWlmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ0ZDRiOWFmYzc4OTlkOTM5OTAxNTVh
MTgzYmYwNjc3OTdlN2ViMzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9yZXNvdXJjZXMvdXBncmFkZS1pZnJhbWUu
aHRtbApAQCAtMCwwICsxLDQxIEBACis8aHRtbD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQt
U2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJ1cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzIj4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3Zh
ciBpZCA9IHNlbGYudG9rZW4oKTsKK3ZhciBob3N0SW5mbyA9IGdldF9ob3N0X2luZm8oKTsKK3Zh
ciBiZWFjb25VUkwgPSAiaHR0cDovLyIgKyBob3N0SW5mby5PUklHSU5BTF9IT1NUICsgIjoiICsg
aG9zdEluZm8uSFRUUFNfUE9SVCArICIvYmVhY29uL3Jlc291cmNlcy9iZWFjb24tcHJlZmxpZ2h0
LnB5P2FsbG93Q29ycz0xJmNtZD1wdXQmaWQ9IiArIGlkOworCitmdW5jdGlvbiBzZW5kQmVhY29u
KCkKK3sKKyAgICByZXR1cm4gbmF2aWdhdG9yLnNlbmRCZWFjb24oYmVhY29uVVJMLCAidGVzdCIp
OworfQorCitmdW5jdGlvbiBzZW5kUmVkaXJlY3RlZEJlYWNvbigpCit7CisgICAgcmV0dXJuIG5h
dmlnYXRvci5zZW5kQmVhY29uKCJyZWRpcmVjdC5weT9yZWRpcmVjdF9zdGF0dXM9MzA3JmxvY2F0
aW9uPSIgKyBiZWFjb25VUkwsICJ0ZXN0Iik7Cit9CisKK2Z1bmN0aW9uIHdhaXRGb3IoZHVyYXRp
b24pCit7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJl
c29sdmUsIGR1cmF0aW9uKSk7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIGNoZWNrQmVhY29uVVJMKCkK
K3sKKyAgICB2YXIgY2hlY2tVUkwgPSAiYmVhY29uLXByZWZsaWdodC5weT9jbWQ9Z2V0JmlkPSIg
KyBpZDsKKyAgICB2YXIgY291bnRlciA9IDA7CisgICAgd2hpbGUgKCsrY291bnRlciA8IDIwKSB7
CisgICAgICAgIGxldCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGNoZWNrVVJMKTsKKyAgICAgICAg
bGV0IGJvZHkgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7CisgICAgICAgIGlmIChib2R5LnVybCkK
KyAgICAgICAgICAgIHJldHVybiBib2R5LnVybC5zdGFydHNXaXRoKCdodHRwczovLycpOworICAg
ICAgICBhd2FpdCB3YWl0Rm9yKDUwKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKworPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9iZWFjb24vcmVzb3VyY2VzL3VwZ3JhZGUtcmVkaXJlY3QtaWZyYW1lLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9yZXNvdXJj
ZXMvdXBncmFkZS1yZWRpcmVjdC1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NWJjNTllY2I4NDMx
ZDUxMGRkYWU0Yjk5ZjM0Mzc4NDNhMmVhYTBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vcmVzb3VyY2VzL3VwZ3Jh
ZGUtcmVkaXJlY3QtaWZyYW1lLmh0bWwKQEAgLTAsMCArMSwzNSBAQAorPGh0bWw+Cis8bWV0YSBo
dHRwLWVxdWl2PSJDb250ZW50LVNlY3VyaXR5LVBvbGljeSIgY29udGVudD0idXBncmFkZS1pbnNl
Y3VyZS1yZXF1ZXN0cyI+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+Cit2YXIgaWQgPSBzZWxmLnRva2VuKCk7CitmdW5jdGlvbiBzZW5kQmVh
Y29uKCkKK3sKKyAgICB2YXIgZmluYWxVUkwgPSAiaHR0cDovLyIgKyBob3N0SW5mby5PUklHSU5B
TF9IT1NUICsgIjoiICsgaG9zdElORk8uSFRUUFNfUE9SVCArICIvYmVhY29uL3Jlc291cmNlcy9i
ZWFjb24tcHJlZmxpZ2h0LnB5P2FsbG93Q29ycz0xJmNtZD1wdXQmaWQ9IiArIGlkOworICAgIHZh
ciB0ZXN0VVJMID0gInJlZGlyZWN0LnB5P3JlZGlyZWN0X3N0YXR1cz0zMDcmbG9jYXRpb249IiAr
IGZpbmFsVVJMOworICAgIHJldHVybiBuYXZpZ2F0b3Iuc2VuZEJlYWNvbih0ZXN0VVJMLCAidGVz
dCIpOworfQorCitmdW5jdGlvbiB3YWl0Rm9yKGR1cmF0aW9uKQoreworICAgIHJldHVybiBuZXcg
UHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBkdXJhdGlvbikpOworfQor
Cithc3luYyBmdW5jdGlvbiBjaGVja0JlYWNvblVSTCgpCit7CisgICAgdmFyIGNoZWNrVVJMID0g
ImJlYWNvbi1wcmVmbGlnaHQucHk/Y21kPWdldCZpZD0iICsgaWQ7CisgICAgdmFyIGNvdW50ZXIg
PSAwOworICAgIHdoaWxlICgrK2NvdW50ZXIgPCAyMCkgeworICAgICAgICBsZXQgcmVzcG9uc2Ug
PSBhd2FpdCBmZXRjaChjaGVja1VSTCk7CisgICAgICAgIGxldCBib2R5ID0gYXdhaXQgcmVzcG9u
c2UuanNvbigpOworICAgICAgICBpZiAoYm9keS51cmwpCisgICAgICAgICAgICByZXR1cm4gYm9k
eS51cmwuc3RhcnRzV2l0aCgnaHR0cHM6Ly8nKTsKKyAgICAgICAgYXdhaXQgd2FpdEZvcig1MCk7
CisgICAgfQorfQorPC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL3VwZ3JhZGUt
YmVhY29uLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvYmVhY29uL3VwZ3JhZGUtYmVhY29uLmh0dHBzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mZWI2MDJiMmFkZjY1ZTZlMjZkMDE1ZTdmMWZhYjAxY2E5ZDdmYWI3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9iZWFjb24vdXBncmFkZS1iZWFjb24uaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBA
QAorCisKK1BBU1MgRW5zdXJlIGJlYWNvbiBnZXRzIHVwZ3JhZGVkIAorUEFTUyBFbnN1cmUgYmVh
Y29uIGdldHMgdXBncmFkZWQgYWZ0ZXIgcmVkaXJlY3Rpb24gCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL3VwZ3JhZGUtYmVh
Y29uLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2JlYWNvbi91cGdyYWRlLWJlYWNvbi5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2MDhjNzVm
NTBhY2Y4NGRiYTY1NzU0MTQxOTc3NzA1OTg0ZWY2ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi91cGdyYWRlLWJl
YWNvbi5odHRwcy5odG1sCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB3aXRoX2lmcmFtZSh1cmwpIHsKKyAgICByZXR1cm4gbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeworICAgICAgICB2YXIgZnJhbWUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgICAgICAgZnJhbWUuc3JjID0gdXJsOworICAg
ICAgICBmcmFtZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsgcmVzb2x2ZShmcmFtZSk7IH07CisgICAg
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWUpOworICAgIH0pOworfQordmFyIGZy
YW1lOworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgZnJhbWUgPSBhd2FpdCB3
aXRoX2lmcmFtZSgncmVzb3VyY2VzL3VwZ3JhZGUtaWZyYW1lLmh0bWwnKTsKKyAgICBhc3NlcnRf
dHJ1ZShmcmFtZS5jb250ZW50V2luZG93LnNlbmRCZWFjb24oKSwgIlNlbmQgYmVhY29uIHN1Y2Nl
c3NmdWxseSIpOworICAgIGFzc2VydF90cnVlKGF3YWl0IGZyYW1lLmNvbnRlbnRXaW5kb3cuY2hl
Y2tCZWFjb25VUkwoKSwgIlVwZ3JhZGVkIGJlYWNvbiBVUkwiKTsKK30sICJFbnN1cmUgYmVhY29u
IGdldHMgdXBncmFkZWQiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAg
YXNzZXJ0X3RydWUoZnJhbWUuY29udGVudFdpbmRvdy5zZW5kUmVkaXJlY3RlZEJlYWNvbigpLCAi
U2VuZCBiZWFjb24gc3VjY2Vzc2Z1bGx5Iik7CisgICAgYXNzZXJ0X3RydWUoYXdhaXQgZnJhbWUu
Y29udGVudFdpbmRvdy5jaGVja0JlYWNvblVSTCgpLCAiVXBncmFkZWQgYmVhY29uIFVSTCIpOwor
fSwgIkVuc3VyZSBiZWFjb24gZ2V0cyB1cGdyYWRlZCBhZnRlciByZWRpcmVjdGlvbiIpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336718</attachid>
            <date>2018-03-28 14:14:50 -0700</date>
            <delta_ts>2018-03-30 12:59:28 -0700</delta_ts>
            <desc>Fixing WPT lint</desc>
            <filename>bug-184098-20180328141449.patch</filename>
            <type>text/plain</type>
            <size>20596</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwMDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTlhODkyM2M0YjI3Yzc3
ZGY5OGQ5MTNiMWNmNDhkMzRiNTliZTRiMi4uMzZhYTUzZDc5MTY5ZGZlY2IxMjExMzE3Y2IzZTNk
YWQzNWFjOTg3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE4LTAzLTI4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrTG9hZENoZWNr
ZXIgc2hvdWxkIHVwZ3JhZGUgcmVkaXJlY3RzIGlmIG5lZWRlZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0MDk4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9iZWFjb24vdXBncmFkZS1iZWFjb24uaHR0cHMuaHRtbAorCisgICAgICAgIE1h
a2UgQ29udGVudFNlY3VyaXR5UG9saWN5IHRha2UgYSBTZWN1cml0eU9yaWdpbkRhdGEgc2luY2Ug
aXQgb25seSB1c2VzIHByb3RvY29sL2hvc3QvcG9ydCB0cmlwbGUuCisgICAgICAgIFVwZGF0ZSBj
YWxsZXJzIGFjY29yZGluZ2x5LgorCisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKToK
KyAgICAgICAgKiBsb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpNYWluVGhy
ZWFkQnJpZGdlKToKKyAgICAgICAgKiBwYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjpDb250ZW50U2VjdXJp
dHlQb2xpY3kpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5Ojp1cGRh
dGVTb3VyY2VTZWxmKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6
YXBwbHlQb2xpY3lUb1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgorICAgICAgICAqIHBhZ2UvY3Nw
L0NvbnRlbnRTZWN1cml0eVBvbGljeS5oOgorCiAyMDE4LTAzLTI3ICBNaWNoYWVsIENhdGFuemFy
byAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByMjMwMDA4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0YmJjNWQ1NWQyN2NiMTlmYWEzYzYzNTE1MjM1ZTFl
MTBiZjkzYTMwLi5kMWJkNDQwZTVhZTdjOWMyN2Q0YTlmYjBhNDM5MmZkZGM3NmM5MTFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE4LTAzLTI4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrTG9hZENoZWNrZXIgc2hvdWxkIHVwZ3JhZGUg
cmVkaXJlY3RzIGlmIG5lZWRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTg0MDk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW4gY2FzZSBvZiByZWRpcmVjdGlvbnMsIHVwZ3JhZGUgVVJMIGFjY29yZGlu
ZyBDU1AuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrTG9hZENoZWNrZXI6OmNoZWNrUmVxdWVzdCk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkQ2hlY2tlcjo6Y29udGVudFNlY3VyaXR5UG9saWN5
IGNvbnN0KToKKwogMjAxOC0wMy0yNyAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGln
YWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZml4IHR5cG8gaW4gdmFyaWFibGUgbmFt
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKaW5kZXggY2Y5ZWYyZGNh
MTJjM2I0MGRmNzc1NzNhMjgwODgxN2I5ZmE0ZTU5Mi4uOTg0ZmI3MmNjN2JlMmE0NTU4ZTc2ZDkx
ZTBiN2RkYWRiYWMzZGEyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIu
Y3BwCkBAIC03NDksNyArNzQ5LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6cmVzcG9uc2VSZWNl
aXZlZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgQ29tcGxldGkKICAgICAKICAg
ICBhdXRvIHVybCA9IHJlc3BvbnNlLnVybCgpOwogCi0gICAgQ29udGVudFNlY3VyaXR5UG9saWN5
IGNvbnRlbnRTZWN1cml0eVBvbGljeShTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHVybCksIG1fZnJh
bWUpOworICAgIENvbnRlbnRTZWN1cml0eVBvbGljeSBjb250ZW50U2VjdXJpdHlQb2xpY3koU2Vj
dXJpdHlPcmlnaW46OmNyZWF0ZSh1cmwpLT5kYXRhKCksIG1fZnJhbWUpOwogICAgIGNvbnRlbnRT
ZWN1cml0eVBvbGljeS5kaWRSZWNlaXZlSGVhZGVycyhDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMocmVzcG9uc2UpKTsKICAgICBpZiAoIWNvbnRlbnRTZWN1cml0eVBvbGljeS5h
bGxvd0ZyYW1lQW5jZXN0b3JzKCptX2ZyYW1lLCB1cmwpKSB7CiAgICAgICAgIHN0b3BMb2FkaW5n
QWZ0ZXJYRnJhbWVPcHRpb25zT3JDb250ZW50U2VjdXJpdHlQb2xpY3lEZW5pZWQoaWRlbnRpZmll
ciwgcmVzcG9uc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRo
cmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFi
bGVMb2FkZXIuY3BwCmluZGV4IGQ2ZjVkYzkzYWVjYzY1YjMyOTNkNzU4MzE1MDgzOTA1OWUyMTEz
MzIuLmUwYzc0MGRlNTk0NTA1ODllZGJlZDA1ZGM0Y2Q1ZWIwZTYzMjI3M2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTExNiw3
ICsxMTYsNyBAQCBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpNYWlu
VGhyZWFkQnJpZGdlKFRocmVhZGFibGVMb2FkZXJDbGllbgogICAgIEFTU0VSVChjb250ZW50U2Vj
dXJpdHlQb2xpY3kpOwogCiAgICAgYXV0byBzZWN1cml0eU9yaWdpbkNvcHkgPSBzZWN1cml0eU9y
aWdpbi0+aXNvbGF0ZWRDb3B5KCk7Ci0gICAgYXV0byBjb250ZW50U2VjdXJpdHlQb2xpY3lDb3B5
ID0gc3RkOjptYWtlX3VuaXF1ZTxDb250ZW50U2VjdXJpdHlQb2xpY3k+KHNlY3VyaXR5T3JpZ2lu
Q29weSk7CisgICAgYXV0byBjb250ZW50U2VjdXJpdHlQb2xpY3lDb3B5ID0gc3RkOjptYWtlX3Vu
aXF1ZTxDb250ZW50U2VjdXJpdHlQb2xpY3k+KHNlY3VyaXR5T3JpZ2luQ29weS0+ZGF0YSgpKTsK
ICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3lDb3B5LT5jb3B5U3RhdGVGcm9tKGNvbnRlbnRTZWN1
cml0eVBvbGljeSk7CiAgICAgY29udGVudFNlY3VyaXR5UG9saWN5Q29weS0+Y29weVVwZ3JhZGVJ
bnNlY3VyZVJlcXVlc3RTdGF0ZUZyb20oKmNvbnRlbnRTZWN1cml0eVBvbGljeSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCmluZGV4
IDBjMjAzNmY3NmZhOGIyOTAzMDRlOTc2ZmFhMDQwYzljYzU4ZWQ4NjEuLjNhZmQ0MzQ4NjJhZDZh
YWYzZGVlYzIzM2EyMmUxYWE3NjkyMzdkODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAtOTMsMTQgKzkzLDE0IEBAIENvbnRl
bnRTZWN1cml0eVBvbGljeTo6Q29udGVudFNlY3VyaXR5UG9saWN5KFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIHNjcmlwdEV4ZWN1CiAgICAgLCBtX3NhbmRib3hGbGFncyhTYW5kYm94Tm9uZSkKIHsK
ICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5zZWN1cml0eU9yaWdpbigpKTsKLSAg
ICB1cGRhdGVTb3VyY2VTZWxmKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0LnNlY3VyaXR5T3JpZ2lu
KCkpOworICAgIHVwZGF0ZVNvdXJjZVNlbGYoc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5zZWN1cml0
eU9yaWdpbigpLT5kYXRhKCkpOwogfQogCi1Db250ZW50U2VjdXJpdHlQb2xpY3k6OkNvbnRlbnRT
ZWN1cml0eVBvbGljeShjb25zdCBTZWN1cml0eU9yaWdpbiYgc2VjdXJpdHlPcmlnaW4sIGNvbnN0
IEZyYW1lKiBmcmFtZSkKK0NvbnRlbnRTZWN1cml0eVBvbGljeTo6Q29udGVudFNlY3VyaXR5UG9s
aWN5KGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgc2VjdXJpdHlPcmlnaW5EYXRhLCBjb25zdCBG
cmFtZSogZnJhbWUpCiAgICAgOiBtX2ZyYW1lKGZyYW1lKQogICAgICwgbV9zYW5kYm94RmxhZ3Mo
U2FuZGJveE5vbmUpCiB7Ci0gICAgdXBkYXRlU291cmNlU2VsZihzZWN1cml0eU9yaWdpbik7Cisg
ICAgdXBkYXRlU291cmNlU2VsZihzZWN1cml0eU9yaWdpbkRhdGEpOwogfQogCiBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6On5Db250ZW50U2VjdXJpdHlQb2xpY3koKSA9IGRlZmF1bHQ7CkBAIC0yMTQs
MTAgKzIxNCwxMCBAQCB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6ZGlkUmVjZWl2ZUhlYWRl
cihjb25zdCBTdHJpbmcmIGhlYWRlciwgQ29udGVudFNlY3VyaQogICAgICAgICBhcHBseVBvbGlj
eVRvU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwogfQogCi12b2lkIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6dXBkYXRlU291cmNlU2VsZihjb25zdCBTZWN1cml0eU9yaWdpbiYgc2VjdXJpdHlPcmln
aW4pCit2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6dXBkYXRlU291cmNlU2VsZihjb25zdCBT
ZWN1cml0eU9yaWdpbkRhdGEmIHNlY3VyaXR5T3JpZ2luRGF0YSkKIHsKLSAgICBtX3NlbGZTb3Vy
Y2VQcm90b2NvbCA9IHNlY3VyaXR5T3JpZ2luLnByb3RvY29sKCk7Ci0gICAgbV9zZWxmU291cmNl
ID0gc3RkOjptYWtlX3VuaXF1ZTxDb250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2U+KCp0aGlzLCBt
X3NlbGZTb3VyY2VQcm90b2NvbCwgc2VjdXJpdHlPcmlnaW4uaG9zdCgpLCBzZWN1cml0eU9yaWdp
bi5wb3J0KCksIGVtcHR5U3RyaW5nKCksIGZhbHNlLCBmYWxzZSk7CisgICAgbV9zZWxmU291cmNl
UHJvdG9jb2wgPSBzZWN1cml0eU9yaWdpbkRhdGEucHJvdG9jb2w7CisgICAgbV9zZWxmU291cmNl
ID0gc3RkOjptYWtlX3VuaXF1ZTxDb250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2U+KCp0aGlzLCBt
X3NlbGZTb3VyY2VQcm90b2NvbCwgc2VjdXJpdHlPcmlnaW5EYXRhLmhvc3QsIHNlY3VyaXR5T3Jp
Z2luRGF0YS5wb3J0LCBlbXB0eVN0cmluZygpLCBmYWxzZSwgZmFsc2UpOwogfQogCiB2b2lkIENv
bnRlbnRTZWN1cml0eVBvbGljeTo6YXBwbHlQb2xpY3lUb1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KQpAQCAtMjI4LDcgKzIyOCw3IEBAIHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5OjphcHBseVBv
bGljeVRvU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpCiAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBt
YXkgaGF2ZSBiZWVuIGluaXRpYWxseSBjcmVhdGVkIGZvciBhbiBhYm91dDpibGFuayBpZnJhbWUg
dGhhdCBsYXRlciBpbmhlcml0ZWQgdGhlCiAgICAgLy8gc2VjdXJpdHkgb3JpZ2luIG9mIGl0cyBv
d25lciBkb2N1bWVudC4KICAgICBBU1NFUlQobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5zZWN1
cml0eU9yaWdpbigpKTsKLSAgICB1cGRhdGVTb3VyY2VTZWxmKCptX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpOworICAgIHVwZGF0ZVNvdXJjZVNlbGYobV9zY3JpcHRF
eGVjdXRpb25Db250ZXh0LT5zZWN1cml0eU9yaWdpbigpLT5kYXRhKCkpOwogCiAgICAgYm9vbCBl
bmFibGVTdHJpY3RNaXhlZENvbnRlbnRNb2RlID0gZmFsc2U7CiAgICAgZm9yIChhdXRvJiBwb2xp
Y3kgOiBtX3BvbGljaWVzKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9D
b250ZW50U2VjdXJpdHlQb2xpY3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRT
ZWN1cml0eVBvbGljeS5oCmluZGV4IDY2OWE4ZmZlNDAzZTdlMjk0Y2U3YTM2OWM4NzA0NGIxZmZm
YTY5ZWYuLjEzODcwNDhlZDE2MTAwMDZjZTcwZjJlZDk1ZTc0MmI5MTIyMzMxYWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCkBAIC02NSw3
ICs2NSw3IEBAIGNsYXNzIENvbnRlbnRTZWN1cml0eVBvbGljeSB7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgQ29udGVudFNlY3VyaXR5UG9saWN5
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBleHBsaWNpdCBD
b250ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgU2VjdXJpdHlPcmlnaW4mLCBjb25zdCBGcmFtZSog
PSBudWxscHRyKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBleHBsaWNpdCBDb250ZW50U2VjdXJpdHlQ
b2xpY3koY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiwgY29uc3QgRnJhbWUqID0gbnVsbHB0cik7
CiAgICAgV0VCQ09SRV9FWFBPUlQgfkNvbnRlbnRTZWN1cml0eVBvbGljeSgpOwogCiAgICAgdm9p
ZCBjb3B5U3RhdGVGcm9tKGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeSopOwpAQCAtMTYyLDcg
KzE2Miw3IEBAIHB1YmxpYzoKICAgICBib29sIHVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RzKCkgY29u
c3QgeyByZXR1cm4gbV91cGdyYWRlSW5zZWN1cmVSZXF1ZXN0czsgfQogICAgIGVudW0gY2xhc3Mg
SW5zZWN1cmVSZXF1ZXN0VHlwZSB7IExvYWQsIEZvcm1TdWJtaXNzaW9uLCBOYXZpZ2F0aW9uIH07
CiAgICAgdm9pZCB1cGdyYWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQoUmVzb3VyY2VSZXF1ZXN0
JiwgSW5zZWN1cmVSZXF1ZXN0VHlwZSkgY29uc3Q7Ci0gICAgdm9pZCB1cGdyYWRlSW5zZWN1cmVS
ZXF1ZXN0SWZOZWVkZWQoVVJMJiwgSW5zZWN1cmVSZXF1ZXN0VHlwZSkgY29uc3Q7CisgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCB1cGdyYWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQoVVJMJiwgSW5z
ZWN1cmVSZXF1ZXN0VHlwZSkgY29uc3Q7CiAKICAgICBIYXNoU2V0PFNlY3VyaXR5T3JpZ2luRGF0
YT4gdGFrZU5hdmlnYXRpb25SZXF1ZXN0c1RvVXBncmFkZSgpOwogICAgIHZvaWQgaW5oZXJpdElu
c2VjdXJlTmF2aWdhdGlvblJlcXVlc3RzVG9VcGdyYWRlRnJvbU9wZW5lcihjb25zdCBDb250ZW50
U2VjdXJpdHlQb2xpY3kmKTsKQEAgLTE3MCw3ICsxNzAsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6
CiAgICAgdm9pZCBsb2dUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJp
bmcmIGNvbnRleHRVUkwgPSBTdHJpbmcoKSwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250
ZXh0TGluZSA9IFdURjo6T3JkaW5hbE51bWJlcjo6YmVmb3JlRmlyc3QoKSwgSlNDOjpFeGVjU3Rh
dGUqID0gbnVsbHB0cikgY29uc3Q7Ci0gICAgdm9pZCB1cGRhdGVTb3VyY2VTZWxmKGNvbnN0IFNl
Y3VyaXR5T3JpZ2luJik7CisgICAgdm9pZCB1cGRhdGVTb3VyY2VTZWxmKGNvbnN0IFNlY3VyaXR5
T3JpZ2luRGF0YSYpOwogICAgIHZvaWQgYXBwbHlQb2xpY3lUb1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKTsKIAogICAgIGNvbnN0IFRleHRFbmNvZGluZyYgZG9jdW1lbnRFbmNvZGluZygpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENo
ZWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNr
ZXIuY3BwCmluZGV4IGE2M2U2ZWE1ZDkxNDZlMWM0ZTIwYjVkZWM3YTI4Y2NmMTRjOWNlNjQuLjQx
MjY5MjM4MzlkMWZjOGRhZGI5MzgzZmQ5MGFkZGRkZDdlMmZkNWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tlci5jcHAKQEAgLTEwMiw2
ICsxMDIsMTMgQEAgdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNoZWNrUmVxdWVzdChSZXNvdXJj
ZVJlcXVlc3QmJiByZXF1ZXN0LCBWYWxpZGF0aW9uSGFuZGwKICNlbmRpZgogCiAgICAgaWYgKGF1
dG8qIGNvbnRlbnRTZWN1cml0eVBvbGljeSA9IHRoaXMtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgp
KSB7CisgICAgICAgIGlmIChpc1JlZGlyZWN0ZWQoKSkgeworICAgICAgICAgICAgVVJMIHVybCA9
IHJlcXVlc3QudXJsKCk7CisgICAgICAgICAgICBhdXRvIHR5cGUgPSBtX21vZGUgPT0gRmV0Y2hP
cHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSA/IENvbnRlbnRTZWN1cml0eVBvbGljeTo6SW5zZWN1cmVS
ZXF1ZXN0VHlwZTo6TmF2aWdhdGlvbiA6IENvbnRlbnRTZWN1cml0eVBvbGljeTo6SW5zZWN1cmVS
ZXF1ZXN0VHlwZTo6TG9hZDsKKyAgICAgICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeS0+dXBn
cmFkZUluc2VjdXJlUmVxdWVzdElmTmVlZGVkKHVybCwgdHlwZSk7CisgICAgICAgICAgICBpZiAo
dXJsICE9IHJlcXVlc3QudXJsKCkpCisgICAgICAgICAgICAgICAgcmVxdWVzdC5zZXRVUkwodXJs
KTsKKyAgICAgICAgfQogICAgICAgICBpZiAoIWNvbnRlbnRTZWN1cml0eVBvbGljeS0+YWxsb3dD
b25uZWN0VG9Tb3VyY2UocmVxdWVzdC51cmwoKSwgaXNSZWRpcmVjdGVkKCkgPyBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OlJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6WWVzIDogQ29udGVudFNlY3Vy
aXR5UG9saWN5OjpSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6Ok5vKSkgewogICAgICAgICAgICAg
aGFuZGxlcihyZXR1cm5FcnJvcihBU0NJSUxpdGVyYWwoIkJsb2NrZWQgYnkgQ29udGVudCBTZWN1
cml0eSBQb2xpY3kiKSkpOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjE1LDcgKzIyMiw3IEBA
IGJvb2wgTmV0d29ya0xvYWRDaGVja2VyOjpkb2VzTm90TmVlZENPUlNDaGVjayhjb25zdCBVUkwm
IHVybCkgY29uc3QKIENvbnRlbnRTZWN1cml0eVBvbGljeSogTmV0d29ya0xvYWRDaGVja2VyOjpj
b250ZW50U2VjdXJpdHlQb2xpY3koKSBjb25zdAogewogICAgIGlmICghbV9jb250ZW50U2VjdXJp
dHlQb2xpY3kgJiYgbV9jc3BSZXNwb25zZUhlYWRlcnMpIHsKLSAgICAgICAgbV9jb250ZW50U2Vj
dXJpdHlQb2xpY3kgPSBzdGQ6Om1ha2VfdW5pcXVlPENvbnRlbnRTZWN1cml0eVBvbGljeT4oKm1f
b3JpZ2luKTsKKyAgICAgICAgbV9jb250ZW50U2VjdXJpdHlQb2xpY3kgPSBzdGQ6Om1ha2VfdW5p
cXVlPENvbnRlbnRTZWN1cml0eVBvbGljeT4obV9vcmlnaW4tPmRhdGEoKSk7CiAgICAgICAgIG1f
Y29udGVudFNlY3VyaXR5UG9saWN5LT5kaWRSZWNlaXZlSGVhZGVycygqbV9jc3BSZXNwb25zZUhl
YWRlcnMsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0UGFyc2luZ0Vycm9yczo6Tm8pOwog
ICAgIH0KICAgICByZXR1cm4gbV9jb250ZW50U2VjdXJpdHlQb2xpY3kuZ2V0KCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBlMzYwODM1YjA0OTY0ZDBkOTExYzYyMmViMjk4OWYz
YWVhM2Q0M2I1Li4yNWIwNTRkMGQ0YmM4ZWQ2N2E1ZmY1NDA0MGNjMzc3OGI2NTY0MDU5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOC0wMy0yOCAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTmV0d29ya0xvYWRD
aGVja2VyIHNob3VsZCB1cGdyYWRlIHJlZGlyZWN0cyBpZiBuZWVkZWQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDA5OAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Jl
YWNvbi9yZXNvdXJjZXMvYmVhY29uLXByZWZsaWdodC5weTogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9yZXNvdXJjZXMvcmVkaXJlY3QucHk6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vcmVzb3VyY2VzL3VwZ3JhZGUtaWZyYW1l
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vcmVzb3Vy
Y2VzL3VwZ3JhZGUtcmVkaXJlY3QtaWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9iZWFjb24vdXBncmFkZS1iZWFjb24uaHR0cHMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL3VwZ3JhZGUtYmVhY29u
Lmh0dHBzLmh0bWw6IEFkZGVkLgorCiAyMDE4LTAzLTIzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgV1BUIHRvb2xzIHRvIGExZWMzMzAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29u
L3Jlc291cmNlcy9iZWFjb24tcHJlZmxpZ2h0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vcmVzb3VyY2VzL2JlYWNvbi1wcmVmbGlnaHQucHkK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZDU0ODM2M2M0Nzk1ODg3ZmFkODAwNzgyNTQ3ZjQyZmZhMDY0NjZhNgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvYmVhY29uL3Jlc291cmNlcy9iZWFjb24tcHJlZmxpZ2h0LnB5CkBAIC0wLDAgKzEsNTUgQEAK
K2ltcG9ydCBqc29uCisKK2RlZiByZXNwb25kVG9DT1JTUHJlZmxpZ2h0KHJlcXVlc3QsIHJlc3Bv
bnNlKToKKyAgYWxsb3dfY29ycyA9IGludChyZXF1ZXN0LkdFVC5maXJzdCgiYWxsb3dDb3JzIiwg
MCkpICE9IDA7CisKKyAgaWYgbm90IGFsbG93X2NvcnM6CisgICAgcmVzcG9uc2Uuc2V0X2Vycm9y
KDQwMCwgIk5vdCBhbGxvd2VkIikKKyAgICByZXR1cm4gIkVSUk9SOiBOb3QgYWxsb3dlZCIKKwor
ICBpZiBub3QgIkFjY2Vzcy1Db250cm9sLVJlcXVlc3QtTWV0aG9kIiBpbiByZXF1ZXN0LmhlYWRl
cnM6CisgICAgcmVzcG9uc2Uuc2V0X2Vycm9yKDQwMCwgIk5vIEFjY2Vzcy1Db250cm9sLVJlcXVl
c3QtTWV0aG9kIGhlYWRlciIpCisgICAgcmV0dXJuICJFUlJPUjogTm8gYWNjZXNzLWNvbnRyb2wt
cmVxdWVzdC1tZXRob2QgaW4gcHJlZmxpZ2h0ISIKKworICBoZWFkZXJzID0gWygiQ29udGVudC1U
eXBlIiwgInRleHQvcGxhaW4iKV0KKyAgaGVhZGVycy5hcHBlbmQoKCJBY2Nlc3MtQ29udHJvbC1B
bGxvdy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJPcmlnaW4iLCAiKiIpKSkKKyAgaGVh
ZGVycy5hcHBlbmQoKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIsICJ0cnVlIikp
CisgIHJlcXVlc3RlZF9tZXRob2QgPSByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJBY2Nlc3MtQ29udHJv
bC1SZXF1ZXN0LU1ldGhvZCIsIE5vbmUpCisgIGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRy
b2wtQWxsb3ctTWV0aG9kcyIsIHJlcXVlc3RlZF9tZXRob2QpKQorICByZXF1ZXN0ZWRfaGVhZGVy
cyA9IHJlcXVlc3QuaGVhZGVycy5nZXQoIkFjY2Vzcy1Db250cm9sLVJlcXVlc3QtSGVhZGVycyIs
IE5vbmUpCisgIGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIs
IHJlcXVlc3RlZF9oZWFkZXJzKSkKKyAgaGVhZGVycy5hcHBlbmQoKCJBY2Nlc3MtQ29udHJvbC1N
YXgtQWdlIiwgIjYwIikpCisgIHJldHVybiBoZWFkZXJzLCAiIgorCitkZWYgbWFpbihyZXF1ZXN0
LCByZXNwb25zZSk6CisgIGNvbW1hbmQgPSByZXF1ZXN0LkdFVC5maXJzdCgiY21kIikubG93ZXIo
KTsKKyAgdGVzdF9pZCA9IHJlcXVlc3QuR0VULmZpcnN0KCJpZCIpCisgIHN0YXNoZWRfZGF0YSA9
IHJlcXVlc3Quc2VydmVyLnN0YXNoLnRha2UodGVzdF9pZCkKKyAgaWYgc3Rhc2hlZF9kYXRhIGlz
IE5vbmU6CisgICAgc3Rhc2hlZF9kYXRhID0geyAncHJlZmxpZ2h0JzogMCwgJ2JlYWNvbic6IDAs
ICdwcmVmbGlnaHRfcmVxdWVzdGVkX21ldGhvZCc6ICcnLCAncHJlZmxpZ2h0X3JlcXVlc3RlZF9o
ZWFkZXJzJzogJycsICdwcmVmbGlnaHRfcmVmZXJyZXInOiAnJywgJ3ByZWZsaWdodF9jb29raWVf
aGVhZGVyJzogJycsICdiZWFjb25fY29va2llX2hlYWRlcic6ICcnIH0KKworICBpZiBjb21tYW5k
ID09ICJwdXQiOgorICAgIGlmIHJlcXVlc3QubWV0aG9kID09ICJPUFRJT05TIjoKKyAgICAgIHN0
YXNoZWRfZGF0YVsncHJlZmxpZ2h0J10gPSAxOworICAgICAgc3Rhc2hlZF9kYXRhWydwcmVmbGln
aHRfcmVxdWVzdGVkX21ldGhvZCddID0gcmVxdWVzdC5oZWFkZXJzLmdldCgiQWNjZXNzLUNvbnRy
b2wtUmVxdWVzdC1NZXRob2QiLCAiIikKKyAgICAgIHN0YXNoZWRfZGF0YVsncHJlZmxpZ2h0X3Jl
cXVlc3RlZF9oZWFkZXJzJ10gPSByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJBY2Nlc3MtQ29udHJvbC1S
ZXF1ZXN0LUhlYWRlcnMiLCAiIikKKyAgICAgIHN0YXNoZWRfZGF0YVsncHJlZmxpZ2h0X2Nvb2tp
ZV9oZWFkZXInXSA9IHJlcXVlc3QuaGVhZGVycy5nZXQoIkNvb2tpZSIsICIiKTsKKyAgICAgIHN0
YXNoZWRfZGF0YVsncHJlZmxpZ2h0X3JlZmVyZXInXSA9IHJlcXVlc3QuaGVhZGVycy5nZXQoIlJl
ZmVyZXIiLCAiIikKKyAgICAgIHN0YXNoZWRfZGF0YVsncHJlZmxpZ2h0X29yaWdpbiddID0gcmVx
dWVzdC5oZWFkZXJzLmdldCgiT3JpZ2luIiwgIiIpCisgICAgICByZXF1ZXN0LnNlcnZlci5zdGFz
aC5wdXQodGVzdF9pZCwgc3Rhc2hlZF9kYXRhKQorICAgICAgcmV0dXJuIHJlc3BvbmRUb0NPUlNQ
cmVmbGlnaHQocmVxdWVzdCwgcmVzcG9uc2UpCisgICAgZWxpZiByZXF1ZXN0Lm1ldGhvZCA9PSAi
UE9TVCI6CisgICAgICBzdGFzaGVkX2RhdGFbJ2JlYWNvbiddID0gMTsKKyAgICAgIHN0YXNoZWRf
ZGF0YVsnYmVhY29uX2Nvb2tpZV9oZWFkZXInXSA9IHJlcXVlc3QuaGVhZGVycy5nZXQoIkNvb2tp
ZSIsICIiKQorICAgICAgc3Rhc2hlZF9kYXRhWydiZWFjb25fb3JpZ2luJ10gPSByZXF1ZXN0Lmhl
YWRlcnMuZ2V0KCJPcmlnaW4iLCAiIikKKyAgICAgIHN0YXNoZWRfZGF0YVsndXJsJ10gPSByZXF1
ZXN0LnVybAorICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRlc3RfaWQsIHN0YXNoZWRf
ZGF0YSkKKyAgICByZXR1cm4gWygiQ29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKV0sICIiCisK
KyAgaWYgY29tbWFuZCA9PSAiZ2V0IjoKKyAgICBpZiBzdGFzaGVkX2RhdGEgaXMgbm90IE5vbmU6
CisgICAgICByZXR1cm4gWygiQ29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKV0sIGpzb24uZHVt
cHMoc3Rhc2hlZF9kYXRhKQorICAgIHJldHVybiBbKCJDb250ZW50LVR5cGUiLCAidGV4dC9wbGFp
biIpXSwgIiIKKworICByZXNwb25zZS5zZXRfZXJyb3IoNDAwLCAiQmFkIENvbW1hbmQiKQorICBy
ZXR1cm4gIkVSUk9SOiBCYWQgQ29tbWFuZCEiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9yZXNvdXJjZXMvcmVkaXJlY3QucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9yZXNv
dXJjZXMvcmVkaXJlY3QucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzljNTc0YzQwMmYwMmE5YjVjOThkOWVkZmM0
NjQ0MjZlNTdhYWM1OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL3Jlc291cmNlcy9yZWRpcmVjdC5weQpAQCAtMCww
ICsxLDYzIEBACitmcm9tIHVybGxpYiBpbXBvcnQgdXJsZW5jb2RlCitmcm9tIHVybHBhcnNlIGlt
cG9ydCB1cmxwYXJzZQorCitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgc3Rhc2hl
ZF9kYXRhID0geydjb3VudCc6IDAsICdwcmVmbGlnaHQnOiAiMCJ9CisgICAgc3RhdHVzID0gMzAy
CisgICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L3BsYWluIiksCisgICAgICAg
ICAgICAgICAoIkNhY2hlLUNvbnRyb2wiLCAibm8tY2FjaGUiKSwKKyAgICAgICAgICAgICAgICgi
UHJhZ21hIiwgIm5vLWNhY2hlIiksCisgICAgICAgICAgICAgICAoIkFjY2Vzcy1Db250cm9sLUFs
bG93LUNyZWRlbnRpYWxzIiwgInRydWUiKV0KKyAgICBoZWFkZXJzLmFwcGVuZCgoIkFjY2Vzcy1D
b250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuaGVhZGVycy5nZXQoIk9yaWdpbiIsICIqIikp
KQorICAgIHRva2VuID0gTm9uZQorCisgICAgaWYgInRva2VuIiBpbiByZXF1ZXN0LkdFVDoKKyAg
ICAgICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iKQorICAgICAgICBkYXRhID0g
cmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKKyAgICAgICAgaWYgZGF0YToKKyAgICAg
ICAgICAgIHN0YXNoZWRfZGF0YSA9IGRhdGEKKworICAgIGlmIHJlcXVlc3QubWV0aG9kID09ICJP
UFRJT05TIjoKKyAgICAgICAgcmVxdWVzdGVkX21ldGhvZCA9IHJlcXVlc3QuaGVhZGVycy5nZXQo
IkFjY2Vzcy1Db250cm9sLVJlcXVlc3QtTWV0aG9kIiwgTm9uZSkKKyAgICAgICAgaGVhZGVycy5h
cHBlbmQoKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgcmVxdWVzdGVkX21ldGhvZCkp
CisgICAgICAgIHJlcXVlc3RlZF9oZWFkZXJzID0gcmVxdWVzdC5oZWFkZXJzLmdldCgiQWNjZXNz
LUNvbnRyb2wtUmVxdWVzdC1IZWFkZXJzIiwgTm9uZSkKKyAgICAgICAgaGVhZGVycy5hcHBlbmQo
KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwgcmVxdWVzdGVkX2hlYWRlcnMpKQorICAg
ICAgICBzdGFzaGVkX2RhdGFbJ3ByZWZsaWdodCddID0gIjEiCisgICAgICAgICNQcmVmbGlnaHQg
aXMgbm90IHJlZGlyZWN0ZWQ6IHJldHVybiAyMDAKKyAgICAgICAgaWYgbm90ICJyZWRpcmVjdF9w
cmVmbGlnaHQiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICAgICAgaWYgdG9rZW46CisgICAgICAg
ICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dChyZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4i
KSwgc3Rhc2hlZF9kYXRhKQorICAgICAgICAgICAgcmV0dXJuIDIwMCwgaGVhZGVycywgIiIKKwor
ICAgIGlmICJyZWRpcmVjdF9zdGF0dXMiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICBzdGF0dXMg
PSBpbnQocmVxdWVzdC5HRVRbJ3JlZGlyZWN0X3N0YXR1cyddKQorCisgICAgc3Rhc2hlZF9kYXRh
Wydjb3VudCddICs9IDEKKworICAgIGlmICJsb2NhdGlvbiIgaW4gcmVxdWVzdC5HRVQ6CisgICAg
ICAgIHVybCA9IHJlcXVlc3QuR0VUWydsb2NhdGlvbiddCisgICAgICAgIHNjaGVtZSA9IHVybHBh
cnNlKHVybCkuc2NoZW1lCisgICAgICAgIGlmIHNjaGVtZSA9PSAiIiBvciBzY2hlbWUgPT0gImh0
dHAiIG9yIHNjaGVtZSA9PSAiaHR0cHMiOgorICAgICAgICAgICAgdXJsICs9ICImIiBpZiAnPycg
aW4gdXJsIGVsc2UgIj8iCisgICAgICAgICAgICAja2VlcCB1cmwgcGFyYW1ldGVycyBpbiBsb2Nh
dGlvbgorICAgICAgICAgICAgdXJsX3BhcmFtZXRlcnMgPSB7fQorICAgICAgICAgICAgZm9yIGl0
ZW0gaW4gcmVxdWVzdC5HRVQuaXRlbXMoKToKKyAgICAgICAgICAgICAgICB1cmxfcGFyYW1ldGVy
c1tpdGVtWzBdXSA9IGl0ZW1bMV1bMF0KKyAgICAgICAgICAgIHVybCArPSB1cmxlbmNvZGUodXJs
X3BhcmFtZXRlcnMpCisgICAgICAgICAgICAjbWFrZSBzdXJlIGxvY2F0aW9uIGNoYW5nZXMgZHVy
aW5nIHJlZGlyZWN0aW9uIGxvb3AKKyAgICAgICAgICAgIHVybCArPSAiJmNvdW50PSIgKyBzdHIo
c3Rhc2hlZF9kYXRhWydjb3VudCddKQorICAgICAgICBoZWFkZXJzLmFwcGVuZCgoIkxvY2F0aW9u
IiwgdXJsKSkKKworICAgIGlmICJyZWRpcmVjdF9yZWZlcnJlcnBvbGljeSIgaW4gcmVxdWVzdC5H
RVQ6CisgICAgICAgIGhlYWRlcnMuYXBwZW5kKCgiUmVmZXJyZXItUG9saWN5IiwgcmVxdWVzdC5H
RVRbJ3JlZGlyZWN0X3JlZmVycmVycG9saWN5J10pKQorCisgICAgaWYgdG9rZW46CisgICAgICAg
IHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dChyZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iKSwgc3Rh
c2hlZF9kYXRhKQorICAgICAgICBpZiAibWF4X2NvdW50IiBpbiByZXF1ZXN0LkdFVDoKKyAgICAg
ICAgICAgIG1heF9jb3VudCA9ICBpbnQocmVxdWVzdC5HRVRbJ21heF9jb3VudCddKQorICAgICAg
ICAgICAgI3N0b3AgcmVkaXJlY3RpbmcgYW5kIHJldHVybiBjb3VudAorICAgICAgICAgICAgaWYg
c3Rhc2hlZF9kYXRhWydjb3VudCddID4gbWF4X2NvdW50OgorICAgICAgICAgICAgICAgICMgLTEg
YmVjYXVzZSB0aGUgbGFzdCBpcyBub3QgYSByZWRpcmVjdGlvbgorICAgICAgICAgICAgICAgIHJl
dHVybiBzdHIoc3Rhc2hlZF9kYXRhWydjb3VudCddIC0gMSkKKworICAgIHJldHVybiBzdGF0dXMs
IGhlYWRlcnMsICIiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2JlYWNvbi9yZXNvdXJjZXMvdXBncmFkZS1pZnJhbWUuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL3Jlc291cmNlcy91
cGdyYWRlLWlmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmNTNiYjIxYmZiMmY5M2NlOTUyYzI1YzEy
YzE2ZmEwYjcxNWRhZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9yZXNvdXJjZXMvdXBncmFkZS1pZnJhbWUuaHRt
bApAQCAtMCwwICsxLDQxIEBACis8aHRtbD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2Vj
dXJpdHktUG9saWN5IiBjb250ZW50PSJ1cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzIj4KKzxib2R5
PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciBp
ZCA9IHNlbGYudG9rZW4oKTsKK3ZhciBob3N0SW5mbyA9IGdldF9ob3N0X2luZm8oKTsKK3ZhciBi
ZWFjb25VUkwgPSAiaHR0cDovLyIgKyBob3N0SW5mby5PUklHSU5BTF9IT1NUICsgIjoiICsgaG9z
dEluZm8uSFRUUFNfUE9SVCArICIvYmVhY29uL3Jlc291cmNlcy9iZWFjb24tcHJlZmxpZ2h0LnB5
P2FsbG93Q29ycz0xJmNtZD1wdXQmaWQ9IiArIGlkOworCitmdW5jdGlvbiBzZW5kQmVhY29uKCkK
K3sKKyAgICByZXR1cm4gbmF2aWdhdG9yLnNlbmRCZWFjb24oYmVhY29uVVJMLCAidGVzdCIpOwor
fQorCitmdW5jdGlvbiBzZW5kUmVkaXJlY3RlZEJlYWNvbigpCit7CisgICAgcmV0dXJuIG5hdmln
YXRvci5zZW5kQmVhY29uKCJyZWRpcmVjdC5weT9yZWRpcmVjdF9zdGF0dXM9MzA3JmxvY2F0aW9u
PSIgKyBiZWFjb25VUkwsICJ0ZXN0Iik7Cit9CisKK2Z1bmN0aW9uIHdhaXRGb3IodGVzdCwgZHVy
YXRpb24pCit7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB0ZXN0LnN0ZXBf
dGltZW91dChyZXNvbHZlLCBkdXJhdGlvbikpOworfQorCithc3luYyBmdW5jdGlvbiBjaGVja0Jl
YWNvblVSTCh0ZXN0KQoreworICAgIHZhciBjaGVja1VSTCA9ICJiZWFjb24tcHJlZmxpZ2h0LnB5
P2NtZD1nZXQmaWQ9IiArIGlkOworICAgIHZhciBjb3VudGVyID0gMDsKKyAgICB3aGlsZSAoKytj
b3VudGVyIDwgMjApIHsKKyAgICAgICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goY2hlY2tV
UkwpOworICAgICAgICBsZXQgYm9keSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTsKKyAgICAgICAg
aWYgKGJvZHkudXJsKQorICAgICAgICAgICAgcmV0dXJuIGJvZHkudXJsLnN0YXJ0c1dpdGgoJ2h0
dHBzOi8vJyk7CisgICAgICAgIGF3YWl0IHdhaXRGb3IodGVzdCwgNTApOworICAgIH0KK30KKzwv
c2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi91cGdyYWRlLWJlYWNvbi5odHRwcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2JlYWNvbi91cGdyYWRlLWJlYWNvbi5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmVi
NjAyYjJhZGY2NWU2ZTI2ZDAxNWU3ZjFmYWIwMWNhOWQ3ZmFiNwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL3VwZ3Jh
ZGUtYmVhY29uLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworCitQQVNTIEVu
c3VyZSBiZWFjb24gZ2V0cyB1cGdyYWRlZCAKK1BBU1MgRW5zdXJlIGJlYWNvbiBnZXRzIHVwZ3Jh
ZGVkIGFmdGVyIHJlZGlyZWN0aW9uIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi91cGdyYWRlLWJlYWNvbi5odHRwcy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vdXBn
cmFkZS1iZWFjb24uaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZTBiNTYyMmFlZjVkMGE0NTM5OThh
NGJhMTNhMzhmODQ5OGY2NDJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vdXBncmFkZS1iZWFjb24uaHR0cHMuaHRt
bApAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
ZnVuY3Rpb24gd2l0aF9pZnJhbWUodXJsKSB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUpIHsKKyAgICAgICAgdmFyIGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnaWZyYW1lJyk7CisgICAgICAgIGZyYW1lLnNyYyA9IHVybDsKKyAgICAgICAgZnJhbWUub25s
b2FkID0gZnVuY3Rpb24oKSB7IHJlc29sdmUoZnJhbWUpOyB9OworICAgICAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGZyYW1lKTsKKyAgICB9KTsKK30KK3ZhciBmcmFtZTsKK3Byb21pc2Vf
dGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGZyYW1lID0gYXdhaXQgd2l0aF9pZnJhbWUoJ3Jl
c291cmNlcy91cGdyYWRlLWlmcmFtZS5odG1sJyk7CisgICAgYXNzZXJ0X3RydWUoZnJhbWUuY29u
dGVudFdpbmRvdy5zZW5kQmVhY29uKCksICJTZW5kIGJlYWNvbiBzdWNjZXNzZnVsbHkiKTsKKyAg
ICBhc3NlcnRfdHJ1ZShhd2FpdCBmcmFtZS5jb250ZW50V2luZG93LmNoZWNrQmVhY29uVVJMKHRl
c3QpLCAiVXBncmFkZWQgYmVhY29uIFVSTCIpOworfSwgIkVuc3VyZSBiZWFjb24gZ2V0cyB1cGdy
YWRlZCIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBhc3NlcnRfdHJ1
ZShmcmFtZS5jb250ZW50V2luZG93LnNlbmRSZWRpcmVjdGVkQmVhY29uKCksICJTZW5kIGJlYWNv
biBzdWNjZXNzZnVsbHkiKTsKKyAgICBhc3NlcnRfdHJ1ZShhd2FpdCBmcmFtZS5jb250ZW50V2lu
ZG93LmNoZWNrQmVhY29uVVJMKHRlc3QpLCAiVXBncmFkZWQgYmVhY29uIFVSTCIpOworfSwgIkVu
c3VyZSBiZWFjb24gZ2V0cyB1cGdyYWRlZCBhZnRlciByZWRpcmVjdGlvbiIpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336880</attachid>
            <date>2018-03-30 12:59:30 -0700</date>
            <delta_ts>2018-03-30 14:50:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184098-20180330125929.patch</filename>
            <type>text/plain</type>
            <size>14369</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwMTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjRmZDZiYWYwZTcxYjdm
MDQ2NDIyZDk3OWE0NjRkZjJiNDE2M2JiZS4uMWFkY2E2YjZiZjJhZTNlODhjYTIzYmJjYTBmNmJk
YjExZDM2NzMxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTAzLTMwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrTG9hZENoZWNr
ZXIgc2hvdWxkIHVwZ3JhZGUgcmVkaXJlY3RzIGlmIG5lZWRlZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0MDk4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9iZWFjb24vdXBncmFkZS1iZWFjb24uaHR0cHMuaHRtbAorCisgICAgICAgICog
cGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5Lmg6CisKIDIwMTgtMDMtMzAgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIE5ldHdvcmtSZXNvdXJjZUxvYWRl
ciBkb2VzIG5vdCBuZWVkIHRvIGV4cG9zZSBhbGwgcmVkaXJlY3QgcmVzcG9uc2UgaGVhZGVycwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCAyZTMzY2Q3MWRkZWUzZmE4NmMxNzkwM2JmNjRmMzQ4YWFlZGQzY2M0Li4xY2Fi
NjIyYmUxY2FmMzY3NWMwMmFlMTljNTQ5YjUyOGJiMTM3ZTZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDE4LTAzLTMwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBOZXR3b3JrTG9hZENoZWNrZXIgc2hvdWxkIHVwZ3JhZGUgcmVkaXJlY3RzIGlmIG5l
ZWRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0
MDk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4g
Y2FzZSBvZiByZWRpcmVjdGlvbnMsIHVwZ3JhZGUgVVJMIGFjY29yZGluZyBDU1AuCisKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrTG9hZENoZWNrZXI6OmNoZWNrUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtMb2FkQ2hlY2tlcjo6Y29udGVudFNlY3VyaXR5UG9saWN5IGNvbnN0KToKKwogMjAx
OC0wMy0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTmV0
d29ya1Jlc291cmNlTG9hZGVyIGRvZXMgbm90IG5lZWQgdG8gZXhwb3NlIGFsbCByZWRpcmVjdCBy
ZXNwb25zZSBoZWFkZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250
ZW50U2VjdXJpdHlQb2xpY3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1
cml0eVBvbGljeS5oCmluZGV4IDY2OWE4ZmZlNDAzZTdlMjk0Y2U3YTM2OWM4NzA0NGIxZmZmYTY5
ZWYuLmQwZTM1YmIxMjkyZTNlZDhlNGY2MzRhNmE2MTZmNWQ1NzMwOTNmMTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCkBAIC0xNjIsNyAr
MTYyLDcgQEAgcHVibGljOgogICAgIGJvb2wgdXBncmFkZUluc2VjdXJlUmVxdWVzdHMoKSBjb25z
dCB7IHJldHVybiBtX3VwZ3JhZGVJbnNlY3VyZVJlcXVlc3RzOyB9CiAgICAgZW51bSBjbGFzcyBJ
bnNlY3VyZVJlcXVlc3RUeXBlIHsgTG9hZCwgRm9ybVN1Ym1pc3Npb24sIE5hdmlnYXRpb24gfTsK
ICAgICB2b2lkIHVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RJZk5lZWRlZChSZXNvdXJjZVJlcXVlc3Qm
LCBJbnNlY3VyZVJlcXVlc3RUeXBlKSBjb25zdDsKLSAgICB2b2lkIHVwZ3JhZGVJbnNlY3VyZVJl
cXVlc3RJZk5lZWRlZChVUkwmLCBJbnNlY3VyZVJlcXVlc3RUeXBlKSBjb25zdDsKKyAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RJZk5lZWRlZChVUkwmLCBJbnNl
Y3VyZVJlcXVlc3RUeXBlKSBjb25zdDsKIAogICAgIEhhc2hTZXQ8U2VjdXJpdHlPcmlnaW5EYXRh
PiB0YWtlTmF2aWdhdGlvblJlcXVlc3RzVG9VcGdyYWRlKCk7CiAgICAgdm9pZCBpbmhlcml0SW5z
ZWN1cmVOYXZpZ2F0aW9uUmVxdWVzdHNUb1VwZ3JhZGVGcm9tT3BlbmVyKGNvbnN0IENvbnRlbnRT
ZWN1cml0eVBvbGljeSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrTG9hZENoZWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrTG9hZENoZWNrZXIuY3BwCmluZGV4IGE2M2U2ZWE1ZDkxNDZlMWM0ZTIwYjVkZWM3YTI4
Y2NmMTRjOWNlNjQuLmExNDVlODEzZmY0YWFkM2YxZjc1YmFiZWYyZGE5OGNiMjZjNmQ0NzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRDaGVja2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkQ2hlY2tl
ci5jcHAKQEAgLTEwMiw2ICsxMDIsMTMgQEAgdm9pZCBOZXR3b3JrTG9hZENoZWNrZXI6OmNoZWNr
UmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBWYWxpZGF0aW9uSGFuZGwKICNlbmRp
ZgogCiAgICAgaWYgKGF1dG8qIGNvbnRlbnRTZWN1cml0eVBvbGljeSA9IHRoaXMtPmNvbnRlbnRT
ZWN1cml0eVBvbGljeSgpKSB7CisgICAgICAgIGlmIChpc1JlZGlyZWN0ZWQoKSkgeworICAgICAg
ICAgICAgVVJMIHVybCA9IHJlcXVlc3QudXJsKCk7CisgICAgICAgICAgICBhdXRvIHR5cGUgPSBt
X21vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSA/IENvbnRlbnRTZWN1cml0eVBv
bGljeTo6SW5zZWN1cmVSZXF1ZXN0VHlwZTo6TmF2aWdhdGlvbiA6IENvbnRlbnRTZWN1cml0eVBv
bGljeTo6SW5zZWN1cmVSZXF1ZXN0VHlwZTo6TG9hZDsKKyAgICAgICAgICAgIGNvbnRlbnRTZWN1
cml0eVBvbGljeS0+dXBncmFkZUluc2VjdXJlUmVxdWVzdElmTmVlZGVkKHVybCwgdHlwZSk7Cisg
ICAgICAgICAgICBpZiAodXJsICE9IHJlcXVlc3QudXJsKCkpCisgICAgICAgICAgICAgICAgcmVx
dWVzdC5zZXRVUkwodXJsKTsKKyAgICAgICAgfQogICAgICAgICBpZiAoIWNvbnRlbnRTZWN1cml0
eVBvbGljeS0+YWxsb3dDb25uZWN0VG9Tb3VyY2UocmVxdWVzdC51cmwoKSwgaXNSZWRpcmVjdGVk
KCkgPyBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6WWVz
IDogQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6Ok5vKSkg
ewogICAgICAgICAgICAgaGFuZGxlcihyZXR1cm5FcnJvcihBU0NJSUxpdGVyYWwoIkJsb2NrZWQg
YnkgQ29udGVudCBTZWN1cml0eSBQb2xpY3kiKSkpOwogICAgICAgICAgICAgcmV0dXJuOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYmJkYjVjZmVlODVjZWE0OTZkMDM0ODBiMGUx
Zjc4MjVlOGViNDRmOC4uYjA0Y2YyNWUxYjI4NzdiYjYyMmFjNjViZWZkMzMzOWRjN2EyNTA5NCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMDMt
MzAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE5ldHdvcmtM
b2FkQ2hlY2tlciBzaG91bGQgdXBncmFkZSByZWRpcmVjdHMgaWYgbmVlZGVkCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODQwOTgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9iZWFjb24vcmVzb3VyY2VzL2JlYWNvbi1wcmVmbGlnaHQucHk6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vcmVzb3VyY2VzL3JlZGlyZWN0LnB5OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL3Jlc291cmNlcy91cGdyYWRlLWlm
cmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL3Jl
c291cmNlcy91cGdyYWRlLXJlZGlyZWN0LWlmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL3VwZ3JhZGUtYmVhY29uLmh0dHBzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi91cGdyYWRlLWJl
YWNvbi5odHRwcy5odG1sOiBBZGRlZC4KKwogMjAxOC0wMy0yOCAgQW50b2luZSBRdWludCAgPGdy
YW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gSW1wbGVtZW50IG1v
cmUgQ1NTUHJvcGVydHlCbGVuZGluZ0NsaWVudCBtZXRob2RzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9yZXNvdXJjZXMvYmVh
Y29uLXByZWZsaWdodC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvYmVhY29uL3Jlc291cmNlcy9iZWFjb24tcHJlZmxpZ2h0LnB5Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1
NDgzNjNjNDc5NTg4N2ZhZDgwMDc4MjU0N2Y0MmZmYTA2NDY2YTYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9yZXNv
dXJjZXMvYmVhY29uLXByZWZsaWdodC5weQpAQCAtMCwwICsxLDU1IEBACitpbXBvcnQganNvbgor
CitkZWYgcmVzcG9uZFRvQ09SU1ByZWZsaWdodChyZXF1ZXN0LCByZXNwb25zZSk6CisgIGFsbG93
X2NvcnMgPSBpbnQocmVxdWVzdC5HRVQuZmlyc3QoImFsbG93Q29ycyIsIDApKSAhPSAwOworCisg
IGlmIG5vdCBhbGxvd19jb3JzOgorICAgIHJlc3BvbnNlLnNldF9lcnJvcig0MDAsICJOb3QgYWxs
b3dlZCIpCisgICAgcmV0dXJuICJFUlJPUjogTm90IGFsbG93ZWQiCisKKyAgaWYgbm90ICJBY2Nl
c3MtQ29udHJvbC1SZXF1ZXN0LU1ldGhvZCIgaW4gcmVxdWVzdC5oZWFkZXJzOgorICAgIHJlc3Bv
bnNlLnNldF9lcnJvcig0MDAsICJObyBBY2Nlc3MtQ29udHJvbC1SZXF1ZXN0LU1ldGhvZCBoZWFk
ZXIiKQorICAgIHJldHVybiAiRVJST1I6IE5vIGFjY2Vzcy1jb250cm9sLXJlcXVlc3QtbWV0aG9k
IGluIHByZWZsaWdodCEiCisKKyAgaGVhZGVycyA9IFsoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L3Bs
YWluIildCisgIGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwg
cmVxdWVzdC5oZWFkZXJzLmdldCgiT3JpZ2luIiwgIioiKSkpCisgIGhlYWRlcnMuYXBwZW5kKCgi
QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCAidHJ1ZSIpKQorICByZXF1ZXN0ZWRf
bWV0aG9kID0gcmVxdWVzdC5oZWFkZXJzLmdldCgiQWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRo
b2QiLCBOb25lKQorICBoZWFkZXJzLmFwcGVuZCgoIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhv
ZHMiLCByZXF1ZXN0ZWRfbWV0aG9kKSkKKyAgcmVxdWVzdGVkX2hlYWRlcnMgPSByZXF1ZXN0Lmhl
YWRlcnMuZ2V0KCJBY2Nlc3MtQ29udHJvbC1SZXF1ZXN0LUhlYWRlcnMiLCBOb25lKQorICBoZWFk
ZXJzLmFwcGVuZCgoIkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCByZXF1ZXN0ZWRfaGVh
ZGVycykpCisgIGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRyb2wtTWF4LUFnZSIsICI2MCIp
KQorICByZXR1cm4gaGVhZGVycywgIiIKKworZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgor
ICBjb21tYW5kID0gcmVxdWVzdC5HRVQuZmlyc3QoImNtZCIpLmxvd2VyKCk7CisgIHRlc3RfaWQg
PSByZXF1ZXN0LkdFVC5maXJzdCgiaWQiKQorICBzdGFzaGVkX2RhdGEgPSByZXF1ZXN0LnNlcnZl
ci5zdGFzaC50YWtlKHRlc3RfaWQpCisgIGlmIHN0YXNoZWRfZGF0YSBpcyBOb25lOgorICAgIHN0
YXNoZWRfZGF0YSA9IHsgJ3ByZWZsaWdodCc6IDAsICdiZWFjb24nOiAwLCAncHJlZmxpZ2h0X3Jl
cXVlc3RlZF9tZXRob2QnOiAnJywgJ3ByZWZsaWdodF9yZXF1ZXN0ZWRfaGVhZGVycyc6ICcnLCAn
cHJlZmxpZ2h0X3JlZmVycmVyJzogJycsICdwcmVmbGlnaHRfY29va2llX2hlYWRlcic6ICcnLCAn
YmVhY29uX2Nvb2tpZV9oZWFkZXInOiAnJyB9CisKKyAgaWYgY29tbWFuZCA9PSAicHV0IjoKKyAg
ICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6CisgICAgICBzdGFzaGVkX2RhdGFbJ3By
ZWZsaWdodCddID0gMTsKKyAgICAgIHN0YXNoZWRfZGF0YVsncHJlZmxpZ2h0X3JlcXVlc3RlZF9t
ZXRob2QnXSA9IHJlcXVlc3QuaGVhZGVycy5nZXQoIkFjY2Vzcy1Db250cm9sLVJlcXVlc3QtTWV0
aG9kIiwgIiIpCisgICAgICBzdGFzaGVkX2RhdGFbJ3ByZWZsaWdodF9yZXF1ZXN0ZWRfaGVhZGVy
cyddID0gcmVxdWVzdC5oZWFkZXJzLmdldCgiQWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1IZWFkZXJz
IiwgIiIpCisgICAgICBzdGFzaGVkX2RhdGFbJ3ByZWZsaWdodF9jb29raWVfaGVhZGVyJ10gPSBy
ZXF1ZXN0LmhlYWRlcnMuZ2V0KCJDb29raWUiLCAiIik7CisgICAgICBzdGFzaGVkX2RhdGFbJ3By
ZWZsaWdodF9yZWZlcmVyJ10gPSByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJSZWZlcmVyIiwgIiIpCisg
ICAgICBzdGFzaGVkX2RhdGFbJ3ByZWZsaWdodF9vcmlnaW4nXSA9IHJlcXVlc3QuaGVhZGVycy5n
ZXQoIk9yaWdpbiIsICIiKQorICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRlc3RfaWQs
IHN0YXNoZWRfZGF0YSkKKyAgICAgIHJldHVybiByZXNwb25kVG9DT1JTUHJlZmxpZ2h0KHJlcXVl
c3QsIHJlc3BvbnNlKQorICAgIGVsaWYgcmVxdWVzdC5tZXRob2QgPT0gIlBPU1QiOgorICAgICAg
c3Rhc2hlZF9kYXRhWydiZWFjb24nXSA9IDE7CisgICAgICBzdGFzaGVkX2RhdGFbJ2JlYWNvbl9j
b29raWVfaGVhZGVyJ10gPSByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJDb29raWUiLCAiIikKKyAgICAg
IHN0YXNoZWRfZGF0YVsnYmVhY29uX29yaWdpbiddID0gcmVxdWVzdC5oZWFkZXJzLmdldCgiT3Jp
Z2luIiwgIiIpCisgICAgICBzdGFzaGVkX2RhdGFbJ3VybCddID0gcmVxdWVzdC51cmwKKyAgICAg
IHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0ZXN0X2lkLCBzdGFzaGVkX2RhdGEpCisgICAgcmV0
dXJuIFsoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L3BsYWluIildLCAiIgorCisgIGlmIGNvbW1hbmQg
PT0gImdldCI6CisgICAgaWYgc3Rhc2hlZF9kYXRhIGlzIG5vdCBOb25lOgorICAgICAgcmV0dXJu
IFsoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L3BsYWluIildLCBqc29uLmR1bXBzKHN0YXNoZWRfZGF0
YSkKKyAgICByZXR1cm4gWygiQ29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKV0sICIiCisKKyAg
cmVzcG9uc2Uuc2V0X2Vycm9yKDQwMCwgIkJhZCBDb21tYW5kIikKKyAgcmV0dXJuICJFUlJPUjog
QmFkIENvbW1hbmQhIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9iZWFjb24vcmVzb3VyY2VzL3JlZGlyZWN0LnB5IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vcmVzb3VyY2VzL3JlZGlyZWN0
LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjM5YzU3NGM0MDJmMDJhOWI1Yzk4ZDllZGZjNDY0NDI2ZTU3YWFjNTkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2JlYWNvbi9yZXNvdXJjZXMvcmVkaXJlY3QucHkKQEAgLTAsMCArMSw2MyBAQAorZnJv
bSB1cmxsaWIgaW1wb3J0IHVybGVuY29kZQorZnJvbSB1cmxwYXJzZSBpbXBvcnQgdXJscGFyc2UK
KworZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIHN0YXNoZWRfZGF0YSA9IHsnY291
bnQnOiAwLCAncHJlZmxpZ2h0JzogIjAifQorICAgIHN0YXR1cyA9IDMwMgorICAgIGhlYWRlcnMg
PSBbKCJDb250ZW50LVR5cGUiLCAidGV4dC9wbGFpbiIpLAorICAgICAgICAgICAgICAgKCJDYWNo
ZS1Db250cm9sIiwgIm5vLWNhY2hlIiksCisgICAgICAgICAgICAgICAoIlByYWdtYSIsICJuby1j
YWNoZSIpLAorICAgICAgICAgICAgICAgKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFs
cyIsICJ0cnVlIildCisgICAgaGVhZGVycy5hcHBlbmQoKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1P
cmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJPcmlnaW4iLCAiKiIpKSkKKyAgICB0b2tlbiA9
IE5vbmUKKworICAgIGlmICJ0b2tlbiIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIHRva2VuID0g
cmVxdWVzdC5HRVQuZmlyc3QoInRva2VuIikKKyAgICAgICAgZGF0YSA9IHJlcXVlc3Quc2VydmVy
LnN0YXNoLnRha2UodG9rZW4pCisgICAgICAgIGlmIGRhdGE6CisgICAgICAgICAgICBzdGFzaGVk
X2RhdGEgPSBkYXRhCisKKyAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSAiT1BUSU9OUyI6CisgICAg
ICAgIHJlcXVlc3RlZF9tZXRob2QgPSByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJBY2Nlc3MtQ29udHJv
bC1SZXF1ZXN0LU1ldGhvZCIsIE5vbmUpCisgICAgICAgIGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIHJlcXVlc3RlZF9tZXRob2QpKQorICAgICAgICByZXF1
ZXN0ZWRfaGVhZGVycyA9IHJlcXVlc3QuaGVhZGVycy5nZXQoIkFjY2Vzcy1Db250cm9sLVJlcXVl
c3QtSGVhZGVycyIsIE5vbmUpCisgICAgICAgIGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRy
b2wtQWxsb3ctSGVhZGVycyIsIHJlcXVlc3RlZF9oZWFkZXJzKSkKKyAgICAgICAgc3Rhc2hlZF9k
YXRhWydwcmVmbGlnaHQnXSA9ICIxIgorICAgICAgICAjUHJlZmxpZ2h0IGlzIG5vdCByZWRpcmVj
dGVkOiByZXR1cm4gMjAwCisgICAgICAgIGlmIG5vdCAicmVkaXJlY3RfcHJlZmxpZ2h0IiBpbiBy
ZXF1ZXN0LkdFVDoKKyAgICAgICAgICAgIGlmIHRva2VuOgorICAgICAgICAgICAgICByZXF1ZXN0
LnNlcnZlci5zdGFzaC5wdXQocmVxdWVzdC5HRVQuZmlyc3QoInRva2VuIiksIHN0YXNoZWRfZGF0
YSkKKyAgICAgICAgICAgIHJldHVybiAyMDAsIGhlYWRlcnMsICIiCisKKyAgICBpZiAicmVkaXJl
Y3Rfc3RhdHVzIiBpbiByZXF1ZXN0LkdFVDoKKyAgICAgICAgc3RhdHVzID0gaW50KHJlcXVlc3Qu
R0VUWydyZWRpcmVjdF9zdGF0dXMnXSkKKworICAgIHN0YXNoZWRfZGF0YVsnY291bnQnXSArPSAx
CisKKyAgICBpZiAibG9jYXRpb24iIGluIHJlcXVlc3QuR0VUOgorICAgICAgICB1cmwgPSByZXF1
ZXN0LkdFVFsnbG9jYXRpb24nXQorICAgICAgICBzY2hlbWUgPSB1cmxwYXJzZSh1cmwpLnNjaGVt
ZQorICAgICAgICBpZiBzY2hlbWUgPT0gIiIgb3Igc2NoZW1lID09ICJodHRwIiBvciBzY2hlbWUg
PT0gImh0dHBzIjoKKyAgICAgICAgICAgIHVybCArPSAiJiIgaWYgJz8nIGluIHVybCBlbHNlICI/
IgorICAgICAgICAgICAgI2tlZXAgdXJsIHBhcmFtZXRlcnMgaW4gbG9jYXRpb24KKyAgICAgICAg
ICAgIHVybF9wYXJhbWV0ZXJzID0ge30KKyAgICAgICAgICAgIGZvciBpdGVtIGluIHJlcXVlc3Qu
R0VULml0ZW1zKCk6CisgICAgICAgICAgICAgICAgdXJsX3BhcmFtZXRlcnNbaXRlbVswXV0gPSBp
dGVtWzFdWzBdCisgICAgICAgICAgICB1cmwgKz0gdXJsZW5jb2RlKHVybF9wYXJhbWV0ZXJzKQor
ICAgICAgICAgICAgI21ha2Ugc3VyZSBsb2NhdGlvbiBjaGFuZ2VzIGR1cmluZyByZWRpcmVjdGlv
biBsb29wCisgICAgICAgICAgICB1cmwgKz0gIiZjb3VudD0iICsgc3RyKHN0YXNoZWRfZGF0YVsn
Y291bnQnXSkKKyAgICAgICAgaGVhZGVycy5hcHBlbmQoKCJMb2NhdGlvbiIsIHVybCkpCisKKyAg
ICBpZiAicmVkaXJlY3RfcmVmZXJyZXJwb2xpY3kiIGluIHJlcXVlc3QuR0VUOgorICAgICAgICBo
ZWFkZXJzLmFwcGVuZCgoIlJlZmVycmVyLVBvbGljeSIsIHJlcXVlc3QuR0VUWydyZWRpcmVjdF9y
ZWZlcnJlcnBvbGljeSddKSkKKworICAgIGlmIHRva2VuOgorICAgICAgICByZXF1ZXN0LnNlcnZl
ci5zdGFzaC5wdXQocmVxdWVzdC5HRVQuZmlyc3QoInRva2VuIiksIHN0YXNoZWRfZGF0YSkKKyAg
ICAgICAgaWYgIm1heF9jb3VudCIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgICAgICBtYXhfY291
bnQgPSAgaW50KHJlcXVlc3QuR0VUWydtYXhfY291bnQnXSkKKyAgICAgICAgICAgICNzdG9wIHJl
ZGlyZWN0aW5nIGFuZCByZXR1cm4gY291bnQKKyAgICAgICAgICAgIGlmIHN0YXNoZWRfZGF0YVsn
Y291bnQnXSA+IG1heF9jb3VudDoKKyAgICAgICAgICAgICAgICAjIC0xIGJlY2F1c2UgdGhlIGxh
c3QgaXMgbm90IGEgcmVkaXJlY3Rpb24KKyAgICAgICAgICAgICAgICByZXR1cm4gc3RyKHN0YXNo
ZWRfZGF0YVsnY291bnQnXSAtIDEpCisKKyAgICByZXR1cm4gc3RhdHVzLCBoZWFkZXJzLCAiIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9i
ZWFjb24vcmVzb3VyY2VzL3VwZ3JhZGUtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9yZXNvdXJjZXMvdXBncmFkZS1pZnJhbWUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41ZjUzYmIyMWJmYjJmOTNjZTk1MmMyNWMxMmMxNmZhMGI3MTVkYWQz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9iZWFjb24vcmVzb3VyY2VzL3VwZ3JhZGUtaWZyYW1lLmh0bWwKQEAgLTAsMCArMSw0
MSBAQAorPGh0bWw+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVNlY3VyaXR5LVBvbGljeSIg
Y29udGVudD0idXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cyI+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1o
b3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgaWQgPSBzZWxmLnRva2Vu
KCk7Cit2YXIgaG9zdEluZm8gPSBnZXRfaG9zdF9pbmZvKCk7Cit2YXIgYmVhY29uVVJMID0gImh0
dHA6Ly8iICsgaG9zdEluZm8uT1JJR0lOQUxfSE9TVCArICI6IiArIGhvc3RJbmZvLkhUVFBTX1BP
UlQgKyAiL2JlYWNvbi9yZXNvdXJjZXMvYmVhY29uLXByZWZsaWdodC5weT9hbGxvd0NvcnM9MSZj
bWQ9cHV0JmlkPSIgKyBpZDsKKworZnVuY3Rpb24gc2VuZEJlYWNvbigpCit7CisgICAgcmV0dXJu
IG5hdmlnYXRvci5zZW5kQmVhY29uKGJlYWNvblVSTCwgInRlc3QiKTsKK30KKworZnVuY3Rpb24g
c2VuZFJlZGlyZWN0ZWRCZWFjb24oKQoreworICAgIHJldHVybiBuYXZpZ2F0b3Iuc2VuZEJlYWNv
bigicmVkaXJlY3QucHk/cmVkaXJlY3Rfc3RhdHVzPTMwNyZsb2NhdGlvbj0iICsgYmVhY29uVVJM
LCAidGVzdCIpOworfQorCitmdW5jdGlvbiB3YWl0Rm9yKHRlc3QsIGR1cmF0aW9uKQoreworICAg
IHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gdGVzdC5zdGVwX3RpbWVvdXQocmVzb2x2
ZSwgZHVyYXRpb24pKTsKK30KKworYXN5bmMgZnVuY3Rpb24gY2hlY2tCZWFjb25VUkwodGVzdCkK
K3sKKyAgICB2YXIgY2hlY2tVUkwgPSAiYmVhY29uLXByZWZsaWdodC5weT9jbWQ9Z2V0JmlkPSIg
KyBpZDsKKyAgICB2YXIgY291bnRlciA9IDA7CisgICAgd2hpbGUgKCsrY291bnRlciA8IDIwKSB7
CisgICAgICAgIGxldCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGNoZWNrVVJMKTsKKyAgICAgICAg
bGV0IGJvZHkgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7CisgICAgICAgIGlmIChib2R5LnVybCkK
KyAgICAgICAgICAgIHJldHVybiBib2R5LnVybC5zdGFydHNXaXRoKCdodHRwczovLycpOworICAg
ICAgICBhd2FpdCB3YWl0Rm9yKHRlc3QsIDUwKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKworPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9iZWFjb24vdXBncmFkZS1iZWFjb24uaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vdXBncmFk
ZS1iZWFjb24uaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlYjYwMmIyYWRmNjVlNmUy
NmQwMTVlN2YxZmFiMDFjYTlkN2ZhYjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi91cGdyYWRlLWJlYWNvbi5odHRw
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKKworUEFTUyBFbnN1cmUgYmVhY29uIGdl
dHMgdXBncmFkZWQgCitQQVNTIEVuc3VyZSBiZWFjb24gZ2V0cyB1cGdyYWRlZCBhZnRlciByZWRp
cmVjdGlvbiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9iZWFjb24vdXBncmFkZS1iZWFjb24uaHR0cHMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL3VwZ3JhZGUtYmVhY29uLmh0
dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYWUwYjU2MjJhZWY1ZDBhNDUzOTk4YTRiYTEzYTM4Zjg0OThm
NjQyZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvYmVhY29uL3VwZ3JhZGUtYmVhY29uLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwy
OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHdpdGhf
aWZyYW1lKHVybCkgeworICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7
CisgICAgICAgIHZhciBmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwor
ICAgICAgICBmcmFtZS5zcmMgPSB1cmw7CisgICAgICAgIGZyYW1lLm9ubG9hZCA9IGZ1bmN0aW9u
KCkgeyByZXNvbHZlKGZyYW1lKTsgfTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChmcmFtZSk7CisgICAgfSk7Cit9Cit2YXIgZnJhbWU7Citwcm9taXNlX3Rlc3QoYXN5bmMgKHRl
c3QpID0+IHsKKyAgICBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1lKCdyZXNvdXJjZXMvdXBncmFk
ZS1pZnJhbWUuaHRtbCcpOworICAgIGFzc2VydF90cnVlKGZyYW1lLmNvbnRlbnRXaW5kb3cuc2Vu
ZEJlYWNvbigpLCAiU2VuZCBiZWFjb24gc3VjY2Vzc2Z1bGx5Iik7CisgICAgYXNzZXJ0X3RydWUo
YXdhaXQgZnJhbWUuY29udGVudFdpbmRvdy5jaGVja0JlYWNvblVSTCh0ZXN0KSwgIlVwZ3JhZGVk
IGJlYWNvbiBVUkwiKTsKK30sICJFbnN1cmUgYmVhY29uIGdldHMgdXBncmFkZWQiKTsKKworcHJv
bWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgYXNzZXJ0X3RydWUoZnJhbWUuY29udGVu
dFdpbmRvdy5zZW5kUmVkaXJlY3RlZEJlYWNvbigpLCAiU2VuZCBiZWFjb24gc3VjY2Vzc2Z1bGx5
Iik7CisgICAgYXNzZXJ0X3RydWUoYXdhaXQgZnJhbWUuY29udGVudFdpbmRvdy5jaGVja0JlYWNv
blVSTCh0ZXN0KSwgIlVwZ3JhZGVkIGJlYWNvbiBVUkwiKTsKK30sICJFbnN1cmUgYmVhY29uIGdl
dHMgdXBncmFkZWQgYWZ0ZXIgcmVkaXJlY3Rpb24iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>