<?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>226938</bug_id>
          
          <creation_ts>2021-06-11 12:08:43 -0700</creation_ts>
          <short_desc>[WK2] Batch local storage database writes using transactions</short_desc>
          <delta_ts>2021-07-02 11:46:00 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=226832</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=225065</see_also>
          <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>
          <dependson>227632</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ggaren</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>nham</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1769020</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-11 12:08:43 -0700</bug_when>
    <thetext>Batch local storage database writes using transactions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769029</commentid>
    <comment_count>1</comment_count>
      <attachid>431220</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-11 12:33:52 -0700</bug_when>
    <thetext>Created attachment 431220
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769034</commentid>
    <comment_count>2</comment_count>
      <attachid>431220</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-06-11 12:49:31 -0700</bug_when>
    <thetext>Comment on attachment 431220
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769062</commentid>
    <comment_count>3</comment_count>
      <attachid>431229</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-11 13:40:25 -0700</bug_when>
    <thetext>Created attachment 431229
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769083</commentid>
    <comment_count>4</comment_count>
      <attachid>431234</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-11 15:08:38 -0700</bug_when>
    <thetext>Created attachment 431234
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769101</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-11 15:56:25 -0700</bug_when>
    <thetext>Committed r278786 (238743@main): &lt;https://commits.webkit.org/238743@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 431234.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769102</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-11 15:57:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/79220513&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431220</attachid>
            <date>2021-06-11 12:33:52 -0700</date>
            <delta_ts>2021-06-11 13:40:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226938-20210611123352.patch</filename>
            <type>text/plain</type>
            <size>7868</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZlZTIwNDYxNThjYWE2Mzk1
