<?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>200985</bug_id>
          
          <creation_ts>2019-08-21 10:32:21 -0700</creation_ts>
          <short_desc>registrableDomainsToRemoveWebsiteDataFor() does not need to return a HashMap</short_desc>
          <delta_ts>2019-08-21 12:25:18 -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>
          
          
          <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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1563547</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-21 10:32:21 -0700</bug_when>
    <thetext>registrableDomainsToRemoveWebsiteDataFor() does not need to return a HashMap. It is more efficient to simply return a Vector since we never need to look up keys.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563548</commentid>
    <comment_count>1</comment_count>
      <attachid>376892</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-21 10:33:20 -0700</bug_when>
    <thetext>Created attachment 376892
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563552</commentid>
    <comment_count>2</comment_count>
      <attachid>376892</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-08-21 10:49:14 -0700</bug_when>
    <thetext>Comment on attachment 376892
Patch

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

I believe this has the side effect of allowing multiple entries for the same RegistrableDomain. That should be fine though, since even if we were to introduce such a bug, we would still delete the right data.

&gt; Source/WTF/wtf/CrossThreadCopier.h:156
&gt; +

Nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563590</commentid>
    <comment_count>3</comment_count>
      <attachid>376892</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-21 11:41:17 -0700</bug_when>
    <thetext>Comment on attachment 376892
Patch

The Vector is populated from HashMaps of RegistrableDomains, I therefore do not think we can have duplicate RegistrableDomains in the Vector right now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563616</commentid>
    <comment_count>4</comment_count>
      <attachid>376892</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-21 12:24:40 -0700</bug_when>
    <thetext>Comment on attachment 376892
Patch

Clearing flags on attachment: 376892

Committed r248956: &lt;https://trac.webkit.org/changeset/248956&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563617</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-21 12:24:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563619</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-21 12:25:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/54566740&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376892</attachid>
            <date>2019-08-21 10:33:20 -0700</date>
            <delta_ts>2019-08-21 12:24:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200985-20190821103319.patch</filename>
            <type>text/plain</type>
            <size>23033</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4OTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGQ1ZTJjNmQ4NzdmMjFlNTc5OGM1MDQ5
