<?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>215246</bug_id>
          
          <creation_ts>2020-08-06 16:41:06 -0700</creation_ts>
          <short_desc>Stop storing the sampleRate on AudioNode and get it from the AudioContext instead</short_desc>
          <delta_ts>2020-08-07 09:05:51 -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>Web Audio</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>
          
          <blocked>212611</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>clark_wang</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1678457</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-06 16:41:06 -0700</bug_when>
    <thetext>Stop storing the sampleRate on AudioNode and get it from the AudioContext instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678458</commentid>
    <comment_count>1</comment_count>
      <attachid>406128</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-06 16:44:00 -0700</bug_when>
    <thetext>Created attachment 406128
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678603</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-07 09:04:02 -0700</bug_when>
    <thetext>Committed r265375: &lt;https://trac.webkit.org/changeset/265375&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 406128.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678604</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-07 09:05:51 -0700</bug_when>
    <thetext>&lt;rdar://problem/66683985&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406128</attachid>
            <date>2020-08-06 16:44:00 -0700</date>
            <delta_ts>2020-08-07 09:04:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215246-20200806164400.patch</filename>
            <type>text/plain</type>
            <size>38839</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MzUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTRlZGUzM2JiNTVmYjQ4
YzgxZDE3ZjU4YmUzNDBmYmZhOTU5N2JhMi4uMWVhMjkzYzdhMDFjZmY4ZGRmZjkzNjNkYTZjMzA3
MWQwYmIwOTZhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDIwLTA4LTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3RvcCBzdG9yaW5nIHRoZSBz
YW1wbGVSYXRlIG9uIEF1ZGlvTm9kZSBhbmQgZ2V0IGl0IGZyb20gdGhlIEF1ZGlvQ29udGV4dCBp
bnN0ZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTUyNDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBT
dG9wIHN0b3JpbmcgdGhlIHNhbXBsZVJhdGUgb24gQXVkaW9Ob2RlIGFuZCBnZXQgaXQgZnJvbSB0
aGUgQXVkaW9Db250ZXh0IGluc3RlYWQuCisgICAgICAgIFRoaXMgYXZvaWRzIGhhdmluZyB0byBw
YXNzIHRoZSBzYW1wbGVSYXRlIGV2ZXJ5d2hlcmUgd2hlbiB3ZSBjb25zdHJ1Y3Qgbm9kZXMuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1ZGlvL0FuYWx5c2VyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbmFs
eXNlck5vZGU6OkFuYWx5c2VyTm9kZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRp
b0Jhc2ljSW5zcGVjdG9yTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0Jhc2ljSW5z
cGVjdG9yTm9kZTo6QXVkaW9CYXNpY0luc3BlY3Rvck5vZGUpOgorICAgICAgICAqIE1vZHVsZXMv
d2ViYXVkaW8vQXVkaW9CYXNpY0luc3BlY3Rvck5vZGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQmFzaWNQcm9jZXNzb3JOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvQmFzaWNQcm9jZXNzb3JOb2RlOjpBdWRpb0Jhc2ljUHJvY2Vzc29yTm9kZSk6CisgICAgICAg
ICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Jhc2ljUHJvY2Vzc29yTm9kZS5oOgorICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkF1ZGlvQnVmZmVyU291cmNlTm9kZTo6QXVkaW9CdWZmZXJTb3VyY2VOb2RlKToKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkF1ZGlvRGVzdGluYXRpb25Ob2RlOjpBdWRpb0Rlc3RpbmF0aW9uTm9kZSk6
CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9uTm9kZS5oOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkF1ZGlvTm9kZTo6QXVkaW9Ob2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvTm9kZTo6c2Ft
cGxlUmF0ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb05vZGU6OnByb2Nlc3NJZk5l
Y2Vzc2FyeSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGUuaDoKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGU6OkF1ZGlvU2NoZWR1bGVkU291
cmNlTm9kZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNvdXJj
ZU5vZGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6QmFzZUF1ZGlvQ29udGV4dDo6Y3JlYXRlU2NyaXB0UHJvY2Vz
c29yKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZEZpbHRlck5vZGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QmlxdWFkRmlsdGVyTm9kZTo6QmlxdWFkRmlsdGVyTm9kZSk6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsTWVyZ2VyTm9kZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDaGFubmVsTWVyZ2VyTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNoYW5uZWxNZXJnZXJOb2RlOjpDaGFubmVsTWVyZ2VyTm9kZSk6CisgICAgICAgICogTW9kdWxl
cy93ZWJhdWRpby9DaGFubmVsTWVyZ2VyTm9kZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVk
aW8vQ2hhbm5lbFNwbGl0dGVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaGFubmVsU3Bs
aXR0ZXJOb2RlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2hhbm5lbFNwbGl0dGVyTm9k
ZTo6Q2hhbm5lbFNwbGl0dGVyTm9kZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9DaGFu
bmVsU3BsaXR0ZXJOb2RlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9Db252b2x2ZXJO
b2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnZvbHZlck5vZGU6OkNvbnZvbHZlck5vZGUp
OgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2Rl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6RGVm
YXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZmF1bHRBdWRp
b0Rlc3RpbmF0aW9uTm9kZTo6c2FtcGxlUmF0ZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93
ZWJhdWRpby9EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuaDoKKyAgICAgICAgKiBNb2R1bGVz
L3dlYmF1ZGlvL0RlbGF5Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWxheU5vZGU6OkRl
bGF5Tm9kZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9EeW5hbWljc0NvbXByZXNzb3JO
b2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkR5bmFtaWNzQ29tcHJlc3Nvck5vZGU6OkR5bmFt
aWNzQ29tcHJlc3Nvck5vZGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R2Fpbk5vZGU6OkdhaW5Ob2RlKToKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU6Ok1lZGlhRWxlbWVudEF1ZGlv
U291cmNlTm9kZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlv
RGVzdGluYXRpb25Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtQXVkaW9E
ZXN0aW5hdGlvbk5vZGU6Ok1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUpOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6Ok1lZGlhU3RyZWFtQXVk
aW9Tb3VyY2VOb2RlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Rl
c3RpbmF0aW9uTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpPZmZsaW5lQXVkaW9EZXN0aW5h
dGlvbk5vZGU6Ok9mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZSk6CisgICAgICAgICogTW9kdWxl
cy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGUuaDoKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmF1ZGlvL09zY2lsbGF0b3JOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok9zY2ls
bGF0b3JOb2RlOjpPc2NpbGxhdG9yTm9kZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9Q
YW5uZXJOb2RlLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuaDoK
KyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2NyaXB0UHJvY2Vzc29yTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdFByb2Nlc3Nvck5vZGU6OlNjcmlwdFByb2Nlc3Nvck5vZGUpOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5oOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2F2
ZVNoYXBlck5vZGU6OldhdmVTaGFwZXJOb2RlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlv
L1dlYktpdEF1ZGlvQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRBdWRpb0Nv
bnRleHQ6OmNyZWF0ZVdlYktpdFBhbm5lcik6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9X
ZWJLaXRBdWRpb1Bhbm5lck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0QXVkaW9Q
YW5uZXJOb2RlOjpXZWJLaXRBdWRpb1Bhbm5lck5vZGUpOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vV2ViS2l0QXVkaW9QYW5uZXJOb2RlLmg6CisKIDIwMjAtMDgtMDYgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBEcm9wIG5vbi1zdGFuZGFyZCBjcmVhdGVC
dWZmZXIoQXJyYXlCdWZmZXIsIGJvb2xlYW4pIG92ZXJsb2FkIGZyb20gQXVkaW9Db250ZXh0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0FuYWx5c2VyTm9kZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0FuYWx5c2VyTm9kZS5jcHAKaW5k
ZXggMTFmNTA0YmM1YjFjOWUxODRhZGFhMzFiMzFlNjA0YzU1MWUwMmZmNC4uNGE4MjcxZDhlOThh
NmU0YTViMGFiZDE1ZDU0YzJmMWRkNmEyOTZiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BbmFseXNlck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJOb2RlLmNwcApAQCAtNjUsNyArNjUsNyBAQCBFeGNlcHRp
b25PcjxSZWY8QW5hbHlzZXJOb2RlPj4gQW5hbHlzZXJOb2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29u
dGV4dCYgY29udGV4dCwgYwogfQogCiBBbmFseXNlck5vZGU6OkFuYWx5c2VyTm9kZShCYXNlQXVk
aW9Db250ZXh0JiBjb250ZXh0KQotICAgIDogQXVkaW9CYXNpY0luc3BlY3Rvck5vZGUoY29udGV4
dCwgY29udGV4dC5zYW1wbGVSYXRlKCkpCisgICAgOiBBdWRpb0Jhc2ljSW5zcGVjdG9yTm9kZShj
b250ZXh0KQogewogICAgIHNldE5vZGVUeXBlKE5vZGVUeXBlQW5hbHlzZXIpOwogICAgIGFkZE91
dHB1dChtYWtlVW5pcXVlPEF1ZGlvTm9kZU91dHB1dD4odGhpcywgMikpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Jhc2ljSW5zcGVjdG9yTm9kZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQmFzaWNJbnNwZWN0b3JO
b2RlLmNwcAppbmRleCAwNzEwNzdjN2E4MjJhYTgyNjI4MTdhZGQwY2VjOTJlZTM1ZDk2MDc4Li5i
ZTE4MTFmNzc0NzBkZmNiMjZhYWFkY2M1NGZlYjFkODgwYzA5ZjVkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQmFzaWNJbnNwZWN0b3JOb2RlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQmFzaWNJbnNwZWN0b3JO
b2RlLmNwcApAQCAtMzYsOCArMzYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtF
X0lTT19BTExPQ0FURURfSU1QTChBdWRpb0Jhc2ljSW5zcGVjdG9yTm9kZSk7CiAKLUF1ZGlvQmFz
aWNJbnNwZWN0b3JOb2RlOjpBdWRpb0Jhc2ljSW5zcGVjdG9yTm9kZShCYXNlQXVkaW9Db250ZXh0
JiBjb250ZXh0LCBmbG9hdCBzYW1wbGVSYXRlKQotICAgIDogQXVkaW9Ob2RlKGNvbnRleHQsIHNh
bXBsZVJhdGUpCitBdWRpb0Jhc2ljSW5zcGVjdG9yTm9kZTo6QXVkaW9CYXNpY0luc3BlY3Rvck5v
ZGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCkKKyAgICA6IEF1ZGlvTm9kZShjb250ZXh0KQog
ewogICAgIHNldE5vZGVUeXBlKE5vZGVUeXBlQmFzaWNJbnNwZWN0b3IpOwogICAgIGFkZElucHV0
KG1ha2VVbmlxdWU8QXVkaW9Ob2RlSW5wdXQ+KHRoaXMpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CYXNpY0luc3BlY3Rvck5vZGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CYXNpY0luc3BlY3Rvck5vZGUuaAppbmRl
eCAzNDAyOWM0MTI2NjQ1MmNmY2ViZDlmNDM1MmRiODI4NTAxZDczM2NkLi4xZjUxOWMyZGIzMjM1
OGM5NWQzOGJkYjY5MDIwY2YzMzk3MmRjZDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQmFzaWNJbnNwZWN0b3JOb2RlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Jhc2ljSW5zcGVjdG9yTm9kZS5oCkBAIC0zNCw3
ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEF1ZGlvQmFzaWNJbnNwZWN0b3JO
b2RlIDogcHVibGljIEF1ZGlvTm9kZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChBdWRp
b0Jhc2ljSW5zcGVjdG9yTm9kZSk7CiBwdWJsaWM6Ci0gICAgQXVkaW9CYXNpY0luc3BlY3Rvck5v
ZGUoQmFzZUF1ZGlvQ29udGV4dCYsIGZsb2F0IHNhbXBsZVJhdGUpOworICAgIGV4cGxpY2l0IEF1
ZGlvQmFzaWNJbnNwZWN0b3JOb2RlKEJhc2VBdWRpb0NvbnRleHQmKTsKIAogcHJpdmF0ZToKICAg
ICB2b2lkIHB1bGxJbnB1dHMoc2l6ZV90IGZyYW1lc1RvUHJvY2Vzcykgb3ZlcnJpZGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQmFzaWNQcm9jZXNz
b3JOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CYXNpY1By
b2Nlc3Nvck5vZGUuY3BwCmluZGV4IGUzMWNiYWEyNGNmOTc0ZTg1YWY3NDU5NmJkNWQ4NDE3Nzk0
NDI3YTUuLjE3NjJhOGJjNzMxMjlkY2E3ZjQ0OTJjYmUxN2Q0Mjk1NGQ0YzU0MGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CYXNpY1Byb2Nlc3Nvck5v
ZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CYXNpY1By
b2Nlc3Nvck5vZGUuY3BwCkBAIC0zOSw4ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
V1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKEF1ZGlvQmFzaWNQcm9jZXNzb3JOb2RlKTsKIAot
QXVkaW9CYXNpY1Byb2Nlc3Nvck5vZGU6OkF1ZGlvQmFzaWNQcm9jZXNzb3JOb2RlKEJhc2VBdWRp
b0NvbnRleHQmIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUpCi0gICAgOiBBdWRpb05vZGUoY29u
dGV4dCwgc2FtcGxlUmF0ZSkKK0F1ZGlvQmFzaWNQcm9jZXNzb3JOb2RlOjpBdWRpb0Jhc2ljUHJv
Y2Vzc29yTm9kZShCYXNlQXVkaW9Db250ZXh0JiBjb250ZXh0KQorICAgIDogQXVkaW9Ob2RlKGNv
bnRleHQpCiB7CiAgICAgYWRkSW5wdXQobWFrZVVuaXF1ZTxBdWRpb05vZGVJbnB1dD4odGhpcykp
OwogICAgIGFkZE91dHB1dChtYWtlVW5pcXVlPEF1ZGlvTm9kZU91dHB1dD4odGhpcywgMSkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Jhc2ljUHJv
Y2Vzc29yTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Jhc2lj
UHJvY2Vzc29yTm9kZS5oCmluZGV4IDFmZjQ2MmU4YjRiYzZiZTU3NzA1OWFkNzI0NmM3MWEyMmI2
OTc1OWYuLjcwNTIwZWI5MzhlYzkwZjI4ZGIwMmIwMGYwNWI5ZDIyZGZkODQ3Y2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CYXNpY1Byb2Nlc3Nvck5v
ZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQmFzaWNQcm9j
ZXNzb3JOb2RlLmgKQEAgLTM3LDcgKzM3LDcgQEAgY2xhc3MgQXVkaW9Qcm9jZXNzb3I7CiBjbGFz
cyBBdWRpb0Jhc2ljUHJvY2Vzc29yTm9kZSA6IHB1YmxpYyBBdWRpb05vZGUgewogICAgIFdURl9N
QUtFX0lTT19BTExPQ0FURUQoQXVkaW9CYXNpY1Byb2Nlc3Nvck5vZGUpOwogcHVibGljOgotICAg
IEF1ZGlvQmFzaWNQcm9jZXNzb3JOb2RlKEJhc2VBdWRpb0NvbnRleHQmLCBmbG9hdCBzYW1wbGVS
YXRlKTsKKyAgICBleHBsaWNpdCBBdWRpb0Jhc2ljUHJvY2Vzc29yTm9kZShCYXNlQXVkaW9Db250
ZXh0Jik7CiAKICAgICAvLyBBdWRpb05vZGUKICAgICB2b2lkIHByb2Nlc3Moc2l6ZV90IGZyYW1l
c1RvUHJvY2Vzcykgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAKaW5kZXggZDkyMWFjZDg4NjYy
NjcwYzEwYmI4NTZmOWY0MWE5MjgxM2EzOTY3My4uY2IzZWIzNGM4YzA4ZGMyZGYyYmUwNGM2NGJk
ODNiZTM3ODRmZDEwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcApAQCAtNzYsNyArNzYsNyBAQCBFeGNl
cHRpb25PcjxSZWY8QXVkaW9CdWZmZXJTb3VyY2VOb2RlPj4gQXVkaW9CdWZmZXJTb3VyY2VOb2Rl
OjpjcmVhdGUoQmFzZUF1ZGlvQwogfQogCiBBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OkF1ZGlvQnVm
ZmVyU291cmNlTm9kZShCYXNlQXVkaW9Db250ZXh0JiBjb250ZXh0KQotICAgIDogQXVkaW9TY2hl
ZHVsZWRTb3VyY2VOb2RlKGNvbnRleHQsIGNvbnRleHQuc2FtcGxlUmF0ZSgpKQorICAgIDogQXVk
aW9TY2hlZHVsZWRTb3VyY2VOb2RlKGNvbnRleHQpCiAgICAgLCBtX2RldHVuZShBdWRpb1BhcmFt
OjpjcmVhdGUoY29udGV4dCwgImRldHVuZSJfcywgMC4wLCAtRkxUX01BWCwgRkxUX01BWCkpCiAg
ICAgLCBtX3BsYXliYWNrUmF0ZShBdWRpb1BhcmFtOjpjcmVhdGUoY29udGV4dCwgInBsYXliYWNr
UmF0ZSJfcywgMS4wLCAtRkxUX01BWCwgRkxUX01BWCkpCiAgICAgLCBtX2dyYWluRHVyYXRpb24o
RGVmYXVsdEdyYWluRHVyYXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCmluZGV4IDEwMGM0NmY4ZTE3MDg3
N2E3NTU1MjQzMjExMTRkMWEwNmJhMDkwYTMuLjQ0MTJmMTAwNTM5N2NlZjVhMmE3NTAyZGRjMzIx
ZDVkZGExNzQ5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCkBAIC0zOSw4ICszOSw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChBdWRpb0Rlc3Rp
bmF0aW9uTm9kZSk7CiAKLUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpBdWRpb0Rlc3RpbmF0aW9uTm9k
ZShCYXNlQXVkaW9Db250ZXh0JiBjb250ZXh0LCBmbG9hdCBzYW1wbGVSYXRlKQotICAgIDogQXVk
aW9Ob2RlKGNvbnRleHQsIHNhbXBsZVJhdGUpCitBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6QXVkaW9E
ZXN0aW5hdGlvbk5vZGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCkKKyAgICA6IEF1ZGlvTm9k
ZShjb250ZXh0KQogICAgICwgbV9jdXJyZW50U2FtcGxlRnJhbWUoMCkKICAgICAsIG1faXNTaWxl
bnQodHJ1ZSkKICAgICAsIG1faXNFZmZlY3RpdmVseVBsYXlpbmdBdWRpbyhmYWxzZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5v
ZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5v
ZGUuaAppbmRleCBmNmY1MzhjNDc1MWMyNWFkNzFmMTQxNjVjYzY2YWQwYTkwMmZlNGE2Li4xMDRm
NjA4NjgxYjZhM2U1ZmJjNzI0ZGFjOWY0Y2NlODRiNzE4OTVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvRGVzdGluYXRpb25Ob2RlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9uTm9kZS5oCkBAIC0z
NSw3ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEF1ZGlvRGVzdGluYXRpb25O
b2RlIDogcHVibGljIEF1ZGlvTm9kZSwgcHVibGljIEF1ZGlvSU9DYWxsYmFjayB7CiAgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChBdWRpb0Rlc3RpbmF0aW9uTm9kZSk7CiBwdWJsaWM6Ci0gICAg
QXVkaW9EZXN0aW5hdGlvbk5vZGUoQmFzZUF1ZGlvQ29udGV4dCYsIGZsb2F0IHNhbXBsZVJhdGUp
OworICAgIGV4cGxpY2l0IEF1ZGlvRGVzdGluYXRpb25Ob2RlKEJhc2VBdWRpb0NvbnRleHQmKTsK
ICAgICB2aXJ0dWFsIH5BdWRpb0Rlc3RpbmF0aW9uTm9kZSgpOwogICAgIAogICAgIC8vIEF1ZGlv
Tm9kZSAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGUuY3Bw
CmluZGV4IGYyMGMyOGFmMWZkMGEzMmJkY2IyYjczZTlhYzA0NzcxNTU4Y2E5MDIuLjZlMGI5Y2Rl
YTEyM2FlZjYzMDg3NGNhOGMzODkyMTA3YjJjOTYxZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5jcHAKQEAgLTk3LDI5ICs5Nyw4IEBAIFN0cmluZyBj
b252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhBdWRpb05vZGU6Ok5vZGVUeXBlIGVudW1lcmF0aW9u
VmFsdWUpCiAgICAgcmV0dXJuIHZhbHVlc1tzdGF0aWNfY2FzdDxzaXplX3Q+KGVudW1lcmF0aW9u
VmFsdWUpXTsKIH0KIAotCi0vLyBGSVhNRTogUmVtb3ZlIG9uY2UgZGVwZW5kZW5jaWVzIG9uIG9s
ZCBjb25zdHJ1Y3RvciBhcmUgcmVtb3ZlZAotQXVkaW9Ob2RlOjpBdWRpb05vZGUoQmFzZUF1ZGlv
Q29udGV4dCYgY29udGV4dCwgZmxvYXQgc2FtcGxlUmF0ZSkKLSAgICA6IG1fY29udGV4dChjb250
ZXh0KQotICAgICwgbV9zYW1wbGVSYXRlKHNhbXBsZVJhdGUpCi0jaWYgIVJFTEVBU0VfTE9HX0RJ
U0FCTEVECi0gICAgLCBtX2xvZ2dlcihjb250ZXh0LmxvZ2dlcigpKQotICAgICwgbV9sb2dJZGVu
dGlmaWVyKGNvbnRleHQubmV4dEF1ZGlvTm9kZUxvZ0lkZW50aWZpZXIoKSkKLSNlbmRpZgotewot
ICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7Ci0gICAgCi0jaWYgREVCVUdfQVVESU9OT0RF
X1JFRkVSRU5DRVMKLSAgICBpZiAoIXNfaXNOb2RlQ291bnRJbml0aWFsaXplZCkgewotICAgICAg
ICBzX2lzTm9kZUNvdW50SW5pdGlhbGl6ZWQgPSB0cnVlOwotICAgICAgICBhdGV4aXQoQXVkaW9O
b2RlOjpwcmludE5vZGVDb3VudHMpOwotICAgIH0KLSNlbmRpZgotfQotCiBBdWRpb05vZGU6OkF1
ZGlvTm9kZShCYXNlQXVkaW9Db250ZXh0JiBjb250ZXh0KQogICAgIDogbV9jb250ZXh0KGNvbnRl
eHQpCi0gICAgLCBtX3NhbXBsZVJhdGUoY29udGV4dC5zYW1wbGVSYXRlKCkpCiAjaWYgIVJFTEVB
U0VfTE9HX0RJU0FCTEVECiAgICAgLCBtX2xvZ2dlcihjb250ZXh0LmxvZ2dlcigpKQogICAgICwg
bV9sb2dJZGVudGlmaWVyKGNvbnRleHQubmV4dEF1ZGlvTm9kZUxvZ0lkZW50aWZpZXIoKSkKQEAg
LTI2Niw2ICsyNDUsMTEgQEAgRXhjZXB0aW9uT3I8dm9pZD4gQXVkaW9Ob2RlOjpkaXNjb25uZWN0
KHVuc2lnbmVkIG91dHB1dEluZGV4KQogICAgIHJldHVybiB7IH07CiB9CiAKK2Zsb2F0IEF1ZGlv
Tm9kZTo6c2FtcGxlUmF0ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY29udGV4dC0+c2FtcGxl
UmF0ZSgpOworfQorCiBFeGNlcHRpb25Pcjx2b2lkPiBBdWRpb05vZGU6OnNldENoYW5uZWxDb3Vu
dCh1bnNpZ25lZCBjaGFubmVsQ291bnQpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsK
QEAgLTM1NSw3ICszMzksNyBAQCB2b2lkIEF1ZGlvTm9kZTo6cHJvY2Vzc0lmTmVjZXNzYXJ5KHNp
emVfdCBmcmFtZXNUb1Byb2Nlc3MpCiAKICAgICAgICAgYm9vbCBzaWxlbnRJbnB1dHMgPSBpbnB1
dHNBcmVTaWxlbnQoKTsKICAgICAgICAgaWYgKCFzaWxlbnRJbnB1dHMpCi0gICAgICAgICAgICBt
X2xhc3ROb25TaWxlbnRUaW1lID0gKGNvbnRleHQoKS5jdXJyZW50U2FtcGxlRnJhbWUoKSArIGZy
YW1lc1RvUHJvY2VzcykgLyBzdGF0aWNfY2FzdDxkb3VibGU+KG1fc2FtcGxlUmF0ZSk7CisgICAg
ICAgICAgICBtX2xhc3ROb25TaWxlbnRUaW1lID0gKGNvbnRleHQoKS5jdXJyZW50U2FtcGxlRnJh
bWUoKSArIGZyYW1lc1RvUHJvY2VzcykgLyBzdGF0aWNfY2FzdDxkb3VibGU+KGNvbnRleHQoKS5z
YW1wbGVSYXRlKCkpOwogCiAgICAgICAgIGlmIChzaWxlbnRJbnB1dHMgJiYgcHJvcGFnYXRlc1Np
bGVuY2UoKSkKICAgICAgICAgICAgIHNpbGVuY2VPdXRwdXRzKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGUuaAppbmRleCA5NmM4YjI0ZDU0ZmYxNjZhZjQ0MDM1
YWVkMWQ4MWI1Y2I4ZGE3NzkzLi5mMGZhMDdhMTc3ZmRjNWQ5MTYzNzAxYjY2ZDg0MDM3ZGEzOGFi
ZGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9k
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmgKQEAg
LTYxLDkgKzYxLDcgQEAgY2xhc3MgQXVkaW9Ob2RlCiBwdWJsaWM6CiAgICAgZW51bSB7IFByb2Nl
c3NpbmdTaXplSW5GcmFtZXMgPSAxMjggfTsKIAotICAgIC8vIEZJWE1FOiBSZW1vdmUgb25jZSBk
ZXBlbmRlbmNpZXMgb24gb2xkIGNvbnN0cnVjdG9yIGFyZSByZW1vdmVkLgotICAgIEF1ZGlvTm9k
ZShCYXNlQXVkaW9Db250ZXh0JiwgZmxvYXQgc2FtcGxlUmF0ZSk7Ci0gICAgQXVkaW9Ob2RlKEJh
c2VBdWRpb0NvbnRleHQmKTsKKyAgICBleHBsaWNpdCBBdWRpb05vZGUoQmFzZUF1ZGlvQ29udGV4
dCYpOwogICAgIHZpcnR1YWwgfkF1ZGlvTm9kZSgpOwogCiAgICAgQmFzZUF1ZGlvQ29udGV4dCYg
Y29udGV4dCgpIHsgcmV0dXJuIG1fY29udGV4dC5nZXQoKTsgfQpAQCAtMTM4LDcgKzEzNiw3IEBA
IHB1YmxpYzoKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBjb25uZWN0KEF1ZGlvUGFyYW0mLCB1bnNp
Z25lZCBvdXRwdXRJbmRleCk7CiAgICAgdmlydHVhbCBFeGNlcHRpb25Pcjx2b2lkPiBkaXNjb25u
ZWN0KHVuc2lnbmVkIG91dHB1dEluZGV4KTsKIAotICAgIHZpcnR1YWwgZmxvYXQgc2FtcGxlUmF0
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2FtcGxlUmF0ZTsgfQorICAgIHZpcnR1YWwgZmxvYXQgc2Ft
cGxlUmF0ZSgpIGNvbnN0OwogCiAgICAgLy8gcHJvY2Vzc0lmTmVjZXNzYXJ5KCkgaXMgY2FsbGVk
IGJ5IG91ciBvdXRwdXQocykgd2hlbiB0aGUgcmVuZGVyaW5nIGdyYXBoIG5lZWRzIHRoaXMgQXVk
aW9Ob2RlIHRvIHByb2Nlc3MuCiAgICAgLy8gVGhpcyBtZXRob2QgZW5zdXJlcyB0aGF0IHRoZSBB
dWRpb05vZGUgd2lsbCBvbmx5IHByb2Nlc3Mgb25jZSBwZXIgcmVuZGVyaW5nIHRpbWUgcXVhbnR1
bSBldmVuIGlmIGl0J3MgY2FsbGVkIHJlcGVhdGVkbHkuCkBAIC0yMjEsOSArMjE5LDYgQEAgcHJp
dmF0ZToKICAgICBOb2RlVHlwZSBtX25vZGVUeXBlIHsgTm9kZVR5cGVVbmtub3duIH07CiAgICAg
UmVmPEJhc2VBdWRpb0NvbnRleHQ+IG1fY29udGV4dDsKIAotICAgIC8vIEZJWE1FOiBSZW1vdmUg
bV9zYW1wbGVSYXRlIG9uY2Ugb2xkIGNvbnN0cnVjdG9yIGlzIHJlbW92ZWQuCi0gICAgZmxvYXQg
bV9zYW1wbGVSYXRlOwotCiAgICAgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxBdWRpb05vZGVJbnB1
dD4+IG1faW5wdXRzOwogICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9Ob2RlT3V0cHV0
Pj4gbV9vdXRwdXRzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5jcHAKaW5kZXggYjQ1NTM0ZDFjZDBj
NDZjOTFkNjJmMWUzYzc1ZGE0MjJlZWY0MDFhMC4uNjY1OTk0MzNkMmUxYzRkOGZiMDI0NmZlZmYy
OTA0NWE5ODU1Yjk5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLmNwcApAQCAtNDksOCArNDksOCBA
QCBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlKTsK
IAogY29uc3QgZG91YmxlIEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZTo6VW5rbm93blRpbWUgPSAt
MTsKIAotQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlOjpBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUo
QmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCwgZmxvYXQgc2FtcGxlUmF0ZSkKLSAgICA6IEF1ZGlv
Tm9kZShjb250ZXh0LCBzYW1wbGVSYXRlKQorQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlOjpBdWRp
b1NjaGVkdWxlZFNvdXJjZU5vZGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCkKKyAgICA6IEF1
ZGlvTm9kZShjb250ZXh0KQogICAgICwgQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQuc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpKQogICAgICwgbV9lbmRUaW1lKFVua25vd25UaW1lKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNvdXJj
ZU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9TY2hlZHVsZWRT
b3VyY2VOb2RlLmgKaW5kZXggNjBiMzg3ODUzMWI0MWE3NGYxNWU3NzlkMjE3OTM5YTk0ZDU5NmFh
Ny4uZmRjM2Y2YjlmOWJjYmQxZWRmYjVhMzBjNGMzODU5MDc2MDQxNzNmYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291
cmNlTm9kZS5oCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKICAgICAgICAgRklOSVNIRURfU1RB
VEUgPSAzCiAgICAgfTsKICAgICAKLSAgICBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUoQmFzZUF1
ZGlvQ29udGV4dCYsIGZsb2F0IHNhbXBsZVJhdGUpOworICAgIGV4cGxpY2l0IEF1ZGlvU2NoZWR1
bGVkU291cmNlTm9kZShCYXNlQXVkaW9Db250ZXh0Jik7CiAKICAgICBFeGNlcHRpb25Pcjx2b2lk
PiBzdGFydExhdGVyKGRvdWJsZSB3aGVuKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzdG9wTGF0
ZXIoZG91YmxlIHdoZW4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9CYXNlQXVkaW9Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQmFzZUF1ZGlvQ29udGV4dC5jcHAKaW5kZXggNjU0MGZkODAzYmUzM2YwMTk1NThjNGM1NDI4
MTMwNDQ4ZWY5YzI5Ni4uMDRlZjFjM2ExNGE2ZTNhZTA0MTk0ZmQ4ZGM1ZTE4ZmNkNTExMDQ4OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0Nv
bnRleHQuY3BwCkBAIC00NzUsNyArNDc1LDcgQEAgRXhjZXB0aW9uT3I8UmVmPFNjcmlwdFByb2Nl
c3Nvck5vZGU+PiBCYXNlQXVkaW9Db250ZXh0OjpjcmVhdGVTY3JpcHRQcm9jZXNzb3Ioc2kKICAg
ICBpZiAobnVtYmVyT2ZPdXRwdXRDaGFubmVscyA+IG1heE51bWJlck9mQ2hhbm5lbHMoKSkKICAg
ICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yIH07CiAKLSAgICBhdXRv
IG5vZGUgPSBTY3JpcHRQcm9jZXNzb3JOb2RlOjpjcmVhdGUoKnRoaXMsIHNhbXBsZVJhdGUoKSwg
YnVmZmVyU2l6ZSwgbnVtYmVyT2ZJbnB1dENoYW5uZWxzLCBudW1iZXJPZk91dHB1dENoYW5uZWxz
KTsKKyAgICBhdXRvIG5vZGUgPSBTY3JpcHRQcm9jZXNzb3JOb2RlOjpjcmVhdGUoKnRoaXMsIGJ1
ZmZlclNpemUsIG51bWJlck9mSW5wdXRDaGFubmVscywgbnVtYmVyT2ZPdXRwdXRDaGFubmVscyk7
CiAKICAgICByZWZOb2RlKG5vZGUpOyAvLyBjb250ZXh0IGtlZXBzIHJlZmVyZW5jZSB1bnRpbCB3
ZSBzdG9wIG1ha2luZyBqYXZhc2NyaXB0IHJlbmRlcmluZyBjYWxsYmFja3MKICAgICByZXR1cm4g
bm9kZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlxdWFk
RmlsdGVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZEZp
bHRlck5vZGUuY3BwCmluZGV4IGFlNjQ4MzhmZGI5YTQ3MDEwOGRlN2NkMjg2NWYwYzM4YTI2ODYw
ODYuLjFlN2U4ZjBlNzIyMzZlYTUwZGVmOWQzZTY3ZDBkZWYwZjliN2FiMWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWRGaWx0ZXJOb2RlLmNwcApA
QCAtNTYsNyArNTYsNyBAQCBFeGNlcHRpb25PcjxSZWY8QmlxdWFkRmlsdGVyTm9kZT4+IEJpcXVh
ZEZpbHRlck5vZGU6OmNyZWF0ZShCYXNlQXVkaW9Db250ZXh0JiBjbwogfQogCiBCaXF1YWRGaWx0
ZXJOb2RlOjpCaXF1YWRGaWx0ZXJOb2RlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQpCi0gICAg
OiBBdWRpb0Jhc2ljUHJvY2Vzc29yTm9kZShjb250ZXh0LCBjb250ZXh0LnNhbXBsZVJhdGUoKSkK
KyAgICA6IEF1ZGlvQmFzaWNQcm9jZXNzb3JOb2RlKGNvbnRleHQpCiB7CiAgICAgc2V0Tm9kZVR5
cGUoTm9kZVR5cGVCaXF1YWRGaWx0ZXIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1lcmdlck5vZGUuY3BwCmluZGV4IGU2ZmJhMzYyNmU2MDI0
MDQ4N2M0ODlmNTRkNGI0Mjg1M2U1MDNhMTQuLjQwYjU1NTEwMjZlZWMzNDdkNmM4NzU0NmY5YTBh
OTAwMzNiM2RmMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
Q2hhbm5lbE1lcmdlck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQ2hhbm5lbE1lcmdlck5vZGUuY3BwCkBAIC01Myw3ICs1Myw3IEBAIEV4Y2VwdGlvbk9yPFJl
ZjxDaGFubmVsTWVyZ2VyTm9kZT4+IENoYW5uZWxNZXJnZXJOb2RlOjpjcmVhdGUoQmFzZUF1ZGlv
Q29udGV4dCYKICAgICBpZiAob3B0aW9ucy5udW1iZXJPZklucHV0cyA+IEF1ZGlvQ29udGV4dDo6
bWF4TnVtYmVyT2ZDaGFubmVscygpIHx8ICFvcHRpb25zLm51bWJlck9mSW5wdXRzKQogICAgICAg
ICByZXR1cm4gRXhjZXB0aW9uIHsgSW5kZXhTaXplRXJyb3IsICJOdW1iZXIgb2YgaW5wdXRzIGlz
IG5vdCBpbiB0aGUgYWxsb3dlZCByYW5nZS4iX3MgfTsKICAgICAKLSAgICBhdXRvIG1lcmdlciA9
IGFkb3B0UmVmKCpuZXcgQ2hhbm5lbE1lcmdlck5vZGUoY29udGV4dCwgY29udGV4dC5zYW1wbGVS
YXRlKCksIG9wdGlvbnMubnVtYmVyT2ZJbnB1dHMpKTsKKyAgICBhdXRvIG1lcmdlciA9IGFkb3B0
UmVmKCpuZXcgQ2hhbm5lbE1lcmdlck5vZGUoY29udGV4dCwgb3B0aW9ucy5udW1iZXJPZklucHV0
cykpOwogICAgIAogICAgIGF1dG8gcmVzdWx0ID0gbWVyZ2VyLT5oYW5kbGVBdWRpb05vZGVPcHRp
b25zKG9wdGlvbnMsIHsgMSwgQ2hhbm5lbENvdW50TW9kZTo6RXhwbGljaXQsIENoYW5uZWxJbnRl
cnByZXRhdGlvbjo6U3BlYWtlcnMgfSk7CiAgICAgaWYgKHJlc3VsdC5oYXNFeGNlcHRpb24oKSkK
QEAgLTYyLDggKzYyLDggQEAgRXhjZXB0aW9uT3I8UmVmPENoYW5uZWxNZXJnZXJOb2RlPj4gQ2hh
bm5lbE1lcmdlck5vZGU6OmNyZWF0ZShCYXNlQXVkaW9Db250ZXh0JgogICAgIHJldHVybiBtZXJn
ZXI7CiB9CiAKLUNoYW5uZWxNZXJnZXJOb2RlOjpDaGFubmVsTWVyZ2VyTm9kZShCYXNlQXVkaW9D
b250ZXh0JiBjb250ZXh0LCBmbG9hdCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJPZklucHV0
cykKLSAgICA6IEF1ZGlvTm9kZShjb250ZXh0LCBzYW1wbGVSYXRlKQorQ2hhbm5lbE1lcmdlck5v
ZGU6OkNoYW5uZWxNZXJnZXJOb2RlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIHVuc2lnbmVk
IG51bWJlck9mSW5wdXRzKQorICAgIDogQXVkaW9Ob2RlKGNvbnRleHQpCiAgICAgLCBtX2Rlc2ly
ZWROdW1iZXJPZk91dHB1dENoYW5uZWxzKERlZmF1bHROdW1iZXJPZk91dHB1dENoYW5uZWxzKQog
ewogICAgIHNldE5vZGVUeXBlKE5vZGVUeXBlQ2hhbm5lbE1lcmdlcik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmgKaW5kZXggNDRj
Yjg4NWUzYTQwZDRhODExM2UwYWZiMDVlZjI5YzBkYzJiNGIzZi4uNzBmYzAzODA5ODVkMWFhMjZm
YTlmMTcxY2IwYTcyMTM5ZTU0MDIyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9DaGFubmVsTWVyZ2VyTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQ2hhbm5lbE1lcmdlck5vZGUuaApAQCAtNTYsNyArNTYsNyBAQCBwcml2YXRl
OgogICAgIGRvdWJsZSB0YWlsVGltZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIDA7IH0KICAg
ICBkb3VibGUgbGF0ZW5jeVRpbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAwOyB9CiAKLSAg
ICBDaGFubmVsTWVyZ2VyTm9kZShCYXNlQXVkaW9Db250ZXh0JiwgZmxvYXQgc2FtcGxlUmF0ZSwg
dW5zaWduZWQgbnVtYmVyT2ZJbnB1dHMpOworICAgIENoYW5uZWxNZXJnZXJOb2RlKEJhc2VBdWRp
b0NvbnRleHQmLCB1bnNpZ25lZCBudW1iZXJPZklucHV0cyk7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0No
YW5uZWxTcGxpdHRlck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9D
aGFubmVsU3BsaXR0ZXJOb2RlLmNwcAppbmRleCBiMDk4NmZmMDAyMWMwYmNkYzhmNTBmZDJhNTA1
NjgwMWJmZjczMzYzLi45NTE4MTJiM2RkOTA4N2RjYTIyZjMzOTY0NTg3ODAyYTc2NmIwNWY4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRl
ck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbFNw
bGl0dGVyTm9kZS5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgRXhjZXB0aW9uT3I8UmVmPENoYW5uZWxT
cGxpdHRlck5vZGU+PiBDaGFubmVsU3BsaXR0ZXJOb2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29udGUK
ICAgICBpZiAob3B0aW9ucy5udW1iZXJPZk91dHB1dHMgPiBBdWRpb0NvbnRleHQ6Om1heE51bWJl
ck9mQ2hhbm5lbHMoKSB8fCAhb3B0aW9ucy5udW1iZXJPZk91dHB1dHMpCiAgICAgICAgIHJldHVy
biBFeGNlcHRpb24geyBJbmRleFNpemVFcnJvciwgIk51bWJlciBvZiBvdXRwdXRzIGlzIG5vdCBp
biB0aGUgYWxsb3dlZCByYW5nZSJfcyB9OwogICAgIAotICAgIGF1dG8gc3BsaXR0ZXIgPSBhZG9w
dFJlZigqbmV3IENoYW5uZWxTcGxpdHRlck5vZGUoY29udGV4dCwgY29udGV4dC5zYW1wbGVSYXRl
KCksIG9wdGlvbnMubnVtYmVyT2ZPdXRwdXRzKSk7CisgICAgYXV0byBzcGxpdHRlciA9IGFkb3B0
UmVmKCpuZXcgQ2hhbm5lbFNwbGl0dGVyTm9kZShjb250ZXh0LCBvcHRpb25zLm51bWJlck9mT3V0
cHV0cykpOwogICAgIAogICAgIGF1dG8gcmVzdWx0ID0gc3BsaXR0ZXItPmhhbmRsZUF1ZGlvTm9k
ZU9wdGlvbnMob3B0aW9ucywgeyBvcHRpb25zLm51bWJlck9mT3V0cHV0cywgQ2hhbm5lbENvdW50
TW9kZTo6RXhwbGljaXQsIENoYW5uZWxJbnRlcnByZXRhdGlvbjo6RGlzY3JldGUgfSk7CiAgICAg
aWYgKHJlc3VsdC5oYXNFeGNlcHRpb24oKSkKQEAgLTU2LDggKzU2LDggQEAgRXhjZXB0aW9uT3I8
UmVmPENoYW5uZWxTcGxpdHRlck5vZGU+PiBDaGFubmVsU3BsaXR0ZXJOb2RlOjpjcmVhdGUoQmFz
ZUF1ZGlvQ29udGUKICAgICByZXR1cm4gc3BsaXR0ZXI7CiB9CiAKLUNoYW5uZWxTcGxpdHRlck5v
ZGU6OkNoYW5uZWxTcGxpdHRlck5vZGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCwgZmxvYXQg
c2FtcGxlUmF0ZSwgdW5zaWduZWQgbnVtYmVyT2ZPdXRwdXRzKQotICAgIDogQXVkaW9Ob2RlKGNv
bnRleHQsIHNhbXBsZVJhdGUpCitDaGFubmVsU3BsaXR0ZXJOb2RlOjpDaGFubmVsU3BsaXR0ZXJO
b2RlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0cykK
KyAgICA6IEF1ZGlvTm9kZShjb250ZXh0KQogewogICAgIHNldE5vZGVUeXBlKE5vZGVUeXBlQ2hh
bm5lbFNwbGl0dGVyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0NoYW5uZWxTcGxpdHRlck5vZGUuaAppbmRleCAzOTAyNzY2NWUyZTkxNjAxOWVkMzA4YzU5
NmEzNmY2MzI4NTdjODIxLi5lMzJiYmY2OTk0MGIxMGIyYjA5YWJmZWU0MjVlZGE4YjBiMDJiZGI2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxp
dHRlck5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxT
cGxpdHRlck5vZGUuaApAQCAtNDgsNyArNDgsNyBAQCBwcml2YXRlOgogICAgIGRvdWJsZSB0YWls
VGltZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIDA7IH0KICAgICBkb3VibGUgbGF0ZW5jeVRp
bWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAwOyB9CiAKLSAgICBDaGFubmVsU3BsaXR0ZXJO
b2RlKEJhc2VBdWRpb0NvbnRleHQmLCBmbG9hdCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJP
Zk91dHB1dHMpOworICAgIENoYW5uZWxTcGxpdHRlck5vZGUoQmFzZUF1ZGlvQ29udGV4dCYsIHVu
c2lnbmVkIG51bWJlck9mT3V0cHV0cyk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Db252b2x2ZXJOb2RlLmNwcApp
bmRleCBkNDBjZjFlNmJhYTRjOWY5YzBhNmZkNjliMzU1ZWI1MzdkOGZhMGFjLi43YzAxNDk5ZGVk
ZjkzNGRlMjI3Zjc5ZTQwNzE3OGI5NmNlZmVkYTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5jcHAKQEAgLTcwLDcgKzcwLDcgQEAgRXhj
ZXB0aW9uT3I8UmVmPENvbnZvbHZlck5vZGU+PiBDb252b2x2ZXJOb2RlOjpjcmVhdGUoQmFzZUF1
ZGlvQ29udGV4dCYgY29udGV4dCwKIH0KIAogQ29udm9sdmVyTm9kZTo6Q29udm9sdmVyTm9kZShC
YXNlQXVkaW9Db250ZXh0JiBjb250ZXh0KQotICAgIDogQXVkaW9Ob2RlKGNvbnRleHQsIGNvbnRl
eHQuc2FtcGxlUmF0ZSgpKQorICAgIDogQXVkaW9Ob2RlKGNvbnRleHQpCiB7CiAgICAgc2V0Tm9k
ZVR5cGUoTm9kZVR5cGVDb252b2x2ZXIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAK
aW5kZXggMjgzNDE2NTFhNDcxYjY0YjM0MzUwNGI0NTY3YWY1NzEyZGNmZTUzNy4uMjRkOGY3OGU0
MGZhZDBiOTBkNTZhMTNiN2U0NWQ0YWM4MTE1OThkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25O
b2RlLmNwcApAQCAtNDQsNyArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lNUEwoRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlKTsKIAogRGVmYXVs
dEF1ZGlvRGVzdGluYXRpb25Ob2RlOjpEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUoQmFzZUF1
ZGlvQ29udGV4dCYgY29udGV4dCwgT3B0aW9uYWw8ZmxvYXQ+IHNhbXBsZVJhdGUpCi0gICAgOiBB
dWRpb0Rlc3RpbmF0aW9uTm9kZShjb250ZXh0LCBzYW1wbGVSYXRlLnZhbHVlT3IoQXVkaW9EZXN0
aW5hdGlvbjo6aGFyZHdhcmVTYW1wbGVSYXRlKCkpKQorICAgIDogQXVkaW9EZXN0aW5hdGlvbk5v
ZGUoY29udGV4dCkKKyAgICAsIG1fc2FtcGxlUmF0ZShzYW1wbGVSYXRlLnZhbHVlT3IoQXVkaW9E
ZXN0aW5hdGlvbjo6aGFyZHdhcmVTYW1wbGVSYXRlKCkpKQogewogICAgIGluaXRpYWxpemVEZWZh
dWx0Tm9kZU9wdGlvbnMoMiwgQ2hhbm5lbENvdW50TW9kZTo6RXhwbGljaXQsIENoYW5uZWxJbnRl
cnByZXRhdGlvbjo6U3BlYWtlcnMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmgKaW5kZXgg
MWY4NGQ0ODJjZjk2ZmE3MWFjNDczMWRkYmE5M2RmNWExODljODYwMS4uODc5YTU2OTdhNDMxNGVm
ZGQxMjc4ZDdjZjMzM2Q5ZWU2Yzc4Y2ExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oCkBA
IC0zOSw2ICszOSw4IEBAIHB1YmxpYzoKICAgICB9CiAgICAgCiAgICAgdmlydHVhbCB+RGVmYXVs
dEF1ZGlvRGVzdGluYXRpb25Ob2RlKCk7CisKKyAgICBmbG9hdCBzYW1wbGVSYXRlKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9zYW1wbGVSYXRlOyB9CiAgICAgCiBwcml2YXRlOgogICAgIGV4cGxp
Y2l0IERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZShCYXNlQXVkaW9Db250ZXh0JiwgT3B0aW9u
YWw8ZmxvYXQ+KTsKQEAgLTU5LDYgKzYxLDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8QXVkaW9EZXN0aW5hdGlvbj4gbV9kZXN0aW5hdGlvbjsKICAgICBTdHJpbmcgbV9pbnB1dERl
dmljZUlkOwogICAgIHVuc2lnbmVkIG1fbnVtYmVyT2ZJbnB1dENoYW5uZWxzIHsgMCB9OworICAg
IGZsb2F0IG1fc2FtcGxlUmF0ZSB7IDAgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVsYXlOb2RlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVsYXlOb2RlLmNwcAppbmRleCA5
YzhmOGUxZmMzMGU0MzJlZmRjZDI4ZTIyMjg1OTEwNTI3MmNhMWIyLi42MmYzZGZlMTE2MGI3YjZj
NzEwODhmYjI3MTk3YjBlYTE5ZjQ0ZDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0RlbGF5Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9EZWxheU5vZGUuY3BwCkBAIC0zOSw3ICszOSw3IEBAIFdURl9NQUtFX0lTT19BTExP
Q0FURURfSU1QTChEZWxheU5vZGUpOwogY29uc3QgZG91YmxlIG1heGltdW1BbGxvd2VkRGVsYXlU
aW1lID0gMTgwOwogCiBpbmxpbmUgRGVsYXlOb2RlOjpEZWxheU5vZGUoQmFzZUF1ZGlvQ29udGV4
dCYgY29udGV4dCwgZG91YmxlIG1heERlbGF5VGltZSkKLSAgICA6IEF1ZGlvQmFzaWNQcm9jZXNz
b3JOb2RlKGNvbnRleHQsIGNvbnRleHQuc2FtcGxlUmF0ZSgpKQorICAgIDogQXVkaW9CYXNpY1By
b2Nlc3Nvck5vZGUoY29udGV4dCkKIHsKICAgICBzZXROb2RlVHlwZShOb2RlVHlwZURlbGF5KTsK
ICAgICBtX3Byb2Nlc3NvciA9IG1ha2VVbmlxdWU8RGVsYXlQcm9jZXNzb3I+KGNvbnRleHQsIGNv
bnRleHQuc2FtcGxlUmF0ZSgpLCAxLCBtYXhEZWxheVRpbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EeW5hbWljc0NvbXByZXNzb3JOb2RlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5jcHAK
aW5kZXggYWQyMTFjNjViZjJjOGYxMmQyM2NhODNiYmFhNGM0ZjViODk3OTYzZC4uYzU4YWE3NDMy
ZjQ5Y2FkY2U5ZTU1YzJhMDNmZDMwODgzMjdkM2RhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9EeW5hbWljc0NvbXByZXNzb3JOb2RlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuY3BwCkBA
IC02MSw3ICs2MSw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxEeW5hbWljc0NvbXByZXNzb3JOb2RlPj4g
RHluYW1pY3NDb21wcmVzc29yTm9kZTo6Y3JlYXRlKEJhc2VBdWRpCiB9CiAKIER5bmFtaWNzQ29t
cHJlc3Nvck5vZGU6OkR5bmFtaWNzQ29tcHJlc3Nvck5vZGUoQmFzZUF1ZGlvQ29udGV4dCYgY29u
dGV4dCwgY29uc3QgRHluYW1pY3NDb21wcmVzc29yT3B0aW9ucyYgb3B0aW9ucykKLSAgICA6IEF1
ZGlvTm9kZShjb250ZXh0LCBjb250ZXh0LnNhbXBsZVJhdGUoKSkKKyAgICA6IEF1ZGlvTm9kZShj
b250ZXh0KQogICAgICwgbV90aHJlc2hvbGQoQXVkaW9QYXJhbTo6Y3JlYXRlKGNvbnRleHQsICJ0
aHJlc2hvbGQiX3MsIG9wdGlvbnMudGhyZXNob2xkLCAtMTAwLCAwKSkKICAgICAsIG1fa25lZShB
dWRpb1BhcmFtOjpjcmVhdGUoY29udGV4dCwgImtuZWUiX3MsIG9wdGlvbnMua25lZSwgMCwgNDAp
KQogICAgICwgbV9yYXRpbyhBdWRpb1BhcmFtOjpjcmVhdGUoY29udGV4dCwgInJhdGlvIl9zLCBv
cHRpb25zLnJhdGlvLCAxLCAyMCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0dhaW5Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
R2Fpbk5vZGUuY3BwCmluZGV4IGVlYWE3M2Y2NGIyZjNhNDgxYzcyZDczOTJiNzZkMzJmNjAyZmM3
ZmIuLmUyZDZkYmZlZjMyYzY5YzE0MTFjYTExNGEzODAxZmQ3NDk5MTZiZjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuY3BwCkBAIC01Niw3ICs1Niw3IEBA
IEV4Y2VwdGlvbk9yPFJlZjxHYWluTm9kZT4+IEdhaW5Ob2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29u
dGV4dCYgY29udGV4dCwgY29uc3QgR2FpCiB9CiAKIEdhaW5Ob2RlOjpHYWluTm9kZShCYXNlQXVk
aW9Db250ZXh0JiBjb250ZXh0KQotICAgIDogQXVkaW9Ob2RlKGNvbnRleHQsIGNvbnRleHQuc2Ft
cGxlUmF0ZSgpKQorICAgIDogQXVkaW9Ob2RlKGNvbnRleHQpCiAgICAgLCBtX3NhbXBsZUFjY3Vy
YXRlR2FpblZhbHVlcyhBdWRpb05vZGU6OlByb2Nlc3NpbmdTaXplSW5GcmFtZXMpIC8vIEZJWE1F
OiBjYW4gcHJvYmFibHkgc2hhcmUgdGVtcCBidWZmZXIgaW4gY29udGV4dAogICAgICwgbV9nYWlu
KEF1ZGlvUGFyYW06OmNyZWF0ZShjb250ZXh0LCAiZ2FpbiJfcywgMS4wLCAtRkxUX01BWCwgRkxU
X01BWCkpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01l
ZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAKaW5kZXggNDgzODQwYjIzMjRm
ODg3NDM3ZGU5MzM2YjJhMTZkNzBmMzU4ZTNjNS4uOTZkYTMxNjU0NjNmYzljNzg1Mzc0MmZjMDdm
NmNmZmJlYjg3MTdlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcApAQCAtNjYsNyAr
NjYsNyBAQCBFeGNlcHRpb25PcjxSZWY8TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlPj4gTWVk
aWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlOjpjcmVhdAogfQogCiBNZWRpYUVsZW1lbnRBdWRpb1Nv
dXJjZU5vZGU6Ok1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZShCYXNlQXVkaW9Db250ZXh0JiBj
b250ZXh0LCBSZWY8SFRNTE1lZGlhRWxlbWVudD4mJiBtZWRpYUVsZW1lbnQpCi0gICAgOiBBdWRp
b05vZGUoY29udGV4dCwgY29udGV4dC5zYW1wbGVSYXRlKCkpCisgICAgOiBBdWRpb05vZGUoY29u
dGV4dCkKICAgICAsIG1fbWVkaWFFbGVtZW50KFdURk1vdmUobWVkaWFFbGVtZW50KSkKIHsKICAg
ICBzZXROb2RlVHlwZShOb2RlVHlwZU1lZGlhRWxlbWVudEF1ZGlvU291cmNlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3Rp
bmF0aW9uTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3Ry
ZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCmluZGV4IDE3MzBhOWM3NTMzN2NiZTA3OTljMGUx
MjZmMDIxMjZiZGE2OWQ2YzEuLjVkMWExYjExYzdmNDdjMGIxNjU2ZDFhMjVlOTAwMGVhYjJkMTk3
ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJl
YW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcApAQCAtNTYsNyArNTYs
NyBAQCBFeGNlcHRpb25PcjxSZWY8TWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZT4+IE1l
ZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZAogfQogCiBNZWRpYVN0cmVhbUF1ZGlvRGVzdGlu
YXRpb25Ob2RlOjpNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlKEJhc2VBdWRpb0NvbnRl
eHQmIGNvbnRleHQpCi0gICAgOiBBdWRpb0Jhc2ljSW5zcGVjdG9yTm9kZShjb250ZXh0LCBjb250
ZXh0LnNhbXBsZVJhdGUoKSkKKyAgICA6IEF1ZGlvQmFzaWNJbnNwZWN0b3JOb2RlKGNvbnRleHQp
CiAgICAgLCBtX3NvdXJjZShNZWRpYVN0cmVhbUF1ZGlvU291cmNlOjpjcmVhdGUoY29udGV4dC5z
YW1wbGVSYXRlKCkpKQogICAgICwgbV9zdHJlYW0oTWVkaWFTdHJlYW06OmNyZWF0ZSgqY29udGV4
dC5kb2N1bWVudCgpLCBNZWRpYVN0cmVhbVByaXZhdGU6OmNyZWF0ZShjb250ZXh0LmRvY3VtZW50
KCktPmxvZ2dlcigpLCBtX3NvdXJjZS5jb3B5UmVmKCkpKSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNl
Tm9kZS5jcHAKaW5kZXggOTA5ZGYyMjdhYTlkY2U0ZTg2OGJjNzAzZDU5ZWI1YjQ1OGQ0MGJhYi4u
MWRlOGE1Mzg1NDM2ODdlNDJmZTdkZTQyMDUzYWM2YTc5NGNlMTI2ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlv
U291cmNlTm9kZS5jcHAKQEAgLTcxLDcgKzcxLDcgQEAgRXhjZXB0aW9uT3I8UmVmPE1lZGlhU3Ry
ZWFtQXVkaW9Tb3VyY2VOb2RlPj4gTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6OmNyZWF0ZSgK
IH0KIAogTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6Ok1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VO
b2RlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIE1lZGlhU3RyZWFtJiBtZWRpYVN0cmVhbSwg
TWVkaWFTdHJlYW1UcmFjayYgYXVkaW9UcmFjaykKLSAgICA6IEF1ZGlvTm9kZShjb250ZXh0LCBj
b250ZXh0LnNhbXBsZVJhdGUoKSkKKyAgICA6IEF1ZGlvTm9kZShjb250ZXh0KQogICAgICwgbV9t
ZWRpYVN0cmVhbShtZWRpYVN0cmVhbSkKICAgICAsIG1fYXVkaW9UcmFjayhhdWRpb1RyYWNrKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVk
aW9EZXN0aW5hdGlvbk5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9P
ZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCmluZGV4IGIxMTkzYmExYTVkMzQ4NjMwMWRk
NmFlOTNhNjJlMWQ4N2IwNTU1ZmYuLjUzYzljNjkxZGI2MjlhOTlmYjFjMTg1ZTQ0MmU1ZWY3ODEw
NDJkYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGlu
ZUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL09mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKQEAgLTQyLDcgKzQyLDcgQEAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKE9mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZSk7
CiBjb25zdCBzaXplX3QgcmVuZGVyUXVhbnR1bVNpemUgPSAxMjg7ICAgIAogCiBPZmZsaW5lQXVk
aW9EZXN0aW5hdGlvbk5vZGU6Ok9mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZShCYXNlQXVkaW9D
b250ZXh0JiBjb250ZXh0LCBBdWRpb0J1ZmZlciogcmVuZGVyVGFyZ2V0KQotICAgIDogQXVkaW9E
ZXN0aW5hdGlvbk5vZGUoY29udGV4dCwgcmVuZGVyVGFyZ2V0LT5zYW1wbGVSYXRlKCkpCisgICAg
OiBBdWRpb0Rlc3RpbmF0aW9uTm9kZShjb250ZXh0KQogICAgICwgbV9yZW5kZXJUYXJnZXQocmVu
ZGVyVGFyZ2V0KQogICAgICwgbV9zdGFydGVkUmVuZGVyaW5nKGZhbHNlKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlv
bk5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvRGVz
dGluYXRpb25Ob2RlLmgKaW5kZXggZTNhM2U1NDZiYWIzZTZlOGRiN2U0YmI2ZGY1OGRlNWFhM2E3
MmMwYi4uNDZjZjM4MGE5MTkzM2EzNzkxMzM0NzYyY2Y1NzFmNmU1OTlkOGY2NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlv
bk5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRp
b0Rlc3RpbmF0aW9uTm9kZS5oCkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGVu
YWJsZUlucHV0KGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlIHsgfQogICAgIEV4Y2VwdGlvbk9yPHZv
aWQ+IHN0YXJ0UmVuZGVyaW5nKCkgb3ZlcnJpZGU7CiAKLSAgICBmbG9hdCBzYW1wbGVSYXRlKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9yZW5kZXJUYXJnZXQtPnNhbXBsZVJhdGUoKTsgfQor
ICAgIGZsb2F0IHNhbXBsZVJhdGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3JlbmRlclRhcmdl
dC0+c2FtcGxlUmF0ZSgpOyB9CiAKIHByaXZhdGU6CiAgICAgT2ZmbGluZUF1ZGlvRGVzdGluYXRp
b25Ob2RlKEJhc2VBdWRpb0NvbnRleHQmLCBBdWRpb0J1ZmZlciogcmVuZGVyVGFyZ2V0KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5vZGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5jcHAK
aW5kZXggYzJlOGU4OWI4YTI0YzgxOTZiMDkwODc4MmQ3OTczNGMxNjM5NmQyMy4uZmU1MjlhZjU1
MmU1M2Q2ZjUyM2Q0ODljNzYxNDRlZjQzNjc3YTAzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5jcHAKQEAgLTc3LDcgKzc3LDcgQEAg
RXhjZXB0aW9uT3I8UmVmPE9zY2lsbGF0b3JOb2RlPj4gT3NjaWxsYXRvck5vZGU6OmNyZWF0ZShC
YXNlQXVkaW9Db250ZXh0JiBjb250ZXgKIH0KIAogT3NjaWxsYXRvck5vZGU6Ok9zY2lsbGF0b3JO
b2RlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IE9zY2lsbGF0b3JPcHRpb25zJiBv
cHRpb25zKQotICAgIDogQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlKGNvbnRleHQsIGNvbnRleHQu
c2FtcGxlUmF0ZSgpKQorICAgIDogQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlKGNvbnRleHQpCiAg
ICAgLCBtX2ZyZXF1ZW5jeShBdWRpb1BhcmFtOjpjcmVhdGUoY29udGV4dCwgImZyZXF1ZW5jeSJf
cywgb3B0aW9ucy5mcmVxdWVuY3ksIC1jb250ZXh0LnNhbXBsZVJhdGUoKSAvIDIsIGNvbnRleHQu
c2FtcGxlUmF0ZSgpIC8gMikpCiAgICAgLCBtX2RldHVuZShBdWRpb1BhcmFtOjpjcmVhdGUoY29u
dGV4dCwgImRldHVuZSJfcywgb3B0aW9ucy5kZXR1bmUsIC0xNTM2MDAsIDE1MzYwMCkpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmNwcAppbmRleCBk
ZWUyN2QzYWUzMDkwYjQ0ZjQxYWY3ZmFkMzM1ZDUwNmNjNDVjMzNjLi4yZWE1NzQwM2YwMmVlMjNj
YWQwYWU2NTM0NDFmNDJiNTE4NDllZGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vUGFubmVyTm9kZS5jcHAKQEAgLTQ5LDEyICs0OSw2IEBAIHN0YXRpYyB2b2lkIGZp
eE5BTnMoZG91YmxlICZ4KQogICAgICAgICB4ID0gMC4wOwogfQogCi0vLyBGSVhNRTogUmVtb3Zl
IG9uY2UgZGVwZW5kZW5jeSBmcm9tIHByZWZpeGVkIHZlcnNpb24gaXMgcmVtb3ZlZAotUGFubmVy
Tm9kZUJhc2U6OlBhbm5lck5vZGVCYXNlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIGZsb2F0
IHNhbXBsZVJhdGUpCi0gICAgOiBBdWRpb05vZGUoY29udGV4dCwgc2FtcGxlUmF0ZSkKLXsKLX0K
LQogUGFubmVyTm9kZUJhc2U6OlBhbm5lck5vZGVCYXNlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRl
eHQpCiAgICAgOiBBdWRpb05vZGUoY29udGV4dCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9QYW5uZXJOb2RlLmgKaW5kZXggN2QyNjBkNzY0NTVhODZmMDM2OTY5ZDI5YmM2
OGQ0OTk5NjYzNDI2Yy4uODUzZDhkNThhODc1MjQwZDRlN2FlZDBjZGFkNDA4NTNhYWZhMzFhNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmgKQEAgLTUx
LDkgKzUxLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgZmxvYXQgZG9wcGxlclJhdGUoKSA9IDA7
CiAKIHByb3RlY3RlZDoKLQotICAgIC8vIEZJWE1FOiBSZW1vdmUgb25jZSBkZXBlbmRlbmN5IGZy
b20gcHJlZml4ZWQgdmVyc2lvbiBpcyByZW1vdmVkCi0gICAgUGFubmVyTm9kZUJhc2UoQmFzZUF1
ZGlvQ29udGV4dCYsIGZsb2F0IHNhbXBsZVJhdGUpOwogICAgIFBhbm5lck5vZGVCYXNlKEJhc2VB
dWRpb0NvbnRleHQmKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCmluZGV4IDIyNzI4YjBhNWNlMGE3ZDA1
NTU2MWU2NTVmZjk4NzlkNjJmOTJhOTcuLmI1YjZkNzkyZmFhYjA4NDM2YjIwYjU3MWZkOGQwNTk0
NDQwODM3NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2Ny
aXB0UHJvY2Vzc29yTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9TY3JpcHRQcm9jZXNzb3JOb2RlLmNwcApAQCAtNDQsMTMgKzQ0LDEzIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFNjcmlwdFByb2Nlc3Nvck5v
ZGUpOwogCi1SZWY8U2NyaXB0UHJvY2Vzc29yTm9kZT4gU2NyaXB0UHJvY2Vzc29yTm9kZTo6Y3Jl
YXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUsIHNpemVfdCBi
dWZmZXJTaXplLCB1bnNpZ25lZCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIHVuc2lnbmVkIG51bWJl
ck9mT3V0cHV0Q2hhbm5lbHMpCitSZWY8U2NyaXB0UHJvY2Vzc29yTm9kZT4gU2NyaXB0UHJvY2Vz
c29yTm9kZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIHNpemVfdCBidWZmZXJT
aXplLCB1bnNpZ25lZCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIHVuc2lnbmVkIG51bWJlck9mT3V0
cHV0Q2hhbm5lbHMpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2NyaXB0UHJvY2Vzc29y
Tm9kZShjb250ZXh0LCBzYW1wbGVSYXRlLCBidWZmZXJTaXplLCBudW1iZXJPZklucHV0Q2hhbm5l
bHMsIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBT
Y3JpcHRQcm9jZXNzb3JOb2RlKGNvbnRleHQsIGJ1ZmZlclNpemUsIG51bWJlck9mSW5wdXRDaGFu
bmVscywgbnVtYmVyT2ZPdXRwdXRDaGFubmVscykpOwogfQogCi1TY3JpcHRQcm9jZXNzb3JOb2Rl
OjpTY3JpcHRQcm9jZXNzb3JOb2RlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIGZsb2F0IHNh
bXBsZVJhdGUsIHNpemVfdCBidWZmZXJTaXplLCB1bnNpZ25lZCBudW1iZXJPZklucHV0Q2hhbm5l
bHMsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMpCi0gICAgOiBBdWRpb05vZGUoY29u
dGV4dCwgc2FtcGxlUmF0ZSkKK1NjcmlwdFByb2Nlc3Nvck5vZGU6OlNjcmlwdFByb2Nlc3Nvck5v
ZGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCwgc2l6ZV90IGJ1ZmZlclNpemUsIHVuc2lnbmVk
IG51bWJlck9mSW5wdXRDaGFubmVscywgdW5zaWduZWQgbnVtYmVyT2ZPdXRwdXRDaGFubmVscykK
KyAgICA6IEF1ZGlvTm9kZShjb250ZXh0KQogICAgICwgQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQu
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQogICAgICwgbV9kb3VibGVCdWZmZXJJbmRleCgwKQog
ICAgICwgbV9kb3VibGVCdWZmZXJJbmRleEZvckV2ZW50KDApCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5oCmluZGV4IDU3YmZj
N2Q0NDNiOWJlZTZjZTcyNGE0MTE0MjNiNjk2YWVjNmM2ZWQuLmIyMjdkYTFiNjk2ODJjOTczYjJh
ODczM2VlY2VmYTNjMGRhYjBmNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5oCkBAIC01Miw3ICs1Miw3IEBAIHB1Ymxp
YzoKICAgICAvLyBUaGlzIHZhbHVlIGNvbnRyb2xzIGhvdyBmcmVxdWVudGx5IHRoZSBvbmF1ZGlv
cHJvY2VzcyBldmVudCBoYW5kbGVyIGlzIGNhbGxlZCBhbmQgaG93IG1hbnkgc2FtcGxlLWZyYW1l
cyBuZWVkIHRvIGJlIHByb2Nlc3NlZCBlYWNoIGNhbGwuCiAgICAgLy8gTG93ZXIgbnVtYmVycyBm
b3IgYnVmZmVyU2l6ZSB3aWxsIHJlc3VsdCBpbiBhIGxvd2VyIChiZXR0ZXIpIGxhdGVuY3kuIEhp
Z2hlciBudW1iZXJzIHdpbGwgYmUgbmVjZXNzYXJ5IHRvIGF2b2lkIGF1ZGlvIGJyZWFrdXAgYW5k
IGdsaXRjaGVzLgogICAgIC8vIFRoZSB2YWx1ZSBjaG9zZW4gbXVzdCBjYXJlZnVsbHkgYmFsYW5j
ZSBiZXR3ZWVuIGxhdGVuY3kgYW5kIGF1ZGlvIHF1YWxpdHkuCi0gICAgc3RhdGljIFJlZjxTY3Jp
cHRQcm9jZXNzb3JOb2RlPiBjcmVhdGUoQmFzZUF1ZGlvQ29udGV4dCYsIGZsb2F0IHNhbXBsZVJh
dGUsIHNpemVfdCBidWZmZXJTaXplLCB1bnNpZ25lZCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIHVu
c2lnbmVkIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMpOworICAgIHN0YXRpYyBSZWY8U2NyaXB0UHJv
Y2Vzc29yTm9kZT4gY3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmLCBzaXplX3QgYnVmZmVyU2l6ZSwg
dW5zaWduZWQgbnVtYmVyT2ZJbnB1dENoYW5uZWxzLCB1bnNpZ25lZCBudW1iZXJPZk91dHB1dENo
YW5uZWxzKTsKIAogICAgIHZpcnR1YWwgflNjcmlwdFByb2Nlc3Nvck5vZGUoKTsKIApAQCAtNzEs
NyArNzEsNyBAQCBwcml2YXRlOgogICAgIGRvdWJsZSB0YWlsVGltZSgpIGNvbnN0IG92ZXJyaWRl
OwogICAgIGRvdWJsZSBsYXRlbmN5VGltZSgpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgU2NyaXB0
UHJvY2Vzc29yTm9kZShCYXNlQXVkaW9Db250ZXh0JiwgZmxvYXQgc2FtcGxlUmF0ZSwgc2l6ZV90
IGJ1ZmZlclNpemUsIHVuc2lnbmVkIG51bWJlck9mSW5wdXRDaGFubmVscywgdW5zaWduZWQgbnVt
YmVyT2ZPdXRwdXRDaGFubmVscyk7CisgICAgU2NyaXB0UHJvY2Vzc29yTm9kZShCYXNlQXVkaW9D
b250ZXh0Jiwgc2l6ZV90IGJ1ZmZlclNpemUsIHVuc2lnbmVkIG51bWJlck9mSW5wdXRDaGFubmVs
cywgdW5zaWduZWQgbnVtYmVyT2ZPdXRwdXRDaGFubmVscyk7CiAKICAgICB2b2lkIGZpcmVQcm9j
ZXNzRXZlbnQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9XYXZlU2hhcGVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dh
dmVTaGFwZXJOb2RlLmNwcAppbmRleCAxZmYzZDg5N2EzMzYwMmRjYmNhZmVkNTU5NDE4OGYwM2Jm
NzBkNzZjLi5iY2ZiM2FjMWQ0N2U2ZGNiYTBkYzFmNDJjZjQ5YTBhYjIzMjA4MGZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmNwcApA
QCAtNzAsNyArNzAsNyBAQCBFeGNlcHRpb25PcjxSZWY8V2F2ZVNoYXBlck5vZGU+PiBXYXZlU2hh
cGVyTm9kZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleAogfQogCiBXYXZlU2hhcGVy
Tm9kZTo6V2F2ZVNoYXBlck5vZGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCkKLSAgICA6IEF1
ZGlvQmFzaWNQcm9jZXNzb3JOb2RlKGNvbnRleHQsIGNvbnRleHQuc2FtcGxlUmF0ZSgpKQorICAg
IDogQXVkaW9CYXNpY1Byb2Nlc3Nvck5vZGUoY29udGV4dCkKIHsKICAgICBzZXROb2RlVHlwZShO
b2RlVHlwZVdhdmVTaGFwZXIpOwogICAgIG1fcHJvY2Vzc29yID0gbWFrZVVuaXF1ZTxXYXZlU2hh
cGVyUHJvY2Vzc29yPihjb250ZXh0LnNhbXBsZVJhdGUoKSwgMSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvQ29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvQ29udGV4dC5jcHAKaW5kZXgg
NWY4YjM2YjAzZGE3N2M2NWIzNTA3ZmFiMjI1MzlkNDM1MjAyYjU1Zi4uYzgyYmE2YTg2NjQzMTQz
NmRjNWE5MmFjYjI3MGNkMzQzYTE1MTNlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9Db250ZXh0LmNwcApAQCAtMTMyLDcgKzEzMiw3
IEBAIEV4Y2VwdGlvbk9yPFJlZjxXZWJLaXRBdWRpb1Bhbm5lck5vZGU+PiBXZWJLaXRBdWRpb0Nv
bnRleHQ6OmNyZWF0ZVdlYktpdFBhbm5lcigpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJ
bnZhbGlkU3RhdGVFcnJvciB9OwogCiAgICAgbGF6eUluaXRpYWxpemUoKTsKLSAgICByZXR1cm4g
V2ViS2l0QXVkaW9QYW5uZXJOb2RlOjpjcmVhdGUoKnRoaXMsIHNhbXBsZVJhdGUoKSk7CisgICAg
cmV0dXJuIFdlYktpdEF1ZGlvUGFubmVyTm9kZTo6Y3JlYXRlKCp0aGlzKTsKIH0KIAogRXhjZXB0
aW9uT3I8UmVmPFdlYktpdE9zY2lsbGF0b3JOb2RlPj4gV2ViS2l0QXVkaW9Db250ZXh0OjpjcmVh
dGVXZWJLaXRPc2NpbGxhdG9yKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vV2ViS2l0QXVkaW9QYW5uZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9QYW5uZXJOb2RlLmNwcAppbmRleCBjMzA1ODg2YWFmMWI5
ZmQ3Mjk1NzI5YzE0N2Y5MjMyZGQwNDFlMWMyLi4zZDQ0NmRkNGYxODQ5MGFmOWMzMmU4YjFmMmZk
ZGI3ZGUxYTM2MDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L1dlYktpdEF1ZGlvUGFubmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9XZWJLaXRBdWRpb1Bhbm5lck5vZGUuY3BwCkBAIC00OCw4ICs0OCw4IEBAIHN0YXRp
YyB2b2lkIGZpeE5BTnMoZG91YmxlICZ4KQogICAgICAgICB4ID0gMC4wOwogfQogCi1XZWJLaXRB
dWRpb1Bhbm5lck5vZGU6OldlYktpdEF1ZGlvUGFubmVyTm9kZShXZWJLaXRBdWRpb0NvbnRleHQm
IGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUpCi0gICAgOiBQYW5uZXJOb2RlQmFzZShjb250ZXh0
LCBzYW1wbGVSYXRlKQorV2ViS2l0QXVkaW9QYW5uZXJOb2RlOjpXZWJLaXRBdWRpb1Bhbm5lck5v
ZGUoV2ViS2l0QXVkaW9Db250ZXh0JiBjb250ZXh0KQorICAgIDogUGFubmVyTm9kZUJhc2UoY29u
dGV4dCkKICAgICAsIG1fcGFubmluZ01vZGVsKFBhbm5pbmdNb2RlbFR5cGU6OkhSVEYpCiAgICAg
LCBtX2xhc3RHYWluKC0xLjApCiAgICAgLCBtX2Nvbm5lY3Rpb25Db3VudCgwKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb1Bhbm5lck5vZGUu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9QYW5uZXJOb2Rl
LmgKaW5kZXggZjE1OGZjNGRmNzk4NTIwNDVmYjkxNDk1MWYwZDNhZWRkNzhkNjRmMS4uMjkwM2Y2
MTU1NGFhMjM5MzdmMDVjZDU1NGViNWNmOTA4MThkMzc1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb1Bhbm5lck5vZGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvUGFubmVyTm9kZS5oCkBAIC01
Myw5ICs1Myw5IEBAIGNsYXNzIEhSVEZEYXRhYmFzZUxvYWRlcjsKIGNsYXNzIFdlYktpdEF1ZGlv
UGFubmVyTm9kZSBmaW5hbCA6IHB1YmxpYyBQYW5uZXJOb2RlQmFzZSB7CiAgICAgV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRChXZWJLaXRBdWRpb1Bhbm5lck5vZGUpOwogcHVibGljOgotICAgIHN0YXRp
YyBSZWY8V2ViS2l0QXVkaW9QYW5uZXJOb2RlPiBjcmVhdGUoV2ViS2l0QXVkaW9Db250ZXh0JiBj
b250ZXh0LCBmbG9hdCBzYW1wbGVSYXRlKQorICAgIHN0YXRpYyBSZWY8V2ViS2l0QXVkaW9QYW5u
ZXJOb2RlPiBjcmVhdGUoV2ViS2l0QXVkaW9Db250ZXh0JiBjb250ZXh0KQogICAgIHsKLSAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViS2l0QXVkaW9QYW5uZXJOb2RlKGNvbnRleHQsIHNh
bXBsZVJhdGUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViS2l0QXVkaW9QYW5u
ZXJOb2RlKGNvbnRleHQpKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5XZWJLaXRBdWRpb1Bhbm5l
ck5vZGUoKTsKQEAgLTEyMyw3ICsxMjMsNyBAQCBwdWJsaWM6CiAgICAgZG91YmxlIGxhdGVuY3lU
aW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9wYW5uZXIgPyBtX3Bhbm5lci0+bGF0ZW5j
eVRpbWUoKSA6IDA7IH0KIAogcHJpdmF0ZToKLSAgICBXZWJLaXRBdWRpb1Bhbm5lck5vZGUoV2Vi
S2l0QXVkaW9Db250ZXh0JiwgZmxvYXQgc2FtcGxlUmF0ZSk7CisgICAgZXhwbGljaXQgV2ViS2l0
QXVkaW9QYW5uZXJOb2RlKFdlYktpdEF1ZGlvQ29udGV4dCYpOwogCiAgICAgLy8gUmV0dXJucyB0
aGUgY29tYmluZWQgZGlzdGFuY2UgYW5kIGNvbmUgZ2FpbiBhdHRlbnVhdGlvbi4KICAgICBmbG9h
dCBkaXN0YW5jZUNvbmVHYWluKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>