<?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>223240</bug_id>
          
          <creation_ts>2021-03-15 22:25:10 -0700</creation_ts>
          <short_desc>Allow UniqueRef to be the value of a HashMap</short_desc>
          <delta_ts>2021-03-17 10:35:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1739838</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-03-15 22:25:10 -0700</bug_when>
    <thetext>Allow UniqueRef to be the value of a HashMap</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739839</commentid>
    <comment_count>1</comment_count>
      <attachid>423298</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-03-15 22:28:32 -0700</bug_when>
    <thetext>Created attachment 423298
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740771</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-03-17 10:28:08 -0700</bug_when>
    <thetext>r274568</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423298</attachid>
            <date>2021-03-15 22:28:32 -0700</date>
            <delta_ts>2021-03-17 10:35:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223240-20210315222831.patch</filename>
            <type>text/plain</type>
            <size>21929</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDYwZmM2OWM1NTQ3NDAzZTEwZmVkN2Nk
MWJkMmU3ZmMyOGYwN2Y1NGEuLmU4ZjBjY2JiNzQ1MDhjYjZhYWZjMjY0MGU1NTg2YjcwM2IwYjVi
OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMDMtMTUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBBbGxvdyBVbmlxdWVSZWYgdG8gYmUg
dGhlIHZhbHVlIG9mIGEgSGFzaE1hcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIzMjQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBoYXMgdGhlIGFkdmFudGFnZSBvdmVyIHN0ZDo6dW5pcXVlX3B0
ciBvZiBuZXZlciBwcm92aWRpbmcgYSBudWxsIHZhbHVlIHdoZW4geW91IGl0ZXJhdGUgSGFzaE1h
cC52YWx1ZXMKKworICAgICAgICAqIHd0Zi9IYXNoSXRlcmF0b3JzLmg6CisgICAgICAgIChXVEY6
Okhhc2hUYWJsZUNvbnN0VmFsdWVzSXRlcmF0b3I6OmdldCBjb25zdCk6CisgICAgICAgICogd3Rm
L0hhc2hUcmFpdHMuaDoKKyAgICAgICAgKFdURjo6SGFzaFRyYWl0czxVbmlxdWVSZWY8VD4+Ojpl
bXB0eVZhbHVlKToKKyAgICAgICAgKFdURjo6SGFzaFRyYWl0czxVbmlxdWVSZWY8VD4+Ojpjb25z
dHJ1Y3REZWxldGVkVmFsdWUpOgorICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFVuaXF1ZVJlZjxU
Pj46OmlzRGVsZXRlZFZhbHVlKToKKyAgICAgICAgKFdURjo6SGFzaFRyYWl0czxVbmlxdWVSZWY8
VD4+OjpwZWVrKToKKyAgICAgICAgKFdURjo6SGFzaFRyYWl0czxVbmlxdWVSZWY8VD4+Ojp0YWtl
KToKKwogMjAyMS0wMy0xNSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAg
IFR1cm4gQ1NTIGFzcGVjdC1yYXRpbyBvbiBieSBkZWZhdWx0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkzMmRiYTM1
MWZhYTkyNzU0M2YwYmMxNTc0NmU0MDQ4MmVmYmY0MzcuLjI5ZDlkNjQzYTI1OTc3ZGI0ZGNlMjli
NjE3Y2EwODZkYTA0YmJlYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMDMtMTUg
IEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBB
bGxvdyBVbmlxdWVSZWYgdG8gYmUgdGhlIHZhbHVlIG9mIGEgSGFzaE1hcAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMjQwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFz
c2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6OnBvcHVsYXRlRnJv
bU1lbW9yeVN0b3JlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OnBydW5l
UmVzb3VyY2VzKToKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9y
eVN0b3JlOjphZ2dyZWdhdGVkVGhpcmRQYXJ0eURhdGEgY29uc3QpOgorICAgICAgICAoV2ViS2l0
OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU6OmNsYXNzaWZ5UHJldmFsZW50UmVz
b3VyY2VzKToKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0
b3JlOjplbnN1cmVSZXNvdXJjZVN0YXRpc3RpY3NGb3JSZWdpc3RyYWJsZURvbWFpbik6CisgICAg
ICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZTo6bWVyZ2VTdGF0
aXN0aWNzKToKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0
b3JlOjp1cGRhdGVDb29raWVCbG9ja2luZyk6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NNZW1vcnlTdG9yZTo6cHJvY2Vzc1N0YXRpc3RpY3MgY29uc3QpOgorICAgICAg
ICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU6OnJlZ2lzdHJhYmxl
RG9tYWluc1RvRGVsZXRlT3JSZXN0cmljdFdlYnNpdGVEYXRhRm9yKToKKyAgICAgICAgKFdlYktp
dDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlOjpwcnVuZVN0YXRpc3RpY3NJZk5l
ZWRlZCk6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9y
ZTo6aW5zZXJ0RXhwaXJlZFN0YXRpc3RpY0ZvclRlc3RpbmcpOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmg6Cisg
ICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6YWRkQ2hhbGxlbmdlVG9D
aGFsbGVuZ2VNYXApOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OmRp
ZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk6CisgICAgICAgICogU2hhcmVkL0F1dGhl
bnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oOgorCiAyMDIxLTAzLTE1ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBFbmZvcmNlIHN1YmNvbW1h
bmQgZmlsdGVyaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9IYXNoSXRlcmF0b3JzLmgg
Yi9Tb3VyY2UvV1RGL3d0Zi9IYXNoSXRlcmF0b3JzLmgKaW5kZXggODVjNjU0ZWQzOTM2MzUyZDVj
ZGQ4MjU4YTVkYmI1N2QyZmMzZTc1My4uYTdiYWNiMmVkY2JiNGM3M2Y4MDZhZWM2MGMyMGQ3OTZi
ODUyNDkwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvSGFzaEl0ZXJhdG9ycy5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL0hhc2hJdGVyYXRvcnMuaApAQCAtMTE1LDcgKzExNSw3IEBAIG5hbWVz
cGFjZSBXVEYgewogICAgIHB1YmxpYzoKICAgICAgICAgSGFzaFRhYmxlQ29uc3RWYWx1ZXNJdGVy
YXRvcihjb25zdCBDb25zdEl0ZXJhdG9yJiBpbXBsKSA6IG1faW1wbChpbXBsKSB7fQogICAgICAg
ICAKLSAgICAgICAgY29uc3QgTWFwcGVkVHlwZSogZ2V0KCkgY29uc3QgeyByZXR1cm4gJihtX2lt
cGwuZ2V0KCktPnZhbHVlKTsgfQorICAgICAgICBjb25zdCBNYXBwZWRUeXBlKiBnZXQoKSBjb25z
dCB7IHJldHVybiBzdGQ6OmFkZHJlc3NvZihtX2ltcGwuZ2V0KCktPnZhbHVlKTsgfQogICAgICAg
ICBjb25zdCBNYXBwZWRUeXBlJiBvcGVyYXRvciooKSBjb25zdCB7IHJldHVybiAqZ2V0KCk7IH0K
ICAgICAgICAgY29uc3QgTWFwcGVkVHlwZSogb3BlcmF0b3ItPigpIGNvbnN0IHsgcmV0dXJuIGdl
dCgpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0hhc2hUcmFpdHMuaCBiL1NvdXJj
ZS9XVEYvd3RmL0hhc2hUcmFpdHMuaAppbmRleCA5ODM5ZWYyYTQzYmNkNjM4ZTJjMTFjZTZkMzY4
YzhlYzNkNjdkZmRhLi42YTdiNGVjZTlhYWVhNmE5YWVjMjU2NWI4MDEwYTRhMWE3YTE0OWU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9IYXNoVHJhaXRzLmgKKysrIGIvU291cmNlL1dURi93
dGYvSGFzaFRyYWl0cy5oCkBAIC0xNzksNiArMTc5LDIzIEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQs
IHR5cGVuYW1lIERlbGV0ZXI+IHN0cnVjdCBIYXNoVHJhaXRzPHN0ZDo6dW5pcXVlX3B0cjxULCBE
ZWxlCiAgICAgfQogfTsKIAordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEhhc2hUcmFpdHM8
VW5pcXVlUmVmPFQ+PiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxVbmlxdWVSZWY8VD4+IHsKKyAg
ICB0eXBlZGVmIHN0ZDo6bnVsbHB0cl90IEVtcHR5VmFsdWVUeXBlOworICAgIHN0YXRpYyBFbXB0
eVZhbHVlVHlwZSBlbXB0eVZhbHVlKCkgeyByZXR1cm4gbnVsbHB0cjsgfQorCisgICAgc3RhdGlj
IHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFVuaXF1ZVJlZjxUPiYgc2xvdCkgeyBuZXcgKE5v
dE51bGwsIHN0ZDo6YWRkcmVzc29mKHNsb3QpKSBVbmlxdWVSZWY8VD4geyByZWludGVycHJldF9j
YXN0PFQqPigtMSkgfTsgfQorICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IFVu
aXF1ZVJlZjxUPiYgdmFsdWUpIHsgcmV0dXJuIHZhbHVlLmdldCgpID09IHJlaW50ZXJwcmV0X2Nh
c3Q8VCo+KC0xKTsgfQorCisgICAgdHlwZWRlZiBUKiBQZWVrVHlwZTsKKyAgICBzdGF0aWMgY29u
c3QgVCogcGVlayhjb25zdCBVbmlxdWVSZWY8VD4mIHZhbHVlKSB7IHJldHVybiAmdmFsdWUuZ2V0
KCk7IH0KKyAgICBzdGF0aWMgVCogcGVlayhVbmlxdWVSZWY8VD4mIHZhbHVlKSB7IHJldHVybiAm
dmFsdWUuZ2V0KCk7IH0KKyAgICBzdGF0aWMgVCogcGVlayhzdGQ6Om51bGxwdHJfdCkgeyByZXR1
cm4gbnVsbHB0cjsgfQorCisgICAgdXNpbmcgVGFrZVR5cGUgPSBzdGQ6OnVuaXF1ZV9wdHI8VD47
CisgICAgc3RhdGljIFRha2VUeXBlIHRha2UoVW5pcXVlUmVmPFQ+JiYgdmFsdWUpIHsgcmV0dXJu
IHZhbHVlLm1vdmVUb1VuaXF1ZVB0cigpOyB9CisgICAgc3RhdGljIFRha2VUeXBlIHRha2Uoc3Rk
OjpudWxscHRyX3QpIHsgcmV0dXJuIG51bGxwdHI7IH0KK307CisKIHRlbXBsYXRlPHR5cGVuYW1l
IFA+IHN0cnVjdCBIYXNoVHJhaXRzPFJlZlB0cjxQPj4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8
UmVmUHRyPFA+PiB7CiAgICAgc3RhdGljIFAqIGVtcHR5VmFsdWUoKSB7IHJldHVybiBudWxscHRy
OyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmll
ci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNl
U3RvcmUuY3BwCmluZGV4IDY0ZDQ2ZjkxNGIzMzRiYzdmOWIzNjA4ZTFlYjBlOGVlZGIyMmRhNTcu
LmQyMzQ5MTY0MjE3OWM5OWE1NjY2ZTZjODM5NzViNDcyOTI3YTU0ZjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRGF0YWJhc2VTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9D
bGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcApAQCAtOTQz
LDcgKzk0Myw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6OnBv
cHVsYXRlRnJvbU1lbW9yeVN0b3JlKGNvbnN0IFJlc291cmNlCiAKICAgICBhdXRvJiBzdGF0aXN0
aWNzTWFwID0gbWVtb3J5U3RvcmUuZGF0YSgpOwogICAgIGZvciAoY29uc3QgYXV0byYgc3RhdGlz
dGljIDogc3RhdGlzdGljc01hcC52YWx1ZXMoKSkgewotICAgICAgICBhdXRvIHJlc3VsdCA9IGlu
c2VydE9ic2VydmVkRG9tYWluKCpzdGF0aXN0aWMpOworICAgICAgICBhdXRvIHJlc3VsdCA9IGlu
c2VydE9ic2VydmVkRG9tYWluKHN0YXRpc3RpYyk7CiAgICAgICAgIGlmICghcmVzdWx0KSB7CiAg
ICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKG1fc2Vzc2lvbklELCAiJXAg
LSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6cG9wdWxhdGVGcm9tTWVtb3J5
U3RvcmUgaW5zZXJ0T2JzZXJ2ZWREb21haW4gZmFpbGVkIHRvIGNvbXBsZXRlLCBlcnJvciBtZXNz
YWdlOiAle3ByaXZhdGV9cyIsIHRoaXMsIG1fZGF0YWJhc2UubGFzdEVycm9yTXNnKCkpOwogICAg
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC05NTQsNyArOTU0LDcgQEAgdm9pZCBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6cG9wdWxhdGVGcm9tTWVtb3J5U3Rv
cmUoY29uc3QgUmVzb3VyY2UKICAgICAvLyBNYWtlIGEgc2VwYXJhdGUgcGFzcyBmb3IgaW50ZXIt
ZG9tYWluIHJlbGF0aW9uc2hpcHMgc28gd2UKICAgICAvLyBjYW4gcmVmZXIgdG8gdGhlIE9ic2Vy
dmVkRG9tYWluIHRhYmxlIGVudHJpZXMKICAgICBmb3IgKGF1dG8mIHN0YXRpc3RpYyA6IHN0YXRp
c3RpY3NNYXAudmFsdWVzKCkpCi0gICAgICAgIGluc2VydERvbWFpblJlbGF0aW9uc2hpcHMoKnN0
YXRpc3RpYyk7CisgICAgICAgIGluc2VydERvbWFpblJlbGF0aW9uc2hpcHMoc3RhdGlzdGljKTsK
IH0KIAogdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6bWVyZ2UoV2Vi
Q29yZTo6U1FMaXRlU3RhdGVtZW50KiBjdXJyZW50LCBjb25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzJiBvdGhlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xh
c3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuY3BwIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1v
cnlTdG9yZS5jcHAKaW5kZXggZTM0NzdlYzNkNDEyYTUwYzE3OWJkMjdmOGVmZmIwOTc0OTE4Y2Jl
ZC4uMDE4NGQyYzhlZjE4YWNiNzg5YTgwZDZjNDk3MTc4MTM0NGI0YTUxMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NNZW1vcnlTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9D
bGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5jcHAKQEAgLTU3LDcg
KzU3LDcgQEAgc3RydWN0IFN0YXRpc3RpY3NMYXN0U2VlbiB7CiAgICAgV2FsbFRpbWUgbGFzdFNl
ZW47CiB9OwogCi1zdGF0aWMgdm9pZCBwcnVuZVJlc291cmNlcyhIYXNoTWFwPFJlZ2lzdHJhYmxl
RG9tYWluLCBzdGQ6OnVuaXF1ZV9wdHI8UmVzb3VyY2VMb2FkU3RhdGlzdGljcz4+JiBzdGF0aXN0
aWNzTWFwLCBWZWN0b3I8U3RhdGlzdGljc0xhc3RTZWVuPiYgc3RhdGlzdGljc1RvUHJ1bmUsIHNp
emVfdCYgbnVtYmVyT2ZFbnRyaWVzVG9QcnVuZSkKK3N0YXRpYyB2b2lkIHBydW5lUmVzb3VyY2Vz
KEhhc2hNYXA8UmVnaXN0cmFibGVEb21haW4sIFVuaXF1ZVJlZjxSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzPj4mIHN0YXRpc3RpY3NNYXAsIFZlY3RvcjxTdGF0aXN0aWNzTGFzdFNlZW4+JiBzdGF0aXN0
aWNzVG9QcnVuZSwgc2l6ZV90JiBudW1iZXJPZkVudHJpZXNUb1BydW5lKQogewogICAgIGlmIChz
dGF0aXN0aWNzVG9QcnVuZS5zaXplKCkgPiBudW1iZXJPZkVudHJpZXNUb1BydW5lKSB7CiAgICAg
ICAgIHN0ZDo6c29ydChzdGF0aXN0aWNzVG9QcnVuZS5iZWdpbigpLCBzdGF0aXN0aWNzVG9QcnVu
ZS5lbmQoKSwgW10oY29uc3QgU3RhdGlzdGljc0xhc3RTZWVuJiBhLCBjb25zdCBTdGF0aXN0aWNz
TGFzdFNlZW4mIGIpIHsKQEAgLTExNSw5ICsxMTUsOSBAQCBWZWN0b3I8V2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlOjpUaGlyZFBhcnR5RGF0YT4gUmVzb3VyY2VMb2FkU3RhdGlzdGljc01l
bQogICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwogCiAgICAgVmVjdG9yPFdlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6VGhpcmRQYXJ0eURhdGE+IHRoaXJkUGFydHlEYXRhTGlz
dDsKLSAgICBmb3IgKGF1dG8mIHN0YXRpc3RpY3MgOiBtX3Jlc291cmNlU3RhdGlzdGljc01hcC52
YWx1ZXMoKSkgewotICAgICAgICBpZiAoaGFzQmVlblRoaXJkUGFydHkoKnN0YXRpc3RpY3MpICYm
ICh0aGlyZFBhcnR5Q29va2llQmxvY2tpbmdNb2RlKCkgPT0gVGhpcmRQYXJ0eUNvb2tpZUJsb2Nr
aW5nTW9kZTo6QWxsIHx8IHN0YXRpc3RpY3MtPmlzUHJldmFsZW50UmVzb3VyY2UpKQotICAgICAg
ICAgICAgdGhpcmRQYXJ0eURhdGFMaXN0LmFwcGVuZChXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmU6OlRoaXJkUGFydHlEYXRhIHsgc3RhdGlzdGljcy0+cmVnaXN0cmFibGVEb21haW4sIGdl
dFRoaXJkUGFydHlEYXRhRm9yU3BlY2lmaWNGaXJzdFBhcnR5RG9tYWlucygqc3RhdGlzdGljcykg
fSk7CisgICAgZm9yIChjb25zdCBhdXRvJiBzdGF0aXN0aWNzIDogbV9yZXNvdXJjZVN0YXRpc3Rp
Y3NNYXAudmFsdWVzKCkpIHsKKyAgICAgICAgaWYgKGhhc0JlZW5UaGlyZFBhcnR5KHN0YXRpc3Rp
Y3MpICYmICh0aGlyZFBhcnR5Q29va2llQmxvY2tpbmdNb2RlKCkgPT0gVGhpcmRQYXJ0eUNvb2tp
ZUJsb2NraW5nTW9kZTo6QWxsIHx8IHN0YXRpc3RpY3MtPmlzUHJldmFsZW50UmVzb3VyY2UpKQor
ICAgICAgICAgICAgdGhpcmRQYXJ0eURhdGFMaXN0LmFwcGVuZChXZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmU6OlRoaXJkUGFydHlEYXRhIHsgc3RhdGlzdGljcy0+cmVnaXN0cmFibGVEb21h
aW4sIGdldFRoaXJkUGFydHlEYXRhRm9yU3BlY2lmaWNGaXJzdFBhcnR5RG9tYWlucyhzdGF0aXN0
aWNzKSB9KTsKICAgICB9CiAgICAgc3RkOjpzb3J0KHRoaXJkUGFydHlEYXRhTGlzdC5yYmVnaW4o
KSwgdGhpcmRQYXJ0eURhdGFMaXN0LnJlbmQoKSk7CiAgICAgcmV0dXJuIHRoaXJkUGFydHlEYXRh
TGlzdDsKQEAgLTIwNCwxNCArMjA0LDE0IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc01l
bW9yeVN0b3JlOjpjbGFzc2lmeVByZXZhbGVudFJlc291cmNlcygpCiAgICAgZm9yIChhdXRvJiBy
ZXNvdXJjZVN0YXRpc3RpYyA6IG1fcmVzb3VyY2VTdGF0aXN0aWNzTWFwLnZhbHVlcygpKSB7CiAg
ICAgICAgIGlmIChzaG91bGRTa2lwKHJlc291cmNlU3RhdGlzdGljLT5yZWdpc3RyYWJsZURvbWFp
bikpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgaWYgKGlzUHJldmFsZW50RHVlVG9E
ZWJ1Z01vZGUoKnJlc291cmNlU3RhdGlzdGljKSkKLSAgICAgICAgICAgIHNldFByZXZhbGVudFJl
c291cmNlKCpyZXNvdXJjZVN0YXRpc3RpYywgUmVzb3VyY2VMb2FkUHJldmFsZW5jZTo6SGlnaCk7
CisgICAgICAgIGlmIChpc1ByZXZhbGVudER1ZVRvRGVidWdNb2RlKHJlc291cmNlU3RhdGlzdGlj
KSkKKyAgICAgICAgICAgIHNldFByZXZhbGVudFJlc291cmNlKHJlc291cmNlU3RhdGlzdGljLCBS
ZXNvdXJjZUxvYWRQcmV2YWxlbmNlOjpIaWdoKTsKICAgICAgICAgZWxzZSBpZiAoIXJlc291cmNl
U3RhdGlzdGljLT5pc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZSkgewotICAgICAgICAgICAgbWFya0Fz
UHJldmFsZW50SWZIYXNSZWRpcmVjdGVkVG9QcmV2YWxlbnQoKnJlc291cmNlU3RhdGlzdGljKTsK
KyAgICAgICAgICAgIG1hcmtBc1ByZXZhbGVudElmSGFzUmVkaXJlY3RlZFRvUHJldmFsZW50KHJl
c291cmNlU3RhdGlzdGljKTsKICAgICAgICAgICAgIGF1dG8gY3VycmVudFByZXZhbGVuY2UgPSBy
ZXNvdXJjZVN0YXRpc3RpYy0+aXNQcmV2YWxlbnRSZXNvdXJjZSA/IFJlc291cmNlTG9hZFByZXZh
bGVuY2U6OkhpZ2ggOiBSZXNvdXJjZUxvYWRQcmV2YWxlbmNlOjpMb3c7Ci0gICAgICAgICAgICBh
dXRvIG5ld1ByZXZhbGVuY2UgPSBjbGFzc2lmaWVyKCkuY2FsY3VsYXRlUmVzb3VyY2VQcmV2YWxl
bmNlKCpyZXNvdXJjZVN0YXRpc3RpYywgY3VycmVudFByZXZhbGVuY2UpOworICAgICAgICAgICAg
YXV0byBuZXdQcmV2YWxlbmNlID0gY2xhc3NpZmllcigpLmNhbGN1bGF0ZVJlc291cmNlUHJldmFs
ZW5jZShyZXNvdXJjZVN0YXRpc3RpYywgY3VycmVudFByZXZhbGVuY2UpOwogICAgICAgICAgICAg
aWYgKG5ld1ByZXZhbGVuY2UgIT0gY3VycmVudFByZXZhbGVuY2UpCi0gICAgICAgICAgICAgICAg
c2V0UHJldmFsZW50UmVzb3VyY2UoKnJlc291cmNlU3RhdGlzdGljLCBuZXdQcmV2YWxlbmNlKTsK
KyAgICAgICAgICAgICAgICBzZXRQcmV2YWxlbnRSZXNvdXJjZShyZXNvdXJjZVN0YXRpc3RpYywg
bmV3UHJldmFsZW5jZSk7CiAgICAgICAgIH0KICAgICB9CiB9CkBAIC03MDIsOCArNzAyLDggQEAg
UmVzb3VyY2VMb2FkU3RhdGlzdGljcyYgUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3Jl
OjplbnN1cmVSZXNvdXJjZVN0YXRpc3QKIHsKICAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigp
KTsKIAotICAgIHJldHVybiAqbV9yZXNvdXJjZVN0YXRpc3RpY3NNYXAuZW5zdXJlKGRvbWFpbiwg
WyZkb21haW5dIHsKLSAgICAgICAgcmV0dXJuIG1ha2VVbmlxdWU8UmVzb3VyY2VMb2FkU3RhdGlz
dGljcz4oZG9tYWluKTsKKyAgICByZXR1cm4gbV9yZXNvdXJjZVN0YXRpc3RpY3NNYXAuZW5zdXJl
KGRvbWFpbiwgWyZkb21haW5dIHsKKyAgICAgICAgcmV0dXJuIG1ha2VVbmlxdWVSZWY8UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcz4oZG9tYWluKTsKICAgICB9KS5pdGVyYXRvci0+dmFsdWU7CiB9CiAK
QEAgLTc5NSw3ICs3OTUsNyBAQCB2b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9y
ZTo6bWVyZ2VTdGF0aXN0aWNzKFZlY3RvcjxSZXNvdXJjZUxvYWRTdGF0aQogCiAgICAgZm9yIChh
dXRvJiBzdGF0aXN0aWMgOiBzdGF0aXN0aWNzKSB7CiAgICAgICAgIGF1dG8gcmVzdWx0ID0gbV9y
ZXNvdXJjZVN0YXRpc3RpY3NNYXAuZW5zdXJlKHN0YXRpc3RpYy5yZWdpc3RyYWJsZURvbWFpbiwg
WyZzdGF0aXN0aWNdIHsKLSAgICAgICAgICAgIHJldHVybiBtYWtlVW5pcXVlPFJlc291cmNlTG9h
ZFN0YXRpc3RpY3M+KFdURk1vdmUoc3RhdGlzdGljKSk7CisgICAgICAgICAgICByZXR1cm4gbWFr
ZVVuaXF1ZVJlZjxSZXNvdXJjZUxvYWRTdGF0aXN0aWNzPihXVEZNb3ZlKHN0YXRpc3RpYykpOwog
ICAgICAgICB9KTsKICAgICAgICAgaWYgKCFyZXN1bHQuaXNOZXdFbnRyeSkKICAgICAgICAgICAg
IHJlc3VsdC5pdGVyYXRvci0+dmFsdWUtPm1lcmdlKHN0YXRpc3RpYyk7CkBAIC04MjUsNyArODI1
LDcgQEAgdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU6OnVwZGF0ZUNvb2tp
ZUJsb2NraW5nKENvbXBsZXRpb25IYW5kbGVyPHYKICAgICBWZWN0b3I8UmVnaXN0cmFibGVEb21h
aW4+IGRvbWFpbnNUb0Jsb2NrQnV0S2VlcENvb2tpZXNGb3I7CiAgICAgVmVjdG9yPFJlZ2lzdHJh
YmxlRG9tYWluPiBkb21haW5zV2l0aFVzZXJJbnRlcmFjdGlvbkFzRmlyc3RQYXJ0eTsKICAgICBm
b3IgKGF1dG8mIHJlc291cmNlU3RhdGlzdGljIDogbV9yZXNvdXJjZVN0YXRpc3RpY3NNYXAudmFs
dWVzKCkpIHsKLSAgICAgICAgaWYgKGhhc0hhZFVuZXhwaXJlZFJlY2VudFVzZXJJbnRlcmFjdGlv
bigqcmVzb3VyY2VTdGF0aXN0aWMsIE9wZXJhdGluZ0RhdGVzV2luZG93OjpMb25nKSkgeworICAg
ICAgICBpZiAoaGFzSGFkVW5leHBpcmVkUmVjZW50VXNlckludGVyYWN0aW9uKHJlc291cmNlU3Rh
dGlzdGljLCBPcGVyYXRpbmdEYXRlc1dpbmRvdzo6TG9uZykpIHsKICAgICAgICAgICAgIGlmIChy
ZXNvdXJjZVN0YXRpc3RpYy0+aXNQcmV2YWxlbnRSZXNvdXJjZSkKICAgICAgICAgICAgICAgICBk
b21haW5zVG9CbG9ja0J1dEtlZXBDb29raWVzRm9yLmFwcGVuZChyZXNvdXJjZVN0YXRpc3RpYy0+
cmVnaXN0cmFibGVEb21haW4uaXNvbGF0ZWRDb3B5KCkpOwogICAgICAgICAgICAgZG9tYWluc1dp
dGhVc2VySW50ZXJhY3Rpb25Bc0ZpcnN0UGFydHkuYXBwZW5kKHJlc291cmNlU3RhdGlzdGljLT5y
ZWdpc3RyYWJsZURvbWFpbik7CkBAIC04NjQsOCArODY0LDggQEAgdm9pZCBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWVtb3J5U3RvcmU6OnByb2Nlc3NTdGF0aXN0aWNzKGNvbnN0IEZ1bmN0aW9uPHZv
aWQoY28KIHsKICAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKIAotICAgIGZvciAoYXV0
byYgcmVzb3VyY2VTdGF0aXN0aWMgOiBtX3Jlc291cmNlU3RhdGlzdGljc01hcC52YWx1ZXMoKSkK
LSAgICAgICAgcHJvY2Vzc0Z1bmN0aW9uKCpyZXNvdXJjZVN0YXRpc3RpYyk7CisgICAgZm9yIChj
b25zdCBhdXRvJiByZXNvdXJjZVN0YXRpc3RpYyA6IG1fcmVzb3VyY2VTdGF0aXN0aWNzTWFwLnZh
bHVlcygpKQorICAgICAgICBwcm9jZXNzRnVuY3Rpb24ocmVzb3VyY2VTdGF0aXN0aWMuZ2V0KCkp
OwogfQogCiBib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZTo6aGFzSGFkVW5l
eHBpcmVkUmVjZW50VXNlckludGVyYWN0aW9uKFJlc291cmNlTG9hZFN0YXRpc3RpY3MmIHJlc291
cmNlU3RhdGlzdGljLCBPcGVyYXRpbmdEYXRlc1dpbmRvdyBvcGVyYXRpbmdEYXRlc1dpbmRvdykg
Y29uc3QKQEAgLTk1MywxNyArOTUzLDE3IEBAIFJlZ2lzdHJhYmxlRG9tYWluc1RvRGVsZXRlT3JS
ZXN0cmljdFdlYnNpdGVEYXRhRm9yIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTCiAgICAg
Zm9yIChhdXRvJiBzdGF0aXN0aWMgOiBtX3Jlc291cmNlU3RhdGlzdGljc01hcC52YWx1ZXMoKSkg
ewogICAgICAgICBpZiAoc2hvdWxkRXhlbXB0RnJvbVdlYnNpdGVEYXRhRGVsZXRpb24oc3RhdGlz
dGljLT5yZWdpc3RyYWJsZURvbWFpbikpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAg
aWYgKGF1dG8gbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvblRpbWUgPSB0aGlzLT5tb3N0UmVjZW50
VXNlckludGVyYWN0aW9uVGltZSgqc3RhdGlzdGljKSkKKyAgICAgICAgaWYgKGF1dG8gbW9zdFJl
Y2VudFVzZXJJbnRlcmFjdGlvblRpbWUgPSB0aGlzLT5tb3N0UmVjZW50VXNlckludGVyYWN0aW9u
VGltZShzdGF0aXN0aWMpKQogICAgICAgICAgICAgb2xkZXN0VXNlckludGVyYWN0aW9uID0gc3Rk
OjptaW4ob2xkZXN0VXNlckludGVyYWN0aW9uLCAqbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvblRp
bWUpOwotICAgICAgICBpZiAoc2hvdWxkUmVtb3ZlQWxsV2Vic2l0ZURhdGFGb3IoKnN0YXRpc3Rp
Yywgc2hvdWxkQ2hlY2tGb3JHcmFuZGZhdGhlcmluZykpIHsKKyAgICAgICAgaWYgKHNob3VsZFJl
bW92ZUFsbFdlYnNpdGVEYXRhRm9yKHN0YXRpc3RpYywgc2hvdWxkQ2hlY2tGb3JHcmFuZGZhdGhl
cmluZykpIHsKICAgICAgICAgICAgIHRvRGVsZXRlT3JSZXN0cmljdEZvci5kb21haW5zVG9EZWxl
dGVBbGxDb29raWVzRm9yLmFwcGVuZChzdGF0aXN0aWMtPnJlZ2lzdHJhYmxlRG9tYWluKTsKICAg
ICAgICAgICAgIHRvRGVsZXRlT3JSZXN0cmljdEZvci5kb21haW5zVG9EZWxldGVBbGxOb25Db29r
aWVXZWJzaXRlRGF0YUZvci5hcHBlbmQoc3RhdGlzdGljLT5yZWdpc3RyYWJsZURvbWFpbik7CiAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBpZiAoc2hvdWxkUmVtb3ZlQWxsQnV0Q29va2ll
c0Zvcigqc3RhdGlzdGljLCBzaG91bGRDaGVja0ZvckdyYW5kZmF0aGVyaW5nKSkgeworICAgICAg
ICAgICAgaWYgKHNob3VsZFJlbW92ZUFsbEJ1dENvb2tpZXNGb3Ioc3RhdGlzdGljLCBzaG91bGRD
aGVja0ZvckdyYW5kZmF0aGVyaW5nKSkgewogICAgICAgICAgICAgICAgIHRvRGVsZXRlT3JSZXN0
cmljdEZvci5kb21haW5zVG9EZWxldGVBbGxOb25Db29raWVXZWJzaXRlRGF0YUZvci5hcHBlbmQo
c3RhdGlzdGljLT5yZWdpc3RyYWJsZURvbWFpbik7CiAgICAgICAgICAgICAgICAgc3RhdGlzdGlj
LT5nb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZSA9IGZhbHNlOwogICAgICAg
ICAgICAgfQotICAgICAgICAgICAgaWYgKHNob3VsZEVuZm9yY2VTYW1lU2l0ZVN0cmljdEZvcigq
c3RhdGlzdGljLCBzaG91bGRDaGVja0ZvckdyYW5kZmF0aGVyaW5nKSkgeworICAgICAgICAgICAg
aWYgKHNob3VsZEVuZm9yY2VTYW1lU2l0ZVN0cmljdEZvcihzdGF0aXN0aWMsIHNob3VsZENoZWNr
Rm9yR3JhbmRmYXRoZXJpbmcpKSB7CiAgICAgICAgICAgICAgICAgdG9EZWxldGVPclJlc3RyaWN0
Rm9yLmRvbWFpbnNUb0VuZm9yY2VTYW1lU2l0ZVN0cmljdEZvci5hcHBlbmQoc3RhdGlzdGljLT5y
ZWdpc3RyYWJsZURvbWFpbik7CiAKICAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkoZGVidWdM
b2dnaW5nRW5hYmxlZCgpKSkgewpAQCAtOTk4LDcgKzk5OCw3IEBAIHZvaWQgUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01lbW9yeVN0b3JlOjpwcnVuZVN0YXRpc3RpY3NJZk5lZWRlZCgpCiAKICAgICBW
ZWN0b3I8U3RhdGlzdGljc0xhc3RTZWVuPiByZXNvdXJjZXNUb1BydW5lUGVySW1wb3J0YW5jZVtt
YXhJbXBvcnRhbmNlICsgMV07CiAgICAgZm9yIChhdXRvJiByZXNvdXJjZVN0YXRpc3RpYyA6IG1f
cmVzb3VyY2VTdGF0aXN0aWNzTWFwLnZhbHVlcygpKQotICAgICAgICByZXNvdXJjZXNUb1BydW5l
UGVySW1wb3J0YW5jZVtjb21wdXRlSW1wb3J0YW5jZSgqcmVzb3VyY2VTdGF0aXN0aWMpXS5hcHBl
bmQoeyByZXNvdXJjZVN0YXRpc3RpYy0+cmVnaXN0cmFibGVEb21haW4sIHJlc291cmNlU3RhdGlz
dGljLT5sYXN0U2VlbiB9KTsKKyAgICAgICAgcmVzb3VyY2VzVG9QcnVuZVBlckltcG9ydGFuY2Vb
Y29tcHV0ZUltcG9ydGFuY2UocmVzb3VyY2VTdGF0aXN0aWMpXS5hcHBlbmQoeyByZXNvdXJjZVN0
YXRpc3RpYy0+cmVnaXN0cmFibGVEb21haW4sIHJlc291cmNlU3RhdGlzdGljLT5sYXN0U2VlbiB9
KTsKIAogICAgIGZvciAodW5zaWduZWQgaW1wb3J0YW5jZSA9IDA7IG51bWJlck9mRW50cmllc0xl
ZnRUb1BydW5lICYmIGltcG9ydGFuY2UgPD0gbWF4SW1wb3J0YW5jZTsgKytpbXBvcnRhbmNlKQog
ICAgICAgICBwcnVuZVJlc291cmNlcyhtX3Jlc291cmNlU3RhdGlzdGljc01hcCwgcmVzb3VyY2Vz
VG9QcnVuZVBlckltcG9ydGFuY2VbaW1wb3J0YW5jZV0sIG51bWJlck9mRW50cmllc0xlZnRUb1By
dW5lKTsKQEAgLTExNTksNyArMTE1OSw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc01l
bW9yeVN0b3JlOjppbnNlcnRFeHBpcmVkU3RhdGlzdGljRm9yVGVzdGluZyhjb25zdCBSCiAgICAg
c3RhdGlzdGljLmdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNlID0gaXNTY2hl
ZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDsKIAogICAgIG1fcmVzb3VyY2VTdGF0aXN0
aWNzTWFwLmVuc3VyZShzdGF0aXN0aWMucmVnaXN0cmFibGVEb21haW4sIFsmc3RhdGlzdGljXSB7
Ci0gICAgICAgIHJldHVybiBtYWtlVW5pcXVlPFJlc291cmNlTG9hZFN0YXRpc3RpY3M+KFdURk1v
dmUoc3RhdGlzdGljKSk7CisgICAgICAgIHJldHVybiBtYWtlVW5pcXVlUmVmPFJlc291cmNlTG9h
ZFN0YXRpc3RpY3M+KFdURk1vdmUoc3RhdGlzdGljKSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWVtb3J5U3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xh
c3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaAppbmRleCBmNWY3ZTFh
MGY2MTAxMDA0MGE0MDAzZGYyYWZjMWNmODRmYjM1NmM0Li5kOGM5OTdmNDVlNWNlMGIzYzc3N2Rj
YWU0YjJhNDAzZTg5MmE3ZGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmgKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NNZW1vcnlTdG9yZS5oCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKICAgICBib29sIGlz
RW1wdHkoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIFZlY3RvcjxXZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmU6OlRoaXJkUGFydHlEYXRhPiBhZ2dyZWdhdGVkVGhpcmRQYXJ0eURhdGEoKSBj
b25zdCBvdmVycmlkZTsKLSAgICBjb25zdCBIYXNoTWFwPFJlZ2lzdHJhYmxlRG9tYWluLCBzdGQ6
OnVuaXF1ZV9wdHI8V2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljcz4+JiBkYXRhKCkgY29u
c3QgeyByZXR1cm4gbV9yZXNvdXJjZVN0YXRpc3RpY3NNYXA7IH0KKyAgICBjb25zdCBIYXNoTWFw
PFJlZ2lzdHJhYmxlRG9tYWluLCBVbmlxdWVSZWY8V2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlz
dGljcz4+JiBkYXRhKCkgY29uc3QgeyByZXR1cm4gbV9yZXNvdXJjZVN0YXRpc3RpY3NNYXA7IH0K
IAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpLZXllZEVuY29kZXI+IGNyZWF0ZUVuY29k
ZXJGcm9tRGF0YSgpIGNvbnN0OwogICAgIHZvaWQgbWVyZ2VXaXRoRGF0YUZyb21EZWNvZGVyKFdl
YkNvcmU6OktleWVkRGVjb2RlciYpOwpAQCAtMTQ5LDcgKzE0OSw3IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBpc01lbW9yeVN0b3JlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIE9w
dGlvbmFsPFdhbGxUaW1lPiBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uVGltZShjb25zdCBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzJik7CiAKLSAgICBIYXNoTWFwPFJlZ2lzdHJhYmxlRG9tYWluLCBz
dGQ6OnVuaXF1ZV9wdHI8UmVzb3VyY2VMb2FkU3RhdGlzdGljcz4+IG1fcmVzb3VyY2VTdGF0aXN0
aWNzTWFwOworICAgIEhhc2hNYXA8UmVnaXN0cmFibGVEb21haW4sIFVuaXF1ZVJlZjxSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzPj4gbV9yZXNvdXJjZVN0YXRpc3RpY3NNYXA7CiAgICAgVmVjdG9yPE9w
ZXJhdGluZ0RhdGU+IG1fb3BlcmF0aW5nRGF0ZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuY3BwIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2Vy
LmNwcAppbmRleCA1ODk1ZjRmOTk1NTRmMDI4NjMyNzY0MWM4ZmUxNzMxMGY3MTM5ZjRmLi43NWYy
MjgzZTVkMzIwNWI5YTJhYjAwNGI3YzFkNmUxMDdmYzI5ZjVlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpBdXRoZW50
aWNhdGlvbk1hbmFnZXIoTmV0d29ya1Byb2Nlc3MmIHByb2Nlc3MpCiAgICAgbV9wcm9jZXNzLmFk
ZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjptZXNzYWdl
UmVjZWl2ZXJOYW1lKCksICp0aGlzKTsKIH0KIAotdWludDY0X3QgQXV0aGVudGljYXRpb25NYW5h
Z2VyOjphZGRDaGFsbGVuZ2VUb0NoYWxsZW5nZU1hcChzdGQ6OnVuaXF1ZV9wdHI8Q2hhbGxlbmdl
PiYmIGNoYWxsZW5nZSkKK3VpbnQ2NF90IEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6YWRkQ2hhbGxl
bmdlVG9DaGFsbGVuZ2VNYXAoVW5pcXVlUmVmPENoYWxsZW5nZT4mJiBjaGFsbGVuZ2UpCiB7CiAg
ICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKIApAQCAtMTE1LDcgKzExNSw3IEBAIHZvaWQg
QXV0aGVudGljYXRpb25NYW5hZ2VyOjpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
UEFMOjpTZXNzaW9uSUQgc2VzCiAgICAgaWYgKCFwYWdlSUQpCiAgICAgICAgIHJldHVybiBjb21w
bGV0aW9uSGFuZGxlcihBdXRoZW50aWNhdGlvbkNoYWxsZW5nZURpc3Bvc2l0aW9uOjpQZXJmb3Jt
RGVmYXVsdEhhbmRsaW5nLCB7IH0pOwogCi0gICAgdWludDY0X3QgY2hhbGxlbmdlSUQgPSBhZGRD
aGFsbGVuZ2VUb0NoYWxsZW5nZU1hcChtYWtlVW5pcXVlPENoYWxsZW5nZT4ocGFnZUlELCBhdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpKTsKKyAgICB1
aW50NjRfdCBjaGFsbGVuZ2VJRCA9IGFkZENoYWxsZW5nZVRvQ2hhbGxlbmdlTWFwKG1ha2VVbmlx
dWVSZWY8Q2hhbGxlbmdlPihwYWdlSUQsIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLCBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKSkpOwogCiAgICAgLy8gQ29hbGVzY2UgY2hhbGxlbmdlcyBpbiB0
aGUgc2FtZSBwcm90ZWN0aW9uIHNwYWNlIGFuZCBpbiB0aGUgc2FtZSBwYWdlLgogICAgIGlmIChz
aG91bGRDb2FsZXNjZUNoYWxsZW5nZShwYWdlSUQsIGNoYWxsZW5nZUlELCBhdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSkpCkBAIC0xMzAsNyArMTMwLDcgQEAgdm9pZCBBdXRoZW50aWNhdGlvbk1hbmFn
ZXI6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShQQUw6OlNlc3Npb25JRCBzZXMK
IHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UoSVBDOjpNZXNzYWdlU2VuZGVyJiBkb3dubG9hZCwgY29uc3QgV2ViQ29yZTo6QXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UmIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLCBDaGFsbGVuZ2VDb21w
bGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIFdlYlBhZ2VQcm94eUlk
ZW50aWZpZXIgZHVtbXlQYWdlSUQ7Ci0gICAgdWludDY0X3QgY2hhbGxlbmdlSUQgPSBhZGRDaGFs
bGVuZ2VUb0NoYWxsZW5nZU1hcChtYWtlVW5pcXVlPENoYWxsZW5nZT4oZHVtbXlQYWdlSUQsIGF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSkpOworICAg
IHVpbnQ2NF90IGNoYWxsZW5nZUlEID0gYWRkQ2hhbGxlbmdlVG9DaGFsbGVuZ2VNYXAobWFrZVVu
aXF1ZVJlZjxDaGFsbGVuZ2U+KGR1bW15UGFnZUlELCBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSwg
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpKTsKICAgICAKICAgICAvLyBDb2FsZXNjZSBjaGFs
bGVuZ2VzIGluIHRoZSBzYW1lIHByb3RlY3Rpb24gc3BhY2UgYW5kIGluIHRoZSBzYW1lIHBhZ2Uu
CiAgICAgaWYgKHNob3VsZENvYWxlc2NlQ2hhbGxlbmdlKGR1bW15UGFnZUlELCBjaGFsbGVuZ2VJ
RCwgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaAppbmRleCAy
MDdiZDI3NTk2NmQ0MGZlOTViNThhNTA3Y2U1ZDc3NjkwOWY1NWEyLi5kMzdhOGQ0YmRhMTcwYmM0
NzFmZmMzYjE1MmI5YzcyZjFmNTlhN2I3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaApAQCAtOTgs
MTQgKzk4LDE0IEBAIHByaXZhdGU6CiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAgICB2
b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIG92
ZXJyaWRlOwogCi0gICAgdWludDY0X3QgYWRkQ2hhbGxlbmdlVG9DaGFsbGVuZ2VNYXAoc3RkOjp1
bmlxdWVfcHRyPENoYWxsZW5nZT4mJik7CisgICAgdWludDY0X3QgYWRkQ2hhbGxlbmdlVG9DaGFs
bGVuZ2VNYXAoVW5pcXVlUmVmPENoYWxsZW5nZT4mJik7CiAgICAgYm9vbCBzaG91bGRDb2FsZXNj
ZUNoYWxsZW5nZShXZWJQYWdlUHJveHlJZGVudGlmaWVyLCB1aW50NjRfdCBjaGFsbGVuZ2VJRCwg
Y29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKSBjb25zdDsKIAogICAgIFZl
Y3Rvcjx1aW50NjRfdD4gY29hbGVzY2VDaGFsbGVuZ2VzTWF0Y2hpbmcodWludDY0X3QgY2hhbGxl
bmdlSUQpIGNvbnN0OwogCiAgICAgTmV0d29ya1Byb2Nlc3MmIG1fcHJvY2VzczsKIAotICAgIEhh
c2hNYXA8dWludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxDaGFsbGVuZ2U+PiBtX2NoYWxsZW5nZXM7
CisgICAgSGFzaE1hcDx1aW50NjRfdCwgVW5pcXVlUmVmPENoYWxsZW5nZT4+IG1fY2hhbGxlbmdl
czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDA5ODAyZGRkOWM0ODUwNDg0ZjkwMzhmMmNlZjc1
M2VhYzQ4N2M1MGYuLjljNWE5NWVlNjY3M2M0MDJlNzg2MDJmYTFkYjk2OTdiMDAyMzc2MjkgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMyBAQAorMjAyMS0wMy0xNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJr
aXQub3JnPgorCisgICAgICAgIEFsbG93IFVuaXF1ZVJlZiB0byBiZSB0aGUgdmFsdWUgb2YgYSBI
YXNoTWFwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjMyNDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hNYXAuY3BwOgorICAgICAgICAoVGVzdFdlYktp
dEFQSTo6VEVTVCk6CisKIDIwMjEtMDMtMTUgIEFha2FzaCBKYWluICA8YWFrYXNoX2phaW5AYXBw
bGUuY29tPgogCiAgICAgICAgIERlbGV0ZSB1bnVzZWQgYnVpbGQtbGF1bmNoZXItZG1nIHNjcmlw
dApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaE1hcC5jcHAg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9IYXNoTWFwLmNwcAppbmRleCBjZGU1YTI4
MzY5ZWNjNTRlY2Y1NmU3NjQ4YjdiMDlhN2ExNjU5YTU5Li5hYWJlN2RkYWMyNzczYjZmNzk2ZTIw
NDBiMzIyYmU1OWUxZjA3ODZkIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9IYXNoTWFwLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9IYXNo
TWFwLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPHN0cmluZz4KICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvVW5pcXVl
UmVmLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGVOdW1iZXJzLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC0zMDYsNiArMzA3LDI1IEBAIFRF
U1QoV1RGX0hhc2hNYXAsIFVuaXF1ZVB0cktleV9UYWtlVXNpbmdSYXdQb2ludGVyKQogICAgIEVY
UEVDVF9FUSgxdSwgQ29uc3RydWN0b3JEZXN0cnVjdG9yQ291bnRlcjo6ZGVzdHJ1Y3Rpb25Db3Vu
dCk7CiB9CiAKK1RFU1QoV1RGX0hhc2hNYXAsIFVuaXF1ZVJlZlZhbHVlKQoreworICAgIEhhc2hN
YXA8aW50LCBVbmlxdWVSZWY8aW50Pj4gbWFwOworICAgIFVuaXF1ZVJlZjxpbnQ+IGZpdmUgPSBt
YWtlVW5pcXVlUmVmV2l0aG91dEZhc3RNYWxsb2NDaGVjazxpbnQ+KDUpOworICAgIG1hcC5hZGQo
NSwgV1RGTW92ZShmaXZlKSk7CisgICAgRVhQRUNUX1RSVUUobWFwLmNvbnRhaW5zKDUpKTsKKyAg
ICBpbnQqIHNob3VsZEJlRml2ZSA9IG1hcC5nZXQoNSk7CisgICAgRVhQRUNUX0VRKCpzaG91bGRC
ZUZpdmUsIDUpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxpbnQ+IHRha2VuRml2ZSA9IG1hcC50YWtl
KDUpOworICAgIEVYUEVDVF9FUSgqdGFrZW5GaXZlLCA1KTsKKyAgICBtYXAuZW5zdXJlKDYsIFtd
IHsKKyAgICAgICAgcmV0dXJuIG1ha2VVbmlxdWVSZWZXaXRob3V0RmFzdE1hbGxvY0NoZWNrPGlu
dD4oNik7CisgICAgfSk7CisgICAgRVhQRUNUX0ZBTFNFKG1hcC5jb250YWlucyg1KSk7CisgICAg
RVhQRUNUX1RSVUUobWFwLmNvbnRhaW5zKDYpKTsKKyAgICBmb3IgKFVuaXF1ZVJlZjxpbnQ+JiBh
IDogbWFwLnZhbHVlcygpKQorICAgICAgICBFWFBFQ1RfRVEoYS5nZXQoKSwgNik7Cit9CisKIFRF
U1QoV1RGX0hhc2hNYXAsIFJlZlB0cktleV9BZGQpCiB7CiAgICAgewo=
</data>
<flag name="review"
          id="442646"
          type_id="1"
          status="+"
          setter="youennf"
    />
    <flag name="commit-queue"
          id="442876"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>