<?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>82865</bug_id>
          
          <creation_ts>2012-04-02 01:40:26 -0700</creation_ts>
          <short_desc>[Chromium] Move a number of virtual functions from WebKitPlatformSupport.h into Platform.h</short_desc>
          <delta_ts>2012-04-02 03:03:09 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>593252</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-04-02 01:40:26 -0700</bug_when>
    <thetext>[Chromium] Move a number of virtual functions from WebKitPlatformSupport.h into Platform.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593253</commentid>
    <comment_count>1</comment_count>
      <attachid>135043</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-04-02 01:42:01 -0700</bug_when>
    <thetext>Created attachment 135043
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593254</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-02 01:45:30 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593267</commentid>
    <comment_count>3</comment_count>
      <attachid>135043</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-04-02 02:08:09 -0700</bug_when>
    <thetext>Comment on attachment 135043
Patch

Looks ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593298</commentid>
    <comment_count>4</comment_count>
      <attachid>135043</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-02 03:03:04 -0700</bug_when>
    <thetext>Comment on attachment 135043
Patch

Clearing flags on attachment: 135043

Committed r112846: &lt;http://trac.webkit.org/changeset/112846&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593299</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-02 03:03:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135043</attachid>
            <date>2012-04-02 01:42:01 -0700</date>
            <delta_ts>2012-04-02 03:03:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82865-20120402014159.patch</filename>
            <type>text/plain</type>
            <size>30278</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1Bs