ZDQ4YTNkMjA0MDRiMTY0Y2QwMDBkZjQuLjcyM2U2ZWU2ZDM0OWU2ZTRkY2I1MDI3MGFkNGVlODdk
ODIxMTY3Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjEtMDYtMTEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbV0syXSBCYXRjaCBsb2NhbCBzdG9y
YWdlIGRhdGFiYXNlIHdyaXRlcyB1c2luZyB0cmFuc2FjdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjkzOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJhdGNoIGxvY2FsIHN0b3JhZ2Ugd3JpdGVz
IHVzaW5nIHRyYW5zYWN0aW9ucywgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZQorICAgICAgICBhbmQg
cmVkdWNlIGRpc2sgd3JpdGVzLiBJbiB0aGlzIHBhdGNoLCB3ZSB1c2UgYSBzaW1wbGUgdGltZS1i
YXNlZAorICAgICAgICBhcHByb2FjaCB3aGVyZSB3ZSBiYXRjaCB0cmFuc2FjdGlvbnMgaGFwcGVu
aW5nIGluIHRoZSBzYW1lIDUwMG1zCisgICAgICAgIHBlcmlvZC4KKworICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL1dlYlN0b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJhc2UuY3BwOgorICAgICAgICAo
V2ViS2l0OjpMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6
TG9jYWxTdG9yYWdlRGF0YWJhc2U6OkxvY2FsU3RvcmFnZURhdGFiYXNlKToKKyAgICAgICAgKFdl
YktpdDo6TG9jYWxTdG9yYWdlRGF0YWJhc2U6OnN0YXJ0VHJhbnNhY3Rpb25JZk5lY2Vzc2FyeSk6
CisgICAgICAgIChXZWJLaXQ6OkxvY2FsU3RvcmFnZURhdGFiYXNlOjpyZW1vdmVJdGVtKToKKyAg
ICAgICAgKFdlYktpdDo6TG9jYWxTdG9yYWdlRGF0YWJhc2U6OnNldEl0ZW0pOgorICAgICAgICAo
V2ViS2l0OjpMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6Y2xlYXIpOgorICAgICAgICAoV2ViS2l0OjpM
b2NhbFN0b3JhZ2VEYXRhYmFzZTo6Y2xvc2UpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1dl
YlN0b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJhc2UuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9XZWJTdG9yYWdlL1N0b3JhZ2VBcmVhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZUFy
ZWE6OmVuc3VyZURhdGFiYXNlIGNvbnN0KToKKwogMjAyMS0wNi0xMSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEVuYWJsZSBXZWJQcm9jZXNzJyByZWxlYXNlIGxv
Z2dpbmcgaW4gZXBoZW1lcmFsIHNlc3Npb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJhc2UuY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9XZWJTdG9yYWdlL0xvY2FsU3RvcmFnZURhdGFiYXNlLmNw
cAppbmRleCA0YTYzNzVjY2FkZDYxOTA3NTE0YzM0MTkwY2IwYmE5Zjc0NjQ2YTUxLi5jZWYxMWFk
N2JiYzQ3ZjZiNDU5MzYxN2E4MzM5YWJkMTk0MGQ1MTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJhc2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9Mb2NhbFN0b3JhZ2VE
YXRhYmFzZS5jcHAKQEAgLTM5LDE0ICszOSwxNiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCiBzdGF0aWMgY29uc3QgQVNDSUlMaXRlcmFsIGdldEl0ZW1z
UXVlcnlTdHJpbmcgeyAiU0VMRUNUIGtleSwgdmFsdWUgRlJPTSBJdGVtVGFibGUiX3MgfTsKK2Nv
bnN0ZXhwciBTZWNvbmRzIHRyYW5zYWN0aW9uRHVyYXRpb24geyA1MDBfbXMgfTsKIAotUmVmPExv
Y2FsU3RvcmFnZURhdGFiYXNlPiBMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6Y3JlYXRlKFN0cmluZyYm
IGRhdGFiYXNlUGF0aCwgdW5zaWduZWQgcXVvdGFJbkJ5dGVzKQorUmVmPExvY2FsU3RvcmFnZURh
dGFiYXNlPiBMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6Y3JlYXRlKFJlZjxXb3JrUXVldWU+JiYgd29y
a1F1ZXVlLCBTdHJpbmcmJiBkYXRhYmFzZVBhdGgsIHVuc2lnbmVkIHF1b3RhSW5CeXRlcykKIHsK
LSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBMb2NhbFN0b3JhZ2VEYXRhYmFzZShXVEZNb3ZlKGRh
dGFiYXNlUGF0aCksIHF1b3RhSW5CeXRlcykpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IExv
Y2FsU3RvcmFnZURhdGFiYXNlKFdURk1vdmUod29ya1F1ZXVlKSwgV1RGTW92ZShkYXRhYmFzZVBh
dGgpLCBxdW90YUluQnl0ZXMpKTsKIH0KIAotTG9jYWxTdG9yYWdlRGF0YWJhc2U6OkxvY2FsU3Rv
cmFnZURhdGFiYXNlKFN0cmluZyYmIGRhdGFiYXNlUGF0aCwgdW5zaWduZWQgcXVvdGFJbkJ5dGVz
KQotICAgIDogbV9kYXRhYmFzZVBhdGgoV1RGTW92ZShkYXRhYmFzZVBhdGgpKQorTG9jYWxTdG9y
YWdlRGF0YWJhc2U6OkxvY2FsU3RvcmFnZURhdGFiYXNlKFJlZjxXb3JrUXVldWU+JiYgd29ya1F1
ZXVlLCBTdHJpbmcmJiBkYXRhYmFzZVBhdGgsIHVuc2lnbmVkIHF1b3RhSW5CeXRlcykKKyAgICA6
IG1fd29ya1F1ZXVlKFdURk1vdmUod29ya1F1ZXVlKSkKKyAgICAsIG1fZGF0YWJhc2VQYXRoKFdU
Rk1vdmUoZGF0YWJhc2VQYXRoKSkKICAgICAsIG1fcXVvdGFJbkJ5dGVzKHF1b3RhSW5CeXRlcykK
IHsKICAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKQEAgLTk2LDYgKzk4LDIxIEBAIGJv
b2wgTG9jYWxTdG9yYWdlRGF0YWJhc2U6Om9wZW5EYXRhYmFzZShTaG91bGRDcmVhdGVEYXRhYmFz
ZSBzaG91bGRDcmVhdGVEYXRhYmFzCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgTG9jYWxT
dG9yYWdlRGF0YWJhc2U6OnN0YXJ0VHJhbnNhY3Rpb25JZk5lY2Vzc2FyeSgpCit7CisgICAgaWYg
KCFtX3RyYW5zYWN0aW9uKQorICAgICAgICBtX3RyYW5zYWN0aW9uID0gbWFrZVVuaXF1ZTxTUUxp
dGVUcmFuc2FjdGlvbj4obV9kYXRhYmFzZSk7CisKKyAgICBpZiAobV90cmFuc2FjdGlvbi0+aW5Q
cm9ncmVzcygpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3RyYW5zYWN0aW9uLT5iZWdpbigp
OworICAgIG1fd29ya1F1ZXVlLT5kaXNwYXRjaEFmdGVyKHRyYW5zYWN0aW9uRHVyYXRpb24sIFt3
ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0geworICAgICAgICBpZiAod2Vha1RoaXMpCisg
ICAgICAgICAgICB3ZWFrVGhpcy0+bV90cmFuc2FjdGlvbi0+Y29tbWl0KCk7CisgICAgfSk7Cit9
CisKIGJvb2wgTG9jYWxTdG9yYWdlRGF0YWJhc2U6Om1pZ3JhdGVJdGVtVGFibGVJZk5lZWRlZCgp
CiB7CiAgICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7CkBAIC0xNjgsNiArMTg1LDcgQEAg
dm9pZCBMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6cmVtb3ZlSXRlbShjb25zdCBTdHJpbmcmIGtleSwg
U3RyaW5nJiBvbGRWYWx1ZSkKICAgICBpZiAoIW1fZGF0YWJhc2UuaXNPcGVuKCkpCiAgICAgICAg
IHJldHVybjsKIAorICAgIHN0YXJ0VHJhbnNhY3Rpb25JZk5lY2Vzc2FyeSgpOwogICAgIG9sZFZh
bHVlID0gaXRlbShrZXkpOwogICAgIGlmIChvbGRWYWx1ZS5pc051bGwoKSkKICAgICAgICAgcmV0
dXJuOwpAQCAtMjE1LDYgKzIzMyw3IEBAIHZvaWQgTG9jYWxTdG9yYWdlRGF0YWJhc2U6OnNldEl0
ZW0oY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUsIFN0cmluCiAgICAgaWYg
KCFtX2RhdGFiYXNlLmlzT3BlbigpKQogICAgICAgICByZXR1cm47CiAKKyAgICBzdGFydFRyYW5z
YWN0aW9uSWZOZWNlc3NhcnkoKTsKICAgICBvbGRWYWx1ZSA9IGl0ZW0oa2V5KTsKIAogICAgIGF1
dG8gaW5zZXJ0U3RhdGVtZW50ID0gc2NvcGVkU3RhdGVtZW50KG1faW5zZXJ0U3RhdGVtZW50LCAi
SU5TRVJUIElOVE8gSXRlbVRhYmxlIFZBTFVFUyAoPywgPykiX3MpOwpAQCAtMjQwLDYgKzI1OSw3
IEBAIGJvb2wgTG9jYWxTdG9yYWdlRGF0YWJhc2U6OmNsZWFyKCkKICAgICBpZiAoIW1fZGF0YWJh
c2UuaXNPcGVuKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIHN0YXJ0VHJhbnNhY3Rp
b25JZk5lY2Vzc2FyeSgpOwogICAgIGF1dG8gY2xlYXJTdGF0ZW1lbnQgPSBzY29wZWRTdGF0ZW1l
bnQobV9jbGVhclN0YXRlbWVudCwgIkRFTEVURSBGUk9NIEl0ZW1UYWJsZSJfcyk7CiAgICAgaWYg
KCFjbGVhclN0YXRlbWVudCkgewogICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBwcmVwYXJl
IGNsZWFyIHN0YXRlbWVudCAtIGNhbm5vdCB3cml0ZSB0byBsb2NhbCBzdG9yYWdlIGRhdGFiYXNl
Iik7CkBAIC0yNjksNiArMjg5LDggQEAgdm9pZCBMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6Y2xvc2Uo
KQogICAgIG1fZ2V0SXRlbVN0YXRlbWVudCA9IG51bGxwdHI7CiAgICAgbV9nZXRJdGVtc1N0YXRl
bWVudCA9IG51bGxwdHI7CiAgICAgbV9kZWxldGVJdGVtU3RhdGVtZW50ID0gbnVsbHB0cjsKKyAg
ICBpZiAoYXV0byB0cmFuc2FjdGlvbiA9IHN0ZDo6ZXhjaGFuZ2UobV90cmFuc2FjdGlvbiwgbnVs
bHB0cikpCisgICAgICAgIHRyYW5zYWN0aW9uLT5jb21taXQoKTsKIAogICAgIGlmIChtX2RhdGFi
YXNlLmlzT3BlbigpKQogICAgICAgICBtX2RhdGFiYXNlLmNsb3NlKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJh
c2UuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9Mb2NhbFN0b3Jh
Z2VEYXRhYmFzZS5oCmluZGV4IGU0MTc4ODY1YzcwMTYxZDUzMTI1MTJhYWYzNTdkZjhiMDExNGRm
N2QuLjVhY2JlNjQ0NTMxNmY2MDI5YzQ1MDFkYTRmNDU5MDFjNTYyZDc3ODUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9Mb2NhbFN0b3JhZ2VEYXRh
YmFzZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9Mb2Nh
bFN0b3JhZ2VEYXRhYmFzZS5oCkBAIC0yNywxOCArMjcsMjEgQEAKIAogI2luY2x1ZGUgPFdlYkNv
cmUvU1FMaXRlRGF0YWJhc2UuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUg
PHd0Zi9XZWFrUHRyLmg+CisjaW5jbHVkZSA8d3RmL1dvcmtRdWV1ZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBTUUxpdGVTdGF0ZW1lbnRBdXRvUmVzZXRTY29wZTsKK2NsYXNzIFNR
TGl0ZVRyYW5zYWN0aW9uOwogCiBzdHJ1Y3QgU2VjdXJpdHlPcmlnaW5EYXRhOwogfQogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgTG9jYWxTdG9yYWdlRGF0YWJhc2UgOiBwdWJsaWMgUmVm
Q291bnRlZDxMb2NhbFN0b3JhZ2VEYXRhYmFzZT4geworY2xhc3MgTG9jYWxTdG9yYWdlRGF0YWJh
c2UgOiBwdWJsaWMgUmVmQ291bnRlZDxMb2NhbFN0b3JhZ2VEYXRhYmFzZT4sIHB1YmxpYyBDYW5N
YWtlV2Vha1B0cjxMb2NhbFN0b3JhZ2VEYXRhYmFzZT4gewogcHVibGljOgotICAgIHN0YXRpYyBS
ZWY8TG9jYWxTdG9yYWdlRGF0YWJhc2U+IGNyZWF0ZShTdHJpbmcmJiBkYXRhYmFzZVBhdGgsIHVu
c2lnbmVkIHF1b3RhSW5CeXRlcyk7CisgICAgc3RhdGljIFJlZjxMb2NhbFN0b3JhZ2VEYXRhYmFz
ZT4gY3JlYXRlKFJlZjxXb3JrUXVldWU+JiYsIFN0cmluZyYmIGRhdGFiYXNlUGF0aCwgdW5zaWdu
ZWQgcXVvdGFJbkJ5dGVzKTsKICAgICB+TG9jYWxTdG9yYWdlRGF0YWJhc2UoKTsKIAogICAgIEhh
c2hNYXA8U3RyaW5nLCBTdHJpbmc+IGl0ZW1zKCkgY29uc3Q7CkBAIC01NCwxOCArNTcsMjEgQEAg
cHVibGljOgogICAgIHZvaWQgaGFuZGxlTG93TWVtb3J5V2FybmluZygpOwogCiBwcml2YXRlOgot
ICAgIExvY2FsU3RvcmFnZURhdGFiYXNlKFN0cmluZyYmIGRhdGFiYXNlUGF0aCwgdW5zaWduZWQg
cXVvdGFJbkJ5dGVzKTsKKyAgICBMb2NhbFN0b3JhZ2VEYXRhYmFzZShSZWY8V29ya1F1ZXVlPiYm
LCBTdHJpbmcmJiBkYXRhYmFzZVBhdGgsIHVuc2lnbmVkIHF1b3RhSW5CeXRlcyk7CiAKICAgICBl
bnVtIGNsYXNzIFNob3VsZENyZWF0ZURhdGFiYXNlIDogYm9vbCB7IE5vLCBZZXMgfTsKICAgICBi
b29sIG9wZW5EYXRhYmFzZShTaG91bGRDcmVhdGVEYXRhYmFzZSk7CiAKKyAgICB2b2lkIHN0YXJ0
VHJhbnNhY3Rpb25JZk5lY2Vzc2FyeSgpOwogICAgIGJvb2wgbWlncmF0ZUl0ZW1UYWJsZUlmTmVl
ZGVkKCk7CiAgICAgYm9vbCBkYXRhYmFzZUlzRW1wdHkoKSBjb25zdDsKIAogICAgIFdlYkNvcmU6
OlNRTGl0ZVN0YXRlbWVudEF1dG9SZXNldFNjb3BlIHNjb3BlZFN0YXRlbWVudChzdGQ6OnVuaXF1
ZV9wdHI8V2ViQ29yZTo6U1FMaXRlU3RhdGVtZW50PiYsIEFTQ0lJTGl0ZXJhbCBxdWVyeSkgY29u
c3Q7CiAKKyAgICBSZWY8V29ya1F1ZXVlPiBtX3dvcmtRdWV1ZTsKICAgICBTdHJpbmcgbV9kYXRh
YmFzZVBhdGg7CiAgICAgbXV0YWJsZSBXZWJDb3JlOjpTUUxpdGVEYXRhYmFzZSBtX2RhdGFiYXNl
OworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpTUUxpdGVUcmFuc2FjdGlvbj4gbV90cmFu
c2FjdGlvbjsKICAgICBjb25zdCB1bnNpZ25lZCBtX3F1b3RhSW5CeXRlcyB7IDAgfTsKICAgICBi
b29sIG1faXNDbG9zZWQgeyBmYWxzZSB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZUFyZWEuY3BwIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VBcmVhLmNwcAppbmRleCBlYTg0ODIzY2Uy
ZmVmNTU2YThkYjk1NTczN2RkYjNjYjkxNGNmMTk4Li5lNDc0ZTdjMmNlYzk3ZDg5MjUwYjQxMmZj
MmJkNGVkZjhiZWFkNDU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1dlYlN0b3JhZ2UvU3RvcmFnZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdlQXJlYS5jcHAKQEAgLTE3NSw3ICsxNzUsNyBAQCBMb2Nh
bFN0b3JhZ2VEYXRhYmFzZSYgU3RvcmFnZUFyZWE6OmVuc3VyZURhdGFiYXNlKCkgY29uc3QKICAg
ICAvLyBXZSBvcGVuIHRoZSBkYXRhYmFzZSBoZXJlIGV2ZW4gaWYgd2UndmUgYWxyZWFkeSBpbXBv
cnRlZCBvdXIgaXRlbXMgdG8gZW5zdXJlIHRoYXQgdGhlIGRhdGFiYXNlIGlzIG9wZW4gaWYgd2Ug
bmVlZCB0byB3cml0ZSB0byBpdC4KICAgICBpZiAoIW1fbG9jYWxTdG9yYWdlRGF0YWJhc2UpIHsK
ICAgICAgICAgYXV0byogbG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyID0gbV9sb2NhbFN0b3Jh
Z2VOYW1lc3BhY2UtPnN0b3JhZ2VNYW5hZ2VyKCktPmxvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tl
cigpOwotICAgICAgICBtX2xvY2FsU3RvcmFnZURhdGFiYXNlID0gTG9jYWxTdG9yYWdlRGF0YWJh
c2U6OmNyZWF0ZShsb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXItPmRhdGFiYXNlUGF0aChtX3Nl
Y3VyaXR5T3JpZ2luKSwgbV9xdW90YUluQnl0ZXMpOworICAgICAgICBtX2xvY2FsU3RvcmFnZURh
dGFiYXNlID0gTG9jYWxTdG9yYWdlRGF0YWJhc2U6OmNyZWF0ZShtX3F1ZXVlLmNvcHlSZWYoKSwg
bG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLT5kYXRhYmFzZVBhdGgobV9zZWN1cml0eU9yaWdp
biksIG1fcXVvdGFJbkJ5dGVzKTsKICAgICAgICAgbV9sb2NhbFN0b3JhZ2VEYXRhYmFzZS0+b3Bl
bklmRXhpc3RpbmcoKTsKICAgICB9CiAgICAgcmV0dXJuICptX2xvY2FsU3RvcmFnZURhdGFiYXNl
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431229</attachid>
            <date>2021-06-11 13:40:25 -0700</date>
            <delta_ts>2021-06-11 15:08:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226938-20210611134024.patch</filename>
            <type>text/plain</type>
            <size>7949</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4Nzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDlkMDhjMzJmNDlkMDgxYzY1
