<?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>238169</bug_id>
          
          <creation_ts>2022-03-21 16:58:57 -0700</creation_ts>
          <short_desc>Add logging for LocalStorage and IndexedDB data migration</short_desc>
          <delta_ts>2022-03-24 00:58:28 -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>Website Storage</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>cdumez</cc>
    
    <cc>ggaren</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1853419</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-03-21 16:58:57 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853421</commentid>
    <comment_count>1</comment_count>
      <attachid>455303</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-03-21 17:01:12 -0700</bug_when>
    <thetext>Created attachment 455303
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854407</commentid>
    <comment_count>2</comment_count>
      <attachid>455303</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-23 14:38:36 -0700</bug_when>
    <thetext>Comment on attachment 455303
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Add loggings for LocalStorage and IndexedDB data migration

loggings -&gt; logging

&gt; Source/WebCore/platform/sql/SQLiteFileSystem.cpp:98
&gt; +        allMoved |= FileSystem::moveFile(makeString(oldFilePath, suffix), makeString(newFilePath, suffix));

This doesn&apos;t look right to me?

Shouldn&apos;t allMoved be initialized to false and the operator be &amp;| here?

As it stands, I think this function will always return true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854423</commentid>
    <comment_count>3</comment_count>
      <attachid>455563</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-03-23 14:57:39 -0700</bug_when>
    <thetext>Created attachment 455563
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854424</commentid>
    <comment_count>4</comment_count>
      <attachid>455303</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-03-23 14:58:09 -0700</bug_when>
    <thetext>Comment on attachment 455303
Patch

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

&gt;&gt; Source/WebCore/platform/sql/SQLiteFileSystem.cpp:98
&gt;&gt; +        allMoved |= FileSystem::moveFile(makeString(oldFilePath, suffix), makeString(newFilePath, suffix));
&gt; 
&gt; This doesn&apos;t look right to me?
&gt; 
&gt; Shouldn&apos;t allMoved be initialized to false and the operator be &amp;| here?
&gt; 
&gt; As it stands, I think this function will always return true.

Yes, it should be &amp;! Updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854442</commentid>
    <comment_count>5</comment_count>
      <attachid>455563</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-23 15:34:21 -0700</bug_when>
    <thetext>Comment on attachment 455563
Patch

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

r=me

&gt; Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp:358
&gt; +            RELEASE_LOG(Storage, &quot;%p - StorageBucket::resolvedLocalStoragePath New path &apos;%s&apos;&quot;, this, localStoragePath.utf8().data());

%{public}s if you want to see the path in public builds.

Given that the paths do not contain any origin information, I think it&apos;s OK.

&gt; Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp:389
&gt; +        RELEASE_LOG(Storage, &quot;%p - StorageBucket::resolvedIDBStoragePath New path &apos;%s&apos;&quot;, this, idbStoragePath.utf8().data());

%{public}s</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854570</commentid>
    <comment_count>6</comment_count>
      <attachid>455603</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-03-23 21:42:16 -0700</bug_when>
    <thetext>Created attachment 455603
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854587</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-23 23:26:32 -0700</bug_when>
    <thetext>Committed r291786 (248814@main): &lt;https://commits.webkit.org/248814@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455603.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854613</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-24 00:58:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/90752697&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455303</attachid>
            <date>2022-03-21 17:01:12 -0700</date>
            <delta_ts>2022-03-23 14:57:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238169-20220321170111.patch</filename>
            <type>text/plain</type>
            <size>9922</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdlM2JkZDM0YzdjODI5