YXRmb3JtL0NoYW5nZUxvZwkocmV2aXNpb24gMTEyODM3KQorKysgU291cmNlL1BsYXRmb3JtL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU0IEBACisyMDEyLTA0LTAyICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBNb3ZlIGEg
bnVtYmVyIG9mIHZpcnR1YWwgZnVuY3Rpb25zIGZyb20gV2ViS2l0UGxhdGZvcm1TdXBwb3J0Lmgg
aW50byBQbGF0Zm9ybS5oCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04Mjg2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmluZyB0aGVzZSBmdW5jdGlvbnMgaW50byBQbGF0Zm9ybS5oIGFsbG93cyB0aGVt
IHRvIGJlIGNhbGxlZCBmcm9tCisgICAgICAgIFBsYXRmb3JtIChha2EgV2ViQ29yZS9wbGF0Zm9y
bSksIGFzIGRpc2N1c3NlZCBpbiAKKyAgICAgICAgaHR0cHM6Ly9saXN0cy53ZWJraXQub3JnL3Bp
cGVybWFpbC93ZWJraXQtZGV2LzIwMTItTWFyY2gvMDIwMTY2Lmh0bWwKKworICAgICAgICAqIGNo
cm9taXVtL3B1YmxpYy9QbGF0Zm9ybS5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFBs
YXRmb3JtKToKKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm06Om1pbWVSZWdpc3RyeSk6CisgICAg
ICAgIChXZWJLaXQ6OlBsYXRmb3JtOjphdWRpb0hhcmR3YXJlU2FtcGxlUmF0ZSk6CisgICAgICAg
IChXZWJLaXQ6OlBsYXRmb3JtOjphdWRpb0hhcmR3YXJlQnVmZmVyU2l6ZSk6CisgICAgICAgIChX
ZWJLaXQ6OlBsYXRmb3JtOjpjcmVhdGVBdWRpb0RldmljZSk6CisgICAgICAgIChXZWJLaXQ6OlBs
YXRmb3JtOjpzYW1wbGVHYW1lcGFkcyk6CisgICAgICAgIChXZWJLaXQ6OlBsYXRmb3JtOjp2aXNp
dGVkTGlua0hhc2gpOgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybTo6aXNMaW5rVmlzaXRlZCk6
CisgICAgICAgIChXZWJLaXQ6OlBsYXRmb3JtOjpzaWduZWRQdWJsaWNLZXlBbmRDaGFsbGVuZ2VT
dHJpbmcpOgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybTo6bWVtb3J5VXNhZ2VNQik6CisgICAg
ICAgIChXZWJLaXQ6OlBsYXRmb3JtOjphY3R1YWxNZW1vcnlVc2FnZU1CKToKKyAgICAgICAgKFdl
YktpdDo6UGxhdGZvcm06Omxvd01lbW9yeVVzYWdlTUIpOgorICAgICAgICAoV2ViS2l0OjpQbGF0
Zm9ybTo6aGlnaE1lbW9yeVVzYWdlTUIpOgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybTo6aGln
aFVzYWdlRGVsdGFNQik6CisgICAgICAgIChXZWJLaXQ6OlBsYXRmb3JtOjpwcmVmZXRjaEhvc3RO
YW1lKToKKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm06OmNyZWF0ZVNvY2tldFN0cmVhbUhhbmRs
ZSk6CisgICAgICAgIChXZWJLaXQ6OlBsYXRmb3JtOjp1c2VyQWdlbnQpOgorICAgICAgICAoV2Vi
S2l0OjpQbGF0Zm9ybTo6Y2FjaGVNZXRhZGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlBsYXRmb3Jt
OjpjcmVhdGVUaHJlYWQpOgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudFRocmVh
ZCk6CisgICAgICAgIChXZWJLaXQ6OlBsYXRmb3JtOjpkZWNyZW1lbnRTdGF0c0NvdW50ZXIpOgor
ICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybTo6aW5jcmVtZW50U3RhdHNDb3VudGVyKToKKyAgICAg
ICAgKFdlYktpdDo6UGxhdGZvcm06OmxvYWRSZXNvdXJjZSk6CisgICAgICAgIChXZWJLaXQ6OlBs
YXRmb3JtOjpsb2FkQXVkaW9SZXNvdXJjZSk6CisgICAgICAgIChXZWJLaXQ6OlBsYXRmb3JtOjpz
YW5kYm94RW5hYmxlZCk6CisgICAgICAgIChXZWJLaXQ6OlBsYXRmb3JtOjpzdWRkZW5UZXJtaW5h
dGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybTo6ZGVmYXVsdExvY2FsZSk6
CisgICAgICAgIChXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50VGltZSk6CisgICAgICAgIChXZWJL
aXQ6OlBsYXRmb3JtOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUpOgorICAgICAgICAoV2Vi
S2l0OjpQbGF0Zm9ybTo6c2V0U2hhcmVkVGltZXJGaXJlZEZ1bmN0aW9uKToKKyAgICAgICAgKFdl
YktpdDo6UGxhdGZvcm06OnNldFNoYXJlZFRpbWVyRmlyZUludGVydmFsKToKKyAgICAgICAgKFdl
YktpdDo6UGxhdGZvcm06OnN0b3BTaGFyZWRUaW1lcik6CisgICAgICAgIChXZWJLaXQ6OlBsYXRm
b3JtOjpjYWxsT25NYWluVGhyZWFkKToKKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm06OmdldFRy
YWNlQ2F0ZWdvcnlFbmFibGVkRmxhZyk6CisgICAgICAgIChXZWJLaXQ6OlBsYXRmb3JtOjphZGRU
cmFjZUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm06Omhpc3RvZ3JhbUN1c3RvbUNv
dW50cyk6CisgICAgICAgIChXZWJLaXQ6OlBsYXRmb3JtOjpoaXN0b2dyYW1FbnVtZXJhdGlvbik6
CisKIDIwMTItMDQtMDIgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBbQ2hyb21pdW1dIE1vdmUgYW5vdGhlciBibG9jayBvZiBoZWFkZXJzIGZyb20gV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9wbGF0Zm9ybSB0byBQbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMKSW5kZXg6
IFNvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvUGxhdGZvcm0uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1BsYXRmb3JtLmgJKHJldmlzaW9uIDEx
MjgzMSkKKysrIFNvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvUGxhdGZvcm0uaAkod29y
a2luZyBjb3B5KQpAQCAtMzEsMTcgKzMxLDI2IEBACiAjaWZuZGVmIFBsYXRmb3JtX2gKICNkZWZp
bmUgUGxhdGZvcm1faAogCisjaW5jbHVkZSAiV2ViQXVkaW9EZXZpY2UuaCIKICNpbmNsdWRlICJX
ZWJDb21tb24uaCIKKyNpbmNsdWRlICJXZWJEYXRhLmgiCisjaW5jbHVkZSAiV2ViR2FtZXBhZHMu
aCIKKyNpbmNsdWRlICJXZWJTdHJpbmcuaCIKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK2NsYXNz
IFdlYkF1ZGlvQnVzOwogY2xhc3MgV2ViTWVkaWFTdHJlYW1DZW50ZXI7CiBjbGFzcyBXZWJNZWRp
YVN0cmVhbUNlbnRlckNsaWVudDsKK2NsYXNzIFdlYk1pbWVSZWdpc3RyeTsKIGNsYXNzIFdlYlBl
ZXJDb25uZWN0aW9uMDBIYW5kbGVyOwogY2xhc3MgV2ViUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJD
bGllbnQ7CiBjbGFzcyBXZWJQZWVyQ29ubmVjdGlvbkhhbmRsZXI7CiBjbGFzcyBXZWJQZWVyQ29u
bmVjdGlvbkhhbmRsZXJDbGllbnQ7CitjbGFzcyBXZWJVUkw7CiBjbGFzcyBXZWJVUkxMb2FkZXI7
CitjbGFzcyBXZWJTb2NrZXRTdHJlYW1IYW5kbGU7CitjbGFzcyBXZWJUaHJlYWQ7CiAKIGNsYXNz
IFBsYXRmb3JtIHsKIHB1YmxpYzoKQEAgLTQ5LDExICs1OCwyMzIgQEAgcHVibGljOgogICAgIFdF
QktJVF9FWFBPUlQgc3RhdGljIHZvaWQgc2h1dGRvd24oKTsKICAgICBXRUJLSVRfRVhQT1JUIHN0
YXRpYyBQbGF0Zm9ybSogY3VycmVudCgpOwogCisgICAgLy8gTXVzdCByZXR1cm4gbm9uLW51bGwu
CisgICAgdmlydHVhbCBXZWJNaW1lUmVnaXN0cnkqIG1pbWVSZWdpc3RyeSgpIHsgcmV0dXJuIDA7
IH0KKworCisgICAgLy8gQXVkaW8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIHZpcnR1YWwgZG91YmxlIGF1ZGlvSGFy
ZHdhcmVTYW1wbGVSYXRlKCkgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgc2l6ZV90IGF1ZGlv
SGFyZHdhcmVCdWZmZXJTaXplKCkgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgV2ViQXVkaW9E
ZXZpY2UqIGNyZWF0ZUF1ZGlvRGV2aWNlKHNpemVfdCBidWZmZXJTaXplLCB1bnNpZ25lZCBudW1i
ZXJPZkNoYW5uZWxzLCBkb3VibGUgc2FtcGxlUmF0ZSwgV2ViQXVkaW9EZXZpY2U6OlJlbmRlckNh
bGxiYWNrKikgeyByZXR1cm4gMDsgfQorCisKKyAgICAvLyBHYW1lcGFkIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIHZp
cnR1YWwgdm9pZCBzYW1wbGVHYW1lcGFkcyhXZWJHYW1lcGFkcyYgaW50bykgeyBpbnRvLmxlbmd0
aCA9IDA7IH0KKworCisgICAgLy8gSGlzdG9yeSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyAgICAvLyBSZXR1cm5zIHRoZSBo
YXNoIGZvciB0aGUgZ2l2ZW4gY2Fub25pY2FsaXplZCBVUkwgZm9yIHVzZSBpbiB2aXNpdGVkCisg
ICAgLy8gbGluayBjb2xvcmluZy4KKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgbG9uZyB2aXNp
dGVkTGlua0hhc2goCisgICAgICAgIGNvbnN0IGNoYXIqIGNhbm9uaWNhbFVSTCwgc2l6ZV90IGxl
bmd0aCkgeyByZXR1cm4gMDsgfQorCisgICAgLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBs
aW5rIGhhc2ggaXMgaW4gdGhlIHVzZXIncyBoaXN0b3J5LiBUaGUKKyAgICAvLyBoYXNoIG11c3Qg
aGF2ZSBiZWVuIGdlbmVyYXRlZCBieSBjYWxsaW5nIFZpc2l0ZWRMaW5rSGFzaCgpLgorICAgIHZp
cnR1YWwgYm9vbCBpc0xpbmtWaXNpdGVkKHVuc2lnbmVkIGxvbmcgbG9uZyBsaW5rSGFzaCkgeyBy
ZXR1cm4gZmFsc2U7IH0KKworCisgICAgLy8gS2V5Z2VuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyAgICAvLyBIYW5kbGUg
dGhlIDxrZXlnZW4+IHRhZyBmb3IgZ2VuZXJhdGluZyBjbGllbnQgY2VydGlmaWNhdGVzCisgICAg
Ly8gUmV0dXJucyBhIGJhc2U2NCBlbmNvZGVkIHNpZ25lZCBjb3B5IG9mIGEgcHVibGljIGtleSBm
cm9tIGEgbmV3bHkKKyAgICAvLyBnZW5lcmF0ZWQga2V5IHBhaXIgYW5kIHRoZSBzdXBwbGllZCBj
aGFsbGVuZ2Ugc3RyaW5nLiBrZXlTaXplaW5kZXgKKyAgICAvLyBzcGVjaWZpZXMgdGhlIHN0cmVu
Z3RoIG9mIHRoZSBrZXkuCisgICAgdmlydHVhbCBXZWJTdHJpbmcgc2lnbmVkUHVibGljS2V5QW5k
Q2hhbGxlbmdlU3RyaW5nKHVuc2lnbmVkIGtleVNpemVJbmRleCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBj
aGFsbGVuZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IFdlYlVSTCYgdXJsKSB7IHJldHVybiBXZWJTdHJpbmcoKTsgfQorCisK
KyAgICAvLyBNZW1vcnkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIC8vIFJldHVybnMgdGhlIGN1cnJlbnQgc3BhY2Ug
YWxsb2NhdGVkIGZvciB0aGUgcGFnZWZpbGUsIGluIE1CLgorICAgIC8vIFRoYXQgaXMgY29tbWl0
dGVkIHNpemUgZm9yIFdpbmRvd3MgYW5kIHZpcnR1YWwgbWVtb3J5IHNpemUgZm9yIFBPU0lYCisg
ICAgdmlydHVhbCBzaXplX3QgbWVtb3J5VXNhZ2VNQigpIHsgcmV0dXJuIDA7IH0KKworICAgIC8v
IFNhbWUgYXMgYWJvdmUsIGJ1dCBhbHdheXMgcmV0dXJucyBhY3R1YWwgdmFsdWUsIHdpdGhvdXQg
YW55IGNhY2hlcy4KKyAgICB2aXJ0dWFsIHNpemVfdCBhY3R1YWxNZW1vcnlVc2FnZU1CKCkgeyBy
ZXR1cm4gMDsgfQorCisgICAgLy8gSWYgbWVtb3J5IHVzYWdlIGlzIGJlbG93IHRoaXMgdGhyZXNo
b2xkLCBkbyBub3QgYm90aGVyIGZvcmNpbmcgR0MuCisgICAgdmlydHVhbCBzaXplX3QgbG93TWVt
b3J5VXNhZ2VNQigpIHsgcmV0dXJuIDI1NjsgfQorCisgICAgLy8gSWYgbWVtb3J5IHVzYWdlIGlz
IGFib3ZlIHRoaXMgdGhyZXNob2xkLCBmb3JjZSBHQyBtb3JlIGFnZ3Jlc3NpdmVseS4KKyAgICB2
aXJ0dWFsIHNpemVfdCBoaWdoTWVtb3J5VXNhZ2VNQigpIHsgcmV0dXJuIDEwMjQ7IH0KKworICAg
IC8vIERlbHRhIG9mIG1lbW9yeSB1c2FnZSBncm93dGggKHZzLiBsYXN0IGFjdHVhbE1lbW9yeVVz
YWdlTUIoKSkgdG8gZm9yY2UgR0Mgd2hlbiBtZW1vcnkgdXNhZ2UgaXMgaGlnaC4KKyAgICB2aXJ0
dWFsIHNpemVfdCBoaWdoVXNhZ2VEZWx0YU1CKCkgeyByZXR1cm4gMTI4OyB9CisKKwogICAgIC8v
IE5ldHdvcmsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogCiAgICAgLy8gUmV0dXJucyBhIG5ldyBXZWJVUkxMb2FkZXIgaW5zdGFu
Y2UuCiAgICAgdmlydHVhbCBXZWJVUkxMb2FkZXIqIGNyZWF0ZVVSTExvYWRlcigpIHsgcmV0dXJu
IDA7IH0KIAorICAgIC8vIEEgc3VnZ2VzdGlvbiB0byBwcmVmZXRjaCBJUCBpbmZvcm1hdGlvbiBm
b3IgdGhlIGdpdmVuIGhvc3RuYW1lLgorICAgIHZpcnR1YWwgdm9pZCBwcmVmZXRjaEhvc3ROYW1l
KGNvbnN0IFdlYlN0cmluZyYpIHsgfQorCisgICAgLy8gUmV0dXJucyBhIG5ldyBXZWJTb2NrZXRT
dHJlYW1IYW5kbGUgaW5zdGFuY2UuCisgICAgdmlydHVhbCBXZWJTb2NrZXRTdHJlYW1IYW5kbGUq
IGNyZWF0ZVNvY2tldFN0cmVhbUhhbmRsZSgpIHsgcmV0dXJuIDA7IH0KKworICAgIC8vIFJldHVy
bnMgdGhlIFVzZXItQWdlbnQgc3RyaW5nIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBnaXZl
biBVUkwuCisgICAgdmlydHVhbCBXZWJTdHJpbmcgdXNlckFnZW50KGNvbnN0IFdlYlVSTCYpIHsg
cmV0dXJuIFdlYlN0cmluZygpOyB9CisKKyAgICAvLyBBIHN1Z2dlc3Rpb24gdG8gY2FjaGUgdGhp
cyBtZXRhZGF0YSBpbiBhc3NvY2lhdGlvbiB3aXRoIHRoaXMgVVJMLgorICAgIHZpcnR1YWwgdm9p
ZCBjYWNoZU1ldGFkYXRhKGNvbnN0IFdlYlVSTCYsIGRvdWJsZSByZXNwb25zZVRpbWUsIGNvbnN0
IGNoYXIqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSkgeyB9CisKKworICAgIC8vIFRocmVhZHMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisg
ICAgLy8gQ3JlYXRlcyBhbiBlbWJlZGRlci1kZWZpbmVkIHRocmVhZC4KKyAgICB2aXJ0dWFsIFdl
YlRocmVhZCogY3JlYXRlVGhyZWFkKGNvbnN0IGNoYXIqIG5hbWUpIHsgcmV0dXJuIDA7IH0KKwor
ICAgIC8vIFJldHVybnMgYW4gaW50ZXJmYWNlIHRvIHRoZSBjdXJyZW50IHRocmVhZC4gVGhpcyBp
cyBvd25lZCBieSB0aGUKKyAgICAvLyBlbWJlZGRlci4KKyAgICB2aXJ0dWFsIFdlYlRocmVhZCog
Y3VycmVudFRocmVhZCgpIHsgcmV0dXJuIDA7IH0KKworCisgICAgLy8gUHJvZmlsaW5nIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisK
KyAgICB2aXJ0dWFsIHZvaWQgZGVjcmVtZW50U3RhdHNDb3VudGVyKGNvbnN0IGNoYXIqIG5hbWUp
IHsgfQorICAgIHZpcnR1YWwgdm9pZCBpbmNyZW1lbnRTdGF0c0NvdW50ZXIoY29uc3QgY2hhciog
bmFtZSkgeyB9CisKKworICAgIC8vIFJlc291cmNlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICAgLy8gUmV0dXJucyBhIGJs
b2Igb2YgZGF0YSBjb3JyZXNwb25kaW5nIHRvIHRoZSBuYW1lZCByZXNvdXJjZS4KKyAgICB2aXJ0
dWFsIFdlYkRhdGEgbG9hZFJlc291cmNlKGNvbnN0IGNoYXIqIG5hbWUpIHsgcmV0dXJuIFdlYkRh
dGEoKTsgfQorCisgICAgLy8gRGVjb2RlcyB0aGUgaW4tbWVtb3J5IGF1ZGlvIGZpbGUgZGF0YSBh
bmQgcmV0dXJucyB0aGUgbGluZWFyIFBDTSBhdWRpbyBkYXRhIGluIHRoZSBkZXN0aW5hdGlvbkJ1
cy4KKyAgICAvLyBBIHNhbXBsZS1yYXRlIGNvbnZlcnNpb24gdG8gc2FtcGxlUmF0ZSB3aWxsIG9j
Y3VyIGlmIHRoZSBmaWxlIGRhdGEgaXMgYXQgYSBkaWZmZXJlbnQgc2FtcGxlLXJhdGUuCisgICAg
Ly8gUmV0dXJucyB0cnVlIG9uIHN1Y2Nlc3MuCisgICAgdmlydHVhbCBib29sIGxvYWRBdWRpb1Jl
c291cmNlKFdlYkF1ZGlvQnVzKiBkZXN0aW5hdGlvbkJ1cywgY29uc3QgY2hhciogYXVkaW9GaWxl
RGF0YSwgc2l6ZV90IGRhdGFTaXplLCBkb3VibGUgc2FtcGxlUmF0ZSkgeyByZXR1cm4gZmFsc2U7
IH0KKworCisgICAgLy8gU2FuZGJveCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIC8vIEluIHNvbWUgYnJvd3NlcnMsIGEg
InNhbmRib3giIHJlc3RyaWN0cyB3aGF0IG9wZXJhdGlvbnMgYSBwcm9ncmFtCisgICAgLy8gaXMg
YWxsb3dlZCB0byBwcmVmb3JtLiBTdWNoIG9wZXJhdGlvbnMgYXJlIHR5cGljYWxseSBhYnN0cmFj
dGVkIG91dAorICAgIC8vIHZpYSB0aGlzIEFQSSwgYnV0IHNvbWV0aW1lcyAobGlrZSBpbiBIVE1M
IDUgZGF0YWJhc2Ugb3BlbmluZykgV2ViS2l0CisgICAgLy8gbmVlZHMgdG8gYmVoYXZlIGRpZmZl
cmVudGx5IGJhc2VkIG9uIHdoZXRoZXIgaXQncyByZXN0cmljdGVkIG9yIG5vdC4KKyAgICAvLyBJ
biB0aGVzZSBjYXNlcyAoYW5kIHRoZXNlIGNhc2VzIG9ubHkpIHlvdSBjYW4gY2FsbCB0aGlzIGZ1
bmN0aW9uLgorICAgIC8vIEl0J3MgT0sgZm9yIHRoaXMgdmFsdWUgdG8gYmUgY29uc2Vydml0aXZl
IChpLmUuIHRydWUgZXZlbiBpZiB0aGUKKyAgICAvLyBzYW5kYm94IGlzbid0IGFjdGl2ZSkuCisg
ICAgdmlydHVhbCBib29sIHNhbmRib3hFbmFibGVkKCkgeyByZXR1cm4gZmFsc2U7IH0KKworCisg
ICAgLy8gU3VkZGVuIFRlcm1pbmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCisKKyAgICAvLyBEaXNhYmxlL0VuYWJsZSBzdWRkZW4gdGVybWlu
YXRpb24uCisgICAgdmlydHVhbCB2b2lkIHN1ZGRlblRlcm1pbmF0aW9uQ2hhbmdlZChib29sIGVu
YWJsZWQpIHsgfQorCisKKyAgICAvLyBTeXN0ZW0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIC8vIFJldHVybnMgYSB2
YWx1ZSBzdWNoIGFzICJlbi1VUyIuCisgICAgdmlydHVhbCBXZWJTdHJpbmcgZGVmYXVsdExvY2Fs
ZSgpIHsgcmV0dXJuIFdlYlN0cmluZygpOyB9CisKKyAgICAvLyBXYWxsIGNsb2NrIHRpbWUgaW4g
c2Vjb25kcyBzaW5jZSB0aGUgZXBvY2guCisgICAgdmlydHVhbCBkb3VibGUgY3VycmVudFRpbWUo
KSB7IHJldHVybiAwOyB9CisKKyAgICAvLyBNb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgdGltZSBp
biBzZWNvbmRzIGZyb20gYW4gYXJiaXRyYXJ5IGZpeGVkIHBvaW50IGluIHRoZSBwYXN0LgorICAg
IC8vIFRoaXMgZnVuY3Rpb24gaXMgZXhwZWN0ZWQgdG8gcmV0dXJuIGF0IGxlYXN0IG1pbGxpc2Vj
b25kLXByZWNpc2lvbiB2YWx1ZXMuIEZvciB0aGlzIHJlYXNvbiwKKyAgICAvLyBpdCBpcyByZWNv
bW1lbmRlZCB0aGF0IHRoZSBmaXhlZCBwb2ludCBiZSBubyBmdXJ0aGVyIGluIHRoZSBwYXN0IHRo
YW4gdGhlIGVwb2NoLgorICAgIHZpcnR1YWwgZG91YmxlIG1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZSgpIHsgcmV0dXJuIDA7IH0KKworICAgIC8vIFdlYktpdCBjbGllbnRzIG11c3QgaW1wbGVt
ZW50IHRoaXMgZnVuY2lvbiBpZiB0aGV5IHVzZSBjcnlwdG9ncmFwaGljIHJhbmRvbW5lc3MuCisg
ICAgdmlydHVhbCB2b2lkIGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tVmFsdWVzKHVuc2lnbmVkIGNo
YXIqIGJ1ZmZlciwgc2l6ZV90IGxlbmd0aCkgPSAwOworCisgICAgLy8gRGVsYXllZCB3b3JrIGlz
IGRyaXZlbiBieSBhIHNoYXJlZCB0aW1lci4KKyAgICB0eXBlZGVmIHZvaWQgKCpTaGFyZWRUaW1l
ckZ1bmN0aW9uKSgpOworICAgIHZpcnR1YWwgdm9pZCBzZXRTaGFyZWRUaW1lckZpcmVkRnVuY3Rp
b24oU2hhcmVkVGltZXJGdW5jdGlvbiB0aW1lckZ1bmN0aW9uKSB7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgc2V0U2hhcmVkVGltZXJGaXJlSW50ZXJ2YWwoZG91YmxlKSB7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgc3RvcFNoYXJlZFRpbWVyKCkgeyB9CisKKyAgICAvLyBDYWxsYWJsZSBmcm9tIGEgYmFja2dy
b3VuZCBXZWJLaXQgdGhyZWFkLgorICAgIHZpcnR1YWwgdm9pZCBjYWxsT25NYWluVGhyZWFkKHZv
aWQgKCpmdW5jKSh2b2lkKiksIHZvaWQqIGNvbnRleHQpIHsgfQorCisKKyAgICAvLyBUcmFjaW5n
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKworICAgIC8vIEdldCBhIHBvaW50ZXIgdG8gdGhlIGVuYWJsZWQgc3RhdGUgb2YgdGhl
IGdpdmVuIHRyYWNlIGNhdGVnb3J5LiBUaGUKKyAgICAvLyBlbWJlZGRlciBjYW4gZHluYW1pY2Fs
bHkgY2hhbmdlIHRoZSBlbmFibGVkIHN0YXRlIGFzIHRyYWNlIGV2ZW50CisgICAgLy8gcmVjb3Jk
aW5nIGlzIHN0YXJ0ZWQgYW5kIHN0b3BwZWQgYnkgdGhlIGFwcGxpY2F0aW9uLiBPbmx5IGxvbmct
bGl2ZWQKKyAgICAvLyBsaXRlcmFsIHN0cmluZ3Mgc2hvdWxkIGJlIGdpdmVuIGFzIHRoZSBjYXRl
Z29yeSBuYW1lLiBUaGUgaW1wbGVtZW50YXRpb24KKyAgICAvLyBleHBlY3RzIHRoZSByZXR1cm5l
ZCBwb2ludGVyIHRvIGJlIGhlbGQgcGVybWFuZW50bHkgaW4gYSBsb2NhbCBzdGF0aWMuIElmCisg
ICAgLy8gdGhlIHVuc2lnbmVkIGNoYXIgaXMgbm9uLXplcm8sIHRyYWNpbmcgaXMgZW5hYmxlZC4g
SWYgdHJhY2luZyBpcyBlbmFibGVkLAorICAgIC8vIGFkZFRyYWNlRXZlbnQgaXMgZXhwZWN0ZWQg
dG8gYmUgY2FsbGVkIGJ5IHRoZSB0cmFjZSBldmVudCBtYWNyb3MuCisgICAgdmlydHVhbCBjb25z
dCB1bnNpZ25lZCBjaGFyKiBnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcoY29uc3QgY2hhciog
Y2F0ZWdvcnlOYW1lKSB7IHJldHVybiAwOyB9CisKKyAgICAvLyBBZGQgYSB0cmFjZSBldmVudCB0
byB0aGUgcGxhdGZvcm0gdHJhY2luZyBzeXN0ZW0uIERlcGVuZGluZyBvbiB0aGUgYWN0dWFsCisg
ICAgLy8gZW5hYmxlZCBzdGF0ZSwgdGhpcyBldmVudCBtYXkgYmUgcmVjb3JkZWQgb3IgZHJvcHBl
ZC4gUmV0dXJucworICAgIC8vIHRocmVzaG9sZEJlZ2luSWQgZm9yIHVzZSBpbiBhIGNvcnJlc3Bv
bmRpbmcgZW5kIGFkZFRyYWNlRXZlbnQgY2FsbC4KKyAgICAvLyAtIHBoYXNlIHNwZWNpZmllcyB0
aGUgdHlwZSBvZiBldmVudDoKKyAgICAvLyAgIC0gQkVHSU4gKCdCJyk6IE1hcmtzIHRoZSBiZWdp
bm5pbmcgb2YgYSBzY29wZWQgZXZlbnQuCisgICAgLy8gICAtIEVORCAoJ0UnKTogTWFya3MgdGhl
IGVuZCBvZiBhIHNjb3BlZCBldmVudC4KKyAgICAvLyAgIC0gSU5TVEFOVCAoJ0knKTogU3RhbmRh
bG9uZSwgaW5zdGFudGFuZW91cyBldmVudC4KKyAgICAvLyAgIC0gU1RBUlQgKCdTJyk6IE1hcmtz
IHRoZSBiZWdpbm5pbmcgb2YgYW4gYXN5bmNocm9ub3VzIGV2ZW50ICh0aGUgZW5kCisgICAgLy8g
ICAgIGV2ZW50IGNhbiBvY2N1ciBpbiBhIGRpZmZlcmVudCBzY29wZSBvciB0aHJlYWQpLiBUaGUg
aWQgcGFyYW1ldGVyIGlzCisgICAgLy8gICAgIHVzZWQgdG8gbWF0Y2ggU1RBUlQvRklOSVNIIHBh
aXJzLgorICAgIC8vICAgLSBGSU5JU0ggKCdGJyk6IE1hcmtzIHRoZSBlbmQgb2YgYW4gYXN5bmNo
cm9ub3VzIGV2ZW50LgorICAgIC8vICAgLSBDT1VOVEVSICgnQycpOiBVc2VkIHRvIHRyYWNlIGlu
dGVnZXIgcXVhbnRpdGllcyB0aGF0IGNoYW5nZSBvdmVyCisgICAgLy8gICAgIHRpbWUuIFRoZSBh
cmd1bWVudCB2YWx1ZXMgYXJlIGV4cGVjdGVkIHRvIGJlIG9mIHR5cGUgaW50LgorICAgIC8vICAg
LSBNRVRBREFUQSAoJ00nKTogUmVzZXJ2ZWQgZm9yIGludGVybmFsIHVzZS4KKyAgICAvLyAtIGNh
dGVnb3J5RW5hYmxlZCBpcyB0aGUgcG9pbnRlciByZXR1cm5lZCBieSBnZXRUcmFjZUNhdGVnb3J5
RW5hYmxlZEZsYWcuCisgICAgLy8gLSBuYW1lIGlzIHRoZSBuYW1lIG9mIHRoZSBldmVudC4gQWxz
byB1c2VkIHRvIG1hdGNoIEJFR0lOL0VORCBhbmQKKyAgICAvLyAgIFNUQVJUL0ZJTklTSCBwYWly
cy4KKyAgICAvLyAtIGlkIG9wdGlvbmFsbHkgYWxsb3dzIGV2ZW50cyBvZiB0aGUgc2FtZSBuYW1l
IHRvIGJlIGRpc3Rpbmd1aXNoZWQgZnJvbQorICAgIC8vICAgZWFjaCBvdGhlci4gRm9yIGV4YW1w
bGUsIHRvIHRyYWNlIHRoZSBjb25zdXRydWN0aW9uIGFuZCBkZXN0cnVjdGlvbiBvZgorICAgIC8v
ICAgb2JqZWN0cywgc3BlY2lmeSB0aGUgcG9pbnRlciBhcyB0aGUgaWQgcGFyYW1ldGVyLgorICAg
IC8vIC0gbnVtQXJncyBzcGVjaWZpZXMgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiBhcmdOYW1l
cywgYXJnVHlwZXMsIGFuZAorICAgIC8vICAgYXJnVmFsdWVzLgorICAgIC8vIC0gYXJnTmFtZXMg
aXMgdGhlIGFycmF5IG9mIGFyZ3VtZW50IG5hbWVzLiBVc2UgbG9uZy1saXZlZCBsaXRlcmFsIHN0
cmluZ3MKKyAgICAvLyAgIG9yIHNwZWNpZnkgdGhlIENPUFkgZmxhZy4KKyAgICAvLyAtIGFyZ1R5
cGVzIGlzIHRoZSBhcnJheSBvZiBhcmd1bWVudCB0eXBlczoKKyAgICAvLyAgIC0gQk9PTCAoMSk6
IGJvb2wKKyAgICAvLyAgIC0gVUlOVCAoMik6IHVuc2lnbmVkIGxvbmcgbG9uZworICAgIC8vICAg
LSBJTlQgKDMpOiBsb25nIGxvbmcKKyAgICAvLyAgIC0gRE9VQkxFICg0KTogZG91YmxlCisgICAg
Ly8gICAtIFBPSU5URVIgKDUpOiB2b2lkKgorICAgIC8vICAgLSBTVFJJTkcgKDYpOiBjaGFyKiAo
bG9uZy1saXZlZCBudWxsLXRlcm1pbmF0ZWQgY2hhciogc3RyaW5nKQorICAgIC8vICAgLSBDT1BZ
X1NUUklORyAoNyk6IGNoYXIqICh0ZW1wb3JhcnkgbnVsbC10ZXJtaW5hdGVkIGNoYXIqIHN0cmlu
ZykKKyAgICAvLyAtIGFyZ1ZhbHVlcyBpcyB0aGUgYXJyYXkgb2YgYXJndW1lbnQgdmFsdWVzLiBF
YWNoIHZhbHVlIGlzIHRoZSB1bnNpZ25lZAorICAgIC8vICAgbG9uZyBsb25nIG1lbWJlciBvZiBh
IHVuaW9uIG9mIGFsbCBzdXBwb3J0ZWQgdHlwZXMuCisgICAgLy8gLSB0aHJlc2hvbGRCZWdpbklk
IG9wdGlvbmFsbHkgc3BlY2lmaWVzIHRoZSB2YWx1ZSByZXR1cm5lZCBieSBhIHByZXZpb3VzCisg
ICAgLy8gICBjYWxsIHRvIGFkZFRyYWNlRXZlbnQgd2l0aCBhIEJFR0lOIHBoYXNlLgorICAgIC8v
IC0gdGhyZXNob2xkIGlzIHVzZWQgb24gYW4gRU5EIHBoYXNlIGV2ZW50IGluIGNvbmp1bmN0aW9u
IHdpdGggdGhlCisgICAgLy8gICB0aHJlc2hvbGRCZWdpbklkIG9mIGEgcHJpb3IgQkVHSU4gZXZl
bnQuIFRoZSB0aHJlc2hvbGQgaXMgdGhlIG1pbmltdW0KKyAgICAvLyAgIG51bWJlciBvZiBtaWNy
b3NlY29uZHMgdGhhdCBtdXN0IGhhdmUgcGFzc2VkIHNpbmNlIHRoZSBCRUdJTiBldmVudC4gSWYK
KyAgICAvLyAgIGxlc3MgdGhhbiB0aHJlc2hvbGQgbWljcm9zZWNvbmRzIGhhcyBwYXNzZWQsIHRo
ZSBCRUdJTi9FTkQgcGFpciBpcworICAgIC8vICAgZHJvcHBlZC4KKyAgICAvLyAtIGZsYWdzIGNh
biBiZSAwIG9yIG9uZSBvciBtb3JlIG9mIHRoZSBmb2xsb3dpbmcsIE9SZWQgdG9nZXRoZXI6Cisg
ICAgLy8gICAtIENPUFkgKDB4MSk6IHRyZWF0IGFsbCBzdHJpbmdzIChuYW1lLCBhcmdOYW1lcyBh
bmQgYXJnVmFsdWVzIG9mIHR5cGUKKyAgICAvLyAgICAgc3RyaW5nKSBhcyB0ZW1wb3Jhcnkgc28g
dGhhdCB0aGV5IHdpbGwgYmUgY29waWVkIGJ5IGFkZFRyYWNlRXZlbnQuCisgICAgLy8gICAtIEhB
U19JRCAoMHgyKTogdXNlIHRoZSBpZCBhcmd1bWVudCB0byB1bmlxdWVseSBpZGVudGlmeSB0aGUg
ZXZlbnQgZm9yCisgICAgLy8gICAgIG1hdGNoaW5nIHdpdGggb3RoZXIgZXZlbnRzIG9mIHRoZSBz
YW1lIG5hbWUuCisgICAgLy8gICAtIE1BTkdMRV9JRCAoMHg0KTogc3BlY2lmeSB0aGlzIGZsYWcg
aWYgdGhlIGlkIHBhcmFtZXRlciBpcyB0aGUgdmFsdWUKKyAgICAvLyAgICAgb2YgYSBwb2ludGVy
LgorICAgIHZpcnR1YWwgaW50IGFkZFRyYWNlRXZlbnQoCisgICAgICAgIGNoYXIgcGhhc2UsCisg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGNhdGVnb3J5RW5hYmxlZEZsYWcsCisgICAgICAg
IGNvbnN0IGNoYXIqIG5hbWUsCisgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpZCwKKyAgICAg
ICAgaW50IG51bUFyZ3MsCisgICAgICAgIGNvbnN0IGNoYXIqKiBhcmdOYW1lcywKKyAgICAgICAg
Y29uc3QgdW5zaWduZWQgY2hhciogYXJnVHlwZXMsCisgICAgICAgIGNvbnN0IHVuc2lnbmVkIGxv
bmcgbG9uZyogYXJnVmFsdWVzLAorICAgICAgICBpbnQgdGhyZXNob2xkQmVnaW5JZCwKKyAgICAg
ICAgbG9uZyBsb25nIHRocmVzaG9sZCwKKyAgICAgICAgdW5zaWduZWQgY2hhciBmbGFncykgeyBy
ZXR1cm4gLTE7IH0KKworICAgIC8vIENhbGxiYWNrcyBmb3IgcmVwb3J0aW5nIGhpc3RvZ3JhbSBk
YXRhLgorICAgIC8vIEN1c3RvbUNvdW50cyBoaXN0b2dyYW0gaGFzIGV4cG9uZW50aWFsIGJ1Y2tl
dCBzaXplcywgc28gdGhhdCBtaW49MSwgbWF4PTEwMDAwMDAsIGJ1Y2tldENvdW50PTUwIHdvdWxk
IGRvLgorICAgIHZpcnR1YWwgdm9pZCBoaXN0b2dyYW1DdXN0b21Db3VudHMoY29uc3QgY2hhciog
bmFtZSwgaW50IHNhbXBsZSwgaW50IG1pbiwgaW50IG1heCwgaW50IGJ1Y2tldENvdW50KSB7IH0K
KyAgICAvLyBFbnVtZXJhdGlvbiBoaXN0b2dyYW0gYnVja2V0cyBhcmUgbGluZWFyLCBib3VuZGFy
eVZhbHVlIHNob3VsZCBiZSBsYXJnZXIgdGhhbiBhbnkgcG9zc2libGUgc2FtcGxlIHZhbHVlLgor
ICAgIHZpcnR1YWwgdm9pZCBoaXN0b2dyYW1FbnVtZXJhdGlvbihjb25zdCBjaGFyKiBuYW1lLCBp
bnQgc2FtcGxlLCBpbnQgYm91bmRhcnlWYWx1ZSkgeyB9CisKKwogICAgIC8vIFdlYlJUQyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAK
ICAgICAvLyBERVBSRUNBVEVECkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNp
b24gMTEyODM3KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0wNC0wMiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3
ZWJraXQub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gTW92ZSBhIG51bWJlciBvZiB2aXJ0dWFs
IGZ1bmN0aW9ucyBmcm9tIFdlYktpdFBsYXRmb3JtU3VwcG9ydC5oIGludG8gUGxhdGZvcm0uaAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI4NjUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9w
bGF0Zm9ybS9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgIChXZWJLaXRQbGF0Zm9ybVN1cHBvcnQpOgorCiAyMDEyLTA0LTAyICBBZGFtIEJhcnRoICA8
YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBNb3ZlIGFub3RoZXIgYmxv
Y2sgb2YgaGVhZGVycyBmcm9tIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0gdG8gUGxh
dGZvcm0vY2hyb21pdW0vcHVibGljCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9wbGF0Zm9ybS9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaAko
cmV2aXNpb24gMTEyODMxKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZv
cm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDExICszMSw3
IEBACiAjaWZuZGVmIFdlYktpdFBsYXRmb3JtU3VwcG9ydF9oCiAjZGVmaW5lIFdlYktpdFBsYXRm
b3JtU3VwcG9ydF9oCiAKLSNpbmNsdWRlICJXZWJBdWRpb0J1cy5oIgotI2luY2x1ZGUgIldlYkF1
ZGlvRGV2aWNlLmgiCiAjaW5jbHVkZSAiV2ViQ29tbW9uLmgiCi0jaW5jbHVkZSAiV2ViRGF0YS5o
IgotI2luY2x1ZGUgIldlYkdhbWVwYWRzLmgiCiAjaW5jbHVkZSAiV2ViR3JhcGhpY3NDb250ZXh0
M0QuaCIKICNpbmNsdWRlICJXZWJMb2NhbGl6ZWRTdHJpbmcuaCIKICNpbmNsdWRlICJXZWJTZXJp
YWxpemVkU2NyaXB0VmFsdWUuaCIKQEAgLTYxLDE1ICs1NywxMSBAQCBjbGFzcyBXZWJGaWxlVXRp
bGl0aWVzOwogY2xhc3MgV2ViSURCRmFjdG9yeTsgLy8gRklYTUU6IERvZXMgdGhpcyBiZWxvbmcg
aW4gcGxhdGZvcm0/CiBjbGFzcyBXZWJJREJLZXk7IC8vIEZJWE1FOiBEb2VzIHRoaXMgYmVsb25n
IGluIHBsYXRmb3JtPwogY2xhc3MgV2ViTWVzc2FnZVBvcnRDaGFubmVsOyAvLyBGSVhNRTogRG9l
cyB0aGlzIGJlbG9uZyBpbiBwbGF0Zm9ybT8KLWNsYXNzIFdlYk1pbWVSZWdpc3RyeTsKLWNsYXNz
IFdlYlBlZXJDb25uZWN0aW9uSGFuZGxlcjsKIGNsYXNzIFdlYlBsdWdpbkxpc3RCdWlsZGVyOyAv
LyBGSVhNRTogRG9lcyB0aGlzIGJlbG9uZyBpbiBwbGF0Zm9ybT8KIGNsYXNzIFdlYlNhbmRib3hT
dXBwb3J0OwogY2xhc3MgV2ViU2hhcmVkV29ya2VyUmVwb3NpdG9yeTsgLy8gRklYTUU6IERvZXMg
dGhpcyBiZWxvbmcgaW4gcGxhdGZvcm0/Ci1jbGFzcyBXZWJTb2NrZXRTdHJlYW1IYW5kbGU7CiBj
bGFzcyBXZWJTdG9yYWdlTmFtZXNwYWNlOyAvLyBGSVhNRTogRG9lcyB0aGlzIGJlbG9uZyBpbiBw
bGF0Zm9ybT8KIGNsYXNzIFdlYlRoZW1lRW5naW5lOwotY2xhc3MgV2ViVGhyZWFkOwogY2xhc3Mg
V2ViV29ya2VyUnVuTG9vcDsKIAogLy8gRklYTUU6IEV2ZW50dWFsbHkgYWxsIHRoZXNlIEFQSSB3
aWxsIG5lZWQgdG8gbW92ZSB0byBXZWJLaXQ6OlBsYXRmb3JtLgpAQCAtNzksOSArNzEsNiBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBXZWJDbGlwYm9hcmQqIGNsaXBib2FyZCgpIHsgcmV0dXJuIDA7
IH0KIAogICAgIC8vIE11c3QgcmV0dXJuIG5vbi1udWxsLgotICAgIHZpcnR1YWwgV2ViTWltZVJl
Z2lzdHJ5KiBtaW1lUmVnaXN0cnkoKSB7IHJldHVybiAwOyB9Ci0KLSAgICAvLyBNdXN0IHJldHVy
biBub24tbnVsbC4KICAgICB2aXJ0dWFsIFdlYkZpbGVVdGlsaXRpZXMqIGZpbGVVdGlsaXRpZXMo
KSB7IHJldHVybiAwOyB9CiAKICAgICAvLyBNYXkgcmV0dXJuIG51bGwgaWYgc2FuZGJveCBzdXBw
b3J0IGlzIG5vdCBuZWNlc3NhcnkKQEAgLTEwOSwyMyArOTgsNiBAQCBwdWJsaWM6CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlVSTCYgdXJsLCBib29sIGlz
TG9jYWxTdG9yYWdlKSB7IH0KIAogCi0gICAgLy8gR2FtZXBhZCAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgICB2aXJ0dWFs
IHZvaWQgc2FtcGxlR2FtZXBhZHMoV2ViR2FtZXBhZHMmIGludG8pIHsgaW50by5sZW5ndGggPSAw
OyB9Ci0KLQotICAgIC8vIEhpc3RvcnkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gICAgLy8gUmV0dXJucyB0aGUgaGFzaCBm
b3IgdGhlIGdpdmVuIGNhbm9uaWNhbGl6ZWQgVVJMIGZvciB1c2UgaW4gdmlzaXRlZAotICAgIC8v
IGxpbmsgY29sb3JpbmcuCi0gICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIGxvbmcgdmlzaXRlZExp
bmtIYXNoKAotICAgICAgICBjb25zdCBjaGFyKiBjYW5vbmljYWxVUkwsIHNpemVfdCBsZW5ndGgp
IHsgcmV0dXJuIDA7IH0KLQotICAgIC8vIFJldHVybnMgd2hldGhlciB0aGUgZ2l2ZW4gbGluayBo
YXNoIGlzIGluIHRoZSB1c2VyJ3MgaGlzdG9yeS4gVGhlCi0gICAgLy8gaGFzaCBtdXN0IGhhdmUg
YmVlbiBnZW5lcmF0ZWQgYnkgY2FsbGluZyBWaXNpdGVkTGlua0hhc2goKS4KLSAgICB2aXJ0dWFs
IGJvb2wgaXNMaW5rVmlzaXRlZCh1bnNpZ25lZCBsb25nIGxvbmcgbGlua0hhc2gpIHsgcmV0dXJu
IGZhbHNlOyB9Ci0KLQogICAgIC8vIEhUTUw1IERhdGFiYXNlIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAjaWZkZWYgV0lOMzIKQEAgLTE1
OCw0NyArMTMwLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgV2ViU2VyaWFsaXplZFNjcmlwdFZh
bHVlIGluamVjdElEQktleUludG9TZXJpYWxpemVkVmFsdWUoY29uc3QgV2ViSURCS2V5JiBrZXks
IGNvbnN0IFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSYgdmFsdWUsIGNvbnN0IFdlYlN0cmluZyYg
a2V5UGF0aCkgeyByZXR1cm4gV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlKCk7IH0KIAogCi0gICAg
Ly8gS2V5Z2VuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi0KLSAgICAvLyBIYW5kbGUgdGhlIDxrZXlnZW4+IHRhZyBmb3IgZ2Vu
ZXJhdGluZyBjbGllbnQgY2VydGlmaWNhdGVzCi0gICAgLy8gUmV0dXJucyBhIGJhc2U2NCBlbmNv
ZGVkIHNpZ25lZCBjb3B5IG9mIGEgcHVibGljIGtleSBmcm9tIGEgbmV3bHkKLSAgICAvLyBnZW5l
cmF0ZWQga2V5IHBhaXIgYW5kIHRoZSBzdXBwbGllZCBjaGFsbGVuZ2Ugc3RyaW5nLiBrZXlTaXpl
aW5kZXgKLSAgICAvLyBzcGVjaWZpZXMgdGhlIHN0cmVuZ3RoIG9mIHRoZSBrZXkuCi0gICAgdmly
dHVhbCBXZWJTdHJpbmcgc2lnbmVkUHVibGljS2V5QW5kQ2hhbGxlbmdlU3RyaW5nKHVuc2lnbmVk
IGtleVNpemVJbmRleCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmIGNoYWxsZW5nZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
V2ViS2l0OjpXZWJVUkwmIHVybCkgeyByZXR1cm4gV2ViU3RyaW5nKCk7IH0KLQotCi0KLSAgICAv
LyBNZW1vcnkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLQotICAgIC8vIFJldHVybnMgdGhlIGN1cnJlbnQgc3BhY2UgYWxsb2Nh
dGVkIGZvciB0aGUgcGFnZWZpbGUsIGluIE1CLgotICAgIC8vIFRoYXQgaXMgY29tbWl0dGVkIHNp
emUgZm9yIFdpbmRvd3MgYW5kIHZpcnR1YWwgbWVtb3J5IHNpemUgZm9yIFBPU0lYCi0gICAgdmly
dHVhbCBzaXplX3QgbWVtb3J5VXNhZ2VNQigpIHsgcmV0dXJuIDA7IH0KLQotICAgIC8vIFNhbWUg
YXMgYWJvdmUsIGJ1dCBhbHdheXMgcmV0dXJucyBhY3R1YWwgdmFsdWUsIHdpdGhvdXQgYW55IGNh
Y2hlcy4KLSAgICB2aXJ0dWFsIHNpemVfdCBhY3R1YWxNZW1vcnlVc2FnZU1CKCkgeyByZXR1cm4g
MDsgfQotCi0gICAgLy8gSWYgbWVtb3J5IHVzYWdlIGlzIGJlbG93IHRoaXMgdGhyZXNob2xkLCBk
byBub3QgYm90aGVyIGZvcmNpbmcgR0MuCi0gICAgdmlydHVhbCBzaXplX3QgbG93TWVtb3J5VXNh
Z2VNQigpIHsgcmV0dXJuIDI1NjsgfQotCi0gICAgLy8gSWYgbWVtb3J5IHVzYWdlIGlzIGFib3Zl
IHRoaXMgdGhyZXNob2xkLCBmb3JjZSBHQyBtb3JlIGFnZ3Jlc3NpdmVseS4KLSAgICB2aXJ0dWFs
IHNpemVfdCBoaWdoTWVtb3J5VXNhZ2VNQigpIHsgcmV0dXJuIDEwMjQ7IH0KLQotICAgIC8vIERl
bHRhIG9mIG1lbW9yeSB1c2FnZSBncm93dGggKHZzLiBsYXN0IGFjdHVhbE1lbW9yeVVzYWdlTUIo
KSkgdG8gZm9yY2UgR0Mgd2hlbiBtZW1vcnkgdXNhZ2UgaXMgaGlnaC4KLSAgICB2aXJ0dWFsIHNp
emVfdCBoaWdoVXNhZ2VEZWx0YU1CKCkgeyByZXR1cm4gMTI4OyB9Ci0KLQotICAgIC8vIFRocmVh
ZHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQotCi0gICAgLy8gQ3JlYXRlcyBhbiBlbWJlZGRlci1kZWZpbmVkIHRocmVhZC4KLSAgICB2aXJ0
dWFsIFdlYlRocmVhZCogY3JlYXRlVGhyZWFkKGNvbnN0IGNoYXIqIG5hbWUpIHsgcmV0dXJuIDA7
IH0KLQotICAgIC8vIFJldHVybnMgYW4gaW50ZXJmYWNlIHRvIHRoZSBjdXJyZW50IHRocmVhZC4g
VGhpcyBpcyBvd25lZCBieSB0aGUKLSAgICAvLyBlbWJlZGRlci4KLSAgICB2aXJ0dWFsIFdlYlRo
cmVhZCogY3VycmVudFRocmVhZCgpIHsgcmV0dXJuIDA7IH0KLQotCiAgICAgLy8gTWVzc2FnZSBQ
b3J0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiAKICAgICAvLyBDcmVhdGVzIGEgTWVzc2FnZSBQb3J0IENoYW5uZWwuIFRoaXMgY2FuIGJl
IGNhbGxlZCBvbiBhbnkgdGhyZWFkLgpAQCAtMjA2LDIxICsxMzcsNiBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBXZWJNZXNzYWdlUG9ydENoYW5uZWwqIGNyZWF0ZU1lc3NhZ2VQb3J0Q2hhbm5lbCgp
IHsgcmV0dXJuIDA7IH0KIAogCi0gICAgLy8gTmV0d29yayAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgICAvLyBBIHN1Z2dl
c3Rpb24gdG8gcHJlZmV0Y2ggSVAgaW5mb3JtYXRpb24gZm9yIHRoZSBnaXZlbiBob3N0bmFtZS4K
LSAgICB2aXJ0dWFsIHZvaWQgcHJlZmV0Y2hIb3N0TmFtZShjb25zdCBXZWJTdHJpbmcmKSB7IH0K
LQotICAgIC8vIFJldHVybnMgYSBuZXcgV2ViU29ja2V0U3RyZWFtSGFuZGxlIGluc3RhbmNlLgot
ICAgIHZpcnR1YWwgV2ViU29ja2V0U3RyZWFtSGFuZGxlKiBjcmVhdGVTb2NrZXRTdHJlYW1IYW5k
bGUoKSB7IHJldHVybiAwOyB9Ci0KLSAgICAvLyBSZXR1cm5zIHRoZSBVc2VyLUFnZW50IHN0cmlu
ZyB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgZ2l2ZW4gVVJMLgotICAgIHZpcnR1YWwgV2Vi
U3RyaW5nIHVzZXJBZ2VudChjb25zdCBXZWJVUkwmKSB7IHJldHVybiBXZWJTdHJpbmcoKTsgfQot
Ci0gICAgLy8gQSBzdWdnZXN0aW9uIHRvIGNhY2hlIHRoaXMgbWV0YWRhdGEgaW4gYXNzb2NpYXRp
b24gd2l0aCB0aGlzIFVSTC4KLSAgICB2aXJ0dWFsIHZvaWQgY2FjaGVNZXRhZGF0YShjb25zdCBX
ZWJVUkwmLCBkb3VibGUgcmVzcG9uc2VUaW1lLCBjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgZGF0
YVNpemUpIHsgfQotCi0KICAgICAvLyBQbHVnaW5zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogICAgIC8vIElmIHJlZnJlc2gg
aXMgdHJ1ZSwgdGhlbiBjYWNoZWQgaW5mb3JtYXRpb24gc2hvdWxkIG5vdCBiZSB1c2VkIHRvCkBA
IC0yMjgsMTUyICsxNDQsMTggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBnZXRQbHVnaW5M
aXN0KGJvb2wgcmVmcmVzaCwgV2ViUGx1Z2luTGlzdEJ1aWxkZXIqKSB7IH0KIAogCi0gICAgLy8g
UHJvZmlsaW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi0KLSAgICB2aXJ0dWFsIHZvaWQgZGVjcmVtZW50U3RhdHNDb3VudGVyKGNv
bnN0IGNoYXIqIG5hbWUpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBpbmNyZW1lbnRTdGF0c0NvdW50
ZXIoY29uc3QgY2hhciogbmFtZSkgeyB9Ci0KLSAgICAvLyBUcmFjaW5nIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICAgIC8v
IEdldCBhIHBvaW50ZXIgdG8gdGhlIGVuYWJsZWQgc3RhdGUgb2YgdGhlIGdpdmVuIHRyYWNlIGNh
dGVnb3J5LiBUaGUKLSAgICAvLyBlbWJlZGRlciBjYW4gZHluYW1pY2FsbHkgY2hhbmdlIHRoZSBl
bmFibGVkIHN0YXRlIGFzIHRyYWNlIGV2ZW50Ci0gICAgLy8gcmVjb3JkaW5nIGlzIHN0YXJ0ZWQg
YW5kIHN0b3BwZWQgYnkgdGhlIGFwcGxpY2F0aW9uLiBPbmx5IGxvbmctbGl2ZWQKLSAgICAvLyBs
aXRlcmFsIHN0cmluZ3Mgc2hvdWxkIGJlIGdpdmVuIGFzIHRoZSBjYXRlZ29yeSBuYW1lLiBUaGUg
aW1wbGVtZW50YXRpb24KLSAgICAvLyBleHBlY3RzIHRoZSByZXR1cm5lZCBwb2ludGVyIHRvIGJl
IGhlbGQgcGVybWFuZW50bHkgaW4gYSBsb2NhbCBzdGF0aWMuIElmCi0gICAgLy8gdGhlIHVuc2ln
bmVkIGNoYXIgaXMgbm9uLXplcm8sIHRyYWNpbmcgaXMgZW5hYmxlZC4gSWYgdHJhY2luZyBpcyBl
bmFibGVkLAotICAgIC8vIGFkZFRyYWNlRXZlbnQgaXMgZXhwZWN0ZWQgdG8gYmUgY2FsbGVkIGJ5
IHRoZSB0cmFjZSBldmVudCBtYWNyb3MuCi0gICAgdmlydHVhbCBjb25zdCB1bnNpZ25lZCBjaGFy
KiBnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcoY29uc3QgY2hhciogY2F0ZWdvcnlOYW1lKSB7
IHJldHVybiAwOyB9Ci0gICAgLy8gQWRkIGEgdHJhY2UgZXZlbnQgdG8gdGhlIHBsYXRmb3JtIHRy
YWNpbmcgc3lzdGVtLiBEZXBlbmRpbmcgb24gdGhlIGFjdHVhbAotICAgIC8vIGVuYWJsZWQgc3Rh
dGUsIHRoaXMgZXZlbnQgbWF5IGJlIHJlY29yZGVkIG9yIGRyb3BwZWQuIFJldHVybnMKLSAgICAv
LyB0aHJlc2hvbGRCZWdpbklkIGZvciB1c2UgaW4gYSBjb3JyZXNwb25kaW5nIGVuZCBhZGRUcmFj
ZUV2ZW50IGNhbGwuCi0gICAgLy8gLSBwaGFzZSBzcGVjaWZpZXMgdGhlIHR5cGUgb2YgZXZlbnQ6
Ci0gICAgLy8gICAtIEJFR0lOICgnQicpOiBNYXJrcyB0aGUgYmVnaW5uaW5nIG9mIGEgc2NvcGVk
IGV2ZW50LgotICAgIC8vICAgLSBFTkQgKCdFJyk6IE1hcmtzIHRoZSBlbmQgb2YgYSBzY29wZWQg
ZXZlbnQuCi0gICAgLy8gICAtIElOU1RBTlQgKCdJJyk6IFN0YW5kYWxvbmUsIGluc3RhbnRhbmVv
dXMgZXZlbnQuCi0gICAgLy8gICAtIFNUQVJUICgnUycpOiBNYXJrcyB0aGUgYmVnaW5uaW5nIG9m
IGFuIGFzeW5jaHJvbm91cyBldmVudCAodGhlIGVuZAotICAgIC8vICAgICBldmVudCBjYW4gb2Nj
dXIgaW4gYSBkaWZmZXJlbnQgc2NvcGUgb3IgdGhyZWFkKS4gVGhlIGlkIHBhcmFtZXRlciBpcwot
ICAgIC8vICAgICB1c2VkIHRvIG1hdGNoIFNUQVJUL0ZJTklTSCBwYWlycy4KLSAgICAvLyAgIC0g
RklOSVNIICgnRicpOiBNYXJrcyB0aGUgZW5kIG9mIGFuIGFzeW5jaHJvbm91cyBldmVudC4KLSAg
ICAvLyAgIC0gQ09VTlRFUiAoJ0MnKTogVXNlZCB0byB0cmFjZSBpbnRlZ2VyIHF1YW50aXRpZXMg
dGhhdCBjaGFuZ2Ugb3ZlcgotICAgIC8vICAgICB0aW1lLiBUaGUgYXJndW1lbnQgdmFsdWVzIGFy
ZSBleHBlY3RlZCB0byBiZSBvZiB0eXBlIGludC4KLSAgICAvLyAgIC0gTUVUQURBVEEgKCdNJyk6
IFJlc2VydmVkIGZvciBpbnRlcm5hbCB1c2UuCi0gICAgLy8gLSBjYXRlZ29yeUVuYWJsZWQgaXMg
dGhlIHBvaW50ZXIgcmV0dXJuZWQgYnkgZ2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnLgotICAg
IC8vIC0gbmFtZSBpcyB0aGUgbmFtZSBvZiB0aGUgZXZlbnQuIEFsc28gdXNlZCB0byBtYXRjaCBC
RUdJTi9FTkQgYW5kCi0gICAgLy8gICBTVEFSVC9GSU5JU0ggcGFpcnMuCi0gICAgLy8gLSBpZCBv
cHRpb25hbGx5IGFsbG93cyBldmVudHMgb2YgdGhlIHNhbWUgbmFtZSB0byBiZSBkaXN0aW5ndWlz
aGVkIGZyb20KLSAgICAvLyAgIGVhY2ggb3RoZXIuIEZvciBleGFtcGxlLCB0byB0cmFjZSB0aGUg
Y29uc3V0cnVjdGlvbiBhbmQgZGVzdHJ1Y3Rpb24gb2YKLSAgICAvLyAgIG9iamVjdHMsIHNwZWNp
ZnkgdGhlIHBvaW50ZXIgYXMgdGhlIGlkIHBhcmFtZXRlci4KLSAgICAvLyAtIG51bUFyZ3Mgc3Bl
Y2lmaWVzIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gYXJnTmFtZXMsIGFyZ1R5cGVzLCBhbmQK
LSAgICAvLyAgIGFyZ1ZhbHVlcy4KLSAgICAvLyAtIGFyZ05hbWVzIGlzIHRoZSBhcnJheSBvZiBh
cmd1bWVudCBuYW1lcy4gVXNlIGxvbmctbGl2ZWQgbGl0ZXJhbCBzdHJpbmdzCi0gICAgLy8gICBv
ciBzcGVjaWZ5IHRoZSBDT1BZIGZsYWcuCi0gICAgLy8gLSBhcmdUeXBlcyBpcyB0aGUgYXJyYXkg
b2YgYXJndW1lbnQgdHlwZXM6Ci0gICAgLy8gICAtIEJPT0wgKDEpOiBib29sCi0gICAgLy8gICAt
IFVJTlQgKDIpOiB1bnNpZ25lZCBsb25nIGxvbmcKLSAgICAvLyAgIC0gSU5UICgzKTogbG9uZyBs
b25nCi0gICAgLy8gICAtIERPVUJMRSAoNCk6IGRvdWJsZQotICAgIC8vICAgLSBQT0lOVEVSICg1
KTogdm9pZCoKLSAgICAvLyAgIC0gU1RSSU5HICg2KTogY2hhciogKGxvbmctbGl2ZWQgbnVsbC10
ZXJtaW5hdGVkIGNoYXIqIHN0cmluZykKLSAgICAvLyAgIC0gQ09QWV9TVFJJTkcgKDcpOiBjaGFy
KiAodGVtcG9yYXJ5IG51bGwtdGVybWluYXRlZCBjaGFyKiBzdHJpbmcpCi0gICAgLy8gLSBhcmdW
YWx1ZXMgaXMgdGhlIGFycmF5IG9mIGFyZ3VtZW50IHZhbHVlcy4gRWFjaCB2YWx1ZSBpcyB0aGUg
dW5zaWduZWQKLSAgICAvLyAgIGxvbmcgbG9uZyBtZW1iZXIgb2YgYSB1bmlvbiBvZiBhbGwgc3Vw
cG9ydGVkIHR5cGVzLgotICAgIC8vIC0gdGhyZXNob2xkQmVnaW5JZCBvcHRpb25hbGx5IHNwZWNp
ZmllcyB0aGUgdmFsdWUgcmV0dXJuZWQgYnkgYSBwcmV2aW91cwotICAgIC8vICAgY2FsbCB0byBh
ZGRUcmFjZUV2ZW50IHdpdGggYSBCRUdJTiBwaGFzZS4KLSAgICAvLyAtIHRocmVzaG9sZCBpcyB1
c2VkIG9uIGFuIEVORCBwaGFzZSBldmVudCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZQotICAgIC8v
ICAgdGhyZXNob2xkQmVnaW5JZCBvZiBhIHByaW9yIEJFR0lOIGV2ZW50LiBUaGUgdGhyZXNob2xk
IGlzIHRoZSBtaW5pbXVtCi0gICAgLy8gICBudW1iZXIgb2YgbWljcm9zZWNvbmRzIHRoYXQgbXVz
dCBoYXZlIHBhc3NlZCBzaW5jZSB0aGUgQkVHSU4gZXZlbnQuIElmCi0gICAgLy8gICBsZXNzIHRo
YW4gdGhyZXNob2xkIG1pY3Jvc2Vjb25kcyBoYXMgcGFzc2VkLCB0aGUgQkVHSU4vRU5EIHBhaXIg
aXMKLSAgICAvLyAgIGRyb3BwZWQuCi0gICAgLy8gLSBmbGFncyBjYW4gYmUgMCBvciBvbmUgb3Ig
bW9yZSBvZiB0aGUgZm9sbG93aW5nLCBPUmVkIHRvZ2V0aGVyOgotICAgIC8vICAgLSBDT1BZICgw
eDEpOiB0cmVhdCBhbGwgc3RyaW5ncyAobmFtZSwgYXJnTmFtZXMgYW5kIGFyZ1ZhbHVlcyBvZiB0
eXBlCi0gICAgLy8gICAgIHN0cmluZykgYXMgdGVtcG9yYXJ5IHNvIHRoYXQgdGhleSB3aWxsIGJl
IGNvcGllZCBieSBhZGRUcmFjZUV2ZW50LgotICAgIC8vICAgLSBIQVNfSUQgKDB4Mik6IHVzZSB0
aGUgaWQgYXJndW1lbnQgdG8gdW5pcXVlbHkgaWRlbnRpZnkgdGhlIGV2ZW50IGZvcgotICAgIC8v
ICAgICBtYXRjaGluZyB3aXRoIG90aGVyIGV2ZW50cyBvZiB0aGUgc2FtZSBuYW1lLgotICAgIC8v
ICAgLSBNQU5HTEVfSUQgKDB4NCk6IHNwZWNpZnkgdGhpcyBmbGFnIGlmIHRoZSBpZCBwYXJhbWV0
ZXIgaXMgdGhlIHZhbHVlCi0gICAgLy8gICAgIG9mIGEgcG9pbnRlci4KLSAgICB2aXJ0dWFsIGlu
dCBhZGRUcmFjZUV2ZW50KAotICAgICAgICBjaGFyIHBoYXNlLAotICAgICAgICBjb25zdCB1bnNp
Z25lZCBjaGFyKiBjYXRlZ29yeUVuYWJsZWRGbGFnLAotICAgICAgICBjb25zdCBjaGFyKiBuYW1l
LAotICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgaWQsCi0gICAgICAgIGludCBudW1BcmdzLAot
ICAgICAgICBjb25zdCBjaGFyKiogYXJnTmFtZXMsCi0gICAgICAgIGNvbnN0IHVuc2lnbmVkIGNo
YXIqIGFyZ1R5cGVzLAotICAgICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGxvbmcqIGFyZ1ZhbHVl
cywKLSAgICAgICAgaW50IHRocmVzaG9sZEJlZ2luSWQsCi0gICAgICAgIGxvbmcgbG9uZyB0aHJl
c2hvbGQsCi0gICAgICAgIHVuc2lnbmVkIGNoYXIgZmxhZ3MpIHsgcmV0dXJuIC0xOyB9Ci0KLSAg
ICAvLyBDYWxsYmFja3MgZm9yIHJlcG9ydGluZyBoaXN0b2dyYW0gZGF0YS4KLSAgICAvLyBDdXN0
b21Db3VudHMgaGlzdG9ncmFtIGhhcyBleHBvbmVudGlhbCBidWNrZXQgc2l6ZXMsIHNvIHRoYXQg
bWluPTEsIG1heD0xMDAwMDAwLCBidWNrZXRDb3VudD01MCB3b3VsZCBkby4KLSAgICB2aXJ0dWFs
IHZvaWQgaGlzdG9ncmFtQ3VzdG9tQ291bnRzKGNvbnN0IGNoYXIqIG5hbWUsIGludCBzYW1wbGUs
IGludCBtaW4sIGludCBtYXgsIGludCBidWNrZXRDb3VudCkgeyB9Ci0gICAgLy8gRW51bWVyYXRp
b24gaGlzdG9ncmFtIGJ1Y2tldHMgYXJlIGxpbmVhciwgYm91bmRhcnlWYWx1ZSBzaG91bGQgYmUg
bGFyZ2VyIHRoYW4gYW55IHBvc3NpYmxlIHNhbXBsZSB2YWx1ZS4KLSAgICB2aXJ0dWFsIHZvaWQg
aGlzdG9ncmFtRW51bWVyYXRpb24oY29uc3QgY2hhciogbmFtZSwgaW50IHNhbXBsZSwgaW50IGJv
dW5kYXJ5VmFsdWUpIHsgfQotCi0KICAgICAvLyBSZXNvdXJjZXMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotICAgIC8vIFJldHVy
bnMgYSBibG9iIG9mIGRhdGEgY29ycmVzcG9uZGluZyB0byB0aGUgbmFtZWQgcmVzb3VyY2UuCi0g
ICAgdmlydHVhbCBXZWJEYXRhIGxvYWRSZXNvdXJjZShjb25zdCBjaGFyKiBuYW1lKSB7IHJldHVy
biBXZWJEYXRhKCk7IH0KLQotICAgIC8vIERlY29kZXMgdGhlIGluLW1lbW9yeSBhdWRpbyBmaWxl
IGRhdGEgYW5kIHJldHVybnMgdGhlIGxpbmVhciBQQ00gYXVkaW8gZGF0YSBpbiB0aGUgZGVzdGlu
YXRpb25CdXMuCi0gICAgLy8gQSBzYW1wbGUtcmF0ZSBjb252ZXJzaW9uIHRvIHNhbXBsZVJhdGUg
d2lsbCBvY2N1ciBpZiB0aGUgZmlsZSBkYXRhIGlzIGF0IGEgZGlmZmVyZW50IHNhbXBsZS1yYXRl
LgotICAgIC8vIFJldHVybnMgdHJ1ZSBvbiBzdWNjZXNzLgotICAgIHZpcnR1YWwgYm9vbCBsb2Fk
QXVkaW9SZXNvdXJjZShXZWJBdWRpb0J1cyogZGVzdGluYXRpb25CdXMsIGNvbnN0IGNoYXIqIGF1
ZGlvRmlsZURhdGEsIHNpemVfdCBkYXRhU2l6ZSwgZG91YmxlIHNhbXBsZVJhdGUpIHsgcmV0dXJu
IGZhbHNlOyB9Ci0KICAgICAvLyBSZXR1cm5zIGEgbG9jYWxpemVkIHN0cmluZyByZXNvdXJjZSAo
d2l0aCBzdWJzdGl0dXRpb24gcGFyYW1ldGVycykuCiAgICAgdmlydHVhbCBXZWJTdHJpbmcgcXVl
cnlMb2NhbGl6ZWRTdHJpbmcoV2ViTG9jYWxpemVkU3RyaW5nOjpOYW1lKSB7IHJldHVybiBXZWJT
dHJpbmcoKTsgfQogICAgIHZpcnR1YWwgV2ViU3RyaW5nIHF1ZXJ5TG9jYWxpemVkU3RyaW5nKFdl
YkxvY2FsaXplZFN0cmluZzo6TmFtZSwgY29uc3QgV2ViU3RyaW5nJiBwYXJhbWV0ZXIpIHsgcmV0
dXJuIFdlYlN0cmluZygpOyB9CiAgICAgdmlydHVhbCBXZWJTdHJpbmcgcXVlcnlMb2NhbGl6ZWRT
dHJpbmcoV2ViTG9jYWxpemVkU3RyaW5nOjpOYW1lLCBjb25zdCBXZWJTdHJpbmcmIHBhcmFtZXRl
cjEsIGNvbnN0IFdlYlN0cmluZyYgcGFyYW1ldGVyMikgeyByZXR1cm4gV2ViU3RyaW5nKCk7IH0K
IAogCi0gICAgLy8gU2FuZGJveCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICAgIC8vIEluIHNvbWUgYnJvd3NlcnMsIGEgInNh
bmRib3giIHJlc3RyaWN0cyB3aGF0IG9wZXJhdGlvbnMgYSBwcm9ncmFtCi0gICAgLy8gaXMgYWxs
b3dlZCB0byBwcmVmb3JtLiBTdWNoIG9wZXJhdGlvbnMgYXJlIHR5cGljYWxseSBhYnN0cmFjdGVk
IG91dAotICAgIC8vIHZpYSB0aGlzIEFQSSwgYnV0IHNvbWV0aW1lcyAobGlrZSBpbiBIVE1MIDUg
ZGF0YWJhc2Ugb3BlbmluZykgV2ViS2l0Ci0gICAgLy8gbmVlZHMgdG8gYmVoYXZlIGRpZmZlcmVu
dGx5IGJhc2VkIG9uIHdoZXRoZXIgaXQncyByZXN0cmljdGVkIG9yIG5vdC4KLSAgICAvLyBJbiB0
aGVzZSBjYXNlcyAoYW5kIHRoZXNlIGNhc2VzIG9ubHkpIHlvdSBjYW4gY2FsbCB0aGlzIGZ1bmN0
aW9uLgotICAgIC8vIEl0J3MgT0sgZm9yIHRoaXMgdmFsdWUgdG8gYmUgY29uc2Vydml0aXZlIChp
LmUuIHRydWUgZXZlbiBpZiB0aGUKLSAgICAvLyBzYW5kYm94IGlzbid0IGFjdGl2ZSkuCi0gICAg
dmlydHVhbCBib29sIHNhbmRib3hFbmFibGVkKCkgeyByZXR1cm4gZmFsc2U7IH0KLQotCiAgICAg
Ly8gU2hhcmVkIFdvcmtlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCiAKICAgICB2aXJ0dWFsIFdlYlNoYXJlZFdvcmtlclJlcG9zaXRvcnkq
IHNoYXJlZFdvcmtlclJlcG9zaXRvcnkoKSB7IHJldHVybiAwOyB9CiAKLSAgICAvLyBTdWRkZW4g
VGVybWluYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLQotICAgIC8vIERpc2FibGUvRW5hYmxlIHN1ZGRlbiB0ZXJtaW5hdGlvbi4KLSAgICB2
aXJ0dWFsIHZvaWQgc3VkZGVuVGVybWluYXRpb25DaGFuZ2VkKGJvb2wgZW5hYmxlZCkgeyB9Ci0K
LQotICAgIC8vIFN5c3RlbSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gICAgLy8gUmV0dXJucyBhIHZhbHVlIHN1Y2ggYXMg
ImVuLVVTIi4KLSAgICB2aXJ0dWFsIFdlYlN0cmluZyBkZWZhdWx0TG9jYWxlKCkgeyByZXR1cm4g
V2ViU3RyaW5nKCk7IH0KLQotICAgIC8vIFdhbGwgY2xvY2sgdGltZSBpbiBzZWNvbmRzIHNpbmNl
IHRoZSBlcG9jaC4KLSAgICB2aXJ0dWFsIGRvdWJsZSBjdXJyZW50VGltZSgpIHsgcmV0dXJuIDA7
IH0KLQotICAgIC8vIE1vbm90b25pY2FsbHkgaW5jcmVhc2luZyB0aW1lIGluIHNlY29uZHMgZnJv
bSBhbiBhcmJpdHJhcnkgZml4ZWQgcG9pbnQgaW4gdGhlIHBhc3QuCi0gICAgLy8gVGhpcyBmdW5j
dGlvbiBpcyBleHBlY3RlZCB0byByZXR1cm4gYXQgbGVhc3QgbWlsbGlzZWNvbmQtcHJlY2lzaW9u
IHZhbHVlcy4gRm9yIHRoaXMgcmVhc29uLAotICAgIC8vIGl0IGlzIHJlY29tbWVuZGVkIHRoYXQg
dGhlIGZpeGVkIHBvaW50IGJlIG5vIGZ1cnRoZXIgaW4gdGhlIHBhc3QgdGhhbiB0aGUgZXBvY2gu
Ci0gICAgdmlydHVhbCBkb3VibGUgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgeyByZXR1
cm4gMDsgfQotCi0gICAgLy8gV2ViS2l0IGNsaWVudHMgbXVzdCBpbXBsZW1lbnQgdGhpcyBmdW5j
aW9uIGlmIHRoZXkgdXNlIGNyeXB0b2dyYXBoaWMgcmFuZG9tbmVzcy4KLSAgICB2aXJ0dWFsIHZv
aWQgY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21WYWx1ZXModW5zaWduZWQgY2hhciogYnVmZmVyLCBz
aXplX3QgbGVuZ3RoKSA9IDA7Ci0KLSAgICAvLyBEZWxheWVkIHdvcmsgaXMgZHJpdmVuIGJ5IGEg
c2hhcmVkIHRpbWVyLgotICAgIHR5cGVkZWYgdm9pZCAoKlNoYXJlZFRpbWVyRnVuY3Rpb24pKCk7
Ci0gICAgdmlydHVhbCB2b2lkIHNldFNoYXJlZFRpbWVyRmlyZWRGdW5jdGlvbihTaGFyZWRUaW1l
ckZ1bmN0aW9uIHRpbWVyRnVuY3Rpb24pIHsgfQotICAgIHZpcnR1YWwgdm9pZCBzZXRTaGFyZWRU
aW1lckZpcmVJbnRlcnZhbChkb3VibGUpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBzdG9wU2hhcmVk
VGltZXIoKSB7IH0KLQotICAgIC8vIENhbGxhYmxlIGZyb20gYSBiYWNrZ3JvdW5kIFdlYktpdCB0
aHJlYWQuCi0gICAgdmlydHVhbCB2b2lkIGNhbGxPbk1haW5UaHJlYWQodm9pZCAoKmZ1bmMpKHZv
aWQqKSwgdm9pZCogY29udGV4dCkgeyB9Ci0KICAgICAvLyBHUFUgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIC8vCiAg
ICAgLy8gTWF5IHJldHVybiBudWxsIGlmIEdQVSBpcyBub3Qgc3VwcG9ydGVkLgpAQCAtMzg3LDEx
ICsxNjksNiBAQCBwdWJsaWM6CiAgICAgLy8gVGhpcyB2YWx1ZSBtdXN0IGJlIGNoZWNrZWQgYWdh
aW4gYWZ0ZXIgYSBjb250ZXh0IGxvc3MgZXZlbnQgYXMgdGhlIHBsYXRmb3JtJ3MgY2FwYWJpbGl0
aWVzIG1heSBoYXZlIGNoYW5nZWQuCiAgICAgdmlydHVhbCBib29sIGNhbkFjY2VsZXJhdGUyZENh
bnZhcygpIHsgcmV0dXJuIGZhbHNlOyB9CiAKLSAgICAvLyBBdWRpbyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gICAgdmly
dHVhbCBkb3VibGUgYXVkaW9IYXJkd2FyZVNhbXBsZVJhdGUoKSB7IHJldHVybiAwOyB9Ci0gICAg
dmlydHVhbCBzaXplX3QgYXVkaW9IYXJkd2FyZUJ1ZmZlclNpemUoKSB7IHJldHVybiAwOyB9Ci0g
ICAgdmlydHVhbCBXZWJBdWRpb0RldmljZSogY3JlYXRlQXVkaW9EZXZpY2Uoc2l6ZV90IGJ1ZmZl
clNpemUsIHVuc2lnbmVkIG51bWJlck9mQ2hhbm5lbHMsIGRvdWJsZSBzYW1wbGVSYXRlLCBXZWJB
dWRpb0RldmljZTo6UmVuZGVyQ2FsbGJhY2sqKSB7IHJldHVybiAwOyB9CiAKICAgICAvLyBGaWxl
U3lzdGVtIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>