NTUzNzFhNDE0ZTYxMjE0Yzc0MTZhMjYuLmUyZGI5MWQ0MzcwNzc1ZDI5NjcyNTQ4MGI5YzM0ODk0
ZmQyYTY1YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjEtMDYtMTEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbV0syXSBCYXRjaCBsb2NhbCBzdG9y
YWdlIGRhdGFiYXNlIHdyaXRlcyB1c2luZyB0cmFuc2FjdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjkzOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IEdlb2ZmIEdhcmVuLgorCisgICAgICAgIEJhdGNoIGxvY2FsIHN0b3JhZ2Ugd3JpdGVzIHVz
aW5nIHRyYW5zYWN0aW9ucywgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZQorICAgICAgICBhbmQgcmVk
dWNlIGRpc2sgd3JpdGVzLiBJbiB0aGlzIHBhdGNoLCB3ZSB1c2UgYSBzaW1wbGUgdGltZS1iYXNl
ZAorICAgICAgICBhcHByb2FjaCB3aGVyZSB3ZSBiYXRjaCB0cmFuc2FjdGlvbnMgaGFwcGVuaW5n
IGluIHRoZSBzYW1lIDUwMG1zCisgICAgICAgIHBlcmlvZC4KKworICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL1dlYlN0b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6TG9j
YWxTdG9yYWdlRGF0YWJhc2U6OkxvY2FsU3RvcmFnZURhdGFiYXNlKToKKyAgICAgICAgKFdlYktp
dDo6TG9jYWxTdG9yYWdlRGF0YWJhc2U6OnN0YXJ0VHJhbnNhY3Rpb25JZk5lY2Vzc2FyeSk6Cisg
ICAgICAgIChXZWJLaXQ6OkxvY2FsU3RvcmFnZURhdGFiYXNlOjpyZW1vdmVJdGVtKToKKyAgICAg
ICAgKFdlYktpdDo6TG9jYWxTdG9yYWdlRGF0YWJhc2U6OnNldEl0ZW0pOgorICAgICAgICAoV2Vi
S2l0OjpMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6Y2xlYXIpOgorICAgICAgICAoV2ViS2l0OjpMb2Nh
bFN0b3JhZ2VEYXRhYmFzZTo6Y2xvc2UpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1dlYlN0
b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJhc2UuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9X
ZWJTdG9yYWdlL1N0b3JhZ2VBcmVhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWE6
OmVuc3VyZURhdGFiYXNlIGNvbnN0KToKKwogMjAyMS0wNi0xMSAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEVuYWJsZSByZWxlYXNlIGxvZ2dpbmcgaW4gZXBoZW1l
cmFsIHNlc3Npb25zIGZvciBwYXJ0cyBvZiBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJhc2UuY3BwIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9XZWJTdG9yYWdlL0xvY2FsU3RvcmFnZURhdGFi
YXNlLmNwcAppbmRleCAxMzdlYmFiMzg2YTJkNzM4OTQyMGI5ZTcxODE4MzQyOTU3MGY2YzljLi4z
OTY2MzJjMjU2YjcyY2NjMGMzY2M3Mzc0ZjlmYzFiNGZlNDEyM2Y2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJhc2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9Mb2NhbFN0
b3JhZ2VEYXRhYmFzZS5jcHAKQEAgLTQwLDE0ICs0MCwxNiBAQCB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAogY29uc3RleHByIGF1dG8gZ2V0SXRlbXNRdWVyeVN0cmluZyB7ICJTRUxFQ1Qga2V5
LCB2YWx1ZSBGUk9NIEl0ZW1UYWJsZSJfcyB9OwogY29uc3RleHByIHVuc2lnbmVkIG1heGltdW1T
aXplRm9yVmFsdWVzS2VwdEluTWVtb3J5IHsgMTAyNCB9OyAvLyAxIEtCCitjb25zdGV4cHIgU2Vj
b25kcyB0cmFuc2FjdGlvbkR1cmF0aW9uIHsgNTAwX21zIH07CiAKLVJlZjxMb2NhbFN0b3JhZ2VE
YXRhYmFzZT4gTG9jYWxTdG9yYWdlRGF0YWJhc2U6OmNyZWF0ZShTdHJpbmcmJiBkYXRhYmFzZVBh
dGgsIHVuc2lnbmVkIHF1b3RhSW5CeXRlcykKK1JlZjxMb2NhbFN0b3JhZ2VEYXRhYmFzZT4gTG9j
YWxTdG9yYWdlRGF0YWJhc2U6OmNyZWF0ZShSZWY8V29ya1F1ZXVlPiYmIHdvcmtRdWV1ZSwgU3Ry
aW5nJiYgZGF0YWJhc2VQYXRoLCB1bnNpZ25lZCBxdW90YUluQnl0ZXMpCiB7Ci0gICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgTG9jYWxTdG9yYWdlRGF0YWJhc2UoV1RGTW92ZShkYXRhYmFzZVBhdGgp
LCBxdW90YUluQnl0ZXMpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBMb2NhbFN0b3JhZ2VE
YXRhYmFzZShXVEZNb3ZlKHdvcmtRdWV1ZSksIFdURk1vdmUoZGF0YWJhc2VQYXRoKSwgcXVvdGFJ
bkJ5dGVzKSk7CiB9CiAKLUxvY2FsU3RvcmFnZURhdGFiYXNlOjpMb2NhbFN0b3JhZ2VEYXRhYmFz
ZShTdHJpbmcmJiBkYXRhYmFzZVBhdGgsIHVuc2lnbmVkIHF1b3RhSW5CeXRlcykKLSAgICA6IG1f
ZGF0YWJhc2VQYXRoKFdURk1vdmUoZGF0YWJhc2VQYXRoKSkKK0xvY2FsU3RvcmFnZURhdGFiYXNl
OjpMb2NhbFN0b3JhZ2VEYXRhYmFzZShSZWY8V29ya1F1ZXVlPiYmIHdvcmtRdWV1ZSwgU3RyaW5n
JiYgZGF0YWJhc2VQYXRoLCB1bnNpZ25lZCBxdW90YUluQnl0ZXMpCisgICAgOiBtX3dvcmtRdWV1
ZShXVEZNb3ZlKHdvcmtRdWV1ZSkpCisgICAgLCBtX2RhdGFiYXNlUGF0aChXVEZNb3ZlKGRhdGFi
YXNlUGF0aCkpCiAgICAgLCBtX3F1b3RhSW5CeXRlcyhxdW90YUluQnl0ZXMpCiB7CiAgICAgQVNT
RVJUKCFSdW5Mb29wOjppc01haW4oKSk7CkBAIC0xMDAsNiArMTAyLDIxIEBAIGJvb2wgTG9jYWxT
dG9yYWdlRGF0YWJhc2U6Om9wZW5EYXRhYmFzZShTaG91bGRDcmVhdGVEYXRhYmFzZSBzaG91bGRD
cmVhdGVEYXRhYmFzCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgTG9jYWxTdG9yYWdlRGF0
YWJhc2U6OnN0YXJ0VHJhbnNhY3Rpb25JZk5lY2Vzc2FyeSgpCit7CisgICAgaWYgKCFtX3RyYW5z
YWN0aW9uKQorICAgICAgICBtX3RyYW5zYWN0aW9uID0gbWFrZVVuaXF1ZTxTUUxpdGVUcmFuc2Fj
dGlvbj4obV9kYXRhYmFzZSk7CisKKyAgICBpZiAobV90cmFuc2FjdGlvbi0+aW5Qcm9ncmVzcygp
KQorICAgICAgICByZXR1cm47CisKKyAgICBtX3RyYW5zYWN0aW9uLT5iZWdpbigpOworICAgIG1f
d29ya1F1ZXVlLT5kaXNwYXRjaEFmdGVyKHRyYW5zYWN0aW9uRHVyYXRpb24sIFt3ZWFrVGhpcyA9
IG1ha2VXZWFrUHRyKCp0aGlzKV0geworICAgICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAg
ICB3ZWFrVGhpcy0+bV90cmFuc2FjdGlvbi0+Y29tbWl0KCk7CisgICAgfSk7Cit9CisKIGJvb2wg
TG9jYWxTdG9yYWdlRGF0YWJhc2U6Om1pZ3JhdGVJdGVtVGFibGVJZk5lZWRlZCgpCiB7CiAgICAg
QVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7CkBAIC0xODQsNiArMjAxLDcgQEAgdm9pZCBMb2Nh
bFN0b3JhZ2VEYXRhYmFzZTo6cmVtb3ZlSXRlbShjb25zdCBTdHJpbmcmIGtleSwgU3RyaW5nJiBv
bGRWYWx1ZSkKICAgICBpZiAoIW1fZGF0YWJhc2UuaXNPcGVuKCkpCiAgICAgICAgIHJldHVybjsK
IAorICAgIHN0YXJ0VHJhbnNhY3Rpb25JZk5lY2Vzc2FyeSgpOwogICAgIG9sZFZhbHVlID0gaXRl
bShrZXkpOwogICAgIGlmIChvbGRWYWx1ZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJuOwpAQCAt
MjQ4LDYgKzI2Niw3IEBAIHZvaWQgTG9jYWxTdG9yYWdlRGF0YWJhc2U6OnNldEl0ZW0oY29uc3Qg
U3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUsIFN0cmluCiAgICAgaWYgKCFtX2RhdGFi
YXNlLmlzT3BlbigpKQogICAgICAgICByZXR1cm47CiAKKyAgICBzdGFydFRyYW5zYWN0aW9uSWZO
ZWNlc3NhcnkoKTsKICAgICBvbGRWYWx1ZSA9IGl0ZW0oa2V5KTsKIAogICAgIGF1dG8gaW5zZXJ0
U3RhdGVtZW50ID0gc2NvcGVkU3RhdGVtZW50KG1faW5zZXJ0U3RhdGVtZW50LCAiSU5TRVJUIElO
VE8gSXRlbVRhYmxlIFZBTFVFUyAoPywgPykiX3MpOwpAQCAtMjgwLDYgKzI5OSw3IEBAIGJvb2wg
TG9jYWxTdG9yYWdlRGF0YWJhc2U6OmNsZWFyKCkKICAgICBpZiAobV9pdGVtcyAmJiBtX2l0ZW1z
LT5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIHN0YXJ0VHJhbnNhY3Rp
b25JZk5lY2Vzc2FyeSgpOwogICAgIGF1dG8gY2xlYXJTdGF0ZW1lbnQgPSBzY29wZWRTdGF0ZW1l
bnQobV9jbGVhclN0YXRlbWVudCwgIkRFTEVURSBGUk9NIEl0ZW1UYWJsZSJfcyk7CiAgICAgaWYg
KCFjbGVhclN0YXRlbWVudCkgewogICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBwcmVwYXJl
IGNsZWFyIHN0YXRlbWVudCAtIGNhbm5vdCB3cml0ZSB0byBsb2NhbCBzdG9yYWdlIGRhdGFiYXNl
Iik7CkBAIC0zMTUsNiArMzM1LDggQEAgdm9pZCBMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6Y2xvc2Uo
KQogICAgIG1fZ2V0SXRlbXNTdGF0ZW1lbnQgPSBudWxscHRyOwogICAgIG1fZGVsZXRlSXRlbVN0
YXRlbWVudCA9IG51bGxwdHI7CiAgICAgbV9pdGVtcyA9IHN0ZDo6bnVsbG9wdDsKKyAgICBpZiAo
YXV0byB0cmFuc2FjdGlvbiA9IHN0ZDo6ZXhjaGFuZ2UobV90cmFuc2FjdGlvbiwgbnVsbHB0cikp
CisgICAgICAgIHRyYW5zYWN0aW9uLT5jb21taXQoKTsKIAogICAgIGlmIChtX2RhdGFiYXNlLmlz
T3BlbigpKQogICAgICAgICBtX2RhdGFiYXNlLmNsb3NlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJhc2UuaCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9Mb2NhbFN0b3JhZ2VEYXRh
YmFzZS5oCmluZGV4IDYzMTU1ZTBmYTM5MzIwMzc1ZWQxYmJjZDJlYzAzODNkYjU5ODk3ZTAuLjRj
M2FmYWQ4MGI0NDFiOTk2Y2U0NWE1ZTg4YjI4OGQ4ZmYxZjhiMDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9Mb2NhbFN0b3JhZ2VEYXRhYmFzZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9Mb2NhbFN0b3Jh
Z2VEYXRhYmFzZS5oCkBAIC0yNywxOCArMjcsMjEgQEAKIAogI2luY2x1ZGUgPFdlYkNvcmUvU1FM
aXRlRGF0YWJhc2UuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9X
ZWFrUHRyLmg+CisjaW5jbHVkZSA8d3RmL1dvcmtRdWV1ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBjbGFzcyBTUUxpdGVTdGF0ZW1lbnRBdXRvUmVzZXRTY29wZTsKK2NsYXNzIFNRTGl0ZVRy
YW5zYWN0aW9uOwogCiBzdHJ1Y3QgU2VjdXJpdHlPcmlnaW5EYXRhOwogfQogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAotY2xhc3MgTG9jYWxTdG9yYWdlRGF0YWJhc2UgOiBwdWJsaWMgUmVmQ291bnRl
ZDxMb2NhbFN0b3JhZ2VEYXRhYmFzZT4geworY2xhc3MgTG9jYWxTdG9yYWdlRGF0YWJhc2UgOiBw
dWJsaWMgUmVmQ291bnRlZDxMb2NhbFN0b3JhZ2VEYXRhYmFzZT4sIHB1YmxpYyBDYW5NYWtlV2Vh
a1B0cjxMb2NhbFN0b3JhZ2VEYXRhYmFzZT4gewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8TG9j
YWxTdG9yYWdlRGF0YWJhc2U+IGNyZWF0ZShTdHJpbmcmJiBkYXRhYmFzZVBhdGgsIHVuc2lnbmVk
IHF1b3RhSW5CeXRlcyk7CisgICAgc3RhdGljIFJlZjxMb2NhbFN0b3JhZ2VEYXRhYmFzZT4gY3Jl
YXRlKFJlZjxXb3JrUXVldWU+JiYsIFN0cmluZyYmIGRhdGFiYXNlUGF0aCwgdW5zaWduZWQgcXVv
dGFJbkJ5dGVzKTsKICAgICB+TG9jYWxTdG9yYWdlRGF0YWJhc2UoKTsKIAogICAgIEhhc2hNYXA8
U3RyaW5nLCBTdHJpbmc+IGl0ZW1zKCkgY29uc3Q7CkBAIC01NCwxMSArNTcsMTIgQEAgcHVibGlj
OgogICAgIHZvaWQgaGFuZGxlTG93TWVtb3J5V2FybmluZygpOwogCiBwcml2YXRlOgotICAgIExv
Y2FsU3RvcmFnZURhdGFiYXNlKFN0cmluZyYmIGRhdGFiYXNlUGF0aCwgdW5zaWduZWQgcXVvdGFJ
bkJ5dGVzKTsKKyAgICBMb2NhbFN0b3JhZ2VEYXRhYmFzZShSZWY8V29ya1F1ZXVlPiYmLCBTdHJp
bmcmJiBkYXRhYmFzZVBhdGgsIHVuc2lnbmVkIHF1b3RhSW5CeXRlcyk7CiAKICAgICBlbnVtIGNs
YXNzIFNob3VsZENyZWF0ZURhdGFiYXNlIDogYm9vbCB7IE5vLCBZZXMgfTsKICAgICBib29sIG9w
ZW5EYXRhYmFzZShTaG91bGRDcmVhdGVEYXRhYmFzZSk7CiAKKyAgICB2b2lkIHN0YXJ0VHJhbnNh
Y3Rpb25JZk5lY2Vzc2FyeSgpOwogICAgIGJvb2wgbWlncmF0ZUl0ZW1UYWJsZUlmTmVlZGVkKCk7
CiAgICAgYm9vbCBkYXRhYmFzZUlzRW1wdHkoKSBjb25zdDsKIApAQCAtNjYsOCArNzAsMTAgQEAg
cHJpdmF0ZToKIAogICAgIFdlYkNvcmU6OlNRTGl0ZVN0YXRlbWVudEF1dG9SZXNldFNjb3BlIHNj
b3BlZFN0YXRlbWVudChzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6U1FMaXRlU3RhdGVtZW50PiYs
IEFTQ0lJTGl0ZXJhbCBxdWVyeSkgY29uc3Q7CiAKKyAgICBSZWY8V29ya1F1ZXVlPiBtX3dvcmtR
dWV1ZTsKICAgICBTdHJpbmcgbV9kYXRhYmFzZVBhdGg7CiAgICAgbXV0YWJsZSBXZWJDb3JlOjpT
UUxpdGVEYXRhYmFzZSBtX2RhdGFiYXNlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpT
UUxpdGVUcmFuc2FjdGlvbj4gbV90cmFuc2FjdGlvbjsKICAgICBjb25zdCB1bnNpZ25lZCBtX3F1
b3RhSW5CeXRlcyB7IDAgfTsKICAgICBib29sIG1faXNDbG9zZWQgeyBmYWxzZSB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZUFy
ZWEuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VB
cmVhLmNwcAppbmRleCBlYTg0ODIzY2UyZmVmNTU2YThkYjk1NTczN2RkYjNjYjkxNGNmMTk4Li5l
NDc0ZTdjMmNlYzk3ZDg5MjUwYjQxMmZjMmJkNGVkZjhiZWFkNDU2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZUFyZWEuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdlQXJlYS5jcHAK
QEAgLTE3NSw3ICsxNzUsNyBAQCBMb2NhbFN0b3JhZ2VEYXRhYmFzZSYgU3RvcmFnZUFyZWE6OmVu
c3VyZURhdGFiYXNlKCkgY29uc3QKICAgICAvLyBXZSBvcGVuIHRoZSBkYXRhYmFzZSBoZXJlIGV2
ZW4gaWYgd2UndmUgYWxyZWFkeSBpbXBvcnRlZCBvdXIgaXRlbXMgdG8gZW5zdXJlIHRoYXQgdGhl
IGRhdGFiYXNlIGlzIG9wZW4gaWYgd2UgbmVlZCB0byB3cml0ZSB0byBpdC4KICAgICBpZiAoIW1f
bG9jYWxTdG9yYWdlRGF0YWJhc2UpIHsKICAgICAgICAgYXV0byogbG9jYWxTdG9yYWdlRGF0YWJh
c2VUcmFja2VyID0gbV9sb2NhbFN0b3JhZ2VOYW1lc3BhY2UtPnN0b3JhZ2VNYW5hZ2VyKCktPmxv
Y2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlcigpOwotICAgICAgICBtX2xvY2FsU3RvcmFnZURhdGFi
YXNlID0gTG9jYWxTdG9yYWdlRGF0YWJhc2U6OmNyZWF0ZShsb2NhbFN0b3JhZ2VEYXRhYmFzZVRy
YWNrZXItPmRhdGFiYXNlUGF0aChtX3NlY3VyaXR5T3JpZ2luKSwgbV9xdW90YUluQnl0ZXMpOwor
ICAgICAgICBtX2xvY2FsU3RvcmFnZURhdGFiYXNlID0gTG9jYWxTdG9yYWdlRGF0YWJhc2U6OmNy
ZWF0ZShtX3F1ZXVlLmNvcHlSZWYoKSwgbG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLT5kYXRh
YmFzZVBhdGgobV9zZWN1cml0eU9yaWdpbiksIG1fcXVvdGFJbkJ5dGVzKTsKICAgICAgICAgbV9s
b2NhbFN0b3JhZ2VEYXRhYmFzZS0+b3BlbklmRXhpc3RpbmcoKTsKICAgICB9CiAgICAgcmV0dXJu
ICptX2xvY2FsU3RvcmFnZURhdGFiYXNlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431234</attachid>
            <date>2021-06-11 15:08:38 -0700</date>
            <delta_ts>2021-06-11 15:56:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226938-20210611150837.patch</filename>
            <type>text/plain</type>
            <size>10066</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDAzMTZkNjcxMTAzZWVhZmZl