YjA1M2U4NTY1MTlkYzRmZjNmOWI0ODA5Zi4uY2UzNjMwOTE0MDRlMGNiYjhmYzEyMzY2NTRmZDI4
NzEwZjUyMDQ0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIyLTAzLTIxICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBsb2dnaW5ncyBmb3Ig
TG9jYWxTdG9yYWdlIGFuZCBJbmRleGVkREIgZGF0YSBtaWdyYXRpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODE2OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vc3FsL1NRTGl0ZUZp
bGVTeXN0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1FMaXRlRmlsZVN5c3RlbTo6bW92ZURh
dGFiYXNlRmlsZSk6CisgICAgICAgICogcGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0uaDoK
KwogMjAyMi0wMy0yMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBbbWVkaWEtY29udHJvbHNdIHNjcnViYmluZyBvbiBpT1Mgd2hlbiBpbmxpbmUgZG9lcyBu
b3Qgd29yawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCA4ODZhYjZiZjk2ZTdiZDA0NTE0MjdkY2FjMTZkMGFmZWYyZjkw
NDkyLi4xN2VmYjZiOWQzNGNmOGNmYjc4Y2U0NjViZGQzNzRiMzNhZmM4MTM0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE4IEBACisyMDIyLTAzLTIxICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUu
Y29tPgorCisgICAgICAgIEFkZCBsb2dnaW5ncyBmb3IgTG9jYWxTdG9yYWdlIGFuZCBJbmRleGVk
REIgZGF0YSBtaWdyYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzODE2OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9JREJTdG9yYWdlTWFuYWdlci5jcHA6
CisgICAgICAgIChXZWJLaXQ6Om1pZ3JhdGVPcmlnaW5EYXRhSW1wbCk6CisgICAgICAgIChXZWJL
aXQ6OklEQlN0b3JhZ2VNYW5hZ2VyOjptaWdyYXRlT3JpZ2luRGF0YSk6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3Mvc3RvcmFnZS9JREJTdG9yYWdlTWFuYWdlci5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL3N0b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpPcmlnaW5TdG9yYWdlTWFuYWdlcjo6U3RvcmFnZUJ1Y2tldDo6cmVzb2x2ZWRMb2NhbFN0
b3JhZ2VQYXRoKToKKyAgICAgICAgKFdlYktpdDo6T3JpZ2luU3RvcmFnZU1hbmFnZXI6OlN0b3Jh
Z2VCdWNrZXQ6OnJlc29sdmVkSURCU3RvcmFnZVBhdGgpOgorCiAyMDIyLTAzLTIxICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIERpc2FibGUgdGhlIDxtb2Rl
bD4gZWxlbWVudCBpbiBDYXB0aXZlIFBvcnRhbCBtb2RlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0uY3BwCmluZGV4IGU3Y2RjYmY1YWJkMjA2OTY4
NWUxZmFkMWQ3NDQxOWNhMTA4MWE5YmEuLjBjNmYwZWEyYWIwNDQyNzUwYzlmNWYzMjQ4ODczMjNj
MmM0NGU0NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVG
aWxlU3lzdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRmls
ZVN5c3RlbS5jcHAKQEAgLTkxLDEwICs5MSwxMyBAQCBib29sIFNRTGl0ZUZpbGVTeXN0ZW06OmRl
bGV0ZURhdGFiYXNlRmlsZShjb25zdCBTdHJpbmcmIGZpbGVQYXRoKQogICAgIHJldHVybiAhZmls
ZUV4aXN0czsKIH0KIAotdm9pZCBTUUxpdGVGaWxlU3lzdGVtOjptb3ZlRGF0YWJhc2VGaWxlKGNv
bnN0IFN0cmluZyYgb2xkRmlsZVBhdGgsIGNvbnN0IFN0cmluZyYgbmV3RmlsZVBhdGgpCitib29s
IFNRTGl0ZUZpbGVTeXN0ZW06Om1vdmVEYXRhYmFzZUZpbGUoY29uc3QgU3RyaW5nJiBvbGRGaWxl
UGF0aCwgY29uc3QgU3RyaW5nJiBuZXdGaWxlUGF0aCkKIHsKKyAgICBib29sIGFsbE1vdmVkID0g
dHJ1ZTsKICAgICBmb3IgKGNvbnN0IGF1dG8qIHN1ZmZpeCA6IGRhdGFiYXNlRmlsZVN1ZmZpeGVz
KQotICAgICAgICBGaWxlU3lzdGVtOjptb3ZlRmlsZShtYWtlU3RyaW5nKG9sZEZpbGVQYXRoLCBz
dWZmaXgpLCBtYWtlU3RyaW5nKG5ld0ZpbGVQYXRoLCBzdWZmaXgpKTsKKyAgICAgICAgYWxsTW92
ZWQgfD0gRmlsZVN5c3RlbTo6bW92ZUZpbGUobWFrZVN0cmluZyhvbGRGaWxlUGF0aCwgc3VmZml4
KSwgbWFrZVN0cmluZyhuZXdGaWxlUGF0aCwgc3VmZml4KSk7CisKKyAgICByZXR1cm4gYWxsTW92
ZWQ7CiB9CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3NxbC9TUUxpdGVGaWxlU3lzdGVtLmgKaW5kZXggOThlN2VhMGQwN2EyNTQxMWZhNGY2
MmFhNzIxNjU5M2Y2M2UzOWM1YS4uNjRmMWEyYzEyYTkxMWFlYjBhZGM1OWVmYmJjZTUzOTA5Yjk1
OTU2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVT
eXN0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5c3Rl
bS5oCkBAIC04MSw3ICs4MSw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
Ym9vbCBkZWxldGVEYXRhYmFzZUZpbGUoY29uc3QgU3RyaW5nJiBmaWxlUGF0aCk7CiAKICAgICAv
LyBNb3ZlcyBhIGRhdGFiYXNlIGZpbGUgdG8gYSBuZXcgcGxhY2UuCi0gICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljIHZvaWQgbW92ZURhdGFiYXNlRmlsZShjb25zdCBTdHJpbmcmIG9sZEZpbGVQYXRo
LCBjb25zdCBTdHJpbmcmIG5ld0ZpbGVQYXRoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
Ym9vbCBtb3ZlRGF0YWJhc2VGaWxlKGNvbnN0IFN0cmluZyYgb2xkRmlsZVBhdGgsIGNvbnN0IFN0
cmluZyYgbmV3RmlsZVBhdGgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBTdHJpbmcgY29t
cHV0ZUhhc2hGb3JGaWxlTmFtZShjb25zdCBTdHJpbmcmIGZpbGVQYXRoKTsKIAogI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L3N0b3JhZ2UvSURCU3RvcmFnZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9zdG9yYWdlL0lEQlN0b3JhZ2VNYW5hZ2VyLmNwcAppbmRleCA3ZTNmMWRkNmVmOWZjZDg5
ZWRmYzljMzJhYTVkMDdlMmNhMWRiMDI3Li5hNzVlMTY4YjAyNjlhYTk3YjljMjFjYWMzMWNhMzBl
ZTY5YTM1MzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0b3Jh
Z2UvSURCU3RvcmFnZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3Mvc3RvcmFnZS9JREJTdG9yYWdlTWFuYWdlci5jcHAKQEAgLTM1LDE4ICszNSwxOSBAQAogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIHZvaWQgbWlncmF0ZU9yaWdpbkRhdGFJbXBsKGNv
bnN0IFN0cmluZyYgb2xkT3JpZ2luRGlyZWN0b3J5LCBjb25zdCBTdHJpbmcmIG5ld09yaWdpbkRp
cmVjdG9yeSwgRnVuY3Rpb248U3RyaW5nKGNvbnN0IFN0cmluZyYpPiYmIGNyZWF0ZUZpbGVOYW1l
RnVuY3Rpb24pCitzdGF0aWMgYm9vbCBtaWdyYXRlT3JpZ2luRGF0YUltcGwoY29uc3QgU3RyaW5n
JiBvbGRPcmlnaW5EaXJlY3RvcnksIGNvbnN0IFN0cmluZyYgbmV3T3JpZ2luRGlyZWN0b3J5LCBG
dW5jdGlvbjxTdHJpbmcoY29uc3QgU3RyaW5nJik+JiYgY3JlYXRlRmlsZU5hbWVGdW5jdGlvbikK
IHsKICAgICBpZiAob2xkT3JpZ2luRGlyZWN0b3J5LmlzRW1wdHkoKSB8fCAhRmlsZVN5c3RlbTo6
ZmlsZUV4aXN0cyhvbGRPcmlnaW5EaXJlY3RvcnkpKQotICAgICAgICByZXR1cm47CisgICAgICAg
IHJldHVybiB0cnVlOwogCiAgICAgYXV0byBmaWxlTmFtZXMgPSBGaWxlU3lzdGVtOjpsaXN0RGly
ZWN0b3J5KG9sZE9yaWdpbkRpcmVjdG9yeSk7CiAgICAgaWYgKGZpbGVOYW1lcy5pc0VtcHR5KCkp
IHsKICAgICAgICAgRmlsZVN5c3RlbTo6ZGVsZXRlRW1wdHlEaXJlY3Rvcnkob2xkT3JpZ2luRGly
ZWN0b3J5KTsKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAK
ICAgICBGaWxlU3lzdGVtOjptYWtlQWxsRGlyZWN0b3JpZXMobmV3T3JpZ2luRGlyZWN0b3J5KTsK
KyAgICBib29sIGFsbE1vdmVkID0gdHJ1ZTsKICAgICBmb3IgKGF1dG8mIG5hbWUgOiBmaWxlTmFt
ZXMpIHsKICAgICAgICAgLy8gVGhpcyBpcyBhbiBvcmlnaW4gZGlyZWN0b3J5IGZvciB0aGlyZC1w
YXJ0eSBkYXRhLgogICAgICAgICBpZiAoYXV0byBvcmlnaW4gPSBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbkRhdGE6OmZyb21EYXRhYmFzZUlkZW50aWZpZXIobmFtZSkpCkBAIC01OCwxMCArNTksMTEg
QEAgc3RhdGljIHZvaWQgbWlncmF0ZU9yaWdpbkRhdGFJbXBsKGNvbnN0IFN0cmluZyYgb2xkT3Jp
Z2luRGlyZWN0b3J5LCBjb25zdCBTdHJpbmcKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAg
ICAgIGF1dG8gb2xkUGF0aCA9IEZpbGVTeXN0ZW06OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChv
bGRPcmlnaW5EaXJlY3RvcnksIG5hbWUpOwotICAgICAgICBGaWxlU3lzdGVtOjptb3ZlRmlsZShv
bGRQYXRoLCBuZXdQYXRoKTsKKyAgICAgICAgYWxsTW92ZWQgfD0gRmlsZVN5c3RlbTo6bW92ZUZp
bGUob2xkUGF0aCwgbmV3UGF0aCk7CiAgICAgfQogCiAgICAgRmlsZVN5c3RlbTo6ZGVsZXRlRW1w
dHlEaXJlY3Rvcnkob2xkT3JpZ2luRGlyZWN0b3J5KTsKKyAgICByZXR1cm4gYWxsTW92ZWQ7CiB9
CiAKIFN0cmluZyBJREJTdG9yYWdlTWFuYWdlcjo6aWRiU3RvcmFnZU9yaWdpbkRpcmVjdG9yeShj
b25zdCBTdHJpbmcmIHJvb3REaXJlY3RvcnksIGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYg
b3JpZ2luKQpAQCAtMTI2LDkgKzEyOCw5IEBAIEhhc2hTZXQ8V2ViQ29yZTo6Q2xpZW50T3JpZ2lu
PiBJREJTdG9yYWdlTWFuYWdlcjo6b3JpZ2luc09mSURCU3RvcmFnZURhdGEoY29uc3QKICAgICBy
ZXR1cm4gb3JpZ2luczsKIH0KIAotdm9pZCBJREJTdG9yYWdlTWFuYWdlcjo6bWlncmF0ZU9yaWdp
bkRhdGEoY29uc3QgU3RyaW5nJiBvbGRPcmlnaW5EaXJlY3RvcnksIGNvbnN0IFN0cmluZyYgbmV3
T3JpZ2luRGlyZWN0b3J5KQorYm9vbCBJREJTdG9yYWdlTWFuYWdlcjo6bWlncmF0ZU9yaWdpbkRh
dGEoY29uc3QgU3RyaW5nJiBvbGRPcmlnaW5EaXJlY3RvcnksIGNvbnN0IFN0cmluZyYgbmV3T3Jp
Z2luRGlyZWN0b3J5KQogewotICAgIG1pZ3JhdGVPcmlnaW5EYXRhSW1wbChvbGRPcmlnaW5EaXJl
Y3RvcnksIG5ld09yaWdpbkRpcmVjdG9yeSwgW10oY29uc3QgU3RyaW5nJiBuYW1lKSB7CisgICAg
cmV0dXJuIG1pZ3JhdGVPcmlnaW5EYXRhSW1wbChvbGRPcmlnaW5EaXJlY3RvcnksIG5ld09yaWdp
bkRpcmVjdG9yeSwgW10oY29uc3QgU3RyaW5nJiBuYW1lKSB7CiAgICAgICAgIHJldHVybiBuYW1l
OwogICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9z
dG9yYWdlL0lEQlN0b3JhZ2VNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L3N0b3JhZ2UvSURCU3RvcmFnZU1hbmFnZXIuaAppbmRleCBmMGE4Mjc0Njc3OWJlMTUzYjgxNGJh
MzRmYTJjMGFlNjI2ZmIwNWNlLi5mOTA2Y2ExOTc2MTY5NTg0YTJhZTYxNDg5YmUwNjgyYWMxOTJl
Njc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvSURC
U3RvcmFnZU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0b3Jh
Z2UvSURCU3RvcmFnZU1hbmFnZXIuaApAQCAtNDksNyArNDksNyBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIFN0cmluZyBpZGJTdG9yYWdlT3JpZ2luRGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgcm9vdERp
cmVjdG9yeSwgY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJik7CiAgICAgc3RhdGljIHVpbnQ2
NF90IGlkYlN0b3JhZ2VTaXplKGNvbnN0IFN0cmluZyYgb3JpZ2luRGlyZWN0b3J5KTsKICAgICBz
dGF0aWMgSGFzaFNldDxXZWJDb3JlOjpDbGllbnRPcmlnaW4+IG9yaWdpbnNPZklEQlN0b3JhZ2VE
YXRhKGNvbnN0IFN0cmluZyYgcm9vdERpcmVjdG9yeSk7Ci0gICAgc3RhdGljIHZvaWQgbWlncmF0
ZU9yaWdpbkRhdGEoY29uc3QgU3RyaW5nJiBvbGRPcmlnaW5EaXJlY3RvcnksIGNvbnN0IFN0cmlu
ZyYgbmV3T3JpZ2luRGlyZWN0b3J5KTsKKyAgICBzdGF0aWMgYm9vbCBtaWdyYXRlT3JpZ2luRGF0
YShjb25zdCBTdHJpbmcmIG9sZE9yaWdpbkRpcmVjdG9yeSwgY29uc3QgU3RyaW5nJiBuZXdPcmln
aW5EaXJlY3RvcnkpOwogCiAgICAgdXNpbmcgUXVvdGFDaGVja0Z1bmN0aW9uID0gRnVuY3Rpb248
dm9pZCh1aW50NjRfdCBzcGFjZVJlcXVlc3RlZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
KT4mJik+OwogICAgIElEQlN0b3JhZ2VNYW5hZ2VyKGNvbnN0IFN0cmluZyYgcGF0aCwgSURCU3Rv
cmFnZVJlZ2lzdHJ5JiwgUXVvdGFDaGVja0Z1bmN0aW9uJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL09yaWdpblN0b3JhZ2VNYW5hZ2VyLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdlTWFuYWdl
ci5jcHAKaW5kZXggMmZiOGFjNTc4ZjNkZjkxMjExOWY0NWNiY2JjYTBhYTVjNjUwMTE2ZC4uYmRj
NGZjOWM3ODQwOTgzMWYwNDUxOTc2MGY2MWQ3ZjJlMTA1MGU4MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL09yaWdpblN0b3JhZ2VNYW5hZ2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvT3JpZ2luU3RvcmFnZU1h
bmFnZXIuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiSURCU3RvcmFnZU1hbmFnZXIu
aCIKICNpbmNsdWRlICJJREJTdG9yYWdlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJMb2NhbFN0b3Jh
Z2VNYW5hZ2VyLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1lbW9yeVN0b3Jh
Z2VBcmVhLmgiCiAjaW5jbHVkZSAiU2Vzc2lvblN0b3JhZ2VNYW5hZ2VyLmgiCiAjaW5jbHVkZSAi
U3RvcmFnZUFyZWFSZWdpc3RyeS5oIgpAQCAtMzUzLDggKzM1NCwxMiBAQCBTdHJpbmcgT3JpZ2lu
U3RvcmFnZU1hbmFnZXI6OlN0b3JhZ2VCdWNrZXQ6OnJlc29sdmVkTG9jYWxTdG9yYWdlUGF0aCgp
CiAgICAgICAgIGF1dG8gbG9jYWxTdG9yYWdlRGlyZWN0b3J5ID0gdHlwZVN0b3JhZ2VQYXRoKFN0
b3JhZ2VUeXBlOjpMb2NhbFN0b3JhZ2UpOwogICAgICAgICBGaWxlU3lzdGVtOjptYWtlQWxsRGly
ZWN0b3JpZXMobG9jYWxTdG9yYWdlRGlyZWN0b3J5KTsKICAgICAgICAgYXV0byBsb2NhbFN0b3Jh
Z2VQYXRoID0gTG9jYWxTdG9yYWdlTWFuYWdlcjo6bG9jYWxTdG9yYWdlRmlsZVBhdGgobG9jYWxT
dG9yYWdlRGlyZWN0b3J5KTsKLSAgICAgICAgaWYgKCFtX2N1c3RvbUxvY2FsU3RvcmFnZVBhdGgu
aXNFbXB0eSgpICYmICFGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKGxvY2FsU3RvcmFnZVBhdGgpICYm
IEZpbGVTeXN0ZW06OmZpbGVFeGlzdHMobV9jdXN0b21Mb2NhbFN0b3JhZ2VQYXRoKSkKLSAgICAg
ICAgICAgIFdlYkNvcmU6OlNRTGl0ZUZpbGVTeXN0ZW06Om1vdmVEYXRhYmFzZUZpbGUobV9jdXN0
b21Mb2NhbFN0b3JhZ2VQYXRoLCBsb2NhbFN0b3JhZ2VQYXRoKTsKKyAgICAgICAgaWYgKCFtX2N1
c3RvbUxvY2FsU3RvcmFnZVBhdGguaXNFbXB0eSgpICYmICFGaWxlU3lzdGVtOjpmaWxlRXhpc3Rz
KGxvY2FsU3RvcmFnZVBhdGgpICYmIEZpbGVTeXN0ZW06OmZpbGVFeGlzdHMobV9jdXN0b21Mb2Nh
bFN0b3JhZ2VQYXRoKSkgeworICAgICAgICAgICAgUkVMRUFTRV9MT0coU3RvcmFnZSwgIiVwIC0g
U3RvcmFnZUJ1Y2tldDo6cmVzb2x2ZWRMb2NhbFN0b3JhZ2VQYXRoIE5ldyBwYXRoICclcyciLCB0
aGlzLCBsb2NhbFN0b3JhZ2VQYXRoLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgYXV0byBt
b3ZlZCA9IFdlYkNvcmU6OlNRTGl0ZUZpbGVTeXN0ZW06Om1vdmVEYXRhYmFzZUZpbGUobV9jdXN0
b21Mb2NhbFN0b3JhZ2VQYXRoLCBsb2NhbFN0b3JhZ2VQYXRoKTsKKyAgICAgICAgICAgIGlmICgh
bW92ZWQgJiYgIUZpbGVTeXN0ZW06OmZpbGVFeGlzdHMobG9jYWxTdG9yYWdlUGF0aCkpCisgICAg
ICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoU3RvcmFnZSwgIiVwIC0gU3RvcmFnZUJ1Y2tl
dDo6cmVzb2x2ZWRMb2NhbFN0b3JhZ2VQYXRoIEZhaWxzIHRvIG1pZ3JhdGUgZmlsZSB0byBuZXcg
cGF0aCIsIHRoaXMpOworICAgICAgICB9CiAKICAgICAgICAgbV9yZXNvbHZlZExvY2FsU3RvcmFn
ZVBhdGggPSBsb2NhbFN0b3JhZ2VQYXRoOwogICAgIH0gZWxzZQpAQCAtMzgxLDcgKzM4NiwxMyBA
QCBTdHJpbmcgT3JpZ2luU3RvcmFnZU1hbmFnZXI6OlN0b3JhZ2VCdWNrZXQ6OnJlc29sdmVkSURC
U3RvcmFnZVBhdGgoKQogICAgICAgICBtX3Jlc29sdmVkSURCU3RvcmFnZVBhdGggPSBtX2N1c3Rv
bUlEQlN0b3JhZ2VQYXRoOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGF1dG8gaWRiU3RvcmFnZVBh
dGggPSB0eXBlU3RvcmFnZVBhdGgoU3RvcmFnZVR5cGU6OkluZGV4ZWREQik7Ci0gICAgICAgIElE
QlN0b3JhZ2VNYW5hZ2VyOjptaWdyYXRlT3JpZ2luRGF0YShtX2N1c3RvbUlEQlN0b3JhZ2VQYXRo
LCBpZGJTdG9yYWdlUGF0aCk7CisgICAgICAgIFJFTEVBU0VfTE9HKFN0b3JhZ2UsICIlcCAtIFN0
b3JhZ2VCdWNrZXQ6OnJlc29sdmVkSURCU3RvcmFnZVBhdGggTmV3IHBhdGggJyVzJyIsIHRoaXMs
IGlkYlN0b3JhZ2VQYXRoLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBhdXRvIG1vdmVkID0gSURC
U3RvcmFnZU1hbmFnZXI6Om1pZ3JhdGVPcmlnaW5EYXRhKG1fY3VzdG9tSURCU3RvcmFnZVBhdGgs
IGlkYlN0b3JhZ2VQYXRoKTsKKyAgICAgICAgaWYgKCFtb3ZlZCAmJiBGaWxlU3lzdGVtOjpmaWxl
RXhpc3RzKGlkYlN0b3JhZ2VQYXRoKSkgeworICAgICAgICAgICAgYXV0byBmaWxlTmFtZXMgPSBG
aWxlU3lzdGVtOjpsaXN0RGlyZWN0b3J5KG1fY3VzdG9tSURCU3RvcmFnZVBhdGgpOworICAgICAg
ICAgICAgYXV0byBuZXdGaWxlTmFtZXMgPSBGaWxlU3lzdGVtOjpsaXN0RGlyZWN0b3J5KGlkYlN0
b3JhZ2VQYXRoKTsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFN0b3JhZ2UsICIlcCAt
IFN0b3JhZ2VCdWNrZXQ6OnJlc29sdmVkTG9jYWxTdG9yYWdlUGF0aCBGYWlscyB0byBtaWdyYXRl
IGFsbCBkYXRhYmFzZXMgdG8gbmV3IHBhdGg6ICV6dSBtaWdyYXRlZCwgJXp1IGxlZnQiLCB0aGlz
LCBuZXdGaWxlTmFtZXMuc2l6ZSgpLCBmaWxlTmFtZXMuc2l6ZSgpKTsKKyAgICAgICAgfQogICAg
ICAgICBtX3Jlc29sdmVkSURCU3RvcmFnZVBhdGggPSBpZGJTdG9yYWdlUGF0aDsKICAgICB9CiAg
ICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455563</attachid>
            <date>2022-03-23 14:57:39 -0700</date>
            <delta_ts>2022-03-23 21:42:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238169-20220323145738.patch</filename>
            <type>text/plain</type>
            <size>9945</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmZiMzNhN2I0NWYzZjc4