N2JkZTc2ZWUzYWIyMWMzZWMuLjEyODAxNzYzOTY0NjVjZWMxZjAwN2JhOTgzYjEwMDk0MGYyNzQ0
YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDgtMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICByZWdpc3RyYWJsZURvbWFpbnNUb1JlbW92ZVdlYnNpdGVE
YXRhRm9yKCkgZG9lcyBub3QgbmVlZCB0byByZXR1cm4gYSBIYXNoTWFwCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA5ODUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbGxvdyBjYWxsaW5nIGNyb3NzVGhy
ZWFkQ29weSgpIG9uIGEgc3RkOjpwYWlyPD4uCisKKyAgICAgICAgKiB3dGYvQ3Jvc3NUaHJlYWRD
b3BpZXIuaDoKKwogMjAxOS0wOC0yMCAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAK
ICAgICAgICAgTWFrZSBpdCBlYXNpZXIgdG8gcGFzcyBwb2ludGVycyB0byBXVEZDcmFzaFdpdGhJ
bmZvLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCA4ODJlMzVhMzg0ZWU5NmY2ZGI1MjYzYTlkOTVlMWYxMTQ3MDE3NTRj
Li4wZWUyNGRlNGZlNzg1NDBhZjlmNDBkMDU0Y2IwOTdjYTMxMGJmNjU2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDMzIEBACisyMDE5LTA4LTIxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CisKKyAgICAgICAgcmVnaXN0cmFibGVEb21haW5zVG9SZW1vdmVXZWJzaXRlRGF0YUZvcigpIGRv
ZXMgbm90IG5lZWQgdG8gcmV0dXJuIGEgSGFzaE1hcAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwOTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgcmVnaXN0cmFibGVEb21haW5zVG9SZW1vdmVXZWJzaXRl
RGF0YUZvcigpIGRvZXMgbm90IG5lZWQgdG8gcmV0dXJuIGEgSGFzaE1hcC4gSXQgaXMgbW9yZQor
ICAgICAgICBlZmZpY2llbnQgdG8gc2ltcGx5IHJldHVybiBhIFZlY3RvciBzaW5jZSB3ZSBuZXZl
ciBuZWVkIHRvIGxvb2sgdXAga2V5cy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNz
aWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuY3BwOgorICAgICAgICAo
V2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6cmVnaXN0cmFibGVE
b21haW5zVG9SZW1vdmVXZWJzaXRlRGF0YUZvcik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Q2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9y
eVN0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9y
eVN0b3JlOjpyZWdpc3RyYWJsZURvbWFpbnNUb1JlbW92ZVdlYnNpdGVEYXRhRm9yKToKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1v
cnlTdG9yZS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZG9tYWluc1RvU3RyaW5n
KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlOjpkZWxldGVXZWJzaXRlRGF0YUZvclJlZ2lzdHJhYmxlRG9t
YWlucyk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmUuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpkZWxldGVXZWJzaXRl
RGF0YUZvclJlZ2lzdHJhYmxlRG9tYWlucyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9j
ZXNzOjpkZWxldGVDb29raWVzRm9yVGVzdGluZyk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lv
bi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpkZWxldGVXZWJzaXRlRGF0
YUZvclJlZ2lzdHJhYmxlRG9tYWlucyk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Nlc3Npb24uaDoKKwogMjAxOS0wOC0yMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgog
CiAgICAgICAgIFZlcmlmeSBQcmVmZXRjaCBhbmQgY3JlZGVudGlhbCBiZWhhdmlvcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvQ3Jvc3NUaHJlYWRDb3BpZXIuaCBiL1NvdXJjZS9XVEYvd3Rm
L0Nyb3NzVGhyZWFkQ29waWVyLmgKaW5kZXggMzA3Y2NhYTZkNmZmOGU3Yjg1NmNjYzc3NjJlMDNj
NDE4ODFiNzM4ZC4uMTgyMWIxMDBkNWI4OTg1ZDUyZjYwYThmZGE4ZGViMWQyNjAxY2FlMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ3Jvc3NUaHJlYWRDb3BpZXIuaAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9Dcm9zc1RocmVhZENvcGllci5oCkBAIC0xNDUsNiArMTQ1LDE1IEBAIHRlbXBsYXRl
PHR5cGVuYW1lIEssIHR5cGVuYW1lIFY+IHN0cnVjdCBDcm9zc1RocmVhZENvcGllckJhc2U8ZmFs
c2UsIGZhbHNlLCBIYXNoCiAgICAgfQogfTsKIAorLy8gRGVmYXVsdCBzcGVjaWFsaXphdGlvbiBm
b3IgcGFpcnMgb2YgQ3Jvc3NUaHJlYWRDb3B5YWJsZSBjbGFzc2VzCit0ZW1wbGF0ZTx0eXBlbmFt
ZSBGLCB0eXBlbmFtZSBTPiBzdHJ1Y3QgQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlPGZhbHNlLCBmYWxz
ZSwgc3RkOjpwYWlyPEYsIFM+ID4geworICAgIHR5cGVkZWYgc3RkOjpwYWlyPEYsIFM+IFR5cGU7
CisgICAgc3RhdGljIFR5cGUgY29weShjb25zdCBUeXBlJiBzb3VyY2UpCisgICAgeworICAgICAg
ICByZXR1cm4gc3RkOjptYWtlX3BhaXIoQ3Jvc3NUaHJlYWRDb3BpZXI8Rj46OmNvcHkoc291cmNl
LmZpcnN0KSwgQ3Jvc3NUaHJlYWRDb3BpZXI8Uz46OmNvcHkoc291cmNlLnNlY29uZCkpOworICAg
IH0KK307CisKIC8vIERlZmF1bHQgc3BlY2lhbGl6YXRpb24gZm9yIE9wdGlvbmFsIG9mIENyb3Nz
VGhyZWFkQ29weWFibGUgY2xhc3MuCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ3Jvc3NU
aHJlYWRDb3BpZXJCYXNlPGZhbHNlLCBmYWxzZSwgT3B0aW9uYWw8VD4+IHsKICAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBVPiBzdGF0aWMgT3B0aW9uYWw8VD4gY29weShVJiYgc291cmNlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5jcHAKaW5k
ZXggNzYzYjQ3NTllNDMzZjg3MTMwYjM5NDAwNjIzNDBiMjY4NDhlYThhMy4uMWI2ZWIxOWU5MDVm
ZmJiOGIzNzgzZjA0YTMzOTk5MTk5MWRjYzhhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0
b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuY3BwCkBAIC0xNTExLDcgKzE1MTEsNyBA
QCBib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpzaG91bGRSZW1vdmVB
bGxCdXRDb29raWVzRm9yKGNvbnN0IFByZQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotSGFzaE1h
cDxSZWdpc3RyYWJsZURvbWFpbiwgV2Vic2l0ZURhdGFUb1JlbW92ZT4gUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0RhdGFiYXNlU3RvcmU6OnJlZ2lzdHJhYmxlRG9tYWluc1RvUmVtb3ZlV2Vic2l0ZURh
dGFGb3IoKQorVmVjdG9yPHN0ZDo6cGFpcjxSZWdpc3RyYWJsZURvbWFpbiwgV2Vic2l0ZURhdGFU
b1JlbW92ZT4+IFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpyZWdpc3RyYWJs
ZURvbWFpbnNUb1JlbW92ZVdlYnNpdGVEYXRhRm9yKCkKIHsKICAgICBBU1NFUlQoIVJ1bkxvb3A6
OmlzTWFpbigpKTsKIApAQCAtMTUyMywxNSArMTUyMywxNSBAQCBIYXNoTWFwPFJlZ2lzdHJhYmxl
RG9tYWluLCBXZWJzaXRlRGF0YVRvUmVtb3ZlPiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJh
c2VTdAogCiAgICAgY2xlYXJFeHBpcmVkVXNlckludGVyYWN0aW9ucygpOwogICAgIAotICAgIEhh
c2hNYXA8UmVnaXN0cmFibGVEb21haW4sIFdlYnNpdGVEYXRhVG9SZW1vdmU+IGRvbWFpbnNUb1Jl
bW92ZVdlYnNpdGVEYXRhRm9yOworICAgIFZlY3RvcjxzdGQ6OnBhaXI8UmVnaXN0cmFibGVEb21h
aW4sIFdlYnNpdGVEYXRhVG9SZW1vdmU+PiBkb21haW5zVG9SZW1vdmVXZWJzaXRlRGF0YUZvcjsK
IAogICAgIFZlY3RvcjxQcmV2YWxlbnREb21haW5EYXRhPiBwcmV2YWxlbnREb21haW5zID0gdGhp
cy0+cHJldmFsZW50RG9tYWlucygpOwogICAgIFZlY3Rvcjx1bnNpZ25lZD4gZG9tYWluSURzVG9D
bGVhckdyYW5kZmF0aGVyaW5nOwogICAgIGZvciAoYXV0byYgc3RhdGlzdGljIDogcHJldmFsZW50
RG9tYWlucykgewogICAgICAgICBpZiAoc2hvdWxkUmVtb3ZlQWxsV2Vic2l0ZURhdGFGb3Ioc3Rh
dGlzdGljLCBzaG91bGRDaGVja0ZvckdyYW5kZmF0aGVyaW5nKSkKLSAgICAgICAgICAgIGRvbWFp
bnNUb1JlbW92ZVdlYnNpdGVEYXRhRm9yLmFkZChzdGF0aXN0aWMucmVnaXN0ZXJhYmxlRG9tYWlu
LCBXZWJzaXRlRGF0YVRvUmVtb3ZlOjpBbGwpOworICAgICAgICAgICAgZG9tYWluc1RvUmVtb3Zl
V2Vic2l0ZURhdGFGb3IuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKHN0YXRpc3RpYy5yZWdpc3RlcmFi
bGVEb21haW4sIFdlYnNpdGVEYXRhVG9SZW1vdmU6OkFsbCkpOwogICAgICAgICBlbHNlIGlmIChz
aG91bGRSZW1vdmVBbGxCdXRDb29raWVzRm9yKHN0YXRpc3RpYywgc2hvdWxkQ2hlY2tGb3JHcmFu
ZGZhdGhlcmluZykpCi0gICAgICAgICAgICBkb21haW5zVG9SZW1vdmVXZWJzaXRlRGF0YUZvci5h
ZGQoc3RhdGlzdGljLnJlZ2lzdGVyYWJsZURvbWFpbiwgV2Vic2l0ZURhdGFUb1JlbW92ZTo6QWxs
QnV0Q29va2llcyk7CisgICAgICAgICAgICBkb21haW5zVG9SZW1vdmVXZWJzaXRlRGF0YUZvci5h
cHBlbmQoc3RkOjptYWtlX3BhaXIoc3RhdGlzdGljLnJlZ2lzdGVyYWJsZURvbWFpbiwgV2Vic2l0
ZURhdGFUb1JlbW92ZTo6QWxsQnV0Q29va2llcykpOwogCiAgICAgICAgIGlmIChzaG91bGRDbGVh
ckdyYW5kZmF0aGVyaW5nICYmIHN0YXRpc3RpYy5ncmFuZGZhdGhlcmVkKQogICAgICAgICAgICAg
ZG9tYWluSURzVG9DbGVhckdyYW5kZmF0aGVyaW5nLmFwcGVuZChzdGF0aXN0aWMuZG9tYWluSUQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUu
aAppbmRleCBkMjU2YmUyMWNmZjdiMWY3MDU1NjQwMzFhNTc1ZjVlNWQyMzMwZWU2Li5hOGUxMDE2
OTk5NTIzNTgwMTU5M2E5Y2JkNjVhNDk4MzE1NDE1Y2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFi
YXNlU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIv
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuaApAQCAtMTYyLDcgKzE2Miw3IEBA
IHByaXZhdGU6CiAgICAgc3RkOjpwYWlyPEFkZGVkUmVjb3JkLCB1bnNpZ25lZD4gZW5zdXJlUmVz
b3VyY2VTdGF0aXN0aWNzRm9yUmVnaXN0cmFibGVEb21haW4oY29uc3QgUmVnaXN0cmFibGVEb21h
aW4mKTsKICAgICBib29sIHNob3VsZFJlbW92ZUFsbFdlYnNpdGVEYXRhRm9yKGNvbnN0IFByZXZh
bGVudERvbWFpbkRhdGEmLCBib29sIHNob3VsZENoZWNrRm9yR3JhbmRmYXRoZXJpbmcpIGNvbnN0
OwogICAgIGJvb2wgc2hvdWxkUmVtb3ZlQWxsQnV0Q29va2llc0Zvcihjb25zdCBQcmV2YWxlbnRE
b21haW5EYXRhJiwgYm9vbCBzaG91bGRDaGVja0ZvckdyYW5kZmF0aGVyaW5nKSBjb25zdDsKLSAg
ICBIYXNoTWFwPFJlZ2lzdHJhYmxlRG9tYWluLCBXZWJzaXRlRGF0YVRvUmVtb3ZlPiByZWdpc3Ry
YWJsZURvbWFpbnNUb1JlbW92ZVdlYnNpdGVEYXRhRm9yKCkgb3ZlcnJpZGU7CisgICAgVmVjdG9y
PHN0ZDo6cGFpcjxSZWdpc3RyYWJsZURvbWFpbiwgV2Vic2l0ZURhdGFUb1JlbW92ZT4+IHJlZ2lz
dHJhYmxlRG9tYWluc1RvUmVtb3ZlV2Vic2l0ZURhdGFGb3IoKSBvdmVycmlkZTsKICAgICBib29s
IGlzRGF0YWJhc2VTdG9yZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KIAogICAgIGJv
b2wgY3JlYXRlU2NoZW1hKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWVtb3J5U3RvcmUuY3BwCmluZGV4IGY2ZWU5MmY5YjY4ZDMyZjA3ZTUyMTVkMzAzNTQ5OTUx
NDRmN2E4M2EuLjY4Yzk5NzlhNWUzNTQyNWMxZjM2YWE3ZTVjMzgxZjAzN2NmYTI0YzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuY3BwCkBA
IC04MjksNyArODI5LDcgQEAgYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU6
OnNob3VsZFJlbW92ZUFsbEJ1dENvb2tpZXNGb3IoUmVzb3VyY2VMb2EKICAgICByZXR1cm4gcmVz
b3VyY2VTdGF0aXN0aWMuZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2UgJiYg
IWhhc0hhZFVuZXhwaXJlZFJlY2VudFVzZXJJbnRlcmFjdGlvbihyZXNvdXJjZVN0YXRpc3RpYywg
T3BlcmF0aW5nRGF0ZXNXaW5kb3c6OlNob3J0KSAmJiAoIXNob3VsZENoZWNrRm9yR3JhbmRmYXRo
ZXJpbmcgfHwgIXJlc291cmNlU3RhdGlzdGljLmdyYW5kZmF0aGVyZWQpOwogfQogCi1IYXNoTWFw
PFJlZ2lzdHJhYmxlRG9tYWluLCBXZWJzaXRlRGF0YVRvUmVtb3ZlPiBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWVtb3J5U3RvcmU6OnJlZ2lzdHJhYmxlRG9tYWluc1RvUmVtb3ZlV2Vic2l0ZURhdGFG
b3IoKQorVmVjdG9yPHN0ZDo6cGFpcjxSZWdpc3RyYWJsZURvbWFpbiwgV2Vic2l0ZURhdGFUb1Jl
bW92ZT4+IFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZTo6cmVnaXN0cmFibGVEb21h
aW5zVG9SZW1vdmVXZWJzaXRlRGF0YUZvcigpCiB7CiAgICAgQVNTRVJUKCFSdW5Mb29wOjppc01h
aW4oKSk7CiAKQEAgLTgzOSwxMiArODM5LDEyIEBAIEhhc2hNYXA8UmVnaXN0cmFibGVEb21haW4s
IFdlYnNpdGVEYXRhVG9SZW1vdmU+IFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yCiAg
ICAgaWYgKHNob3VsZENsZWFyR3JhbmRmYXRoZXJpbmcpCiAgICAgICAgIGNsZWFyRW5kT2ZHcmFu
ZGZhdGhlcmluZ1RpbWVTdGFtcCgpOwogCi0gICAgSGFzaE1hcDxSZWdpc3RyYWJsZURvbWFpbiwg
V2Vic2l0ZURhdGFUb1JlbW92ZT4gZG9tYWluc1RvUmVtb3ZlV2Vic2l0ZURhdGFGb3I7CisgICAg
VmVjdG9yPHN0ZDo6cGFpcjxSZWdpc3RyYWJsZURvbWFpbiwgV2Vic2l0ZURhdGFUb1JlbW92ZT4+
IGRvbWFpbnNUb1JlbW92ZVdlYnNpdGVEYXRhRm9yOwogICAgIGZvciAoYXV0byYgc3RhdGlzdGlj
IDogbV9yZXNvdXJjZVN0YXRpc3RpY3NNYXAudmFsdWVzKCkpIHsKICAgICAgICAgaWYgKHNob3Vs
ZFJlbW92ZUFsbFdlYnNpdGVEYXRhRm9yKHN0YXRpc3RpYywgc2hvdWxkQ2hlY2tGb3JHcmFuZGZh
dGhlcmluZykpCi0gICAgICAgICAgICBkb21haW5zVG9SZW1vdmVXZWJzaXRlRGF0YUZvci5hZGQo
c3RhdGlzdGljLnJlZ2lzdHJhYmxlRG9tYWluLCBXZWJzaXRlRGF0YVRvUmVtb3ZlOjpBbGwpOwor
ICAgICAgICAgICAgZG9tYWluc1RvUmVtb3ZlV2Vic2l0ZURhdGFGb3IuYXBwZW5kKHN0ZDo6bWFr
ZV9wYWlyKHN0YXRpc3RpYy5yZWdpc3RyYWJsZURvbWFpbiwgV2Vic2l0ZURhdGFUb1JlbW92ZTo6
QWxsKSk7CiAgICAgICAgIGVsc2UgaWYgKHNob3VsZFJlbW92ZUFsbEJ1dENvb2tpZXNGb3Ioc3Rh
dGlzdGljLCBzaG91bGRDaGVja0ZvckdyYW5kZmF0aGVyaW5nKSkgewotICAgICAgICAgICAgZG9t
YWluc1RvUmVtb3ZlV2Vic2l0ZURhdGFGb3IuYWRkKHN0YXRpc3RpYy5yZWdpc3RyYWJsZURvbWFp
biwgV2Vic2l0ZURhdGFUb1JlbW92ZTo6QWxsQnV0Q29va2llcyk7CisgICAgICAgICAgICBkb21h
aW5zVG9SZW1vdmVXZWJzaXRlRGF0YUZvci5hcHBlbmQoc3RkOjptYWtlX3BhaXIoc3RhdGlzdGlj
LnJlZ2lzdHJhYmxlRG9tYWluLCBXZWJzaXRlRGF0YVRvUmVtb3ZlOjpBbGxCdXRDb29raWVzKSk7
CiAgICAgICAgICAgICBzdGF0aXN0aWMuZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVz
b3VyY2UgPSBmYWxzZTsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3Jl
LmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01lbW9yeVN0b3JlLmgKaW5kZXggYTRhN2I4OGUyZGZiMDAzNDZiZGMyNzFmZWI3
ZTViMjRiYTgyMDk2Mi4uM2Q5OGFkMTk2ZmNmOWQ2ZWQ2ZTRiZDljMjM5MTcyMWYwZjM3NmY4NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaApA
QCAtMTMwLDcgKzEzMCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZW1vdmVEYXRhUmVjb3JkcyhD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgcHJ1bmVTdGF0aXN0aWNzSWZO
ZWVkZWQoKSBvdmVycmlkZTsKICAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiBlbnN1cmVSZXNv
dXJjZVN0YXRpc3RpY3NGb3JSZWdpc3RyYWJsZURvbWFpbihjb25zdCBSZWdpc3RyYWJsZURvbWFp
biYpOwotICAgIEhhc2hNYXA8UmVnaXN0cmFibGVEb21haW4sIFdlYnNpdGVEYXRhVG9SZW1vdmU+
IHJlZ2lzdHJhYmxlRG9tYWluc1RvUmVtb3ZlV2Vic2l0ZURhdGFGb3IoKSBvdmVycmlkZTsKKyAg
ICBWZWN0b3I8c3RkOjpwYWlyPFJlZ2lzdHJhYmxlRG9tYWluLCBXZWJzaXRlRGF0YVRvUmVtb3Zl
Pj4gcmVnaXN0cmFibGVEb21haW5zVG9SZW1vdmVXZWJzaXRlRGF0YUZvcigpIG92ZXJyaWRlOwog
ICAgIGJvb2wgaXNNZW1vcnlTdG9yZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KIAog
ICAgIFdlYWtQdHI8UmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlPiBtX3Bl
cnNpc3RlbnRTdG9yYWdlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
LmNwcAppbmRleCBkMzNmZDNlZTVmNjlkZjg3NGI0NGM2NThlMmU5YzcyYWEyYmE1NDY2Li43MDdm
ZjgyMGZiZTE2YmZhZjQ1MzRhOGRjNGU0NTFmM2YwOTYyZWZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcApAQCAtNjUsMTQgKzY1LDE2IEBAIHN0YXRpYyBT
dHJpbmcgZG9tYWluc1RvU3RyaW5nKGNvbnN0IFZlY3RvcjxSZWdpc3RyYWJsZURvbWFpbj4mIGRv
bWFpbnMpCiAgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKIH0KIAotc3RhdGljIFN0cmlu
ZyBkb21haW5zVG9TdHJpbmcoY29uc3QgSGFzaE1hcDxSZWdpc3RyYWJsZURvbWFpbiwgV2Vic2l0
ZURhdGFUb1JlbW92ZT4mIGRvbWFpbnNUb1JlbW92ZVdlYnNpdGVEYXRhRm9yKQorc3RhdGljIFN0
cmluZyBkb21haW5zVG9TdHJpbmcoY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxSZWdpc3RyYWJsZURv
bWFpbiwgV2Vic2l0ZURhdGFUb1JlbW92ZT4+JiBkb21haW5zVG9SZW1vdmVXZWJzaXRlRGF0YUZv
cikKIHsKICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7Ci0gICAgZm9yIChhdXRvJiBkb21haW4g
OiBkb21haW5zVG9SZW1vdmVXZWJzaXRlRGF0YUZvci5rZXlzKCkpIHsKKyAgICBmb3IgKGF1dG8m
IHBhaXIgOiBkb21haW5zVG9SZW1vdmVXZWJzaXRlRGF0YUZvcikgeworICAgICAgICBhdXRvJiBk
b21haW4gPSBwYWlyLmZpcnN0OworICAgICAgICBhdXRvJiBkYXRhVG9SZW1vdmUgPSBwYWlyLnNl
Y29uZDsKICAgICAgICAgaWYgKCFidWlsZGVyLmlzRW1wdHkoKSkKICAgICAgICAgICAgIGJ1aWxk
ZXIuYXBwZW5kTGl0ZXJhbCgiLCAiKTsKICAgICAgICAgYnVpbGRlci5hcHBlbmQoZG9tYWluLnN0
cmluZygpKTsKLSAgICAgICAgc3dpdGNoIChkb21haW5zVG9SZW1vdmVXZWJzaXRlRGF0YUZvci5n
ZXQoZG9tYWluKSkgeworICAgICAgICBzd2l0Y2ggKGRhdGFUb1JlbW92ZSkgewogICAgICAgICBj
YXNlIFdlYnNpdGVEYXRhVG9SZW1vdmU6OkFsbDoKICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5k
TGl0ZXJhbCgiKGFsbCBkYXRhKSIpOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKaW5kZXggZmRiOTJiNDU1ZDk3NDlmNDZiNTAyYTI2
MjVkYTNkZGVhYjFhODNjOS4uNjJlNzVkMWJmM2Y4MWNiYTM0ZTU3YTA3Y2E0ODE5NWJkNDZiMTU4
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaApAQCAtMTk4LDcg
KzE5OCw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHNjaGVkdWxlU3RhdGlzdGljc1Byb2Nlc3Np
bmdSZXF1ZXN0SWZOZWNlc3NhcnkoKTsKICAgICB2b2lkIG1lcmdlT3BlcmF0aW5nRGF0ZXMoVmVj
dG9yPE9wZXJhdGluZ0RhdGU+JiYpOwogICAgIHZpcnR1YWwgVmVjdG9yPFJlZ2lzdHJhYmxlRG9t
YWluPiBlbnN1cmVQcmV2YWxlbnRSZXNvdXJjZXNGb3JEZWJ1Z01vZGUoKSA9IDA7Ci0gICAgdmly
dHVhbCBIYXNoTWFwPFJlZ2lzdHJhYmxlRG9tYWluLCBXZWJzaXRlRGF0YVRvUmVtb3ZlPiByZWdp
c3RyYWJsZURvbWFpbnNUb1JlbW92ZVdlYnNpdGVEYXRhRm9yKCkgPSAwOworICAgIHZpcnR1YWwg
VmVjdG9yPHN0ZDo6cGFpcjxSZWdpc3RyYWJsZURvbWFpbiwgV2Vic2l0ZURhdGFUb1JlbW92ZT4+
IHJlZ2lzdHJhYmxlRG9tYWluc1RvUmVtb3ZlV2Vic2l0ZURhdGFGb3IoKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIHBydW5lU3RhdGlzdGljc0lmTmVlZGVkKCkgPSAwOwogCiAgICAgV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlJiBzdG9yZSgpIHsgcmV0dXJuIG1fc3RvcmU7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9D
bGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKaW5kZXggZjIyODY2
MzU1YzVhZjVhMjYyMDU2MzdhZTUyZmRmNzFjOTE2MjIwMy4uNDNiMzZmMWU5ZDgxM2E3MmQ5MmZj
MDk0ZWY2OTRhYWY0MTM0NTdhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZS5jcHAKQEAgLTEwMTgsNyArMTAxOCw3IEBAIHZvaWQgV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlOjppbnZhbGlkYXRlQW5kQ2FuY2VsKCkKICAgICBtX25ldHdvcmtT
ZXNzaW9uID0gbnVsbHB0cjsKIH0KIAotdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmU6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yUmVnaXN0cmFibGVEb21haW5zKE9wdGlvblNldDxXZWJz
aXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgSGFzaE1hcDxSZWdpc3RyYWJsZURvbWFpbiwgV2Vic2l0
ZURhdGFUb1JlbW92ZT4mJiBkb21haW5zVG9SZW1vdmVXZWJzaXRlRGF0YUZvciwgYm9vbCBzaG91
bGROb3RpZnlQYWdlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IEhhc2hTZXQ8UmVnaXN0
cmFibGVEb21haW4+Jik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JSZWdpc3RyYWJsZURvbWFpbnMo
T3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBWZWN0b3I8c3RkOjpwYWlyPFJl
Z2lzdHJhYmxlRG9tYWluLCBXZWJzaXRlRGF0YVRvUmVtb3ZlPj4mJiBkb21haW5zVG9SZW1vdmVX
ZWJzaXRlRGF0YUZvciwgYm9vbCBzaG91bGROb3RpZnlQYWdlLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGNvbnN0IEhhc2hTZXQ8UmVnaXN0cmFibGVEb21haW4+Jik+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKICAgICAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmll
ci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAppbmRleCA5ZGExYjZiYjUyMTUyMWEw
MTI0MjM0Y2Q0MzI3MTE1NmY4Y2UwYjVmLi4wNzlmODA1YmVlZmEzZDAxY2Q1NmRmMzcyYjc1NjY0
NTI2ZTVmYzcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNz
aWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZS5oCkBAIC0xMjMsNyArMTIzLDcgQEAgcHVibGljOgogICAgIHZvaWQgbG9nU3VicmVzb3VyY2VS
ZWRpcmVjdChjb25zdCBSZWRpcmVjdGVkRnJvbURvbWFpbiYsIGNvbnN0IFJlZGlyZWN0ZWRUb0Rv
bWFpbiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBsb2dDcm9zc1Np
dGVMb2FkV2l0aExpbmtEZWNvcmF0aW9uKGNvbnN0IE5hdmlnYXRlZEZyb21Eb21haW4mLCBjb25z
dCBOYXZpZ2F0ZWRUb0RvbWFpbiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAg
dm9pZCBjbGVhclVzZXJJbnRlcmFjdGlvbihjb25zdCBUb3BGcmFtZURvbWFpbiYsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJik7Ci0gICAgdm9pZCBkZWxldGVXZWJzaXRlRGF0YUZvclJlZ2lz
dHJhYmxlRG9tYWlucyhPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiwgSGFzaE1hcDxSZWdpc3Ry
YWJsZURvbWFpbiwgV2Vic2l0ZURhdGFUb1JlbW92ZT4mJiwgYm9vbCBzaG91bGROb3RpZnlQYWdl
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IEhhc2hTZXQ8UmVnaXN0cmFibGVEb21haW4+
Jik+JiYpOworICAgIHZvaWQgZGVsZXRlV2Vic2l0ZURhdGFGb3JSZWdpc3RyYWJsZURvbWFpbnMo
T3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4sIFZlY3RvcjxzdGQ6OnBhaXI8UmVnaXN0cmFibGVE
b21haW4sIFdlYnNpdGVEYXRhVG9SZW1vdmU+PiYmLCBib29sIHNob3VsZE5vdGlmeVBhZ2UsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgSGFzaFNldDxSZWdpc3RyYWJsZURvbWFpbj4mKT4m
Jik7CiAgICAgdm9pZCByZWdpc3RyYWJsZURvbWFpbnNXaXRoV2Vic2l0ZURhdGEoT3B0aW9uU2V0
PFdlYnNpdGVEYXRhVHlwZT4sIGJvb2wgc2hvdWxkTm90aWZ5UGFnZSwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChIYXNoU2V0PFJlZ2lzdHJhYmxlRG9tYWluPiYmKT4mJik7CiAgICAgU3RvcmFnZUFj
Y2Vzc1dhc0dyYW50ZWQgZ3JhbnRTdG9yYWdlQWNjZXNzKGNvbnN0IFN1YkZyYW1lRG9tYWluJiwg
Y29uc3QgVG9wRnJhbWVEb21haW4mLCBPcHRpb25hbDxXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXI+
LCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllcik7CiAgICAgdm9pZCBoYXNIYWRVc2VySW50ZXJhY3Rp
b24oY29uc3QgUmVnaXN0cmFibGVEb21haW4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wp
PiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5j
cHAKaW5kZXggNWY2Yjk5NTg4ZmZmZjI2ZWY1ZThlZjU0YTBmZDYxNjM4YWU3YjMwNi4uY2EwZGYw
MjViYmZkNTI1NmNlOWQ0MGU2M2I2NTFiNGMwZDYwODBjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTE1OTcsNyArMTU5Nyw3IEBA
IHN0YXRpYyBWZWN0b3I8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiBmaWx0ZXJGb3JSZWdp
c3RyYWJsZURvbWFpbnMoY29uc3QgSGFzCiAgICAgcmV0dXJuIG9yaWdpbnNEZWxldGVkOwogfQog
Ci12b2lkIE5ldHdvcmtQcm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZvclJlZ2lzdHJhYmxlRG9t
YWlucyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+
IHdlYnNpdGVEYXRhVHlwZXMsIEhhc2hNYXA8UmVnaXN0cmFibGVEb21haW4sIFdlYnNpdGVEYXRh
VG9SZW1vdmU+JiYgZG9tYWlucywgYm9vbCBzaG91bGROb3RpZnlQYWdlLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGNvbnN0IEhhc2hTZXQ8UmVnaXN0cmFibGVEb21haW4+Jik+JiYgY29tcGxldGlv
bkhhbmRsZXIpCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZvclJlZ2lz
dHJhYmxlRG9tYWlucyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRl
RGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMsIFZlY3RvcjxzdGQ6OnBhaXI8UmVnaXN0cmFibGVE
b21haW4sIFdlYnNpdGVEYXRhVG9SZW1vdmU+PiYmIGRvbWFpbnMsIGJvb2wgc2hvdWxkTm90aWZ5
UGFnZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBIYXNoU2V0PFJlZ2lzdHJhYmxlRG9t
YWluPiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIE9wdGlvblNldDxXZWJzaXRlRGF0
YUZldGNoT3B0aW9uPiBmZXRjaE9wdGlvbnMgPSBXZWJzaXRlRGF0YUZldGNoT3B0aW9uOjpEb05v
dENyZWF0ZVByb2Nlc3NlczsKIApAQCAtMTYzNSw5ICsxNjM1LDExIEBAIHZvaWQgTmV0d29ya1By
b2Nlc3M6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yUmVnaXN0cmFibGVEb21haW5zKFBBTDo6U2Vzc2lv
bklEIHNlc3NpCiAgICAgVmVjdG9yPFJlZ2lzdHJhYmxlRG9tYWluPiBkb21haW5zVG9EZWxldGVB
bGxCdXRDb29raWVzRm9yOwogICAgIFZlY3RvcjxTdHJpbmc+IGhvc3RuYW1lc1dpdGhDb29raWVz
VG9EZWxldGU7CiAgICAgaWYgKHdlYnNpdGVEYXRhVHlwZXMuY29udGFpbnMoV2Vic2l0ZURhdGFU
eXBlOjpDb29raWVzKSkgewotICAgICAgICBmb3IgKGF1dG8mIGRvbWFpbiA6IGRvbWFpbnMua2V5
cygpKSB7CisgICAgICAgIGZvciAoYXV0byYgcGFpciA6IGRvbWFpbnMpIHsKKyAgICAgICAgICAg
IGF1dG8mIGRvbWFpbiA9IHBhaXIuZmlyc3Q7CisgICAgICAgICAgICBhdXRvJiBkYXRhVG9SZW1v
dmUgPSBwYWlyLnNlY29uZDsKICAgICAgICAgICAgIGRvbWFpbnNUb0RlbGV0ZUFsbEJ1dENvb2tp
ZXNGb3IuYXBwZW5kKGRvbWFpbik7Ci0gICAgICAgICAgICBzd2l0Y2ggKGRvbWFpbnMuZ2V0KGRv
bWFpbikpIHsKKyAgICAgICAgICAgIHN3aXRjaCAoZGF0YVRvUmVtb3ZlKSB7CiAgICAgICAgICAg
ICBjYXNlIFdlYnNpdGVEYXRhVG9SZW1vdmU6OkFsbDoKICAgICAgICAgICAgICAgICBkb21haW5z
VG9EZWxldGVDb29raWVzRm9yLmFwcGVuZChkb21haW4pOwogICAgICAgICAgICAgICAgIGJyZWFr
OwpAQCAtMTY2NSw4ICsxNjY3LDggQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6ZGVsZXRlV2Vic2l0
ZURhdGFGb3JSZWdpc3RyYWJsZURvbWFpbnMoUEFMOjpTZXNzaW9uSUQgc2Vzc2kKICAgICAgICAg
ICAgICAgICBjYWxsYmFja0FnZ3JlZ2F0b3ItPm1fZG9tYWlucy5hZGQoUmVnaXN0cmFibGVEb21h
aW46OnVuY2hlY2tlZENyZWF0ZUZyb21Ib3N0KGhvc3QpKTsKICAgICAgICAgfQogICAgIH0gZWxz
ZSB7Ci0gICAgICAgIGZvciAoYXV0byYgZG9tYWluIDogZG9tYWlucy5rZXlzKCkpCi0gICAgICAg
ICAgICBkb21haW5zVG9EZWxldGVBbGxCdXRDb29raWVzRm9yLmFwcGVuZChkb21haW4pOworICAg
ICAgICBmb3IgKGF1dG8mIGRvbWFpbiA6IGRvbWFpbnMpCisgICAgICAgICAgICBkb21haW5zVG9E
ZWxldGVBbGxCdXRDb29raWVzRm9yLmFwcGVuZChkb21haW4uZmlyc3QpOwogICAgIH0KIAogICAg
IFZlY3RvcjxTdHJpbmc+IGhvc3RuYW1lc1dpdGhIU1RTVG9EZWxldGU7CkBAIC0xNzkzLDggKzE3
OTUsOSBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZvclJlZ2lzdHJh
YmxlRG9tYWlucyhQQUw6OlNlc3Npb25JRCBzZXNzaQogdm9pZCBOZXR3b3JrUHJvY2Vzczo6ZGVs
ZXRlQ29va2llc0ZvclRlc3RpbmcoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBSZWdpc3RyYWJs
ZURvbWFpbiBkb21haW4sIGJvb2wgaW5jbHVkZUh0dHBPbmx5Q29va2llcywgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIE9wdGlvblNldDxXZWJz
aXRlRGF0YVR5cGU+IGNvb2tpZVR5cGUgPSBXZWJzaXRlRGF0YVR5cGU6OkNvb2tpZXM7Ci0gICAg
SGFzaE1hcDxSZWdpc3RyYWJsZURvbWFpbiwgV2Vic2l0ZURhdGFUb1JlbW92ZT4gdG9EZWxldGVG
b3I7Ci0gICAgdG9EZWxldGVGb3IuYWRkKGRvbWFpbiwgaW5jbHVkZUh0dHBPbmx5Q29va2llcyA/
IFdlYnNpdGVEYXRhVG9SZW1vdmU6OkFsbCA6IFdlYnNpdGVEYXRhVG9SZW1vdmU6OkFsbEJ1dEh0
dHBPbmx5Q29va2llcyk7CisgICAgVmVjdG9yPHN0ZDo6cGFpcjxSZWdpc3RyYWJsZURvbWFpbiwg
V2Vic2l0ZURhdGFUb1JlbW92ZT4+IHRvRGVsZXRlRm9yID0geworICAgICAgICBzdGQ6Om1ha2Vf
cGFpcihkb21haW4sIGluY2x1ZGVIdHRwT25seUNvb2tpZXMgPyBXZWJzaXRlRGF0YVRvUmVtb3Zl
OjpBbGwgOiBXZWJzaXRlRGF0YVRvUmVtb3ZlOjpBbGxCdXRIdHRwT25seUNvb2tpZXMpCisgICAg
fTsKICAgICBkZWxldGVXZWJzaXRlRGF0YUZvclJlZ2lzdHJhYmxlRG9tYWlucyhzZXNzaW9uSUQs
IGNvb2tpZVR5cGUsIFdURk1vdmUodG9EZWxldGVGb3IpLCB0cnVlLCBbY29tcGxldGlvbkhhbmRs
ZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKGNvbnN0IEhhc2hTZXQ8UmVnaXN0cmFi
bGVEb21haW4+JiBkb21haW5zRGVsZXRlZEZvcikgbXV0YWJsZSB7CiAgICAgICAgIFVOVVNFRF9Q
QVJBTShkb21haW5zRGVsZXRlZEZvcik7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggNjY3
YTZlNDc4ZGExMmFiNjY1MTAzMmFhMzEyNWVmN2ZhNDEzY2M3MC4uYWY2NzQ1NjNhMDc1NmMwMmM3
YTg1ZjAzOGY5MmU1NzBhM2QwZDgxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMjA4LDcgKzIwOCw3IEBAIHB1YmxpYzoKICNpZiBFTkFC
TEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQogICAgIHZvaWQgY2xlYXJQcmV2YWxlbnRSZXNv
dXJjZShQQUw6OlNlc3Npb25JRCwgY29uc3QgUmVnaXN0cmFibGVEb21haW4mLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgY2xlYXJVc2VySW50ZXJhY3Rpb24oUEFMOjpT
ZXNzaW9uSUQsIGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWluJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKTsKLSAgICB2b2lkIGRlbGV0ZVdlYnNpdGVEYXRhRm9yUmVnaXN0cmFibGVEb21haW5z
KFBBTDo6U2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiwgSGFzaE1hcDxSZWdp
c3RyYWJsZURvbWFpbiwgV2Vic2l0ZURhdGFUb1JlbW92ZT4mJiwgYm9vbCBzaG91bGROb3RpZnlQ
YWdlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IEhhc2hTZXQ8UmVnaXN0cmFibGVEb21h
aW4+Jik+JiYpOworICAgIHZvaWQgZGVsZXRlV2Vic2l0ZURhdGFGb3JSZWdpc3RyYWJsZURvbWFp
bnMoUEFMOjpTZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+LCBWZWN0b3I8c3Rk
OjpwYWlyPFJlZ2lzdHJhYmxlRG9tYWluLCBXZWJzaXRlRGF0YVRvUmVtb3ZlPj4mJiwgYm9vbCBz
aG91bGROb3RpZnlQYWdlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IEhhc2hTZXQ8UmVn
aXN0cmFibGVEb21haW4+Jik+JiYpOwogICAgIHZvaWQgZGVsZXRlQ29va2llc0ZvclRlc3Rpbmco
UEFMOjpTZXNzaW9uSUQsIFJlZ2lzdHJhYmxlRG9tYWluLCBib29sIGluY2x1ZGVIdHRwT25seUNv
b2tpZXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBkdW1wUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcyhQQUw6OlNlc3Npb25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChT
dHJpbmcpPiYmKTsKICAgICB2b2lkIHVwZGF0ZVByZXZhbGVudERvbWFpbnNUb0Jsb2NrQ29va2ll
c0ZvcihQQUw6OlNlc3Npb25JRCwgY29uc3QgVmVjdG9yPFJlZ2lzdHJhYmxlRG9tYWluPiYgZG9t
YWluc1RvQmxvY2ssIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uY3BwCmluZGV4IDFhMTM5NjI5MTZh
OTkyNDA0MDA4YTJlZjIxYTQxOTNlNmMxNzY2ZWMuLmQ5ZWM4MzMyYWJhM2JmMGQ2MzRlZDJjYzFh
ZGE0ZDc2MDljNmZmZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Nlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Nlc3Npb24uY3BwCkBAIC0xNzYsNyArMTc2LDcgQEAgdm9pZCBOZXR3b3JrU2Vzc2lvbjo6
bm90aWZ5UGFnZVN0YXRpc3RpY3NUZWxlbWV0cnlGaW5pc2hlZCh1bnNpZ25lZCB0b3RhbFByZXZh
bGUKICAgICBtX25ldHdvcmtQcm9jZXNzLT5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5k
KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpOb3RpZnlSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzVGVsZW1ldHJ5RmluaXNoZWQodG90YWxQcmV2YWxlbnRSZXNvdXJjZXMsIHRvdGFsUHJldmFs
ZW50UmVzb3VyY2VzV2l0aFVzZXJJbnRlcmFjdGlvbiwgdG9wM1N1YmZyYW1lVW5kZXJUb3BGcmFt
ZU9yaWdpbnMpLCAwKTsKIH0KIAotdm9pZCBOZXR3b3JrU2Vzc2lvbjo6ZGVsZXRlV2Vic2l0ZURh
dGFGb3JSZWdpc3RyYWJsZURvbWFpbnMoT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5
cGVzLCBIYXNoTWFwPFJlZ2lzdHJhYmxlRG9tYWluLCBXZWJzaXRlRGF0YVRvUmVtb3ZlPiYmIGRv
bWFpbnMsIGJvb2wgc2hvdWxkTm90aWZ5UGFnZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25z
dCBIYXNoU2V0PFJlZ2lzdHJhYmxlRG9tYWluPiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9p
ZCBOZXR3b3JrU2Vzc2lvbjo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JSZWdpc3RyYWJsZURvbWFpbnMo
T3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBWZWN0b3I8c3RkOjpwYWlyPFJl
Z2lzdHJhYmxlRG9tYWluLCBXZWJzaXRlRGF0YVRvUmVtb3ZlPj4mJiBkb21haW5zLCBib29sIHNo
b3VsZE5vdGlmeVBhZ2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgSGFzaFNldDxSZWdp
c3RyYWJsZURvbWFpbj4mKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBtX25ldHdvcmtQ
cm9jZXNzLT5kZWxldGVXZWJzaXRlRGF0YUZvclJlZ2lzdHJhYmxlRG9tYWlucyhtX3Nlc3Npb25J
RCwgZGF0YVR5cGVzLCBXVEZNb3ZlKGRvbWFpbnMpLCBzaG91bGROb3RpZnlQYWdlLCBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtTZXNzaW9uLmgKaW5kZXggZjNlMWMwNmNjMzZmMWZhZDljZDFmMjVkY2E2ZTI5MzFm
YTExNGE0NS4uMzE4ZWNlNGE0NGIyNGM0NWYxZDcwNjlkOTg2YTMzMjJhOWE1MDI5YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaApAQCAtODUsNyAr
ODUsNyBAQCBwdWJsaWM6CiAgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlKiByZXNv
dXJjZUxvYWRTdGF0aXN0aWNzKCkgY29uc3QgeyByZXR1cm4gbV9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzLmdldCgpOyB9CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChi
b29sKTsKICAgICB2b2lkIG5vdGlmeVJlc291cmNlTG9hZFN0YXRpc3RpY3NQcm9jZXNzZWQoKTsK
LSAgICB2b2lkIGRlbGV0ZVdlYnNpdGVEYXRhRm9yUmVnaXN0cmFibGVEb21haW5zKE9wdGlvblNl
dDxXZWJzaXRlRGF0YVR5cGU+LCBIYXNoTWFwPFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluLCBX
ZWJzaXRlRGF0YVRvUmVtb3ZlPiYmLCBib29sIHNob3VsZE5vdGlmeVBhZ2UsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoY29uc3QgSGFzaFNldDxXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbj4mKT4m
Jik7CisgICAgdm9pZCBkZWxldGVXZWJzaXRlRGF0YUZvclJlZ2lzdHJhYmxlRG9tYWlucyhPcHRp
b25TZXQ8V2Vic2l0ZURhdGFUeXBlPiwgVmVjdG9yPHN0ZDo6cGFpcjxXZWJDb3JlOjpSZWdpc3Ry
YWJsZURvbWFpbiwgV2Vic2l0ZURhdGFUb1JlbW92ZT4+JiYsIGJvb2wgc2hvdWxkTm90aWZ5UGFn
ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBIYXNoU2V0PFdlYkNvcmU6OlJlZ2lzdHJh
YmxlRG9tYWluPiYpPiYmKTsKICAgICB2b2lkIHJlZ2lzdHJhYmxlRG9tYWluc1dpdGhXZWJzaXRl
RGF0YShPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiwgYm9vbCBzaG91bGROb3RpZnlQYWdlLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKEhhc2hTZXQ8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+
JiYpPiYmKTsKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgdW5zaWduZWQgdmFsdWUs
IHVuc2lnbmVkIHNpZ25pZmljYW50RmlndXJlcywgV2ViQ29yZTo6U2hvdWxkU2FtcGxlKTsKICAg
ICB2b2lkIG5vdGlmeVBhZ2VTdGF0aXN0aWNzVGVsZW1ldHJ5RmluaXNoZWQodW5zaWduZWQgdG90
YWxQcmV2YWxlbnRSZXNvdXJjZXMsIHVuc2lnbmVkIHRvdGFsUHJldmFsZW50UmVzb3VyY2VzV2l0
aFVzZXJJbnRlcmFjdGlvbiwgdW5zaWduZWQgdG9wM1N1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdp
bnMpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>