NGNiYmI2ZjBkMDE3OTE3YTQ2NWI3YTkuLjFiOWVjMTg4YjUyOGFkZGE4YTI3ZTNhYzEwYmYyZGMx
YmQyODQzODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjEtMDYtMTEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbV0syXSBCYXRjaCBsb2NhbCBzdG9y
YWdlIGRhdGFiYXNlIHdyaXRlcyB1c2luZyB0cmFuc2FjdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjkzOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IEdlb2ZmIEdhcmVuLgorCisgICAgICAgIEJhdGNoIGxvY2FsIHN0b3JhZ2Ugd3JpdGVzIHVz
aW5nIHRyYW5zYWN0aW9ucywgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZQorICAgICAgICBhbmQgcmVk
dWNlIGRpc2sgd3JpdGVzLiBJbiB0aGlzIHBhdGNoLCB3ZSB1c2UgYSBzaW1wbGUgdGltZS1iYXNl
ZAorICAgICAgICBhcHByb2FjaCB3aGVyZSB3ZSBiYXRjaCB0cmFuc2FjdGlvbnMgaGFwcGVuaW5n
IGluIHRoZSBzYW1lIDUwMG1zCisgICAgICAgIHBlcmlvZC4KKworICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL1dlYlN0b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6TG9j
YWxTdG9yYWdlRGF0YWJhc2U6OkxvY2FsU3RvcmFnZURhdGFiYXNlKToKKyAgICAgICAgKFdlYktp
dDo6TG9jYWxTdG9yYWdlRGF0YWJhc2U6OnN0YXJ0VHJhbnNhY3Rpb25JZk5lY2Vzc2FyeSk6Cisg
ICAgICAgIChXZWJLaXQ6OkxvY2FsU3RvcmFnZURhdGFiYXNlOjpyZW1vdmVJdGVtKToKKyAgICAg
ICAgKFdlYktpdDo6TG9jYWxTdG9yYWdlRGF0YWJhc2U6OnNldEl0ZW0pOgorICAgICAgICAoV2Vi
S2l0OjpMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6Y2xlYXIpOgorICAgICAgICAoV2ViS2l0OjpMb2Nh
bFN0b3JhZ2VEYXRhYmFzZTo6Y2xvc2UpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1dlYlN0
b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJhc2UuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9X
ZWJTdG9yYWdlL1N0b3JhZ2VBcmVhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWE6
OmVuc3VyZURhdGFiYXNlIGNvbnN0KToKKwogMjAyMS0wNi0xMSAgQWxleCBDaHJpc3RlbnNlbiAg
PGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIERvbid0IGluY2x1ZGUgY2VydGlm
aWNhdGUgaW5mbyBpbiBXZWJVUkxTY2hlbWVUYXNrOjpkaWRSZWNlaXZlUmVzcG9uc2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9Mb2NhbFN0b3Jh
Z2VEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2Uv
TG9jYWxTdG9yYWdlRGF0YWJhc2UuY3BwCmluZGV4IDEzN2ViYWIzODZhMmQ3Mzg5NDIwYjllNzE4
MTgzNDI5NTcwZjZjOWMuLjU2OWZkYjJkZjhmNTNlYWJjZjE5MTgxMjQzMGFiNmZkYTY4MDI1NDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9Mb2Nh
bFN0b3JhZ2VEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9X
ZWJTdG9yYWdlL0xvY2FsU3RvcmFnZURhdGFiYXNlLmNwcApAQCAtNDAsMTQgKzQwLDE2IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBjb25zdGV4cHIgYXV0byBnZXRJdGVtc1F1ZXJ5U3Ry
aW5nIHsgIlNFTEVDVCBrZXksIHZhbHVlIEZST00gSXRlbVRhYmxlIl9zIH07CiBjb25zdGV4cHIg
dW5zaWduZWQgbWF4aW11bVNpemVGb3JWYWx1ZXNLZXB0SW5NZW1vcnkgeyAxMDI0IH07IC8vIDEg
S0IKK2NvbnN0ZXhwciBTZWNvbmRzIHRyYW5zYWN0aW9uRHVyYXRpb24geyA1MDBfbXMgfTsKIAot
UmVmPExvY2FsU3RvcmFnZURhdGFiYXNlPiBMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6Y3JlYXRlKFN0
cmluZyYmIGRhdGFiYXNlUGF0aCwgdW5zaWduZWQgcXVvdGFJbkJ5dGVzKQorUmVmPExvY2FsU3Rv
cmFnZURhdGFiYXNlPiBMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6Y3JlYXRlKFJlZjxXb3JrUXVldWU+
JiYgd29ya1F1ZXVlLCBTdHJpbmcmJiBkYXRhYmFzZVBhdGgsIHVuc2lnbmVkIHF1b3RhSW5CeXRl
cykKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBMb2NhbFN0b3JhZ2VEYXRhYmFzZShXVEZN
b3ZlKGRhdGFiYXNlUGF0aCksIHF1b3RhSW5CeXRlcykpOworICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IExvY2FsU3RvcmFnZURhdGFiYXNlKFdURk1vdmUod29ya1F1ZXVlKSwgV1RGTW92ZShkYXRh
YmFzZVBhdGgpLCBxdW90YUluQnl0ZXMpKTsKIH0KIAotTG9jYWxTdG9yYWdlRGF0YWJhc2U6Okxv
Y2FsU3RvcmFnZURhdGFiYXNlKFN0cmluZyYmIGRhdGFiYXNlUGF0aCwgdW5zaWduZWQgcXVvdGFJ
bkJ5dGVzKQotICAgIDogbV9kYXRhYmFzZVBhdGgoV1RGTW92ZShkYXRhYmFzZVBhdGgpKQorTG9j
YWxTdG9yYWdlRGF0YWJhc2U6OkxvY2FsU3RvcmFnZURhdGFiYXNlKFJlZjxXb3JrUXVldWU+JiYg
d29ya1F1ZXVlLCBTdHJpbmcmJiBkYXRhYmFzZVBhdGgsIHVuc2lnbmVkIHF1b3RhSW5CeXRlcykK
KyAgICA6IG1fd29ya1F1ZXVlKFdURk1vdmUod29ya1F1ZXVlKSkKKyAgICAsIG1fZGF0YWJhc2VQ
YXRoKFdURk1vdmUoZGF0YWJhc2VQYXRoKSkKICAgICAsIG1fcXVvdGFJbkJ5dGVzKHF1b3RhSW5C
eXRlcykKIHsKICAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKQEAgLTEwMCw2ICsxMDIs
MjEgQEAgYm9vbCBMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6b3BlbkRhdGFiYXNlKFNob3VsZENyZWF0
ZURhdGFiYXNlIHNob3VsZENyZWF0ZURhdGFiYXMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9p
ZCBMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6c3RhcnRUcmFuc2FjdGlvbklmTmVjZXNzYXJ5KCkKK3sK
KyAgICBpZiAoIW1fdHJhbnNhY3Rpb24pCisgICAgICAgIG1fdHJhbnNhY3Rpb24gPSBtYWtlVW5p
cXVlPFNRTGl0ZVRyYW5zYWN0aW9uPihtX2RhdGFiYXNlKTsKKworICAgIGlmIChtX3RyYW5zYWN0
aW9uLT5pblByb2dyZXNzKCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fdHJhbnNhY3Rpb24t
PmJlZ2luKCk7CisgICAgbV93b3JrUXVldWUtPmRpc3BhdGNoQWZ0ZXIodHJhbnNhY3Rpb25EdXJh
dGlvbiwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpXSB7CisgICAgICAgIGlmICh3ZWFr
VGhpcykKKyAgICAgICAgICAgIHdlYWtUaGlzLT5tX3RyYW5zYWN0aW9uLT5jb21taXQoKTsKKyAg
ICB9KTsKK30KKwogYm9vbCBMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6bWlncmF0ZUl0ZW1UYWJsZUlm
TmVlZGVkKCkKIHsKICAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKQEAgLTE4NCw2ICsy
MDEsNyBAQCB2b2lkIExvY2FsU3RvcmFnZURhdGFiYXNlOjpyZW1vdmVJdGVtKGNvbnN0IFN0cmlu
ZyYga2V5LCBTdHJpbmcmIG9sZFZhbHVlKQogICAgIGlmICghbV9kYXRhYmFzZS5pc09wZW4oKSkK
ICAgICAgICAgcmV0dXJuOwogCisgICAgc3RhcnRUcmFuc2FjdGlvbklmTmVjZXNzYXJ5KCk7CiAg
ICAgb2xkVmFsdWUgPSBpdGVtKGtleSk7CiAgICAgaWYgKG9sZFZhbHVlLmlzTnVsbCgpKQogICAg
ICAgICByZXR1cm47CkBAIC0yNDgsNiArMjY2LDcgQEAgdm9pZCBMb2NhbFN0b3JhZ2VEYXRhYmFz
ZTo6c2V0SXRlbShjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgU3RyaW4K
ICAgICBpZiAoIW1fZGF0YWJhc2UuaXNPcGVuKCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIHN0
YXJ0VHJhbnNhY3Rpb25JZk5lY2Vzc2FyeSgpOwogICAgIG9sZFZhbHVlID0gaXRlbShrZXkpOwog
CiAgICAgYXV0byBpbnNlcnRTdGF0ZW1lbnQgPSBzY29wZWRTdGF0ZW1lbnQobV9pbnNlcnRTdGF0
ZW1lbnQsICJJTlNFUlQgSU5UTyBJdGVtVGFibGUgVkFMVUVTICg/LCA/KSJfcyk7CkBAIC0yODAs
NiArMjk5LDcgQEAgYm9vbCBMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6Y2xlYXIoKQogICAgIGlmICht
X2l0ZW1zICYmIG1faXRlbXMtPmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisg
ICAgc3RhcnRUcmFuc2FjdGlvbklmTmVjZXNzYXJ5KCk7CiAgICAgYXV0byBjbGVhclN0YXRlbWVu
dCA9IHNjb3BlZFN0YXRlbWVudChtX2NsZWFyU3RhdGVtZW50LCAiREVMRVRFIEZST00gSXRlbVRh
YmxlIl9zKTsKICAgICBpZiAoIWNsZWFyU3RhdGVtZW50KSB7CiAgICAgICAgIExPR19FUlJPUigi
RmFpbGVkIHRvIHByZXBhcmUgY2xlYXIgc3RhdGVtZW50IC0gY2Fubm90IHdyaXRlIHRvIGxvY2Fs
IHN0b3JhZ2UgZGF0YWJhc2UiKTsKQEAgLTMwMCw2ICszMjAsMTIgQEAgYm9vbCBMb2NhbFN0b3Jh
Z2VEYXRhYmFzZTo6Y2xlYXIoKQogICAgIHJldHVybiBtX2RhdGFiYXNlLmxhc3RDaGFuZ2VzKCkg
PiAwOwogfQogCit2b2lkIExvY2FsU3RvcmFnZURhdGFiYXNlOjpmbHVzaFRvRGlzaygpCit7Cisg
ICAgaWYgKG1fdHJhbnNhY3Rpb24pCisgICAgICAgIG1fdHJhbnNhY3Rpb24tPmNvbW1pdCgpOwor
fQorCiB2b2lkIExvY2FsU3RvcmFnZURhdGFiYXNlOjpjbG9zZSgpCiB7CiAgICAgQVNTRVJUKCFS
dW5Mb29wOjppc01haW4oKSk7CkBAIC0zMTUsNiArMzQxLDggQEAgdm9pZCBMb2NhbFN0b3JhZ2VE
YXRhYmFzZTo6Y2xvc2UoKQogICAgIG1fZ2V0SXRlbXNTdGF0ZW1lbnQgPSBudWxscHRyOwogICAg
IG1fZGVsZXRlSXRlbVN0YXRlbWVudCA9IG51bGxwdHI7CiAgICAgbV9pdGVtcyA9IHN0ZDo6bnVs
bG9wdDsKKyAgICBpZiAoYXV0byB0cmFuc2FjdGlvbiA9IHN0ZDo6ZXhjaGFuZ2UobV90cmFuc2Fj
dGlvbiwgbnVsbHB0cikpCisgICAgICAgIHRyYW5zYWN0aW9uLT5jb21taXQoKTsKIAogICAgIGlm
IChtX2RhdGFiYXNlLmlzT3BlbigpKQogICAgICAgICBtX2RhdGFiYXNlLmNsb3NlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvTG9jYWxTdG9y
YWdlRGF0YWJhc2UuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9M
b2NhbFN0b3JhZ2VEYXRhYmFzZS5oCmluZGV4IDYzMTU1ZTBmYTM5MzIwMzc1ZWQxYmJjZDJlYzAz
ODNkYjU5ODk3ZTAuLjZkNjY0NjFlODA1MjQ4ZWRjMjEzNGFkMTA1NmI1YmViOGM5N2RiZDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9Mb2NhbFN0
b3JhZ2VEYXRhYmFzZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3Rv
cmFnZS9Mb2NhbFN0b3JhZ2VEYXRhYmFzZS5oCkBAIC0yNywxOCArMjcsMjEgQEAKIAogI2luY2x1
ZGUgPFdlYkNvcmUvU1FMaXRlRGF0YWJhc2UuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgor
I2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisjaW5jbHVkZSA8d3RmL1dvcmtRdWV1ZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBTUUxpdGVTdGF0ZW1lbnRBdXRvUmVzZXRTY29wZTsK
K2NsYXNzIFNRTGl0ZVRyYW5zYWN0aW9uOwogCiBzdHJ1Y3QgU2VjdXJpdHlPcmlnaW5EYXRhOwog
fQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgTG9jYWxTdG9yYWdlRGF0YWJhc2UgOiBw
dWJsaWMgUmVmQ291bnRlZDxMb2NhbFN0b3JhZ2VEYXRhYmFzZT4geworY2xhc3MgTG9jYWxTdG9y
YWdlRGF0YWJhc2UgOiBwdWJsaWMgUmVmQ291bnRlZDxMb2NhbFN0b3JhZ2VEYXRhYmFzZT4sIHB1
YmxpYyBDYW5NYWtlV2Vha1B0cjxMb2NhbFN0b3JhZ2VEYXRhYmFzZT4gewogcHVibGljOgotICAg
IHN0YXRpYyBSZWY8TG9jYWxTdG9yYWdlRGF0YWJhc2U+IGNyZWF0ZShTdHJpbmcmJiBkYXRhYmFz
ZVBhdGgsIHVuc2lnbmVkIHF1b3RhSW5CeXRlcyk7CisgICAgc3RhdGljIFJlZjxMb2NhbFN0b3Jh
Z2VEYXRhYmFzZT4gY3JlYXRlKFJlZjxXb3JrUXVldWU+JiYsIFN0cmluZyYmIGRhdGFiYXNlUGF0
aCwgdW5zaWduZWQgcXVvdGFJbkJ5dGVzKTsKICAgICB+TG9jYWxTdG9yYWdlRGF0YWJhc2UoKTsK
IAogICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IGl0ZW1zKCkgY29uc3Q7CkBAIC01MSwxNCAr
NTQsMTYgQEAgcHVibGljOgogICAgIC8vIFdpbGwgYmxvY2sgdW50aWwgYWxsIHBlbmRpbmcgY2hh
bmdlcyBoYXZlIGJlZW4gd3JpdHRlbiB0byBkaXNrLgogICAgIHZvaWQgY2xvc2UoKTsKIAorICAg
IHZvaWQgZmx1c2hUb0Rpc2soKTsKICAgICB2b2lkIGhhbmRsZUxvd01lbW9yeVdhcm5pbmcoKTsK
IAogcHJpdmF0ZToKLSAgICBMb2NhbFN0b3JhZ2VEYXRhYmFzZShTdHJpbmcmJiBkYXRhYmFzZVBh
dGgsIHVuc2lnbmVkIHF1b3RhSW5CeXRlcyk7CisgICAgTG9jYWxTdG9yYWdlRGF0YWJhc2UoUmVm
PFdvcmtRdWV1ZT4mJiwgU3RyaW5nJiYgZGF0YWJhc2VQYXRoLCB1bnNpZ25lZCBxdW90YUluQnl0
ZXMpOwogCiAgICAgZW51bSBjbGFzcyBTaG91bGRDcmVhdGVEYXRhYmFzZSA6IGJvb2wgeyBObywg
WWVzIH07CiAgICAgYm9vbCBvcGVuRGF0YWJhc2UoU2hvdWxkQ3JlYXRlRGF0YWJhc2UpOwogCisg
ICAgdm9pZCBzdGFydFRyYW5zYWN0aW9uSWZOZWNlc3NhcnkoKTsKICAgICBib29sIG1pZ3JhdGVJ
dGVtVGFibGVJZk5lZWRlZCgpOwogICAgIGJvb2wgZGF0YWJhc2VJc0VtcHR5KCkgY29uc3Q7CiAK
QEAgLTY2LDggKzcxLDEwIEBAIHByaXZhdGU6CiAKICAgICBXZWJDb3JlOjpTUUxpdGVTdGF0ZW1l
bnRBdXRvUmVzZXRTY29wZSBzY29wZWRTdGF0ZW1lbnQoc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6
OlNRTGl0ZVN0YXRlbWVudD4mLCBBU0NJSUxpdGVyYWwgcXVlcnkpIGNvbnN0OwogCisgICAgUmVm
PFdvcmtRdWV1ZT4gbV93b3JrUXVldWU7CiAgICAgU3RyaW5nIG1fZGF0YWJhc2VQYXRoOwogICAg
IG11dGFibGUgV2ViQ29yZTo6U1FMaXRlRGF0YWJhc2UgbV9kYXRhYmFzZTsKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8V2ViQ29yZTo6U1FMaXRlVHJhbnNhY3Rpb24+IG1fdHJhbnNhY3Rpb247CiAgICAg
Y29uc3QgdW5zaWduZWQgbV9xdW90YUluQnl0ZXMgeyAwIH07CiAgICAgYm9vbCBtX2lzQ2xvc2Vk
IHsgZmFsc2UgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9X
ZWJTdG9yYWdlL1N0b3JhZ2VBcmVhLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
V2ViU3RvcmFnZS9TdG9yYWdlQXJlYS5jcHAKaW5kZXggZWE4NDgyM2NlMmZlZjU1NmE4ZGI5NTU3
MzdkZGIzY2I5MTRjZjE5OC4uODMxOTRiMDVmYjRlZTExNzc3ZGRmMTBhZWQyNzhmNjBjMGI5OTgy
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9XZWJTdG9yYWdlL1N0
b3JhZ2VBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3Jh
Z2UvU3RvcmFnZUFyZWEuY3BwCkBAIC0xNzUsNyArMTc1LDcgQEAgTG9jYWxTdG9yYWdlRGF0YWJh
c2UmIFN0b3JhZ2VBcmVhOjplbnN1cmVEYXRhYmFzZSgpIGNvbnN0CiAgICAgLy8gV2Ugb3BlbiB0
aGUgZGF0YWJhc2UgaGVyZSBldmVuIGlmIHdlJ3ZlIGFscmVhZHkgaW1wb3J0ZWQgb3VyIGl0ZW1z
IHRvIGVuc3VyZSB0aGF0IHRoZSBkYXRhYmFzZSBpcyBvcGVuIGlmIHdlIG5lZWQgdG8gd3JpdGUg
dG8gaXQuCiAgICAgaWYgKCFtX2xvY2FsU3RvcmFnZURhdGFiYXNlKSB7CiAgICAgICAgIGF1dG8q
IGxvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlciA9IG1fbG9jYWxTdG9yYWdlTmFtZXNwYWNlLT5z
dG9yYWdlTWFuYWdlcigpLT5sb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIoKTsKLSAgICAgICAg
bV9sb2NhbFN0b3JhZ2VEYXRhYmFzZSA9IExvY2FsU3RvcmFnZURhdGFiYXNlOjpjcmVhdGUobG9j
YWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLT5kYXRhYmFzZVBhdGgobV9zZWN1cml0eU9yaWdpbiks
IG1fcXVvdGFJbkJ5dGVzKTsKKyAgICAgICAgbV9sb2NhbFN0b3JhZ2VEYXRhYmFzZSA9IExvY2Fs
U3RvcmFnZURhdGFiYXNlOjpjcmVhdGUobV9xdWV1ZS5jb3B5UmVmKCksIGxvY2FsU3RvcmFnZURh
dGFiYXNlVHJhY2tlci0+ZGF0YWJhc2VQYXRoKG1fc2VjdXJpdHlPcmlnaW4pLCBtX3F1b3RhSW5C
eXRlcyk7CiAgICAgICAgIG1fbG9jYWxTdG9yYWdlRGF0YWJhc2UtPm9wZW5JZkV4aXN0aW5nKCk7
CiAgICAgfQogICAgIHJldHVybiAqbV9sb2NhbFN0b3JhZ2VEYXRhYmFzZTsKQEAgLTE5OSw2ICsx
OTksMTIgQEAgdm9pZCBTdG9yYWdlQXJlYTo6Y2xvc2UoKQogICAgIG1fbG9jYWxTdG9yYWdlRGF0
YWJhc2UtPmNsb3NlKCk7CiB9CiAKK3ZvaWQgU3RvcmFnZUFyZWE6OnN5bmNUb0RhdGFiYXNlKCkK
K3sKKyAgICBpZiAobV9sb2NhbFN0b3JhZ2VEYXRhYmFzZSkKKyAgICAgICAgbV9sb2NhbFN0b3Jh
Z2VEYXRhYmFzZS0+Zmx1c2hUb0Rpc2soKTsKK30KKwogdm9pZCBTdG9yYWdlQXJlYTo6aGFuZGxl
TG93TWVtb3J5V2FybmluZygpCiB7CiAgICAgaWYgKG1fbG9jYWxTdG9yYWdlRGF0YWJhc2UpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFn
ZUFyZWEuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdl
QXJlYS5oCmluZGV4IGI5Y2NhZTM0ODE1Nzg1MTBlZjhiNGFiZGY5NWI0ZTA1MWI4OGI4ZDAuLjlj
NzE1NzAyZGJlNjliN2YzM2M3YzMxYmU0NTc3OWIzMmVhOTZhMzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdlQXJlYS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdlQXJlYS5oCkBAIC03
MSw2ICs3MSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xvc2UoKTsKIAorICAgIHZvaWQgc3lu
Y1RvRGF0YWJhc2UoKTsKICAgICB2b2lkIGhhbmRsZUxvd01lbW9yeVdhcm5pbmcoKTsKIAogcHJp
dmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFn
ZS9TdG9yYWdlTWFuYWdlclNldC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dl
YlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuY3BwCmluZGV4IDQ2NTU0ODdhNmVjZDMwMGM0MTNj
MWFhNTYxM2JkZmZiNDhjZThkYTYuLjYxZDBiM2M3N2NlNWM4ZGNkNzQxYzdkMDRhZDQxNDVmNmI0
N2Y2NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFn
ZS9TdG9yYWdlTWFuYWdlclNldC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9XZWJTdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyU2V0LmNwcApAQCAtMTU1LDcgKzE1NSwxNiBAQCB2
b2lkIFN0b3JhZ2VNYW5hZ2VyU2V0Ojp3YWl0VW50aWxTeW5jaW5nTG9jYWxTdG9yYWdlRmluaXNo
ZWQoKQogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAKLSAgICBtX3F1ZXVlLT5k
aXNwYXRjaFN5bmMoW10geyB9KTsKKyAgICBCaW5hcnlTZW1hcGhvcmUgc2VtYXBob3JlOworICAg
IG1fcXVldWUtPmRpc3BhdGNoKFt0aGlzLCAmc2VtYXBob3JlXSB7CisgICAgICAgIGZvciAoY29u
c3QgYXV0byYgc3RvcmFnZUFyZWEgOiBtX3N0b3JhZ2VBcmVhcy52YWx1ZXMoKSkgeworICAgICAg
ICAgICAgQVNTRVJUKHN0b3JhZ2VBcmVhKTsKKyAgICAgICAgICAgIGlmIChzdG9yYWdlQXJlYSkK
KyAgICAgICAgICAgICAgICBzdG9yYWdlQXJlYS0+c3luY1RvRGF0YWJhc2UoKTsKKyAgICAgICAg
fQorICAgICAgICBzZW1hcGhvcmUuc2lnbmFsKCk7CisgICAgfSk7CisgICAgc2VtYXBob3JlLndh
aXQoKTsKIH0KIAogdm9pZCBTdG9yYWdlTWFuYWdlclNldDo6c3VzcGVuZChDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>