<?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>47936</bug_id>
          
          <creation_ts>2010-10-19 15:05:31 -0700</creation_ts>
          <short_desc>Renumber FileError/FileException error codes per latest File API spec changes</short_desc>
          <delta_ts>2010-10-24 22:54:38 -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>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ericu</cc>
    
    <cc>jianli</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>296439</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-19 15:05:31 -0700</bug_when>
    <thetext>Renumber FileError/FileException error codes per latest File API spec changes

http://dev.w3.org/2006/webapi/FileAPI/#dfn-FileException
http://dev.w3.org/2009/dap/file-system/file-writer.html#the-fileerror-interface
http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-fileerror-interface

    const unsigned short NOT_FOUND_ERR = 1;
    const unsigned short SECURITY_ERR = 2;
    const unsigned short ABORT_ERR = 3;
    const unsigned short NOT_READABLE_ERR = 4;
    const unsigned short ENCODING_ERR = 5;
    const unsigned short NO_MODIFICATION_ALLOWED_ERR = 6;
    const unsigned short INVALID_STATE_ERR = 7;
    const unsigned short SYNTAX_ERR = 8;
    const unsigned short INVALID_MODIFICATION_ERR = 9;
    const unsigned short QUOTA_EXCEEDED_ERR = 10;
    const unsigned short TYPE_MISMATCH_ERR = 11;
    const unsigned short PATH_EXISTS_ERR = 12;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297021</commentid>
    <comment_count>1</comment_count>
      <attachid>71336</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-20 14:18:51 -0700</bug_when>
    <thetext>Created attachment 71336
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297193</commentid>
    <comment_count>2</comment_count>
      <attachid>71336</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-10-20 18:31:33 -0700</bug_when>
    <thetext>Comment on attachment 71336
Patch

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

&gt; LayoutTests/ChangeLog:11
&gt; +        * fast/files/read-file-async-expected.txt:

You&apos;d better also update fast/files/workers/read-*-async-expected.txt though worker tests are skipped now.

&gt; WebCore/dom/ExceptionCode.cpp:197
&gt; +    &quot;A requested file or directory could not be found at the time an operation was processed.&quot;,

Where did you get the message?

&gt; WebCore/fileapi/FileError.h:43
&gt; +    enum FileErrorCode {

Probably it is simpler to name it as ErrorCode as in PositionError.h or GeolocationError.h.

&gt; WebCore/fileapi/FileException.h:65
&gt; +    static int FileErrorCodeToExceptionCode(int fileErrorCode)

Probably simpler to call it as ErrorCodeToExceptionCode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297223</commentid>
    <comment_count>3</comment_count>
      <attachid>71386</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-20 21:39:33 -0700</bug_when>
    <thetext>Created attachment 71386
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297224</commentid>
    <comment_count>4</comment_count>
      <attachid>71336</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-20 21:48:31 -0700</bug_when>
    <thetext>Comment on attachment 71336
Patch

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

&gt;&gt; LayoutTests/ChangeLog:11
&gt;&gt; +        * fast/files/read-file-async-expected.txt:
&gt; 
&gt; You&apos;d better also update fast/files/workers/read-*-async-expected.txt though worker tests are skipped now.

Done.

&gt;&gt; WebCore/dom/ExceptionCode.cpp:197
&gt;&gt; +    &quot;A requested file or directory could not be found at the time an operation was processed.&quot;,
&gt; 
&gt; Where did you get the message?

Basically I copy-pasted those messages from the spec (plus some minor modifications to make them look alike).
For this particular one it&apos;s from FileSystem spec, 7.3 Error Code Descriptions.
http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#error-code-descriptions
Please feel free to correct the sentences if they look weird or not relevant.

&gt;&gt; WebCore/fileapi/FileError.h:43
&gt;&gt; +    enum FileErrorCode {
&gt; 
&gt; Probably it is simpler to name it as ErrorCode as in PositionError.h or GeolocationError.h.

Fixed.

&gt;&gt; WebCore/fileapi/FileException.h:65
&gt;&gt; +    static int FileErrorCodeToExceptionCode(int fileErrorCode)
&gt; 
&gt; Probably simpler to call it as ErrorCodeToExceptionCode.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297777</commentid>
    <comment_count>5</comment_count>
      <attachid>71386</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-10-21 18:31:26 -0700</bug_when>
    <thetext>Comment on attachment 71386
Patch

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

&gt; WebCore/dom/ExceptionCode.cpp:204
&gt; +    &quot;An attempt was made to supply an invalid line ending specifier to the API. &quot;,

This description text seems to be too specific.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297797</commentid>
    <comment_count>6</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-21 19:38:49 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 71386 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=71386&amp;action=review
&gt; 
&gt; &gt; WebCore/dom/ExceptionCode.cpp:204
&gt; &gt; +    &quot;An attempt was made to supply an invalid line ending specifier to the API. &quot;,
&gt; 
&gt; This description text seems to be too specific.

Do you have any alternative suggestions?

It&apos;s the only case where useragent should fire SYNTAX_ERR in the entire File API spec and I don&apos;t see the strong reason to change it now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298048</commentid>
    <comment_count>7</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-10-22 10:32:13 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; (From update of attachment 71386 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=71386&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; WebCore/dom/ExceptionCode.cpp:204
&gt; &gt; &gt; +    &quot;An attempt was made to supply an invalid line ending specifier to the API. &quot;,
&gt; &gt; 
&gt; &gt; This description text seems to be too specific.
&gt; 
&gt; Do you have any alternative suggestions?
&gt; 
&gt; It&apos;s the only case where useragent should fire SYNTAX_ERR in the entire File API spec and I don&apos;t see the strong reason to change it now.

Though it is only used in one particular case, I am afraid that it might be used in other cases without updating the original description. How about something like:
  &quot;Invalid or unsupported argument, like invalid line ending specifier.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298196</commentid>
    <comment_count>8</comment_count>
      <attachid>71597</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-22 14:54:07 -0700</bug_when>
    <thetext>Created attachment 71597
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298197</commentid>
    <comment_count>9</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-22 14:56:16 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; (From update of attachment 71386 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=71386&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; WebCore/dom/ExceptionCode.cpp:204
&gt; &gt; &gt; &gt; +    &quot;An attempt was made to supply an invalid line ending specifier to the API. &quot;,
&gt; &gt; &gt; 
&gt; &gt; &gt; This description text seems to be too specific.
&gt; &gt; 
&gt; &gt; Do you have any alternative suggestions?
&gt; &gt; 
&gt; &gt; It&apos;s the only case where useragent should fire SYNTAX_ERR in the entire File API spec and I don&apos;t see the strong reason to change it now.
&gt; 
&gt; Though it is only used in one particular case, I am afraid that it might be used in other cases without updating the original description. How about something like:
&gt;   &quot;Invalid or unsupported argument, like invalid line ending specifier.&quot;

Sounds good, updated the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298732</commentid>
    <comment_count>10</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-24 22:54:38 -0700</bug_when>
    <thetext>Committed r70438: &lt;http://trac.webkit.org/changeset/70438&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71336</attachid>
            <date>2010-10-20 14:18:51 -0700</date>
            <delta_ts>2010-10-20 21:48:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47936-20101020141850.patch</filename>
            <type>text/plain</type>
            <size>60226</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkNTU1NjUzMWQxNTJkYjJhY2IyOTk1MWIwNWFmMDBlN2Y0MWQ5NWIxLi44YTg4Mjc4
ZWZhM2NkOGRmM2JiZDc3MDQ5ZTU0MjBmNWI4NmZiZmRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMTAtMTAtMjAgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbnVtYmVyIEZpbGVF
cnJvci9GaWxlRXhjZXB0aW9uIGVycm9yIGNvZGVzIHBlciBsYXRlc3QgRmlsZSBBUEkgc3BlYyBj
aGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
NzkzNgorCisgICAgICAgIFVwZGF0aW5nIHRlc3QgZXhwZWN0YXRpb25zIHRvIG1hdGNoIHdpdGgg
dGhlIG5ldyBlcnJvciBjb2RlLgorCisgICAgICAgICogZmFzdC9maWxlcy9yZWFkLWJsb2ItYXN5
bmMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZmlsZXMvcmVhZC1maWxlLWFzeW5jLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vb3AtY29weS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL29wLWdldC1lbnRyeS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL29wLW1vdmUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGZhc3QvZmlsZXN5c3RlbS9vcC1yZW1vdmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZh
c3QvZmlsZXN5c3RlbS9vcC1yZXN0cmljdGVkLWNoYXJzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2ZpbGVzeXN0ZW0vb3AtcmVzdHJpY3RlZC1uYW1lcy1leHBlY3RlZC50eHQ6CisKIDIw
MTAtMTAtMTkgIEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHRlc3QgZXhwZWN0YXRpb25zIHVwZGF0ZS4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZmlsZXMvcmVhZC1ibG9iLWFzeW5jLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZmlsZXMvcmVhZC1ibG9iLWFzeW5jLWV4cGVjdGVkLnR4dAppbmRleCAyN2Q4YzBhZmI1
OGVkMjdiNWFiZWNjYzYxNDg1NDJjZTJiZmFjZjY3Li4wOTliMWJlMjNlMjUyMWQ2NDEwOTA4MzVj
YzU0Njg4NGYzYzhhZDBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3JlYWQt
YmxvYi1hc3luYy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9yZWFk
LWJsb2ItYXN5bmMtZXhwZWN0ZWQudHh0CkBAIC0zLDEzICszLDEzIEBAIFRlc3QgcmVhZGluZyBh
IGJsb2IgY29udGFpbmluZyBub24tZXhpc3RlbnQgZmlsZQogcmVhZHlTdGF0ZTogMAogUmVjZWl2
ZWQgZXJyb3IgZXZlbnQKIHJlYWR5U3RhdGU6IDIKLWVycm9yIGNvZGU6IDgKK2Vycm9yIGNvZGU6
IDEKIFJlY2VpdmVkIGxvYWRlbmQgZXZlbnQKIFRlc3QgcmVhZGluZyBhIGJsb2IgY29udGFpbmlu
ZyBleGlzdGVudCBhbmQgbm9uLWV4aXN0ZW50IGZpbGUKIHJlYWR5U3RhdGU6IDAKIFJlY2VpdmVk
IGVycm9yIGV2ZW50CiByZWFkeVN0YXRlOiAyCi1lcnJvciBjb2RlOiA4CitlcnJvciBjb2RlOiAx
CiBSZWNlaXZlZCBsb2FkZW5kIGV2ZW50CiBUZXN0IHJlYWRpbmcgYSBibG9iIGNvbnRhaW5pbmcg
ZW1wdHkgZmlsZQogcmVhZHlTdGF0ZTogMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
aWxlcy9yZWFkLWZpbGUtYXN5bmMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxl
cy9yZWFkLWZpbGUtYXN5bmMtZXhwZWN0ZWQudHh0CmluZGV4IDc2ZmQ1NWZmZGNhODQ1YzVmNTc0
NzAyZTY5ODI5MTQ1YzI5ZjY5OWQuLmQ5NGVhYmI3NmU4Y2FlYmNjNDFmNGIwZWRiY2MyNTMyYTc4
NGVjZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvcmVhZC1maWxlLWFzeW5j
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3JlYWQtZmlsZS1hc3lu
Yy1leHBlY3RlZC50eHQKQEAgLTMsMTkgKzMsMTkgQEAgVGVzdCByZWFkaW5nIGEgbm9uLWV4aXN0
ZW50IGZpbGUgYXMgYmluYXJ5IHN0cmluZwogcmVhZHlTdGF0ZTogMAogUmVjZWl2ZWQgZXJyb3Ig
ZXZlbnQKIHJlYWR5U3RhdGU6IDIKLWVycm9yIGNvZGU6IDgKK2Vycm9yIGNvZGU6IDEKIFJlY2Vp
dmVkIGxvYWRlbmQgZXZlbnQKIFRlc3QgcmVhZGluZyBhIG5vbi1leGlzdGVudCBmaWxlIGFzIHRl
eHQKIHJlYWR5U3RhdGU6IDAKIFJlY2VpdmVkIGVycm9yIGV2ZW50CiByZWFkeVN0YXRlOiAyCi1l
cnJvciBjb2RlOiA4CitlcnJvciBjb2RlOiAxCiBSZWNlaXZlZCBsb2FkZW5kIGV2ZW50CiBUZXN0
IHJlYWRpbmcgYSBub24tZXhpc3RlbnQgZmlsZSBhcyBkYXRhIFVSTAogcmVhZHlTdGF0ZTogMAog
UmVjZWl2ZWQgZXJyb3IgZXZlbnQKIHJlYWR5U3RhdGU6IDIKLWVycm9yIGNvZGU6IDgKK2Vycm9y
IGNvZGU6IDEKIFJlY2VpdmVkIGxvYWRlbmQgZXZlbnQKIFRlc3QgcmVhZGluZyBhbiBlbXB0eSBm
aWxlIGFzIGJpbmFyeSBzdHJpbmcKIHJlYWR5U3RhdGU6IDAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZmlsZXN5c3RlbS9vcC1jb3B5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZmlsZXN5c3RlbS9vcC1jb3B5LWV4cGVjdGVkLnR4dAppbmRleCBhNzZhOTIxMWNhMzk0ZGNl
MTBjZjZmYmE0OTg0ODI0NzU2ODI5MGMzLi42ZDE4OTEyY2VlMmY0MDE2NDM4MDBiYTc2YzA2ZDY1
NjU5NjE3ZjI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtY29w
eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL29wLWNvcHkt
ZXhwZWN0ZWQudHh0CkBAIC0xOSwyNiArMTksMjYgQEAgUEFTUyBWZXJpZmllZCBlbnRyeTogRU5U
Ulkge3BhdGg6L2EgbmFtZTphIHR5cGU6RElSRUNUT1JZfQogUEFTUyBWZXJpZmllZCBlbnRyeTog
RU5UUlkge3BhdGg6L2EvYiBuYW1lOmIgdHlwZTpGSUxFfQogUEFTUyBWZXJpZmllZCBlbnRyeTog
RU5UUlkge3BhdGg6L2MvYiBuYW1lOmIgdHlwZTpGSUxFfQogKiBSdW5uaW5nOiBDb3B5RmlsZVdp
dGhFbXB0eU5hbWVUb1NhbWVEaXJlY3RvcnkKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSAr
ICIiIGlzICIxMyIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgogUEFT
UyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2EgbmFtZTphIHR5cGU6RElSRUNUT1JZfQog
UEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2EvYiBuYW1lOmIgdHlwZTpGSUxFfQog
KiBSdW5uaW5nOiBDb3B5RmlsZVdpdGhTYW1lTmFtZQotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JD
b2RlICsgIiIgaXMgIjEzIgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjki
CiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYSBuYW1lOmEgdHlwZTpESVJFQ1RP
Ull9CiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYS9iIG5hbWU6YiB0eXBlOkZJ
TEV9CiAqIFJ1bm5pbmc6IENvcHlGb3JOb25FeGlzdGVudEVudHJ5CiBQQVNTIFN1Y2NlZWRlZDog
Ii9hL2IiLnJlbW92ZSgpCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOCIK
K1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxIgogUEFTUyBWZXJpZmllZCBl
bnRyeTogRU5UUlkge3BhdGg6L2EgbmFtZTphIHR5cGU6RElSRUNUT1JZfQogUEFTUyBWZXJpZmll
ZCBlbnRyeTogRU5UUlkge3BhdGg6L2MgbmFtZTpjIHR5cGU6RElSRUNUT1JZfQogKiBSdW5uaW5n
OiBDb3B5RW50cnlUb05vbkV4aXN0ZW50RGlyZWN0b3J5CiBQQVNTIFN1Y2NlZWRlZDogIi9jIi5y
ZW1vdmUoKQotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjgiCitQQVNTIHRo
aXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMSIKIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVO
VFJZIHtwYXRoOi9hIG5hbWU6YSB0eXBlOkRJUkVDVE9SWX0KIFBBU1MgVmVyaWZpZWQgZW50cnk6
IEVOVFJZIHtwYXRoOi9hL2IgbmFtZTpiIHR5cGU6RklMRX0KICogUnVubmluZzogQ29weUVudHJ5
VG9JdHNDaGlsZAotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFT
UyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgorUEFTUyB0aGlzLmV4cGVjdGVk
RXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBp
cyAiOSIKIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hIG5hbWU6YSB0eXBlOkRJ
UkVDVE9SWX0KIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hL2IgbmFtZTpiIHR5
cGU6RElSRUNUT1JZfQogUEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2EvYi9jIG5h
bWU6YyB0eXBlOkRJUkVDVE9SWX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5
c3RlbS9vcC1nZXQtZW50cnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lz
dGVtL29wLWdldC1lbnRyeS1leHBlY3RlZC50eHQKaW5kZXggODc3OTMxODA5ZTdiZmFiMTJjZGQ1
N2ZiOWM0ODc1YmZkNTFlNTliMC4uMWY0OWJiNjMzYzI3NGRmNzFhMWY5Y2RmOWU2MGYwOGQxYjQ2
MmIwMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL29wLWdldC1lbnRy
eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL29wLWdldC1l
bnRyeS1leHBlY3RlZC50eHQKQEAgLTI0LDE1ICsyNCwxNSBAQCBQQVNTIFN1Y2NlZWRlZDogIi9h
Ii5nZXREaXJlY3RvcnkoIi4uL2IiKQogUEFTUyBTdWNjZWVkZWQ6ICIvYSIuZ2V0RGlyZWN0b3J5
KCIuLi8uLi9iL2MiKQogUEFTUyBTdWNjZWVkZWQ6ICIvYSIuZ2V0RGlyZWN0b3J5KCIvYS8uLi8u
Li9kIikKIFBBU1MgU3VjY2VlZGVkOiAiL2EiLmdldERpcmVjdG9yeSgiL2EvLi4vLi4vYi8uL2Mv
Li4vLi4vLi4vLi4vLi4vZSIpCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAi
MTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCitQQVNTIHRoaXMu
ZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29k
ZSArICIiIGlzICI5IgogUEFTUyBTdWNjZWVkZWQ6ICIvYSIuZ2V0RmlsZSgiLi9iLnR4dCIpCiBQ
QVNTIFN1Y2NlZWRlZDogIi9hIi5nZXRGaWxlKCIuLi9iLnR4dCIpCiBQQVNTIFN1Y2NlZWRlZDog
Ii9hIi5nZXRGaWxlKCIuLi8uLi9iL2MudHh0IikKIFBBU1MgU3VjY2VlZGVkOiAiL2EiLmdldEZp
bGUoIi9hLy4uLy4uL2QudHh0IikKIFBBU1MgU3VjY2VlZGVkOiAiL2EiLmdldEZpbGUoIi9hLy4u
Ly4uL2IvLi9jLy4uLy4uLy4uLy4uLy4uL2UudHh0IikKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9y
Q29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIx
MyIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4
cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7
cGF0aDovYSBuYW1lOmEgdHlwZTpESVJFQ1RPUll9CiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRS
WSB7cGF0aDovYS9iIG5hbWU6YiB0eXBlOkRJUkVDVE9SWX0KIFBBU1MgVmVyaWZpZWQgZW50cnk6
IEVOVFJZIHtwYXRoOi9iIG5hbWU6YiB0eXBlOkRJUkVDVE9SWX0KQEAgLTY2LDIxICs2NiwyMSBA
QCBQQVNTIHRoaXMuZW52aXJvbm1lbnRbdGhpcy5lbnRyeS5mdWxsUGF0aF0uaXNEaXJlY3Rvcnkg
KyAiIiBpcyAiZmFsc2UiCiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYSBuYW1l
OmEgdHlwZTpESVJFQ1RPUll9CiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYiBu
YW1lOmIgdHlwZTpGSUxFfQogKiBSdW5uaW5nOiBHZXROb25FeGlzdGVudAotUEFTUyB0aGlzLmV4
cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjgiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUg
KyAiIiBpcyAiOCIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI4IgotUEFT
UyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjgiCitQQVNTIHRoaXMuZXhwZWN0ZWRF
cnJvckNvZGUgKyAiIiBpcyAiMSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlz
ICIxIgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEiCitQQVNTIHRoaXMu
ZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMSIKICogUnVubmluZzogR2V0RmlsZUZvckRpcmVj
dG9yeQotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjExIgotUEFTUyB0aGlz
LmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjExIgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JD
b2RlICsgIiIgaXMgIjciCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiNyIK
IFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hIG5hbWU6YSB0eXBlOkRJUkVDVE9S
WX0KICogUnVubmluZzogR2V0RGlyZWN0b3J5Rm9yRmlsZQotUEFTUyB0aGlzLmV4cGVjdGVkRXJy
b3JDb2RlICsgIiIgaXMgIjExIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMg
IjExIgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjciCitQQVNTIHRoaXMu
ZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiNyIKIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZ
IHtwYXRoOi9hIG5hbWU6YSB0eXBlOkZJTEV9CiAqIFJ1bm5pbmc6IENyZWF0ZVdpdGhFeGNsdXNp
dmUKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5l
eHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29k
ZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCiBQ
QVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYSBuYW1lOmEgdHlwZTpESVJFQ1RPUll9
CiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYiBuYW1lOmIgdHlwZTpGSUxFfQog
RmluaXNoZWQgcnVubmluZyB0ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXN5c3RlbS9vcC1tb3ZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3Rl
bS9vcC1tb3ZlLWV4cGVjdGVkLnR4dAppbmRleCA0MTU4NjcyNDRkMjUxMzk3YmViZDlhYWU5NWY3
MzVhMzMxYTQ2YjBkLi4zNTQ2Mzk2ZmI1ZmEyMjAxOGVkMjUxZDUzNWM4NjQ3MDM5MGJhY2ZkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtbW92ZS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL29wLW1vdmUtZXhwZWN0ZWQudHh0
CkBAIC0xOSwyNiArMTksMjYgQEAgUEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2Eg
bmFtZTphIHR5cGU6RElSRUNUT1JZfQogUEFTUyBWZXJpZmllZCBlbnRyeSBkb2VzIE5PVCBleGlz
dDogL2EvYgogUEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2MvYiBuYW1lOmIgdHlw
ZTpGSUxFfQogKiBSdW5uaW5nOiBNb3ZlRmlsZVdpdGhFbXB0eU5hbWVUb1NhbWVEaXJlY3RvcnkK
LVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKK1BBU1MgdGhpcy5leHBl
Y3RlZEVycm9yQ29kZSArICIiIGlzICI5IgogUEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3Bh
dGg6L2EgbmFtZTphIHR5cGU6RElSRUNUT1JZfQogUEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkg
e3BhdGg6L2EvYiBuYW1lOmIgdHlwZTpGSUxFfQogKiBSdW5uaW5nOiBNb3ZlRmlsZVdpdGhTYW1l
TmFtZQotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgorUEFTUyB0aGlz
LmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRS
WSB7cGF0aDovYSBuYW1lOmEgdHlwZTpESVJFQ1RPUll9CiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBF
TlRSWSB7cGF0aDovYS9iIG5hbWU6YiB0eXBlOkZJTEV9CiAqIFJ1bm5pbmc6IE1vdmVGb3JOb25F
eGlzdGVudEVudHJ5CiBQQVNTIFN1Y2NlZWRlZDogIi9hL2IiLnJlbW92ZSgpCi1QQVNTIHRoaXMu
ZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOCIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29k
ZSArICIiIGlzICIxIgogUEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2EgbmFtZTph
IHR5cGU6RElSRUNUT1JZfQogUEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2MgbmFt
ZTpjIHR5cGU6RElSRUNUT1JZfQogKiBSdW5uaW5nOiBNb3ZlRW50cnlUb05vbkV4aXN0ZW50RGly
ZWN0b3J5CiBQQVNTIFN1Y2NlZWRlZDogIi9jIi5yZW1vdmUoKQotUEFTUyB0aGlzLmV4cGVjdGVk
RXJyb3JDb2RlICsgIiIgaXMgIjgiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBp
cyAiMSIKIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hIG5hbWU6YSB0eXBlOkRJ
UkVDVE9SWX0KIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hL2IgbmFtZTpiIHR5
cGU6RklMRX0KICogUnVubmluZzogTW92ZUVudHJ5VG9JdHNDaGlsZAotUEFTUyB0aGlzLmV4cGVj
dGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsg
IiIgaXMgIjEzIgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNT
IHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKIFBBU1MgVmVyaWZpZWQgZW50cnk6
IEVOVFJZIHtwYXRoOi9hIG5hbWU6YSB0eXBlOkRJUkVDVE9SWX0KIFBBU1MgVmVyaWZpZWQgZW50
cnk6IEVOVFJZIHtwYXRoOi9hL2IgbmFtZTpiIHR5cGU6RElSRUNUT1JZfQogUEFTUyBWZXJpZmll
ZCBlbnRyeTogRU5UUlkge3BhdGg6L2EvYi9jIG5hbWU6YyB0eXBlOkRJUkVDVE9SWX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9vcC1yZW1vdmUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL29wLXJlbW92ZS1leHBlY3RlZC50eHQKaW5k
ZXggOTM2ODkzMzJmNGUzMWI3MDAyM2E5ZjAxOGU3NjJkNjk1ZTg1MGRiZi4uODJhZjQ0YzU5ZGE2
NDFiYzA1YTkxYjQ4YWRiMmQ2ZDJiMGFjZjg0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9maWxlc3lzdGVtL29wLXJlbW92ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9maWxlc3lzdGVtL29wLXJlbW92ZS1leHBlY3RlZC50eHQKQEAgLTEsMTEgKzEsMTEgQEAKICog
UnVubmluZzogUmVtb3ZlU2ltcGxlCiBQQVNTIFN1Y2NlZWRlZDogIi9hIi5yZW1vdmUoKQogUEFT
UyBTdWNjZWVkZWQ6ICIvYiIucmVtb3ZlKCkKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSAr
ICIiIGlzICIxMyIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgogUEFT
UyBWZXJpZmllZCBlbnRyeSBkb2VzIE5PVCBleGlzdDogL2EKIFBBU1MgVmVyaWZpZWQgZW50cnkg
ZG9lcyBOT1QgZXhpc3Q6IC9iCiAqIFJ1bm5pbmc6IFJlbW92ZU5vblJlY3Vyc2l2ZVdpdGhDaGls
ZHJlbgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgorUEFTUyB0aGlz
LmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRS
WSB7cGF0aDovYSBuYW1lOmEgdHlwZTpESVJFQ1RPUll9CiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBF
TlRSWSB7cGF0aDovYS9iIG5hbWU6YiB0eXBlOkRJUkVDVE9SWX0KIFBBU1MgVmVyaWZpZWQgZW50
cnk6IEVOVFJZIHtwYXRoOi9hL2MgbmFtZTpjIHR5cGU6RklMRX0KQEAgLTE0LDcgKzE0LDcgQEAg
UEFTUyBTdWNjZWVkZWQ6ICIvYSIucmVtb3ZlUmVjdXJzaXZlbHkoKQogUEFTUyBWZXJpZmllZCBl
bnRyeSBkb2VzIE5PVCBleGlzdDogL2EKICogUnVubmluZzogUmVtb3ZlUmVjdXJzaXZlV2l0aENo
aWxkcmVuCiBQQVNTIFN1Y2NlZWRlZDogIi9hIi5yZW1vdmVSZWN1cnNpdmVseSgpCi1QQVNTIHRo
aXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJv
ckNvZGUgKyAiIiBpcyAiOSIKIFBBU1MgVmVyaWZpZWQgZW50cnkgZG9lcyBOT1QgZXhpc3Q6IC9h
CiBGaW5pc2hlZCBydW5uaW5nIHRlc3RzLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL29wLXJlc3RyaWN0ZWQt
Y2hhcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL29wLXJlc3Ry
aWN0ZWQtY2hhcnMtZXhwZWN0ZWQudHh0CmluZGV4IGFkZTcyZGYxYzM2MTVmZGMwZTc4MTFmNWFi
YWM0MmMxZWQzMDRjMTYuLjMyNDU0YTc2ZTJiNWMxYTA0NDA2YjU3NDNlMWY4MGM2MjUxMjI0MmMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9vcC1yZXN0cmljdGVkLWNo
YXJzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtcmVz
dHJpY3RlZC1jaGFycy1leHBlY3RlZC50eHQKQEAgLTEsMzUgKzEsMzUgQEAKICogUnVubmluZzog
UmVzdHJpY3RlZENoYXJzCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMi
Ci1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhw
ZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUg
KyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1Q
QVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0
ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAi
IiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNT
IHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRF
cnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBp
cyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRo
aXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJv
ckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAi
MTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMu
ZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNv
ZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMi
Ci1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhw
ZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUg
KyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFT
UyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRF
cnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlz
ICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMu
ZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29k
ZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQ
QVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3Rl
ZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIg
aXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhp
cy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JD
b2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIK
K1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVj
dGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAi
IiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0
aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJv
ckNvZGUgKyAiIiBpcyAiOSIKIFBBU1MgU3VjY2VlZGVkOiAiLyIuZ2V0RmlsZSgiYWIiKQotUEFT
UyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVk
RXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIg
aXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0
aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJy
b3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMg
IjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgorUEFTUyB0aGlz
LmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNv
ZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5Igor
UEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0
ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIi
IGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRo
aXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVO
VFJZIHtwYXRoOi9hYiBuYW1lOmFiIHR5cGU6RklMRX0KIEZpbmlzaGVkIHJ1bm5pbmcgdGVzdHMu
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtcmVzdHJpY3RlZC1uYW1lcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtcmVzdHJpY3RlZC1uYW1lcy1leHBlY3RlZC50eHQK
aW5kZXggYzM5MDM3OTEyYjBlNDE3ODBhNDI3MGE4OWJmM2U5ZjI3ZmUzYTAxZC4uNzRhOTAxOGNl
Mjc2NGY1OWQyNzc1YjY1ZGI5Yzc5YzRlZmRhYTM3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlc3lzdGVtL29wLXJlc3RyaWN0ZWQtbmFtZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9vcC1yZXN0cmljdGVkLW5hbWVzLWV4cGVjdGVkLnR4
dApAQCAtMSw0MyArMSw0MyBAQAogKiBSdW5uaW5nOiBSZXN0cmljdGVkQ2hhcnMKLVBBU1MgdGhp
cy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9y
Q29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIx
MyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5l
eHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29k
ZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIK
LVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBl
Y3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSAr
ICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBB
U1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3Rl
ZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIi
IGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1Mg
dGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVy
cm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlz
ICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhp
cy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9y
Q29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIx
MyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5l
eHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29k
ZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIK
LVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBl
Y3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSAr
ICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBB
U1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3Rl
ZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIi
IGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1Mg
dGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVy
cm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlz
ICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhp
cy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9y
Q29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjki
CitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBl
Y3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsg
IiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1Mg
dGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJy
b3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAi
OSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4
cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUg
KyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFT
UyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRF
cnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlz
ICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMu
ZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29k
ZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQ
QVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3Rl
ZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIg
aXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhp
cy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JD
b2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIK
K1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVj
dGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAi
IiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0
aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJv
ckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5
IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhw
ZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSAr
ICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNT
IHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKIFBBU1MgVmVyaWZpZWQgZW50cnk6
IEVOVFJZIHtwYXRoOi9hIG5hbWU6YSB0eXBlOkRJUkVDVE9SWX0KIEZpbmlzaGVkIHJ1bm5pbmcg
dGVzdHMuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDE5NWQ3ZDkyZTJlYTEzMmJi
MzkzYzg3YzhkMjkyOWI4NDdiM2Y3MmQuLmMxZDY4YTczZWZkMTFhMDRhODdmMWU3ZDcxNGQwZDEx
ZTUzMGU3M2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNzUgQEAKKzIwMTAtMTAtMjAgIEtpbnVrbyBZYXN1ZGEgIDxraW51
a29AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFJlbnVtYmVyIEZpbGVFcnJvci9GaWxlRXhjZXB0aW9uIGVycm9yIGNvZGVzIHBl
ciBsYXRlc3QgRmlsZSBBUEkgc3BlYyBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzkzNgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNE
T01CaW5kaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNldERPTUV4Y2VwdGlvbik6IEFkZGVk
IEZpbGVFeGNlcHRpb25UeXBlIGNhc2UuCisgICAgICAgICogYmluZGluZ3MvdjgvVjhQcm94eS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpWOFByb3h5OjpzZXRET01FeGNlcHRpb24pOiBBZGRlZCBG
aWxlRXhjZXB0aW9uVHlwZSBjYXNlLgorICAgICAgICAqIGRvbS9FeGNlcHRpb25Db2RlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmdldEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbik6IEFkZGVkIGNv
ZGUgZm9yIEZpbGVFeGNlcHRpb24uCisgICAgICAgICogZG9tL0V4Y2VwdGlvbkNvZGUuaDoKKyAg
ICAgICAgKiBmaWxlYXBpL0FzeW5jRmlsZVdyaXRlckNsaWVudC5oOgorICAgICAgICAqIGZpbGVh
cGkvRGlyZWN0b3J5RW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlyZWN0b3J5RW50cnk6
OmdldEZpbGUpOgorICAgICAgICAoV2ViQ29yZTo6RGlyZWN0b3J5RW50cnk6OmdldERpcmVjdG9y
eSk6CisgICAgICAgIChXZWJDb3JlOjpEaXJlY3RvcnlFbnRyeTo6cmVtb3ZlUmVjdXJzaXZlbHkp
OgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRpcmVjdG9yeUVudHJ5U3luYzo6Z2V0RmlsZSk6CisgICAgICAgIChXZWJDb3JlOjpE
aXJlY3RvcnlFbnRyeVN5bmM6OmdldERpcmVjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpEaXJl
Y3RvcnlFbnRyeVN5bmM6OnJlbW92ZVJlY3Vyc2l2ZWx5KToKKyAgICAgICAgKiBmaWxlYXBpL0Rp
cmVjdG9yeVJlYWRlclN5bmMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlyZWN0b3J5UmVhZGVy
U3luYzo6cmVhZEVudHJpZXMpOgorICAgICAgICAqIGZpbGVhcGkvRW50cnkuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RW50cnk6OmdldE1ldGFkYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkVudHJ5
Ojptb3ZlVG8pOgorICAgICAgICAoV2ViQ29yZTo6RW50cnk6OmNvcHlUbyk6CisgICAgICAgIChX
ZWJDb3JlOjpFbnRyeTo6cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkVudHJ5OjpnZXRQYXJl
bnQpOgorICAgICAgICAqIGZpbGVhcGkvRW50cnlTeW5jLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkVudHJ5U3luYzo6Z2V0TWV0YWRhdGEpOgorICAgICAgICAoV2ViQ29yZTo6RW50cnlTeW5jOjpt
b3ZlVG8pOgorICAgICAgICAoV2ViQ29yZTo6RW50cnlTeW5jOjpjb3B5VG8pOgorICAgICAgICAo
V2ViQ29yZTo6RW50cnlTeW5jOjpyZW1vdmUpOgorICAgICAgICAqIGZpbGVhcGkvRmlsZUVycm9y
Lmg6IEFkZGVkIGVycm9yIGNvZGUgZW51bS4KKyAgICAgICAgKFdlYkNvcmU6OkZpbGVFcnJvcjo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVFcnJvcjo6Y29kZSk6CisgICAgICAgIChX
ZWJDb3JlOjpGaWxlRXJyb3I6OkZpbGVFcnJvcik6CisgICAgICAgICogZmlsZWFwaS9GaWxlRXJy
b3IuaWRsOiBSZWJhc2VkIGVycm9yIGNvZGUgbnVtYmVycy4KKyAgICAgICAgKiBmaWxlYXBpL0Zp
bGVFeGNlcHRpb24uaDogQWRkZWQgZXhjZXB0aW9uIGNvZGUgZW51bS4KKyAgICAgICAgKFdlYkNv
cmU6OkZpbGVFeGNlcHRpb246OkZpbGVFcnJvckNvZGVUb0V4Y2VwdGlvbkNvZGUpOiBBZGRlZC4K
KyAgICAgICAgKiBmaWxlYXBpL0ZpbGVFeGNlcHRpb24uaWRsOiBSZWJhc2VkIGV4Y2VwdGlvbiBj
b2RlIG51bWJlcnMuCisgICAgICAgICogZmlsZWFwaS9GaWxlUmVhZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZpbGVSZWFkZXI6OmFib3J0KToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVSZWFk
ZXI6OmZhaWxlZCk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlUmVhZGVyOjpodHRwU3RhdHVzQ29k
ZVRvRmlsZUVycm9yQ29kZSk6IENoYW5nZWQgZnJvbQorICAgICAgICBodHRwU3RhdHVDb2RlVG9F
eGNlcHRpb25Db2RlLgorICAgICAgICAqIGZpbGVhcGkvRmlsZVJlYWRlci5oOgorICAgICAgICAq
IGZpbGVhcGkvRmlsZVJlYWRlclN5bmMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVJlYWRl
clN5bmNMb2FkZXI6OnN0YXJ0KToKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVTeXN0ZW1DYWxsYmFj
a3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVN5c3RlbUNhbGxiYWNrc0Jhc2U6OmRpZEZh
aWwpOgorICAgICAgICAqIGZpbGVhcGkvRmlsZVdyaXRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGaWxlV3JpdGVyOjp3cml0ZSk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlV3JpdGVyOjpzZWVr
KToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVXcml0ZXI6OnRydW5jYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkZpbGVXcml0ZXI6OmFib3J0KToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVXcml0ZXI6
OmRpZEZhaWwpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVdyaXRlcjo6c2V0RXJyb3IpOgorICAg
ICAgICAqIGZpbGVhcGkvRmlsZVdyaXRlci5oOgorICAgICAgICAqIGZpbGVhcGkvU3luY0NhbGxi
YWNrSGVscGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTeW5jQ2FsbGJhY2tIZWxwZXI6OlN5bmND
YWxsYmFja0hlbHBlcik6CisgICAgICAgIChXZWJDb3JlOjpTeW5jQ2FsbGJhY2tIZWxwZXI6Omdl
dFJlc3VsdCk6CisgICAgICAgIChXZWJDb3JlOjpTeW5jQ2FsbGJhY2tIZWxwZXI6OnNldEVycm9y
KToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01X
aW5kb3c6OnJlcXVlc3RGaWxlU3lzdGVtKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckNvbnRl
eHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dDo6cmVxdWVzdEZpbGVTeXN0
ZW0pOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dDo6cmVxdWVzdEZpbGVTeXN0ZW1T
eW5jKToKKwogMjAxMC0xMC0xOSAgWW9uZ2p1biBaaGFuZyAgPHlvbmdqdW5femhhbmdAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NQmluZGluZy5jcHAKaW5kZXggNzJlNmQwMzljZTAxNGQ3YTYyNjEyNGU2OGNkYzllYzM4
MWRmYjQ1Ni4uZTRjZmY0YWFhM2EzNzQ5Y2RiNGE0NGMyYWVmMGEzYTczMjNmZmI0YiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCisrKyBiL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcApAQCAtNzgsNiArNzgsMTEgQEAKICNpbmNsdWRl
ICJTUUxFeGNlcHRpb24uaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKEJMT0IpIHx8IEVOQUJMRShG
SUxFX1NZU1RFTSkKKyNpbmNsdWRlICJGaWxlRXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiSlNGaWxl
RXhjZXB0aW9uLmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNjE5LDYgKzYyNCwxMSBAQCB2b2lkIHNldERPTUV4Y2VwdGlvbihFeGVj
U3RhdGUqIGV4ZWMsIEV4Y2VwdGlvbkNvZGUgZWMpCiAgICAgICAgICAgICBlcnJvck9iamVjdCA9
IHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBTUUxFeGNlcHRpb246OmNyZWF0ZShkZXNjcmlwdGlv
bikpOwogICAgICAgICAgICAgYnJlYWs7CiAjZW5kaWYKKyNpZiBFTkFCTEUoQkxPQikgfHwgRU5B
QkxFKEZJTEVfU1lTVEVNKQorICAgICAgICBjYXNlIEZpbGVFeGNlcHRpb25UeXBlOgorICAgICAg
ICAgICAgZXJyb3JPYmplY3QgPSB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgRmlsZUV4Y2VwdGlv
bjo6Y3JlYXRlKGRlc2NyaXB0aW9uKSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgogICAg
IH0KIAogICAgIEFTU0VSVChlcnJvck9iamVjdCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4UHJveHkuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcAppbmRl
eCA5MGMyZWQ4MGJmZjRmZmE1YTk0YjFiMzdkOWIxMmI1ZGQ1OWQ3MWEwLi5lN2Q2YmY2Y2NkN2Q4
NWFlMjY2M2E5NmJiNjQ5ZGJmMTEyYTY5OGQxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4UHJveHkuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5jcHAKQEAg
LTU1LDYgKzU1LDcgQEAKICNpbmNsdWRlICJWOERPTU1hcC5oIgogI2luY2x1ZGUgIlY4RE9NV2lu
ZG93LmgiCiAjaW5jbHVkZSAiVjhFdmVudEV4Y2VwdGlvbi5oIgorI2luY2x1ZGUgIlY4RmlsZUV4
Y2VwdGlvbi5oIgogI2luY2x1ZGUgIlY4SGlkZGVuUHJvcGVydHlOYW1lLmgiCiAjaW5jbHVkZSAi
VjhJc29sYXRlZENvbnRleHQuaCIKICNpbmNsdWRlICJWOFJhbmdlRXhjZXB0aW9uLmgiCkBAIC03
MDMsNiArNzA0LDExIEBAIHZvaWQgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGludCBleGNlcHRp
b25Db2RlKQogICAgICAgICBleGNlcHRpb24gPSB0b1Y4KFNRTEV4Y2VwdGlvbjo6Y3JlYXRlKGRl
c2NyaXB0aW9uKSk7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCisjaWYgRU5BQkxFKEJMT0IpIHx8
IEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICBjYXNlIEZpbGVFeGNlcHRpb25UeXBlOgorICAgICAg
ICBleGNlcHRpb24gPSB0b1Y4KEZpbGVFeGNlcHRpb246OmNyZWF0ZShkZXNjcmlwdGlvbikpOwor
ICAgICAgICBicmVhazsKKyNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUu
Y3BwIGIvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5jcHAKaW5kZXggOTMwM2Y5ZTA2MTc4MDkz
YmU4NDdmMDIyZmY0MWZjMDY3MDliMDg5YS4uMTBlZDJmOTc5MjA1MDk3NTFjZmQ1ODkwZDZhMjQ3
YjE5NWQyNWI5NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5jcHAKKysr
IGIvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5jcHAKQEAgLTQyLDYgKzQyLDEwIEBACiAjaW5j
bHVkZSAiU1FMRXhjZXB0aW9uLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShCTE9CKSB8fCBFTkFC
TEUoRklMRV9TWVNURU0pCisjaW5jbHVkZSAiRmlsZUV4Y2VwdGlvbi5oIgorI2VuZGlmCisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGV4Y2VwdGlvbk5h
bWVzW10gPSB7CkBAIC0xNzMsNiArMTc3LDM4IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBz
cWxFeGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsKIH07CiAjZW5kaWYKIAorI2lmIEVOQUJMRShC
TE9CKSB8fCBFTkFCTEUoRklMRV9TWVNURU0pCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZmls
ZUV4Y2VwdGlvbk5hbWVzW10gPSB7CisgICAgIk5PVF9GT1VORF9FUlIiLAorICAgICJTRUNVUklU
WV9FUlIiLAorICAgICJBQk9SVF9FUlIiLAorICAgICJOT1RfUkVBREFCTEVfRVJSIiwKKyAgICAi
RU5DT0RJTkdfRVJSIiwKKyAgICAiTk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJSIiwKKyAgICAi
SU5WQUxJRF9TVEFURV9FUlIiLAorICAgICJTWU5UQVhfRVJSIiwKKyAgICAiSU5WQUxJRF9NT0RJ
RklDQVRJT05fRVJSIiwKKyAgICAiUVVPVEFfRVhDRUVERURfRVJSIiwKKyAgICAiVFlQRV9NSVNN
QVRDSF9FUlIiLAorICAgICJQQVRIX0VYSVNUU19FUlIiCit9OworCitzdGF0aWMgY29uc3QgY2hh
ciogY29uc3QgZmlsZUV4Y2VwdGlvbkRlc2NyaXB0aW9uc1tdID0geworICAgICJBIHJlcXVlc3Rl
ZCBmaWxlIG9yIGRpcmVjdG9yeSBjb3VsZCBub3QgYmUgZm91bmQgYXQgdGhlIHRpbWUgYW4gb3Bl
cmF0aW9uIHdhcyBwcm9jZXNzZWQuIiwKKyAgICAiSXQgd2FzIGRldGVybWluZWQgdGhhdCBjZXJ0
YWluIGZpbGVzIGFyZSB1bnNhZmUgZm9yIGFjY2VzcyB3aXRoaW4gYSBXZWIgYXBwbGljYXRpb24s
IG9yIHRoYXQgdG9vIG1hbnkgY2FsbHMgYXJlIGJlaW5nIG1hZGUgb24gZmlsZSByZXNvdXJjZXMu
IiwKKyAgICAiQW4gb25nb2luZyBvcGVyYXRpb24gd2FzIGFib3J0ZWQsIHR5cGljYWxseSB3aXRo
IGEgY2FsbCB0byBhYm9ydCgpLiIsCisgICAgIlRoZSByZXF1ZXN0ZWQgZmlsZSBjb3VsZCBub3Qg
YmUgcmVhZCwgdHlwaWNhbGx5IGR1ZSB0byBwZXJtaXNzaW9uIHByb2JsZW1zIHRoYXQgaGF2ZSBv
Y2N1cmVkIGFmdGVyIGEgcmVmZXJlbmNlIHRvIGEgZmlsZSB3YXMgYWNxdWlyZWQuIiwKKyAgICAi
QSBVUkkgc3VwcGxpZWQgdG8gdGhlIEFQSSB3YXMgbWFsZm9ybWVkLCBvciB0aGUgcmVzdWx0aW5n
IERhdGEgVVJMIGhhcyBleGNlZWRlZCB0aGUgVVJMIGxlbmd0aCBsaW1pdGF0aW9ucyBmb3IgRGF0
YSBVUkxzLiIsCisgICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gd3JpdGUgdG8gYSBmaWxlIG9y
IGRpcmVjdG9yeSB3aGljaCBjb3VsZCBub3QgYmUgbW9kaWZpZWQgZHVlIHRvIHRoZSBzdGF0ZSBv
ZiB0aGUgdW5kZXJseWluZyBmaWxlc3lzdGVtLiIsCisgICAgIkFuIG9wZXJhdGlvbiB0aGF0IGRl
cGVuZHMgb24gc3RhdGUgY2FjaGVkIGluIGFuIGludGVyZmFjZSBvYmplY3Qgd2FzIG1hZGUgYnV0
IHRoZSBzdGF0ZSBoYWQgY2hhbmdlZCBzaW5jZSBpdCB3YXMgcmVhZCBmcm9tIGRpc2suIiwKKyAg
ICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBzdXBwbHkgYW4gaW52YWxpZCBsaW5lIGVuZGluZyBz
cGVjaWZpZXIgdG8gdGhlIEFQSS4gIiwKKyAgICAiVGhlIG1vZGlmaWNhdGlvbiByZXF1ZXN0IHdh
cyBpbGxlZ2FsLiIsCisgICAgIlRoZSBvcGVyYXRpb24gZmFpbGVkIGJlY2F1c2UgaXQgd291bGQg
Y2F1c2UgdGhlIGFwcGxpY2F0aW9uIHRvIGV4Y2VlZCBpdHMgc3RvcmFnZSBxdW90YS4iLAorICAg
ICJUaGUgcGF0aCBzdXBwbGllZCBleGlzdHMsIGJ1dCB3YXMgbm90IGFuIGVudHJ5IG9mIHJlcXVl
c3RlZCB0eXBlLiIsCisgICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gY3JlYXRlIGEgZmlsZSBv
ciBkaXJlY3Rvcnkgd2hlcmUgYW4gZWxlbWVudCBhbHJlYWR5IGV4aXN0cy4iCit9OworI2VuZGlm
CisKIHZvaWQgZ2V0RXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUgZWMsIEV4
Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24pCiB7CiAgICAgQVNTRVJUKGVjKTsK
QEAgLTI0MSw2ICsyNzcsMTYgQEAgdm9pZCBnZXRFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24oRXhj
ZXB0aW9uQ29kZSBlYywgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uJiBkZXMKICAgICAgICAgbmFt
ZVRhYmxlU2l6ZSA9IHNpemVvZihzcWxFeGNlcHRpb25OYW1lcykgLyBzaXplb2Yoc3FsRXhjZXB0
aW9uTmFtZXNbMF0pOwogICAgICAgICBuYW1lVGFibGVPZmZzZXQgPSBTUUxFeGNlcHRpb246OlVO
S05PV05fRVJSOwogI2VuZGlmCisjaWYgRU5BQkxFKEJMT0IpIHx8IEVOQUJMRShGSUxFX1NZU1RF
TSkKKyAgICB9IGVsc2UgaWYgKGNvZGUgPj0gRmlsZUV4Y2VwdGlvbjo6RmlsZUV4Y2VwdGlvbk9m
ZnNldCAmJiBjb2RlIDw9IEZpbGVFeGNlcHRpb246OkZpbGVFeGNlcHRpb25NYXgpIHsKKyAgICAg
ICAgdHlwZSA9IEZpbGVFeGNlcHRpb25UeXBlOworICAgICAgICB0eXBlTmFtZSA9ICJET00gRmls
ZSI7CisgICAgICAgIGNvZGUgLT0gRmlsZUV4Y2VwdGlvbjo6RmlsZUV4Y2VwdGlvbk9mZnNldDsK
KyAgICAgICAgbmFtZVRhYmxlID0gZmlsZUV4Y2VwdGlvbk5hbWVzOworICAgICAgICBkZXNjcmlw
dGlvblRhYmxlID0gZmlsZUV4Y2VwdGlvbkRlc2NyaXB0aW9uczsKKyAgICAgICAgbmFtZVRhYmxl
U2l6ZSA9IHNpemVvZihmaWxlRXhjZXB0aW9uTmFtZXMpIC8gc2l6ZW9mKGZpbGVFeGNlcHRpb25O
YW1lc1swXSk7CisgICAgICAgIG5hbWVUYWJsZU9mZnNldCA9IEZpbGVFeGNlcHRpb246Ok5PVF9G
T1VORF9FUlI7CisjZW5kaWYKICAgICB9IGVsc2UgewogICAgICAgICB0eXBlID0gRE9NRXhjZXB0
aW9uVHlwZTsKICAgICAgICAgdHlwZU5hbWUgPSAiRE9NIjsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL0V4Y2VwdGlvbkNvZGUuaCBiL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuaAppbmRleCBj
YmJmNjUwZmUyMTk3ZmMyM2ZhNGZlY2EwODI1OWUwMmU4NTlhMmUyLi42ZWE5ZjdkMDA0YmFkNGRh
ZjFhYmE1NjJmNWVmZmUwMmQzN2NmOTUzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FeGNlcHRp
b25Db2RlLmgKKysrIGIvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5oCkBAIC04MSw2ICs4MSw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBFTkFCTEUoREFUQUJBU0UpCiAgICAgICAgICwg
U1FMRXhjZXB0aW9uVHlwZQogI2VuZGlmCisjaWYgRU5BQkxFKEJMT0IpIHx8IEVOQUJMRShGSUxF
X1NZU1RFTSkKKyAgICAgICAgLCBGaWxlRXhjZXB0aW9uVHlwZQorI2VuZGlmCiAgICAgfTsKIAog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvQXN5bmNGaWxlV3JpdGVyQ2xpZW50LmggYi9X
ZWJDb3JlL2ZpbGVhcGkvQXN5bmNGaWxlV3JpdGVyQ2xpZW50LmgKaW5kZXggMzI3YjE5Y2JlZGQ5
NmM5OTU0Yzk3NGM5YzZhOWY5NWI2YTgxZTAyMi4uNDUxMTAzNjJiMDFjMjQ2YjU3NDIxNTVlYWFl
NDhiZWY3ZWY4Mjc5MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0FzeW5jRmlsZVdyaXRl
ckNsaWVudC5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9Bc3luY0ZpbGVXcml0ZXJDbGllbnQuaApA
QCAtMzMsNyArMzMsNyBAQAogCiAjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQogCi0jaW5jbHVkZSAi
RXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkZpbGVFcnJvci5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRp
ZFdyaXRlKGxvbmcgbG9uZyBieXRlcywgYm9vbCBjb21wbGV0ZSkgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBkaWRUcnVuY2F0ZSgpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbChFeGNlcHRp
b25Db2RlKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZEZhaWwoRmlsZUVycm9yOjpGaWxlRXJy
b3JDb2RlKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9m
aWxlYXBpL0RpcmVjdG9yeUVudHJ5LmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRy
eS5jcHAKaW5kZXggNzY1ZmNkNWY5Njk1YTRiMWZjYTMwNjE0YjIzNjE0YTU1NzNhZDRiOC4uNzkx
NTExNzU5Y2MyYjA4Mjg2MDAyMGJiZDZiNDVkMGE4ODU0M2MwMCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5LmNwcAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0
b3J5RW50cnkuY3BwCkBAIC01NSwyMSArNTUsMjEgQEAgdm9pZCBEaXJlY3RvcnlFbnRyeTo6Z2V0
RmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NSZWZQdHI8RmxhZ3M+IGZsYWdzLCBQYXNzUmUK
IHsKICAgICBSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayhlcnJvckNhbGxiYWNr
UmVmKTsKICAgICBpZiAoIW1fZmlsZVN5c3RlbS0+Z2V0RmlsZSh0aGlzLCBwYXRoLCBmbGFncywg
c3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKSkKLSAgICAgICAgZmlsZXN5c3RlbSgpLT5z
Y2hlZHVsZUNhbGxiYWNrKGVycm9yQ2FsbGJhY2sucmVsZWFzZSgpLCBGaWxlRXJyb3I6OmNyZWF0
ZShJTlZBTElEX01PRElGSUNBVElPTl9FUlIpKTsKKyAgICAgICAgZmlsZXN5c3RlbSgpLT5zY2hl
ZHVsZUNhbGxiYWNrKGVycm9yQ2FsbGJhY2sucmVsZWFzZSgpLCBGaWxlRXJyb3I6OmNyZWF0ZShG
aWxlRXJyb3I6OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUikpOwogfQogCiB2b2lkIERpcmVjdG9y
eUVudHJ5OjpnZXREaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzUmVmUHRyPEZsYWdz
PiBmbGFncywgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NS
ZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFja1JlZikKIHsKICAgICBSZWZQdHI8RXJy
b3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayhlcnJvckNhbGxiYWNrUmVmKTsKICAgICBpZiAoIW1f
ZmlsZVN5c3RlbS0+Z2V0RGlyZWN0b3J5KHRoaXMsIHBhdGgsIGZsYWdzLCBzdWNjZXNzQ2FsbGJh
Y2ssIGVycm9yQ2FsbGJhY2spKQotICAgICAgICBmaWxlc3lzdGVtKCktPnNjaGVkdWxlQ2FsbGJh
Y2soZXJyb3JDYWxsYmFjay5yZWxlYXNlKCksIEZpbGVFcnJvcjo6Y3JlYXRlKElOVkFMSURfTU9E
SUZJQ0FUSU9OX0VSUikpOworICAgICAgICBmaWxlc3lzdGVtKCktPnNjaGVkdWxlQ2FsbGJhY2so
ZXJyb3JDYWxsYmFjay5yZWxlYXNlKCksIEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVFcnJvcjo6SU5W
QUxJRF9NT0RJRklDQVRJT05fRVJSKSk7CiB9CiAKIHZvaWQgRGlyZWN0b3J5RW50cnk6OnJlbW92
ZVJlY3Vyc2l2ZWx5KFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBh
c3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFja1JlZikgY29uc3QKIHsKICAgICBS
ZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayhlcnJvckNhbGxiYWNrUmVmKTsKICAg
ICBpZiAoIW1fZmlsZVN5c3RlbS0+cmVtb3ZlUmVjdXJzaXZlbHkodGhpcywgc3VjY2Vzc0NhbGxi
YWNrLCBlcnJvckNhbGxiYWNrKSkKLSAgICAgICAgZmlsZXN5c3RlbSgpLT5zY2hlZHVsZUNhbGxi
YWNrKGVycm9yQ2FsbGJhY2sucmVsZWFzZSgpLCBGaWxlRXJyb3I6OmNyZWF0ZShJTlZBTElEX01P
RElGSUNBVElPTl9FUlIpKTsKKyAgICAgICAgZmlsZXN5c3RlbSgpLT5zY2hlZHVsZUNhbGxiYWNr
KGVycm9yQ2FsbGJhY2sucmVsZWFzZSgpLCBGaWxlRXJyb3I6OmNyZWF0ZShGaWxlRXJyb3I6OklO
VkFMSURfTU9ESUZJQ0FUSU9OX0VSUikpOwogfQogCiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Zp
bGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlF
bnRyeVN5bmMuY3BwCmluZGV4IGQ4ZDIyYzIzYTc4NTQ0NWE0MzFlYzFkYTcyNDZhMzE3ZDg3MTEx
ZjcuLjAyMWQ5NzNhYWUzNWViMDA1MDc0NDJjZTM1NTYyZGU3OWUyZDg3ZjQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwCisrKyBiL1dlYkNvcmUvZmls
ZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAi
RGlyZWN0b3J5UmVhZGVyU3luYy5oIgogI2luY2x1ZGUgIkVudHJ5U3luYy5oIgogI2luY2x1ZGUg
IkZpbGVFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJGaWxlRXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAi
U3luY0NhbGxiYWNrSGVscGVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU1LDcgKzU2
LDcgQEAgUGFzc1JlZlB0cjxGaWxlRW50cnlTeW5jPiBEaXJlY3RvcnlFbnRyeVN5bmM6OmdldEZp
bGUoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzUmUKICAgICBlYyA9IDA7CiAgICAgRW50cnlTeW5j
Q2FsbGJhY2tIZWxwZXIgaGVscGVyKG1fZmlsZVN5c3RlbS0+YXN5bmNGaWxlU3lzdGVtKCkpOwog
ICAgIGlmICghbV9maWxlU3lzdGVtLT5nZXRGaWxlKHRoaXMsIHBhdGgsIGZsYWdzLCBoZWxwZXIu
c3VjY2Vzc0NhbGxiYWNrKCksIGhlbHBlci5lcnJvckNhbGxiYWNrKCkpKSB7Ci0gICAgICAgIGVj
ID0gSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSOworICAgICAgICBlYyA9IEZpbGVFeGNlcHRpb246
OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUjsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogICAg
IHJldHVybiBzdGF0aWNfcG9pbnRlcl9jYXN0PEZpbGVFbnRyeVN5bmM+KGhlbHBlci5nZXRSZXN1
bHQoZWMpKTsKQEAgLTY2LDcgKzY3LDcgQEAgUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeVN5bmM+
IERpcmVjdG9yeUVudHJ5U3luYzo6Z2V0RGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgcGEKICAgICBl
YyA9IDA7CiAgICAgRW50cnlTeW5jQ2FsbGJhY2tIZWxwZXIgaGVscGVyKG1fZmlsZVN5c3RlbS0+
YXN5bmNGaWxlU3lzdGVtKCkpOwogICAgIGlmICghbV9maWxlU3lzdGVtLT5nZXREaXJlY3Rvcnko
dGhpcywgcGF0aCwgZmxhZ3MsIGhlbHBlci5zdWNjZXNzQ2FsbGJhY2soKSwgaGVscGVyLmVycm9y
Q2FsbGJhY2soKSkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX01PRElGSUNBVElPTl9FUlI7Cisg
ICAgICAgIGVjID0gRmlsZUV4Y2VwdGlvbjo6SU5WQUxJRF9NT0RJRklDQVRJT05fRVJSOwogICAg
ICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgcmV0dXJuIHN0YXRpY19wb2ludGVyX2Nhc3Q8RGly
ZWN0b3J5RW50cnlTeW5jPihoZWxwZXIuZ2V0UmVzdWx0KGVjKSk7CkBAIC03Nyw3ICs3OCw3IEBA
IHZvaWQgRGlyZWN0b3J5RW50cnlTeW5jOjpyZW1vdmVSZWN1cnNpdmVseShFeGNlcHRpb25Db2Rl
JiBlYykKICAgICBlYyA9IDA7CiAgICAgVm9pZFN5bmNDYWxsYmFja0hlbHBlciBoZWxwZXIobV9m
aWxlU3lzdGVtLT5hc3luY0ZpbGVTeXN0ZW0oKSk7CiAgICAgaWYgKCFtX2ZpbGVTeXN0ZW0tPnJl
bW92ZVJlY3Vyc2l2ZWx5KHRoaXMsIGhlbHBlci5zdWNjZXNzQ2FsbGJhY2soKSwgaGVscGVyLmVy
cm9yQ2FsbGJhY2soKSkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX01PRElGSUNBVElPTl9FUlI7
CisgICAgICAgIGVjID0gRmlsZUV4Y2VwdGlvbjo6SU5WQUxJRF9NT0RJRklDQVRJT05fRVJSOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGhlbHBlci5nZXRSZXN1bHQoZWMpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwIGIvV2ViQ29yZS9m
aWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwCmluZGV4IDZjNjZhMTUzNTQyNjdmNWMwMGNh
ZjdkOGQ4YTc3YTM3ZGMzOTlmNzAuLjllNWU2ODQyM2Q1NGIzZjY5OGIzZWEzN2RhNWI1ZGJmMmNm
ZjNmMjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNw
cAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAKQEAgLTM5LDcg
KzM5LDcgQEAKICNpbmNsdWRlICJFbnRyeVN5bmMuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2Rl
LmgiCiAjaW5jbHVkZSAiRmlsZUVudHJ5U3luYy5oIgotI2luY2x1ZGUgIkZpbGVFcnJvci5oIgor
I2luY2x1ZGUgIkZpbGVFeGNlcHRpb24uaCIKICNpbmNsdWRlICJTeW5jQ2FsbGJhY2tIZWxwZXIu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTcsNyArNTcsNyBAQCBQYXNzUmVmUHRyPEVu
dHJ5QXJyYXlTeW5jPiBEaXJlY3RvcnlSZWFkZXJTeW5jOjpyZWFkRW50cmllcyhFeGNlcHRpb25D
b2RlJiBlYykKIAogICAgIEVudHJpZXNTeW5jQ2FsbGJhY2tIZWxwZXIgaGVscGVyKG1fZmlsZVN5
c3RlbS0+YXN5bmNGaWxlU3lzdGVtKCkpOwogICAgIGlmICghbV9maWxlU3lzdGVtLT5yZWFkRGly
ZWN0b3J5KHRoaXMsIG1fZnVsbFBhdGgsIGhlbHBlci5zdWNjZXNzQ2FsbGJhY2soKSwgaGVscGVy
LmVycm9yQ2FsbGJhY2soKSkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX01PRElGSUNBVElPTl9F
UlI7CisgICAgICAgIGVjID0gRmlsZUV4Y2VwdGlvbjo6SU5WQUxJRF9NT0RJRklDQVRJT05fRVJS
OwogICAgICAgICBzZXRIYXNNb3JlRW50cmllcyhmYWxzZSk7CiAgICAgICAgIHJldHVybiAwOwog
ICAgIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeS5jcHAgYi9XZWJDb3JlL2Zp
bGVhcGkvRW50cnkuY3BwCmluZGV4IDIxODNiMzNiMzhmNmI5MzE3MzFmYWYwYzU0ZjJmOTA4ZDA5
M2Q4OGUuLjgzZTFhMWQ2MzQwOTQ5MDU1YmI3NzRmYzIzNzhlN2Q2MTk0OWMwNTcgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeS5jcHAKKysrIGIvV2ViQ29yZS9maWxlYXBpL0VudHJ5
LmNwcApAQCAtNTEsMzUgKzUxLDM1IEBAIHZvaWQgRW50cnk6OmdldE1ldGFkYXRhKFBhc3NSZWZQ
dHI8TWV0YWRhdGFDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyCiB7CiAgICAg
UmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2soZXJyb3JDYWxsYmFja1JlZik7CiAg
ICAgaWYgKCFtX2ZpbGVTeXN0ZW0tPmdldE1ldGFkYXRhKHRoaXMsIHN1Y2Nlc3NDYWxsYmFjaywg
ZXJyb3JDYWxsYmFjaykpCi0gICAgICAgIGZpbGVzeXN0ZW0oKS0+c2NoZWR1bGVDYWxsYmFjayhl
cnJvckNhbGxiYWNrLnJlbGVhc2UoKSwgRmlsZUVycm9yOjpjcmVhdGUoSU5WQUxJRF9NT0RJRklD
QVRJT05fRVJSKSk7CisgICAgICAgIGZpbGVzeXN0ZW0oKS0+c2NoZWR1bGVDYWxsYmFjayhlcnJv
ckNhbGxiYWNrLnJlbGVhc2UoKSwgRmlsZUVycm9yOjpjcmVhdGUoRmlsZUVycm9yOjpJTlZBTElE
X01PRElGSUNBVElPTl9FUlIpKTsKIH0KIAogdm9pZCBFbnRyeTo6bW92ZVRvKFBhc3NSZWZQdHI8
RGlyZWN0b3J5RW50cnk+IHBhcmVudCwgY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzUmVmUHRyPEVu
dHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBl
cnJvckNhbGxiYWNrUmVmKSBjb25zdAogewogICAgIFJlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJv
ckNhbGxiYWNrKGVycm9yQ2FsbGJhY2tSZWYpOwogICAgIGlmICghbV9maWxlU3lzdGVtLT5tb3Zl
KHRoaXMsIHBhcmVudC5nZXQoKSwgbmFtZSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNr
KSkKLSAgICAgICAgZmlsZXN5c3RlbSgpLT5zY2hlZHVsZUNhbGxiYWNrKGVycm9yQ2FsbGJhY2su
cmVsZWFzZSgpLCBGaWxlRXJyb3I6OmNyZWF0ZShJTlZBTElEX01PRElGSUNBVElPTl9FUlIpKTsK
KyAgICAgICAgZmlsZXN5c3RlbSgpLT5zY2hlZHVsZUNhbGxiYWNrKGVycm9yQ2FsbGJhY2sucmVs
ZWFzZSgpLCBGaWxlRXJyb3I6OmNyZWF0ZShGaWxlRXJyb3I6OklOVkFMSURfTU9ESUZJQ0FUSU9O
X0VSUikpOwogfQogCiB2b2lkIEVudHJ5Ojpjb3B5VG8oUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRy
eT4gcGFyZW50LCBjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8RW50cnlDYWxsYmFjaz4g
c3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2tS
ZWYpIGNvbnN0CiB7CiAgICAgUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2soZXJy
b3JDYWxsYmFja1JlZik7CiAgICAgaWYgKCFtX2ZpbGVTeXN0ZW0tPmNvcHkodGhpcywgcGFyZW50
LmdldCgpLCBuYW1lLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spKQotICAgICAgICBm
aWxlc3lzdGVtKCktPnNjaGVkdWxlQ2FsbGJhY2soZXJyb3JDYWxsYmFjay5yZWxlYXNlKCksIEZp
bGVFcnJvcjo6Y3JlYXRlKElOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUikpOworICAgICAgICBmaWxl
c3lzdGVtKCktPnNjaGVkdWxlQ2FsbGJhY2soZXJyb3JDYWxsYmFjay5yZWxlYXNlKCksIEZpbGVF
cnJvcjo6Y3JlYXRlKEZpbGVFcnJvcjo6SU5WQUxJRF9NT0RJRklDQVRJT05fRVJSKSk7CiB9CiAK
IHZvaWQgRW50cnk6OnJlbW92ZShQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gc3VjY2Vzc0NhbGxi
YWNrLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2tSZWYpIGNvbnN0CiB7
CiAgICAgUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2soZXJyb3JDYWxsYmFja1Jl
Zik7CiAgICAgaWYgKCFtX2ZpbGVTeXN0ZW0tPnJlbW92ZSh0aGlzLCBzdWNjZXNzQ2FsbGJhY2ss
IGVycm9yQ2FsbGJhY2spKQotICAgICAgICBmaWxlc3lzdGVtKCktPnNjaGVkdWxlQ2FsbGJhY2so
ZXJyb3JDYWxsYmFjay5yZWxlYXNlKCksIEZpbGVFcnJvcjo6Y3JlYXRlKElOVkFMSURfTU9ESUZJ
Q0FUSU9OX0VSUikpOworICAgICAgICBmaWxlc3lzdGVtKCktPnNjaGVkdWxlQ2FsbGJhY2soZXJy
b3JDYWxsYmFjay5yZWxlYXNlKCksIEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVFcnJvcjo6SU5WQUxJ
RF9NT0RJRklDQVRJT05fRVJSKSk7CiB9CiAKIHZvaWQgRW50cnk6OmdldFBhcmVudChQYXNzUmVm
UHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxFcnJvckNhbGxi
YWNrPiBlcnJvckNhbGxiYWNrUmVmKSBjb25zdAogewogICAgIFJlZlB0cjxFcnJvckNhbGxiYWNr
PiBlcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2tSZWYpOwogICAgIGlmICghbV9maWxlU3lzdGVt
LT5nZXRQYXJlbnQodGhpcywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKSkKLSAgICAg
ICAgZmlsZXN5c3RlbSgpLT5zY2hlZHVsZUNhbGxiYWNrKGVycm9yQ2FsbGJhY2sucmVsZWFzZSgp
LCBGaWxlRXJyb3I6OmNyZWF0ZShJTlZBTElEX01PRElGSUNBVElPTl9FUlIpKTsKKyAgICAgICAg
ZmlsZXN5c3RlbSgpLT5zY2hlZHVsZUNhbGxiYWNrKGVycm9yQ2FsbGJhY2sucmVsZWFzZSgpLCBG
aWxlRXJyb3I6OmNyZWF0ZShGaWxlRXJyb3I6OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUikpOwog
fQogCiBTdHJpbmcgRW50cnk6OnRvVVJJKGNvbnN0IFN0cmluZyYpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2ZpbGVhcGkvRW50cnlTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuY3Bw
CmluZGV4IGFkMDA3ZGIwOTRlMWMzOTZjMjRmN2NmYjY0NTY1NDI0MmYxYjQwMjAuLmEwNmJkMjI2
M2U5ODY1ZWYxZjZkNzBkMjUzYjI3YzhmZGIxMDY4NWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmls
ZWFwaS9FbnRyeVN5bmMuY3BwCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuY3BwCkBA
IC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiRGlyZWN0b3J5RW50cnkuaCIKICNpbmNsdWRlICJE
aXJlY3RvcnlFbnRyeVN5bmMuaCIKICNpbmNsdWRlICJGaWxlRW50cnlTeW5jLmgiCisjaW5jbHVk
ZSAiRmlsZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIk1ldGFkYXRhLmgiCiAjaW5jbHVkZSAiU3lu
Y0NhbGxiYWNrSGVscGVyLmgiCiAKQEAgLTU1LDcgKzU2LDcgQEAgUGFzc1JlZlB0cjxNZXRhZGF0
YT4gRW50cnlTeW5jOjpnZXRNZXRhZGF0YShFeGNlcHRpb25Db2RlJiBlYykKICAgICBlYyA9IDA7
CiAgICAgTWV0YWRhdGFTeW5jQ2FsbGJhY2tIZWxwZXIgaGVscGVyKG1fZmlsZVN5c3RlbS0+YXN5
bmNGaWxlU3lzdGVtKCkpOwogICAgIGlmICghbV9maWxlU3lzdGVtLT5nZXRNZXRhZGF0YSh0aGlz
LCBoZWxwZXIuc3VjY2Vzc0NhbGxiYWNrKCksIGhlbHBlci5lcnJvckNhbGxiYWNrKCkpKSB7Ci0g
ICAgICAgIGVjID0gSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSOworICAgICAgICBlYyA9IEZpbGVF
eGNlcHRpb246OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUjsKICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgfQogICAgIHJldHVybiBoZWxwZXIuZ2V0UmVzdWx0KGVjKTsKQEAgLTY2LDcgKzY3LDcgQEAg
UGFzc1JlZlB0cjxFbnRyeVN5bmM+IEVudHJ5U3luYzo6bW92ZVRvKFBhc3NSZWZQdHI8RGlyZWN0
b3J5RW50cnlTeW5jPiBwYXJlbnQsIGMKICAgICBlYyA9IDA7CiAgICAgRW50cnlTeW5jQ2FsbGJh
Y2tIZWxwZXIgaGVscGVyKG1fZmlsZVN5c3RlbS0+YXN5bmNGaWxlU3lzdGVtKCkpOwogICAgIGlm
ICghbV9maWxlU3lzdGVtLT5tb3ZlKHRoaXMsIHBhcmVudC5nZXQoKSwgbmFtZSwgaGVscGVyLnN1
Y2Nlc3NDYWxsYmFjaygpLCBoZWxwZXIuZXJyb3JDYWxsYmFjaygpKSkgewotICAgICAgICBlYyA9
IElOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUjsKKyAgICAgICAgZWMgPSBGaWxlRXhjZXB0aW9uOjpJ
TlZBTElEX01PRElGSUNBVElPTl9FUlI7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KICAgICBy
ZXR1cm4gaGVscGVyLmdldFJlc3VsdChlYyk7CkBAIC03Nyw3ICs3OCw3IEBAIFBhc3NSZWZQdHI8
RW50cnlTeW5jPiBFbnRyeVN5bmM6OmNvcHlUbyhQYXNzUmVmUHRyPERpcmVjdG9yeUVudHJ5U3lu
Yz4gcGFyZW50LCBjCiAgICAgZWMgPSAwOwogICAgIEVudHJ5U3luY0NhbGxiYWNrSGVscGVyIGhl
bHBlcihtX2ZpbGVTeXN0ZW0tPmFzeW5jRmlsZVN5c3RlbSgpKTsKICAgICBpZiAoIW1fZmlsZVN5
c3RlbS0+Y29weSh0aGlzLCBwYXJlbnQuZ2V0KCksIG5hbWUsIGhlbHBlci5zdWNjZXNzQ2FsbGJh
Y2soKSwgaGVscGVyLmVycm9yQ2FsbGJhY2soKSkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX01P
RElGSUNBVElPTl9FUlI7CisgICAgICAgIGVjID0gRmlsZUV4Y2VwdGlvbjo6SU5WQUxJRF9NT0RJ
RklDQVRJT05fRVJSOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgcmV0dXJuIGhlbHBl
ci5nZXRSZXN1bHQoZWMpOwpAQCAtODgsNyArODksNyBAQCB2b2lkIEVudHJ5U3luYzo6cmVtb3Zl
KEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogICAgIGVjID0gMDsKICAgICBWb2lkU3luY0NhbGxi
YWNrSGVscGVyIGhlbHBlcihtX2ZpbGVTeXN0ZW0tPmFzeW5jRmlsZVN5c3RlbSgpKTsKICAgICBp
ZiAoIW1fZmlsZVN5c3RlbS0+cmVtb3ZlKHRoaXMsIGhlbHBlci5zdWNjZXNzQ2FsbGJhY2soKSwg
aGVscGVyLmVycm9yQ2FsbGJhY2soKSkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX01PRElGSUNB
VElPTl9FUlI7CisgICAgICAgIGVjID0gRmlsZUV4Y2VwdGlvbjo6SU5WQUxJRF9NT0RJRklDQVRJ
T05fRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGhlbHBlci5nZXRSZXN1bHQoZWMp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVFcnJvci5oIGIvV2ViQ29yZS9maWxl
YXBpL0ZpbGVFcnJvci5oCmluZGV4IDM1MjgxMDkxOGU1MDViNzlmZTkxNjZmMTI0M2Y2ZDFiZDAy
ZmNkZjQuLjBiYWE3NWY3ZTQ4N2ZmNGQyNDY0OGEzOTNjNzYyODk5NWQwZTdhMWQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXJyb3IuaAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmls
ZUVycm9yLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2lmIEVOQUJMRShCTE9CKSB8fCBFTkFCTEUo
RklMRV9TWVNURU0pCiAKLSNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCkBAIC00MSwxNiAr
NDAsMzEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGaWxlRXJyb3IgOiBwdWJsaWMg
UmVmQ291bnRlZDxGaWxlRXJyb3I+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxG
aWxlRXJyb3I+IGNyZWF0ZShFeGNlcHRpb25Db2RlIGNvZGUpIHsgcmV0dXJuIGFkb3B0UmVmKG5l
dyBGaWxlRXJyb3IoY29kZSkpOyB9CisgICAgZW51bSBGaWxlRXJyb3JDb2RlIHsKKyAgICAgICAg
Tk9UX0ZPVU5EX0VSUiA9IDEsCisgICAgICAgIFNFQ1VSSVRZX0VSUiA9IDIsCisgICAgICAgIEFC
T1JUX0VSUiA9IDMsCisgICAgICAgIE5PVF9SRUFEQUJMRV9FUlIgPSA0LAorICAgICAgICBFTkNP
RElOR19FUlIgPSA1LAorICAgICAgICBOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIgPSA2LAor
ICAgICAgICBJTlZBTElEX1NUQVRFX0VSUiA9IDcsCisgICAgICAgIFNZTlRBWF9FUlIgPSA4LAor
ICAgICAgICBJTlZBTElEX01PRElGSUNBVElPTl9FUlIgPSA5LAorICAgICAgICBRVU9UQV9FWENF
RURFRF9FUlIgPSAxMCwKKyAgICAgICAgVFlQRV9NSVNNQVRDSF9FUlIgPSAxMSwKKyAgICAgICAg
UEFUSF9FWElTVFNfRVJSID0gMTIsCisgICAgfTsKIAotICAgIEV4Y2VwdGlvbkNvZGUgY29kZSgp
IGNvbnN0IHsgcmV0dXJuIG1fY29kZTsgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZpbGVFcnJv
cj4gY3JlYXRlKEZpbGVFcnJvckNvZGUgY29kZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IEZpbGVF
cnJvcihjb2RlKSk7IH0KKworICAgIEZpbGVFcnJvckNvZGUgY29kZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY29kZTsgfQogCiBwcml2YXRlOgotICAgIEZpbGVFcnJvcihFeGNlcHRpb25Db2RlIGNvZGUp
CisgICAgRmlsZUVycm9yKEZpbGVFcnJvckNvZGUgY29kZSkKICAgICAgICAgOiBtX2NvZGUoY29k
ZSkKICAgICB7IH0KIAotICAgIEV4Y2VwdGlvbkNvZGUgbV9jb2RlOworICAgIEZpbGVFcnJvckNv
ZGUgbV9jb2RlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9maWxlYXBpL0ZpbGVFcnJvci5pZGwgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVycm9yLmlk
bAppbmRleCBjNWRlZGJlZDYxZjE1NTM2ODYyMTNhMzAxZWE1ZDkwN2MyNzJjODdlLi5iYWI4MTVh
ZDY5NTQ5ZDJkNWQxODQzNTExMDVlYTE5NjNkNDBlMjY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Zp
bGVhcGkvRmlsZUVycm9yLmlkbAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVycm9yLmlkbApA
QCAtMzEsMjEgKzMxLDIzIEBACiBtb2R1bGUgaHRtbCB7CiAgICAgaW50ZXJmYWNlIFsKICAgICAg
ICAgQ29uZGl0aW9uYWw9QkxPQnxGSUxFX1NZU1RFTSwKLSAgICAgICAgRG9udENoZWNrRW51bXMs
CiAgICAgICAgIE5vU3RhdGljVGFibGVzCiAgICAgXSBGaWxlRXJyb3IgewogI2lmICFkZWZpbmVk
KExBTkdVQUdFX09CSkVDVElWRV9DKQotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBOT19N
T0RJRklDQVRJT05fQUxMT1dFRF9FUlIgPSA3OwotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBOT1RfRk9VTkRfRVJSID0gODsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgSU5WQUxJ
RF9TVEFURV9FUlIgPSAxMTsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1lOVEFYX0VS
UiA9IDEyOwotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBJTlZBTElEX01PRElGSUNBVElP
Tl9FUlIgPSAxMzsKKyAgICAgICAgLy8gRklYTUU6IFNvbWUgb2YgY29uc3RhbnQgbmFtZXMgYXJl
IGFscmVhZHkgZGVmaW5lZCBpbiBET01FeGNlcHRpb24uaCBmb3IgT2JqZWN0aXZlLUMgYmluZGlu
ZyBhbmQgd2UgY2Fubm90IGhhdmUgdGhlIHNhbWUgbmFtZXMgaGVyZSAodGhleSBhcmUgdHJhbnNs
YXRlZCBpbnRvIGEgZW51bSBpbiB0aGUgc2FtZSBuYW1lc3BhY2UpLgorICAgICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBOT1RfRk9VTkRfRVJSID0gMTsKKyAgICAgICAgY29uc3QgdW5zaWduZWQg
c2hvcnQgU0VDVVJJVFlfRVJSID0gMjsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQUJP
UlRfRVJSID0gMzsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTk9UX1JFQURBQkxFX0VS
UiA9IDQ7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEVOQ09ESU5HX0VSUiA9IDU7Cisg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUiA9
IDY7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IElOVkFMSURfU1RBVEVfRVJSID0gNzsK
KyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1lOVEFYX0VSUiA9IDg7CisgICAgICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IElOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUiA9IDk7CisgICAgICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IFFVT1RBX0VYQ0VFREVEX0VSUiA9IDEwOworICAgICAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBUWVBFX01JU01BVENIX0VSUiA9IDExOworICAgICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBQQVRIX0VYSVNUU19FUlIgPSAxMjsKICNlbmRpZgotICAgICAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBTRUNVUklUWV9FUlIgPSAxODsKLSAgICAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgQUJPUlRfRVJSID0gMjA7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IFFVT1RBX0VYQ0VFREVEX0VSUiA9IDIyOwotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBO
T1RfUkVBREFCTEVfRVJSID0gMjQ7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEVOQ09E
SU5HX0VSUiA9IDI2OwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQg
Y29kZTsKICAgICB9OwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVFeGNlcHRp
b24uaCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmgKaW5kZXggZTkwYWI5MDIyODZl
ZDA2ZDQ1NTk1ZmJlYWMzZWE2MGM0ZTg1OGZhZC4uNjQwMmMxZTUzN2VjYWI3NjhmYzM0NThkYjY5
Mzk3ZWM4ZWFiMzQ5YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVFeGNlcHRpb24u
aAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5oCkBAIC00NCwxMyArNDQsMzEg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZpbGVFeGNlcHRpb24oZGVz
Y3JpcHRpb24pKTsKICAgICB9CiAKLSAgICBzdGF0aWMgY29uc3QgaW50IEZpbGVFeGNlcHRpb25P
ZmZzZXQgPSAxMDA7Ci0gICAgc3RhdGljIGNvbnN0IGludCBGaWxlRXhjZXB0aW9uTWF4ID0gMTk5
OworICAgIHN0YXRpYyBjb25zdCBpbnQgRmlsZUV4Y2VwdGlvbk9mZnNldCA9IDExMDA7CisgICAg
c3RhdGljIGNvbnN0IGludCBGaWxlRXhjZXB0aW9uTWF4ID0gMTE5OTsKIAotICAgIGVudW0gRXZl
bnRFeGNlcHRpb25Db2RlIHsKLSAgICAgICAgVU5TUEVDSUZJRURfRVZFTlRfVFlQRV9FUlIgPSBG
aWxlRXhjZXB0aW9uT2Zmc2V0CisgICAgZW51bSBGaWxlRXhjZXB0aW9uQ29kZSB7CisgICAgICAg
IE5PVF9GT1VORF9FUlIgPSBGaWxlRXhjZXB0aW9uT2Zmc2V0ICsgMSwKKyAgICAgICAgU0VDVVJJ
VFlfRVJSID0gRmlsZUV4Y2VwdGlvbk9mZnNldCArIDIsCisgICAgICAgIEFCT1JUX0VSUiA9IEZp
bGVFeGNlcHRpb25PZmZzZXQgKyAzLAorICAgICAgICBOT1RfUkVBREFCTEVfRVJSID0gRmlsZUV4
Y2VwdGlvbk9mZnNldCArIDQsCisgICAgICAgIEVOQ09ESU5HX0VSUiA9IEZpbGVFeGNlcHRpb25P
ZmZzZXQgKyA1LAorICAgICAgICBOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIgPSBGaWxlRXhj
ZXB0aW9uT2Zmc2V0ICsgNiwKKyAgICAgICAgSU5WQUxJRF9TVEFURV9FUlIgPSBGaWxlRXhjZXB0
aW9uT2Zmc2V0ICsgNywKKyAgICAgICAgU1lOVEFYX0VSUiA9IEZpbGVFeGNlcHRpb25PZmZzZXQg
KyA4LAorICAgICAgICBJTlZBTElEX01PRElGSUNBVElPTl9FUlIgPSBGaWxlRXhjZXB0aW9uT2Zm
c2V0ICsgOSwKKyAgICAgICAgUVVPVEFfRVhDRUVERURfRVJSID0gRmlsZUV4Y2VwdGlvbk9mZnNl
dCArIDEwLAorICAgICAgICBUWVBFX01JU01BVENIX0VSUiA9IEZpbGVFeGNlcHRpb25PZmZzZXQg
KyAxMSwKKyAgICAgICAgUEFUSF9FWElTVFNfRVJSID0gRmlsZUV4Y2VwdGlvbk9mZnNldCArIDEy
LAogICAgIH07CiAKKyAgICBzdGF0aWMgaW50IEZpbGVFcnJvckNvZGVUb0V4Y2VwdGlvbkNvZGUo
aW50IGZpbGVFcnJvckNvZGUpCisgICAgeworICAgICAgICBpZiAoIWZpbGVFcnJvckNvZGUpCisg
ICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIGZpbGVFcnJvckNvZGUgKyBGaWxl
RXhjZXB0aW9uT2Zmc2V0OworICAgIH0KKwogcHJpdmF0ZToKICAgICBGaWxlRXhjZXB0aW9uKGNv
bnN0IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24pCiAgICAgICAgIDogRXhj
ZXB0aW9uQmFzZShkZXNjcmlwdGlvbikKQEAgLTYzLDQgKzgxLDMgQEAgcHJpdmF0ZToKICNlbmRp
ZiAvLyBFTkFCTEUoQkxPQikgfHwgRU5BQkxFKEZJTEVfU1lTVEVNKQogCiAjZW5kaWYgLy8gRmls
ZUV4Y2VwdGlvbl9oCi0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0aW9u
LmlkbCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmlkbAppbmRleCAwYjJhYjljYzM3
ZmVhODY5NTZiNTMyYmYwOTMyMzllZjkxMDBjYTQwLi4xMGJkMTUxNzc3ZDBkMjU0ZWJjNWZkODc3
YWYxNjYyZTkxMGRjYmM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUV4Y2VwdGlv
bi5pZGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFeGNlcHRpb24uaWRsCkBAIC00NSwxNSAr
NDUsMTcgQEAgbW9kdWxlIGh0bWwgewogI2VuZGlmCiAKICAgICAgICAgLy8gRmlsZUV4Y2VwdGlv
bkNvZGUKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTk9fTU9ESUZJQ0FUSU9OX0FMTE9X
RURfRVJSID0gNzsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTk9UX0ZPVU5EX0VSUiA9
IDg7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IElOVkFMSURfU1RBVEVfRVJSID0gMTE7
Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNZTlRBWF9FUlIgPSAxMjsKLSAgICAgICAg
Y29uc3QgdW5zaWduZWQgc2hvcnQgSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSID0gMTM7Ci0gICAg
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNFQ1VSSVRZX0VSUiA9IDE4OwotICAgICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBBQk9SVF9FUlIgPSAyMDsKLSAgICAgICAgY29uc3QgdW5zaWduZWQg
c2hvcnQgUVVPVEFfRVhDRUVERURfRVJSID0gMjI7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IE5PVF9SRUFEQUJMRV9FUlIgPSAyNDsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
RU5DT0RJTkdfRVJSID0gMjY7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5PVF9GT1VO
RF9FUlIgPSAxOworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTRUNVUklUWV9FUlIgPSAy
OworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBBQk9SVF9FUlIgPSAzOworICAgICAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBOT1RfUkVBREFCTEVfRVJSID0gNDsKKyAgICAgICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgRU5DT0RJTkdfRVJSID0gNTsKKyAgICAgICAgY29uc3QgdW5zaWduZWQg
c2hvcnQgTk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJSID0gNjsKKyAgICAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgSU5WQUxJRF9TVEFURV9FUlIgPSA3OworICAgICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBTWU5UQVhfRVJSID0gODsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgSU5W
QUxJRF9NT0RJRklDQVRJT05fRVJSID0gOTsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
UVVPVEFfRVhDRUVERURfRVJSID0gMTA7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFRZ
UEVfTUlTTUFUQ0hfRVJSID0gMTE7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFBBVEhf
RVhJU1RTX0VSUiA9IDEyOwogICAgIH07CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZVJlYWRlci5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5jcHAKaW5kZXggMGI3
YjQ2ZDYxOTllMDg1ZDQ4YjVkZWU2NmU3MTVhZTc2YTBhZTI3My4uNGU0YzQyMDA4NWFhZGNjOGJj
ZTNiYjg4YzQ1ODg2Yzg2ZTE4MTYyMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVS
ZWFkZXIuY3BwCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyLmNwcApAQCAtMTQ1LDcg
KzE0NSw3IEBAIHZvaWQgRmlsZVJlYWRlcjo6YWJvcnQoKQogICAgIHRlcm1pbmF0ZSgpOwogCiAg
ICAgbV9idWlsZGVyLmNsZWFyKCk7Ci0gICAgbV9lcnJvciA9IEZpbGVFcnJvcjo6Y3JlYXRlKEFC
T1JUX0VSUik7CisgICAgbV9lcnJvciA9IEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVFcnJvcjo6QUJP
UlRfRVJSKTsKIAogICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkuZXJyb3JFdmVudCk7CiAgICAg
ZmlyZUV2ZW50KGV2ZW50TmFtZXMoKS5hYm9ydEV2ZW50KTsKQEAgLTI1NSwyMiArMjU1LDIyIEBA
IHZvaWQgRmlsZVJlYWRlcjo6ZmFpbGVkKGludCBodHRwU3RhdHVzQ29kZSkKIHsKICAgICBtX3N0
YXRlID0gQ29tcGxldGVkOwogCi0gICAgIG1fZXJyb3IgPSBGaWxlRXJyb3I6OmNyZWF0ZShodHRw
U3RhdHVzQ29kZVRvRXhjZXB0aW9uQ29kZShodHRwU3RhdHVzQ29kZSkpOworICAgICBtX2Vycm9y
ID0gRmlsZUVycm9yOjpjcmVhdGUoaHR0cFN0YXR1c0NvZGVUb0ZpbGVFcnJvckNvZGUoaHR0cFN0
YXR1c0NvZGUpKTsKICAgICBmaXJlRXZlbnQoZXZlbnROYW1lcygpLmVycm9yRXZlbnQpOwogICAg
IGZpcmVFdmVudChldmVudE5hbWVzKCkubG9hZGVuZEV2ZW50KTsKIAogICAgIGNsZWFudXAoKTsK
IH0KIAotRXhjZXB0aW9uQ29kZSBGaWxlUmVhZGVyOjpodHRwU3RhdHVzQ29kZVRvRXhjZXB0aW9u
Q29kZShpbnQgaHR0cFN0YXR1c0NvZGUpCitGaWxlRXJyb3I6OkZpbGVFcnJvckNvZGUgRmlsZVJl
YWRlcjo6aHR0cFN0YXR1c0NvZGVUb0ZpbGVFcnJvckNvZGUoaW50IGh0dHBTdGF0dXNDb2RlKQog
ewogICAgIHN3aXRjaCAoaHR0cFN0YXR1c0NvZGUpIHsKICAgICAgICAgY2FzZSA0MDM6Ci0gICAg
ICAgICAgICByZXR1cm4gU0VDVVJJVFlfRVJSOworICAgICAgICAgICAgcmV0dXJuIEZpbGVFcnJv
cjo6U0VDVVJJVFlfRVJSOwogICAgICAgICBjYXNlIDQwNDoKLSAgICAgICAgICAgIHJldHVybiBO
T1RfRk9VTkRfRVJSOworICAgICAgICAgICAgcmV0dXJuIEZpbGVFcnJvcjo6Tk9UX0ZPVU5EX0VS
UjsKICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVybiBOT1RfUkVBREFCTEVfRVJS
OworICAgICAgICAgICAgcmV0dXJuIEZpbGVFcnJvcjo6Tk9UX1JFQURBQkxFX0VSUjsKICAgICB9
CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyLmggYi9XZWJDb3Jl
L2ZpbGVhcGkvRmlsZVJlYWRlci5oCmluZGV4IGY5MTRkYWRhMjMyNmY0Mjk4OTMyMThmZjQ0OWI0
YjE3YWU5MzcwZWIuLmU1Nzg3NWNjMTQ1MjAxZmYzY2QzMjM0ZWM5ZmY5ODg1MjZjNzNiYzkgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyLmgKKysrIGIvV2ViQ29yZS9maWxl
YXBpL0ZpbGVSZWFkZXIuaApAQCAtODAsNyArODAsNyBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIHJl
c3VsdCgpOwogCiAgICAgLy8gSGVscGVyIG1ldGhvZHMsIGFsc28gdXNlZCBieSBGaWxlUmVhZGVy
U3luYy4KLSAgICBzdGF0aWMgRXhjZXB0aW9uQ29kZSBodHRwU3RhdHVzQ29kZVRvRXhjZXB0aW9u
Q29kZShpbnQgaHR0cFN0YXR1c0NvZGUpOworICAgIHN0YXRpYyBGaWxlRXJyb3I6OkZpbGVFcnJv
ckNvZGUgaHR0cFN0YXR1c0NvZGVUb0ZpbGVFcnJvckNvZGUoaW50IGh0dHBTdGF0dXNDb2RlKTsK
ICAgICBzdGF0aWMgdm9pZCBjb252ZXJ0VG9EYXRhVVJMKGNvbnN0IFZlY3RvcjxjaGFyPiYgcmF3
RGF0YSwgY29uc3QgU3RyaW5nJiBmaWxlVHlwZSwgU3RyaW5nQnVpbGRlciYpOwogCiAgICAgLy8g
QWN0aXZlRE9NT2JqZWN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlclN5
bmMuY3BwIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXJTeW5jLmNwcAppbmRleCA2NDI1YmNm
NDVkOTBhZTJmM2QxNGMxYjJhNjM2MGYzYjk1ZTZhZDUwLi4zOWU5NjllZjdmZWZiM2FhNGQ5ZWIz
N2NjNGU3ZmNkYTU0NWZlOTZkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRl
clN5bmMuY3BwCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyU3luYy5jcHAKQEAgLTM3
LDYgKzM3LDcgQEAKICNpbmNsdWRlICJCYXNlNjQuaCIKICNpbmNsdWRlICJCbG9iLmgiCiAjaW5j
bHVkZSAiQmxvYlVSTC5oIgorI2luY2x1ZGUgIkZpbGVFeGNlcHRpb24uaCIKICNpbmNsdWRlICJG
aWxlUmVhZGVyLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VSZXNwb25zZS5oIgpAQCAtOTEsNyArOTIsNyBAQCB2b2lkIEZpbGVSZWFkZXJTeW5jTG9h
ZGVyOjpzdGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0
LAogCiAgICAgVGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShzY3Jp
cHRFeGVjdXRpb25Db250ZXh0LCByZXF1ZXN0LCAqdGhpcywgb3B0aW9ucyk7CiAKLSAgICBlYyA9
IChtX2h0dHBTdGF0dXNDb2RlID09IDIwMCkgPyAwIDogRmlsZVJlYWRlcjo6aHR0cFN0YXR1c0Nv
ZGVUb0V4Y2VwdGlvbkNvZGUobV9odHRwU3RhdHVzQ29kZSk7CisgICAgZWMgPSAobV9odHRwU3Rh
dHVzQ29kZSA9PSAyMDApID8gMCA6IEZpbGVFeGNlcHRpb246OkZpbGVFcnJvckNvZGVUb0V4Y2Vw
dGlvbkNvZGUoRmlsZVJlYWRlcjo6aHR0cFN0YXR1c0NvZGVUb0ZpbGVFcnJvckNvZGUobV9odHRw
U3RhdHVzQ29kZSkpOwogfQogCiB2b2lkIEZpbGVSZWFkZXJTeW5jTG9hZGVyOjpkaWRSZWNlaXZl
UmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2ZpbGVhcGkvRmlsZVN5c3RlbUNhbGxiYWNrcy5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkv
RmlsZVN5c3RlbUNhbGxiYWNrcy5jcHAKaW5kZXggZTVmNDA0ZWJhZWQxNTE2NTcyNDYyZTY2Nzc4
NzhmMmMzZDE0OTg4OS4uYTIwNzJiNTdlMjgzMTM0ZWRjMjk3YjRlMzAzZDQzMjE0NTQzOTgyMiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVTeXN0ZW1DYWxsYmFja3MuY3BwCisrKyBi
L1dlYkNvcmUvZmlsZWFwaS9GaWxlU3lzdGVtQ2FsbGJhY2tzLmNwcApAQCAtNDMsNyArNDMsNiBA
QAogI2luY2x1ZGUgIkVudHJ5QXJyYXkuaCIKICNpbmNsdWRlICJFbnRyeUNhbGxiYWNrLmgiCiAj
aW5jbHVkZSAiRXJyb3JDYWxsYmFjay5oIgotI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNp
bmNsdWRlICJGaWxlRW50cnkuaCIKICNpbmNsdWRlICJGaWxlRXJyb3IuaCIKICNpbmNsdWRlICJG
aWxlU3lzdGVtQ2FsbGJhY2suaCIKQEAgLTEwNCw3ICsxMDMsNyBAQCB2b2lkIEZpbGVTeXN0ZW1D
YWxsYmFja3NCYXNlOjpkaWRDcmVhdGVGaWxlV3JpdGVyKFBhc3NPd25QdHI8QXN5bmNGaWxlV3Jp
dGVyPiwgbAogdm9pZCBGaWxlU3lzdGVtQ2FsbGJhY2tzQmFzZTo6ZGlkRmFpbChpbnQgY29kZSkK
IHsKICAgICBpZiAobV9lcnJvckNhbGxiYWNrKSB7Ci0gICAgICAgIG1fZXJyb3JDYWxsYmFjay0+
aGFuZGxlRXZlbnQoRmlsZUVycm9yOjpjcmVhdGUoY29kZSkuZ2V0KCkpOworICAgICAgICBtX2Vy
cm9yQ2FsbGJhY2stPmhhbmRsZUV2ZW50KEZpbGVFcnJvcjo6Y3JlYXRlKHN0YXRpY19jYXN0PEZp
bGVFcnJvcjo6RmlsZUVycm9yQ29kZT4oY29kZSkpLmdldCgpKTsKICAgICAgICAgbV9lcnJvckNh
bGxiYWNrLmNsZWFyKCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0Zp
bGVXcml0ZXIuY3BwIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVXcml0ZXIuY3BwCmluZGV4IGJjNzY5
ODRjYmZlMjUxOWU1ZjVmZWY2OWU5ZmNlODAwYTM2NjAzNTIuLjhmZjExYjI1NGQ2MDM5OTQxMzFm
ZGQwYzczNGI4NmM5YmI1MWQ5Y2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlV3Jp
dGVyLmNwcAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVdyaXRlci5jcHAKQEAgLTM4LDYgKzM4
LDcgQEAKICNpbmNsdWRlICJCbG9iLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2lu
Y2x1ZGUgIkZpbGVFcnJvci5oIgorI2luY2x1ZGUgIkZpbGVFeGNlcHRpb24uaCIKICNpbmNsdWRl
ICJQcm9ncmVzc0V2ZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTkwLDEzICs5MSwx
MSBAQCB2b2lkIEZpbGVXcml0ZXI6OndyaXRlKEJsb2IqIGRhdGEsIEV4Y2VwdGlvbkNvZGUmIGVj
KQogewogICAgIEFTU0VSVChtX3dyaXRlcik7CiAgICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBXUklU
SU5HKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7Ci0gICAgICAgIG1fZXJyb3Ig
PSBGaWxlRXJyb3I6OmNyZWF0ZShlYyk7CisgICAgICAgIHNldEVycm9yKEZpbGVFcnJvcjo6SU5W
QUxJRF9TVEFURV9FUlIsIGVjKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBpZiAoIWRh
dGEpIHsKLSAgICAgICAgZWMgPSBUWVBFX01JU01BVENIX0VSUjsKLSAgICAgICAgbV9lcnJvciA9
IEZpbGVFcnJvcjo6Y3JlYXRlKGVjKTsKKyAgICAgICAgc2V0RXJyb3IoRmlsZUVycm9yOjpUWVBF
X01JU01BVENIX0VSUiwgZWMpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xMTIsOCAr
MTExLDcgQEAgdm9pZCBGaWxlV3JpdGVyOjpzZWVrKGxvbmcgbG9uZyBwb3NpdGlvbiwgRXhjZXB0
aW9uQ29kZSYgZWMpCiB7CiAgICAgQVNTRVJUKG1fd3JpdGVyKTsKICAgICBpZiAobV9yZWFkeVN0
YXRlID09IFdSSVRJTkcpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAg
ICAgbV9lcnJvciA9IEZpbGVFcnJvcjo6Y3JlYXRlKGVjKTsKKyAgICAgICAgc2V0RXJyb3IoRmls
ZUVycm9yOjpJTlZBTElEX1NUQVRFX0VSUiwgZWMpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CkBAIC0xMzIsOCArMTMwLDcgQEAgdm9pZCBGaWxlV3JpdGVyOjp0cnVuY2F0ZShsb25nIGxvbmcg
cG9zaXRpb24sIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIEFTU0VSVChtX3dyaXRlcik7CiAg
ICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBXUklUSU5HIHx8IHBvc2l0aW9uIDwgMCkgewotICAgICAg
ICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICBtX2Vycm9yID0gRmlsZUVycm9yOjpj
cmVhdGUoZWMpOworICAgICAgICBzZXRFcnJvcihGaWxlRXJyb3I6OklOVkFMSURfU1RBVEVfRVJS
LCBlYyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgbV9yZWFkeVN0YXRlID0gV1JJVElO
RzsKQEAgLTE0NywxMiArMTQ0LDExIEBAIHZvaWQgRmlsZVdyaXRlcjo6YWJvcnQoRXhjZXB0aW9u
Q29kZSYgZWMpCiB7CiAgICAgQVNTRVJUKG1fd3JpdGVyKTsKICAgICBpZiAobV9yZWFkeVN0YXRl
ICE9IFdSSVRJTkcpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAg
bV9lcnJvciA9IEZpbGVFcnJvcjo6Y3JlYXRlKGVjKTsKKyAgICAgICAgc2V0RXJyb3IoRmlsZUVy
cm9yOjpJTlZBTElEX1NUQVRFX0VSUiwgZWMpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAg
IAotICAgIG1fZXJyb3IgPSBGaWxlRXJyb3I6OmNyZWF0ZShBQk9SVF9FUlIpOworCisgICAgbV9l
cnJvciA9IEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVFcnJvcjo6QUJPUlRfRVJSKTsKICAgICBtX3dy
aXRlci0+YWJvcnQoKTsKIH0KIApAQCAtMTkxLDExICsxODcsMTEgQEAgdm9pZCBGaWxlV3JpdGVy
OjpkaWRUcnVuY2F0ZSgpCiAgICAgZmlyZUV2ZW50KGV2ZW50TmFtZXMoKS53cml0ZWVuZEV2ZW50
KTsKIH0KIAotdm9pZCBGaWxlV3JpdGVyOjpkaWRGYWlsKEV4Y2VwdGlvbkNvZGUgZWMpCit2b2lk
IEZpbGVXcml0ZXI6OmRpZEZhaWwoRmlsZUVycm9yOjpGaWxlRXJyb3JDb2RlIGNvZGUpCiB7Ci0g
ICAgbV9lcnJvciA9IEZpbGVFcnJvcjo6Y3JlYXRlKGVjKTsKKyAgICBtX2Vycm9yID0gRmlsZUVy
cm9yOjpjcmVhdGUoY29kZSk7CiAgICAgZmlyZUV2ZW50KGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50
KTsKLSAgICBpZiAoQUJPUlRfRVJSID09IGVjKQorICAgIGlmIChGaWxlRXJyb3I6OkFCT1JUX0VS
UiA9PSBjb2RlKQogICAgICAgICBmaXJlRXZlbnQoZXZlbnROYW1lcygpLmFib3J0RXZlbnQpOwog
ICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkuZXJyb3JFdmVudCk7CiAgICAgbV9ibG9iQmVpbmdX
cml0dGVuLmNsZWFyKCk7CkBAIC0yMDksNiArMjA1LDEyIEBAIHZvaWQgRmlsZVdyaXRlcjo6Zmly
ZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSkKICAgICBkaXNwYXRjaEV2ZW50KFByb2dy
ZXNzRXZlbnQ6OmNyZWF0ZSh0eXBlLCB0cnVlLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV9ieXRl
c1dyaXR0ZW4pLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV9ieXRlc1RvV3JpdGUpKSk7CiB9CiAK
K3ZvaWQgRmlsZVdyaXRlcjo6c2V0RXJyb3IoRmlsZUVycm9yOjpGaWxlRXJyb3JDb2RlIGZpbGVF
cnJvckNvZGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGVjID0gRmlsZUV4Y2VwdGlvbjo6
RmlsZUVycm9yQ29kZVRvRXhjZXB0aW9uQ29kZShmaWxlRXJyb3JDb2RlKTsKKyAgICBtX2Vycm9y
ID0gRmlsZUVycm9yOjpjcmVhdGUoZmlsZUVycm9yQ29kZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKLSAKKwogI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZmlsZWFwaS9GaWxlV3JpdGVyLmggYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVdyaXRl
ci5oCmluZGV4IDQ1NDA4MWM1NDU5OGZiYjMwNjk0ODcyZGE0MGQ5ZGQ3MTNlYWQ1MjUuLmJjMzdk
OTk3NmIwNWU0ZjA2MmI3MGIzMmIzMmRlNjgzYzUxYWExMTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlV3JpdGVyLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVXcml0ZXIuaApA
QCAtNzcsNyArNzcsNyBAQCBwdWJsaWM6CiAgICAgLy8gQXN5bmNGaWxlV3JpdGVyQ2xpZW50CiAg
ICAgdm9pZCBkaWRXcml0ZShsb25nIGxvbmcgYnl0ZXMsIGJvb2wgY29tcGxldGUpOwogICAgIHZv
aWQgZGlkVHJ1bmNhdGUoKTsKLSAgICB2b2lkIGRpZEZhaWwoRXhjZXB0aW9uQ29kZSBlYyk7Cisg
ICAgdm9pZCBkaWRGYWlsKEZpbGVFcnJvcjo6RmlsZUVycm9yQ29kZSk7CiAKICAgICAvLyBBY3Rp
dmVET01PYmplY3QKICAgICB2aXJ0dWFsIGJvb2wgY2FuU3VzcGVuZCgpIGNvbnN0OwpAQCAtOTcs
NyArOTcsNyBAQCBwdWJsaWM6CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihh
Ym9ydCk7CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihlcnJvcik7CiAgICAg
REVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3cml0ZWVuZCk7Ci0gICAgCisKIHByaXZh
dGU6CiAgICAgRmlsZVdyaXRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAKQEAgLTExMyw2
ICsxMTMsOCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBmaXJlRXZlbnQoY29uc3QgQXRvbWljU3Ry
aW5nJiB0eXBlKTsKIAorICAgIHZvaWQgc2V0RXJyb3IoRmlsZUVycm9yOjpGaWxlRXJyb3JDb2Rl
LCBFeGNlcHRpb25Db2RlJik7CisKICAgICBSZWZQdHI8RmlsZUVycm9yPiBtX2Vycm9yOwogICAg
IEV2ZW50VGFyZ2V0RGF0YSBtX2V2ZW50VGFyZ2V0RGF0YTsKICAgICBPd25QdHI8QXN5bmNGaWxl
V3JpdGVyPiBtX3dyaXRlcjsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJh
Y2tIZWxwZXIuaCBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaAppbmRleCAx
NjEyZTkzYzg5MTVhMDAyMGQ4MDg4MDFiNjljMWJmYjdmYTdjM2NmLi4yOGEzNTNlZWE2YjdkZmNi
NmY3NTc0MzVhNDU4MTQwMTMwZDBiODgwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvU3lu
Y0NhbGxiYWNrSGVscGVyLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBl
ci5oCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1
ZGUgIkZpbGVFbnRyeS5oIgogI2luY2x1ZGUgIkZpbGVFcnJvci5oIgorI2luY2x1ZGUgIkZpbGVF
eGNlcHRpb24uaCIKICNpbmNsdWRlICJGaWxlU3lzdGVtQ2FsbGJhY2suaCIKICNpbmNsdWRlICJN
ZXRhZGF0YUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiVm9pZENhbGxiYWNrLmgiCkBAIC02NCw3ICs2
NSw3IEBAIHB1YmxpYzoKICAgICAgICAgOiBtX29ic2VydmVyKG9ic2VydmVyKQogICAgICAgICAs
IG1fc3VjY2Vzc0NhbGxiYWNrKFN1Y2Nlc3NDYWxsYmFja0ltcGw6OmNyZWF0ZSh0aGlzKSkKICAg
ICAgICAgLCBtX2Vycm9yQ2FsbGJhY2soRXJyb3JDYWxsYmFja0ltcGw6OmNyZWF0ZSh0aGlzKSkK
LSAgICAgICAgLCBtX2Vycm9yKDApCisgICAgICAgICwgbV9leGNlcHRpb25Db2RlKDApCiAgICAg
ICAgICwgbV9jb21wbGV0ZWQoZmFsc2UpCiAgICAgewogICAgIH0KQEAgLTc0LDEyICs3NSwxMiBA
QCBwdWJsaWM6CiAgICAgICAgIGlmIChtX29ic2VydmVyKSB7CiAgICAgICAgICAgICB3aGlsZSAo
IW1fY29tcGxldGVkKSB7CiAgICAgICAgICAgICAgICAgaWYgKCFtX29ic2VydmVyLT53YWl0Rm9y
T3BlcmF0aW9uVG9Db21wbGV0ZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIG1fZXJyb3IgPSBB
Qk9SVF9FUlI7CisgICAgICAgICAgICAgICAgICAgIG1fZXhjZXB0aW9uQ29kZSA9IEZpbGVFeGNl
cHRpb246OkFCT1JUX0VSUjsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIGVjID0gbV9lcnJvcjsK
KyAgICAgICAgZWMgPSBtX2V4Y2VwdGlvbkNvZGU7CiAgICAgICAgIHJldHVybiBtX3Jlc3VsdC5y
ZWxlYXNlKCk7CiAgICAgfQogCkBAIC0xMzgsOSArMTM5LDkgQEAgcHJpdmF0ZToKICAgICBmcmll
bmQgY2xhc3MgU3VjY2Vzc0NhbGxiYWNrSW1wbDsKICAgICBmcmllbmQgY2xhc3MgRXJyb3JDYWxs
YmFja0ltcGw7CiAKLSAgICB2b2lkIHNldEVycm9yKEV4Y2VwdGlvbkNvZGUgZWMpCisgICAgdm9p
ZCBzZXRFcnJvcihpbnQgY29kZSkKICAgICB7Ci0gICAgICAgIG1fZXJyb3IgPSBlYzsKKyAgICAg
ICAgbV9leGNlcHRpb25Db2RlID0gRmlsZUV4Y2VwdGlvbjo6RmlsZUVycm9yQ29kZVRvRXhjZXB0
aW9uQ29kZShjb2RlKTsKICAgICAgICAgbV9jb21wbGV0ZWQgPSB0cnVlOwogICAgIH0KIApAQCAt
MTU0LDcgKzE1NSw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFN1Y2Nlc3NDYWxsYmFja0ltcGw+
IG1fc3VjY2Vzc0NhbGxiYWNrOwogICAgIFJlZlB0cjxFcnJvckNhbGxiYWNrSW1wbD4gbV9lcnJv
ckNhbGxiYWNrOwogICAgIFJlZlB0cjxSZXN1bHRUeXBlPiBtX3Jlc3VsdDsKLSAgICBFeGNlcHRp
b25Db2RlIG1fZXJyb3I7CisgICAgRXhjZXB0aW9uQ29kZSBtX2V4Y2VwdGlvbkNvZGU7CiAgICAg
Ym9vbCBtX2NvbXBsZXRlZDsKIH07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuY3BwIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggZDc1NmNjZTQ5NTcwNzI3
NzA0ZDQ4NTI2ZTY1NDAwODYwNDVhNTJjMi4uZWU4Y2VhNzc3NTI1NTI0Y2M5NWYwMmEzOGY3ODcz
Yjg5YjZiMDQwNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTczMCwxMyArNzMwLDEzIEBAIHZvaWQgRE9N
V2luZG93OjpyZXF1ZXN0RmlsZVN5c3RlbShpbnQgdHlwZSwgbG9uZyBsb25nIHNpemUsIFBhc3NS
ZWZQdHI8RmlsZVN5c3RlCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICghQXN5bmNGaWxlU3lz
dGVtOjppc0F2YWlsYWJsZSgpIHx8ICFkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuQWNj
ZXNzRmlsZVN5c3RlbSgpKSB7Ci0gICAgICAgIERPTUZpbGVTeXN0ZW06OnNjaGVkdWxlQ2FsbGJh
Y2soZG9jdW1lbnQsIGVycm9yQ2FsbGJhY2ssIEZpbGVFcnJvcjo6Y3JlYXRlKFNFQ1VSSVRZX0VS
UikpOworICAgICAgICBET01GaWxlU3lzdGVtOjpzY2hlZHVsZUNhbGxiYWNrKGRvY3VtZW50LCBl
cnJvckNhbGxiYWNrLCBGaWxlRXJyb3I6OmNyZWF0ZShGaWxlRXJyb3I6OlNFQ1VSSVRZX0VSUikp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgQXN5bmNGaWxlU3lzdGVtOjpUeXBlIGZp
bGVTeXN0ZW1UeXBlID0gc3RhdGljX2Nhc3Q8QXN5bmNGaWxlU3lzdGVtOjpUeXBlPih0eXBlKTsK
ICAgICBpZiAoZmlsZVN5c3RlbVR5cGUgIT0gQXN5bmNGaWxlU3lzdGVtOjpUZW1wb3JhcnkgJiYg
ZmlsZVN5c3RlbVR5cGUgIT0gQXN5bmNGaWxlU3lzdGVtOjpQZXJzaXN0ZW50KSB7Ci0gICAgICAg
IERPTUZpbGVTeXN0ZW06OnNjaGVkdWxlQ2FsbGJhY2soZG9jdW1lbnQsIGVycm9yQ2FsbGJhY2ss
IEZpbGVFcnJvcjo6Y3JlYXRlKElOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUikpOworICAgICAgICBE
T01GaWxlU3lzdGVtOjpzY2hlZHVsZUNhbGxiYWNrKGRvY3VtZW50LCBlcnJvckNhbGxiYWNrLCBG
aWxlRXJyb3I6OmNyZWF0ZShGaWxlRXJyb3I6OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUikpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyQ29udGV4dC5jcHAgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAKaW5kZXgg
YTUzNTE5MTg4NDZiYTU0NzRmZGYzOTVhZjQ3NjczNWE5NzQxZDU0Ny4uMzQ1ZTViNzYwNDcyYmMx
YjJmODJiOWM3ZWM1NzljYzBkODBkNGQ1YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckNvbnRleHQuY3BwCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcApA
QCAtNjksNiArNjksNyBAQAogI2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW1TeW5jLmgiCiAjaW5jbHVk
ZSAiRXJyb3JDYWxsYmFjay5oIgogI2luY2x1ZGUgIkZpbGVFcnJvci5oIgorI2luY2x1ZGUgIkZp
bGVFeGNlcHRpb24uaCIKICNpbmNsdWRlICJGaWxlU3lzdGVtQ2FsbGJhY2suaCIKICNpbmNsdWRl
ICJGaWxlU3lzdGVtQ2FsbGJhY2tzLmgiCiAjaW5jbHVkZSAiTG9jYWxGaWxlU3lzdGVtLmgiCkBA
IC0zNTUsMTMgKzM1NiwxMyBAQCB2b2lkIFdvcmtlckNvbnRleHQ6OnJldm9rZU9iamVjdFVSTChj
b25zdCBTdHJpbmcmIGJsb2JVUkxTdHJpbmcpCiB2b2lkIFdvcmtlckNvbnRleHQ6OnJlcXVlc3RG
aWxlU3lzdGVtKGludCB0eXBlLCBsb25nIGxvbmcgc2l6ZSwgUGFzc1JlZlB0cjxGaWxlU3lzdGVt
Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJv
ckNhbGxiYWNrKQogewogICAgIGlmICghQXN5bmNGaWxlU3lzdGVtOjppc0F2YWlsYWJsZSgpIHx8
ICFzZWN1cml0eU9yaWdpbigpLT5jYW5BY2Nlc3NGaWxlU3lzdGVtKCkpIHsKLSAgICAgICAgRE9N
RmlsZVN5c3RlbTo6c2NoZWR1bGVDYWxsYmFjayh0aGlzLCBlcnJvckNhbGxiYWNrLCBGaWxlRXJy
b3I6OmNyZWF0ZShTRUNVUklUWV9FUlIpKTsKKyAgICAgICAgRE9NRmlsZVN5c3RlbTo6c2NoZWR1
bGVDYWxsYmFjayh0aGlzLCBlcnJvckNhbGxiYWNrLCBGaWxlRXJyb3I6OmNyZWF0ZShGaWxlRXJy
b3I6OlNFQ1VSSVRZX0VSUikpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgQXN5bmNG
aWxlU3lzdGVtOjpUeXBlIGZpbGVTeXN0ZW1UeXBlID0gc3RhdGljX2Nhc3Q8QXN5bmNGaWxlU3lz
dGVtOjpUeXBlPih0eXBlKTsKICAgICBpZiAoZmlsZVN5c3RlbVR5cGUgIT0gQXN5bmNGaWxlU3lz
dGVtOjpUZW1wb3JhcnkgJiYgZmlsZVN5c3RlbVR5cGUgIT0gQXN5bmNGaWxlU3lzdGVtOjpQZXJz
aXN0ZW50KSB7Ci0gICAgICAgIERPTUZpbGVTeXN0ZW06OnNjaGVkdWxlQ2FsbGJhY2sodGhpcywg
ZXJyb3JDYWxsYmFjaywgRmlsZUVycm9yOjpjcmVhdGUoSU5WQUxJRF9NT0RJRklDQVRJT05fRVJS
KSk7CisgICAgICAgIERPTUZpbGVTeXN0ZW06OnNjaGVkdWxlQ2FsbGJhY2sodGhpcywgZXJyb3JD
YWxsYmFjaywgRmlsZUVycm9yOjpjcmVhdGUoRmlsZUVycm9yOjpJTlZBTElEX01PRElGSUNBVElP
Tl9FUlIpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMzcyLDEzICszNzMsMTMgQEAg
UGFzc1JlZlB0cjxET01GaWxlU3lzdGVtU3luYz4gV29ya2VyQ29udGV4dDo6cmVxdWVzdEZpbGVT
eXN0ZW1TeW5jKGludCB0eXBlLCBsb24KIHsKICAgICBlYyA9IDA7CiAgICAgaWYgKCFBc3luY0Zp
bGVTeXN0ZW06OmlzQXZhaWxhYmxlKCkgfHwgIXNlY3VyaXR5T3JpZ2luKCktPmNhbkFjY2Vzc0Zp
bGVTeXN0ZW0oKSkgewotICAgICAgICBlYyA9IFNFQ1VSSVRZX0VSUjsKKyAgICAgICAgZWMgPSBG
aWxlRXhjZXB0aW9uOjpTRUNVUklUWV9FUlI7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAog
ICAgIEFzeW5jRmlsZVN5c3RlbTo6VHlwZSBmaWxlU3lzdGVtVHlwZSA9IHN0YXRpY19jYXN0PEFz
eW5jRmlsZVN5c3RlbTo6VHlwZT4odHlwZSk7CiAgICAgaWYgKGZpbGVTeXN0ZW1UeXBlICE9IEFz
eW5jRmlsZVN5c3RlbTo6VGVtcG9yYXJ5ICYmIGZpbGVTeXN0ZW1UeXBlICE9IEFzeW5jRmlsZVN5
c3RlbTo6UGVyc2lzdGVudCkgewotICAgICAgICBlYyA9IElOVkFMSURfTU9ESUZJQ0FUSU9OX0VS
UjsKKyAgICAgICAgZWMgPSBGaWxlRXhjZXB0aW9uOjpJTlZBTElEX01PRElGSUNBVElPTl9FUlI7
CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNTQxYmQyNjExNTY2
YTI1NTViZjQ0ZDUyMTcyMzM1OGIzYTI1NWI0Ny4uNmMwZmE3ODc5M2EwZTE1NmY0NDkxNzc2N2Mw
YjhlNTc3M2JjZmExYiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysg
Yi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMTAtMjAg
IEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbnVtYmVyIEZpbGVFcnJvci9GaWxlRXhj
ZXB0aW9uIGVycm9yIGNvZGVzIHBlciBsYXRlc3QgRmlsZSBBUEkgc3BlYyBjaGFuZ2VzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzkzNgorCisgICAg
ICAgICogcHVibGljL1dlYkZpbGVFcnJvci5oOgorICAgICAgICAqIHNyYy9Bc3NlcnRNYXRjaGlu
Z0VudW1zLmNwcDoKKyAgICAgICAgKiBzcmMvQXN5bmNGaWxlV3JpdGVyQ2hyb21pdW0uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QXN5bmNGaWxlV3JpdGVyQ2hyb21pdW06OmRpZEZhaWwpOgorCiAy
MDEwLTEwLTE5ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgS2VudCBUYW11cmEuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkZpbGVFcnJvci5oIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlRXJyb3IuaApp
bmRleCBjZmU4ODgyMGMzNDFhYjAyNGJiMGFhMDdmN2IwNzBiODc4N2FmNWZkLi5lN2ExN2MzMjkx
ODNjYTM2YWRhOGViYTY3Mjc4ZGQzMzNiYTU2ZmQ1IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkZpbGVFcnJvci5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
RmlsZUVycm9yLmgKQEAgLTM0LDE1ICszNCwxOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8g
RmlsZS1yZWxhdGVkIGVycm9yIGNvZGUgZGVmaW5lZCBpbiBIVE1MNSBGaWxlIEFQSS4KIGVudW0g
V2ViRmlsZUVycm9yIHsKLSAgICBXZWJGaWxlRXJyb3JOb01vZGlmaWNhdGlvbkFsbG93ZWQgPSA3
LAotICAgIFdlYkZpbGVFcnJvck5vdEZvdW5kID0gOCwKLSAgICBXZWJGaWxlRXJyb3JJbnZhbGlk
U3RhdGUgPSAxMSwKLSAgICBXZWJGaWxlRXJyb3JJbnZhbGlkTW9kaWZpY2F0aW9uID0gMTMsCi0g
ICAgV2ViRmlsZUVycm9yU2VjdXJpdHkgPSAxOCwKLSAgICBXZWJGaWxlRXJyb3JBYm9ydCA9IDIw
LAotICAgIFdlYkZpbGVFcnJvclF1b3RhRXhjZWVkZWQgPSAyMiwKLSAgICBXZWJGaWxlRXJyb3JO
b3RSZWFkYWJsZSA9IDI0LAotICAgIFdlYkZpbGVFcnJvckVuY29kaW5nID0gMjYsCisgICAgV2Vi
RmlsZUVycm9yTm90Rm91bmQgPSAxLAorICAgIFdlYkZpbGVFcnJvclNlY3VyaXR5ID0gMiwKKyAg
ICBXZWJGaWxlRXJyb3JBYm9ydCA9IDMsCisgICAgV2ViRmlsZUVycm9yTm90UmVhZGFibGUgPSA0
LAorICAgIFdlYkZpbGVFcnJvckVuY29kaW5nID0gNSwKKyAgICBXZWJGaWxlRXJyb3JOb01vZGlm
aWNhdGlvbkFsbG93ZWQgPSA2LAorICAgIFdlYkZpbGVFcnJvckludmFsaWRTdGF0ZSA9IDcsCisg
ICAgV2ViRmlsZUVycm9yU3ludGF4ID0gOCwKKyAgICBXZWJGaWxlRXJyb3JJbnZhbGlkTW9kaWZp
Y2F0aW9uID0gOSwKKyAgICBXZWJGaWxlRXJyb3JRdW90YUV4Y2VlZGVkID0gMTAsCisgICAgV2Vi
RmlsZUVycm9yVHlwZU1pc21hdGNoID0gMTEsCisgICAgV2ViRmlsZUVycm9yUGF0aEV4aXN0cyA9
IDEyLAogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hy
b21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9B
c3NlcnRNYXRjaGluZ0VudW1zLmNwcAppbmRleCA5NjQ3YTQ0ODNjNzQwOGM4ZjQ2MzYzY2RlMjE5
NDI4YTlmMWNlY2U3Li5hZTI3OTFkMzNiMmNjNDUwMDY2ZGM0OGZkMmM4ZWM2YWNkOTFjMjg5IDEw
MDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCisr
KyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKQEAgLTM3LDYg
KzM3LDcgQEAKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlSG9zdC5oIgogI2luY2x1ZGUgIkFz
eW5jRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIkVkaXRvckluc2VydEFjdGlvbi5oIgorI2luY2x1
ZGUgIkZpbGVFcnJvci5oIgogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUg
IkZvbnRTbW9vdGhpbmdNb2RlLmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgpAQCAt
NTYsNiArNTcsNyBAQAogI2luY2x1ZGUgIldlYkNsaXBib2FyZC5oIgogI2luY2x1ZGUgIldlYkN1
cnNvckluZm8uaCIKICNpbmNsdWRlICJXZWJFZGl0aW5nQWN0aW9uLmgiCisjaW5jbHVkZSAiV2Vi
RmlsZUVycm9yLmgiCiAjaW5jbHVkZSAiV2ViRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIldlYkZv
bnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIldlYklEQktleS5oIgpAQCAtMzYyLDMgKzM2NCwx
NiBAQCBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYklEQktleTo6TnVtYmVyVHlwZSwg
SURCS2V5OjpOdW1iZXJUeXBlKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViRmls
ZVN5c3RlbTo6VHlwZVRlbXBvcmFyeSwgQXN5bmNGaWxlU3lzdGVtOjpUZW1wb3JhcnkpOwogQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJGaWxlU3lzdGVtOjpUeXBlUGVyc2lzdGVudCwg
QXN5bmNGaWxlU3lzdGVtOjpQZXJzaXN0ZW50KTsKICNlbmRpZgorCitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdlYkZpbGVFcnJvck5vdEZvdW5kLCBGaWxlRXJyb3I6Ok5PVF9GT1VORF9F
UlIpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJGaWxlRXJyb3JTZWN1cml0eSwg
RmlsZUVycm9yOjpTRUNVUklUWV9FUlIpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShX
ZWJGaWxlRXJyb3JBYm9ydCwgRmlsZUVycm9yOjpBQk9SVF9FUlIpOworQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJGaWxlRXJyb3JOb3RSZWFkYWJsZSwgRmlsZUVycm9yOjpOT1RfUkVB
REFCTEVfRVJSKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViRmlsZUVycm9yRW5j
b2RpbmcsIEZpbGVFcnJvcjo6RU5DT0RJTkdfRVJSKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oV2ViRmlsZUVycm9yTm9Nb2RpZmljYXRpb25BbGxvd2VkLCBGaWxlRXJyb3I6Ok5PX01P
RElGSUNBVElPTl9BTExPV0VEX0VSUik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdl
YkZpbGVFcnJvckludmFsaWRTdGF0ZSwgRmlsZUVycm9yOjpJTlZBTElEX1NUQVRFX0VSUik7CitD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkZpbGVFcnJvclN5bnRheCwgRmlsZUVycm9y
OjpTWU5UQVhfRVJSKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViRmlsZUVycm9y
SW52YWxpZE1vZGlmaWNhdGlvbiwgRmlsZUVycm9yOjpJTlZBTElEX01PRElGSUNBVElPTl9FUlIp
OworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJGaWxlRXJyb3JRdW90YUV4Y2VlZGVk
LCBGaWxlRXJyb3I6OlFVT1RBX0VYQ0VFREVEX0VSUik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKFdlYkZpbGVFcnJvclR5cGVNaXNtYXRjaCwgRmlsZUVycm9yOjpUWVBFX01JU01BVENI
X0VSUik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkZpbGVFcnJvclBhdGhFeGlz
dHMsIEZpbGVFcnJvcjo6UEFUSF9FWElTVFNfRVJSKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvQXN5bmNGaWxlV3JpdGVyQ2hyb21pdW0uY3BwIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9Bc3luY0ZpbGVXcml0ZXJDaHJvbWl1bS5jcHAKaW5kZXggODk2OTA5NDc4ZjE3MzM3OTdlMWY0
YTM1ZTRhMmQzM2Q0YjcxMDM5MC4uOWNhYWZhODc2OWY0ZWNiODMxMTRmMDZmNGI3YjgwNWEyZDY3
Y2FmZSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3luY0ZpbGVXcml0ZXJDaHJv
bWl1bS5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3luY0ZpbGVXcml0ZXJDaHJvbWl1
bS5jcHAKQEAgLTg1LDcgKzg1LDcgQEAgdm9pZCBBc3luY0ZpbGVXcml0ZXJDaHJvbWl1bTo6ZGlk
VHJ1bmNhdGUoKQogCiB2b2lkIEFzeW5jRmlsZVdyaXRlckNocm9taXVtOjpkaWRGYWlsKFdlYktp
dDo6V2ViRmlsZUVycm9yIGVycm9yKQogewotICAgIG1fY2xpZW50LT5kaWRGYWlsKGVycm9yKTsK
KyAgICBtX2NsaWVudC0+ZGlkRmFpbChzdGF0aWNfY2FzdDxGaWxlRXJyb3I6OkZpbGVFcnJvckNv
ZGU+KGVycm9yKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71386</attachid>
            <date>2010-10-20 21:39:33 -0700</date>
            <delta_ts>2010-10-22 14:54:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47936-20101020213931.patch</filename>
            <type>text/plain</type>
            <size>63607</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkNTU1NjUzMWQxNTJkYjJhY2IyOTk1MWIwNWFmMDBlN2Y0MWQ5NWIxLi45ZTcyN2I0
MGFmNjQzY2NhZDZiYzI0ZGZlMGU4ZDNiNGM2OWYxZWZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAK
KzIwMTAtMTAtMjAgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbnVtYmVyIEZpbGVF
cnJvci9GaWxlRXhjZXB0aW9uIGVycm9yIGNvZGVzIHBlciBsYXRlc3QgRmlsZSBBUEkgc3BlYyBj
aGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
NzkzNgorCisgICAgICAgIFVwZGF0ZWQgdGVzdCBleHBlY3RhdGlvbnMgdG8gbWF0Y2ggd2l0aCB0
aGUgbmV3IGVycm9yIGNvZGUuCisKKyAgICAgICAgKiBmYXN0L2ZpbGVzL3JlYWQtYmxvYi1hc3lu
Yy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9maWxlcy9yZWFkLWZpbGUtYXN5bmMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZmlsZXMvd29ya2Vycy93b3JrZXItcmVhZC1ibG9i
LWFzeW5jLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2ZpbGVzL3dvcmtlcnMvd29ya2Vy
LXJlYWQtYmxvYi1zeW5jLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2ZpbGVzL3dvcmtl
cnMvd29ya2VyLXJlYWQtZmlsZS1hc3luYy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9m
aWxlcy93b3JrZXJzL3dvcmtlci1yZWFkLWZpbGUtc3luYy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9maWxlc3lzdGVtL29wLWNvcHktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
ZmlsZXN5c3RlbS9vcC1nZXQtZW50cnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZmls
ZXN5c3RlbS9vcC1tb3ZlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0v
b3AtcmVtb3ZlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vb3AtcmVz
dHJpY3RlZC1jaGFycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL29w
LXJlc3RyaWN0ZWQtbmFtZXMtZXhwZWN0ZWQudHh0OgorCiAyMDEwLTEwLTE5ICBLZW5uZXRoIFJ1
c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCB0ZXN0IGV4cGVj
dGF0aW9ucyB1cGRhdGUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3JlYWQt
YmxvYi1hc3luYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3JlYWQtYmxv
Yi1hc3luYy1leHBlY3RlZC50eHQKaW5kZXggMjdkOGMwYWZiNThlZDI3YjVhYmVjY2M2MTQ4NTQy
Y2UyYmZhY2Y2Ny4uMDk5YjFiZTIzZTI1MjFkNjQxMDkwODM1Y2M1NDY4ODRmM2M4YWQwZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9yZWFkLWJsb2ItYXN5bmMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvcmVhZC1ibG9iLWFzeW5jLWV4cGVjdGVk
LnR4dApAQCAtMywxMyArMywxMyBAQCBUZXN0IHJlYWRpbmcgYSBibG9iIGNvbnRhaW5pbmcgbm9u
LWV4aXN0ZW50IGZpbGUKIHJlYWR5U3RhdGU6IDAKIFJlY2VpdmVkIGVycm9yIGV2ZW50CiByZWFk
eVN0YXRlOiAyCi1lcnJvciBjb2RlOiA4CitlcnJvciBjb2RlOiAxCiBSZWNlaXZlZCBsb2FkZW5k
IGV2ZW50CiBUZXN0IHJlYWRpbmcgYSBibG9iIGNvbnRhaW5pbmcgZXhpc3RlbnQgYW5kIG5vbi1l
eGlzdGVudCBmaWxlCiByZWFkeVN0YXRlOiAwCiBSZWNlaXZlZCBlcnJvciBldmVudAogcmVhZHlT
dGF0ZTogMgotZXJyb3IgY29kZTogOAorZXJyb3IgY29kZTogMQogUmVjZWl2ZWQgbG9hZGVuZCBl
dmVudAogVGVzdCByZWFkaW5nIGEgYmxvYiBjb250YWluaW5nIGVtcHR5IGZpbGUKIHJlYWR5U3Rh
dGU6IDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvcmVhZC1maWxlLWFzeW5j
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvcmVhZC1maWxlLWFzeW5jLWV4
cGVjdGVkLnR4dAppbmRleCA3NmZkNTVmZmRjYTg0NWM1ZjU3NDcwMmU2OTgyOTE0NWMyOWY2OTlk
Li5kOTRlYWJiNzZlOGNhZWJjYzQxZjRiMGVkYmNjMjUzMmE3ODRlY2U0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3JlYWQtZmlsZS1hc3luYy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9maWxlcy9yZWFkLWZpbGUtYXN5bmMtZXhwZWN0ZWQudHh0CkBAIC0z
LDE5ICszLDE5IEBAIFRlc3QgcmVhZGluZyBhIG5vbi1leGlzdGVudCBmaWxlIGFzIGJpbmFyeSBz
dHJpbmcKIHJlYWR5U3RhdGU6IDAKIFJlY2VpdmVkIGVycm9yIGV2ZW50CiByZWFkeVN0YXRlOiAy
Ci1lcnJvciBjb2RlOiA4CitlcnJvciBjb2RlOiAxCiBSZWNlaXZlZCBsb2FkZW5kIGV2ZW50CiBU
ZXN0IHJlYWRpbmcgYSBub24tZXhpc3RlbnQgZmlsZSBhcyB0ZXh0CiByZWFkeVN0YXRlOiAwCiBS
ZWNlaXZlZCBlcnJvciBldmVudAogcmVhZHlTdGF0ZTogMgotZXJyb3IgY29kZTogOAorZXJyb3Ig
Y29kZTogMQogUmVjZWl2ZWQgbG9hZGVuZCBldmVudAogVGVzdCByZWFkaW5nIGEgbm9uLWV4aXN0
ZW50IGZpbGUgYXMgZGF0YSBVUkwKIHJlYWR5U3RhdGU6IDAKIFJlY2VpdmVkIGVycm9yIGV2ZW50
CiByZWFkeVN0YXRlOiAyCi1lcnJvciBjb2RlOiA4CitlcnJvciBjb2RlOiAxCiBSZWNlaXZlZCBs
b2FkZW5kIGV2ZW50CiBUZXN0IHJlYWRpbmcgYW4gZW1wdHkgZmlsZSBhcyBiaW5hcnkgc3RyaW5n
CiByZWFkeVN0YXRlOiAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3dvcmtl
cnMvd29ya2VyLXJlYWQtYmxvYi1hc3luYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZpbGVzL3dvcmtlcnMvd29ya2VyLXJlYWQtYmxvYi1hc3luYy1leHBlY3RlZC50eHQKaW5kZXgg
ODliYmQ4OGFjNTdlNmJjMjQxZTM1OGYyYjBlZTZiOTkwZjkzNDBlYS4uNjg5ZTdiMjg1MjVjY2Uy
ZDFlNDBlYTE2YjFmMGM0YjhkMDFjYWEyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
aWxlcy93b3JrZXJzL3dvcmtlci1yZWFkLWJsb2ItYXN5bmMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZmlsZXMvd29ya2Vycy93b3JrZXItcmVhZC1ibG9iLWFzeW5jLWV4cGVj
dGVkLnR4dApAQCAtNCwxMyArNCwxMyBAQCBUZXN0IHJlYWRpbmcgYSBibG9iIGNvbnRhaW5pbmcg
bm9uLWV4aXN0ZW50IGZpbGUKIHJlYWR5U3RhdGU6IDAKIFJlY2VpdmVkIGVycm9yIGV2ZW50CiBy
ZWFkeVN0YXRlOiAyCi1lcnJvciBjb2RlOiA4CitlcnJvciBjb2RlOiAxCiBSZWNlaXZlZCBsb2Fk
ZW5kIGV2ZW50CiBUZXN0IHJlYWRpbmcgYSBibG9iIGNvbnRhaW5pbmcgZXhpc3RlbnQgYW5kIG5v
bi1leGlzdGVudCBmaWxlCiByZWFkeVN0YXRlOiAwCiBSZWNlaXZlZCBlcnJvciBldmVudAogcmVh
ZHlTdGF0ZTogMgotZXJyb3IgY29kZTogOAorZXJyb3IgY29kZTogMQogUmVjZWl2ZWQgbG9hZGVu
ZCBldmVudAogVGVzdCByZWFkaW5nIGEgYmxvYiBjb250YWluaW5nIGVtcHR5IGZpbGUKIHJlYWR5
U3RhdGU6IDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvd29ya2Vycy93b3Jr
ZXItcmVhZC1ibG9iLXN5bmMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy93
b3JrZXJzL3dvcmtlci1yZWFkLWJsb2Itc3luYy1leHBlY3RlZC50eHQKaW5kZXggM2Q5MDU4Yjhi
ZDNmYTM2ZGI4N2YzMmNmYTIwNGY3YjI4ZTExNzdkMi4uZjBlYzBmMWRmMTMxOTA3YWJlNGViMmVl
MWM5YjU4MTUwN2UzNTEzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy93b3Jr
ZXJzL3dvcmtlci1yZWFkLWJsb2Itc3luYy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlcy93b3JrZXJzL3dvcmtlci1yZWFkLWJsb2Itc3luYy1leHBlY3RlZC50eHQKQEAg
LTEsOSArMSw5IEBACiAKIFJlY2VpdmVkIGZpbGVzIGluIHdvcmtlcgogVGVzdCByZWFkaW5nIGEg
YmxvYiBjb250YWluaW5nIG5vbi1leGlzdGVudCBmaWxlCi1SZWNlaXZlZCBleGNlcHRpb24gODog
Tk9UX0ZPVU5EX0VSUgorUmVjZWl2ZWQgZXhjZXB0aW9uIDE6IE5PVF9GT1VORF9FUlIKIFRlc3Qg
cmVhZGluZyBhIGJsb2IgY29udGFpbmluZyBleGlzdGVudCBhbmQgbm9uLWV4aXN0ZW50IGZpbGUK
LVJlY2VpdmVkIGV4Y2VwdGlvbiA4OiBOT1RfRk9VTkRfRVJSCitSZWNlaXZlZCBleGNlcHRpb24g
MTogTk9UX0ZPVU5EX0VSUgogVGVzdCByZWFkaW5nIGEgYmxvYiBjb250YWluaW5nIGVtcHR5IGZp
bGUKIAogVGVzdCByZWFkaW5nIGEgYmxvYiBjb250YWluaW5nIGVtcHR5IHRleHQKQEAgLTE3LDcg
KzE3LDcgQEAgRmlyc3QKIFRlc3QgcmVhZGluZyBhIGJsb2IgY29udGFpbmluZyBzaW5nbGUgdGV4
dCBhcyBkYXRhIFVSTAogZGF0YTpiYXNlNjQsUm1seWMzUT0KIFRlc3QgcmVhZGluZyBhIGJsb2Ig
Y29udGFpbmluZyBzaW5nbGUgdGV4dCBhcyBkYXRhIFVSTCAob3B0aW9uYWwgY29udGVudCB0eXBl
IHByb3ZpZGVkKQotcmVzdWx0OiBkYXRhOnR5cGUvZm9vO2Jhc2U2NCxSbWx5YzNRPQorZGF0YTp0
eXBlL2ZvbztiYXNlNjQsUm1seWMzUT0KIFRlc3QgcmVhZGluZyBhIGJsb2IgY29udGFpbmluZyBz
bGljZWQgZmlsZQogb25kZXIKIFRlc3QgcmVhZGluZyBhIGJsb2IgY29udGFpbmluZyBzbGljZWQg
dGV4dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy93b3JrZXJzL3dvcmtlci1y
ZWFkLWZpbGUtYXN5bmMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy93b3Jr
ZXJzL3dvcmtlci1yZWFkLWZpbGUtYXN5bmMtZXhwZWN0ZWQudHh0CmluZGV4IGE0OTc2NTg5MmVl
MmJjNDA4ZTFhNjIyZDQ0MWQ0NDQ4MGYyY2FjMGIuLmQwMzYxYjMyNGVjNDRjOGQwZmIxNmUyNGEw
NjZhNDExYzQzODRhNmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvd29ya2Vy
cy93b3JrZXItcmVhZC1maWxlLWFzeW5jLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZpbGVzL3dvcmtlcnMvd29ya2VyLXJlYWQtZmlsZS1hc3luYy1leHBlY3RlZC50eHQKQEAg
LTQsMTkgKzQsMTkgQEAgVGVzdCByZWFkaW5nIGEgbm9uLWV4aXN0ZW50IGZpbGUgYXMgYmluYXJ5
IHN0cmluZwogcmVhZHlTdGF0ZTogMAogUmVjZWl2ZWQgZXJyb3IgZXZlbnQKIHJlYWR5U3RhdGU6
IDIKLWVycm9yIGNvZGU6IDgKK2Vycm9yIGNvZGU6IDEKIFJlY2VpdmVkIGxvYWRlbmQgZXZlbnQK
IFRlc3QgcmVhZGluZyBhIG5vbi1leGlzdGVudCBmaWxlIGFzIHRleHQKIHJlYWR5U3RhdGU6IDAK
IFJlY2VpdmVkIGVycm9yIGV2ZW50CiByZWFkeVN0YXRlOiAyCi1lcnJvciBjb2RlOiA4CitlcnJv
ciBjb2RlOiAxCiBSZWNlaXZlZCBsb2FkZW5kIGV2ZW50CiBUZXN0IHJlYWRpbmcgYSBub24tZXhp
c3RlbnQgZmlsZSBhcyBkYXRhIFVSTAogcmVhZHlTdGF0ZTogMAogUmVjZWl2ZWQgZXJyb3IgZXZl
bnQKIHJlYWR5U3RhdGU6IDIKLWVycm9yIGNvZGU6IDgKK2Vycm9yIGNvZGU6IDEKIFJlY2VpdmVk
IGxvYWRlbmQgZXZlbnQKIFRlc3QgcmVhZGluZyBhbiBlbXB0eSBmaWxlIGFzIGJpbmFyeSBzdHJp
bmcKIHJlYWR5U3RhdGU6IDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvd29y
a2Vycy93b3JrZXItcmVhZC1maWxlLXN5bmMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9maWxlcy93b3JrZXJzL3dvcmtlci1yZWFkLWZpbGUtc3luYy1leHBlY3RlZC50eHQKaW5kZXgg
MzY5MWE1OGY5NjZiYjYzYWE1ODFhNWFhYWY0YzJiMjFmZjQ0NTdiYS4uYjE5YTYyNmVkODljNTIz
Y2IyMDdkZTVmZjVhYzliNjk1MmVmODk3YiAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApkZWx0YSAz
MwprY21YQFdldD47S0pmcT5uMVJvRyNHViE0ZGg/YmsyJVA2b31oajl1TTBLZ3Mhbmc5UioKCmRl
bHRhIDMzCmtjbVhAV2V0PjtLSmZwP0wxUm9HI0dWITRkaD9iazIlUDZvfWhqOXVNMEt2aXZ1Syls
NQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9vcC1jb3B5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9vcC1jb3B5LWV4cGVjdGVkLnR4
dAppbmRleCBhNzZhOTIxMWNhMzk0ZGNlMTBjZjZmYmE0OTg0ODI0NzU2ODI5MGMzLi42ZDE4OTEy
Y2VlMmY0MDE2NDM4MDBiYTc2YzA2ZDY1NjU5NjE3ZjI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtY29weS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlc3lzdGVtL29wLWNvcHktZXhwZWN0ZWQudHh0CkBAIC0xOSwyNiArMTksMjYgQEAg
UEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2EgbmFtZTphIHR5cGU6RElSRUNUT1JZ
fQogUEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2EvYiBuYW1lOmIgdHlwZTpGSUxF
fQogUEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2MvYiBuYW1lOmIgdHlwZTpGSUxF
fQogKiBSdW5uaW5nOiBDb3B5RmlsZVdpdGhFbXB0eU5hbWVUb1NhbWVEaXJlY3RvcnkKLVBBU1Mg
dGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKK1BBU1MgdGhpcy5leHBlY3RlZEVy
cm9yQ29kZSArICIiIGlzICI5IgogUEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2Eg
bmFtZTphIHR5cGU6RElSRUNUT1JZfQogUEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6
L2EvYiBuYW1lOmIgdHlwZTpGSUxFfQogKiBSdW5uaW5nOiBDb3B5RmlsZVdpdGhTYW1lTmFtZQot
UEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgorUEFTUyB0aGlzLmV4cGVj
dGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0
aDovYSBuYW1lOmEgdHlwZTpESVJFQ1RPUll9CiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7
cGF0aDovYS9iIG5hbWU6YiB0eXBlOkZJTEV9CiAqIFJ1bm5pbmc6IENvcHlGb3JOb25FeGlzdGVu
dEVudHJ5CiBQQVNTIFN1Y2NlZWRlZDogIi9hL2IiLnJlbW92ZSgpCi1QQVNTIHRoaXMuZXhwZWN0
ZWRFcnJvckNvZGUgKyAiIiBpcyAiOCIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIi
IGlzICIxIgogUEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2EgbmFtZTphIHR5cGU6
RElSRUNUT1JZfQogUEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2MgbmFtZTpjIHR5
cGU6RElSRUNUT1JZfQogKiBSdW5uaW5nOiBDb3B5RW50cnlUb05vbkV4aXN0ZW50RGlyZWN0b3J5
CiBQQVNTIFN1Y2NlZWRlZDogIi9jIi5yZW1vdmUoKQotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JD
b2RlICsgIiIgaXMgIjgiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMSIK
IFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hIG5hbWU6YSB0eXBlOkRJUkVDVE9S
WX0KIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hL2IgbmFtZTpiIHR5cGU6RklM
RX0KICogUnVubmluZzogQ29weUVudHJ5VG9JdHNDaGlsZAotUEFTUyB0aGlzLmV4cGVjdGVkRXJy
b3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMg
IjEzIgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMu
ZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZ
IHtwYXRoOi9hIG5hbWU6YSB0eXBlOkRJUkVDVE9SWX0KIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVO
VFJZIHtwYXRoOi9hL2IgbmFtZTpiIHR5cGU6RElSRUNUT1JZfQogUEFTUyBWZXJpZmllZCBlbnRy
eTogRU5UUlkge3BhdGg6L2EvYi9jIG5hbWU6YyB0eXBlOkRJUkVDVE9SWX0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9vcC1nZXQtZW50cnktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL29wLWdldC1lbnRyeS1leHBlY3RlZC50eHQKaW5k
ZXggODc3OTMxODA5ZTdiZmFiMTJjZGQ1N2ZiOWM0ODc1YmZkNTFlNTliMC4uMWY0OWJiNjMzYzI3
NGRmNzFhMWY5Y2RmOWU2MGYwOGQxYjQ2MmIwMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9maWxlc3lzdGVtL29wLWdldC1lbnRyeS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlc3lzdGVtL29wLWdldC1lbnRyeS1leHBlY3RlZC50eHQKQEAgLTI0LDE1ICsyNCwx
NSBAQCBQQVNTIFN1Y2NlZWRlZDogIi9hIi5nZXREaXJlY3RvcnkoIi4uL2IiKQogUEFTUyBTdWNj
ZWVkZWQ6ICIvYSIuZ2V0RGlyZWN0b3J5KCIuLi8uLi9iL2MiKQogUEFTUyBTdWNjZWVkZWQ6ICIv
YSIuZ2V0RGlyZWN0b3J5KCIvYS8uLi8uLi9kIikKIFBBU1MgU3VjY2VlZGVkOiAiL2EiLmdldERp
cmVjdG9yeSgiL2EvLi4vLi4vYi8uL2MvLi4vLi4vLi4vLi4vLi4vZSIpCi1QQVNTIHRoaXMuZXhw
ZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUg
KyAiIiBpcyAiMTMiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BB
U1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgogUEFTUyBTdWNjZWVkZWQ6ICIv
YSIuZ2V0RmlsZSgiLi9iLnR4dCIpCiBQQVNTIFN1Y2NlZWRlZDogIi9hIi5nZXRGaWxlKCIuLi9i
LnR4dCIpCiBQQVNTIFN1Y2NlZWRlZDogIi9hIi5nZXRGaWxlKCIuLi8uLi9iL2MudHh0IikKIFBB
U1MgU3VjY2VlZGVkOiAiL2EiLmdldEZpbGUoIi9hLy4uLy4uL2QudHh0IikKIFBBU1MgU3VjY2Vl
ZGVkOiAiL2EiLmdldEZpbGUoIi9hLy4uLy4uL2IvLi9jLy4uLy4uLy4uLy4uLy4uL2UudHh0IikK
LVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBl
Y3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSAr
ICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCiBQQVNT
IFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYSBuYW1lOmEgdHlwZTpESVJFQ1RPUll9CiBQ
QVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYS9iIG5hbWU6YiB0eXBlOkRJUkVDVE9S
WX0KIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9iIG5hbWU6YiB0eXBlOkRJUkVD
VE9SWX0KQEAgLTY2LDIxICs2NiwyMSBAQCBQQVNTIHRoaXMuZW52aXJvbm1lbnRbdGhpcy5lbnRy
eS5mdWxsUGF0aF0uaXNEaXJlY3RvcnkgKyAiIiBpcyAiZmFsc2UiCiBQQVNTIFZlcmlmaWVkIGVu
dHJ5OiBFTlRSWSB7cGF0aDovYSBuYW1lOmEgdHlwZTpESVJFQ1RPUll9CiBQQVNTIFZlcmlmaWVk
IGVudHJ5OiBFTlRSWSB7cGF0aDovYiBuYW1lOmIgdHlwZTpGSUxFfQogKiBSdW5uaW5nOiBHZXRO
b25FeGlzdGVudAotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjgiCi1QQVNT
IHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOCIKLVBBU1MgdGhpcy5leHBlY3RlZEVy
cm9yQ29kZSArICIiIGlzICI4IgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMg
IjgiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMSIKK1BBU1MgdGhpcy5l
eHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxIgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2Rl
ICsgIiIgaXMgIjEiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMSIKICog
UnVubmluZzogR2V0RmlsZUZvckRpcmVjdG9yeQotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2Rl
ICsgIiIgaXMgIjExIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjExIgor
UEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjciCitQQVNTIHRoaXMuZXhwZWN0
ZWRFcnJvckNvZGUgKyAiIiBpcyAiNyIKIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZIHtwYXRo
Oi9hIG5hbWU6YSB0eXBlOkRJUkVDVE9SWX0KICogUnVubmluZzogR2V0RGlyZWN0b3J5Rm9yRmls
ZQotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjExIgotUEFTUyB0aGlzLmV4
cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjExIgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2Rl
ICsgIiIgaXMgIjciCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiNyIKIFBB
U1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hIG5hbWU6YSB0eXBlOkZJTEV9CiAqIFJ1
bm5pbmc6IENyZWF0ZVdpdGhFeGNsdXNpdmUKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSAr
ICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKK1BB
U1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVk
RXJyb3JDb2RlICsgIiIgaXMgIjkiCiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDov
YSBuYW1lOmEgdHlwZTpESVJFQ1RPUll9CiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0
aDovYiBuYW1lOmIgdHlwZTpGSUxFfQogRmluaXNoZWQgcnVubmluZyB0ZXN0cy4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9vcC1tb3ZlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9vcC1tb3ZlLWV4cGVjdGVkLnR4dAppbmRleCA0MTU4
NjcyNDRkMjUxMzk3YmViZDlhYWU5NWY3MzVhMzMxYTQ2YjBkLi4zNTQ2Mzk2ZmI1ZmEyMjAxOGVk
MjUxZDUzNWM4NjQ3MDM5MGJhY2ZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vb3AtbW92ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lz
dGVtL29wLW1vdmUtZXhwZWN0ZWQudHh0CkBAIC0xOSwyNiArMTksMjYgQEAgUEFTUyBWZXJpZmll
ZCBlbnRyeTogRU5UUlkge3BhdGg6L2EgbmFtZTphIHR5cGU6RElSRUNUT1JZfQogUEFTUyBWZXJp
ZmllZCBlbnRyeSBkb2VzIE5PVCBleGlzdDogL2EvYgogUEFTUyBWZXJpZmllZCBlbnRyeTogRU5U
Ulkge3BhdGg6L2MvYiBuYW1lOmIgdHlwZTpGSUxFfQogKiBSdW5uaW5nOiBNb3ZlRmlsZVdpdGhF
bXB0eU5hbWVUb1NhbWVEaXJlY3RvcnkKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIi
IGlzICIxMyIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgogUEFTUyBW
ZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2EgbmFtZTphIHR5cGU6RElSRUNUT1JZfQogUEFT
UyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2EvYiBuYW1lOmIgdHlwZTpGSUxFfQogKiBS
dW5uaW5nOiBNb3ZlRmlsZVdpdGhTYW1lTmFtZQotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2Rl
ICsgIiIgaXMgIjEzIgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCiBQ
QVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYSBuYW1lOmEgdHlwZTpESVJFQ1RPUll9
CiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYS9iIG5hbWU6YiB0eXBlOkZJTEV9
CiAqIFJ1bm5pbmc6IE1vdmVGb3JOb25FeGlzdGVudEVudHJ5CiBQQVNTIFN1Y2NlZWRlZDogIi9h
L2IiLnJlbW92ZSgpCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOCIKK1BB
U1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxIgogUEFTUyBWZXJpZmllZCBlbnRy
eTogRU5UUlkge3BhdGg6L2EgbmFtZTphIHR5cGU6RElSRUNUT1JZfQogUEFTUyBWZXJpZmllZCBl
bnRyeTogRU5UUlkge3BhdGg6L2MgbmFtZTpjIHR5cGU6RElSRUNUT1JZfQogKiBSdW5uaW5nOiBN
b3ZlRW50cnlUb05vbkV4aXN0ZW50RGlyZWN0b3J5CiBQQVNTIFN1Y2NlZWRlZDogIi9jIi5yZW1v
dmUoKQotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjgiCitQQVNTIHRoaXMu
ZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMSIKIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZ
IHtwYXRoOi9hIG5hbWU6YSB0eXBlOkRJUkVDVE9SWX0KIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVO
VFJZIHtwYXRoOi9hL2IgbmFtZTpiIHR5cGU6RklMRX0KICogUnVubmluZzogTW92ZUVudHJ5VG9J
dHNDaGlsZAotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0
aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgorUEFTUyB0aGlzLmV4cGVjdGVkRXJy
b3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAi
OSIKIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hIG5hbWU6YSB0eXBlOkRJUkVD
VE9SWX0KIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hL2IgbmFtZTpiIHR5cGU6
RElSRUNUT1JZfQogUEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2EvYi9jIG5hbWU6
YyB0eXBlOkRJUkVDVE9SWX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3Rl
bS9vcC1yZW1vdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL29w
LXJlbW92ZS1leHBlY3RlZC50eHQKaW5kZXggOTM2ODkzMzJmNGUzMWI3MDAyM2E5ZjAxOGU3NjJk
Njk1ZTg1MGRiZi4uODJhZjQ0YzU5ZGE2NDFiYzA1YTkxYjQ4YWRiMmQ2ZDJiMGFjZjg0NyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL29wLXJlbW92ZS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL29wLXJlbW92ZS1leHBlY3RlZC50
eHQKQEAgLTEsMTEgKzEsMTEgQEAKICogUnVubmluZzogUmVtb3ZlU2ltcGxlCiBQQVNTIFN1Y2Nl
ZWRlZDogIi9hIi5yZW1vdmUoKQogUEFTUyBTdWNjZWVkZWQ6ICIvYiIucmVtb3ZlKCkKLVBBU1Mg
dGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKK1BBU1MgdGhpcy5leHBlY3RlZEVy
cm9yQ29kZSArICIiIGlzICI5IgogUEFTUyBWZXJpZmllZCBlbnRyeSBkb2VzIE5PVCBleGlzdDog
L2EKIFBBU1MgVmVyaWZpZWQgZW50cnkgZG9lcyBOT1QgZXhpc3Q6IC9iCiAqIFJ1bm5pbmc6IFJl
bW92ZU5vblJlY3Vyc2l2ZVdpdGhDaGlsZHJlbgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2Rl
ICsgIiIgaXMgIjEzIgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCiBQ
QVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYSBuYW1lOmEgdHlwZTpESVJFQ1RPUll9
CiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYS9iIG5hbWU6YiB0eXBlOkRJUkVD
VE9SWX0KIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hL2MgbmFtZTpjIHR5cGU6
RklMRX0KQEAgLTE0LDcgKzE0LDcgQEAgUEFTUyBTdWNjZWVkZWQ6ICIvYSIucmVtb3ZlUmVjdXJz
aXZlbHkoKQogUEFTUyBWZXJpZmllZCBlbnRyeSBkb2VzIE5PVCBleGlzdDogL2EKICogUnVubmlu
ZzogUmVtb3ZlUmVjdXJzaXZlV2l0aENoaWxkcmVuCiBQQVNTIFN1Y2NlZWRlZDogIi9hIi5yZW1v
dmVSZWN1cnNpdmVseSgpCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMi
CitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKIFBBU1MgVmVyaWZpZWQg
ZW50cnkgZG9lcyBOT1QgZXhpc3Q6IC9hCiBGaW5pc2hlZCBydW5uaW5nIHRlc3RzLgogUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
aWxlc3lzdGVtL29wLXJlc3RyaWN0ZWQtY2hhcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlc3lzdGVtL29wLXJlc3RyaWN0ZWQtY2hhcnMtZXhwZWN0ZWQudHh0CmluZGV4IGFk
ZTcyZGYxYzM2MTVmZGMwZTc4MTFmNWFiYWM0MmMxZWQzMDRjMTYuLjMyNDU0YTc2ZTJiNWMxYTA0
NDA2YjU3NDNlMWY4MGM2MjUxMjI0MmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXN5c3RlbS9vcC1yZXN0cmljdGVkLWNoYXJzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtcmVzdHJpY3RlZC1jaGFycy1leHBlY3RlZC50eHQKQEAgLTEs
MzUgKzEsMzUgQEAKICogUnVubmluZzogUmVzdHJpY3RlZENoYXJzCi1QQVNTIHRoaXMuZXhwZWN0
ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAi
IiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNT
IHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRF
cnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBp
cyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRo
aXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJv
ckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAi
MTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMu
ZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNv
ZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMi
Ci1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhw
ZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUg
KyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1Q
QVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0
ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAi
IiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCitQQVNT
IHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVy
cm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMg
IjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5l
eHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2Rl
ICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BB
U1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVk
RXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBp
cyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlz
LmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNv
ZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5Igor
UEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0
ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIi
IGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRo
aXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9y
Q29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjki
CitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKIFBBU1MgU3VjY2VlZGVk
OiAiLyIuZ2V0RmlsZSgiYWIiKQotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMg
IjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlz
LmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JD
b2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEz
IgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4
cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2Rl
ICsgIiIgaXMgIjEzIgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQ
QVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3Rl
ZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIg
aXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhp
cy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JD
b2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIK
IFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hYiBuYW1lOmFiIHR5cGU6RklMRX0K
IEZpbmlzaGVkIHJ1bm5pbmcgdGVzdHMuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtcmVzdHJpY3RlZC1u
YW1lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtcmVzdHJp
Y3RlZC1uYW1lcy1leHBlY3RlZC50eHQKaW5kZXggYzM5MDM3OTEyYjBlNDE3ODBhNDI3MGE4OWJm
M2U5ZjI3ZmUzYTAxZC4uNzRhOTAxOGNlMjc2NGY1OWQyNzc1YjY1ZGI5Yzc5YzRlZmRhYTM3ZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL29wLXJlc3RyaWN0ZWQtbmFt
ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9vcC1yZXN0
cmljdGVkLW5hbWVzLWV4cGVjdGVkLnR4dApAQCAtMSw0MyArMSw0MyBAQAogKiBSdW5uaW5nOiBS
ZXN0cmljdGVkQ2hhcnMKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIK
LVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBl
Y3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSAr
ICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBB
U1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3Rl
ZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIi
IGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1Mg
dGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVy
cm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlz
ICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhp
cy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9y
Q29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIx
MyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5l
eHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29k
ZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIK
LVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBl
Y3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSAr
ICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBB
U1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3Rl
ZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIi
IGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1Mg
dGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVy
cm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlz
ICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhp
cy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9y
Q29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIx
MyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5l
eHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29k
ZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIK
K1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVj
dGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAi
IiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0
aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJv
ckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5
IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhw
ZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSAr
ICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNT
IHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVy
cm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMg
IjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5l
eHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2Rl
ICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BB
U1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVk
RXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBp
cyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlz
LmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNv
ZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5Igor
UEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0
ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIi
IGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRo
aXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9y
Q29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjki
CitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBl
Y3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsg
IiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1Mg
dGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJy
b3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAi
OSIKIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hIG5hbWU6YSB0eXBlOkRJUkVD
VE9SWX0KIEZpbmlzaGVkIHJ1bm5pbmcgdGVzdHMuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDE5NWQ3ZDkyZTJlYTEzMmJiMzkzYzg3YzhkMjkyOWI4NDdiM2Y3MmQuLjg4NTAxYjk3
M2MzZWRmNjYxNGJjMGI0OWI4YzAxYzM3MTBmMGVmMGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzUgQEAKKzIwMTAtMTAt
MjAgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbnVtYmVyIEZpbGVFcnJvci9GaWxl
RXhjZXB0aW9uIGVycm9yIGNvZGVzIHBlciBsYXRlc3QgRmlsZSBBUEkgc3BlYyBjaGFuZ2VzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzkzNgorCisg
ICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnNldERPTUV4Y2VwdGlvbik6IEFkZGVkIEZpbGVFeGNlcHRpb25UeXBlIGNhc2UuCisgICAgICAg
ICogYmluZGluZ3MvdjgvVjhQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFByb3h5Ojpz
ZXRET01FeGNlcHRpb24pOiBBZGRlZCBGaWxlRXhjZXB0aW9uVHlwZSBjYXNlLgorICAgICAgICAq
IGRvbS9FeGNlcHRpb25Db2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldEV4Y2VwdGlvbkNv
ZGVEZXNjcmlwdGlvbik6IEFkZGVkIGNvZGUgZm9yIEZpbGVFeGNlcHRpb24uCisgICAgICAgICog
ZG9tL0V4Y2VwdGlvbkNvZGUuaDoKKyAgICAgICAgKiBmaWxlYXBpL0FzeW5jRmlsZVdyaXRlckNs
aWVudC5oOgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5RW50cnkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RGlyZWN0b3J5RW50cnk6OmdldEZpbGUpOgorICAgICAgICAoV2ViQ29yZTo6RGly
ZWN0b3J5RW50cnk6OmdldERpcmVjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpEaXJlY3RvcnlF
bnRyeTo6cmVtb3ZlUmVjdXJzaXZlbHkpOgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5RW50
cnlTeW5jLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpcmVjdG9yeUVudHJ5U3luYzo6Z2V0Rmls
ZSk6CisgICAgICAgIChXZWJDb3JlOjpEaXJlY3RvcnlFbnRyeVN5bmM6OmdldERpcmVjdG9yeSk6
CisgICAgICAgIChXZWJDb3JlOjpEaXJlY3RvcnlFbnRyeVN5bmM6OnJlbW92ZVJlY3Vyc2l2ZWx5
KToKKyAgICAgICAgKiBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RGlyZWN0b3J5UmVhZGVyU3luYzo6cmVhZEVudHJpZXMpOgorICAgICAgICAqIGZp
bGVhcGkvRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RW50cnk6OmdldE1ldGFkYXRhKToK
KyAgICAgICAgKFdlYkNvcmU6OkVudHJ5Ojptb3ZlVG8pOgorICAgICAgICAoV2ViQ29yZTo6RW50
cnk6OmNvcHlUbyk6CisgICAgICAgIChXZWJDb3JlOjpFbnRyeTo6cmVtb3ZlKToKKyAgICAgICAg
KFdlYkNvcmU6OkVudHJ5OjpnZXRQYXJlbnQpOgorICAgICAgICAqIGZpbGVhcGkvRW50cnlTeW5j
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVudHJ5U3luYzo6Z2V0TWV0YWRhdGEpOgorICAgICAg
ICAoV2ViQ29yZTo6RW50cnlTeW5jOjptb3ZlVG8pOgorICAgICAgICAoV2ViQ29yZTo6RW50cnlT
eW5jOjpjb3B5VG8pOgorICAgICAgICAoV2ViQ29yZTo6RW50cnlTeW5jOjpyZW1vdmUpOgorICAg
ICAgICAqIGZpbGVhcGkvRmlsZUVycm9yLmg6IEFkZGVkIGVycm9yIGNvZGUgZW51bS4KKyAgICAg
ICAgKFdlYkNvcmU6OkZpbGVFcnJvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVF
cnJvcjo6Y29kZSk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlRXJyb3I6OkZpbGVFcnJvcik6Cisg
ICAgICAgICogZmlsZWFwaS9GaWxlRXJyb3IuaWRsOiBSZWJhc2VkIGVycm9yIGNvZGUgbnVtYmVy
cy4KKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVFeGNlcHRpb24uaDogQWRkZWQgZXhjZXB0aW9uIGNv
ZGUgZW51bS4KKyAgICAgICAgKFdlYkNvcmU6OkZpbGVFeGNlcHRpb246OkVycm9yQ29kZVRvRXhj
ZXB0aW9uQ29kZSk6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5pZGw6
IFJlYmFzZWQgZXhjZXB0aW9uIGNvZGUgbnVtYmVycy4KKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVS
ZWFkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVJlYWRlcjo6YWJvcnQpOgorICAgICAg
ICAoV2ViQ29yZTo6RmlsZVJlYWRlcjo6ZmFpbGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVS
ZWFkZXI6Omh0dHBTdGF0dXNDb2RlVG9FcnJvckNvZGUpOiBDaGFuZ2VkIGZyb20KKyAgICAgICAg
aHR0cFN0YXR1Q29kZVRvRXhjZXB0aW9uQ29kZS4KKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVSZWFk
ZXIuaDoKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVSZWFkZXJTeW5jLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZpbGVSZWFkZXJTeW5jTG9hZGVyOjpzdGFydCk6CisgICAgICAgICogZmlsZWFwaS9G
aWxlU3lzdGVtQ2FsbGJhY2tzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVTeXN0ZW1DYWxs
YmFja3NCYXNlOjpkaWRGYWlsKToKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVXcml0ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RmlsZVdyaXRlcjo6d3JpdGUpOgorICAgICAgICAoV2ViQ29yZTo6
RmlsZVdyaXRlcjo6c2Vlayk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlV3JpdGVyOjp0cnVuY2F0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlV3JpdGVyOjphYm9ydCk6CisgICAgICAgIChXZWJD
b3JlOjpGaWxlV3JpdGVyOjpkaWRGYWlsKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVXcml0ZXI6
OnNldEVycm9yKToKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVXcml0ZXIuaDoKKyAgICAgICAgKiBm
aWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oOgorICAgICAgICAoV2ViQ29yZTo6U3luY0NhbGxi
YWNrSGVscGVyOjpTeW5jQ2FsbGJhY2tIZWxwZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3luY0Nh
bGxiYWNrSGVscGVyOjpnZXRSZXN1bHQpOgorICAgICAgICAoV2ViQ29yZTo6U3luY0NhbGxiYWNr
SGVscGVyOjpzZXRFcnJvcik6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NV2luZG93OjpyZXF1ZXN0RmlsZVN5c3RlbSk6CisgICAgICAgICogd29y
a2Vycy9Xb3JrZXJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHQ6
OnJlcXVlc3RGaWxlU3lzdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHQ6OnJl
cXVlc3RGaWxlU3lzdGVtU3luYyk6CisKIDIwMTAtMTAtMTkgIFlvbmdqdW4gWmhhbmcgIDx5b25n
anVuX3poYW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWlu
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwIGIvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCmluZGV4IDcyZTZkMDM5Y2UwMTRkN2E2
MjYxMjRlNjhjZGM5ZWMzODFkZmI0NTYuLmU0Y2ZmNGFhYTNhMzc0OWNkYjRhNDRjMmFlZjBhM2E3
MzIzZmZiNGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNw
cAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKQEAgLTc4LDYgKzc4
LDExIEBACiAjaW5jbHVkZSAiU1FMRXhjZXB0aW9uLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShC
TE9CKSB8fCBFTkFCTEUoRklMRV9TWVNURU0pCisjaW5jbHVkZSAiRmlsZUV4Y2VwdGlvbi5oIgor
I2luY2x1ZGUgIkpTRmlsZUV4Y2VwdGlvbi5oIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBK
U0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTYxOSw2ICs2MjQsMTEgQEAgdm9pZCBzZXRE
T01FeGNlcHRpb24oRXhlY1N0YXRlKiBleGVjLCBFeGNlcHRpb25Db2RlIGVjKQogICAgICAgICAg
ICAgZXJyb3JPYmplY3QgPSB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgU1FMRXhjZXB0aW9uOjpj
cmVhdGUoZGVzY3JpcHRpb24pKTsKICAgICAgICAgICAgIGJyZWFrOwogI2VuZGlmCisjaWYgRU5B
QkxFKEJMT0IpIHx8IEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICAgICAgY2FzZSBGaWxlRXhjZXB0
aW9uVHlwZToKKyAgICAgICAgICAgIGVycm9yT2JqZWN0ID0gdG9KUyhleGVjLCBnbG9iYWxPYmpl
Y3QsIEZpbGVFeGNlcHRpb246OmNyZWF0ZShkZXNjcmlwdGlvbikpOworICAgICAgICAgICAgYnJl
YWs7CisjZW5kaWYKICAgICB9CiAKICAgICBBU1NFUlQoZXJyb3JPYmplY3QpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhQcm94eS5jcHAKaW5kZXggOTBjMmVkODBiZmY0ZmZhNWE5NGIxYjM3ZDliMTJiNWRkNTlkNzFh
MC4uZTdkNmJmNmNjZDdkODVhZTI2NjNhOTZiYjY0OWRiZjExMmE2OThkMSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4UHJveHkuY3BwCkBAIC01NSw2ICs1NSw3IEBACiAjaW5jbHVkZSAiVjhET01NYXAuaCIKICNp
bmNsdWRlICJWOERPTVdpbmRvdy5oIgogI2luY2x1ZGUgIlY4RXZlbnRFeGNlcHRpb24uaCIKKyNp
bmNsdWRlICJWOEZpbGVFeGNlcHRpb24uaCIKICNpbmNsdWRlICJWOEhpZGRlblByb3BlcnR5TmFt
ZS5oIgogI2luY2x1ZGUgIlY4SXNvbGF0ZWRDb250ZXh0LmgiCiAjaW5jbHVkZSAiVjhSYW5nZUV4
Y2VwdGlvbi5oIgpAQCAtNzAzLDYgKzcwNCwxMSBAQCB2b2lkIFY4UHJveHk6OnNldERPTUV4Y2Vw
dGlvbihpbnQgZXhjZXB0aW9uQ29kZSkKICAgICAgICAgZXhjZXB0aW9uID0gdG9WOChTUUxFeGNl
cHRpb246OmNyZWF0ZShkZXNjcmlwdGlvbikpOwogICAgICAgICBicmVhazsKICNlbmRpZgorI2lm
IEVOQUJMRShCTE9CKSB8fCBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgY2FzZSBGaWxlRXhjZXB0
aW9uVHlwZToKKyAgICAgICAgZXhjZXB0aW9uID0gdG9WOChGaWxlRXhjZXB0aW9uOjpjcmVhdGUo
ZGVzY3JpcHRpb24pKTsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9FeGNlcHRpb25Db2RlLmNwcCBiL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuY3BwCmluZGV4
IDkzMDNmOWUwNjE3ODA5M2JlODQ3ZjAyMmZmNDFmYzA2NzA5YjA4OWEuLjEwZWQyZjk3OTIwNTA5
NzUxY2ZkNTg5MGQ2YTI0N2IxOTVkMjViOTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V4Y2Vw
dGlvbkNvZGUuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuY3BwCkBAIC00Miw2
ICs0MiwxMCBAQAogI2luY2x1ZGUgIlNRTEV4Y2VwdGlvbi5oIgogI2VuZGlmCiAKKyNpZiBFTkFC
TEUoQkxPQikgfHwgRU5BQkxFKEZJTEVfU1lTVEVNKQorI2luY2x1ZGUgIkZpbGVFeGNlcHRpb24u
aCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBjaGFyKiBj
b25zdCBleGNlcHRpb25OYW1lc1tdID0gewpAQCAtMTczLDYgKzE3NywzOCBAQCBzdGF0aWMgY29u
c3QgY2hhciogY29uc3Qgc3FsRXhjZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7CiB9OwogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoQkxPQikgfHwgRU5BQkxFKEZJTEVfU1lTVEVNKQorc3RhdGljIGNvbnN0
IGNoYXIqIGNvbnN0IGZpbGVFeGNlcHRpb25OYW1lc1tdID0geworICAgICJOT1RfRk9VTkRfRVJS
IiwKKyAgICAiU0VDVVJJVFlfRVJSIiwKKyAgICAiQUJPUlRfRVJSIiwKKyAgICAiTk9UX1JFQURB
QkxFX0VSUiIsCisgICAgIkVOQ09ESU5HX0VSUiIsCisgICAgIk5PX01PRElGSUNBVElPTl9BTExP
V0VEX0VSUiIsCisgICAgIklOVkFMSURfU1RBVEVfRVJSIiwKKyAgICAiU1lOVEFYX0VSUiIsCisg
ICAgIklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUiIsCisgICAgIlFVT1RBX0VYQ0VFREVEX0VSUiIs
CisgICAgIlRZUEVfTUlTTUFUQ0hfRVJSIiwKKyAgICAiUEFUSF9FWElTVFNfRVJSIgorfTsKKwor
c3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGZpbGVFeGNlcHRpb25EZXNjcmlwdGlvbnNbXSA9IHsK
KyAgICAiQSByZXF1ZXN0ZWQgZmlsZSBvciBkaXJlY3RvcnkgY291bGQgbm90IGJlIGZvdW5kIGF0
IHRoZSB0aW1lIGFuIG9wZXJhdGlvbiB3YXMgcHJvY2Vzc2VkLiIsCisgICAgIkl0IHdhcyBkZXRl
cm1pbmVkIHRoYXQgY2VydGFpbiBmaWxlcyBhcmUgdW5zYWZlIGZvciBhY2Nlc3Mgd2l0aGluIGEg
V2ViIGFwcGxpY2F0aW9uLCBvciB0aGF0IHRvbyBtYW55IGNhbGxzIGFyZSBiZWluZyBtYWRlIG9u
IGZpbGUgcmVzb3VyY2VzLiIsCisgICAgIkFuIG9uZ29pbmcgb3BlcmF0aW9uIHdhcyBhYm9ydGVk
LCB0eXBpY2FsbHkgd2l0aCBhIGNhbGwgdG8gYWJvcnQoKS4iLAorICAgICJUaGUgcmVxdWVzdGVk
IGZpbGUgY291bGQgbm90IGJlIHJlYWQsIHR5cGljYWxseSBkdWUgdG8gcGVybWlzc2lvbiBwcm9i
bGVtcyB0aGF0IGhhdmUgb2NjdXJlZCBhZnRlciBhIHJlZmVyZW5jZSB0byBhIGZpbGUgd2FzIGFj
cXVpcmVkLiIsCisgICAgIkEgVVJJIHN1cHBsaWVkIHRvIHRoZSBBUEkgd2FzIG1hbGZvcm1lZCwg
b3IgdGhlIHJlc3VsdGluZyBEYXRhIFVSTCBoYXMgZXhjZWVkZWQgdGhlIFVSTCBsZW5ndGggbGlt
aXRhdGlvbnMgZm9yIERhdGEgVVJMcy4iLAorICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIHdy
aXRlIHRvIGEgZmlsZSBvciBkaXJlY3Rvcnkgd2hpY2ggY291bGQgbm90IGJlIG1vZGlmaWVkIGR1
ZSB0byB0aGUgc3RhdGUgb2YgdGhlIHVuZGVybHlpbmcgZmlsZXN5c3RlbS4iLAorICAgICJBbiBv
cGVyYXRpb24gdGhhdCBkZXBlbmRzIG9uIHN0YXRlIGNhY2hlZCBpbiBhbiBpbnRlcmZhY2Ugb2Jq
ZWN0IHdhcyBtYWRlIGJ1dCB0aGUgc3RhdGUgaGFkIGNoYW5nZWQgc2luY2UgaXQgd2FzIHJlYWQg
ZnJvbSBkaXNrLiIsCisgICAgIkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gc3VwcGx5IGFuIGludmFs
aWQgbGluZSBlbmRpbmcgc3BlY2lmaWVyIHRvIHRoZSBBUEkuICIsCisgICAgIlRoZSBtb2RpZmlj
YXRpb24gcmVxdWVzdCB3YXMgaWxsZWdhbC4iLAorICAgICJUaGUgb3BlcmF0aW9uIGZhaWxlZCBi
ZWNhdXNlIGl0IHdvdWxkIGNhdXNlIHRoZSBhcHBsaWNhdGlvbiB0byBleGNlZWQgaXRzIHN0b3Jh
Z2UgcXVvdGEuIiwKKyAgICAiVGhlIHBhdGggc3VwcGxpZWQgZXhpc3RzLCBidXQgd2FzIG5vdCBh
biBlbnRyeSBvZiByZXF1ZXN0ZWQgdHlwZS4iLAorICAgICJBbiBhdHRlbXB0IHdhcyBtYWRlIHRv
IGNyZWF0ZSBhIGZpbGUgb3IgZGlyZWN0b3J5IHdoZXJlIGFuIGVsZW1lbnQgYWxyZWFkeSBleGlz
dHMuIgorfTsKKyNlbmRpZgorCiB2b2lkIGdldEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbihFeGNl
cHRpb25Db2RlIGVjLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQogewog
ICAgIEFTU0VSVChlYyk7CkBAIC0yNDEsNiArMjc3LDE2IEBAIHZvaWQgZ2V0RXhjZXB0aW9uQ29k
ZURlc2NyaXB0aW9uKEV4Y2VwdGlvbkNvZGUgZWMsIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiYg
ZGVzCiAgICAgICAgIG5hbWVUYWJsZVNpemUgPSBzaXplb2Yoc3FsRXhjZXB0aW9uTmFtZXMpIC8g
c2l6ZW9mKHNxbEV4Y2VwdGlvbk5hbWVzWzBdKTsKICAgICAgICAgbmFtZVRhYmxlT2Zmc2V0ID0g
U1FMRXhjZXB0aW9uOjpVTktOT1dOX0VSUjsKICNlbmRpZgorI2lmIEVOQUJMRShCTE9CKSB8fCBF
TkFCTEUoRklMRV9TWVNURU0pCisgICAgfSBlbHNlIGlmIChjb2RlID49IEZpbGVFeGNlcHRpb246
OkZpbGVFeGNlcHRpb25PZmZzZXQgJiYgY29kZSA8PSBGaWxlRXhjZXB0aW9uOjpGaWxlRXhjZXB0
aW9uTWF4KSB7CisgICAgICAgIHR5cGUgPSBGaWxlRXhjZXB0aW9uVHlwZTsKKyAgICAgICAgdHlw
ZU5hbWUgPSAiRE9NIEZpbGUiOworICAgICAgICBjb2RlIC09IEZpbGVFeGNlcHRpb246OkZpbGVF
eGNlcHRpb25PZmZzZXQ7CisgICAgICAgIG5hbWVUYWJsZSA9IGZpbGVFeGNlcHRpb25OYW1lczsK
KyAgICAgICAgZGVzY3JpcHRpb25UYWJsZSA9IGZpbGVFeGNlcHRpb25EZXNjcmlwdGlvbnM7Cisg
ICAgICAgIG5hbWVUYWJsZVNpemUgPSBzaXplb2YoZmlsZUV4Y2VwdGlvbk5hbWVzKSAvIHNpemVv
ZihmaWxlRXhjZXB0aW9uTmFtZXNbMF0pOworICAgICAgICBuYW1lVGFibGVPZmZzZXQgPSBGaWxl
RXhjZXB0aW9uOjpOT1RfRk9VTkRfRVJSOworI2VuZGlmCiAgICAgfSBlbHNlIHsKICAgICAgICAg
dHlwZSA9IERPTUV4Y2VwdGlvblR5cGU7CiAgICAgICAgIHR5cGVOYW1lID0gIkRPTSI7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmggYi9XZWJDb3JlL2RvbS9FeGNlcHRp
b25Db2RlLmgKaW5kZXggY2JiZjY1MGZlMjE5N2ZjMjNmYTRmZWNhMDgyNTllMDJlODU5YTJlMi4u
NmVhOWY3ZDAwNGJhZDRkYWYxYWJhNTYyZjVlZmZlMDJkMzdjZjk1MyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vRXhjZXB0aW9uQ29kZS5oCisrKyBiL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUu
aApAQCAtODEsNiArODEsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgRU5BQkxFKERBVEFC
QVNFKQogICAgICAgICAsIFNRTEV4Y2VwdGlvblR5cGUKICNlbmRpZgorI2lmIEVOQUJMRShCTE9C
KSB8fCBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgICAgICwgRmlsZUV4Y2VwdGlvblR5cGUKKyNl
bmRpZgogICAgIH07CiAKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0FzeW5jRmlsZVdy
aXRlckNsaWVudC5oIGIvV2ViQ29yZS9maWxlYXBpL0FzeW5jRmlsZVdyaXRlckNsaWVudC5oCmlu
ZGV4IDMyN2IxOWNiZWRkOTZjOTk1NGM5NzRjOWM2YTlmOTViNmE4MWUwMjIuLjkyOWY1MjNmYzI2
ZDQ3ZjNkY2ViOTVhYTk3N2JlZTc1ZmRkN2NjNzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFw
aS9Bc3luY0ZpbGVXcml0ZXJDbGllbnQuaAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvQXN5bmNGaWxl
V3JpdGVyQ2xpZW50LmgKQEAgLTMzLDcgKzMzLDcgQEAKIAogI2lmIEVOQUJMRShGSUxFX1NZU1RF
TSkKIAotI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJGaWxlRXJyb3IuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Myw3ICs0Myw3IEBAIHB1YmxpYzoKIAogICAg
IHZpcnR1YWwgdm9pZCBkaWRXcml0ZShsb25nIGxvbmcgYnl0ZXMsIGJvb2wgY29tcGxldGUpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkVHJ1bmNhdGUoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lk
IGRpZEZhaWwoRXhjZXB0aW9uQ29kZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsKEZp
bGVFcnJvcjo6RXJyb3JDb2RlKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5LmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9E
aXJlY3RvcnlFbnRyeS5jcHAKaW5kZXggNzY1ZmNkNWY5Njk1YTRiMWZjYTMwNjE0YjIzNjE0YTU1
NzNhZDRiOC4uNzkxNTExNzU5Y2MyYjA4Mjg2MDAyMGJiZDZiNDVkMGE4ODU0M2MwMCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5LmNwcAorKysgYi9XZWJDb3JlL2Zp
bGVhcGkvRGlyZWN0b3J5RW50cnkuY3BwCkBAIC01NSwyMSArNTUsMjEgQEAgdm9pZCBEaXJlY3Rv
cnlFbnRyeTo6Z2V0RmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NSZWZQdHI8RmxhZ3M+IGZs
YWdzLCBQYXNzUmUKIHsKICAgICBSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayhl
cnJvckNhbGxiYWNrUmVmKTsKICAgICBpZiAoIW1fZmlsZVN5c3RlbS0+Z2V0RmlsZSh0aGlzLCBw
YXRoLCBmbGFncywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKSkKLSAgICAgICAgZmls
ZXN5c3RlbSgpLT5zY2hlZHVsZUNhbGxiYWNrKGVycm9yQ2FsbGJhY2sucmVsZWFzZSgpLCBGaWxl
RXJyb3I6OmNyZWF0ZShJTlZBTElEX01PRElGSUNBVElPTl9FUlIpKTsKKyAgICAgICAgZmlsZXN5
c3RlbSgpLT5zY2hlZHVsZUNhbGxiYWNrKGVycm9yQ2FsbGJhY2sucmVsZWFzZSgpLCBGaWxlRXJy
b3I6OmNyZWF0ZShGaWxlRXJyb3I6OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUikpOwogfQogCiB2
b2lkIERpcmVjdG9yeUVudHJ5OjpnZXREaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNz
UmVmUHRyPEZsYWdzPiBmbGFncywgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2Fs
bGJhY2ssIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFja1JlZikKIHsKICAg
ICBSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayhlcnJvckNhbGxiYWNrUmVmKTsK
ICAgICBpZiAoIW1fZmlsZVN5c3RlbS0+Z2V0RGlyZWN0b3J5KHRoaXMsIHBhdGgsIGZsYWdzLCBz
dWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spKQotICAgICAgICBmaWxlc3lzdGVtKCktPnNj
aGVkdWxlQ2FsbGJhY2soZXJyb3JDYWxsYmFjay5yZWxlYXNlKCksIEZpbGVFcnJvcjo6Y3JlYXRl
KElOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUikpOworICAgICAgICBmaWxlc3lzdGVtKCktPnNjaGVk
dWxlQ2FsbGJhY2soZXJyb3JDYWxsYmFjay5yZWxlYXNlKCksIEZpbGVFcnJvcjo6Y3JlYXRlKEZp
bGVFcnJvcjo6SU5WQUxJRF9NT0RJRklDQVRJT05fRVJSKSk7CiB9CiAKIHZvaWQgRGlyZWN0b3J5
RW50cnk6OnJlbW92ZVJlY3Vyc2l2ZWx5KFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBzdWNjZXNz
Q2FsbGJhY2ssIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFja1JlZikgY29u
c3QKIHsKICAgICBSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayhlcnJvckNhbGxi
YWNrUmVmKTsKICAgICBpZiAoIW1fZmlsZVN5c3RlbS0+cmVtb3ZlUmVjdXJzaXZlbHkodGhpcywg
c3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKSkKLSAgICAgICAgZmlsZXN5c3RlbSgpLT5z
Y2hlZHVsZUNhbGxiYWNrKGVycm9yQ2FsbGJhY2sucmVsZWFzZSgpLCBGaWxlRXJyb3I6OmNyZWF0
ZShJTlZBTElEX01PRElGSUNBVElPTl9FUlIpKTsKKyAgICAgICAgZmlsZXN5c3RlbSgpLT5zY2hl
ZHVsZUNhbGxiYWNrKGVycm9yQ2FsbGJhY2sucmVsZWFzZSgpLCBGaWxlRXJyb3I6OmNyZWF0ZShG
aWxlRXJyb3I6OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUikpOwogfQogCiB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFw
aS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwCmluZGV4IGQ4ZDIyYzIzYTc4NTQ0NWE0MzFlYzFkYTcy
NDZhMzE3ZDg3MTExZjcuLjAyMWQ5NzNhYWUzNWViMDA1MDc0NDJjZTM1NTYyZGU3OWUyZDg3ZjQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwCisrKyBi
L1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwCkBAIC0zNiw2ICszNiw3IEBA
CiAjaW5jbHVkZSAiRGlyZWN0b3J5UmVhZGVyU3luYy5oIgogI2luY2x1ZGUgIkVudHJ5U3luYy5o
IgogI2luY2x1ZGUgIkZpbGVFbnRyeVN5bmMuaCIKKyNpbmNsdWRlICJGaWxlRXhjZXB0aW9uLmgi
CiAjaW5jbHVkZSAiU3luY0NhbGxiYWNrSGVscGVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTU1LDcgKzU2LDcgQEAgUGFzc1JlZlB0cjxGaWxlRW50cnlTeW5jPiBEaXJlY3RvcnlFbnRy
eVN5bmM6OmdldEZpbGUoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzUmUKICAgICBlYyA9IDA7CiAg
ICAgRW50cnlTeW5jQ2FsbGJhY2tIZWxwZXIgaGVscGVyKG1fZmlsZVN5c3RlbS0+YXN5bmNGaWxl
U3lzdGVtKCkpOwogICAgIGlmICghbV9maWxlU3lzdGVtLT5nZXRGaWxlKHRoaXMsIHBhdGgsIGZs
YWdzLCBoZWxwZXIuc3VjY2Vzc0NhbGxiYWNrKCksIGhlbHBlci5lcnJvckNhbGxiYWNrKCkpKSB7
Ci0gICAgICAgIGVjID0gSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSOworICAgICAgICBlYyA9IEZp
bGVFeGNlcHRpb246OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUjsKICAgICAgICAgcmV0dXJuIDA7
CiAgICAgfQogICAgIHJldHVybiBzdGF0aWNfcG9pbnRlcl9jYXN0PEZpbGVFbnRyeVN5bmM+KGhl
bHBlci5nZXRSZXN1bHQoZWMpKTsKQEAgLTY2LDcgKzY3LDcgQEAgUGFzc1JlZlB0cjxEaXJlY3Rv
cnlFbnRyeVN5bmM+IERpcmVjdG9yeUVudHJ5U3luYzo6Z2V0RGlyZWN0b3J5KGNvbnN0IFN0cmlu
ZyYgcGEKICAgICBlYyA9IDA7CiAgICAgRW50cnlTeW5jQ2FsbGJhY2tIZWxwZXIgaGVscGVyKG1f
ZmlsZVN5c3RlbS0+YXN5bmNGaWxlU3lzdGVtKCkpOwogICAgIGlmICghbV9maWxlU3lzdGVtLT5n
ZXREaXJlY3RvcnkodGhpcywgcGF0aCwgZmxhZ3MsIGhlbHBlci5zdWNjZXNzQ2FsbGJhY2soKSwg
aGVscGVyLmVycm9yQ2FsbGJhY2soKSkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX01PRElGSUNB
VElPTl9FUlI7CisgICAgICAgIGVjID0gRmlsZUV4Y2VwdGlvbjo6SU5WQUxJRF9NT0RJRklDQVRJ
T05fRVJSOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgcmV0dXJuIHN0YXRpY19wb2lu
dGVyX2Nhc3Q8RGlyZWN0b3J5RW50cnlTeW5jPihoZWxwZXIuZ2V0UmVzdWx0KGVjKSk7CkBAIC03
Nyw3ICs3OCw3IEBAIHZvaWQgRGlyZWN0b3J5RW50cnlTeW5jOjpyZW1vdmVSZWN1cnNpdmVseShF
eGNlcHRpb25Db2RlJiBlYykKICAgICBlYyA9IDA7CiAgICAgVm9pZFN5bmNDYWxsYmFja0hlbHBl
ciBoZWxwZXIobV9maWxlU3lzdGVtLT5hc3luY0ZpbGVTeXN0ZW0oKSk7CiAgICAgaWYgKCFtX2Zp
bGVTeXN0ZW0tPnJlbW92ZVJlY3Vyc2l2ZWx5KHRoaXMsIGhlbHBlci5zdWNjZXNzQ2FsbGJhY2so
KSwgaGVscGVyLmVycm9yQ2FsbGJhY2soKSkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX01PRElG
SUNBVElPTl9FUlI7CisgICAgICAgIGVjID0gRmlsZUV4Y2VwdGlvbjo6SU5WQUxJRF9NT0RJRklD
QVRJT05fRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGhlbHBlci5nZXRSZXN1bHQo
ZWMpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuY3Bw
IGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwCmluZGV4IDZjNjZhMTUz
NTQyNjdmNWMwMGNhZjdkOGQ4YTc3YTM3ZGMzOTlmNzAuLjllNWU2ODQyM2Q1NGIzZjY5OGIzZWEz
N2RhNWI1ZGJmMmNmZjNmMjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlS
ZWFkZXJTeW5jLmNwcAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5j
cHAKQEAgLTM5LDcgKzM5LDcgQEAKICNpbmNsdWRlICJFbnRyeVN5bmMuaCIKICNpbmNsdWRlICJF
eGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiRmlsZUVudHJ5U3luYy5oIgotI2luY2x1ZGUgIkZp
bGVFcnJvci5oIgorI2luY2x1ZGUgIkZpbGVFeGNlcHRpb24uaCIKICNpbmNsdWRlICJTeW5jQ2Fs
bGJhY2tIZWxwZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTcsNyArNTcsNyBAQCBQ
YXNzUmVmUHRyPEVudHJ5QXJyYXlTeW5jPiBEaXJlY3RvcnlSZWFkZXJTeW5jOjpyZWFkRW50cmll
cyhFeGNlcHRpb25Db2RlJiBlYykKIAogICAgIEVudHJpZXNTeW5jQ2FsbGJhY2tIZWxwZXIgaGVs
cGVyKG1fZmlsZVN5c3RlbS0+YXN5bmNGaWxlU3lzdGVtKCkpOwogICAgIGlmICghbV9maWxlU3lz
dGVtLT5yZWFkRGlyZWN0b3J5KHRoaXMsIG1fZnVsbFBhdGgsIGhlbHBlci5zdWNjZXNzQ2FsbGJh
Y2soKSwgaGVscGVyLmVycm9yQ2FsbGJhY2soKSkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX01P
RElGSUNBVElPTl9FUlI7CisgICAgICAgIGVjID0gRmlsZUV4Y2VwdGlvbjo6SU5WQUxJRF9NT0RJ
RklDQVRJT05fRVJSOwogICAgICAgICBzZXRIYXNNb3JlRW50cmllcyhmYWxzZSk7CiAgICAgICAg
IHJldHVybiAwOwogICAgIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeS5jcHAg
Yi9XZWJDb3JlL2ZpbGVhcGkvRW50cnkuY3BwCmluZGV4IDIxODNiMzNiMzhmNmI5MzE3MzFmYWYw
YzU0ZjJmOTA4ZDA5M2Q4OGUuLjgzZTFhMWQ2MzQwOTQ5MDU1YmI3NzRmYzIzNzhlN2Q2MTk0OWMw
NTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9FbnRyeS5jcHAKKysrIGIvV2ViQ29yZS9m
aWxlYXBpL0VudHJ5LmNwcApAQCAtNTEsMzUgKzUxLDM1IEBAIHZvaWQgRW50cnk6OmdldE1ldGFk
YXRhKFBhc3NSZWZQdHI8TWV0YWRhdGFDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVm
UHRyCiB7CiAgICAgUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2soZXJyb3JDYWxs
YmFja1JlZik7CiAgICAgaWYgKCFtX2ZpbGVTeXN0ZW0tPmdldE1ldGFkYXRhKHRoaXMsIHN1Y2Nl
c3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaykpCi0gICAgICAgIGZpbGVzeXN0ZW0oKS0+c2NoZWR1
bGVDYWxsYmFjayhlcnJvckNhbGxiYWNrLnJlbGVhc2UoKSwgRmlsZUVycm9yOjpjcmVhdGUoSU5W
QUxJRF9NT0RJRklDQVRJT05fRVJSKSk7CisgICAgICAgIGZpbGVzeXN0ZW0oKS0+c2NoZWR1bGVD
YWxsYmFjayhlcnJvckNhbGxiYWNrLnJlbGVhc2UoKSwgRmlsZUVycm9yOjpjcmVhdGUoRmlsZUVy
cm9yOjpJTlZBTElEX01PRElGSUNBVElPTl9FUlIpKTsKIH0KIAogdm9pZCBFbnRyeTo6bW92ZVRv
KFBhc3NSZWZQdHI8RGlyZWN0b3J5RW50cnk+IHBhcmVudCwgY29uc3QgU3RyaW5nJiBuYW1lLCBQ
YXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxFcnJv
ckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrUmVmKSBjb25zdAogewogICAgIFJlZlB0cjxFcnJvckNh
bGxiYWNrPiBlcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2tSZWYpOwogICAgIGlmICghbV9maWxl
U3lzdGVtLT5tb3ZlKHRoaXMsIHBhcmVudC5nZXQoKSwgbmFtZSwgc3VjY2Vzc0NhbGxiYWNrLCBl
cnJvckNhbGxiYWNrKSkKLSAgICAgICAgZmlsZXN5c3RlbSgpLT5zY2hlZHVsZUNhbGxiYWNrKGVy
cm9yQ2FsbGJhY2sucmVsZWFzZSgpLCBGaWxlRXJyb3I6OmNyZWF0ZShJTlZBTElEX01PRElGSUNB
VElPTl9FUlIpKTsKKyAgICAgICAgZmlsZXN5c3RlbSgpLT5zY2hlZHVsZUNhbGxiYWNrKGVycm9y
Q2FsbGJhY2sucmVsZWFzZSgpLCBGaWxlRXJyb3I6OmNyZWF0ZShGaWxlRXJyb3I6OklOVkFMSURf
TU9ESUZJQ0FUSU9OX0VSUikpOwogfQogCiB2b2lkIEVudHJ5Ojpjb3B5VG8oUGFzc1JlZlB0cjxE
aXJlY3RvcnlFbnRyeT4gcGFyZW50LCBjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8RW50
cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVy
cm9yQ2FsbGJhY2tSZWYpIGNvbnN0CiB7CiAgICAgUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9y
Q2FsbGJhY2soZXJyb3JDYWxsYmFja1JlZik7CiAgICAgaWYgKCFtX2ZpbGVTeXN0ZW0tPmNvcHko
dGhpcywgcGFyZW50LmdldCgpLCBuYW1lLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2sp
KQotICAgICAgICBmaWxlc3lzdGVtKCktPnNjaGVkdWxlQ2FsbGJhY2soZXJyb3JDYWxsYmFjay5y
ZWxlYXNlKCksIEZpbGVFcnJvcjo6Y3JlYXRlKElOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUikpOwor
ICAgICAgICBmaWxlc3lzdGVtKCktPnNjaGVkdWxlQ2FsbGJhY2soZXJyb3JDYWxsYmFjay5yZWxl
YXNlKCksIEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVFcnJvcjo6SU5WQUxJRF9NT0RJRklDQVRJT05f
RVJSKSk7CiB9CiAKIHZvaWQgRW50cnk6OnJlbW92ZShQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4g
c3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2tS
ZWYpIGNvbnN0CiB7CiAgICAgUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2soZXJy
b3JDYWxsYmFja1JlZik7CiAgICAgaWYgKCFtX2ZpbGVTeXN0ZW0tPnJlbW92ZSh0aGlzLCBzdWNj
ZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spKQotICAgICAgICBmaWxlc3lzdGVtKCktPnNjaGVk
dWxlQ2FsbGJhY2soZXJyb3JDYWxsYmFjay5yZWxlYXNlKCksIEZpbGVFcnJvcjo6Y3JlYXRlKElO
VkFMSURfTU9ESUZJQ0FUSU9OX0VSUikpOworICAgICAgICBmaWxlc3lzdGVtKCktPnNjaGVkdWxl
Q2FsbGJhY2soZXJyb3JDYWxsYmFjay5yZWxlYXNlKCksIEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVF
cnJvcjo6SU5WQUxJRF9NT0RJRklDQVRJT05fRVJSKSk7CiB9CiAKIHZvaWQgRW50cnk6OmdldFBh
cmVudChQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0
cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrUmVmKSBjb25zdAogewogICAgIFJlZlB0cjxF
cnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2tSZWYpOwogICAgIGlmICgh
bV9maWxlU3lzdGVtLT5nZXRQYXJlbnQodGhpcywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxi
YWNrKSkKLSAgICAgICAgZmlsZXN5c3RlbSgpLT5zY2hlZHVsZUNhbGxiYWNrKGVycm9yQ2FsbGJh
Y2sucmVsZWFzZSgpLCBGaWxlRXJyb3I6OmNyZWF0ZShJTlZBTElEX01PRElGSUNBVElPTl9FUlIp
KTsKKyAgICAgICAgZmlsZXN5c3RlbSgpLT5zY2hlZHVsZUNhbGxiYWNrKGVycm9yQ2FsbGJhY2su
cmVsZWFzZSgpLCBGaWxlRXJyb3I6OmNyZWF0ZShGaWxlRXJyb3I6OklOVkFMSURfTU9ESUZJQ0FU
SU9OX0VSUikpOwogfQogCiBTdHJpbmcgRW50cnk6OnRvVVJJKGNvbnN0IFN0cmluZyYpCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9F
bnRyeVN5bmMuY3BwCmluZGV4IGFkMDA3ZGIwOTRlMWMzOTZjMjRmN2NmYjY0NTY1NDI0MmYxYjQw
MjAuLmEwNmJkMjI2M2U5ODY1ZWYxZjZkNzBkMjUzYjI3YzhmZGIxMDY4NWIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvZmlsZWFwaS9FbnRyeVN5bmMuY3BwCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRy
eVN5bmMuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiRGlyZWN0b3J5RW50cnkuaCIK
ICNpbmNsdWRlICJEaXJlY3RvcnlFbnRyeVN5bmMuaCIKICNpbmNsdWRlICJGaWxlRW50cnlTeW5j
LmgiCisjaW5jbHVkZSAiRmlsZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIk1ldGFkYXRhLmgiCiAj
aW5jbHVkZSAiU3luY0NhbGxiYWNrSGVscGVyLmgiCiAKQEAgLTU1LDcgKzU2LDcgQEAgUGFzc1Jl
ZlB0cjxNZXRhZGF0YT4gRW50cnlTeW5jOjpnZXRNZXRhZGF0YShFeGNlcHRpb25Db2RlJiBlYykK
ICAgICBlYyA9IDA7CiAgICAgTWV0YWRhdGFTeW5jQ2FsbGJhY2tIZWxwZXIgaGVscGVyKG1fZmls
ZVN5c3RlbS0+YXN5bmNGaWxlU3lzdGVtKCkpOwogICAgIGlmICghbV9maWxlU3lzdGVtLT5nZXRN
ZXRhZGF0YSh0aGlzLCBoZWxwZXIuc3VjY2Vzc0NhbGxiYWNrKCksIGhlbHBlci5lcnJvckNhbGxi
YWNrKCkpKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSOworICAgICAg
ICBlYyA9IEZpbGVFeGNlcHRpb246OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUjsKICAgICAgICAg
cmV0dXJuIDA7CiAgICAgfQogICAgIHJldHVybiBoZWxwZXIuZ2V0UmVzdWx0KGVjKTsKQEAgLTY2
LDcgKzY3LDcgQEAgUGFzc1JlZlB0cjxFbnRyeVN5bmM+IEVudHJ5U3luYzo6bW92ZVRvKFBhc3NS
ZWZQdHI8RGlyZWN0b3J5RW50cnlTeW5jPiBwYXJlbnQsIGMKICAgICBlYyA9IDA7CiAgICAgRW50
cnlTeW5jQ2FsbGJhY2tIZWxwZXIgaGVscGVyKG1fZmlsZVN5c3RlbS0+YXN5bmNGaWxlU3lzdGVt
KCkpOwogICAgIGlmICghbV9maWxlU3lzdGVtLT5tb3ZlKHRoaXMsIHBhcmVudC5nZXQoKSwgbmFt
ZSwgaGVscGVyLnN1Y2Nlc3NDYWxsYmFjaygpLCBoZWxwZXIuZXJyb3JDYWxsYmFjaygpKSkgewot
ICAgICAgICBlYyA9IElOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUjsKKyAgICAgICAgZWMgPSBGaWxl
RXhjZXB0aW9uOjpJTlZBTElEX01PRElGSUNBVElPTl9FUlI7CiAgICAgICAgIHJldHVybiAwOwog
ICAgIH0KICAgICByZXR1cm4gaGVscGVyLmdldFJlc3VsdChlYyk7CkBAIC03Nyw3ICs3OCw3IEBA
IFBhc3NSZWZQdHI8RW50cnlTeW5jPiBFbnRyeVN5bmM6OmNvcHlUbyhQYXNzUmVmUHRyPERpcmVj
dG9yeUVudHJ5U3luYz4gcGFyZW50LCBjCiAgICAgZWMgPSAwOwogICAgIEVudHJ5U3luY0NhbGxi
YWNrSGVscGVyIGhlbHBlcihtX2ZpbGVTeXN0ZW0tPmFzeW5jRmlsZVN5c3RlbSgpKTsKICAgICBp
ZiAoIW1fZmlsZVN5c3RlbS0+Y29weSh0aGlzLCBwYXJlbnQuZ2V0KCksIG5hbWUsIGhlbHBlci5z
dWNjZXNzQ2FsbGJhY2soKSwgaGVscGVyLmVycm9yQ2FsbGJhY2soKSkpIHsKLSAgICAgICAgZWMg
PSBJTlZBTElEX01PRElGSUNBVElPTl9FUlI7CisgICAgICAgIGVjID0gRmlsZUV4Y2VwdGlvbjo6
SU5WQUxJRF9NT0RJRklDQVRJT05fRVJSOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAg
cmV0dXJuIGhlbHBlci5nZXRSZXN1bHQoZWMpOwpAQCAtODgsNyArODksNyBAQCB2b2lkIEVudHJ5
U3luYzo6cmVtb3ZlKEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogICAgIGVjID0gMDsKICAgICBW
b2lkU3luY0NhbGxiYWNrSGVscGVyIGhlbHBlcihtX2ZpbGVTeXN0ZW0tPmFzeW5jRmlsZVN5c3Rl
bSgpKTsKICAgICBpZiAoIW1fZmlsZVN5c3RlbS0+cmVtb3ZlKHRoaXMsIGhlbHBlci5zdWNjZXNz
Q2FsbGJhY2soKSwgaGVscGVyLmVycm9yQ2FsbGJhY2soKSkpIHsKLSAgICAgICAgZWMgPSBJTlZB
TElEX01PRElGSUNBVElPTl9FUlI7CisgICAgICAgIGVjID0gRmlsZUV4Y2VwdGlvbjo6SU5WQUxJ
RF9NT0RJRklDQVRJT05fRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGhlbHBlci5n
ZXRSZXN1bHQoZWMpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVFcnJvci5oIGIv
V2ViQ29yZS9maWxlYXBpL0ZpbGVFcnJvci5oCmluZGV4IDM1MjgxMDkxOGU1MDViNzlmZTkxNjZm
MTI0M2Y2ZDFiZDAyZmNkZjQuLjI3YWQzOTcwMzg2NzhkMWZkY2FkMDY1Y2JkNzNhZWUyZmRhYTAy
NmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXJyb3IuaAorKysgYi9XZWJDb3Jl
L2ZpbGVhcGkvRmlsZUVycm9yLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2lmIEVOQUJMRShCTE9C
KSB8fCBFTkFCTEUoRklMRV9TWVNURU0pCiAKLSNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgog
CkBAIC00MSwxNiArNDAsMzEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGaWxlRXJy
b3IgOiBwdWJsaWMgUmVmQ291bnRlZDxGaWxlRXJyb3I+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMg
UGFzc1JlZlB0cjxGaWxlRXJyb3I+IGNyZWF0ZShFeGNlcHRpb25Db2RlIGNvZGUpIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBGaWxlRXJyb3IoY29kZSkpOyB9CisgICAgZW51bSBFcnJvckNvZGUgewor
ICAgICAgICBOT1RfRk9VTkRfRVJSID0gMSwKKyAgICAgICAgU0VDVVJJVFlfRVJSID0gMiwKKyAg
ICAgICAgQUJPUlRfRVJSID0gMywKKyAgICAgICAgTk9UX1JFQURBQkxFX0VSUiA9IDQsCisgICAg
ICAgIEVOQ09ESU5HX0VSUiA9IDUsCisgICAgICAgIE5PX01PRElGSUNBVElPTl9BTExPV0VEX0VS
UiA9IDYsCisgICAgICAgIElOVkFMSURfU1RBVEVfRVJSID0gNywKKyAgICAgICAgU1lOVEFYX0VS
UiA9IDgsCisgICAgICAgIElOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUiA9IDksCisgICAgICAgIFFV
T1RBX0VYQ0VFREVEX0VSUiA9IDEwLAorICAgICAgICBUWVBFX01JU01BVENIX0VSUiA9IDExLAor
ICAgICAgICBQQVRIX0VYSVNUU19FUlIgPSAxMiwKKyAgICB9OwogCi0gICAgRXhjZXB0aW9uQ29k
ZSBjb2RlKCkgY29uc3QgeyByZXR1cm4gbV9jb2RlOyB9CisgICAgc3RhdGljIFBhc3NSZWZQdHI8
RmlsZUVycm9yPiBjcmVhdGUoRXJyb3JDb2RlIGNvZGUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBG
aWxlRXJyb3IoY29kZSkpOyB9CisKKyAgICBFcnJvckNvZGUgY29kZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY29kZTsgfQogCiBwcml2YXRlOgotICAgIEZpbGVFcnJvcihFeGNlcHRpb25Db2RlIGNvZGUp
CisgICAgRmlsZUVycm9yKEVycm9yQ29kZSBjb2RlKQogICAgICAgICA6IG1fY29kZShjb2RlKQog
ICAgIHsgfQogCi0gICAgRXhjZXB0aW9uQ29kZSBtX2NvZGU7CisgICAgRXJyb3JDb2RlIG1fY29k
ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmls
ZWFwaS9GaWxlRXJyb3IuaWRsIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFcnJvci5pZGwKaW5kZXgg
YzVkZWRiZWQ2MWYxNTUzNjg2MjEzYTMwMWVhNWQ5MDdjMjcyYzg3ZS4uYmFiODE1YWQ2OTU0OWQy
ZDVkMTg0MzUxMTA1ZWExOTYzZDQwZTI2NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0Zp
bGVFcnJvci5pZGwKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFcnJvci5pZGwKQEAgLTMxLDIx
ICszMSwyMyBAQAogbW9kdWxlIGh0bWwgewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIENvbmRp
dGlvbmFsPUJMT0J8RklMRV9TWVNURU0sCi0gICAgICAgIERvbnRDaGVja0VudW1zLAogICAgICAg
ICBOb1N0YXRpY1RhYmxlcwogICAgIF0gRmlsZUVycm9yIHsKICNpZiAhZGVmaW5lZChMQU5HVUFH
RV9PQkpFQ1RJVkVfQykKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTk9fTU9ESUZJQ0FU
SU9OX0FMTE9XRURfRVJSID0gNzsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTk9UX0ZP
VU5EX0VSUiA9IDg7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IElOVkFMSURfU1RBVEVf
RVJSID0gMTE7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNZTlRBWF9FUlIgPSAxMjsK
LSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSID0g
MTM7CisgICAgICAgIC8vIEZJWE1FOiBTb21lIG9mIGNvbnN0YW50IG5hbWVzIGFyZSBhbHJlYWR5
IGRlZmluZWQgaW4gRE9NRXhjZXB0aW9uLmggZm9yIE9iamVjdGl2ZS1DIGJpbmRpbmcgYW5kIHdl
IGNhbm5vdCBoYXZlIHRoZSBzYW1lIG5hbWVzIGhlcmUgKHRoZXkgYXJlIHRyYW5zbGF0ZWQgaW50
byBhIGVudW0gaW4gdGhlIHNhbWUgbmFtZXNwYWNlKS4KKyAgICAgICAgY29uc3QgdW5zaWduZWQg
c2hvcnQgTk9UX0ZPVU5EX0VSUiA9IDE7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNF
Q1VSSVRZX0VSUiA9IDI7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEFCT1JUX0VSUiA9
IDM7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5PVF9SRUFEQUJMRV9FUlIgPSA0Owor
ICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBFTkNPRElOR19FUlIgPSA1OworICAgICAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIgPSA2OworICAg
ICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBJTlZBTElEX1NUQVRFX0VSUiA9IDc7CisgICAgICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IFNZTlRBWF9FUlIgPSA4OworICAgICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBJTlZBTElEX01PRElGSUNBVElPTl9FUlIgPSA5OworICAgICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBRVU9UQV9FWENFRURFRF9FUlIgPSAxMDsKKyAgICAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgVFlQRV9NSVNNQVRDSF9FUlIgPSAxMTsKKyAgICAgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgUEFUSF9FWElTVFNfRVJSID0gMTI7CiAjZW5kaWYKLSAgICAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgU0VDVVJJVFlfRVJSID0gMTg7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IEFCT1JUX0VSUiA9IDIwOwotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBRVU9UQV9F
WENFRURFRF9FUlIgPSAyMjsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTk9UX1JFQURB
QkxFX0VSUiA9IDI0OwotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBFTkNPRElOR19FUlIg
PSAyNjsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGNvZGU7CiAg
ICAgfTsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmggYi9X
ZWJDb3JlL2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5oCmluZGV4IGU5MGFiOTAyMjg2ZWQwNmQ0NTU5
NWZiZWFjM2VhNjBjNGU4NThmYWQuLmMzY2M2MzgwYWVlYjg3YzM4NWYzNmY4Mjg0NWUwY2IxNmYy
NjdkMjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmgKKysrIGIv
V2ViQ29yZS9maWxlYXBpL0ZpbGVFeGNlcHRpb24uaApAQCAtNDQsMTMgKzQ0LDMxIEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGaWxlRXhjZXB0aW9uKGRlc2NyaXB0aW9u
KSk7CiAgICAgfQogCi0gICAgc3RhdGljIGNvbnN0IGludCBGaWxlRXhjZXB0aW9uT2Zmc2V0ID0g
MTAwOwotICAgIHN0YXRpYyBjb25zdCBpbnQgRmlsZUV4Y2VwdGlvbk1heCA9IDE5OTsKKyAgICBz
dGF0aWMgY29uc3QgaW50IEZpbGVFeGNlcHRpb25PZmZzZXQgPSAxMTAwOworICAgIHN0YXRpYyBj
b25zdCBpbnQgRmlsZUV4Y2VwdGlvbk1heCA9IDExOTk7CiAKLSAgICBlbnVtIEV2ZW50RXhjZXB0
aW9uQ29kZSB7Ci0gICAgICAgIFVOU1BFQ0lGSUVEX0VWRU5UX1RZUEVfRVJSID0gRmlsZUV4Y2Vw
dGlvbk9mZnNldAorICAgIGVudW0gRmlsZUV4Y2VwdGlvbkNvZGUgeworICAgICAgICBOT1RfRk9V
TkRfRVJSID0gRmlsZUV4Y2VwdGlvbk9mZnNldCArIDEsCisgICAgICAgIFNFQ1VSSVRZX0VSUiA9
IEZpbGVFeGNlcHRpb25PZmZzZXQgKyAyLAorICAgICAgICBBQk9SVF9FUlIgPSBGaWxlRXhjZXB0
aW9uT2Zmc2V0ICsgMywKKyAgICAgICAgTk9UX1JFQURBQkxFX0VSUiA9IEZpbGVFeGNlcHRpb25P
ZmZzZXQgKyA0LAorICAgICAgICBFTkNPRElOR19FUlIgPSBGaWxlRXhjZXB0aW9uT2Zmc2V0ICsg
NSwKKyAgICAgICAgTk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJSID0gRmlsZUV4Y2VwdGlvbk9m
ZnNldCArIDYsCisgICAgICAgIElOVkFMSURfU1RBVEVfRVJSID0gRmlsZUV4Y2VwdGlvbk9mZnNl
dCArIDcsCisgICAgICAgIFNZTlRBWF9FUlIgPSBGaWxlRXhjZXB0aW9uT2Zmc2V0ICsgOCwKKyAg
ICAgICAgSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSID0gRmlsZUV4Y2VwdGlvbk9mZnNldCArIDks
CisgICAgICAgIFFVT1RBX0VYQ0VFREVEX0VSUiA9IEZpbGVFeGNlcHRpb25PZmZzZXQgKyAxMCwK
KyAgICAgICAgVFlQRV9NSVNNQVRDSF9FUlIgPSBGaWxlRXhjZXB0aW9uT2Zmc2V0ICsgMTEsCisg
ICAgICAgIFBBVEhfRVhJU1RTX0VSUiA9IEZpbGVFeGNlcHRpb25PZmZzZXQgKyAxMiwKICAgICB9
OwogCisgICAgc3RhdGljIGludCBFcnJvckNvZGVUb0V4Y2VwdGlvbkNvZGUoaW50IGVycm9yQ29k
ZSkKKyAgICB7CisgICAgICAgIGlmICghZXJyb3JDb2RlKQorICAgICAgICAgICAgcmV0dXJuIDA7
CisgICAgICAgIHJldHVybiBlcnJvckNvZGUgKyBGaWxlRXhjZXB0aW9uT2Zmc2V0OworICAgIH0K
KwogcHJpdmF0ZToKICAgICBGaWxlRXhjZXB0aW9uKGNvbnN0IEV4Y2VwdGlvbkNvZGVEZXNjcmlw
dGlvbiYgZGVzY3JpcHRpb24pCiAgICAgICAgIDogRXhjZXB0aW9uQmFzZShkZXNjcmlwdGlvbikK
QEAgLTYzLDQgKzgxLDMgQEAgcHJpdmF0ZToKICNlbmRpZiAvLyBFTkFCTEUoQkxPQikgfHwgRU5B
QkxFKEZJTEVfU1lTVEVNKQogCiAjZW5kaWYgLy8gRmlsZUV4Y2VwdGlvbl9oCi0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmlkbCBiL1dlYkNvcmUvZmlsZWFwaS9G
aWxlRXhjZXB0aW9uLmlkbAppbmRleCAwYjJhYjljYzM3ZmVhODY5NTZiNTMyYmYwOTMyMzllZjkx
MDBjYTQwLi4xMGJkMTUxNzc3ZDBkMjU0ZWJjNWZkODc3YWYxNjYyZTkxMGRjYmM3IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5pZGwKKysrIGIvV2ViQ29yZS9maWxl
YXBpL0ZpbGVFeGNlcHRpb24uaWRsCkBAIC00NSwxNSArNDUsMTcgQEAgbW9kdWxlIGh0bWwgewog
I2VuZGlmCiAKICAgICAgICAgLy8gRmlsZUV4Y2VwdGlvbkNvZGUKLSAgICAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgTk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJSID0gNzsKLSAgICAgICAgY29u
c3QgdW5zaWduZWQgc2hvcnQgTk9UX0ZPVU5EX0VSUiA9IDg7Ci0gICAgICAgIGNvbnN0IHVuc2ln
bmVkIHNob3J0IElOVkFMSURfU1RBVEVfRVJSID0gMTE7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVk
IHNob3J0IFNZTlRBWF9FUlIgPSAxMjsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgSU5W
QUxJRF9NT0RJRklDQVRJT05fRVJSID0gMTM7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IFNFQ1VSSVRZX0VSUiA9IDE4OwotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBBQk9SVF9F
UlIgPSAyMDsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUVVPVEFfRVhDRUVERURfRVJS
ID0gMjI7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5PVF9SRUFEQUJMRV9FUlIgPSAy
NDsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgRU5DT0RJTkdfRVJSID0gMjY7CisgICAg
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5PVF9GT1VORF9FUlIgPSAxOworICAgICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBTRUNVUklUWV9FUlIgPSAyOworICAgICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBBQk9SVF9FUlIgPSAzOworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBOT1Rf
UkVBREFCTEVfRVJSID0gNDsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgRU5DT0RJTkdf
RVJSID0gNTsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTk9fTU9ESUZJQ0FUSU9OX0FM
TE9XRURfRVJSID0gNjsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgSU5WQUxJRF9TVEFU
RV9FUlIgPSA3OworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTWU5UQVhfRVJSID0gODsK
KyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSID0g
OTsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUVVPVEFfRVhDRUVERURfRVJSID0gMTA7
CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFRZUEVfTUlTTUFUQ0hfRVJSID0gMTE7Cisg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFBBVEhfRVhJU1RTX0VSUiA9IDEyOwogICAgIH07
CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5jcHAgYi9XZWJDb3Jl
L2ZpbGVhcGkvRmlsZVJlYWRlci5jcHAKaW5kZXggMGI3YjQ2ZDYxOTllMDg1ZDQ4YjVkZWU2NmU3
MTVhZTc2YTBhZTI3My4uNjY2MjU5YTdjZGMwYjA0OTEwY2I0NDhhMGE3MGE2YWY0YThiM2IzNyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuY3BwCisrKyBiL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlUmVhZGVyLmNwcApAQCAtMTQ1LDcgKzE0NSw3IEBAIHZvaWQgRmlsZVJlYWRl
cjo6YWJvcnQoKQogICAgIHRlcm1pbmF0ZSgpOwogCiAgICAgbV9idWlsZGVyLmNsZWFyKCk7Ci0g
ICAgbV9lcnJvciA9IEZpbGVFcnJvcjo6Y3JlYXRlKEFCT1JUX0VSUik7CisgICAgbV9lcnJvciA9
IEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVFcnJvcjo6QUJPUlRfRVJSKTsKIAogICAgIGZpcmVFdmVu
dChldmVudE5hbWVzKCkuZXJyb3JFdmVudCk7CiAgICAgZmlyZUV2ZW50KGV2ZW50TmFtZXMoKS5h
Ym9ydEV2ZW50KTsKQEAgLTI1NSwyMiArMjU1LDIyIEBAIHZvaWQgRmlsZVJlYWRlcjo6ZmFpbGVk
KGludCBodHRwU3RhdHVzQ29kZSkKIHsKICAgICBtX3N0YXRlID0gQ29tcGxldGVkOwogCi0gICAg
IG1fZXJyb3IgPSBGaWxlRXJyb3I6OmNyZWF0ZShodHRwU3RhdHVzQ29kZVRvRXhjZXB0aW9uQ29k
ZShodHRwU3RhdHVzQ29kZSkpOworICAgICBtX2Vycm9yID0gRmlsZUVycm9yOjpjcmVhdGUoaHR0
cFN0YXR1c0NvZGVUb0Vycm9yQ29kZShodHRwU3RhdHVzQ29kZSkpOwogICAgIGZpcmVFdmVudChl
dmVudE5hbWVzKCkuZXJyb3JFdmVudCk7CiAgICAgZmlyZUV2ZW50KGV2ZW50TmFtZXMoKS5sb2Fk
ZW5kRXZlbnQpOwogCiAgICAgY2xlYW51cCgpOwogfQogCi1FeGNlcHRpb25Db2RlIEZpbGVSZWFk
ZXI6Omh0dHBTdGF0dXNDb2RlVG9FeGNlcHRpb25Db2RlKGludCBodHRwU3RhdHVzQ29kZSkKK0Zp
bGVFcnJvcjo6RXJyb3JDb2RlIEZpbGVSZWFkZXI6Omh0dHBTdGF0dXNDb2RlVG9FcnJvckNvZGUo
aW50IGh0dHBTdGF0dXNDb2RlKQogewogICAgIHN3aXRjaCAoaHR0cFN0YXR1c0NvZGUpIHsKICAg
ICAgICAgY2FzZSA0MDM6Ci0gICAgICAgICAgICByZXR1cm4gU0VDVVJJVFlfRVJSOworICAgICAg
ICAgICAgcmV0dXJuIEZpbGVFcnJvcjo6U0VDVVJJVFlfRVJSOwogICAgICAgICBjYXNlIDQwNDoK
LSAgICAgICAgICAgIHJldHVybiBOT1RfRk9VTkRfRVJSOworICAgICAgICAgICAgcmV0dXJuIEZp
bGVFcnJvcjo6Tk9UX0ZPVU5EX0VSUjsKICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJl
dHVybiBOT1RfUkVBREFCTEVfRVJSOworICAgICAgICAgICAgcmV0dXJuIEZpbGVFcnJvcjo6Tk9U
X1JFQURBQkxFX0VSUjsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9G
aWxlUmVhZGVyLmggYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5oCmluZGV4IGY5MTRkYWRh
MjMyNmY0Mjk4OTMyMThmZjQ0OWI0YjE3YWU5MzcwZWIuLjVhMTM1YTJmYTBiZmY2YjUyYTAyMjY0
MmMxYWEwYTQyYmY1NzgyZDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVy
LmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuaApAQCAtODAsNyArODAsNyBAQCBw
dWJsaWM6CiAgICAgU3RyaW5nIHJlc3VsdCgpOwogCiAgICAgLy8gSGVscGVyIG1ldGhvZHMsIGFs
c28gdXNlZCBieSBGaWxlUmVhZGVyU3luYy4KLSAgICBzdGF0aWMgRXhjZXB0aW9uQ29kZSBodHRw
U3RhdHVzQ29kZVRvRXhjZXB0aW9uQ29kZShpbnQgaHR0cFN0YXR1c0NvZGUpOworICAgIHN0YXRp
YyBGaWxlRXJyb3I6OkVycm9yQ29kZSBodHRwU3RhdHVzQ29kZVRvRXJyb3JDb2RlKGludCBodHRw
U3RhdHVzQ29kZSk7CiAgICAgc3RhdGljIHZvaWQgY29udmVydFRvRGF0YVVSTChjb25zdCBWZWN0
b3I8Y2hhcj4mIHJhd0RhdGEsIGNvbnN0IFN0cmluZyYgZmlsZVR5cGUsIFN0cmluZ0J1aWxkZXIm
KTsKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBp
L0ZpbGVSZWFkZXJTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyU3luYy5jcHAK
aW5kZXggNjQyNWJjZjQ1ZDkwYWUyZjNkMTRjMWIyYTYzNjBmM2I5NWU2YWQ1MC4uOTlmNWE4OWJi
Mzk0ZmU1MjBkZGMxNDgxOTNhODRjNWVhNDA5MWY2YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxl
YXBpL0ZpbGVSZWFkZXJTeW5jLmNwcAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlclN5
bmMuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiQmFzZTY0LmgiCiAjaW5jbHVkZSAi
QmxvYi5oIgogI2luY2x1ZGUgIkJsb2JVUkwuaCIKKyNpbmNsdWRlICJGaWxlRXhjZXB0aW9uLmgi
CiAjaW5jbHVkZSAiRmlsZVJlYWRlci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgog
I2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKQEAgLTkxLDcgKzkyLDcgQEAgdm9pZCBGaWxl
UmVhZGVyU3luY0xvYWRlcjo6c3RhcnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCwKIAogICAgIFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNo
cm9ub3VzbHkoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgcmVxdWVzdCwgKnRoaXMsIG9wdGlvbnMp
OwogCi0gICAgZWMgPSAobV9odHRwU3RhdHVzQ29kZSA9PSAyMDApID8gMCA6IEZpbGVSZWFkZXI6
Omh0dHBTdGF0dXNDb2RlVG9FeGNlcHRpb25Db2RlKG1faHR0cFN0YXR1c0NvZGUpOworICAgIGVj
ID0gKG1faHR0cFN0YXR1c0NvZGUgPT0gMjAwKSA/IDAgOiBGaWxlRXhjZXB0aW9uOjpFcnJvckNv
ZGVUb0V4Y2VwdGlvbkNvZGUoRmlsZVJlYWRlcjo6aHR0cFN0YXR1c0NvZGVUb0Vycm9yQ29kZSht
X2h0dHBTdGF0dXNDb2RlKSk7CiB9CiAKIHZvaWQgRmlsZVJlYWRlclN5bmNMb2FkZXI6OmRpZFJl
Y2VpdmVSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlU3lzdGVtQ2FsbGJhY2tzLmNwcCBiL1dlYkNvcmUvZmls
ZWFwaS9GaWxlU3lzdGVtQ2FsbGJhY2tzLmNwcAppbmRleCBlNWY0MDRlYmFlZDE1MTY1NzI0NjJl
NjY3Nzg3OGYyYzNkMTQ5ODg5Li40NTNmY2YxYWVkNjUzYWQzYTQ4NmMxYzNkNjk1MGIyY2ZhNjM0
NzIzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVN5c3RlbUNhbGxiYWNrcy5jcHAK
KysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVTeXN0ZW1DYWxsYmFja3MuY3BwCkBAIC00Myw3ICs0
Myw2IEBACiAjaW5jbHVkZSAiRW50cnlBcnJheS5oIgogI2luY2x1ZGUgIkVudHJ5Q2FsbGJhY2su
aCIKICNpbmNsdWRlICJFcnJvckNhbGxiYWNrLmgiCi0jaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5o
IgogI2luY2x1ZGUgIkZpbGVFbnRyeS5oIgogI2luY2x1ZGUgIkZpbGVFcnJvci5oIgogI2luY2x1
ZGUgIkZpbGVTeXN0ZW1DYWxsYmFjay5oIgpAQCAtMTA0LDcgKzEwMyw3IEBAIHZvaWQgRmlsZVN5
c3RlbUNhbGxiYWNrc0Jhc2U6OmRpZENyZWF0ZUZpbGVXcml0ZXIoUGFzc093blB0cjxBc3luY0Zp
bGVXcml0ZXI+LCBsCiB2b2lkIEZpbGVTeXN0ZW1DYWxsYmFja3NCYXNlOjpkaWRGYWlsKGludCBj
b2RlKQogewogICAgIGlmIChtX2Vycm9yQ2FsbGJhY2spIHsKLSAgICAgICAgbV9lcnJvckNhbGxi
YWNrLT5oYW5kbGVFdmVudChGaWxlRXJyb3I6OmNyZWF0ZShjb2RlKS5nZXQoKSk7CisgICAgICAg
IG1fZXJyb3JDYWxsYmFjay0+aGFuZGxlRXZlbnQoRmlsZUVycm9yOjpjcmVhdGUoc3RhdGljX2Nh
c3Q8RmlsZUVycm9yOjpFcnJvckNvZGU+KGNvZGUpKS5nZXQoKSk7CiAgICAgICAgIG1fZXJyb3JD
YWxsYmFjay5jbGVhcigpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9G
aWxlV3JpdGVyLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlV3JpdGVyLmNwcAppbmRleCBiYzc2
OTg0Y2JmZTI1MTllNWY1ZmVmNjllOWZjZTgwMGEzNjYwMzUyLi43Nzc1NzA5MjFmODZmOTdkMmVh
YjZiNDc0N2UwMzIxMDY4NmJkY2JjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVdy
aXRlci5jcHAKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVXcml0ZXIuY3BwCkBAIC0zOCw2ICsz
OCw3IEBACiAjaW5jbHVkZSAiQmxvYi5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNp
bmNsdWRlICJGaWxlRXJyb3IuaCIKKyNpbmNsdWRlICJGaWxlRXhjZXB0aW9uLmgiCiAjaW5jbHVk
ZSAiUHJvZ3Jlc3NFdmVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC05MCwxMyArOTEs
MTEgQEAgdm9pZCBGaWxlV3JpdGVyOjp3cml0ZShCbG9iKiBkYXRhLCBFeGNlcHRpb25Db2RlJiBl
YykKIHsKICAgICBBU1NFUlQobV93cml0ZXIpOwogICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gV1JJ
VElORykgewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICBtX2Vycm9y
ID0gRmlsZUVycm9yOjpjcmVhdGUoZWMpOworICAgICAgICBzZXRFcnJvcihGaWxlRXJyb3I6OklO
VkFMSURfU1RBVEVfRVJSLCBlYyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKCFk
YXRhKSB7Ci0gICAgICAgIGVjID0gVFlQRV9NSVNNQVRDSF9FUlI7Ci0gICAgICAgIG1fZXJyb3Ig
PSBGaWxlRXJyb3I6OmNyZWF0ZShlYyk7CisgICAgICAgIHNldEVycm9yKEZpbGVFcnJvcjo6VFlQ
RV9NSVNNQVRDSF9FUlIsIGVjKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTEyLDgg
KzExMSw3IEBAIHZvaWQgRmlsZVdyaXRlcjo6c2Vlayhsb25nIGxvbmcgcG9zaXRpb24sIEV4Y2Vw
dGlvbkNvZGUmIGVjKQogewogICAgIEFTU0VSVChtX3dyaXRlcik7CiAgICAgaWYgKG1fcmVhZHlT
dGF0ZSA9PSBXUklUSU5HKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7Ci0gICAg
ICAgIG1fZXJyb3IgPSBGaWxlRXJyb3I6OmNyZWF0ZShlYyk7CisgICAgICAgIHNldEVycm9yKEZp
bGVFcnJvcjo6SU5WQUxJRF9TVEFURV9FUlIsIGVjKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IApAQCAtMTMyLDggKzEzMCw3IEBAIHZvaWQgRmlsZVdyaXRlcjo6dHJ1bmNhdGUobG9uZyBsb25n
IHBvc2l0aW9uLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBBU1NFUlQobV93cml0ZXIpOwog
ICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gV1JJVElORyB8fCBwb3NpdGlvbiA8IDApIHsKLSAgICAg
ICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgbV9lcnJvciA9IEZpbGVFcnJvcjo6
Y3JlYXRlKGVjKTsKKyAgICAgICAgc2V0RXJyb3IoRmlsZUVycm9yOjpJTlZBTElEX1NUQVRFX0VS
UiwgZWMpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1fcmVhZHlTdGF0ZSA9IFdSSVRJ
Tkc7CkBAIC0xNDcsMTIgKzE0NCwxMSBAQCB2b2lkIEZpbGVXcml0ZXI6OmFib3J0KEV4Y2VwdGlv
bkNvZGUmIGVjKQogewogICAgIEFTU0VSVChtX3dyaXRlcik7CiAgICAgaWYgKG1fcmVhZHlTdGF0
ZSAhPSBXUklUSU5HKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7Ci0gICAgICAg
IG1fZXJyb3IgPSBGaWxlRXJyb3I6OmNyZWF0ZShlYyk7CisgICAgICAgIHNldEVycm9yKEZpbGVF
cnJvcjo6SU5WQUxJRF9TVEFURV9FUlIsIGVjKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAg
ICAKLSAgICBtX2Vycm9yID0gRmlsZUVycm9yOjpjcmVhdGUoQUJPUlRfRVJSKTsKKworICAgIG1f
ZXJyb3IgPSBGaWxlRXJyb3I6OmNyZWF0ZShGaWxlRXJyb3I6OkFCT1JUX0VSUik7CiAgICAgbV93
cml0ZXItPmFib3J0KCk7CiB9CiAKQEAgLTE5MSwxMSArMTg3LDExIEBAIHZvaWQgRmlsZVdyaXRl
cjo6ZGlkVHJ1bmNhdGUoKQogICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkud3JpdGVlbmRFdmVu
dCk7CiB9CiAKLXZvaWQgRmlsZVdyaXRlcjo6ZGlkRmFpbChFeGNlcHRpb25Db2RlIGVjKQordm9p
ZCBGaWxlV3JpdGVyOjpkaWRGYWlsKEZpbGVFcnJvcjo6RXJyb3JDb2RlIGNvZGUpCiB7Ci0gICAg
bV9lcnJvciA9IEZpbGVFcnJvcjo6Y3JlYXRlKGVjKTsKKyAgICBtX2Vycm9yID0gRmlsZUVycm9y
OjpjcmVhdGUoY29kZSk7CiAgICAgZmlyZUV2ZW50KGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50KTsK
LSAgICBpZiAoQUJPUlRfRVJSID09IGVjKQorICAgIGlmIChGaWxlRXJyb3I6OkFCT1JUX0VSUiA9
PSBjb2RlKQogICAgICAgICBmaXJlRXZlbnQoZXZlbnROYW1lcygpLmFib3J0RXZlbnQpOwogICAg
IGZpcmVFdmVudChldmVudE5hbWVzKCkuZXJyb3JFdmVudCk7CiAgICAgbV9ibG9iQmVpbmdXcml0
dGVuLmNsZWFyKCk7CkBAIC0yMDksNiArMjA1LDEyIEBAIHZvaWQgRmlsZVdyaXRlcjo6ZmlyZUV2
ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSkKICAgICBkaXNwYXRjaEV2ZW50KFByb2dyZXNz
RXZlbnQ6OmNyZWF0ZSh0eXBlLCB0cnVlLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV9ieXRlc1dy
aXR0ZW4pLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV9ieXRlc1RvV3JpdGUpKSk7CiB9CiAKK3Zv
aWQgRmlsZVdyaXRlcjo6c2V0RXJyb3IoRmlsZUVycm9yOjpFcnJvckNvZGUgZXJyb3JDb2RlLCBF
eGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBlYyA9IEZpbGVFeGNlcHRpb246OkVycm9yQ29kZVRv
RXhjZXB0aW9uQ29kZShlcnJvckNvZGUpOworICAgIG1fZXJyb3IgPSBGaWxlRXJyb3I6OmNyZWF0
ZShlcnJvckNvZGUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0gCisKICNlbmRpZiAv
LyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVdy
aXRlci5oIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVXcml0ZXIuaAppbmRleCA0NTQwODFjNTQ1OThm
YmIzMDY5NDg3MmRhNDBkOWRkNzEzZWFkNTI1Li4wZTg4NGVhYTAzNmVjM2Y2MzhjZmI5YWQ3NjI3
MjQ0ODRhNDYzZGYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVdyaXRlci5oCisr
KyBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlV3JpdGVyLmgKQEAgLTc3LDcgKzc3LDcgQEAgcHVibGlj
OgogICAgIC8vIEFzeW5jRmlsZVdyaXRlckNsaWVudAogICAgIHZvaWQgZGlkV3JpdGUobG9uZyBs
b25nIGJ5dGVzLCBib29sIGNvbXBsZXRlKTsKICAgICB2b2lkIGRpZFRydW5jYXRlKCk7Ci0gICAg
dm9pZCBkaWRGYWlsKEV4Y2VwdGlvbkNvZGUgZWMpOworICAgIHZvaWQgZGlkRmFpbChGaWxlRXJy
b3I6OkVycm9yQ29kZSk7CiAKICAgICAvLyBBY3RpdmVET01PYmplY3QKICAgICB2aXJ0dWFsIGJv
b2wgY2FuU3VzcGVuZCgpIGNvbnN0OwpAQCAtOTcsNyArOTcsNyBAQCBwdWJsaWM6CiAgICAgREVG
SU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihhYm9ydCk7CiAgICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihlcnJvcik7CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUih3cml0ZWVuZCk7Ci0gICAgCisKIHByaXZhdGU6CiAgICAgRmlsZVdyaXRlcihTY3JpcHRF
eGVjdXRpb25Db250ZXh0Kik7CiAKQEAgLTExMyw2ICsxMTMsOCBAQCBwcml2YXRlOgogCiAgICAg
dm9pZCBmaXJlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlKTsKIAorICAgIHZvaWQgc2V0
RXJyb3IoRmlsZUVycm9yOjpFcnJvckNvZGUsIEV4Y2VwdGlvbkNvZGUmKTsKKwogICAgIFJlZlB0
cjxGaWxlRXJyb3I+IG1fZXJyb3I7CiAgICAgRXZlbnRUYXJnZXREYXRhIG1fZXZlbnRUYXJnZXRE
YXRhOwogICAgIE93blB0cjxBc3luY0ZpbGVXcml0ZXI+IG1fd3JpdGVyOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oIGIvV2ViQ29yZS9maWxlYXBpL1N5
bmNDYWxsYmFja0hlbHBlci5oCmluZGV4IDE2MTJlOTNjODkxNWEwMDIwZDgwODgwMWI2OWMxYmZi
N2ZhN2MzY2YuLjI1ZTY3MzliN2VhMWVmNDRmODhhZDY4YTc5MDVkM2I4MTc3ZDRjN2EgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaAorKysgYi9XZWJDb3Jl
L2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRl
ICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiRmlsZUVudHJ5LmgiCiAjaW5jbHVkZSAiRmls
ZUVycm9yLmgiCisjaW5jbHVkZSAiRmlsZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkZpbGVTeXN0
ZW1DYWxsYmFjay5oIgogI2luY2x1ZGUgIk1ldGFkYXRhQ2FsbGJhY2suaCIKICNpbmNsdWRlICJW
b2lkQ2FsbGJhY2suaCIKQEAgLTY0LDcgKzY1LDcgQEAgcHVibGljOgogICAgICAgICA6IG1fb2Jz
ZXJ2ZXIob2JzZXJ2ZXIpCiAgICAgICAgICwgbV9zdWNjZXNzQ2FsbGJhY2soU3VjY2Vzc0NhbGxi
YWNrSW1wbDo6Y3JlYXRlKHRoaXMpKQogICAgICAgICAsIG1fZXJyb3JDYWxsYmFjayhFcnJvckNh
bGxiYWNrSW1wbDo6Y3JlYXRlKHRoaXMpKQotICAgICAgICAsIG1fZXJyb3IoMCkKKyAgICAgICAg
LCBtX2V4Y2VwdGlvbkNvZGUoMCkKICAgICAgICAgLCBtX2NvbXBsZXRlZChmYWxzZSkKICAgICB7
CiAgICAgfQpAQCAtNzQsMTIgKzc1LDEyIEBAIHB1YmxpYzoKICAgICAgICAgaWYgKG1fb2JzZXJ2
ZXIpIHsKICAgICAgICAgICAgIHdoaWxlICghbV9jb21wbGV0ZWQpIHsKICAgICAgICAgICAgICAg
ICBpZiAoIW1fb2JzZXJ2ZXItPndhaXRGb3JPcGVyYXRpb25Ub0NvbXBsZXRlKCkpIHsKLSAgICAg
ICAgICAgICAgICAgICAgbV9lcnJvciA9IEFCT1JUX0VSUjsKKyAgICAgICAgICAgICAgICAgICAg
bV9leGNlcHRpb25Db2RlID0gRmlsZUV4Y2VwdGlvbjo6QUJPUlRfRVJSOwogICAgICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0KLSAgICAgICAgZWMgPSBtX2Vycm9yOworICAgICAgICBlYyA9IG1fZXhjZXB0aW9uQ29kZTsK
ICAgICAgICAgcmV0dXJuIG1fcmVzdWx0LnJlbGVhc2UoKTsKICAgICB9CiAKQEAgLTEzOCw5ICsx
MzksOSBAQCBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBTdWNjZXNzQ2FsbGJhY2tJbXBsOwog
ICAgIGZyaWVuZCBjbGFzcyBFcnJvckNhbGxiYWNrSW1wbDsKIAotICAgIHZvaWQgc2V0RXJyb3Io
RXhjZXB0aW9uQ29kZSBlYykKKyAgICB2b2lkIHNldEVycm9yKGludCBjb2RlKQogICAgIHsKLSAg
ICAgICAgbV9lcnJvciA9IGVjOworICAgICAgICBtX2V4Y2VwdGlvbkNvZGUgPSBGaWxlRXhjZXB0
aW9uOjpFcnJvckNvZGVUb0V4Y2VwdGlvbkNvZGUoY29kZSk7CiAgICAgICAgIG1fY29tcGxldGVk
ID0gdHJ1ZTsKICAgICB9CiAKQEAgLTE1NCw3ICsxNTUsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0
cjxTdWNjZXNzQ2FsbGJhY2tJbXBsPiBtX3N1Y2Nlc3NDYWxsYmFjazsKICAgICBSZWZQdHI8RXJy
b3JDYWxsYmFja0ltcGw+IG1fZXJyb3JDYWxsYmFjazsKICAgICBSZWZQdHI8UmVzdWx0VHlwZT4g
bV9yZXN1bHQ7Ci0gICAgRXhjZXB0aW9uQ29kZSBtX2Vycm9yOworICAgIEV4Y2VwdGlvbkNvZGUg
bV9leGNlcHRpb25Db2RlOwogICAgIGJvb2wgbV9jb21wbGV0ZWQ7CiB9OwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CmluZGV4IGQ3NTZjY2U0OTU3MDcyNzcwNGQ0ODUyNmU2NTQwMDg2MDQ1YTUyYzIuLmVlOGNlYTc3
NzUyNTUyNGNjOTVmMDJhMzhmNzg3M2I4OWI2YjA0MDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC03MzAs
MTMgKzczMCwxMyBAQCB2b2lkIERPTVdpbmRvdzo6cmVxdWVzdEZpbGVTeXN0ZW0oaW50IHR5cGUs
IGxvbmcgbG9uZyBzaXplLCBQYXNzUmVmUHRyPEZpbGVTeXN0ZQogICAgICAgICByZXR1cm47CiAK
ICAgICBpZiAoIUFzeW5jRmlsZVN5c3RlbTo6aXNBdmFpbGFibGUoKSB8fCAhZG9jdW1lbnQtPnNl
Y3VyaXR5T3JpZ2luKCktPmNhbkFjY2Vzc0ZpbGVTeXN0ZW0oKSkgewotICAgICAgICBET01GaWxl
U3lzdGVtOjpzY2hlZHVsZUNhbGxiYWNrKGRvY3VtZW50LCBlcnJvckNhbGxiYWNrLCBGaWxlRXJy
b3I6OmNyZWF0ZShTRUNVUklUWV9FUlIpKTsKKyAgICAgICAgRE9NRmlsZVN5c3RlbTo6c2NoZWR1
bGVDYWxsYmFjayhkb2N1bWVudCwgZXJyb3JDYWxsYmFjaywgRmlsZUVycm9yOjpjcmVhdGUoRmls
ZUVycm9yOjpTRUNVUklUWV9FUlIpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIEFz
eW5jRmlsZVN5c3RlbTo6VHlwZSBmaWxlU3lzdGVtVHlwZSA9IHN0YXRpY19jYXN0PEFzeW5jRmls
ZVN5c3RlbTo6VHlwZT4odHlwZSk7CiAgICAgaWYgKGZpbGVTeXN0ZW1UeXBlICE9IEFzeW5jRmls
ZVN5c3RlbTo6VGVtcG9yYXJ5ICYmIGZpbGVTeXN0ZW1UeXBlICE9IEFzeW5jRmlsZVN5c3RlbTo6
UGVyc2lzdGVudCkgewotICAgICAgICBET01GaWxlU3lzdGVtOjpzY2hlZHVsZUNhbGxiYWNrKGRv
Y3VtZW50LCBlcnJvckNhbGxiYWNrLCBGaWxlRXJyb3I6OmNyZWF0ZShJTlZBTElEX01PRElGSUNB
VElPTl9FUlIpKTsKKyAgICAgICAgRE9NRmlsZVN5c3RlbTo6c2NoZWR1bGVDYWxsYmFjayhkb2N1
bWVudCwgZXJyb3JDYWxsYmFjaywgRmlsZUVycm9yOjpjcmVhdGUoRmlsZUVycm9yOjpJTlZBTElE
X01PRElGSUNBVElPTl9FUlIpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwIGIvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckNvbnRleHQuY3BwCmluZGV4IGE1MzUxOTE4ODQ2YmE1NDc0ZmRmMzk1YWY0NzY3MzVhOTc0
MWQ1NDcuLjM0NWU1Yjc2MDQ3MmJjMWIyZjgyYjljN2VjNTc5Y2MwZDgwZDRkNWIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAorKysgYi9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyQ29udGV4dC5jcHAKQEAgLTY5LDYgKzY5LDcgQEAKICNpbmNsdWRlICJET01GaWxl
U3lzdGVtU3luYy5oIgogI2luY2x1ZGUgIkVycm9yQ2FsbGJhY2suaCIKICNpbmNsdWRlICJGaWxl
RXJyb3IuaCIKKyNpbmNsdWRlICJGaWxlRXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAiRmlsZVN5c3Rl
bUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiRmlsZVN5c3RlbUNhbGxiYWNrcy5oIgogI2luY2x1ZGUg
IkxvY2FsRmlsZVN5c3RlbS5oIgpAQCAtMzU1LDEzICszNTYsMTMgQEAgdm9pZCBXb3JrZXJDb250
ZXh0OjpyZXZva2VPYmplY3RVUkwoY29uc3QgU3RyaW5nJiBibG9iVVJMU3RyaW5nKQogdm9pZCBX
b3JrZXJDb250ZXh0OjpyZXF1ZXN0RmlsZVN5c3RlbShpbnQgdHlwZSwgbG9uZyBsb25nIHNpemUs
IFBhc3NSZWZQdHI8RmlsZVN5c3RlbUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQ
dHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKIHsKICAgICBpZiAoIUFzeW5jRmlsZVN5
c3RlbTo6aXNBdmFpbGFibGUoKSB8fCAhc2VjdXJpdHlPcmlnaW4oKS0+Y2FuQWNjZXNzRmlsZVN5
c3RlbSgpKSB7Ci0gICAgICAgIERPTUZpbGVTeXN0ZW06OnNjaGVkdWxlQ2FsbGJhY2sodGhpcywg
ZXJyb3JDYWxsYmFjaywgRmlsZUVycm9yOjpjcmVhdGUoU0VDVVJJVFlfRVJSKSk7CisgICAgICAg
IERPTUZpbGVTeXN0ZW06OnNjaGVkdWxlQ2FsbGJhY2sodGhpcywgZXJyb3JDYWxsYmFjaywgRmls
ZUVycm9yOjpjcmVhdGUoRmlsZUVycm9yOjpTRUNVUklUWV9FUlIpKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAogICAgIEFzeW5jRmlsZVN5c3RlbTo6VHlwZSBmaWxlU3lzdGVtVHlwZSA9IHN0
YXRpY19jYXN0PEFzeW5jRmlsZVN5c3RlbTo6VHlwZT4odHlwZSk7CiAgICAgaWYgKGZpbGVTeXN0
ZW1UeXBlICE9IEFzeW5jRmlsZVN5c3RlbTo6VGVtcG9yYXJ5ICYmIGZpbGVTeXN0ZW1UeXBlICE9
IEFzeW5jRmlsZVN5c3RlbTo6UGVyc2lzdGVudCkgewotICAgICAgICBET01GaWxlU3lzdGVtOjpz
Y2hlZHVsZUNhbGxiYWNrKHRoaXMsIGVycm9yQ2FsbGJhY2ssIEZpbGVFcnJvcjo6Y3JlYXRlKElO
VkFMSURfTU9ESUZJQ0FUSU9OX0VSUikpOworICAgICAgICBET01GaWxlU3lzdGVtOjpzY2hlZHVs
ZUNhbGxiYWNrKHRoaXMsIGVycm9yQ2FsbGJhY2ssIEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVFcnJv
cjo6SU5WQUxJRF9NT0RJRklDQVRJT05fRVJSKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
QEAgLTM3MiwxMyArMzczLDEzIEBAIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbVN5bmM+IFdvcmtl
ckNvbnRleHQ6OnJlcXVlc3RGaWxlU3lzdGVtU3luYyhpbnQgdHlwZSwgbG9uCiB7CiAgICAgZWMg
PSAwOwogICAgIGlmICghQXN5bmNGaWxlU3lzdGVtOjppc0F2YWlsYWJsZSgpIHx8ICFzZWN1cml0
eU9yaWdpbigpLT5jYW5BY2Nlc3NGaWxlU3lzdGVtKCkpIHsKLSAgICAgICAgZWMgPSBTRUNVUklU
WV9FUlI7CisgICAgICAgIGVjID0gRmlsZUV4Y2VwdGlvbjo6U0VDVVJJVFlfRVJSOwogICAgICAg
ICByZXR1cm4gMDsKICAgICB9CiAKICAgICBBc3luY0ZpbGVTeXN0ZW06OlR5cGUgZmlsZVN5c3Rl
bVR5cGUgPSBzdGF0aWNfY2FzdDxBc3luY0ZpbGVTeXN0ZW06OlR5cGU+KHR5cGUpOwogICAgIGlm
IChmaWxlU3lzdGVtVHlwZSAhPSBBc3luY0ZpbGVTeXN0ZW06OlRlbXBvcmFyeSAmJiBmaWxlU3lz
dGVtVHlwZSAhPSBBc3luY0ZpbGVTeXN0ZW06OlBlcnNpc3RlbnQpIHsKLSAgICAgICAgZWMgPSBJ
TlZBTElEX01PRElGSUNBVElPTl9FUlI7CisgICAgICAgIGVjID0gRmlsZUV4Y2VwdGlvbjo6SU5W
QUxJRF9NT0RJRklDQVRJT05fRVJSOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKZGlmZiAt
LWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCmluZGV4IDU0MWJkMjYxMTU2NmEyNTU1YmY0NGQ1MjE3MjMzNThiM2EyNTViNDcuLjZjMGZh
Nzg3OTNhMGUxNTZmNDQ5MTc3NjdjMGI4ZTU3NzNiY2ZhMWIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDEwLTEwLTIwICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW51
bWJlciBGaWxlRXJyb3IvRmlsZUV4Y2VwdGlvbiBlcnJvciBjb2RlcyBwZXIgbGF0ZXN0IEZpbGUg
QVBJIHNwZWMgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDc5MzYKKworICAgICAgICAqIHB1YmxpYy9XZWJGaWxlRXJyb3IuaDoKKyAgICAg
ICAgKiBzcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6CisgICAgICAgICogc3JjL0FzeW5jRmls
ZVdyaXRlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jRmlsZVdyaXRlckNo
cm9taXVtOjpkaWRGYWlsKToKKwogMjAxMC0xMC0xOSAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlRXJyb3IuaCBiL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViRmlsZUVycm9yLmgKaW5kZXggY2ZlODg4MjBjMzQxYWIwMjRiYjBhYTA3ZjdiMDcw
Yjg3ODdhZjVmZC4uZTdhMTdjMzI5MTgzY2EzNmFkYThlYmE2NzI3OGRkMzMzYmE1NmZkNSAxMDA2
NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlRXJyb3IuaAorKysgYi9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkZpbGVFcnJvci5oCkBAIC0zNCwxNSArMzQsMTggQEAgbmFt
ZXNwYWNlIFdlYktpdCB7CiAKIC8vIEZpbGUtcmVsYXRlZCBlcnJvciBjb2RlIGRlZmluZWQgaW4g
SFRNTDUgRmlsZSBBUEkuCiBlbnVtIFdlYkZpbGVFcnJvciB7Ci0gICAgV2ViRmlsZUVycm9yTm9N
b2RpZmljYXRpb25BbGxvd2VkID0gNywKLSAgICBXZWJGaWxlRXJyb3JOb3RGb3VuZCA9IDgsCi0g
ICAgV2ViRmlsZUVycm9ySW52YWxpZFN0YXRlID0gMTEsCi0gICAgV2ViRmlsZUVycm9ySW52YWxp
ZE1vZGlmaWNhdGlvbiA9IDEzLAotICAgIFdlYkZpbGVFcnJvclNlY3VyaXR5ID0gMTgsCi0gICAg
V2ViRmlsZUVycm9yQWJvcnQgPSAyMCwKLSAgICBXZWJGaWxlRXJyb3JRdW90YUV4Y2VlZGVkID0g
MjIsCi0gICAgV2ViRmlsZUVycm9yTm90UmVhZGFibGUgPSAyNCwKLSAgICBXZWJGaWxlRXJyb3JF
bmNvZGluZyA9IDI2LAorICAgIFdlYkZpbGVFcnJvck5vdEZvdW5kID0gMSwKKyAgICBXZWJGaWxl
RXJyb3JTZWN1cml0eSA9IDIsCisgICAgV2ViRmlsZUVycm9yQWJvcnQgPSAzLAorICAgIFdlYkZp
bGVFcnJvck5vdFJlYWRhYmxlID0gNCwKKyAgICBXZWJGaWxlRXJyb3JFbmNvZGluZyA9IDUsCisg
ICAgV2ViRmlsZUVycm9yTm9Nb2RpZmljYXRpb25BbGxvd2VkID0gNiwKKyAgICBXZWJGaWxlRXJy
b3JJbnZhbGlkU3RhdGUgPSA3LAorICAgIFdlYkZpbGVFcnJvclN5bnRheCA9IDgsCisgICAgV2Vi
RmlsZUVycm9ySW52YWxpZE1vZGlmaWNhdGlvbiA9IDksCisgICAgV2ViRmlsZUVycm9yUXVvdGFF
eGNlZWRlZCA9IDEwLAorICAgIFdlYkZpbGVFcnJvclR5cGVNaXNtYXRjaCA9IDExLAorICAgIFdl
YkZpbGVFcnJvclBhdGhFeGlzdHMgPSAxMiwKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcCBi
L1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKaW5kZXggOTY0N2E0
NDgzYzc0MDhjOGY0NjM2M2NkZTIxOTQyOGE5ZjFjZWNlNy4uYWUyNzkxZDMzYjJjYzQ1MDA2NmRj
NDhmZDJjOGVjNmFjZDkxYzI4OSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3Nl
cnRNYXRjaGluZ0VudW1zLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNo
aW5nRW51bXMuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNo
ZUhvc3QuaCIKICNpbmNsdWRlICJBc3luY0ZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJFZGl0b3JJ
bnNlcnRBY3Rpb24uaCIKKyNpbmNsdWRlICJGaWxlRXJyb3IuaCIKICNpbmNsdWRlICJGb250RGVz
Y3JpcHRpb24uaCIKICNpbmNsdWRlICJGb250U21vb3RoaW5nTW9kZS5oIgogI2luY2x1ZGUgIkhU
TUxJbnB1dEVsZW1lbnQuaCIKQEAgLTU2LDYgKzU3LDcgQEAKICNpbmNsdWRlICJXZWJDbGlwYm9h
cmQuaCIKICNpbmNsdWRlICJXZWJDdXJzb3JJbmZvLmgiCiAjaW5jbHVkZSAiV2ViRWRpdGluZ0Fj
dGlvbi5oIgorI2luY2x1ZGUgIldlYkZpbGVFcnJvci5oIgogI2luY2x1ZGUgIldlYkZpbGVTeXN0
ZW0uaCIKICNpbmNsdWRlICJXZWJGb250RGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJXZWJJREJL
ZXkuaCIKQEAgLTM2MiwzICszNjQsMTYgQEAgQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShX
ZWJJREJLZXk6Ok51bWJlclR5cGUsIElEQktleTo6TnVtYmVyVHlwZSk7CiBDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFdlYkZpbGVTeXN0ZW06OlR5cGVUZW1wb3JhcnksIEFzeW5jRmlsZVN5
c3RlbTo6VGVtcG9yYXJ5KTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViRmlsZVN5
c3RlbTo6VHlwZVBlcnNpc3RlbnQsIEFzeW5jRmlsZVN5c3RlbTo6UGVyc2lzdGVudCk7CiAjZW5k
aWYKKworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJGaWxlRXJyb3JOb3RGb3VuZCwg
RmlsZUVycm9yOjpOT1RfRk9VTkRfRVJSKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
V2ViRmlsZUVycm9yU2VjdXJpdHksIEZpbGVFcnJvcjo6U0VDVVJJVFlfRVJSKTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oV2ViRmlsZUVycm9yQWJvcnQsIEZpbGVFcnJvcjo6QUJPUlRf
RVJSKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViRmlsZUVycm9yTm90UmVhZGFi
bGUsIEZpbGVFcnJvcjo6Tk9UX1JFQURBQkxFX0VSUik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKFdlYkZpbGVFcnJvckVuY29kaW5nLCBGaWxlRXJyb3I6OkVOQ09ESU5HX0VSUik7CitD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkZpbGVFcnJvck5vTW9kaWZpY2F0aW9uQWxs
b3dlZCwgRmlsZUVycm9yOjpOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIpOworQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJGaWxlRXJyb3JJbnZhbGlkU3RhdGUsIEZpbGVFcnJvcjo6
SU5WQUxJRF9TVEFURV9FUlIpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJGaWxl
RXJyb3JTeW50YXgsIEZpbGVFcnJvcjo6U1lOVEFYX0VSUik7CitDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKFdlYkZpbGVFcnJvckludmFsaWRNb2RpZmljYXRpb24sIEZpbGVFcnJvcjo6SU5W
QUxJRF9NT0RJRklDQVRJT05fRVJSKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2Vi
RmlsZUVycm9yUXVvdGFFeGNlZWRlZCwgRmlsZUVycm9yOjpRVU9UQV9FWENFRURFRF9FUlIpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJGaWxlRXJyb3JUeXBlTWlzbWF0Y2gsIEZp
bGVFcnJvcjo6VFlQRV9NSVNNQVRDSF9FUlIpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShXZWJGaWxlRXJyb3JQYXRoRXhpc3RzLCBGaWxlRXJyb3I6OlBBVEhfRVhJU1RTX0VSUik7CmRp
ZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0FzeW5jRmlsZVdyaXRlckNocm9taXVtLmNw
cCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQXN5bmNGaWxlV3JpdGVyQ2hyb21pdW0uY3BwCmluZGV4
IDg5NjkwOTQ3OGYxNzMzNzk3ZTFmNGEzNWU0YTJkMzNkNGI3MTAzOTAuLjcxY2YzYjUyMzNkZDI4
MDI0ZWFkMWVlOTc4YWNhZDg0MDZhZWU5N2QgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvQXN5bmNGaWxlV3JpdGVyQ2hyb21pdW0uY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMv
QXN5bmNGaWxlV3JpdGVyQ2hyb21pdW0uY3BwCkBAIC04NSw3ICs4NSw3IEBAIHZvaWQgQXN5bmNG
aWxlV3JpdGVyQ2hyb21pdW06OmRpZFRydW5jYXRlKCkKIAogdm9pZCBBc3luY0ZpbGVXcml0ZXJD
aHJvbWl1bTo6ZGlkRmFpbChXZWJLaXQ6OldlYkZpbGVFcnJvciBlcnJvcikKIHsKLSAgICBtX2Ns
aWVudC0+ZGlkRmFpbChlcnJvcik7CisgICAgbV9jbGllbnQtPmRpZEZhaWwoc3RhdGljX2Nhc3Q8
RmlsZUVycm9yOjpFcnJvckNvZGU+KGVycm9yKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71597</attachid>
            <date>2010-10-22 14:54:07 -0700</date>
            <delta_ts>2010-10-22 20:01:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47936-20101022145405.patch</filename>
            <type>text/plain</type>
            <size>63588</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhZTJmNzI1YzY4YjNlNzA2NDA3M2IxYTMwMmFjOWVjNDFjMjc1OWVlLi5jZWU5YmRh
OTJhYmRlZGI5YmZlMjI2YWY4OTZiZDljNzc4NDUxNjA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAK
KzIwMTAtMTAtMjAgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbnVtYmVyIEZpbGVF
cnJvci9GaWxlRXhjZXB0aW9uIGVycm9yIGNvZGVzIHBlciBsYXRlc3QgRmlsZSBBUEkgc3BlYyBj
aGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
NzkzNgorCisgICAgICAgIFVwZGF0ZWQgdGVzdCBleHBlY3RhdGlvbnMgdG8gbWF0Y2ggd2l0aCB0
aGUgbmV3IGVycm9yIGNvZGUuCisKKyAgICAgICAgKiBmYXN0L2ZpbGVzL3JlYWQtYmxvYi1hc3lu
Yy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9maWxlcy9yZWFkLWZpbGUtYXN5bmMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZmlsZXMvd29ya2Vycy93b3JrZXItcmVhZC1ibG9i
LWFzeW5jLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2ZpbGVzL3dvcmtlcnMvd29ya2Vy
LXJlYWQtYmxvYi1zeW5jLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2ZpbGVzL3dvcmtl
cnMvd29ya2VyLXJlYWQtZmlsZS1hc3luYy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9m
aWxlcy93b3JrZXJzL3dvcmtlci1yZWFkLWZpbGUtc3luYy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9maWxlc3lzdGVtL29wLWNvcHktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
ZmlsZXN5c3RlbS9vcC1nZXQtZW50cnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZmls
ZXN5c3RlbS9vcC1tb3ZlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0v
b3AtcmVtb3ZlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vb3AtcmVz
dHJpY3RlZC1jaGFycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL29w
LXJlc3RyaWN0ZWQtbmFtZXMtZXhwZWN0ZWQudHh0OgorCiAyMDEwLTEwLTIyICBBYmhpc2hlayBB
cnlhICA8aW5mZXJub0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2ZSBI
eWF0dC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvcmVhZC1ibG9iLWFzeW5j
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvcmVhZC1ibG9iLWFzeW5jLWV4
cGVjdGVkLnR4dAppbmRleCAyN2Q4YzBhZmI1OGVkMjdiNWFiZWNjYzYxNDg1NDJjZTJiZmFjZjY3
Li4wOTliMWJlMjNlMjUyMWQ2NDEwOTA4MzVjYzU0Njg4NGYzYzhhZDBlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3JlYWQtYmxvYi1hc3luYy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9maWxlcy9yZWFkLWJsb2ItYXN5bmMtZXhwZWN0ZWQudHh0CkBAIC0z
LDEzICszLDEzIEBAIFRlc3QgcmVhZGluZyBhIGJsb2IgY29udGFpbmluZyBub24tZXhpc3RlbnQg
ZmlsZQogcmVhZHlTdGF0ZTogMAogUmVjZWl2ZWQgZXJyb3IgZXZlbnQKIHJlYWR5U3RhdGU6IDIK
LWVycm9yIGNvZGU6IDgKK2Vycm9yIGNvZGU6IDEKIFJlY2VpdmVkIGxvYWRlbmQgZXZlbnQKIFRl
c3QgcmVhZGluZyBhIGJsb2IgY29udGFpbmluZyBleGlzdGVudCBhbmQgbm9uLWV4aXN0ZW50IGZp
bGUKIHJlYWR5U3RhdGU6IDAKIFJlY2VpdmVkIGVycm9yIGV2ZW50CiByZWFkeVN0YXRlOiAyCi1l
cnJvciBjb2RlOiA4CitlcnJvciBjb2RlOiAxCiBSZWNlaXZlZCBsb2FkZW5kIGV2ZW50CiBUZXN0
IHJlYWRpbmcgYSBibG9iIGNvbnRhaW5pbmcgZW1wdHkgZmlsZQogcmVhZHlTdGF0ZTogMApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9yZWFkLWZpbGUtYXN5bmMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9yZWFkLWZpbGUtYXN5bmMtZXhwZWN0ZWQudHh0
CmluZGV4IDc2ZmQ1NWZmZGNhODQ1YzVmNTc0NzAyZTY5ODI5MTQ1YzI5ZjY5OWQuLmQ5NGVhYmI3
NmU4Y2FlYmNjNDFmNGIwZWRiY2MyNTMyYTc4NGVjZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZmlsZXMvcmVhZC1maWxlLWFzeW5jLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2ZpbGVzL3JlYWQtZmlsZS1hc3luYy1leHBlY3RlZC50eHQKQEAgLTMsMTkgKzMsMTkg
QEAgVGVzdCByZWFkaW5nIGEgbm9uLWV4aXN0ZW50IGZpbGUgYXMgYmluYXJ5IHN0cmluZwogcmVh
ZHlTdGF0ZTogMAogUmVjZWl2ZWQgZXJyb3IgZXZlbnQKIHJlYWR5U3RhdGU6IDIKLWVycm9yIGNv
ZGU6IDgKK2Vycm9yIGNvZGU6IDEKIFJlY2VpdmVkIGxvYWRlbmQgZXZlbnQKIFRlc3QgcmVhZGlu
ZyBhIG5vbi1leGlzdGVudCBmaWxlIGFzIHRleHQKIHJlYWR5U3RhdGU6IDAKIFJlY2VpdmVkIGVy
cm9yIGV2ZW50CiByZWFkeVN0YXRlOiAyCi1lcnJvciBjb2RlOiA4CitlcnJvciBjb2RlOiAxCiBS
ZWNlaXZlZCBsb2FkZW5kIGV2ZW50CiBUZXN0IHJlYWRpbmcgYSBub24tZXhpc3RlbnQgZmlsZSBh
cyBkYXRhIFVSTAogcmVhZHlTdGF0ZTogMAogUmVjZWl2ZWQgZXJyb3IgZXZlbnQKIHJlYWR5U3Rh
dGU6IDIKLWVycm9yIGNvZGU6IDgKK2Vycm9yIGNvZGU6IDEKIFJlY2VpdmVkIGxvYWRlbmQgZXZl
bnQKIFRlc3QgcmVhZGluZyBhbiBlbXB0eSBmaWxlIGFzIGJpbmFyeSBzdHJpbmcKIHJlYWR5U3Rh
dGU6IDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvd29ya2Vycy93b3JrZXIt
cmVhZC1ibG9iLWFzeW5jLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvd29y
a2Vycy93b3JrZXItcmVhZC1ibG9iLWFzeW5jLWV4cGVjdGVkLnR4dAppbmRleCA4OWJiZDg4YWM1
N2U2YmMyNDFlMzU4ZjJiMGVlNmI5OTBmOTM0MGVhLi42ODllN2IyODUyNWNjZTJkMWU0MGVhMTZi
MWYwYzRiOGQwMWNhYTIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3dvcmtl
cnMvd29ya2VyLXJlYWQtYmxvYi1hc3luYy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlcy93b3JrZXJzL3dvcmtlci1yZWFkLWJsb2ItYXN5bmMtZXhwZWN0ZWQudHh0CkBA
IC00LDEzICs0LDEzIEBAIFRlc3QgcmVhZGluZyBhIGJsb2IgY29udGFpbmluZyBub24tZXhpc3Rl
bnQgZmlsZQogcmVhZHlTdGF0ZTogMAogUmVjZWl2ZWQgZXJyb3IgZXZlbnQKIHJlYWR5U3RhdGU6
IDIKLWVycm9yIGNvZGU6IDgKK2Vycm9yIGNvZGU6IDEKIFJlY2VpdmVkIGxvYWRlbmQgZXZlbnQK
IFRlc3QgcmVhZGluZyBhIGJsb2IgY29udGFpbmluZyBleGlzdGVudCBhbmQgbm9uLWV4aXN0ZW50
IGZpbGUKIHJlYWR5U3RhdGU6IDAKIFJlY2VpdmVkIGVycm9yIGV2ZW50CiByZWFkeVN0YXRlOiAy
Ci1lcnJvciBjb2RlOiA4CitlcnJvciBjb2RlOiAxCiBSZWNlaXZlZCBsb2FkZW5kIGV2ZW50CiBU
ZXN0IHJlYWRpbmcgYSBibG9iIGNvbnRhaW5pbmcgZW1wdHkgZmlsZQogcmVhZHlTdGF0ZTogMApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy93b3JrZXJzL3dvcmtlci1yZWFkLWJs
b2Itc3luYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3dvcmtlcnMvd29y
a2VyLXJlYWQtYmxvYi1zeW5jLWV4cGVjdGVkLnR4dAppbmRleCAzZDkwNThiOGJkM2ZhMzZkYjg3
ZjMyY2ZhMjA0ZjdiMjhlMTE3N2QyLi5mMGVjMGYxZGYxMzE5MDdhYmU0ZWIyZWUxYzliNTgxNTA3
ZTM1MTNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3dvcmtlcnMvd29ya2Vy
LXJlYWQtYmxvYi1zeW5jLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
L3dvcmtlcnMvd29ya2VyLXJlYWQtYmxvYi1zeW5jLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDkg
QEAKIAogUmVjZWl2ZWQgZmlsZXMgaW4gd29ya2VyCiBUZXN0IHJlYWRpbmcgYSBibG9iIGNvbnRh
aW5pbmcgbm9uLWV4aXN0ZW50IGZpbGUKLVJlY2VpdmVkIGV4Y2VwdGlvbiA4OiBOT1RfRk9VTkRf
RVJSCitSZWNlaXZlZCBleGNlcHRpb24gMTogTk9UX0ZPVU5EX0VSUgogVGVzdCByZWFkaW5nIGEg
YmxvYiBjb250YWluaW5nIGV4aXN0ZW50IGFuZCBub24tZXhpc3RlbnQgZmlsZQotUmVjZWl2ZWQg
ZXhjZXB0aW9uIDg6IE5PVF9GT1VORF9FUlIKK1JlY2VpdmVkIGV4Y2VwdGlvbiAxOiBOT1RfRk9V
TkRfRVJSCiBUZXN0IHJlYWRpbmcgYSBibG9iIGNvbnRhaW5pbmcgZW1wdHkgZmlsZQogCiBUZXN0
IHJlYWRpbmcgYSBibG9iIGNvbnRhaW5pbmcgZW1wdHkgdGV4dApAQCAtMTcsNyArMTcsNyBAQCBG
aXJzdAogVGVzdCByZWFkaW5nIGEgYmxvYiBjb250YWluaW5nIHNpbmdsZSB0ZXh0IGFzIGRhdGEg
VVJMCiBkYXRhOmJhc2U2NCxSbWx5YzNRPQogVGVzdCByZWFkaW5nIGEgYmxvYiBjb250YWluaW5n
IHNpbmdsZSB0ZXh0IGFzIGRhdGEgVVJMIChvcHRpb25hbCBjb250ZW50IHR5cGUgcHJvdmlkZWQp
Ci1yZXN1bHQ6IGRhdGE6dHlwZS9mb287YmFzZTY0LFJtbHljM1E9CitkYXRhOnR5cGUvZm9vO2Jh
c2U2NCxSbWx5YzNRPQogVGVzdCByZWFkaW5nIGEgYmxvYiBjb250YWluaW5nIHNsaWNlZCBmaWxl
CiBvbmRlcgogVGVzdCByZWFkaW5nIGEgYmxvYiBjb250YWluaW5nIHNsaWNlZCB0ZXh0CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3dvcmtlcnMvd29ya2VyLXJlYWQtZmlsZS1h
c3luYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3dvcmtlcnMvd29ya2Vy
LXJlYWQtZmlsZS1hc3luYy1leHBlY3RlZC50eHQKaW5kZXggYTQ5NzY1ODkyZWUyYmM0MDhlMWE2
MjJkNDQxZDQ0NDgwZjJjYWMwYi4uZDAzNjFiMzI0ZWM0NGM4ZDBmYjE2ZTI0YTA2NmE0MTFjNDM4
NGE2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy93b3JrZXJzL3dvcmtlci1y
ZWFkLWZpbGUtYXN5bmMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMv
d29ya2Vycy93b3JrZXItcmVhZC1maWxlLWFzeW5jLWV4cGVjdGVkLnR4dApAQCAtNCwxOSArNCwx
OSBAQCBUZXN0IHJlYWRpbmcgYSBub24tZXhpc3RlbnQgZmlsZSBhcyBiaW5hcnkgc3RyaW5nCiBy
ZWFkeVN0YXRlOiAwCiBSZWNlaXZlZCBlcnJvciBldmVudAogcmVhZHlTdGF0ZTogMgotZXJyb3Ig
Y29kZTogOAorZXJyb3IgY29kZTogMQogUmVjZWl2ZWQgbG9hZGVuZCBldmVudAogVGVzdCByZWFk
aW5nIGEgbm9uLWV4aXN0ZW50IGZpbGUgYXMgdGV4dAogcmVhZHlTdGF0ZTogMAogUmVjZWl2ZWQg
ZXJyb3IgZXZlbnQKIHJlYWR5U3RhdGU6IDIKLWVycm9yIGNvZGU6IDgKK2Vycm9yIGNvZGU6IDEK
IFJlY2VpdmVkIGxvYWRlbmQgZXZlbnQKIFRlc3QgcmVhZGluZyBhIG5vbi1leGlzdGVudCBmaWxl
IGFzIGRhdGEgVVJMCiByZWFkeVN0YXRlOiAwCiBSZWNlaXZlZCBlcnJvciBldmVudAogcmVhZHlT
dGF0ZTogMgotZXJyb3IgY29kZTogOAorZXJyb3IgY29kZTogMQogUmVjZWl2ZWQgbG9hZGVuZCBl
dmVudAogVGVzdCByZWFkaW5nIGFuIGVtcHR5IGZpbGUgYXMgYmluYXJ5IHN0cmluZwogcmVhZHlT
dGF0ZTogMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy93b3JrZXJzL3dvcmtl
ci1yZWFkLWZpbGUtc3luYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3dv
cmtlcnMvd29ya2VyLXJlYWQtZmlsZS1zeW5jLWV4cGVjdGVkLnR4dAppbmRleCAzNjkxYTU4Zjk2
NmJiNjNhYTU4MWE1YWFhZjRjMmIyMWZmNDQ1N2JhLi5iMTlhNjI2ZWQ4OWM1MjNjYjIwN2RlNWZm
NWFjOWI2OTUyZWY4OTdiIDEwMDY0NApHSVQgYmluYXJ5IHBhdGNoCmRlbHRhIDMzCmtjbVhAV2V0
PjtLSmZxPm4xUm9HI0dWITRkaD9iazIlUDZvfWhqOXVNMEtncyFuZzlSKgoKZGVsdGEgMzMKa2Nt
WEBXZXQ+O0tKZnA/TDFSb0cjR1YhNGRoP2JrMiVQNm99aGo5dU0wS3ZpdnVLKWw1CgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL29wLWNvcHktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL29wLWNvcHktZXhwZWN0ZWQudHh0CmluZGV4IGE3
NmE5MjExY2EzOTRkY2UxMGNmNmZiYTQ5ODQ4MjQ3NTY4MjkwYzMuLjZkMTg5MTJjZWUyZjQwMTY0
MzgwMGJhNzZjMDZkNjU2NTk2MTdmMjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXN5c3RlbS9vcC1jb3B5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vb3AtY29weS1leHBlY3RlZC50eHQKQEAgLTE5LDI2ICsxOSwyNiBAQCBQQVNTIFZlcmlm
aWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYSBuYW1lOmEgdHlwZTpESVJFQ1RPUll9CiBQQVNTIFZl
cmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYS9iIG5hbWU6YiB0eXBlOkZJTEV9CiBQQVNTIFZl
cmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYy9iIG5hbWU6YiB0eXBlOkZJTEV9CiAqIFJ1bm5p
bmc6IENvcHlGaWxlV2l0aEVtcHR5TmFtZVRvU2FtZURpcmVjdG9yeQotUEFTUyB0aGlzLmV4cGVj
dGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsg
IiIgaXMgIjkiCiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYSBuYW1lOmEgdHlw
ZTpESVJFQ1RPUll9CiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYS9iIG5hbWU6
YiB0eXBlOkZJTEV9CiAqIFJ1bm5pbmc6IENvcHlGaWxlV2l0aFNhbWVOYW1lCi1QQVNTIHRoaXMu
ZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNv
ZGUgKyAiIiBpcyAiOSIKIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hIG5hbWU6
YSB0eXBlOkRJUkVDVE9SWX0KIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hL2Ig
bmFtZTpiIHR5cGU6RklMRX0KICogUnVubmluZzogQ29weUZvck5vbkV4aXN0ZW50RW50cnkKIFBB
U1MgU3VjY2VlZGVkOiAiL2EvYiIucmVtb3ZlKCkKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29k
ZSArICIiIGlzICI4IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEiCiBQ
QVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYSBuYW1lOmEgdHlwZTpESVJFQ1RPUll9
CiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYyBuYW1lOmMgdHlwZTpESVJFQ1RP
Ull9CiAqIFJ1bm5pbmc6IENvcHlFbnRyeVRvTm9uRXhpc3RlbnREaXJlY3RvcnkKIFBBU1MgU3Vj
Y2VlZGVkOiAiL2MiLnJlbW92ZSgpCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBp
cyAiOCIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxIgogUEFTUyBWZXJp
ZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2EgbmFtZTphIHR5cGU6RElSRUNUT1JZfQogUEFTUyBW
ZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2EvYiBuYW1lOmIgdHlwZTpGSUxFfQogKiBSdW5u
aW5nOiBDb3B5RW50cnlUb0l0c0NoaWxkCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAi
IiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCitQQVNT
IHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVy
cm9yQ29kZSArICIiIGlzICI5IgogUEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2Eg
bmFtZTphIHR5cGU6RElSRUNUT1JZfQogUEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6
L2EvYiBuYW1lOmIgdHlwZTpESVJFQ1RPUll9CiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7
cGF0aDovYS9iL2MgbmFtZTpjIHR5cGU6RElSRUNUT1JZfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9maWxlc3lzdGVtL29wLWdldC1lbnRyeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtZ2V0LWVudHJ5LWV4cGVjdGVkLnR4dAppbmRleCA4Nzc5MzE4
MDllN2JmYWIxMmNkZDU3ZmI5YzQ4NzViZmQ1MWU1OWIwLi4xZjQ5YmI2MzNjMjc0ZGY3MWExZjlj
ZGY5ZTYwZjA4ZDFiNDYyYjAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0
ZW0vb3AtZ2V0LWVudHJ5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vb3AtZ2V0LWVudHJ5LWV4cGVjdGVkLnR4dApAQCAtMjQsMTUgKzI0LDE1IEBAIFBBU1Mg
U3VjY2VlZGVkOiAiL2EiLmdldERpcmVjdG9yeSgiLi4vYiIpCiBQQVNTIFN1Y2NlZWRlZDogIi9h
Ii5nZXREaXJlY3RvcnkoIi4uLy4uL2IvYyIpCiBQQVNTIFN1Y2NlZWRlZDogIi9hIi5nZXREaXJl
Y3RvcnkoIi9hLy4uLy4uL2QiKQogUEFTUyBTdWNjZWVkZWQ6ICIvYSIuZ2V0RGlyZWN0b3J5KCIv
YS8uLi8uLi9iLy4vYy8uLi8uLi8uLi8uLi8uLi9lIikKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9y
Q29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIx
MyIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4
cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCiBQQVNTIFN1Y2NlZWRlZDogIi9hIi5nZXRGaWxl
KCIuL2IudHh0IikKIFBBU1MgU3VjY2VlZGVkOiAiL2EiLmdldEZpbGUoIi4uL2IudHh0IikKIFBB
U1MgU3VjY2VlZGVkOiAiL2EiLmdldEZpbGUoIi4uLy4uL2IvYy50eHQiKQogUEFTUyBTdWNjZWVk
ZWQ6ICIvYSIuZ2V0RmlsZSgiL2EvLi4vLi4vZC50eHQiKQogUEFTUyBTdWNjZWVkZWQ6ICIvYSIu
Z2V0RmlsZSgiL2EvLi4vLi4vYi8uL2MvLi4vLi4vLi4vLi4vLi4vZS50eHQiKQotUEFTUyB0aGlz
LmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JD
b2RlICsgIiIgaXMgIjEzIgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjki
CitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKIFBBU1MgVmVyaWZpZWQg
ZW50cnk6IEVOVFJZIHtwYXRoOi9hIG5hbWU6YSB0eXBlOkRJUkVDVE9SWX0KIFBBU1MgVmVyaWZp
ZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hL2IgbmFtZTpiIHR5cGU6RElSRUNUT1JZfQogUEFTUyBW
ZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2IgbmFtZTpiIHR5cGU6RElSRUNUT1JZfQpAQCAt
NjYsMjEgKzY2LDIxIEBAIFBBU1MgdGhpcy5lbnZpcm9ubWVudFt0aGlzLmVudHJ5LmZ1bGxQYXRo
XS5pc0RpcmVjdG9yeSArICIiIGlzICJmYWxzZSIKIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZ
IHtwYXRoOi9hIG5hbWU6YSB0eXBlOkRJUkVDVE9SWX0KIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVO
VFJZIHtwYXRoOi9iIG5hbWU6YiB0eXBlOkZJTEV9CiAqIFJ1bm5pbmc6IEdldE5vbkV4aXN0ZW50
Ci1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOCIKLVBBU1MgdGhpcy5leHBl
Y3RlZEVycm9yQ29kZSArICIiIGlzICI4IgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsg
IiIgaXMgIjgiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOCIKK1BBU1Mg
dGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxIgorUEFTUyB0aGlzLmV4cGVjdGVkRXJy
b3JDb2RlICsgIiIgaXMgIjEiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAi
MSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxIgogKiBSdW5uaW5nOiBH
ZXRGaWxlRm9yRGlyZWN0b3J5Ci1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAi
MTEiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTEiCitQQVNTIHRoaXMu
ZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiNyIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29k
ZSArICIiIGlzICI3IgogUEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2EgbmFtZTph
IHR5cGU6RElSRUNUT1JZfQogKiBSdW5uaW5nOiBHZXREaXJlY3RvcnlGb3JGaWxlCi1QQVNTIHRo
aXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTEiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJv
ckNvZGUgKyAiIiBpcyAiMTEiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAi
NyIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI3IgogUEFTUyBWZXJpZmll
ZCBlbnRyeTogRU5UUlkge3BhdGg6L2EgbmFtZTphIHR5cGU6RklMRX0KICogUnVubmluZzogQ3Jl
YXRlV2l0aEV4Y2x1c2l2ZQotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEz
IgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgorUEFTUyB0aGlzLmV4
cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUg
KyAiIiBpcyAiOSIKIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hIG5hbWU6YSB0
eXBlOkRJUkVDVE9SWX0KIFBBU1MgVmVyaWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9iIG5hbWU6
YiB0eXBlOkZJTEV9CiBGaW5pc2hlZCBydW5uaW5nIHRlc3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9maWxlc3lzdGVtL29wLW1vdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9maWxlc3lzdGVtL29wLW1vdmUtZXhwZWN0ZWQudHh0CmluZGV4IDQxNTg2NzI0NGQyNTEz
OTdiZWJkOWFhZTk1ZjczNWEzMzFhNDZiMGQuLjM1NDYzOTZmYjVmYTIyMDE4ZWQyNTFkNTM1Yzg2
NDcwMzkwYmFjZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9vcC1t
b3ZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtbW92
ZS1leHBlY3RlZC50eHQKQEAgLTE5LDI2ICsxOSwyNiBAQCBQQVNTIFZlcmlmaWVkIGVudHJ5OiBF
TlRSWSB7cGF0aDovYSBuYW1lOmEgdHlwZTpESVJFQ1RPUll9CiBQQVNTIFZlcmlmaWVkIGVudHJ5
IGRvZXMgTk9UIGV4aXN0OiAvYS9iCiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDov
Yy9iIG5hbWU6YiB0eXBlOkZJTEV9CiAqIFJ1bm5pbmc6IE1vdmVGaWxlV2l0aEVtcHR5TmFtZVRv
U2FtZURpcmVjdG9yeQotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgor
UEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCiBQQVNTIFZlcmlmaWVkIGVu
dHJ5OiBFTlRSWSB7cGF0aDovYSBuYW1lOmEgdHlwZTpESVJFQ1RPUll9CiBQQVNTIFZlcmlmaWVk
IGVudHJ5OiBFTlRSWSB7cGF0aDovYS9iIG5hbWU6YiB0eXBlOkZJTEV9CiAqIFJ1bm5pbmc6IE1v
dmVGaWxlV2l0aFNhbWVOYW1lCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAi
MTMiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKIFBBU1MgVmVyaWZp
ZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hIG5hbWU6YSB0eXBlOkRJUkVDVE9SWX0KIFBBU1MgVmVy
aWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hL2IgbmFtZTpiIHR5cGU6RklMRX0KICogUnVubmlu
ZzogTW92ZUZvck5vbkV4aXN0ZW50RW50cnkKIFBBU1MgU3VjY2VlZGVkOiAiL2EvYiIucmVtb3Zl
KCkKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI4IgorUEFTUyB0aGlzLmV4
cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEiCiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7
cGF0aDovYSBuYW1lOmEgdHlwZTpESVJFQ1RPUll9CiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRS
WSB7cGF0aDovYyBuYW1lOmMgdHlwZTpESVJFQ1RPUll9CiAqIFJ1bm5pbmc6IE1vdmVFbnRyeVRv
Tm9uRXhpc3RlbnREaXJlY3RvcnkKIFBBU1MgU3VjY2VlZGVkOiAiL2MiLnJlbW92ZSgpCi1QQVNT
IHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOCIKK1BBU1MgdGhpcy5leHBlY3RlZEVy
cm9yQ29kZSArICIiIGlzICIxIgogUEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2Eg
bmFtZTphIHR5cGU6RElSRUNUT1JZfQogUEFTUyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6
L2EvYiBuYW1lOmIgdHlwZTpGSUxFfQogKiBSdW5uaW5nOiBNb3ZlRW50cnlUb0l0c0NoaWxkCi1Q
QVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0
ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAi
IiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgogUEFTUyBW
ZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2EgbmFtZTphIHR5cGU6RElSRUNUT1JZfQogUEFT
UyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2EvYiBuYW1lOmIgdHlwZTpESVJFQ1RPUll9
CiBQQVNTIFZlcmlmaWVkIGVudHJ5OiBFTlRSWSB7cGF0aDovYS9iL2MgbmFtZTpjIHR5cGU6RElS
RUNUT1JZfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL29wLXJlbW92
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtcmVtb3ZlLWV4
cGVjdGVkLnR4dAppbmRleCA5MzY4OTMzMmY0ZTMxYjcwMDIzYTlmMDE4ZTc2MmQ2OTVlODUwZGJm
Li44MmFmNDRjNTlkYTY0MWJjMDVhOTFiNDhhZGIyZDZkMmIwYWNmODQ3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtcmVtb3ZlLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtcmVtb3ZlLWV4cGVjdGVkLnR4dApAQCAtMSwx
MSArMSwxMSBAQAogKiBSdW5uaW5nOiBSZW1vdmVTaW1wbGUKIFBBU1MgU3VjY2VlZGVkOiAiL2Ei
LnJlbW92ZSgpCiBQQVNTIFN1Y2NlZWRlZDogIi9iIi5yZW1vdmUoKQotUEFTUyB0aGlzLmV4cGVj
dGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsg
IiIgaXMgIjkiCiBQQVNTIFZlcmlmaWVkIGVudHJ5IGRvZXMgTk9UIGV4aXN0OiAvYQogUEFTUyBW
ZXJpZmllZCBlbnRyeSBkb2VzIE5PVCBleGlzdDogL2IKICogUnVubmluZzogUmVtb3ZlTm9uUmVj
dXJzaXZlV2l0aENoaWxkcmVuCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAi
MTMiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKIFBBU1MgVmVyaWZp
ZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hIG5hbWU6YSB0eXBlOkRJUkVDVE9SWX0KIFBBU1MgVmVy
aWZpZWQgZW50cnk6IEVOVFJZIHtwYXRoOi9hL2IgbmFtZTpiIHR5cGU6RElSRUNUT1JZfQogUEFT
UyBWZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2EvYyBuYW1lOmMgdHlwZTpGSUxFfQpAQCAt
MTQsNyArMTQsNyBAQCBQQVNTIFN1Y2NlZWRlZDogIi9hIi5yZW1vdmVSZWN1cnNpdmVseSgpCiBQ
QVNTIFZlcmlmaWVkIGVudHJ5IGRvZXMgTk9UIGV4aXN0OiAvYQogKiBSdW5uaW5nOiBSZW1vdmVS
ZWN1cnNpdmVXaXRoQ2hpbGRyZW4KIFBBU1MgU3VjY2VlZGVkOiAiL2EiLnJlbW92ZVJlY3Vyc2l2
ZWx5KCkKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKK1BBU1MgdGhp
cy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgogUEFTUyBWZXJpZmllZCBlbnRyeSBkb2Vz
IE5PVCBleGlzdDogL2EKIEZpbmlzaGVkIHJ1bm5pbmcgdGVzdHMuCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0v
b3AtcmVzdHJpY3RlZC1jaGFycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vb3AtcmVzdHJpY3RlZC1jaGFycy1leHBlY3RlZC50eHQKaW5kZXggYWRlNzJkZjFjMzYx
NWZkYzBlNzgxMWY1YWJhYzQyYzFlZDMwNGMxNi4uMzI0NTRhNzZlMmI1YzFhMDQ0MDZiNTc0M2Ux
ZjgwYzYyNTEyMjQyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL29w
LXJlc3RyaWN0ZWQtY2hhcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXN5c3RlbS9vcC1yZXN0cmljdGVkLWNoYXJzLWV4cGVjdGVkLnR4dApAQCAtMSwzNSArMSwzNSBA
QAogKiBSdW5uaW5nOiBSZXN0cmljdGVkQ2hhcnMKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29k
ZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIK
LVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBl
Y3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSAr
ICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBB
U1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3Rl
ZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIi
IGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1Mg
dGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVy
cm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlz
ICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhp
cy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9y
Q29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIx
MyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5l
eHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29k
ZSArICIiIGlzICIxMyIKLVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIK
LVBBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxMyIKK1BBU1MgdGhpcy5leHBl
Y3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsg
IiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1Mg
dGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJy
b3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAi
OSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4
cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUg
KyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFT
UyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRF
cnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlz
ICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMu
ZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29k
ZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQ
QVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3Rl
ZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIg
aXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhp
cy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgogUEFTUyBTdWNjZWVkZWQ6ICIvIi5nZXRG
aWxlKCJhYiIpCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNT
IHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRF
cnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBp
cyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRo
aXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJv
ckNvZGUgKyAiIiBpcyAiMTMiCi1QQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAi
MTMiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5l
eHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2Rl
ICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BB
U1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVk
RXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBp
cyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgogUEFTUyBWZXJp
ZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2FiIG5hbWU6YWIgdHlwZTpGSUxFfQogRmluaXNoZWQg
cnVubmluZyB0ZXN0cy4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9vcC1yZXN0cmljdGVkLW5hbWVzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9vcC1yZXN0cmljdGVkLW5hbWVz
LWV4cGVjdGVkLnR4dAppbmRleCBjMzkwMzc5MTJiMGU0MTc4MGE0MjcwYTg5YmYzZTlmMjdmZTNh
MDFkLi43NGE5MDE4Y2UyNzY0ZjU5ZDI3NzViNjVkYjljNzljNGVmZGFhMzdlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtcmVzdHJpY3RlZC1uYW1lcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL29wLXJlc3RyaWN0ZWQtbmFt
ZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDQzICsxLDQzIEBACiAqIFJ1bm5pbmc6IFJlc3RyaWN0ZWRD
aGFycwotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlz
LmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JD
b2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEz
IgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4
cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2Rl
ICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgot
UEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVj
dGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsg
IiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFT
UyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVk
RXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIg
aXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0
aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJy
b3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMg
IjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlz
LmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JD
b2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEz
IgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4
cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2Rl
ICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgot
UEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVj
dGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsg
IiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFT
UyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVk
RXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIg
aXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0
aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJy
b3JDb2RlICsgIiIgaXMgIjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMg
IjEzIgotUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjEzIgorUEFTUyB0aGlz
LmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNv
ZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5Igor
UEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0
ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIi
IGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRo
aXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9y
Q29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjki
CitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBl
Y3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsg
IiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1Mg
dGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJy
b3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAi
OSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4
cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUg
KyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFT
UyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRF
cnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlz
ICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMu
ZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29k
ZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQ
QVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3Rl
ZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIg
aXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIKK1BBU1MgdGhp
cy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JD
b2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAiIiBpcyAiOSIK
K1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgorUEFTUyB0aGlzLmV4cGVj
dGVkRXJyb3JDb2RlICsgIiIgaXMgIjkiCitQQVNTIHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUgKyAi
IiBpcyAiOSIKK1BBU1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICI5IgogUEFTUyBW
ZXJpZmllZCBlbnRyeTogRU5UUlkge3BhdGg6L2EgbmFtZTphIHR5cGU6RElSRUNUT1JZfQogRmlu
aXNoZWQgcnVubmluZyB0ZXN0cy4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzhl
NTk2ZjBlNTMzZDQ5N2YxMzUwOWM0YzBmY2ExMTNlMTdhYzI1MS4uODI0ZTI3ODkyZDY4N2QxZTJl
MTlmYWNkYWRjOWY5YTI5YjY4ZjU4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NSBAQAorMjAxMC0xMC0yMCAgS2ludWtv
IFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUmVudW1iZXIgRmlsZUVycm9yL0ZpbGVFeGNlcHRpb24g
ZXJyb3IgY29kZXMgcGVyIGxhdGVzdCBGaWxlIEFQSSBzcGVjIGNoYW5nZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3OTM2CisKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2V0RE9NRXhj
ZXB0aW9uKTogQWRkZWQgRmlsZUV4Y2VwdGlvblR5cGUgY2FzZS4KKyAgICAgICAgKiBiaW5kaW5n
cy92OC9WOFByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4UHJveHk6OnNldERPTUV4Y2Vw
dGlvbik6IEFkZGVkIEZpbGVFeGNlcHRpb25UeXBlIGNhc2UuCisgICAgICAgICogZG9tL0V4Y2Vw
dGlvbkNvZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0RXhjZXB0aW9uQ29kZURlc2NyaXB0
aW9uKTogQWRkZWQgY29kZSBmb3IgRmlsZUV4Y2VwdGlvbi4KKyAgICAgICAgKiBkb20vRXhjZXB0
aW9uQ29kZS5oOgorICAgICAgICAqIGZpbGVhcGkvQXN5bmNGaWxlV3JpdGVyQ2xpZW50Lmg6Cisg
ICAgICAgICogZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
aXJlY3RvcnlFbnRyeTo6Z2V0RmlsZSk6CisgICAgICAgIChXZWJDb3JlOjpEaXJlY3RvcnlFbnRy
eTo6Z2V0RGlyZWN0b3J5KToKKyAgICAgICAgKFdlYkNvcmU6OkRpcmVjdG9yeUVudHJ5OjpyZW1v
dmVSZWN1cnNpdmVseSk6CisgICAgICAgICogZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RGlyZWN0b3J5RW50cnlTeW5jOjpnZXRGaWxlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRpcmVjdG9yeUVudHJ5U3luYzo6Z2V0RGlyZWN0b3J5KToKKyAgICAgICAg
KFdlYkNvcmU6OkRpcmVjdG9yeUVudHJ5U3luYzo6cmVtb3ZlUmVjdXJzaXZlbHkpOgorICAgICAg
ICAqIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
aXJlY3RvcnlSZWFkZXJTeW5jOjpyZWFkRW50cmllcyk6CisgICAgICAgICogZmlsZWFwaS9FbnRy
eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbnRyeTo6Z2V0TWV0YWRhdGEpOgorICAgICAgICAo
V2ViQ29yZTo6RW50cnk6Om1vdmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpFbnRyeTo6Y29weVRv
KToKKyAgICAgICAgKFdlYkNvcmU6OkVudHJ5OjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6
RW50cnk6OmdldFBhcmVudCk6CisgICAgICAgICogZmlsZWFwaS9FbnRyeVN5bmMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RW50cnlTeW5jOjpnZXRNZXRhZGF0YSk6CisgICAgICAgIChXZWJDb3Jl
OjpFbnRyeVN5bmM6Om1vdmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpFbnRyeVN5bmM6OmNvcHlU
byk6CisgICAgICAgIChXZWJDb3JlOjpFbnRyeVN5bmM6OnJlbW92ZSk6CisgICAgICAgICogZmls
ZWFwaS9GaWxlRXJyb3IuaDogQWRkZWQgZXJyb3IgY29kZSBlbnVtLgorICAgICAgICAoV2ViQ29y
ZTo6RmlsZUVycm9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZUVycm9yOjpjb2Rl
KToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVFcnJvcjo6RmlsZUVycm9yKToKKyAgICAgICAgKiBm
aWxlYXBpL0ZpbGVFcnJvci5pZGw6IFJlYmFzZWQgZXJyb3IgY29kZSBudW1iZXJzLgorICAgICAg
ICAqIGZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5oOiBBZGRlZCBleGNlcHRpb24gY29kZSBlbnVtLgor
ICAgICAgICAoV2ViQ29yZTo6RmlsZUV4Y2VwdGlvbjo6RXJyb3JDb2RlVG9FeGNlcHRpb25Db2Rl
KTogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmlkbDogUmViYXNlZCBl
eGNlcHRpb24gY29kZSBudW1iZXJzLgorICAgICAgICAqIGZpbGVhcGkvRmlsZVJlYWRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGaWxlUmVhZGVyOjphYm9ydCk6CisgICAgICAgIChXZWJDb3Jl
OjpGaWxlUmVhZGVyOjpmYWlsZWQpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVJlYWRlcjo6aHR0
cFN0YXR1c0NvZGVUb0Vycm9yQ29kZSk6IENoYW5nZWQgZnJvbQorICAgICAgICBodHRwU3RhdHVD
b2RlVG9FeGNlcHRpb25Db2RlLgorICAgICAgICAqIGZpbGVhcGkvRmlsZVJlYWRlci5oOgorICAg
ICAgICAqIGZpbGVhcGkvRmlsZVJlYWRlclN5bmMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rmls
ZVJlYWRlclN5bmNMb2FkZXI6OnN0YXJ0KToKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVTeXN0ZW1D
YWxsYmFja3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVN5c3RlbUNhbGxiYWNrc0Jhc2U6
OmRpZEZhaWwpOgorICAgICAgICAqIGZpbGVhcGkvRmlsZVdyaXRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGaWxlV3JpdGVyOjp3cml0ZSk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlV3JpdGVy
OjpzZWVrKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVXcml0ZXI6OnRydW5jYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZpbGVXcml0ZXI6OmFib3J0KToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVX
cml0ZXI6OmRpZEZhaWwpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVdyaXRlcjo6c2V0RXJyb3Ip
OgorICAgICAgICAqIGZpbGVhcGkvRmlsZVdyaXRlci5oOgorICAgICAgICAqIGZpbGVhcGkvU3lu
Y0NhbGxiYWNrSGVscGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTeW5jQ2FsbGJhY2tIZWxwZXI6
OlN5bmNDYWxsYmFja0hlbHBlcik6CisgICAgICAgIChXZWJDb3JlOjpTeW5jQ2FsbGJhY2tIZWxw
ZXI6OmdldFJlc3VsdCk6CisgICAgICAgIChXZWJDb3JlOjpTeW5jQ2FsbGJhY2tIZWxwZXI6OnNl
dEVycm9yKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpET01XaW5kb3c6OnJlcXVlc3RGaWxlU3lzdGVtKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtl
ckNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dDo6cmVxdWVzdEZp
bGVTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dDo6cmVxdWVzdEZpbGVT
eXN0ZW1TeW5jKToKKwogMjAxMC0xMC0yMiAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+
CiAKICAgICAgICAgV2luZG93cyBidWlsZCBmaXgKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01CaW5kaW5nLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5n
LmNwcAppbmRleCA3MmU2ZDAzOWNlMDE0ZDdhNjI2MTI0ZTY4Y2RjOWVjMzgxZGZiNDU2Li5lNGNm
ZjRhYWEzYTM3NDljZGI0YTQ0YzJhZWYwYTNhNzMyM2ZmYjRiIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUJpbmRpbmcuY3BwCkBAIC03OCw2ICs3OCwxMSBAQAogI2luY2x1ZGUgIlNRTEV4Y2VwdGlv
bi5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQkxPQikgfHwgRU5BQkxFKEZJTEVfU1lTVEVNKQor
I2luY2x1ZGUgIkZpbGVFeGNlcHRpb24uaCIKKyNpbmNsdWRlICJKU0ZpbGVFeGNlcHRpb24uaCIK
KyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC02MTksNiArNjI0LDExIEBAIHZvaWQgc2V0RE9NRXhjZXB0aW9uKEV4ZWNTdGF0ZSogZXhlYywg
RXhjZXB0aW9uQ29kZSBlYykKICAgICAgICAgICAgIGVycm9yT2JqZWN0ID0gdG9KUyhleGVjLCBn
bG9iYWxPYmplY3QsIFNRTEV4Y2VwdGlvbjo6Y3JlYXRlKGRlc2NyaXB0aW9uKSk7CiAgICAgICAg
ICAgICBicmVhazsKICNlbmRpZgorI2lmIEVOQUJMRShCTE9CKSB8fCBFTkFCTEUoRklMRV9TWVNU
RU0pCisgICAgICAgIGNhc2UgRmlsZUV4Y2VwdGlvblR5cGU6CisgICAgICAgICAgICBlcnJvck9i
amVjdCA9IHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBGaWxlRXhjZXB0aW9uOjpjcmVhdGUoZGVz
Y3JpcHRpb24pKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgfQogCiAgICAgQVNT
RVJUKGVycm9yT2JqZWN0KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94
eS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCmluZGV4IDkwYzJlZDgwYmZm
NGZmYTVhOTRiMWIzN2Q5YjEyYjVkZDU5ZDcxYTAuLmU3ZDZiZjZjY2Q3ZDg1YWUyNjYzYTk2YmI2
NDlkYmYxMTJhNjk4ZDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5j
cHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcApAQCAtNTUsNiArNTUsNyBA
QAogI2luY2x1ZGUgIlY4RE9NTWFwLmgiCiAjaW5jbHVkZSAiVjhET01XaW5kb3cuaCIKICNpbmNs
dWRlICJWOEV2ZW50RXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiVjhGaWxlRXhjZXB0aW9uLmgiCiAj
aW5jbHVkZSAiVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuaCIKICNpbmNsdWRlICJWOElzb2xhdGVkQ29u
dGV4dC5oIgogI2luY2x1ZGUgIlY4UmFuZ2VFeGNlcHRpb24uaCIKQEAgLTcwMyw2ICs3MDQsMTEg
QEAgdm9pZCBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oaW50IGV4Y2VwdGlvbkNvZGUpCiAgICAg
ICAgIGV4Y2VwdGlvbiA9IHRvVjgoU1FMRXhjZXB0aW9uOjpjcmVhdGUoZGVzY3JpcHRpb24pKTsK
ICAgICAgICAgYnJlYWs7CiAjZW5kaWYKKyNpZiBFTkFCTEUoQkxPQikgfHwgRU5BQkxFKEZJTEVf
U1lTVEVNKQorICAgIGNhc2UgRmlsZUV4Y2VwdGlvblR5cGU6CisgICAgICAgIGV4Y2VwdGlvbiA9
IHRvVjgoRmlsZUV4Y2VwdGlvbjo6Y3JlYXRlKGRlc2NyaXB0aW9uKSk7CisgICAgICAgIGJyZWFr
OworI2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5jcHAgYi9XZWJDb3Jl
L2RvbS9FeGNlcHRpb25Db2RlLmNwcAppbmRleCA5MzAzZjllMDYxNzgwOTNiZTg0N2YwMjJmZjQx
ZmMwNjcwOWIwODlhLi5mMDQ4ZmU1NTBkN2E4MjE5YTBmMjgxNTRkNzQ1ZjQwMWVhNzc2YWFjIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmNwcAorKysgYi9XZWJDb3JlL2Rv
bS9FeGNlcHRpb25Db2RlLmNwcApAQCAtNDIsNiArNDIsMTAgQEAKICNpbmNsdWRlICJTUUxFeGNl
cHRpb24uaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKEJMT0IpIHx8IEVOQUJMRShGSUxFX1NZU1RF
TSkKKyNpbmNsdWRlICJGaWxlRXhjZXB0aW9uLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZXhjZXB0aW9uTmFtZXNbXSA9IHsKQEAg
LTE3Myw2ICsxNzcsMzggQEAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHNxbEV4Y2VwdGlvbkRl
c2NyaXB0aW9uc1tdID0gewogfTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEJMT0IpIHx8IEVOQUJM
RShGSUxFX1NZU1RFTSkKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBmaWxlRXhjZXB0aW9uTmFt
ZXNbXSA9IHsKKyAgICAiTk9UX0ZPVU5EX0VSUiIsCisgICAgIlNFQ1VSSVRZX0VSUiIsCisgICAg
IkFCT1JUX0VSUiIsCisgICAgIk5PVF9SRUFEQUJMRV9FUlIiLAorICAgICJFTkNPRElOR19FUlIi
LAorICAgICJOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIiLAorICAgICJJTlZBTElEX1NUQVRF
X0VSUiIsCisgICAgIlNZTlRBWF9FUlIiLAorICAgICJJTlZBTElEX01PRElGSUNBVElPTl9FUlIi
LAorICAgICJRVU9UQV9FWENFRURFRF9FUlIiLAorICAgICJUWVBFX01JU01BVENIX0VSUiIsCisg
ICAgIlBBVEhfRVhJU1RTX0VSUiIKK307CisKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBmaWxl
RXhjZXB0aW9uRGVzY3JpcHRpb25zW10gPSB7CisgICAgIkEgcmVxdWVzdGVkIGZpbGUgb3IgZGly
ZWN0b3J5IGNvdWxkIG5vdCBiZSBmb3VuZCBhdCB0aGUgdGltZSBhbiBvcGVyYXRpb24gd2FzIHBy
b2Nlc3NlZC4iLAorICAgICJJdCB3YXMgZGV0ZXJtaW5lZCB0aGF0IGNlcnRhaW4gZmlsZXMgYXJl
IHVuc2FmZSBmb3IgYWNjZXNzIHdpdGhpbiBhIFdlYiBhcHBsaWNhdGlvbiwgb3IgdGhhdCB0b28g
bWFueSBjYWxscyBhcmUgYmVpbmcgbWFkZSBvbiBmaWxlIHJlc291cmNlcy4iLAorICAgICJBbiBv
bmdvaW5nIG9wZXJhdGlvbiB3YXMgYWJvcnRlZCwgdHlwaWNhbGx5IHdpdGggYSBjYWxsIHRvIGFi
b3J0KCkuIiwKKyAgICAiVGhlIHJlcXVlc3RlZCBmaWxlIGNvdWxkIG5vdCBiZSByZWFkLCB0eXBp
Y2FsbHkgZHVlIHRvIHBlcm1pc3Npb24gcHJvYmxlbXMgdGhhdCBoYXZlIG9jY3VyZWQgYWZ0ZXIg
YSByZWZlcmVuY2UgdG8gYSBmaWxlIHdhcyBhY3F1aXJlZC4iLAorICAgICJBIFVSSSBzdXBwbGll
ZCB0byB0aGUgQVBJIHdhcyBtYWxmb3JtZWQsIG9yIHRoZSByZXN1bHRpbmcgRGF0YSBVUkwgaGFz
IGV4Y2VlZGVkIHRoZSBVUkwgbGVuZ3RoIGxpbWl0YXRpb25zIGZvciBEYXRhIFVSTHMuIiwKKyAg
ICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byB3cml0ZSB0byBhIGZpbGUgb3IgZGlyZWN0b3J5IHdo
aWNoIGNvdWxkIG5vdCBiZSBtb2RpZmllZCBkdWUgdG8gdGhlIHN0YXRlIG9mIHRoZSB1bmRlcmx5
aW5nIGZpbGVzeXN0ZW0uIiwKKyAgICAiQW4gb3BlcmF0aW9uIHRoYXQgZGVwZW5kcyBvbiBzdGF0
ZSBjYWNoZWQgaW4gYW4gaW50ZXJmYWNlIG9iamVjdCB3YXMgbWFkZSBidXQgdGhlIHN0YXRlIGhh
ZCBjaGFuZ2VkIHNpbmNlIGl0IHdhcyByZWFkIGZyb20gZGlzay4iLAorICAgICJBbiBpbnZhbGlk
IG9yIHVuc3VwcG9ydGVkIGFyZ3VtZW50IHdhcyBnaXZlbiwgbGlrZSBhbiBpbnZhbGlkIGxpbmUg
ZW5kaW5nIHNwZWNpZmllci4iLAorICAgICJUaGUgbW9kaWZpY2F0aW9uIHJlcXVlc3Qgd2FzIGls
bGVnYWwuIiwKKyAgICAiVGhlIG9wZXJhdGlvbiBmYWlsZWQgYmVjYXVzZSBpdCB3b3VsZCBjYXVz
ZSB0aGUgYXBwbGljYXRpb24gdG8gZXhjZWVkIGl0cyBzdG9yYWdlIHF1b3RhLiIsCisgICAgIlRo
ZSBwYXRoIHN1cHBsaWVkIGV4aXN0cywgYnV0IHdhcyBub3QgYW4gZW50cnkgb2YgcmVxdWVzdGVk
IHR5cGUuIiwKKyAgICAiQW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBjcmVhdGUgYSBmaWxlIG9yIGRp
cmVjdG9yeSB3aGVyZSBhbiBlbGVtZW50IGFscmVhZHkgZXhpc3RzLiIKK307CisjZW5kaWYKKwog
dm9pZCBnZXRFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSBlYywgRXhjZXB0
aW9uQ29kZURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbikKIHsKICAgICBBU1NFUlQoZWMpOwpAQCAt
MjQxLDYgKzI3NywxNiBAQCB2b2lkIGdldEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbihFeGNlcHRp
b25Db2RlIGVjLCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24mIGRlcwogICAgICAgICBuYW1lVGFi
bGVTaXplID0gc2l6ZW9mKHNxbEV4Y2VwdGlvbk5hbWVzKSAvIHNpemVvZihzcWxFeGNlcHRpb25O
YW1lc1swXSk7CiAgICAgICAgIG5hbWVUYWJsZU9mZnNldCA9IFNRTEV4Y2VwdGlvbjo6VU5LTk9X
Tl9FUlI7CiAjZW5kaWYKKyNpZiBFTkFCTEUoQkxPQikgfHwgRU5BQkxFKEZJTEVfU1lTVEVNKQor
ICAgIH0gZWxzZSBpZiAoY29kZSA+PSBGaWxlRXhjZXB0aW9uOjpGaWxlRXhjZXB0aW9uT2Zmc2V0
ICYmIGNvZGUgPD0gRmlsZUV4Y2VwdGlvbjo6RmlsZUV4Y2VwdGlvbk1heCkgeworICAgICAgICB0
eXBlID0gRmlsZUV4Y2VwdGlvblR5cGU7CisgICAgICAgIHR5cGVOYW1lID0gIkRPTSBGaWxlIjsK
KyAgICAgICAgY29kZSAtPSBGaWxlRXhjZXB0aW9uOjpGaWxlRXhjZXB0aW9uT2Zmc2V0OworICAg
ICAgICBuYW1lVGFibGUgPSBmaWxlRXhjZXB0aW9uTmFtZXM7CisgICAgICAgIGRlc2NyaXB0aW9u
VGFibGUgPSBmaWxlRXhjZXB0aW9uRGVzY3JpcHRpb25zOworICAgICAgICBuYW1lVGFibGVTaXpl
ID0gc2l6ZW9mKGZpbGVFeGNlcHRpb25OYW1lcykgLyBzaXplb2YoZmlsZUV4Y2VwdGlvbk5hbWVz
WzBdKTsKKyAgICAgICAgbmFtZVRhYmxlT2Zmc2V0ID0gRmlsZUV4Y2VwdGlvbjo6Tk9UX0ZPVU5E
X0VSUjsKKyNlbmRpZgogICAgIH0gZWxzZSB7CiAgICAgICAgIHR5cGUgPSBET01FeGNlcHRpb25U
eXBlOwogICAgICAgICB0eXBlTmFtZSA9ICJET00iOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20v
RXhjZXB0aW9uQ29kZS5oIGIvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5oCmluZGV4IGNiYmY2
NTBmZTIxOTdmYzIzZmE0ZmVjYTA4MjU5ZTAyZTg1OWEyZTIuLjZlYTlmN2QwMDRiYWQ0ZGFmMWFi
YTU2MmY1ZWZmZTAyZDM3Y2Y5NTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNv
ZGUuaAorKysgYi9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmgKQEAgLTgxLDYgKzgxLDkgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogI2lmIEVOQUJMRShEQVRBQkFTRSkKICAgICAgICAgLCBTUUxF
eGNlcHRpb25UeXBlCiAjZW5kaWYKKyNpZiBFTkFCTEUoQkxPQikgfHwgRU5BQkxFKEZJTEVfU1lT
VEVNKQorICAgICAgICAsIEZpbGVFeGNlcHRpb25UeXBlCisjZW5kaWYKICAgICB9OwogCiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9Bc3luY0ZpbGVXcml0ZXJDbGllbnQuaCBiL1dlYkNv
cmUvZmlsZWFwaS9Bc3luY0ZpbGVXcml0ZXJDbGllbnQuaAppbmRleCAzMjdiMTljYmVkZDk2Yzk5
NTRjOTc0YzljNmE5Zjk1YjZhODFlMDIyLi45MjlmNTIzZmMyNmQ0N2YzZGNlYjk1YWE5NzdiZWU3
NWZkZDdjYzc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvQXN5bmNGaWxlV3JpdGVyQ2xp
ZW50LmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0FzeW5jRmlsZVdyaXRlckNsaWVudC5oCkBAIC0z
Myw3ICszMyw3IEBACiAKICNpZiBFTkFCTEUoRklMRV9TWVNURU0pCiAKLSNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCisjaW5jbHVkZSAiRmlsZUVycm9yLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkV3Jp
dGUobG9uZyBsb25nIGJ5dGVzLCBib29sIGNvbXBsZXRlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGRpZFRydW5jYXRlKCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsKEV4Y2VwdGlvbkNv
ZGUpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbChGaWxlRXJyb3I6OkVycm9yQ29kZSkg
PSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9E
aXJlY3RvcnlFbnRyeS5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnkuY3BwCmlu
ZGV4IDc2NWZjZDVmOTY5NWE0YjFmY2EzMDYxNGIyMzYxNGE1NTczYWQ0YjguLjc5MTUxMTc1OWNj
MmIwODI4NjAwMjBiYmQ2YjQ1ZDBhODg1NDNjMDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFw
aS9EaXJlY3RvcnlFbnRyeS5jcHAKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5
LmNwcApAQCAtNTUsMjEgKzU1LDIxIEBAIHZvaWQgRGlyZWN0b3J5RW50cnk6OmdldEZpbGUoY29u
c3QgU3RyaW5nJiBwYXRoLCBQYXNzUmVmUHRyPEZsYWdzPiBmbGFncywgUGFzc1JlCiB7CiAgICAg
UmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2soZXJyb3JDYWxsYmFja1JlZik7CiAg
ICAgaWYgKCFtX2ZpbGVTeXN0ZW0tPmdldEZpbGUodGhpcywgcGF0aCwgZmxhZ3MsIHN1Y2Nlc3ND
YWxsYmFjaywgZXJyb3JDYWxsYmFjaykpCi0gICAgICAgIGZpbGVzeXN0ZW0oKS0+c2NoZWR1bGVD
YWxsYmFjayhlcnJvckNhbGxiYWNrLnJlbGVhc2UoKSwgRmlsZUVycm9yOjpjcmVhdGUoSU5WQUxJ
RF9NT0RJRklDQVRJT05fRVJSKSk7CisgICAgICAgIGZpbGVzeXN0ZW0oKS0+c2NoZWR1bGVDYWxs
YmFjayhlcnJvckNhbGxiYWNrLnJlbGVhc2UoKSwgRmlsZUVycm9yOjpjcmVhdGUoRmlsZUVycm9y
OjpJTlZBTElEX01PRElGSUNBVElPTl9FUlIpKTsKIH0KIAogdm9pZCBEaXJlY3RvcnlFbnRyeTo6
Z2V0RGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgcGF0aCwgUGFzc1JlZlB0cjxGbGFncz4gZmxhZ3Ms
IFBhc3NSZWZQdHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPEVy
cm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2tSZWYpCiB7CiAgICAgUmVmUHRyPEVycm9yQ2FsbGJh
Y2s+IGVycm9yQ2FsbGJhY2soZXJyb3JDYWxsYmFja1JlZik7CiAgICAgaWYgKCFtX2ZpbGVTeXN0
ZW0tPmdldERpcmVjdG9yeSh0aGlzLCBwYXRoLCBmbGFncywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJv
ckNhbGxiYWNrKSkKLSAgICAgICAgZmlsZXN5c3RlbSgpLT5zY2hlZHVsZUNhbGxiYWNrKGVycm9y
Q2FsbGJhY2sucmVsZWFzZSgpLCBGaWxlRXJyb3I6OmNyZWF0ZShJTlZBTElEX01PRElGSUNBVElP
Tl9FUlIpKTsKKyAgICAgICAgZmlsZXN5c3RlbSgpLT5zY2hlZHVsZUNhbGxiYWNrKGVycm9yQ2Fs
bGJhY2sucmVsZWFzZSgpLCBGaWxlRXJyb3I6OmNyZWF0ZShGaWxlRXJyb3I6OklOVkFMSURfTU9E
SUZJQ0FUSU9OX0VSUikpOwogfQogCiB2b2lkIERpcmVjdG9yeUVudHJ5OjpyZW1vdmVSZWN1cnNp
dmVseShQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRy
PEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2tSZWYpIGNvbnN0CiB7CiAgICAgUmVmUHRyPEVy
cm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2soZXJyb3JDYWxsYmFja1JlZik7CiAgICAgaWYgKCFt
X2ZpbGVTeXN0ZW0tPnJlbW92ZVJlY3Vyc2l2ZWx5KHRoaXMsIHN1Y2Nlc3NDYWxsYmFjaywgZXJy
b3JDYWxsYmFjaykpCi0gICAgICAgIGZpbGVzeXN0ZW0oKS0+c2NoZWR1bGVDYWxsYmFjayhlcnJv
ckNhbGxiYWNrLnJlbGVhc2UoKSwgRmlsZUVycm9yOjpjcmVhdGUoSU5WQUxJRF9NT0RJRklDQVRJ
T05fRVJSKSk7CisgICAgICAgIGZpbGVzeXN0ZW0oKS0+c2NoZWR1bGVDYWxsYmFjayhlcnJvckNh
bGxiYWNrLnJlbGVhc2UoKSwgRmlsZUVycm9yOjpjcmVhdGUoRmlsZUVycm9yOjpJTlZBTElEX01P
RElGSUNBVElPTl9FUlIpKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0Rp
cmVjdG9yeUVudHJ5U3luYy5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5j
LmNwcAppbmRleCBkOGQyMmMyM2E3ODU0NDVhNDMxZWMxZGE3MjQ2YTMxN2Q4NzExMWY3Li4wMjFk
OTczYWFlMzVlYjAwNTA3NDQyY2UzNTU2MmRlNzllMmQ4N2Y0IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRGly
ZWN0b3J5RW50cnlTeW5jLmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkRpcmVjdG9y
eVJlYWRlclN5bmMuaCIKICNpbmNsdWRlICJFbnRyeVN5bmMuaCIKICNpbmNsdWRlICJGaWxlRW50
cnlTeW5jLmgiCisjaW5jbHVkZSAiRmlsZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIlN5bmNDYWxs
YmFja0hlbHBlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01NSw3ICs1Niw3IEBAIFBh
c3NSZWZQdHI8RmlsZUVudHJ5U3luYz4gRGlyZWN0b3J5RW50cnlTeW5jOjpnZXRGaWxlKGNvbnN0
IFN0cmluZyYgcGF0aCwgUGFzc1JlCiAgICAgZWMgPSAwOwogICAgIEVudHJ5U3luY0NhbGxiYWNr
SGVscGVyIGhlbHBlcihtX2ZpbGVTeXN0ZW0tPmFzeW5jRmlsZVN5c3RlbSgpKTsKICAgICBpZiAo
IW1fZmlsZVN5c3RlbS0+Z2V0RmlsZSh0aGlzLCBwYXRoLCBmbGFncywgaGVscGVyLnN1Y2Nlc3ND
YWxsYmFjaygpLCBoZWxwZXIuZXJyb3JDYWxsYmFjaygpKSkgewotICAgICAgICBlYyA9IElOVkFM
SURfTU9ESUZJQ0FUSU9OX0VSUjsKKyAgICAgICAgZWMgPSBGaWxlRXhjZXB0aW9uOjpJTlZBTElE
X01PRElGSUNBVElPTl9FUlI7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KICAgICByZXR1cm4g
c3RhdGljX3BvaW50ZXJfY2FzdDxGaWxlRW50cnlTeW5jPihoZWxwZXIuZ2V0UmVzdWx0KGVjKSk7
CkBAIC02Niw3ICs2Nyw3IEBAIFBhc3NSZWZQdHI8RGlyZWN0b3J5RW50cnlTeW5jPiBEaXJlY3Rv
cnlFbnRyeVN5bmM6OmdldERpcmVjdG9yeShjb25zdCBTdHJpbmcmIHBhCiAgICAgZWMgPSAwOwog
ICAgIEVudHJ5U3luY0NhbGxiYWNrSGVscGVyIGhlbHBlcihtX2ZpbGVTeXN0ZW0tPmFzeW5jRmls
ZVN5c3RlbSgpKTsKICAgICBpZiAoIW1fZmlsZVN5c3RlbS0+Z2V0RGlyZWN0b3J5KHRoaXMsIHBh
dGgsIGZsYWdzLCBoZWxwZXIuc3VjY2Vzc0NhbGxiYWNrKCksIGhlbHBlci5lcnJvckNhbGxiYWNr
KCkpKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSOworICAgICAgICBl
YyA9IEZpbGVFeGNlcHRpb246OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUjsKICAgICAgICAgcmV0
dXJuIDA7CiAgICAgfQogICAgIHJldHVybiBzdGF0aWNfcG9pbnRlcl9jYXN0PERpcmVjdG9yeUVu
dHJ5U3luYz4oaGVscGVyLmdldFJlc3VsdChlYykpOwpAQCAtNzcsNyArNzgsNyBAQCB2b2lkIERp
cmVjdG9yeUVudHJ5U3luYzo6cmVtb3ZlUmVjdXJzaXZlbHkoRXhjZXB0aW9uQ29kZSYgZWMpCiAg
ICAgZWMgPSAwOwogICAgIFZvaWRTeW5jQ2FsbGJhY2tIZWxwZXIgaGVscGVyKG1fZmlsZVN5c3Rl
bS0+YXN5bmNGaWxlU3lzdGVtKCkpOwogICAgIGlmICghbV9maWxlU3lzdGVtLT5yZW1vdmVSZWN1
cnNpdmVseSh0aGlzLCBoZWxwZXIuc3VjY2Vzc0NhbGxiYWNrKCksIGhlbHBlci5lcnJvckNhbGxi
YWNrKCkpKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSOworICAgICAg
ICBlYyA9IEZpbGVFeGNlcHRpb246OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUjsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KICAgICBoZWxwZXIuZ2V0UmVzdWx0KGVjKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCBiL1dlYkNvcmUvZmlsZWFwaS9E
aXJlY3RvcnlSZWFkZXJTeW5jLmNwcAppbmRleCA2YzY2YTE1MzU0MjY3ZjVjMDBjYWY3ZDhkOGE3
N2EzN2RjMzk5ZjcwLi45ZTVlNjg0MjNkNTRiM2Y2OThiM2VhMzdkYTViNWRiZjJjZmYzZjI2IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAKKysrIGIv
V2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwCkBAIC0zOSw3ICszOSw3IEBA
CiAjaW5jbHVkZSAiRW50cnlTeW5jLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2lu
Y2x1ZGUgIkZpbGVFbnRyeVN5bmMuaCIKLSNpbmNsdWRlICJGaWxlRXJyb3IuaCIKKyNpbmNsdWRl
ICJGaWxlRXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAiU3luY0NhbGxiYWNrSGVscGVyLmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU3LDcgKzU3LDcgQEAgUGFzc1JlZlB0cjxFbnRyeUFycmF5
U3luYz4gRGlyZWN0b3J5UmVhZGVyU3luYzo6cmVhZEVudHJpZXMoRXhjZXB0aW9uQ29kZSYgZWMp
CiAKICAgICBFbnRyaWVzU3luY0NhbGxiYWNrSGVscGVyIGhlbHBlcihtX2ZpbGVTeXN0ZW0tPmFz
eW5jRmlsZVN5c3RlbSgpKTsKICAgICBpZiAoIW1fZmlsZVN5c3RlbS0+cmVhZERpcmVjdG9yeSh0
aGlzLCBtX2Z1bGxQYXRoLCBoZWxwZXIuc3VjY2Vzc0NhbGxiYWNrKCksIGhlbHBlci5lcnJvckNh
bGxiYWNrKCkpKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSOworICAg
ICAgICBlYyA9IEZpbGVFeGNlcHRpb246OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUjsKICAgICAg
ICAgc2V0SGFzTW9yZUVudHJpZXMoZmFsc2UpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRW50cnkuY3BwIGIvV2ViQ29yZS9maWxlYXBpL0Vu
dHJ5LmNwcAppbmRleCAyMTgzYjMzYjM4ZjZiOTMxNzMxZmFmMGM1NGYyZjkwOGQwOTNkODhlLi44
M2UxYTFkNjM0MDk0OTA1NWJiNzc0ZmMyMzc4ZTdkNjE5NDljMDU3IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2ZpbGVhcGkvRW50cnkuY3BwCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9FbnRyeS5jcHAKQEAg
LTUxLDM1ICs1MSwzNSBAQCB2b2lkIEVudHJ5OjpnZXRNZXRhZGF0YShQYXNzUmVmUHRyPE1ldGFk
YXRhQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cgogewogICAgIFJlZlB0cjxF
cnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2tSZWYpOwogICAgIGlmICgh
bV9maWxlU3lzdGVtLT5nZXRNZXRhZGF0YSh0aGlzLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2Fs
bGJhY2spKQotICAgICAgICBmaWxlc3lzdGVtKCktPnNjaGVkdWxlQ2FsbGJhY2soZXJyb3JDYWxs
YmFjay5yZWxlYXNlKCksIEZpbGVFcnJvcjo6Y3JlYXRlKElOVkFMSURfTU9ESUZJQ0FUSU9OX0VS
UikpOworICAgICAgICBmaWxlc3lzdGVtKCktPnNjaGVkdWxlQ2FsbGJhY2soZXJyb3JDYWxsYmFj
ay5yZWxlYXNlKCksIEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVFcnJvcjo6SU5WQUxJRF9NT0RJRklD
QVRJT05fRVJSKSk7CiB9CiAKIHZvaWQgRW50cnk6Om1vdmVUbyhQYXNzUmVmUHRyPERpcmVjdG9y
eUVudHJ5PiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc1JlZlB0cjxFbnRyeUNhbGxi
YWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxs
YmFja1JlZikgY29uc3QKIHsKICAgICBSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFj
ayhlcnJvckNhbGxiYWNrUmVmKTsKICAgICBpZiAoIW1fZmlsZVN5c3RlbS0+bW92ZSh0aGlzLCBw
YXJlbnQuZ2V0KCksIG5hbWUsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaykpCi0gICAg
ICAgIGZpbGVzeXN0ZW0oKS0+c2NoZWR1bGVDYWxsYmFjayhlcnJvckNhbGxiYWNrLnJlbGVhc2Uo
KSwgRmlsZUVycm9yOjpjcmVhdGUoSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSKSk7CisgICAgICAg
IGZpbGVzeXN0ZW0oKS0+c2NoZWR1bGVDYWxsYmFjayhlcnJvckNhbGxiYWNrLnJlbGVhc2UoKSwg
RmlsZUVycm9yOjpjcmVhdGUoRmlsZUVycm9yOjpJTlZBTElEX01PRElGSUNBVElPTl9FUlIpKTsK
IH0KIAogdm9pZCBFbnRyeTo6Y29weVRvKFBhc3NSZWZQdHI8RGlyZWN0b3J5RW50cnk+IHBhcmVu
dCwgY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3ND
YWxsYmFjaywgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrUmVmKSBjb25z
dAogewogICAgIFJlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJh
Y2tSZWYpOwogICAgIGlmICghbV9maWxlU3lzdGVtLT5jb3B5KHRoaXMsIHBhcmVudC5nZXQoKSwg
bmFtZSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKSkKLSAgICAgICAgZmlsZXN5c3Rl
bSgpLT5zY2hlZHVsZUNhbGxiYWNrKGVycm9yQ2FsbGJhY2sucmVsZWFzZSgpLCBGaWxlRXJyb3I6
OmNyZWF0ZShJTlZBTElEX01PRElGSUNBVElPTl9FUlIpKTsKKyAgICAgICAgZmlsZXN5c3RlbSgp
LT5zY2hlZHVsZUNhbGxiYWNrKGVycm9yQ2FsbGJhY2sucmVsZWFzZSgpLCBGaWxlRXJyb3I6OmNy
ZWF0ZShGaWxlRXJyb3I6OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUikpOwogfQogCiB2b2lkIEVu
dHJ5OjpyZW1vdmUoUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFz
c1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrUmVmKSBjb25zdAogewogICAgIFJl
ZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2tSZWYpOwogICAg
IGlmICghbV9maWxlU3lzdGVtLT5yZW1vdmUodGhpcywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNh
bGxiYWNrKSkKLSAgICAgICAgZmlsZXN5c3RlbSgpLT5zY2hlZHVsZUNhbGxiYWNrKGVycm9yQ2Fs
bGJhY2sucmVsZWFzZSgpLCBGaWxlRXJyb3I6OmNyZWF0ZShJTlZBTElEX01PRElGSUNBVElPTl9F
UlIpKTsKKyAgICAgICAgZmlsZXN5c3RlbSgpLT5zY2hlZHVsZUNhbGxiYWNrKGVycm9yQ2FsbGJh
Y2sucmVsZWFzZSgpLCBGaWxlRXJyb3I6OmNyZWF0ZShGaWxlRXJyb3I6OklOVkFMSURfTU9ESUZJ
Q0FUSU9OX0VSUikpOwogfQogCiB2b2lkIEVudHJ5OjpnZXRQYXJlbnQoUGFzc1JlZlB0cjxFbnRy
eUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJy
b3JDYWxsYmFja1JlZikgY29uc3QKIHsKICAgICBSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JD
YWxsYmFjayhlcnJvckNhbGxiYWNrUmVmKTsKICAgICBpZiAoIW1fZmlsZVN5c3RlbS0+Z2V0UGFy
ZW50KHRoaXMsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaykpCi0gICAgICAgIGZpbGVz
eXN0ZW0oKS0+c2NoZWR1bGVDYWxsYmFjayhlcnJvckNhbGxiYWNrLnJlbGVhc2UoKSwgRmlsZUVy
cm9yOjpjcmVhdGUoSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSKSk7CisgICAgICAgIGZpbGVzeXN0
ZW0oKS0+c2NoZWR1bGVDYWxsYmFjayhlcnJvckNhbGxiYWNrLnJlbGVhc2UoKSwgRmlsZUVycm9y
OjpjcmVhdGUoRmlsZUVycm9yOjpJTlZBTElEX01PRElGSUNBVElPTl9FUlIpKTsKIH0KIAogU3Ry
aW5nIEVudHJ5Ojp0b1VSSShjb25zdCBTdHJpbmcmKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxl
YXBpL0VudHJ5U3luYy5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmNwcAppbmRleCBh
ZDAwN2RiMDk0ZTFjMzk2YzI0ZjdjZmI2NDU2NTQyNDJmMWI0MDIwLi5hMDZiZDIyNjNlOTg2NWVm
MWY2ZDcwZDI1M2IyN2M4ZmRiMTA2ODViIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRW50
cnlTeW5jLmNwcAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRW50cnlTeW5jLmNwcApAQCAtMzgsNiAr
MzgsNyBAQAogI2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5LmgiCiAjaW5jbHVkZSAiRGlyZWN0b3J5
RW50cnlTeW5jLmgiCiAjaW5jbHVkZSAiRmlsZUVudHJ5U3luYy5oIgorI2luY2x1ZGUgIkZpbGVF
eGNlcHRpb24uaCIKICNpbmNsdWRlICJNZXRhZGF0YS5oIgogI2luY2x1ZGUgIlN5bmNDYWxsYmFj
a0hlbHBlci5oIgogCkBAIC01NSw3ICs1Niw3IEBAIFBhc3NSZWZQdHI8TWV0YWRhdGE+IEVudHJ5
U3luYzo6Z2V0TWV0YWRhdGEoRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgZWMgPSAwOwogICAgIE1l
dGFkYXRhU3luY0NhbGxiYWNrSGVscGVyIGhlbHBlcihtX2ZpbGVTeXN0ZW0tPmFzeW5jRmlsZVN5
c3RlbSgpKTsKICAgICBpZiAoIW1fZmlsZVN5c3RlbS0+Z2V0TWV0YWRhdGEodGhpcywgaGVscGVy
LnN1Y2Nlc3NDYWxsYmFjaygpLCBoZWxwZXIuZXJyb3JDYWxsYmFjaygpKSkgewotICAgICAgICBl
YyA9IElOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUjsKKyAgICAgICAgZWMgPSBGaWxlRXhjZXB0aW9u
OjpJTlZBTElEX01PRElGSUNBVElPTl9FUlI7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KICAg
ICByZXR1cm4gaGVscGVyLmdldFJlc3VsdChlYyk7CkBAIC02Niw3ICs2Nyw3IEBAIFBhc3NSZWZQ
dHI8RW50cnlTeW5jPiBFbnRyeVN5bmM6Om1vdmVUbyhQYXNzUmVmUHRyPERpcmVjdG9yeUVudHJ5
U3luYz4gcGFyZW50LCBjCiAgICAgZWMgPSAwOwogICAgIEVudHJ5U3luY0NhbGxiYWNrSGVscGVy
IGhlbHBlcihtX2ZpbGVTeXN0ZW0tPmFzeW5jRmlsZVN5c3RlbSgpKTsKICAgICBpZiAoIW1fZmls
ZVN5c3RlbS0+bW92ZSh0aGlzLCBwYXJlbnQuZ2V0KCksIG5hbWUsIGhlbHBlci5zdWNjZXNzQ2Fs
bGJhY2soKSwgaGVscGVyLmVycm9yQ2FsbGJhY2soKSkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElE
X01PRElGSUNBVElPTl9FUlI7CisgICAgICAgIGVjID0gRmlsZUV4Y2VwdGlvbjo6SU5WQUxJRF9N
T0RJRklDQVRJT05fRVJSOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgcmV0dXJuIGhl
bHBlci5nZXRSZXN1bHQoZWMpOwpAQCAtNzcsNyArNzgsNyBAQCBQYXNzUmVmUHRyPEVudHJ5U3lu
Yz4gRW50cnlTeW5jOjpjb3B5VG8oUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeVN5bmM+IHBhcmVu
dCwgYwogICAgIGVjID0gMDsKICAgICBFbnRyeVN5bmNDYWxsYmFja0hlbHBlciBoZWxwZXIobV9m
aWxlU3lzdGVtLT5hc3luY0ZpbGVTeXN0ZW0oKSk7CiAgICAgaWYgKCFtX2ZpbGVTeXN0ZW0tPmNv
cHkodGhpcywgcGFyZW50LmdldCgpLCBuYW1lLCBoZWxwZXIuc3VjY2Vzc0NhbGxiYWNrKCksIGhl
bHBlci5lcnJvckNhbGxiYWNrKCkpKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9NT0RJRklDQVRJ
T05fRVJSOworICAgICAgICBlYyA9IEZpbGVFeGNlcHRpb246OklOVkFMSURfTU9ESUZJQ0FUSU9O
X0VSUjsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogICAgIHJldHVybiBoZWxwZXIuZ2V0UmVz
dWx0KGVjKTsKQEAgLTg4LDcgKzg5LDcgQEAgdm9pZCBFbnRyeVN5bmM6OnJlbW92ZShFeGNlcHRp
b25Db2RlJiBlYykgY29uc3QKICAgICBlYyA9IDA7CiAgICAgVm9pZFN5bmNDYWxsYmFja0hlbHBl
ciBoZWxwZXIobV9maWxlU3lzdGVtLT5hc3luY0ZpbGVTeXN0ZW0oKSk7CiAgICAgaWYgKCFtX2Zp
bGVTeXN0ZW0tPnJlbW92ZSh0aGlzLCBoZWxwZXIuc3VjY2Vzc0NhbGxiYWNrKCksIGhlbHBlci5l
cnJvckNhbGxiYWNrKCkpKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9NT0RJRklDQVRJT05fRVJS
OworICAgICAgICBlYyA9IEZpbGVFeGNlcHRpb246OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUjsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBoZWxwZXIuZ2V0UmVzdWx0KGVjKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXJyb3IuaCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxl
RXJyb3IuaAppbmRleCAzNTI4MTA5MThlNTA1Yjc5ZmU5MTY2ZjEyNDNmNmQxYmQwMmZjZGY0Li4y
N2FkMzk3MDM4Njc4ZDFmZGNhZDA2NWNiZDczYWVlMmZkYWEwMjZiIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2ZpbGVhcGkvRmlsZUVycm9yLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVFcnJvci5o
CkBAIC0zMyw3ICszMyw2IEBACiAKICNpZiBFTkFCTEUoQkxPQikgfHwgRU5BQkxFKEZJTEVfU1lT
VEVNKQogCi0jaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApAQCAtNDEsMTYgKzQwLDMxIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRmlsZUVycm9yIDogcHVibGljIFJlZkNvdW50
ZWQ8RmlsZUVycm9yPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RmlsZUVycm9y
PiBjcmVhdGUoRXhjZXB0aW9uQ29kZSBjb2RlKSB7IHJldHVybiBhZG9wdFJlZihuZXcgRmlsZUVy
cm9yKGNvZGUpKTsgfQorICAgIGVudW0gRXJyb3JDb2RlIHsKKyAgICAgICAgTk9UX0ZPVU5EX0VS
UiA9IDEsCisgICAgICAgIFNFQ1VSSVRZX0VSUiA9IDIsCisgICAgICAgIEFCT1JUX0VSUiA9IDMs
CisgICAgICAgIE5PVF9SRUFEQUJMRV9FUlIgPSA0LAorICAgICAgICBFTkNPRElOR19FUlIgPSA1
LAorICAgICAgICBOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIgPSA2LAorICAgICAgICBJTlZB
TElEX1NUQVRFX0VSUiA9IDcsCisgICAgICAgIFNZTlRBWF9FUlIgPSA4LAorICAgICAgICBJTlZB
TElEX01PRElGSUNBVElPTl9FUlIgPSA5LAorICAgICAgICBRVU9UQV9FWENFRURFRF9FUlIgPSAx
MCwKKyAgICAgICAgVFlQRV9NSVNNQVRDSF9FUlIgPSAxMSwKKyAgICAgICAgUEFUSF9FWElTVFNf
RVJSID0gMTIsCisgICAgfTsKIAotICAgIEV4Y2VwdGlvbkNvZGUgY29kZSgpIGNvbnN0IHsgcmV0
dXJuIG1fY29kZTsgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZpbGVFcnJvcj4gY3JlYXRlKEVy
cm9yQ29kZSBjb2RlKSB7IHJldHVybiBhZG9wdFJlZihuZXcgRmlsZUVycm9yKGNvZGUpKTsgfQor
CisgICAgRXJyb3JDb2RlIGNvZGUoKSBjb25zdCB7IHJldHVybiBtX2NvZGU7IH0KIAogcHJpdmF0
ZToKLSAgICBGaWxlRXJyb3IoRXhjZXB0aW9uQ29kZSBjb2RlKQorICAgIEZpbGVFcnJvcihFcnJv
ckNvZGUgY29kZSkKICAgICAgICAgOiBtX2NvZGUoY29kZSkKICAgICB7IH0KIAotICAgIEV4Y2Vw
dGlvbkNvZGUgbV9jb2RlOworICAgIEVycm9yQ29kZSBtX2NvZGU7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUVycm9yLmlkbCBi
L1dlYkNvcmUvZmlsZWFwaS9GaWxlRXJyb3IuaWRsCmluZGV4IGM1ZGVkYmVkNjFmMTU1MzY4NjIx
M2EzMDFlYTVkOTA3YzI3MmM4N2UuLmJhYjgxNWFkNjk1NDlkMmQ1ZDE4NDM1MTEwNWVhMTk2M2Q0
MGUyNjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXJyb3IuaWRsCisrKyBiL1dl
YkNvcmUvZmlsZWFwaS9GaWxlRXJyb3IuaWRsCkBAIC0zMSwyMSArMzEsMjMgQEAKIG1vZHVsZSBo
dG1sIHsKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1CTE9CfEZJTEVfU1lT
VEVNLAotICAgICAgICBEb250Q2hlY2tFbnVtcywKICAgICAgICAgTm9TdGF0aWNUYWJsZXMKICAg
ICBdIEZpbGVFcnJvciB7CiAjaWYgIWRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpCi0gICAg
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUiA9IDc7
Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5PVF9GT1VORF9FUlIgPSA4OwotICAgICAg
ICBjb25zdCB1bnNpZ25lZCBzaG9ydCBJTlZBTElEX1NUQVRFX0VSUiA9IDExOwotICAgICAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBTWU5UQVhfRVJSID0gMTI7Ci0gICAgICAgIGNvbnN0IHVuc2ln
bmVkIHNob3J0IElOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUiA9IDEzOworICAgICAgICAvLyBGSVhN
RTogU29tZSBvZiBjb25zdGFudCBuYW1lcyBhcmUgYWxyZWFkeSBkZWZpbmVkIGluIERPTUV4Y2Vw
dGlvbi5oIGZvciBPYmplY3RpdmUtQyBiaW5kaW5nIGFuZCB3ZSBjYW5ub3QgaGF2ZSB0aGUgc2Ft
ZSBuYW1lcyBoZXJlICh0aGV5IGFyZSB0cmFuc2xhdGVkIGludG8gYSBlbnVtIGluIHRoZSBzYW1l
IG5hbWVzcGFjZSkuCisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5PVF9GT1VORF9FUlIg
PSAxOworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTRUNVUklUWV9FUlIgPSAyOworICAg
ICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBBQk9SVF9FUlIgPSAzOworICAgICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBOT1RfUkVBREFCTEVfRVJSID0gNDsKKyAgICAgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgRU5DT0RJTkdfRVJSID0gNTsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
Tk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJSID0gNjsKKyAgICAgICAgY29uc3QgdW5zaWduZWQg
c2hvcnQgSU5WQUxJRF9TVEFURV9FUlIgPSA3OworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBTWU5UQVhfRVJSID0gODsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgSU5WQUxJRF9N
T0RJRklDQVRJT05fRVJSID0gOTsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUVVPVEFf
RVhDRUVERURfRVJSID0gMTA7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFRZUEVfTUlT
TUFUQ0hfRVJSID0gMTE7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFBBVEhfRVhJU1RT
X0VSUiA9IDEyOwogI2VuZGlmCi0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNFQ1VSSVRZ
X0VSUiA9IDE4OwotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBBQk9SVF9FUlIgPSAyMDsK
LSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUVVPVEFfRVhDRUVERURfRVJSID0gMjI7Ci0g
ICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5PVF9SRUFEQUJMRV9FUlIgPSAyNDsKLSAgICAg
ICAgY29uc3QgdW5zaWduZWQgc2hvcnQgRU5DT0RJTkdfRVJSID0gMjY7CiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBjb2RlOwogICAgIH07CiB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5oIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVF
eGNlcHRpb24uaAppbmRleCBlOTBhYjkwMjI4NmVkMDZkNDU1OTVmYmVhYzNlYTYwYzRlODU4ZmFk
Li5jM2NjNjM4MGFlZWI4N2MzODVmMzZmODI4NDVlMGNiMTZmMjY3ZDI4IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9GaWxl
RXhjZXB0aW9uLmgKQEAgLTQ0LDEzICs0NCwzMSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgRmlsZUV4Y2VwdGlvbihkZXNjcmlwdGlvbikpOwogICAgIH0KIAotICAgIHN0
YXRpYyBjb25zdCBpbnQgRmlsZUV4Y2VwdGlvbk9mZnNldCA9IDEwMDsKLSAgICBzdGF0aWMgY29u
c3QgaW50IEZpbGVFeGNlcHRpb25NYXggPSAxOTk7CisgICAgc3RhdGljIGNvbnN0IGludCBGaWxl
RXhjZXB0aW9uT2Zmc2V0ID0gMTEwMDsKKyAgICBzdGF0aWMgY29uc3QgaW50IEZpbGVFeGNlcHRp
b25NYXggPSAxMTk5OwogCi0gICAgZW51bSBFdmVudEV4Y2VwdGlvbkNvZGUgewotICAgICAgICBV
TlNQRUNJRklFRF9FVkVOVF9UWVBFX0VSUiA9IEZpbGVFeGNlcHRpb25PZmZzZXQKKyAgICBlbnVt
IEZpbGVFeGNlcHRpb25Db2RlIHsKKyAgICAgICAgTk9UX0ZPVU5EX0VSUiA9IEZpbGVFeGNlcHRp
b25PZmZzZXQgKyAxLAorICAgICAgICBTRUNVUklUWV9FUlIgPSBGaWxlRXhjZXB0aW9uT2Zmc2V0
ICsgMiwKKyAgICAgICAgQUJPUlRfRVJSID0gRmlsZUV4Y2VwdGlvbk9mZnNldCArIDMsCisgICAg
ICAgIE5PVF9SRUFEQUJMRV9FUlIgPSBGaWxlRXhjZXB0aW9uT2Zmc2V0ICsgNCwKKyAgICAgICAg
RU5DT0RJTkdfRVJSID0gRmlsZUV4Y2VwdGlvbk9mZnNldCArIDUsCisgICAgICAgIE5PX01PRElG
SUNBVElPTl9BTExPV0VEX0VSUiA9IEZpbGVFeGNlcHRpb25PZmZzZXQgKyA2LAorICAgICAgICBJ
TlZBTElEX1NUQVRFX0VSUiA9IEZpbGVFeGNlcHRpb25PZmZzZXQgKyA3LAorICAgICAgICBTWU5U
QVhfRVJSID0gRmlsZUV4Y2VwdGlvbk9mZnNldCArIDgsCisgICAgICAgIElOVkFMSURfTU9ESUZJ
Q0FUSU9OX0VSUiA9IEZpbGVFeGNlcHRpb25PZmZzZXQgKyA5LAorICAgICAgICBRVU9UQV9FWENF
RURFRF9FUlIgPSBGaWxlRXhjZXB0aW9uT2Zmc2V0ICsgMTAsCisgICAgICAgIFRZUEVfTUlTTUFU
Q0hfRVJSID0gRmlsZUV4Y2VwdGlvbk9mZnNldCArIDExLAorICAgICAgICBQQVRIX0VYSVNUU19F
UlIgPSBGaWxlRXhjZXB0aW9uT2Zmc2V0ICsgMTIsCiAgICAgfTsKIAorICAgIHN0YXRpYyBpbnQg
RXJyb3JDb2RlVG9FeGNlcHRpb25Db2RlKGludCBlcnJvckNvZGUpCisgICAgeworICAgICAgICBp
ZiAoIWVycm9yQ29kZSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gZXJy
b3JDb2RlICsgRmlsZUV4Y2VwdGlvbk9mZnNldDsKKyAgICB9CisKIHByaXZhdGU6CiAgICAgRmls
ZUV4Y2VwdGlvbihjb25zdCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQog
ICAgICAgICA6IEV4Y2VwdGlvbkJhc2UoZGVzY3JpcHRpb24pCkBAIC02Myw0ICs4MSwzIEBAIHBy
aXZhdGU6CiAjZW5kaWYgLy8gRU5BQkxFKEJMT0IpIHx8IEVOQUJMRShGSUxFX1NZU1RFTSkKIAog
I2VuZGlmIC8vIEZpbGVFeGNlcHRpb25faAotCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZUV4Y2VwdGlvbi5pZGwgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5pZGwKaW5k
ZXggMGIyYWI5Y2MzN2ZlYTg2OTU2YjUzMmJmMDkzMjM5ZWY5MTAwY2E0MC4uMTBiZDE1MTc3N2Qw
ZDI1NGViYzVmZDg3N2FmMTY2MmU5MTBkY2JjNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBp
L0ZpbGVFeGNlcHRpb24uaWRsCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmlk
bApAQCAtNDUsMTUgKzQ1LDE3IEBAIG1vZHVsZSBodG1sIHsKICNlbmRpZgogCiAgICAgICAgIC8v
IEZpbGVFeGNlcHRpb25Db2RlCi0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5PX01PRElG
SUNBVElPTl9BTExPV0VEX0VSUiA9IDc7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5P
VF9GT1VORF9FUlIgPSA4OwotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBJTlZBTElEX1NU
QVRFX0VSUiA9IDExOwotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTWU5UQVhfRVJSID0g
MTI7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IElOVkFMSURfTU9ESUZJQ0FUSU9OX0VS
UiA9IDEzOwotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTRUNVUklUWV9FUlIgPSAxODsK
LSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQUJPUlRfRVJSID0gMjA7Ci0gICAgICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IFFVT1RBX0VYQ0VFREVEX0VSUiA9IDIyOwotICAgICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBOT1RfUkVBREFCTEVfRVJSID0gMjQ7Ci0gICAgICAgIGNvbnN0IHVu
c2lnbmVkIHNob3J0IEVOQ09ESU5HX0VSUiA9IDI2OworICAgICAgICBjb25zdCB1bnNpZ25lZCBz
aG9ydCBOT1RfRk9VTkRfRVJSID0gMTsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU0VD
VVJJVFlfRVJSID0gMjsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQUJPUlRfRVJSID0g
MzsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTk9UX1JFQURBQkxFX0VSUiA9IDQ7Cisg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEVOQ09ESU5HX0VSUiA9IDU7CisgICAgICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IE5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUiA9IDY7CisgICAg
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IElOVkFMSURfU1RBVEVfRVJSID0gNzsKKyAgICAgICAg
Y29uc3QgdW5zaWduZWQgc2hvcnQgU1lOVEFYX0VSUiA9IDg7CisgICAgICAgIGNvbnN0IHVuc2ln
bmVkIHNob3J0IElOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUiA9IDk7CisgICAgICAgIGNvbnN0IHVu
c2lnbmVkIHNob3J0IFFVT1RBX0VYQ0VFREVEX0VSUiA9IDEwOworICAgICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBUWVBFX01JU01BVENIX0VSUiA9IDExOworICAgICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBQQVRIX0VYSVNUU19FUlIgPSAxMjsKICAgICB9OwogfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuY3BwIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIu
Y3BwCmluZGV4IDBiN2I0NmQ2MTk5ZTA4NWQ0OGI1ZGVlNjZlNzE1YWU3NmEwYWUyNzMuLjY2NjI1
OWE3Y2RjMGIwNDkxMGNiNDQ4YTBhNzBhNmFmNGE4YjNiMzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlUmVhZGVyLmNwcAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5j
cHAKQEAgLTE0NSw3ICsxNDUsNyBAQCB2b2lkIEZpbGVSZWFkZXI6OmFib3J0KCkKICAgICB0ZXJt
aW5hdGUoKTsKIAogICAgIG1fYnVpbGRlci5jbGVhcigpOwotICAgIG1fZXJyb3IgPSBGaWxlRXJy
b3I6OmNyZWF0ZShBQk9SVF9FUlIpOworICAgIG1fZXJyb3IgPSBGaWxlRXJyb3I6OmNyZWF0ZShG
aWxlRXJyb3I6OkFCT1JUX0VSUik7CiAKICAgICBmaXJlRXZlbnQoZXZlbnROYW1lcygpLmVycm9y
RXZlbnQpOwogICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkuYWJvcnRFdmVudCk7CkBAIC0yNTUs
MjIgKzI1NSwyMiBAQCB2b2lkIEZpbGVSZWFkZXI6OmZhaWxlZChpbnQgaHR0cFN0YXR1c0NvZGUp
CiB7CiAgICAgbV9zdGF0ZSA9IENvbXBsZXRlZDsKIAotICAgICBtX2Vycm9yID0gRmlsZUVycm9y
OjpjcmVhdGUoaHR0cFN0YXR1c0NvZGVUb0V4Y2VwdGlvbkNvZGUoaHR0cFN0YXR1c0NvZGUpKTsK
KyAgICAgbV9lcnJvciA9IEZpbGVFcnJvcjo6Y3JlYXRlKGh0dHBTdGF0dXNDb2RlVG9FcnJvckNv
ZGUoaHR0cFN0YXR1c0NvZGUpKTsKICAgICBmaXJlRXZlbnQoZXZlbnROYW1lcygpLmVycm9yRXZl
bnQpOwogICAgIGZpcmVFdmVudChldmVudE5hbWVzKCkubG9hZGVuZEV2ZW50KTsKIAogICAgIGNs
ZWFudXAoKTsKIH0KIAotRXhjZXB0aW9uQ29kZSBGaWxlUmVhZGVyOjpodHRwU3RhdHVzQ29kZVRv
RXhjZXB0aW9uQ29kZShpbnQgaHR0cFN0YXR1c0NvZGUpCitGaWxlRXJyb3I6OkVycm9yQ29kZSBG
aWxlUmVhZGVyOjpodHRwU3RhdHVzQ29kZVRvRXJyb3JDb2RlKGludCBodHRwU3RhdHVzQ29kZSkK
IHsKICAgICBzd2l0Y2ggKGh0dHBTdGF0dXNDb2RlKSB7CiAgICAgICAgIGNhc2UgNDAzOgotICAg
ICAgICAgICAgcmV0dXJuIFNFQ1VSSVRZX0VSUjsKKyAgICAgICAgICAgIHJldHVybiBGaWxlRXJy
b3I6OlNFQ1VSSVRZX0VSUjsKICAgICAgICAgY2FzZSA0MDQ6Ci0gICAgICAgICAgICByZXR1cm4g
Tk9UX0ZPVU5EX0VSUjsKKyAgICAgICAgICAgIHJldHVybiBGaWxlRXJyb3I6Ok5PVF9GT1VORF9F
UlI7CiAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICByZXR1cm4gTk9UX1JFQURBQkxFX0VS
UjsKKyAgICAgICAgICAgIHJldHVybiBGaWxlRXJyb3I6Ok5PVF9SRUFEQUJMRV9FUlI7CiAgICAg
fQogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5oIGIvV2ViQ29y
ZS9maWxlYXBpL0ZpbGVSZWFkZXIuaAppbmRleCBmOTE0ZGFkYTIzMjZmNDI5ODkzMjE4ZmY0NDli
NGIxN2FlOTM3MGViLi41YTEzNWEyZmEwYmZmNmI1MmEwMjI2NDJjMWFhMGE0MmJmNTc4MmQ5IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5oCisrKyBiL1dlYkNvcmUvZmls
ZWFwaS9GaWxlUmVhZGVyLmgKQEAgLTgwLDcgKzgwLDcgQEAgcHVibGljOgogICAgIFN0cmluZyBy
ZXN1bHQoKTsKIAogICAgIC8vIEhlbHBlciBtZXRob2RzLCBhbHNvIHVzZWQgYnkgRmlsZVJlYWRl
clN5bmMuCi0gICAgc3RhdGljIEV4Y2VwdGlvbkNvZGUgaHR0cFN0YXR1c0NvZGVUb0V4Y2VwdGlv
bkNvZGUoaW50IGh0dHBTdGF0dXNDb2RlKTsKKyAgICBzdGF0aWMgRmlsZUVycm9yOjpFcnJvckNv
ZGUgaHR0cFN0YXR1c0NvZGVUb0Vycm9yQ29kZShpbnQgaHR0cFN0YXR1c0NvZGUpOwogICAgIHN0
YXRpYyB2b2lkIGNvbnZlcnRUb0RhdGFVUkwoY29uc3QgVmVjdG9yPGNoYXI+JiByYXdEYXRhLCBj
b25zdCBTdHJpbmcmIGZpbGVUeXBlLCBTdHJpbmdCdWlsZGVyJik7CiAKICAgICAvLyBBY3RpdmVE
T01PYmplY3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyU3luYy5jcHAg
Yi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlclN5bmMuY3BwCmluZGV4IDY0MjViY2Y0NWQ5MGFl
MmYzZDE0YzFiMmE2MzYwZjNiOTVlNmFkNTAuLjk5ZjVhODliYjM5NGZlNTIwZGRjMTQ4MTkzYTg0
YzVlYTQwOTFmNmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyU3luYy5j
cHAKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXJTeW5jLmNwcApAQCAtMzcsNiArMzcs
NyBAQAogI2luY2x1ZGUgIkJhc2U2NC5oIgogI2luY2x1ZGUgIkJsb2IuaCIKICNpbmNsdWRlICJC
bG9iVVJMLmgiCisjaW5jbHVkZSAiRmlsZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkZpbGVSZWFk
ZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJl
c3BvbnNlLmgiCkBAIC05MSw3ICs5Miw3IEBAIHZvaWQgRmlsZVJlYWRlclN5bmNMb2FkZXI6OnN0
YXJ0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsCiAKICAg
ICBUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQsIHJlcXVlc3QsICp0aGlzLCBvcHRpb25zKTsKIAotICAgIGVjID0gKG1faHR0
cFN0YXR1c0NvZGUgPT0gMjAwKSA/IDAgOiBGaWxlUmVhZGVyOjpodHRwU3RhdHVzQ29kZVRvRXhj
ZXB0aW9uQ29kZShtX2h0dHBTdGF0dXNDb2RlKTsKKyAgICBlYyA9IChtX2h0dHBTdGF0dXNDb2Rl
ID09IDIwMCkgPyAwIDogRmlsZUV4Y2VwdGlvbjo6RXJyb3JDb2RlVG9FeGNlcHRpb25Db2RlKEZp
bGVSZWFkZXI6Omh0dHBTdGF0dXNDb2RlVG9FcnJvckNvZGUobV9odHRwU3RhdHVzQ29kZSkpOwog
fQogCiB2b2lkIEZpbGVSZWFkZXJTeW5jTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZVN5c3RlbUNhbGxiYWNrcy5jcHAgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVN5c3RlbUNhbGxi
YWNrcy5jcHAKaW5kZXggZTVmNDA0ZWJhZWQxNTE2NTcyNDYyZTY2Nzc4NzhmMmMzZDE0OTg4OS4u
NDUzZmNmMWFlZDY1M2FkM2E0ODZjMWMzZDY5NTBiMmNmYTYzNDcyMyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9maWxlYXBpL0ZpbGVTeXN0ZW1DYWxsYmFja3MuY3BwCisrKyBiL1dlYkNvcmUvZmlsZWFw
aS9GaWxlU3lzdGVtQ2FsbGJhY2tzLmNwcApAQCAtNDMsNyArNDMsNiBAQAogI2luY2x1ZGUgIkVu
dHJ5QXJyYXkuaCIKICNpbmNsdWRlICJFbnRyeUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiRXJyb3JD
YWxsYmFjay5oIgotI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJGaWxlRW50
cnkuaCIKICNpbmNsdWRlICJGaWxlRXJyb3IuaCIKICNpbmNsdWRlICJGaWxlU3lzdGVtQ2FsbGJh
Y2suaCIKQEAgLTEwNCw3ICsxMDMsNyBAQCB2b2lkIEZpbGVTeXN0ZW1DYWxsYmFja3NCYXNlOjpk
aWRDcmVhdGVGaWxlV3JpdGVyKFBhc3NPd25QdHI8QXN5bmNGaWxlV3JpdGVyPiwgbAogdm9pZCBG
aWxlU3lzdGVtQ2FsbGJhY2tzQmFzZTo6ZGlkRmFpbChpbnQgY29kZSkKIHsKICAgICBpZiAobV9l
cnJvckNhbGxiYWNrKSB7Ci0gICAgICAgIG1fZXJyb3JDYWxsYmFjay0+aGFuZGxlRXZlbnQoRmls
ZUVycm9yOjpjcmVhdGUoY29kZSkuZ2V0KCkpOworICAgICAgICBtX2Vycm9yQ2FsbGJhY2stPmhh
bmRsZUV2ZW50KEZpbGVFcnJvcjo6Y3JlYXRlKHN0YXRpY19jYXN0PEZpbGVFcnJvcjo6RXJyb3JD
b2RlPihjb2RlKSkuZ2V0KCkpOwogICAgICAgICBtX2Vycm9yQ2FsbGJhY2suY2xlYXIoKTsKICAg
ICB9CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVdyaXRlci5jcHAgYi9XZWJD
b3JlL2ZpbGVhcGkvRmlsZVdyaXRlci5jcHAKaW5kZXggYmM3Njk4NGNiZmUyNTE5ZTVmNWZlZjY5
ZTlmY2U4MDBhMzY2MDM1Mi4uNzc3NTcwOTIxZjg2Zjk3ZDJlYWI2YjQ3NDdlMDMyMTA2ODZiZGNi
YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVXcml0ZXIuY3BwCisrKyBiL1dlYkNv
cmUvZmlsZWFwaS9GaWxlV3JpdGVyLmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkJs
b2IuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiRmlsZUVycm9yLmgi
CisjaW5jbHVkZSAiRmlsZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIlByb2dyZXNzRXZlbnQuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtOTAsMTMgKzkxLDExIEBAIHZvaWQgRmlsZVdyaXRl
cjo6d3JpdGUoQmxvYiogZGF0YSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgQVNTRVJUKG1f
d3JpdGVyKTsKICAgICBpZiAobV9yZWFkeVN0YXRlID09IFdSSVRJTkcpIHsKLSAgICAgICAgZWMg
PSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgbV9lcnJvciA9IEZpbGVFcnJvcjo6Y3JlYXRl
KGVjKTsKKyAgICAgICAgc2V0RXJyb3IoRmlsZUVycm9yOjpJTlZBTElEX1NUQVRFX0VSUiwgZWMp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmICghZGF0YSkgewotICAgICAgICBlYyA9
IFRZUEVfTUlTTUFUQ0hfRVJSOwotICAgICAgICBtX2Vycm9yID0gRmlsZUVycm9yOjpjcmVhdGUo
ZWMpOworICAgICAgICBzZXRFcnJvcihGaWxlRXJyb3I6OlRZUEVfTUlTTUFUQ0hfRVJSLCBlYyk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTExMiw4ICsxMTEsNyBAQCB2b2lkIEZpbGVX
cml0ZXI6OnNlZWsobG9uZyBsb25nIHBvc2l0aW9uLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAg
ICBBU1NFUlQobV93cml0ZXIpOwogICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gV1JJVElORykgewot
ICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICBtX2Vycm9yID0gRmlsZUVy
cm9yOjpjcmVhdGUoZWMpOworICAgICAgICBzZXRFcnJvcihGaWxlRXJyb3I6OklOVkFMSURfU1RB
VEVfRVJSLCBlYyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTEzMiw4ICsxMzAsNyBA
QCB2b2lkIEZpbGVXcml0ZXI6OnRydW5jYXRlKGxvbmcgbG9uZyBwb3NpdGlvbiwgRXhjZXB0aW9u
Q29kZSYgZWMpCiB7CiAgICAgQVNTRVJUKG1fd3JpdGVyKTsKICAgICBpZiAobV9yZWFkeVN0YXRl
ID09IFdSSVRJTkcgfHwgcG9zaXRpb24gPCAwKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFU
RV9FUlI7Ci0gICAgICAgIG1fZXJyb3IgPSBGaWxlRXJyb3I6OmNyZWF0ZShlYyk7CisgICAgICAg
IHNldEVycm9yKEZpbGVFcnJvcjo6SU5WQUxJRF9TVEFURV9FUlIsIGVjKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KICAgICBtX3JlYWR5U3RhdGUgPSBXUklUSU5HOwpAQCAtMTQ3LDEyICsxNDQs
MTEgQEAgdm9pZCBGaWxlV3JpdGVyOjphYm9ydChFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBB
U1NFUlQobV93cml0ZXIpOwogICAgIGlmIChtX3JlYWR5U3RhdGUgIT0gV1JJVElORykgewotICAg
ICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICBtX2Vycm9yID0gRmlsZUVycm9y
OjpjcmVhdGUoZWMpOworICAgICAgICBzZXRFcnJvcihGaWxlRXJyb3I6OklOVkFMSURfU1RBVEVf
RVJSLCBlYyk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgCi0gICAgbV9lcnJvciA9IEZp
bGVFcnJvcjo6Y3JlYXRlKEFCT1JUX0VSUik7CisKKyAgICBtX2Vycm9yID0gRmlsZUVycm9yOjpj
cmVhdGUoRmlsZUVycm9yOjpBQk9SVF9FUlIpOwogICAgIG1fd3JpdGVyLT5hYm9ydCgpOwogfQog
CkBAIC0xOTEsMTEgKzE4NywxMSBAQCB2b2lkIEZpbGVXcml0ZXI6OmRpZFRydW5jYXRlKCkKICAg
ICBmaXJlRXZlbnQoZXZlbnROYW1lcygpLndyaXRlZW5kRXZlbnQpOwogfQogCi12b2lkIEZpbGVX
cml0ZXI6OmRpZEZhaWwoRXhjZXB0aW9uQ29kZSBlYykKK3ZvaWQgRmlsZVdyaXRlcjo6ZGlkRmFp
bChGaWxlRXJyb3I6OkVycm9yQ29kZSBjb2RlKQogewotICAgIG1fZXJyb3IgPSBGaWxlRXJyb3I6
OmNyZWF0ZShlYyk7CisgICAgbV9lcnJvciA9IEZpbGVFcnJvcjo6Y3JlYXRlKGNvZGUpOwogICAg
IGZpcmVFdmVudChldmVudE5hbWVzKCkuZXJyb3JFdmVudCk7Ci0gICAgaWYgKEFCT1JUX0VSUiA9
PSBlYykKKyAgICBpZiAoRmlsZUVycm9yOjpBQk9SVF9FUlIgPT0gY29kZSkKICAgICAgICAgZmly
ZUV2ZW50KGV2ZW50TmFtZXMoKS5hYm9ydEV2ZW50KTsKICAgICBmaXJlRXZlbnQoZXZlbnROYW1l
cygpLmVycm9yRXZlbnQpOwogICAgIG1fYmxvYkJlaW5nV3JpdHRlbi5jbGVhcigpOwpAQCAtMjA5
LDYgKzIwNSwxMiBAQCB2b2lkIEZpbGVXcml0ZXI6OmZpcmVFdmVudChjb25zdCBBdG9taWNTdHJp
bmcmIHR5cGUpCiAgICAgZGlzcGF0Y2hFdmVudChQcm9ncmVzc0V2ZW50OjpjcmVhdGUodHlwZSwg
dHJ1ZSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1fYnl0ZXNXcml0dGVuKSwgc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KG1fYnl0ZXNUb1dyaXRlKSkpOwogfQogCit2b2lkIEZpbGVXcml0ZXI6OnNldEVy
cm9yKEZpbGVFcnJvcjo6RXJyb3JDb2RlIGVycm9yQ29kZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7
CisgICAgZWMgPSBGaWxlRXhjZXB0aW9uOjpFcnJvckNvZGVUb0V4Y2VwdGlvbkNvZGUoZXJyb3JD
b2RlKTsKKyAgICBtX2Vycm9yID0gRmlsZUVycm9yOjpjcmVhdGUoZXJyb3JDb2RlKTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotIAorCiAjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVN
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVXcml0ZXIuaCBiL1dlYkNvcmUvZmls
ZWFwaS9GaWxlV3JpdGVyLmgKaW5kZXggNDU0MDgxYzU0NTk4ZmJiMzA2OTQ4NzJkYTQwZDlkZDcx
M2VhZDUyNS4uMGU4ODRlYWEwMzZlYzNmNjM4Y2ZiOWFkNzYyNzI0NDg0YTQ2M2RmMiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVXcml0ZXIuaAorKysgYi9XZWJDb3JlL2ZpbGVhcGkv
RmlsZVdyaXRlci5oCkBAIC03Nyw3ICs3Nyw3IEBAIHB1YmxpYzoKICAgICAvLyBBc3luY0ZpbGVX
cml0ZXJDbGllbnQKICAgICB2b2lkIGRpZFdyaXRlKGxvbmcgbG9uZyBieXRlcywgYm9vbCBjb21w
bGV0ZSk7CiAgICAgdm9pZCBkaWRUcnVuY2F0ZSgpOwotICAgIHZvaWQgZGlkRmFpbChFeGNlcHRp
b25Db2RlIGVjKTsKKyAgICB2b2lkIGRpZEZhaWwoRmlsZUVycm9yOjpFcnJvckNvZGUpOwogCiAg
ICAgLy8gQWN0aXZlRE9NT2JqZWN0CiAgICAgdmlydHVhbCBib29sIGNhblN1c3BlbmQoKSBjb25z
dDsKQEAgLTk3LDcgKzk3LDcgQEAgcHVibGljOgogICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIoYWJvcnQpOwogICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZXJy
b3IpOwogICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod3JpdGVlbmQpOwotICAg
IAorCiBwcml2YXRlOgogICAgIEZpbGVXcml0ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwog
CkBAIC0xMTMsNiArMTEzLDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZmlyZUV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSk7CiAKKyAgICB2b2lkIHNldEVycm9yKEZpbGVFcnJvcjo6RXJy
b3JDb2RlLCBFeGNlcHRpb25Db2RlJik7CisKICAgICBSZWZQdHI8RmlsZUVycm9yPiBtX2Vycm9y
OwogICAgIEV2ZW50VGFyZ2V0RGF0YSBtX2V2ZW50VGFyZ2V0RGF0YTsKICAgICBPd25QdHI8QXN5
bmNGaWxlV3JpdGVyPiBtX3dyaXRlcjsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9TeW5j
Q2FsbGJhY2tIZWxwZXIuaCBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaApp
bmRleCAxNjEyZTkzYzg5MTVhMDAyMGQ4MDg4MDFiNjljMWJmYjdmYTdjM2NmLi4yNWU2NzM5Yjdl
YTFlZjQ0Zjg4YWQ2OGE3OTA1ZDNiODE3N2Q0YzdhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVh
cGkvU3luY0NhbGxiYWNrSGVscGVyLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFj
a0hlbHBlci5oCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgog
I2luY2x1ZGUgIkZpbGVFbnRyeS5oIgogI2luY2x1ZGUgIkZpbGVFcnJvci5oIgorI2luY2x1ZGUg
IkZpbGVFeGNlcHRpb24uaCIKICNpbmNsdWRlICJGaWxlU3lzdGVtQ2FsbGJhY2suaCIKICNpbmNs
dWRlICJNZXRhZGF0YUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiVm9pZENhbGxiYWNrLmgiCkBAIC02
NCw3ICs2NSw3IEBAIHB1YmxpYzoKICAgICAgICAgOiBtX29ic2VydmVyKG9ic2VydmVyKQogICAg
ICAgICAsIG1fc3VjY2Vzc0NhbGxiYWNrKFN1Y2Nlc3NDYWxsYmFja0ltcGw6OmNyZWF0ZSh0aGlz
KSkKICAgICAgICAgLCBtX2Vycm9yQ2FsbGJhY2soRXJyb3JDYWxsYmFja0ltcGw6OmNyZWF0ZSh0
aGlzKSkKLSAgICAgICAgLCBtX2Vycm9yKDApCisgICAgICAgICwgbV9leGNlcHRpb25Db2RlKDAp
CiAgICAgICAgICwgbV9jb21wbGV0ZWQoZmFsc2UpCiAgICAgewogICAgIH0KQEAgLTc0LDEyICs3
NSwxMiBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChtX29ic2VydmVyKSB7CiAgICAgICAgICAgICB3
aGlsZSAoIW1fY29tcGxldGVkKSB7CiAgICAgICAgICAgICAgICAgaWYgKCFtX29ic2VydmVyLT53
YWl0Rm9yT3BlcmF0aW9uVG9Db21wbGV0ZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIG1fZXJy
b3IgPSBBQk9SVF9FUlI7CisgICAgICAgICAgICAgICAgICAgIG1fZXhjZXB0aW9uQ29kZSA9IEZp
bGVFeGNlcHRpb246OkFCT1JUX0VSUjsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIGVjID0gbV9l
cnJvcjsKKyAgICAgICAgZWMgPSBtX2V4Y2VwdGlvbkNvZGU7CiAgICAgICAgIHJldHVybiBtX3Jl
c3VsdC5yZWxlYXNlKCk7CiAgICAgfQogCkBAIC0xMzgsOSArMTM5LDkgQEAgcHJpdmF0ZToKICAg
ICBmcmllbmQgY2xhc3MgU3VjY2Vzc0NhbGxiYWNrSW1wbDsKICAgICBmcmllbmQgY2xhc3MgRXJy
b3JDYWxsYmFja0ltcGw7CiAKLSAgICB2b2lkIHNldEVycm9yKEV4Y2VwdGlvbkNvZGUgZWMpCisg
ICAgdm9pZCBzZXRFcnJvcihpbnQgY29kZSkKICAgICB7Ci0gICAgICAgIG1fZXJyb3IgPSBlYzsK
KyAgICAgICAgbV9leGNlcHRpb25Db2RlID0gRmlsZUV4Y2VwdGlvbjo6RXJyb3JDb2RlVG9FeGNl
cHRpb25Db2RlKGNvZGUpOwogICAgICAgICBtX2NvbXBsZXRlZCA9IHRydWU7CiAgICAgfQogCkBA
IC0xNTQsNyArMTU1LDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8U3VjY2Vzc0NhbGxiYWNrSW1w
bD4gbV9zdWNjZXNzQ2FsbGJhY2s7CiAgICAgUmVmUHRyPEVycm9yQ2FsbGJhY2tJbXBsPiBtX2Vy
cm9yQ2FsbGJhY2s7CiAgICAgUmVmUHRyPFJlc3VsdFR5cGU+IG1fcmVzdWx0OwotICAgIEV4Y2Vw
dGlvbkNvZGUgbV9lcnJvcjsKKyAgICBFeGNlcHRpb25Db2RlIG1fZXhjZXB0aW9uQ29kZTsKICAg
ICBib29sIG1fY29tcGxldGVkOwogfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5jcHAgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCAwMzA0NzlkMTg5MTIx
NmIzMTk3YzM4ZjA5YzU1NDQ5OTYwOTk0NTkxLi4zNDg0YTI3ZTY3YzYxODIwMzYwMjE4NzIyN2Fi
NjUzZjY4MTE1ZTFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysg
Yi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtNzMwLDEzICs3MzAsMTMgQEAgdm9pZCBE
T01XaW5kb3c6OnJlcXVlc3RGaWxlU3lzdGVtKGludCB0eXBlLCBsb25nIGxvbmcgc2l6ZSwgUGFz
c1JlZlB0cjxGaWxlU3lzdGUKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFBc3luY0ZpbGVT
eXN0ZW06OmlzQXZhaWxhYmxlKCkgfHwgIWRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLT5jYW5B
Y2Nlc3NGaWxlU3lzdGVtKCkpIHsKLSAgICAgICAgRE9NRmlsZVN5c3RlbTo6c2NoZWR1bGVDYWxs
YmFjayhkb2N1bWVudCwgZXJyb3JDYWxsYmFjaywgRmlsZUVycm9yOjpjcmVhdGUoU0VDVVJJVFlf
RVJSKSk7CisgICAgICAgIERPTUZpbGVTeXN0ZW06OnNjaGVkdWxlQ2FsbGJhY2soZG9jdW1lbnQs
IGVycm9yQ2FsbGJhY2ssIEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVFcnJvcjo6U0VDVVJJVFlfRVJS
KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBBc3luY0ZpbGVTeXN0ZW06OlR5cGUg
ZmlsZVN5c3RlbVR5cGUgPSBzdGF0aWNfY2FzdDxBc3luY0ZpbGVTeXN0ZW06OlR5cGU+KHR5cGUp
OwogICAgIGlmIChmaWxlU3lzdGVtVHlwZSAhPSBBc3luY0ZpbGVTeXN0ZW06OlRlbXBvcmFyeSAm
JiBmaWxlU3lzdGVtVHlwZSAhPSBBc3luY0ZpbGVTeXN0ZW06OlBlcnNpc3RlbnQpIHsKLSAgICAg
ICAgRE9NRmlsZVN5c3RlbTo6c2NoZWR1bGVDYWxsYmFjayhkb2N1bWVudCwgZXJyb3JDYWxsYmFj
aywgRmlsZUVycm9yOjpjcmVhdGUoSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSKSk7CisgICAgICAg
IERPTUZpbGVTeXN0ZW06OnNjaGVkdWxlQ2FsbGJhY2soZG9jdW1lbnQsIGVycm9yQ2FsbGJhY2ss
IEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVFcnJvcjo6SU5WQUxJRF9NT0RJRklDQVRJT05fRVJSKSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJDb250ZXh0LmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAppbmRl
eCBhNTM1MTkxODg0NmJhNTQ3NGZkZjM5NWFmNDc2NzM1YTk3NDFkNTQ3Li4zNDVlNWI3NjA0NzJi
YzFiMmY4MmI5YzdlYzU3OWNjMGQ4MGQ0ZDViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyQ29udGV4dC5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3Bw
CkBAIC02OSw2ICs2OSw3IEBACiAjaW5jbHVkZSAiRE9NRmlsZVN5c3RlbVN5bmMuaCIKICNpbmNs
dWRlICJFcnJvckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiRmlsZUVycm9yLmgiCisjaW5jbHVkZSAi
RmlsZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkZpbGVTeXN0ZW1DYWxsYmFjay5oIgogI2luY2x1
ZGUgIkZpbGVTeXN0ZW1DYWxsYmFja3MuaCIKICNpbmNsdWRlICJMb2NhbEZpbGVTeXN0ZW0uaCIK
QEAgLTM1NSwxMyArMzU2LDEzIEBAIHZvaWQgV29ya2VyQ29udGV4dDo6cmV2b2tlT2JqZWN0VVJM
KGNvbnN0IFN0cmluZyYgYmxvYlVSTFN0cmluZykKIHZvaWQgV29ya2VyQ29udGV4dDo6cmVxdWVz
dEZpbGVTeXN0ZW0oaW50IHR5cGUsIGxvbmcgbG9uZyBzaXplLCBQYXNzUmVmUHRyPEZpbGVTeXN0
ZW1DYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVy
cm9yQ2FsbGJhY2spCiB7CiAgICAgaWYgKCFBc3luY0ZpbGVTeXN0ZW06OmlzQXZhaWxhYmxlKCkg
fHwgIXNlY3VyaXR5T3JpZ2luKCktPmNhbkFjY2Vzc0ZpbGVTeXN0ZW0oKSkgewotICAgICAgICBE
T01GaWxlU3lzdGVtOjpzY2hlZHVsZUNhbGxiYWNrKHRoaXMsIGVycm9yQ2FsbGJhY2ssIEZpbGVF
cnJvcjo6Y3JlYXRlKFNFQ1VSSVRZX0VSUikpOworICAgICAgICBET01GaWxlU3lzdGVtOjpzY2hl
ZHVsZUNhbGxiYWNrKHRoaXMsIGVycm9yQ2FsbGJhY2ssIEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVF
cnJvcjo6U0VDVVJJVFlfRVJSKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBBc3lu
Y0ZpbGVTeXN0ZW06OlR5cGUgZmlsZVN5c3RlbVR5cGUgPSBzdGF0aWNfY2FzdDxBc3luY0ZpbGVT
eXN0ZW06OlR5cGU+KHR5cGUpOwogICAgIGlmIChmaWxlU3lzdGVtVHlwZSAhPSBBc3luY0ZpbGVT
eXN0ZW06OlRlbXBvcmFyeSAmJiBmaWxlU3lzdGVtVHlwZSAhPSBBc3luY0ZpbGVTeXN0ZW06OlBl
cnNpc3RlbnQpIHsKLSAgICAgICAgRE9NRmlsZVN5c3RlbTo6c2NoZWR1bGVDYWxsYmFjayh0aGlz
LCBlcnJvckNhbGxiYWNrLCBGaWxlRXJyb3I6OmNyZWF0ZShJTlZBTElEX01PRElGSUNBVElPTl9F
UlIpKTsKKyAgICAgICAgRE9NRmlsZVN5c3RlbTo6c2NoZWR1bGVDYWxsYmFjayh0aGlzLCBlcnJv
ckNhbGxiYWNrLCBGaWxlRXJyb3I6OmNyZWF0ZShGaWxlRXJyb3I6OklOVkFMSURfTU9ESUZJQ0FU
SU9OX0VSUikpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0zNzIsMTMgKzM3MywxMyBA
QCBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW1TeW5jPiBXb3JrZXJDb250ZXh0OjpyZXF1ZXN0Rmls
ZVN5c3RlbVN5bmMoaW50IHR5cGUsIGxvbgogewogICAgIGVjID0gMDsKICAgICBpZiAoIUFzeW5j
RmlsZVN5c3RlbTo6aXNBdmFpbGFibGUoKSB8fCAhc2VjdXJpdHlPcmlnaW4oKS0+Y2FuQWNjZXNz
RmlsZVN5c3RlbSgpKSB7Ci0gICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOworICAgICAgICBlYyA9
IEZpbGVFeGNlcHRpb246OlNFQ1VSSVRZX0VSUjsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQog
CiAgICAgQXN5bmNGaWxlU3lzdGVtOjpUeXBlIGZpbGVTeXN0ZW1UeXBlID0gc3RhdGljX2Nhc3Q8
QXN5bmNGaWxlU3lzdGVtOjpUeXBlPih0eXBlKTsKICAgICBpZiAoZmlsZVN5c3RlbVR5cGUgIT0g
QXN5bmNGaWxlU3lzdGVtOjpUZW1wb3JhcnkgJiYgZmlsZVN5c3RlbVR5cGUgIT0gQXN5bmNGaWxl
U3lzdGVtOjpQZXJzaXN0ZW50KSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9NT0RJRklDQVRJT05f
RVJSOworICAgICAgICBlYyA9IEZpbGVFeGNlcHRpb246OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VS
UjsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBhMGRmMWZkN2M2
YmFkYTg3YTRjNTAzNTQzMTNmNzA5Njc3OTBjM2E1Li4zZWJjZjg1Y2U4YzJmNWU4NGU3NmMzY2Jm
YzVlNjAxYTgxNjc0NjcxIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisr
KyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMC0y
MCAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVudW1iZXIgRmlsZUVycm9yL0ZpbGVF
eGNlcHRpb24gZXJyb3IgY29kZXMgcGVyIGxhdGVzdCBGaWxlIEFQSSBzcGVjIGNoYW5nZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3OTM2CisKKyAg
ICAgICAgKiBwdWJsaWMvV2ViRmlsZUVycm9yLmg6CisgICAgICAgICogc3JjL0Fzc2VydE1hdGNo
aW5nRW51bXMuY3BwOgorICAgICAgICAqIHNyYy9Bc3luY0ZpbGVXcml0ZXJDaHJvbWl1bS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpBc3luY0ZpbGVXcml0ZXJDaHJvbWl1bTo6ZGlkRmFpbCk6CisK
IDIwMTAtMTAtMjIgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkZpbGVFcnJvci5oIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlRXJyb3Iu
aAppbmRleCBjZmU4ODgyMGMzNDFhYjAyNGJiMGFhMDdmN2IwNzBiODc4N2FmNWZkLi5lN2ExN2Mz
MjkxODNjYTM2YWRhOGViYTY3Mjc4ZGQzMzNiYTU2ZmQ1IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkZpbGVFcnJvci5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViRmlsZUVycm9yLmgKQEAgLTM0LDE1ICszNCwxOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAog
Ly8gRmlsZS1yZWxhdGVkIGVycm9yIGNvZGUgZGVmaW5lZCBpbiBIVE1MNSBGaWxlIEFQSS4KIGVu
dW0gV2ViRmlsZUVycm9yIHsKLSAgICBXZWJGaWxlRXJyb3JOb01vZGlmaWNhdGlvbkFsbG93ZWQg
PSA3LAotICAgIFdlYkZpbGVFcnJvck5vdEZvdW5kID0gOCwKLSAgICBXZWJGaWxlRXJyb3JJbnZh
bGlkU3RhdGUgPSAxMSwKLSAgICBXZWJGaWxlRXJyb3JJbnZhbGlkTW9kaWZpY2F0aW9uID0gMTMs
Ci0gICAgV2ViRmlsZUVycm9yU2VjdXJpdHkgPSAxOCwKLSAgICBXZWJGaWxlRXJyb3JBYm9ydCA9
IDIwLAotICAgIFdlYkZpbGVFcnJvclF1b3RhRXhjZWVkZWQgPSAyMiwKLSAgICBXZWJGaWxlRXJy
b3JOb3RSZWFkYWJsZSA9IDI0LAotICAgIFdlYkZpbGVFcnJvckVuY29kaW5nID0gMjYsCisgICAg
V2ViRmlsZUVycm9yTm90Rm91bmQgPSAxLAorICAgIFdlYkZpbGVFcnJvclNlY3VyaXR5ID0gMiwK
KyAgICBXZWJGaWxlRXJyb3JBYm9ydCA9IDMsCisgICAgV2ViRmlsZUVycm9yTm90UmVhZGFibGUg
PSA0LAorICAgIFdlYkZpbGVFcnJvckVuY29kaW5nID0gNSwKKyAgICBXZWJGaWxlRXJyb3JOb01v
ZGlmaWNhdGlvbkFsbG93ZWQgPSA2LAorICAgIFdlYkZpbGVFcnJvckludmFsaWRTdGF0ZSA9IDcs
CisgICAgV2ViRmlsZUVycm9yU3ludGF4ID0gOCwKKyAgICBXZWJGaWxlRXJyb3JJbnZhbGlkTW9k
aWZpY2F0aW9uID0gOSwKKyAgICBXZWJGaWxlRXJyb3JRdW90YUV4Y2VlZGVkID0gMTAsCisgICAg
V2ViRmlsZUVycm9yVHlwZU1pc21hdGNoID0gMTEsCisgICAgV2ViRmlsZUVycm9yUGF0aEV4aXN0
cyA9IDEyLAogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAppbmRleCA5NjQ3YTQ0ODNjNzQwOGM4ZjQ2MzYzY2Rl
MjE5NDI4YTlmMWNlY2U3Li5hZTI3OTFkMzNiMmNjNDUwMDY2ZGM0OGZkMmM4ZWM2YWNkOTFjMjg5
IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3Bw
CisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKQEAgLTM3
LDYgKzM3LDcgQEAKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlSG9zdC5oIgogI2luY2x1ZGUg
IkFzeW5jRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIkVkaXRvckluc2VydEFjdGlvbi5oIgorI2lu
Y2x1ZGUgIkZpbGVFcnJvci5oIgogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1
ZGUgIkZvbnRTbW9vdGhpbmdNb2RlLmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgpA
QCAtNTYsNiArNTcsNyBAQAogI2luY2x1ZGUgIldlYkNsaXBib2FyZC5oIgogI2luY2x1ZGUgIldl
YkN1cnNvckluZm8uaCIKICNpbmNsdWRlICJXZWJFZGl0aW5nQWN0aW9uLmgiCisjaW5jbHVkZSAi
V2ViRmlsZUVycm9yLmgiCiAjaW5jbHVkZSAiV2ViRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIldl
YkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIldlYklEQktleS5oIgpAQCAtMzYyLDMgKzM2
NCwxNiBAQCBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYklEQktleTo6TnVtYmVyVHlw
ZSwgSURCS2V5OjpOdW1iZXJUeXBlKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2Vi
RmlsZVN5c3RlbTo6VHlwZVRlbXBvcmFyeSwgQXN5bmNGaWxlU3lzdGVtOjpUZW1wb3JhcnkpOwog
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJGaWxlU3lzdGVtOjpUeXBlUGVyc2lzdGVu
dCwgQXN5bmNGaWxlU3lzdGVtOjpQZXJzaXN0ZW50KTsKICNlbmRpZgorCitDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFdlYkZpbGVFcnJvck5vdEZvdW5kLCBGaWxlRXJyb3I6Ok5PVF9GT1VO
RF9FUlIpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJGaWxlRXJyb3JTZWN1cml0
eSwgRmlsZUVycm9yOjpTRUNVUklUWV9FUlIpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShXZWJGaWxlRXJyb3JBYm9ydCwgRmlsZUVycm9yOjpBQk9SVF9FUlIpOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXZWJGaWxlRXJyb3JOb3RSZWFkYWJsZSwgRmlsZUVycm9yOjpOT1Rf
UkVBREFCTEVfRVJSKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViRmlsZUVycm9y
RW5jb2RpbmcsIEZpbGVFcnJvcjo6RU5DT0RJTkdfRVJSKTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oV2ViRmlsZUVycm9yTm9Nb2RpZmljYXRpb25BbGxvd2VkLCBGaWxlRXJyb3I6Ok5P
X01PRElGSUNBVElPTl9BTExPV0VEX0VSUik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYkZpbGVFcnJvckludmFsaWRTdGF0ZSwgRmlsZUVycm9yOjpJTlZBTElEX1NUQVRFX0VSUik7
CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkZpbGVFcnJvclN5bnRheCwgRmlsZUVy
cm9yOjpTWU5UQVhfRVJSKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViRmlsZUVy
cm9ySW52YWxpZE1vZGlmaWNhdGlvbiwgRmlsZUVycm9yOjpJTlZBTElEX01PRElGSUNBVElPTl9F
UlIpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJGaWxlRXJyb3JRdW90YUV4Y2Vl
ZGVkLCBGaWxlRXJyb3I6OlFVT1RBX0VYQ0VFREVEX0VSUik7CitDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKFdlYkZpbGVFcnJvclR5cGVNaXNtYXRjaCwgRmlsZUVycm9yOjpUWVBFX01JU01B
VENIX0VSUik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkZpbGVFcnJvclBhdGhF
eGlzdHMsIEZpbGVFcnJvcjo6UEFUSF9FWElTVFNfRVJSKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9j
aHJvbWl1bS9zcmMvQXN5bmNGaWxlV3JpdGVyQ2hyb21pdW0uY3BwIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9Bc3luY0ZpbGVXcml0ZXJDaHJvbWl1bS5jcHAKaW5kZXggODk2OTA5NDc4ZjE3MzM3OTdl
MWY0YTM1ZTRhMmQzM2Q0YjcxMDM5MC4uNzFjZjNiNTIzM2RkMjgwMjRlYWQxZWU5NzhhY2FkODQw
NmFlZTk3ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3luY0ZpbGVXcml0ZXJD
aHJvbWl1bS5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3luY0ZpbGVXcml0ZXJDaHJv
bWl1bS5jcHAKQEAgLTg1LDcgKzg1LDcgQEAgdm9pZCBBc3luY0ZpbGVXcml0ZXJDaHJvbWl1bTo6
ZGlkVHJ1bmNhdGUoKQogCiB2b2lkIEFzeW5jRmlsZVdyaXRlckNocm9taXVtOjpkaWRGYWlsKFdl
YktpdDo6V2ViRmlsZUVycm9yIGVycm9yKQogewotICAgIG1fY2xpZW50LT5kaWRGYWlsKGVycm9y
KTsKKyAgICBtX2NsaWVudC0+ZGlkRmFpbChzdGF0aWNfY2FzdDxGaWxlRXJyb3I6OkVycm9yQ29k
ZT4oZXJyb3IpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UK
</data>
<flag name="review"
          id="61685"
          type_id="1"
          status="+"
          setter="jianli"
    />
          </attachment>
      

    </bug>

</bugzilla>