NmY2MDE5ZjZmYzEyMTVjNWFiOWEzNWFmMC4uMWJmYTEzOGU2ODIyYmQ3MmMyNjg1YmVmYmUzYjc3
YzJjYzVhODM4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIyLTAzLTIzICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBsb2dnaW5nIGZvciBM
b2NhbFN0b3JhZ2UgYW5kIEluZGV4ZWREQiBkYXRhIG1pZ3JhdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4MTY5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9zcWwvU1FMaXRlRmls
ZVN5c3RlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTUUxpdGVGaWxlU3lzdGVtOjptb3ZlRGF0
YWJhc2VGaWxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5c3RlbS5oOgor
CiAyMDIyLTAzLTIzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAg
IFtDb2NvYV0gTVNFLWJhY2tlZCB2aWRlb3MgZmFpbCB0byBwbGF5IGluIENhcHRpdmUgUG9ydGFs
IG1vZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggNDMwYmRmZGVlM2RkM2QwYjA4ZWQyYmYxOWM5OWViNjRjNjQ4ODIw
My4uNGE3NDBhMGIzN2VmMjYwOGJjNDJkMGEwYWNiYzRjYzA1NjM4YmI4MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOCBAQAorMjAyMi0wMy0yMyAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgbG9nZ2luZyBmb3IgTG9jYWxTdG9yYWdlIGFuZCBJbmRleGVkREIg
ZGF0YSBtaWdyYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzODE2OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9JREJTdG9yYWdlTWFuYWdlci5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Om1pZ3JhdGVPcmlnaW5EYXRhSW1wbCk6CisgICAgICAgIChXZWJLaXQ6
OklEQlN0b3JhZ2VNYW5hZ2VyOjptaWdyYXRlT3JpZ2luRGF0YSk6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3Mvc3RvcmFnZS9JREJTdG9yYWdlTWFuYWdlci5oOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL3N0b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0
OjpPcmlnaW5TdG9yYWdlTWFuYWdlcjo6U3RvcmFnZUJ1Y2tldDo6cmVzb2x2ZWRMb2NhbFN0b3Jh
Z2VQYXRoKToKKyAgICAgICAgKFdlYktpdDo6T3JpZ2luU3RvcmFnZU1hbmFnZXI6OlN0b3JhZ2VC
dWNrZXQ6OnJlc29sdmVkSURCU3RvcmFnZVBhdGgpOgorCiAyMDIyLTAzLTIzICBKIFBhc2NvZSAg
PGpfcGFzY29lQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5dIFNwZWNpZnkgY29ycmVj
dCBBU0NQdWJsaWNLZXlDcmVkZW50aWFsS2luZCBpbiBjb25maWd1cmVBc3NlcnRpb25PcHRpb25z
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5c3Rl
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5c3RlbS5jcHAK
aW5kZXggZTdjZGNiZjVhYmQyMDY5Njg1ZTFmYWQxZDc0NDE5Y2ExMDgxYTliYS4uNzJkNGE4NzQ5
YTA4ZDBhNzM4MzQ4NjRmNmY2ZjM4ZGY1NDk0NDgyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NxbC9TUUxpdGVGaWxlU3lzdGVtLmNwcApAQCAtOTEsMTAgKzkxLDEzIEBAIGJv
b2wgU1FMaXRlRmlsZVN5c3RlbTo6ZGVsZXRlRGF0YWJhc2VGaWxlKGNvbnN0IFN0cmluZyYgZmls
ZVBhdGgpCiAgICAgcmV0dXJuICFmaWxlRXhpc3RzOwogfQogCi12b2lkIFNRTGl0ZUZpbGVTeXN0
ZW06Om1vdmVEYXRhYmFzZUZpbGUoY29uc3QgU3RyaW5nJiBvbGRGaWxlUGF0aCwgY29uc3QgU3Ry
aW5nJiBuZXdGaWxlUGF0aCkKK2Jvb2wgU1FMaXRlRmlsZVN5c3RlbTo6bW92ZURhdGFiYXNlRmls
ZShjb25zdCBTdHJpbmcmIG9sZEZpbGVQYXRoLCBjb25zdCBTdHJpbmcmIG5ld0ZpbGVQYXRoKQog
eworICAgIGJvb2wgYWxsTW92ZWQgPSB0cnVlOwogICAgIGZvciAoY29uc3QgYXV0byogc3VmZml4
IDogZGF0YWJhc2VGaWxlU3VmZml4ZXMpCi0gICAgICAgIEZpbGVTeXN0ZW06Om1vdmVGaWxlKG1h
a2VTdHJpbmcob2xkRmlsZVBhdGgsIHN1ZmZpeCksIG1ha2VTdHJpbmcobmV3RmlsZVBhdGgsIHN1
ZmZpeCkpOworICAgICAgICBhbGxNb3ZlZCAmPSBGaWxlU3lzdGVtOjptb3ZlRmlsZShtYWtlU3Ry
aW5nKG9sZEZpbGVQYXRoLCBzdWZmaXgpLCBtYWtlU3RyaW5nKG5ld0ZpbGVQYXRoLCBzdWZmaXgp
KTsKKworICAgIHJldHVybiBhbGxNb3ZlZDsKIH0KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5c3Rl
bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0uaAppbmRl
eCA5OGU3ZWEwZDA3YTI1NDExZmE0ZjYyYWE3MjE2NTkzZjYzZTM5YzVhLi42NGYxYTJjMTJhOTEx
YWViMGFkYzU5ZWZiYmNlNTM5MDliOTU5NTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVGaWxlU3lzdGVtLmgKQEAgLTgxLDcgKzgxLDcgQEAgcHVibGljOgogICAg
IFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIGRlbGV0ZURhdGFiYXNlRmlsZShjb25zdCBTdHJp
bmcmIGZpbGVQYXRoKTsKIAogICAgIC8vIE1vdmVzIGEgZGF0YWJhc2UgZmlsZSB0byBhIG5ldyBw
bGFjZS4KLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBtb3ZlRGF0YWJhc2VGaWxlKGNv
bnN0IFN0cmluZyYgb2xkRmlsZVBhdGgsIGNvbnN0IFN0cmluZyYgbmV3RmlsZVBhdGgpOworICAg
IFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIG1vdmVEYXRhYmFzZUZpbGUoY29uc3QgU3RyaW5n
JiBvbGRGaWxlUGF0aCwgY29uc3QgU3RyaW5nJiBuZXdGaWxlUGF0aCk7CiAgICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIFN0cmluZyBjb21wdXRlSGFzaEZvckZpbGVOYW1lKGNvbnN0IFN0cmluZyYg
ZmlsZVBhdGgpOwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9JREJTdG9yYWdlTWFuYWdlci5jcHAgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvSURCU3RvcmFnZU1hbmFnZXIuY3Bw
CmluZGV4IDdlM2YxZGQ2ZWY5ZmNkODllZGZjOWMzMmFhNWQwN2UyY2ExZGIwMjcuLmU3YjUyNmEy
OTEzM2M3M2FjZjhkYzgyYmZlNWVhMWRhODY5MWFkNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9JREJTdG9yYWdlTWFuYWdlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL0lEQlN0b3JhZ2VNYW5hZ2VyLmNwcApA
QCAtMzUsMTggKzM1LDE5IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgdm9pZCBt
aWdyYXRlT3JpZ2luRGF0YUltcGwoY29uc3QgU3RyaW5nJiBvbGRPcmlnaW5EaXJlY3RvcnksIGNv
bnN0IFN0cmluZyYgbmV3T3JpZ2luRGlyZWN0b3J5LCBGdW5jdGlvbjxTdHJpbmcoY29uc3QgU3Ry
aW5nJik+JiYgY3JlYXRlRmlsZU5hbWVGdW5jdGlvbikKK3N0YXRpYyBib29sIG1pZ3JhdGVPcmln
aW5EYXRhSW1wbChjb25zdCBTdHJpbmcmIG9sZE9yaWdpbkRpcmVjdG9yeSwgY29uc3QgU3RyaW5n
JiBuZXdPcmlnaW5EaXJlY3RvcnksIEZ1bmN0aW9uPFN0cmluZyhjb25zdCBTdHJpbmcmKT4mJiBj
cmVhdGVGaWxlTmFtZUZ1bmN0aW9uKQogewogICAgIGlmIChvbGRPcmlnaW5EaXJlY3RvcnkuaXNF
bXB0eSgpIHx8ICFGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKG9sZE9yaWdpbkRpcmVjdG9yeSkpCi0g
ICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBhdXRvIGZpbGVOYW1l
cyA9IEZpbGVTeXN0ZW06Omxpc3REaXJlY3Rvcnkob2xkT3JpZ2luRGlyZWN0b3J5KTsKICAgICBp
ZiAoZmlsZU5hbWVzLmlzRW1wdHkoKSkgewogICAgICAgICBGaWxlU3lzdGVtOjpkZWxldGVFbXB0
eURpcmVjdG9yeShvbGRPcmlnaW5EaXJlY3RvcnkpOwotICAgICAgICByZXR1cm47CisgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KIAogICAgIEZpbGVTeXN0ZW06Om1ha2VBbGxEaXJlY3Rvcmll
cyhuZXdPcmlnaW5EaXJlY3RvcnkpOworICAgIGJvb2wgYWxsTW92ZWQgPSB0cnVlOwogICAgIGZv
ciAoYXV0byYgbmFtZSA6IGZpbGVOYW1lcykgewogICAgICAgICAvLyBUaGlzIGlzIGFuIG9yaWdp
biBkaXJlY3RvcnkgZm9yIHRoaXJkLXBhcnR5IGRhdGEuCiAgICAgICAgIGlmIChhdXRvIG9yaWdp
biA9IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJvbURhdGFiYXNlSWRlbnRpZmllcihu
YW1lKSkKQEAgLTU4LDEwICs1OSwxMSBAQCBzdGF0aWMgdm9pZCBtaWdyYXRlT3JpZ2luRGF0YUlt
cGwoY29uc3QgU3RyaW5nJiBvbGRPcmlnaW5EaXJlY3RvcnksIGNvbnN0IFN0cmluZwogICAgICAg
ICAgICAgY29udGludWU7CiAKICAgICAgICAgYXV0byBvbGRQYXRoID0gRmlsZVN5c3RlbTo6cGF0
aEJ5QXBwZW5kaW5nQ29tcG9uZW50KG9sZE9yaWdpbkRpcmVjdG9yeSwgbmFtZSk7Ci0gICAgICAg
IEZpbGVTeXN0ZW06Om1vdmVGaWxlKG9sZFBhdGgsIG5ld1BhdGgpOworICAgICAgICBhbGxNb3Zl
ZCAmPSBGaWxlU3lzdGVtOjptb3ZlRmlsZShvbGRQYXRoLCBuZXdQYXRoKTsKICAgICB9CiAKICAg
ICBGaWxlU3lzdGVtOjpkZWxldGVFbXB0eURpcmVjdG9yeShvbGRPcmlnaW5EaXJlY3RvcnkpOwor
ICAgIHJldHVybiBhbGxNb3ZlZDsKIH0KIAogU3RyaW5nIElEQlN0b3JhZ2VNYW5hZ2VyOjppZGJT
dG9yYWdlT3JpZ2luRGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgcm9vdERpcmVjdG9yeSwgY29uc3Qg
V2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBvcmlnaW4pCkBAIC0xMjYsOSArMTI4LDkgQEAgSGFzaFNl
dDxXZWJDb3JlOjpDbGllbnRPcmlnaW4+IElEQlN0b3JhZ2VNYW5hZ2VyOjpvcmlnaW5zT2ZJREJT
dG9yYWdlRGF0YShjb25zdAogICAgIHJldHVybiBvcmlnaW5zOwogfQogCi12b2lkIElEQlN0b3Jh
Z2VNYW5hZ2VyOjptaWdyYXRlT3JpZ2luRGF0YShjb25zdCBTdHJpbmcmIG9sZE9yaWdpbkRpcmVj
dG9yeSwgY29uc3QgU3RyaW5nJiBuZXdPcmlnaW5EaXJlY3RvcnkpCitib29sIElEQlN0b3JhZ2VN
YW5hZ2VyOjptaWdyYXRlT3JpZ2luRGF0YShjb25zdCBTdHJpbmcmIG9sZE9yaWdpbkRpcmVjdG9y
eSwgY29uc3QgU3RyaW5nJiBuZXdPcmlnaW5EaXJlY3RvcnkpCiB7Ci0gICAgbWlncmF0ZU9yaWdp
bkRhdGFJbXBsKG9sZE9yaWdpbkRpcmVjdG9yeSwgbmV3T3JpZ2luRGlyZWN0b3J5LCBbXShjb25z
dCBTdHJpbmcmIG5hbWUpIHsKKyAgICByZXR1cm4gbWlncmF0ZU9yaWdpbkRhdGFJbXBsKG9sZE9y
aWdpbkRpcmVjdG9yeSwgbmV3T3JpZ2luRGlyZWN0b3J5LCBbXShjb25zdCBTdHJpbmcmIG5hbWUp
IHsKICAgICAgICAgcmV0dXJuIG5hbWU7CiAgICAgfSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvSURCU3RvcmFnZU1hbmFnZXIuaCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9JREJTdG9yYWdlTWFuYWdlci5oCmluZGV4
IGYwYTgyNzQ2Nzc5YmUxNTNiODE0YmEzNGZhMmMwYWU2MjZmYjA1Y2UuLmY5MDZjYTE5NzYxNjk1
ODRhMmFlNjE0ODliZTA2ODJhYzE5MmU2NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3Mvc3RvcmFnZS9JREJTdG9yYWdlTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9JREJTdG9yYWdlTWFuYWdlci5oCkBAIC00OSw3ICs0
OSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3RyaW5nIGlkYlN0b3JhZ2VPcmlnaW5EaXJlY3Rv
cnkoY29uc3QgU3RyaW5nJiByb290RGlyZWN0b3J5LCBjb25zdCBXZWJDb3JlOjpDbGllbnRPcmln
aW4mKTsKICAgICBzdGF0aWMgdWludDY0X3QgaWRiU3RvcmFnZVNpemUoY29uc3QgU3RyaW5nJiBv
cmlnaW5EaXJlY3RvcnkpOwogICAgIHN0YXRpYyBIYXNoU2V0PFdlYkNvcmU6OkNsaWVudE9yaWdp
bj4gb3JpZ2luc09mSURCU3RvcmFnZURhdGEoY29uc3QgU3RyaW5nJiByb290RGlyZWN0b3J5KTsK
LSAgICBzdGF0aWMgdm9pZCBtaWdyYXRlT3JpZ2luRGF0YShjb25zdCBTdHJpbmcmIG9sZE9yaWdp
bkRpcmVjdG9yeSwgY29uc3QgU3RyaW5nJiBuZXdPcmlnaW5EaXJlY3RvcnkpOworICAgIHN0YXRp
YyBib29sIG1pZ3JhdGVPcmlnaW5EYXRhKGNvbnN0IFN0cmluZyYgb2xkT3JpZ2luRGlyZWN0b3J5
LCBjb25zdCBTdHJpbmcmIG5ld09yaWdpbkRpcmVjdG9yeSk7CiAKICAgICB1c2luZyBRdW90YUNo
ZWNrRnVuY3Rpb24gPSBGdW5jdGlvbjx2b2lkKHVpbnQ2NF90IHNwYWNlUmVxdWVzdGVkLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKT47CiAgICAgSURCU3RvcmFnZU1hbmFnZXIoY29u
c3QgU3RyaW5nJiBwYXRoLCBJREJTdG9yYWdlUmVnaXN0cnkmLCBRdW90YUNoZWNrRnVuY3Rpb24m
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvT3Jp
Z2luU3RvcmFnZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zdG9y
YWdlL09yaWdpblN0b3JhZ2VNYW5hZ2VyLmNwcAppbmRleCAyZmI4YWM1NzhmM2RmOTEyMTE5ZjQ1
Y2JjYmNhMGFhNWM2NTAxMTZkLi5iZGM0ZmM5Yzc4NDA5ODMxZjA0NTE5NzYwZjYxZDdmMmUxMDUw
ZTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvT3Jp
Z2luU3RvcmFnZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
c3RvcmFnZS9PcmlnaW5TdG9yYWdlTWFuYWdlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNs
dWRlICJJREJTdG9yYWdlTWFuYWdlci5oIgogI2luY2x1ZGUgIklEQlN0b3JhZ2VSZWdpc3RyeS5o
IgogI2luY2x1ZGUgIkxvY2FsU3RvcmFnZU1hbmFnZXIuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgi
CiAjaW5jbHVkZSAiTWVtb3J5U3RvcmFnZUFyZWEuaCIKICNpbmNsdWRlICJTZXNzaW9uU3RvcmFn
ZU1hbmFnZXIuaCIKICNpbmNsdWRlICJTdG9yYWdlQXJlYVJlZ2lzdHJ5LmgiCkBAIC0zNTMsOCAr
MzU0LDEyIEBAIFN0cmluZyBPcmlnaW5TdG9yYWdlTWFuYWdlcjo6U3RvcmFnZUJ1Y2tldDo6cmVz
b2x2ZWRMb2NhbFN0b3JhZ2VQYXRoKCkKICAgICAgICAgYXV0byBsb2NhbFN0b3JhZ2VEaXJlY3Rv
cnkgPSB0eXBlU3RvcmFnZVBhdGgoU3RvcmFnZVR5cGU6OkxvY2FsU3RvcmFnZSk7CiAgICAgICAg
IEZpbGVTeXN0ZW06Om1ha2VBbGxEaXJlY3Rvcmllcyhsb2NhbFN0b3JhZ2VEaXJlY3RvcnkpOwog
ICAgICAgICBhdXRvIGxvY2FsU3RvcmFnZVBhdGggPSBMb2NhbFN0b3JhZ2VNYW5hZ2VyOjpsb2Nh
bFN0b3JhZ2VGaWxlUGF0aChsb2NhbFN0b3JhZ2VEaXJlY3RvcnkpOwotICAgICAgICBpZiAoIW1f
Y3VzdG9tTG9jYWxTdG9yYWdlUGF0aC5pc0VtcHR5KCkgJiYgIUZpbGVTeXN0ZW06OmZpbGVFeGlz
dHMobG9jYWxTdG9yYWdlUGF0aCkgJiYgRmlsZVN5c3RlbTo6ZmlsZUV4aXN0cyhtX2N1c3RvbUxv
Y2FsU3RvcmFnZVBhdGgpKQotICAgICAgICAgICAgV2ViQ29yZTo6U1FMaXRlRmlsZVN5c3RlbTo6
bW92ZURhdGFiYXNlRmlsZShtX2N1c3RvbUxvY2FsU3RvcmFnZVBhdGgsIGxvY2FsU3RvcmFnZVBh
dGgpOworICAgICAgICBpZiAoIW1fY3VzdG9tTG9jYWxTdG9yYWdlUGF0aC5pc0VtcHR5KCkgJiYg
IUZpbGVTeXN0ZW06OmZpbGVFeGlzdHMobG9jYWxTdG9yYWdlUGF0aCkgJiYgRmlsZVN5c3RlbTo6
ZmlsZUV4aXN0cyhtX2N1c3RvbUxvY2FsU3RvcmFnZVBhdGgpKSB7CisgICAgICAgICAgICBSRUxF
QVNFX0xPRyhTdG9yYWdlLCAiJXAgLSBTdG9yYWdlQnVja2V0OjpyZXNvbHZlZExvY2FsU3RvcmFn
ZVBhdGggTmV3IHBhdGggJyVzJyIsIHRoaXMsIGxvY2FsU3RvcmFnZVBhdGgudXRmOCgpLmRhdGEo
KSk7CisgICAgICAgICAgICBhdXRvIG1vdmVkID0gV2ViQ29yZTo6U1FMaXRlRmlsZVN5c3RlbTo6
bW92ZURhdGFiYXNlRmlsZShtX2N1c3RvbUxvY2FsU3RvcmFnZVBhdGgsIGxvY2FsU3RvcmFnZVBh
dGgpOworICAgICAgICAgICAgaWYgKCFtb3ZlZCAmJiAhRmlsZVN5c3RlbTo6ZmlsZUV4aXN0cyhs
b2NhbFN0b3JhZ2VQYXRoKSkKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihTdG9y
YWdlLCAiJXAgLSBTdG9yYWdlQnVja2V0OjpyZXNvbHZlZExvY2FsU3RvcmFnZVBhdGggRmFpbHMg
dG8gbWlncmF0ZSBmaWxlIHRvIG5ldyBwYXRoIiwgdGhpcyk7CisgICAgICAgIH0KIAogICAgICAg
ICBtX3Jlc29sdmVkTG9jYWxTdG9yYWdlUGF0aCA9IGxvY2FsU3RvcmFnZVBhdGg7CiAgICAgfSBl
bHNlCkBAIC0zODEsNyArMzg2LDEzIEBAIFN0cmluZyBPcmlnaW5TdG9yYWdlTWFuYWdlcjo6U3Rv
cmFnZUJ1Y2tldDo6cmVzb2x2ZWRJREJTdG9yYWdlUGF0aCgpCiAgICAgICAgIG1fcmVzb2x2ZWRJ
REJTdG9yYWdlUGF0aCA9IG1fY3VzdG9tSURCU3RvcmFnZVBhdGg7CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgYXV0byBpZGJTdG9yYWdlUGF0aCA9IHR5cGVTdG9yYWdlUGF0aChTdG9yYWdlVHlwZTo6
SW5kZXhlZERCKTsKLSAgICAgICAgSURCU3RvcmFnZU1hbmFnZXI6Om1pZ3JhdGVPcmlnaW5EYXRh
KG1fY3VzdG9tSURCU3RvcmFnZVBhdGgsIGlkYlN0b3JhZ2VQYXRoKTsKKyAgICAgICAgUkVMRUFT
RV9MT0coU3RvcmFnZSwgIiVwIC0gU3RvcmFnZUJ1Y2tldDo6cmVzb2x2ZWRJREJTdG9yYWdlUGF0
aCBOZXcgcGF0aCAnJXMnIiwgdGhpcywgaWRiU3RvcmFnZVBhdGgudXRmOCgpLmRhdGEoKSk7Cisg
ICAgICAgIGF1dG8gbW92ZWQgPSBJREJTdG9yYWdlTWFuYWdlcjo6bWlncmF0ZU9yaWdpbkRhdGEo
bV9jdXN0b21JREJTdG9yYWdlUGF0aCwgaWRiU3RvcmFnZVBhdGgpOworICAgICAgICBpZiAoIW1v
dmVkICYmIEZpbGVTeXN0ZW06OmZpbGVFeGlzdHMoaWRiU3RvcmFnZVBhdGgpKSB7CisgICAgICAg
ICAgICBhdXRvIGZpbGVOYW1lcyA9IEZpbGVTeXN0ZW06Omxpc3REaXJlY3RvcnkobV9jdXN0b21J
REJTdG9yYWdlUGF0aCk7CisgICAgICAgICAgICBhdXRvIG5ld0ZpbGVOYW1lcyA9IEZpbGVTeXN0
ZW06Omxpc3REaXJlY3RvcnkoaWRiU3RvcmFnZVBhdGgpOworICAgICAgICAgICAgUkVMRUFTRV9M
T0dfRVJST1IoU3RvcmFnZSwgIiVwIC0gU3RvcmFnZUJ1Y2tldDo6cmVzb2x2ZWRMb2NhbFN0b3Jh
Z2VQYXRoIEZhaWxzIHRvIG1pZ3JhdGUgYWxsIGRhdGFiYXNlcyB0byBuZXcgcGF0aDogJXp1IG1p
Z3JhdGVkLCAlenUgbGVmdCIsIHRoaXMsIG5ld0ZpbGVOYW1lcy5zaXplKCksIGZpbGVOYW1lcy5z
aXplKCkpOworICAgICAgICB9CiAgICAgICAgIG1fcmVzb2x2ZWRJREJTdG9yYWdlUGF0aCA9IGlk
YlN0b3JhZ2VQYXRoOwogICAgIH0KICAgICAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455603</attachid>
            <date>2022-03-23 21:42:16 -0700</date>
            <delta_ts>2022-03-23 23:26:34 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-238169-20220323214216.patch</filename>
            <type>text/plain</type>
            <size>10026</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWJjNDAxNTAzMWMyMTcx
MDk2ZTZjNGM5ODQzNTZhYjA1NjczYWE2ZC4uNDFmM2YwZjRjMjRkMzgyYmIxNDE3YWFjZDk3M2Q2
NmY1MGYwODFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIyLTAzLTIzICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBsb2dnaW5nIGZvciBM
b2NhbFN0b3JhZ2UgYW5kIEluZGV4ZWREQiBkYXRhIG1pZ3JhdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4MTY5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgKiBwbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5
c3RlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTUUxpdGVGaWxlU3lzdGVtOjptb3ZlRGF0YWJh
c2VGaWxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5c3RlbS5oOgorCiAy
MDIyLTAzLTIzICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgogCiAgICAgICAg
IFtHUFUgUHJvY2Vzc10gRW5zdXJlIERpc3BsYXlMaXN0OjpSZWNvcmRlciBhbmQgaXRzIGJhc2Ug
Y2xhc3MgYXJlIGluaXRpYWxpemVkIHdpdGggdGhlIHNhbWUgR3JhcGhpY3NDb250ZXh0U3RhdGUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggYzVlY2I2NTgyMGRhOTg1YWE0Mjg4YWU1ODY1ODZjZmMyMmM2MzRkNy4uMzAw
MDI0YTQ5MjkxYTRmNDMxYjE2NzA5OGY5Y2IxZjBiZGEzNmNmMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOCBAQAorMjAyMi0wMy0yMyAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKwor
ICAgICAgICBBZGQgbG9nZ2luZyBmb3IgTG9jYWxTdG9yYWdlIGFuZCBJbmRleGVkREIgZGF0YSBt
aWdyYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzODE2OQorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgICog
TmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9JREJTdG9yYWdlTWFuYWdlci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Om1pZ3JhdGVPcmlnaW5EYXRhSW1wbCk6CisgICAgICAgIChXZWJLaXQ6OklEQlN0b3Jh
Z2VNYW5hZ2VyOjptaWdyYXRlT3JpZ2luRGF0YSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
c3RvcmFnZS9JREJTdG9yYWdlTWFuYWdlci5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3N0
b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpPcmlnaW5T
dG9yYWdlTWFuYWdlcjo6U3RvcmFnZUJ1Y2tldDo6cmVzb2x2ZWRMb2NhbFN0b3JhZ2VQYXRoKToK
KyAgICAgICAgKFdlYktpdDo6T3JpZ2luU3RvcmFnZU1hbmFnZXI6OlN0b3JhZ2VCdWNrZXQ6OnJl
c29sdmVkSURCU3RvcmFnZVBhdGgpOgorCiAyMDIyLTAzLTIzICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIE1haWwgY29tcG9zZSB3ZWIgdmll
dyBubyBsb25nZXIgc2Nyb2xscyB0byByZXZlYWwgc2VsZWN0aW9uIHVwb24gc2hvd2luZyB0aGUg
a2V5Ym9hcmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVG
aWxlU3lzdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVGaWxlU3lz
dGVtLmNwcAppbmRleCBlN2NkY2JmNWFiZDIwNjk2ODVlMWZhZDFkNzQ0MTljYTEwODFhOWJhLi43
MmQ0YTg3NDlhMDhkMGE3MzgzNDg2NGY2ZjZmMzhkZjU0OTQ0ODIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5c3RlbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0uY3BwCkBAIC05MSwxMCArOTEs
MTMgQEAgYm9vbCBTUUxpdGVGaWxlU3lzdGVtOjpkZWxldGVEYXRhYmFzZUZpbGUoY29uc3QgU3Ry
aW5nJiBmaWxlUGF0aCkKICAgICByZXR1cm4gIWZpbGVFeGlzdHM7CiB9CiAKLXZvaWQgU1FMaXRl
RmlsZVN5c3RlbTo6bW92ZURhdGFiYXNlRmlsZShjb25zdCBTdHJpbmcmIG9sZEZpbGVQYXRoLCBj
b25zdCBTdHJpbmcmIG5ld0ZpbGVQYXRoKQorYm9vbCBTUUxpdGVGaWxlU3lzdGVtOjptb3ZlRGF0
YWJhc2VGaWxlKGNvbnN0IFN0cmluZyYgb2xkRmlsZVBhdGgsIGNvbnN0IFN0cmluZyYgbmV3Rmls
ZVBhdGgpCiB7CisgICAgYm9vbCBhbGxNb3ZlZCA9IHRydWU7CiAgICAgZm9yIChjb25zdCBhdXRv
KiBzdWZmaXggOiBkYXRhYmFzZUZpbGVTdWZmaXhlcykKLSAgICAgICAgRmlsZVN5c3RlbTo6bW92
ZUZpbGUobWFrZVN0cmluZyhvbGRGaWxlUGF0aCwgc3VmZml4KSwgbWFrZVN0cmluZyhuZXdGaWxl
UGF0aCwgc3VmZml4KSk7CisgICAgICAgIGFsbE1vdmVkICY9IEZpbGVTeXN0ZW06Om1vdmVGaWxl
KG1ha2VTdHJpbmcob2xkRmlsZVBhdGgsIHN1ZmZpeCksIG1ha2VTdHJpbmcobmV3RmlsZVBhdGgs
IHN1ZmZpeCkpOworCisgICAgcmV0dXJuIGFsbE1vdmVkOwogfQogCiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVG
aWxlU3lzdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5c3Rl
bS5oCmluZGV4IDk4ZTdlYTBkMDdhMjU0MTFmYTRmNjJhYTcyMTY1OTNmNjNlMzljNWEuLjY0ZjFh
MmMxMmE5MTFhZWIwYWRjNTllZmJiY2U1MzkwOWI5NTk1NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVGaWxlU3lzdGVtLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0uaApAQCAtODEsNyArODEsNyBAQCBwdWJs
aWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGJvb2wgZGVsZXRlRGF0YWJhc2VGaWxlKGNv
bnN0IFN0cmluZyYgZmlsZVBhdGgpOwogCiAgICAgLy8gTW92ZXMgYSBkYXRhYmFzZSBmaWxlIHRv
IGEgbmV3IHBsYWNlLgotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIG1vdmVEYXRhYmFz
ZUZpbGUoY29uc3QgU3RyaW5nJiBvbGRGaWxlUGF0aCwgY29uc3QgU3RyaW5nJiBuZXdGaWxlUGF0
aCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGJvb2wgbW92ZURhdGFiYXNlRmlsZShjb25z
dCBTdHJpbmcmIG9sZEZpbGVQYXRoLCBjb25zdCBTdHJpbmcmIG5ld0ZpbGVQYXRoKTsKICAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgU3RyaW5nIGNvbXB1dGVIYXNoRm9yRmlsZU5hbWUoY29uc3Qg
U3RyaW5nJiBmaWxlUGF0aCk7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL0lEQlN0b3JhZ2VNYW5hZ2Vy
LmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9JREJTdG9yYWdlTWFu
YWdlci5jcHAKaW5kZXggN2UzZjFkZDZlZjlmY2Q4OWVkZmM5YzMyYWE1ZDA3ZTJjYTFkYjAyNy4u
ZTdiNTI2YTI5MTMzYzczYWNmOGRjODJiZmU1ZWExZGE4NjkxYWQ3NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL0lEQlN0b3JhZ2VNYW5hZ2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvSURCU3RvcmFnZU1hbmFn
ZXIuY3BwCkBAIC0zNSwxOCArMzUsMTkgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRp
YyB2b2lkIG1pZ3JhdGVPcmlnaW5EYXRhSW1wbChjb25zdCBTdHJpbmcmIG9sZE9yaWdpbkRpcmVj
dG9yeSwgY29uc3QgU3RyaW5nJiBuZXdPcmlnaW5EaXJlY3RvcnksIEZ1bmN0aW9uPFN0cmluZyhj
b25zdCBTdHJpbmcmKT4mJiBjcmVhdGVGaWxlTmFtZUZ1bmN0aW9uKQorc3RhdGljIGJvb2wgbWln
cmF0ZU9yaWdpbkRhdGFJbXBsKGNvbnN0IFN0cmluZyYgb2xkT3JpZ2luRGlyZWN0b3J5LCBjb25z
dCBTdHJpbmcmIG5ld09yaWdpbkRpcmVjdG9yeSwgRnVuY3Rpb248U3RyaW5nKGNvbnN0IFN0cmlu
ZyYpPiYmIGNyZWF0ZUZpbGVOYW1lRnVuY3Rpb24pCiB7CiAgICAgaWYgKG9sZE9yaWdpbkRpcmVj
dG9yeS5pc0VtcHR5KCkgfHwgIUZpbGVTeXN0ZW06OmZpbGVFeGlzdHMob2xkT3JpZ2luRGlyZWN0
b3J5KSkKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGF1dG8g
ZmlsZU5hbWVzID0gRmlsZVN5c3RlbTo6bGlzdERpcmVjdG9yeShvbGRPcmlnaW5EaXJlY3Rvcnkp
OwogICAgIGlmIChmaWxlTmFtZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgIEZpbGVTeXN0ZW06OmRl
bGV0ZUVtcHR5RGlyZWN0b3J5KG9sZE9yaWdpbkRpcmVjdG9yeSk7Ci0gICAgICAgIHJldHVybjsK
KyAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCiAgICAgRmlsZVN5c3RlbTo6bWFrZUFsbERp
cmVjdG9yaWVzKG5ld09yaWdpbkRpcmVjdG9yeSk7CisgICAgYm9vbCBhbGxNb3ZlZCA9IHRydWU7
CiAgICAgZm9yIChhdXRvJiBuYW1lIDogZmlsZU5hbWVzKSB7CiAgICAgICAgIC8vIFRoaXMgaXMg
YW4gb3JpZ2luIGRpcmVjdG9yeSBmb3IgdGhpcmQtcGFydHkgZGF0YS4KICAgICAgICAgaWYgKGF1
dG8gb3JpZ2luID0gV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tRGF0YWJhc2VJZGVu
dGlmaWVyKG5hbWUpKQpAQCAtNTgsMTAgKzU5LDExIEBAIHN0YXRpYyB2b2lkIG1pZ3JhdGVPcmln
aW5EYXRhSW1wbChjb25zdCBTdHJpbmcmIG9sZE9yaWdpbkRpcmVjdG9yeSwgY29uc3QgU3RyaW5n
CiAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBhdXRvIG9sZFBhdGggPSBGaWxlU3lz
dGVtOjpwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQob2xkT3JpZ2luRGlyZWN0b3J5LCBuYW1lKTsK
LSAgICAgICAgRmlsZVN5c3RlbTo6bW92ZUZpbGUob2xkUGF0aCwgbmV3UGF0aCk7CisgICAgICAg
IGFsbE1vdmVkICY9IEZpbGVTeXN0ZW06Om1vdmVGaWxlKG9sZFBhdGgsIG5ld1BhdGgpOwogICAg
IH0KIAogICAgIEZpbGVTeXN0ZW06OmRlbGV0ZUVtcHR5RGlyZWN0b3J5KG9sZE9yaWdpbkRpcmVj
dG9yeSk7CisgICAgcmV0dXJuIGFsbE1vdmVkOwogfQogCiBTdHJpbmcgSURCU3RvcmFnZU1hbmFn
ZXI6OmlkYlN0b3JhZ2VPcmlnaW5EaXJlY3RvcnkoY29uc3QgU3RyaW5nJiByb290RGlyZWN0b3J5
LCBjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mIG9yaWdpbikKQEAgLTEyNiw5ICsxMjgsOSBA
QCBIYXNoU2V0PFdlYkNvcmU6OkNsaWVudE9yaWdpbj4gSURCU3RvcmFnZU1hbmFnZXI6Om9yaWdp
bnNPZklEQlN0b3JhZ2VEYXRhKGNvbnN0CiAgICAgcmV0dXJuIG9yaWdpbnM7CiB9CiAKLXZvaWQg
SURCU3RvcmFnZU1hbmFnZXI6Om1pZ3JhdGVPcmlnaW5EYXRhKGNvbnN0IFN0cmluZyYgb2xkT3Jp
Z2luRGlyZWN0b3J5LCBjb25zdCBTdHJpbmcmIG5ld09yaWdpbkRpcmVjdG9yeSkKK2Jvb2wgSURC
U3RvcmFnZU1hbmFnZXI6Om1pZ3JhdGVPcmlnaW5EYXRhKGNvbnN0IFN0cmluZyYgb2xkT3JpZ2lu
RGlyZWN0b3J5LCBjb25zdCBTdHJpbmcmIG5ld09yaWdpbkRpcmVjdG9yeSkKIHsKLSAgICBtaWdy
YXRlT3JpZ2luRGF0YUltcGwob2xkT3JpZ2luRGlyZWN0b3J5LCBuZXdPcmlnaW5EaXJlY3Rvcnks
IFtdKGNvbnN0IFN0cmluZyYgbmFtZSkgeworICAgIHJldHVybiBtaWdyYXRlT3JpZ2luRGF0YUlt
cGwob2xkT3JpZ2luRGlyZWN0b3J5LCBuZXdPcmlnaW5EaXJlY3RvcnksIFtdKGNvbnN0IFN0cmlu
ZyYgbmFtZSkgewogICAgICAgICByZXR1cm4gbmFtZTsKICAgICB9KTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9JREJTdG9yYWdlTWFuYWdlci5o
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL0lEQlN0b3JhZ2VNYW5hZ2Vy
LmgKaW5kZXggZjBhODI3NDY3NzliZTE1M2I4MTRiYTM0ZmEyYzBhZTYyNmZiMDVjZS4uZjkwNmNh
MTk3NjE2OTU4NGEyYWU2MTQ4OWJlMDY4MmFjMTkyZTY3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL0lEQlN0b3JhZ2VNYW5hZ2VyLmgKKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL0lEQlN0b3JhZ2VNYW5hZ2VyLmgKQEAg
LTQ5LDcgKzQ5LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBTdHJpbmcgaWRiU3RvcmFnZU9yaWdp
bkRpcmVjdG9yeShjb25zdCBTdHJpbmcmIHJvb3REaXJlY3RvcnksIGNvbnN0IFdlYkNvcmU6OkNs
aWVudE9yaWdpbiYpOwogICAgIHN0YXRpYyB1aW50NjRfdCBpZGJTdG9yYWdlU2l6ZShjb25zdCBT
dHJpbmcmIG9yaWdpbkRpcmVjdG9yeSk7CiAgICAgc3RhdGljIEhhc2hTZXQ8V2ViQ29yZTo6Q2xp
ZW50T3JpZ2luPiBvcmlnaW5zT2ZJREJTdG9yYWdlRGF0YShjb25zdCBTdHJpbmcmIHJvb3REaXJl
Y3RvcnkpOwotICAgIHN0YXRpYyB2b2lkIG1pZ3JhdGVPcmlnaW5EYXRhKGNvbnN0IFN0cmluZyYg
b2xkT3JpZ2luRGlyZWN0b3J5LCBjb25zdCBTdHJpbmcmIG5ld09yaWdpbkRpcmVjdG9yeSk7Cisg
ICAgc3RhdGljIGJvb2wgbWlncmF0ZU9yaWdpbkRhdGEoY29uc3QgU3RyaW5nJiBvbGRPcmlnaW5E
aXJlY3RvcnksIGNvbnN0IFN0cmluZyYgbmV3T3JpZ2luRGlyZWN0b3J5KTsKIAogICAgIHVzaW5n
IFF1b3RhQ2hlY2tGdW5jdGlvbiA9IEZ1bmN0aW9uPHZvaWQodWludDY0X3Qgc3BhY2VSZXF1ZXN0
ZWQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpPjsKICAgICBJREJTdG9yYWdlTWFu
YWdlcihjb25zdCBTdHJpbmcmIHBhdGgsIElEQlN0b3JhZ2VSZWdpc3RyeSYsIFF1b3RhQ2hlY2tG
dW5jdGlvbiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3Rv
cmFnZS9PcmlnaW5TdG9yYWdlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL3N0b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFnZXIuY3BwCmluZGV4IDJmYjhhYzU3OGYzZGY5
MTIxMTlmNDVjYmNiY2EwYWE1YzY1MDExNmQuLmEwOTQ4ZmNkZGQ5NjRjMGMwY2M5ZjI1NGU4OGEx
NGFmODUwYmRjZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3Rv
cmFnZS9PcmlnaW5TdG9yYWdlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9zdG9yYWdlL09yaWdpblN0b3JhZ2VNYW5hZ2VyLmNwcApAQCAtMzIsNiArMzIsNyBA
QAogI2luY2x1ZGUgIklEQlN0b3JhZ2VNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiSURCU3RvcmFnZVJl
Z2lzdHJ5LmgiCiAjaW5jbHVkZSAiTG9jYWxTdG9yYWdlTWFuYWdlci5oIgorI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKICNpbmNsdWRlICJNZW1vcnlTdG9yYWdlQXJlYS5oIgogI2luY2x1ZGUgIlNlc3Np
b25TdG9yYWdlTWFuYWdlci5oIgogI2luY2x1ZGUgIlN0b3JhZ2VBcmVhUmVnaXN0cnkuaCIKQEAg
LTM1Myw4ICszNTQsMTIgQEAgU3RyaW5nIE9yaWdpblN0b3JhZ2VNYW5hZ2VyOjpTdG9yYWdlQnVj
a2V0OjpyZXNvbHZlZExvY2FsU3RvcmFnZVBhdGgoKQogICAgICAgICBhdXRvIGxvY2FsU3RvcmFn
ZURpcmVjdG9yeSA9IHR5cGVTdG9yYWdlUGF0aChTdG9yYWdlVHlwZTo6TG9jYWxTdG9yYWdlKTsK
ICAgICAgICAgRmlsZVN5c3RlbTo6bWFrZUFsbERpcmVjdG9yaWVzKGxvY2FsU3RvcmFnZURpcmVj
dG9yeSk7CiAgICAgICAgIGF1dG8gbG9jYWxTdG9yYWdlUGF0aCA9IExvY2FsU3RvcmFnZU1hbmFn
ZXI6OmxvY2FsU3RvcmFnZUZpbGVQYXRoKGxvY2FsU3RvcmFnZURpcmVjdG9yeSk7Ci0gICAgICAg
IGlmICghbV9jdXN0b21Mb2NhbFN0b3JhZ2VQYXRoLmlzRW1wdHkoKSAmJiAhRmlsZVN5c3RlbTo6
ZmlsZUV4aXN0cyhsb2NhbFN0b3JhZ2VQYXRoKSAmJiBGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKG1f
Y3VzdG9tTG9jYWxTdG9yYWdlUGF0aCkpCi0gICAgICAgICAgICBXZWJDb3JlOjpTUUxpdGVGaWxl
U3lzdGVtOjptb3ZlRGF0YWJhc2VGaWxlKG1fY3VzdG9tTG9jYWxTdG9yYWdlUGF0aCwgbG9jYWxT
dG9yYWdlUGF0aCk7CisgICAgICAgIGlmICghbV9jdXN0b21Mb2NhbFN0b3JhZ2VQYXRoLmlzRW1w
dHkoKSAmJiAhRmlsZVN5c3RlbTo6ZmlsZUV4aXN0cyhsb2NhbFN0b3JhZ2VQYXRoKSAmJiBGaWxl
U3lzdGVtOjpmaWxlRXhpc3RzKG1fY3VzdG9tTG9jYWxTdG9yYWdlUGF0aCkpIHsKKyAgICAgICAg
ICAgIFJFTEVBU0VfTE9HKFN0b3JhZ2UsICIlcCAtIFN0b3JhZ2VCdWNrZXQ6OnJlc29sdmVkTG9j
YWxTdG9yYWdlUGF0aCBOZXcgcGF0aCAnJXtwdWJsaWN9cyciLCB0aGlzLCBsb2NhbFN0b3JhZ2VQ
YXRoLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgYXV0byBtb3ZlZCA9IFdlYkNvcmU6OlNR
TGl0ZUZpbGVTeXN0ZW06Om1vdmVEYXRhYmFzZUZpbGUobV9jdXN0b21Mb2NhbFN0b3JhZ2VQYXRo
LCBsb2NhbFN0b3JhZ2VQYXRoKTsKKyAgICAgICAgICAgIGlmICghbW92ZWQgJiYgIUZpbGVTeXN0
ZW06OmZpbGVFeGlzdHMobG9jYWxTdG9yYWdlUGF0aCkpCisgICAgICAgICAgICAgICAgUkVMRUFT
RV9MT0dfRVJST1IoU3RvcmFnZSwgIiVwIC0gU3RvcmFnZUJ1Y2tldDo6cmVzb2x2ZWRMb2NhbFN0
b3JhZ2VQYXRoIEZhaWxzIHRvIG1pZ3JhdGUgZmlsZSB0byBuZXcgcGF0aCIsIHRoaXMpOworICAg
ICAgICB9CiAKICAgICAgICAgbV9yZXNvbHZlZExvY2FsU3RvcmFnZVBhdGggPSBsb2NhbFN0b3Jh
Z2VQYXRoOwogICAgIH0gZWxzZQpAQCAtMzgxLDcgKzM4NiwxMyBAQCBTdHJpbmcgT3JpZ2luU3Rv
cmFnZU1hbmFnZXI6OlN0b3JhZ2VCdWNrZXQ6OnJlc29sdmVkSURCU3RvcmFnZVBhdGgoKQogICAg
ICAgICBtX3Jlc29sdmVkSURCU3RvcmFnZVBhdGggPSBtX2N1c3RvbUlEQlN0b3JhZ2VQYXRoOwog
ICAgIH0gZWxzZSB7CiAgICAgICAgIGF1dG8gaWRiU3RvcmFnZVBhdGggPSB0eXBlU3RvcmFnZVBh
dGgoU3RvcmFnZVR5cGU6OkluZGV4ZWREQik7Ci0gICAgICAgIElEQlN0b3JhZ2VNYW5hZ2VyOjpt
aWdyYXRlT3JpZ2luRGF0YShtX2N1c3RvbUlEQlN0b3JhZ2VQYXRoLCBpZGJTdG9yYWdlUGF0aCk7
CisgICAgICAgIFJFTEVBU0VfTE9HKFN0b3JhZ2UsICIlcCAtIFN0b3JhZ2VCdWNrZXQ6OnJlc29s
dmVkSURCU3RvcmFnZVBhdGggTmV3IHBhdGggJyV7cHVibGljfXMnIiwgdGhpcywgaWRiU3RvcmFn
ZVBhdGgudXRmOCgpLmRhdGEoKSk7CisgICAgICAgIGF1dG8gbW92ZWQgPSBJREJTdG9yYWdlTWFu
YWdlcjo6bWlncmF0ZU9yaWdpbkRhdGEobV9jdXN0b21JREJTdG9yYWdlUGF0aCwgaWRiU3RvcmFn
ZVBhdGgpOworICAgICAgICBpZiAoIW1vdmVkICYmIEZpbGVTeXN0ZW06OmZpbGVFeGlzdHMoaWRi
U3RvcmFnZVBhdGgpKSB7CisgICAgICAgICAgICBhdXRvIGZpbGVOYW1lcyA9IEZpbGVTeXN0ZW06
Omxpc3REaXJlY3RvcnkobV9jdXN0b21JREJTdG9yYWdlUGF0aCk7CisgICAgICAgICAgICBhdXRv
IG5ld0ZpbGVOYW1lcyA9IEZpbGVTeXN0ZW06Omxpc3REaXJlY3RvcnkoaWRiU3RvcmFnZVBhdGgp
OworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoU3RvcmFnZSwgIiVwIC0gU3RvcmFnZUJ1
Y2tldDo6cmVzb2x2ZWRMb2NhbFN0b3JhZ2VQYXRoIEZhaWxzIHRvIG1pZ3JhdGUgYWxsIGRhdGFi
YXNlcyB0byBuZXcgcGF0aDogJXp1IG1pZ3JhdGVkLCAlenUgbGVmdCIsIHRoaXMsIG5ld0ZpbGVO
YW1lcy5zaXplKCksIGZpbGVOYW1lcy5zaXplKCkpOworICAgICAgICB9CiAgICAgICAgIG1fcmVz
b2x2ZWRJREJTdG9yYWdlUGF0aCA9IGlkYlN0b3JhZ2VQYXRoOwogICAgIH0KICAgICAK
</data>

          </attachment>
      

    </bug>

</bugzilla>