<?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>197830</bug_id>
          
          <creation_ts>2019-05-12 23:28:45 -0700</creation_ts>
          <short_desc>[JSC] Compress miscelaneous JIT related data structures with Packed&lt;&gt;</short_desc>
          <delta_ts>2019-05-13 10:33:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1535543</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-05-12 23:28:45 -0700</bug_when>
    <thetext>[JSC] Compress miscelaneous JIT related data structures with Packed&lt;&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535546</commentid>
    <comment_count>1</comment_count>
      <attachid>369699</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-05-12 23:34:00 -0700</bug_when>
    <thetext>Created attachment 369699
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535652</commentid>
    <comment_count>2</comment_count>
      <attachid>369699</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-05-13 10:05:46 -0700</bug_when>
    <thetext>Comment on attachment 369699
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535662</commentid>
    <comment_count>3</comment_count>
      <attachid>369699</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-13 10:32:37 -0700</bug_when>
    <thetext>Comment on attachment 369699
Patch

Clearing flags on attachment: 369699

Committed r245239: &lt;https://trac.webkit.org/changeset/245239&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535663</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-13 10:32:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535664</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-05-13 10:33:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/50728575&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369699</attachid>
            <date>2019-05-12 23:34:00 -0700</date>
            <delta_ts>2019-05-13 10:32:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197830-20190512233357.patch</filename>
            <type>text/plain</type>
            <size>46747</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZWI1YjVjNWFiYTZjMzI5YzdkODE0NzEzMWQwOTEwNTEyNTBlYWMxLi40MGM4ZmY4MWYyNmM5ZmU3
MTcxZGM3OWUxNDlhNzJkMDg2MzRmNjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMDUgQEAKKzIwMTktMDUtMTIgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KKworICAgICAgICBbSlNDXSBDb21wcmVzcyBtaXNjZWxhbmVvdXMgSklUIHJlbGF0ZWQgZGF0
YSBzdHJ1Y3R1cmVzIHdpdGggUGFja2VkPD4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5NzgzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggbGV2ZXJhZ2VzIFBhY2tlZDw+IHRvIGNvbXBy
ZXNzIG1pc2NlbGFuZW91cyBkYXRhIHN0cnVjdHVyZXMgcmVsYXRlZCB0byBKSVQuCisKKyAgICAg
ICAgMS4gSklUIElDIGRhdGEgc3RydWN0dXJlcworCisgICAgICAgIDIuIFZhbHVlUmVjb3ZlcnkK
KworICAgICAgICAgICAgV2UgdXNlIFBhY2tlZDw+IGZvciBFbmNvZGVkSlNWYWx1ZSBpbiBWYWx1
ZVJlY292ZXJ5LiBUaGlzIG1lYW5zIHRoYXQgY29uc2VydmF0aXZlIEdDIGNhbm5vdCBmaW5kCisg
ICAgICAgICAgICB0aGVzZSB2YWx1ZXMuIEJ1dCB0aGlzIGlzIE9LIGFueXdheSBzaW5jZSBWYWx1
ZVJlY292ZXJ5J3MgY29uc3RhbnQgc2hvdWxkIGJlIGFscmVhZHkgcmVnaXN0ZXJlZAorICAgICAg
ICAgICAgaW4gREZHIGdyYXBoLiBGcm9tIDE2IChhbGlnbm1lbnQgOCkgdG8gOSAoYWxpZ25tZW50
IDEpLgorCisgICAgICAgIDMuIEZUTDo6RXhpdFZhbHVlCisKKyAgICAgICAgICAgIFdlIHVzZSBQ
YWNrZWQ8PiBmb3IgRW5jb2RlZEpTVmFsdWUgaW4gRlRMOjpFeGl0VmFsdWUuIFRoaXMgaXMgYWxz
byBPSyBzaW5jZSB0aGlzIGNvbnN0YW50IHNob3VsZAorICAgICAgICAgICAgYmUgYWxyZWFkeSBy
ZWdpc3RlcmVkIGJ5IERGRy9GVEwgZ3JhcGguIEZyb20gMTYgKGFsaWdubWVudCA4KSB0byA5IChh
bGlnbm1lbnQgMSkuCisKKyAgICAgICAgKiBhc3NlbWJsZXIvQ29kZUxvY2F0aW9uLmg6CisgICAg
ICAgICogYnl0ZWNvZGUvQnlWYWxJbmZvLmg6CisgICAgICAgICogYnl0ZWNvZGUvQ2FsbExpbmtJ
bmZvLmNwcDoKKyAgICAgICAgKEpTQzo6Q2FsbExpbmtJbmZvOjpDYWxsTGlua0luZm8pOgorICAg
ICAgICAoSlNDOjpDYWxsTGlua0luZm86OmNhbGxSZXR1cm5Mb2NhdGlvbik6CisgICAgICAgICog
Ynl0ZWNvZGUvQ2FsbExpbmtJbmZvLmg6CisgICAgICAgIChKU0M6OkNhbGxMaW5rSW5mbzo6bmVh
ckNhbGxNb2RlIGNvbnN0KToKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAg
ICAgICAoSlNDOjpDb2RlQmxvY2s6OmFkZEpJVEFkZElDKToKKyAgICAgICAgKEpTQzo6Q29kZUJs
b2NrOjphZGRKSVRNdWxJQyk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6YWRkSklUU3ViSUMp
OgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmFkZEpJVE5lZ0lDKToKKyAgICAgICAgKiBieXRl
Y29kZS9Db2RlQmxvY2suaDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjphZGRNYXRoSUMpOgor
ICAgICAgICAqIGJ5dGVjb2RlL0lubGluZUNhbGxGcmFtZS5oOgorICAgICAgICAoSlNDOjpJbmxp
bmVDYWxsRnJhbWU6OklubGluZUNhbGxGcmFtZSk6CisgICAgICAgICogYnl0ZWNvZGUvVmFsdWVS
ZWNvdmVyeS5oOgorICAgICAgICAoSlNDOjpWYWx1ZVJlY292ZXJ5OjppbkdQUik6CisgICAgICAg
IChKU0M6OlZhbHVlUmVjb3Zlcnk6OmluUGFpcik6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zl
cnk6OmluRlBSKToKKyAgICAgICAgKEpTQzo6VmFsdWVSZWNvdmVyeTo6ZGlzcGxhY2VkSW5KU1N0
YWNrKToKKyAgICAgICAgKEpTQzo6VmFsdWVSZWNvdmVyeTo6Y29uc3RhbnQpOgorICAgICAgICAo
SlNDOjpWYWx1ZVJlY292ZXJ5OjpkaXJlY3RBcmd1bWVudHNUaGF0V2VyZU5vdENyZWF0ZWQpOgor
ICAgICAgICAoSlNDOjpWYWx1ZVJlY292ZXJ5OjpjbG9uZWRBcmd1bWVudHNUaGF0V2VyZU5vdENy
ZWF0ZWQpOgorICAgICAgICAoSlNDOjpWYWx1ZVJlY292ZXJ5OjpncHIgY29uc3QpOgorICAgICAg
ICAoSlNDOjpWYWx1ZVJlY292ZXJ5Ojp0YWdHUFIgY29uc3QpOgorICAgICAgICAoSlNDOjpWYWx1
ZVJlY292ZXJ5OjpwYXlsb2FkR1BSIGNvbnN0KToKKyAgICAgICAgKEpTQzo6VmFsdWVSZWNvdmVy
eTo6ZnByIGNvbnN0KToKKyAgICAgICAgKEpTQzo6VmFsdWVSZWNvdmVyeTo6dmlydHVhbFJlZ2lz
dGVyIGNvbnN0KToKKyAgICAgICAgKEpTQzo6VmFsdWVSZWNvdmVyeTo6d2l0aExvY2Fsc09mZnNl
dCBjb25zdCk6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zlcnk6OmNvbnN0YW50IGNvbnN0KToK
KyAgICAgICAgKEpTQzo6VmFsdWVSZWNvdmVyeTo6bm9kZUlEIGNvbnN0KToKKyAgICAgICAgKiBk
ZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZl
SklUOjpjb21waWxlVmFsdWVBZGQpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklU
Ojpjb21waWxlVmFsdWVTdWIpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpj
b21waWxlVmFsdWVOZWdhdGUpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpj
b21waWxlVmFsdWVNdWwpOgorICAgICAgICAqIGZ0bC9GVExFeGl0VmFsdWUuY3BwOgorICAgICAg
ICAoSlNDOjpGVEw6OkV4aXRWYWx1ZTo6bWF0ZXJpYWxpemVOZXdPYmplY3QpOgorICAgICAgICAq
IGZ0bC9GVExFeGl0VmFsdWUuaDoKKyAgICAgICAgKEpTQzo6RlRMOjpFeGl0VmFsdWU6OmluSlNT
dGFjayk6CisgICAgICAgIChKU0M6OkZUTDo6RXhpdFZhbHVlOjppbkpTU3RhY2tBc0ludDMyKToK
KyAgICAgICAgKEpTQzo6RlRMOjpFeGl0VmFsdWU6OmluSlNTdGFja0FzSW50NTIpOgorICAgICAg
ICAoSlNDOjpGVEw6OkV4aXRWYWx1ZTo6aW5KU1N0YWNrQXNEb3VibGUpOgorICAgICAgICAoSlND
OjpGVEw6OkV4aXRWYWx1ZTo6Y29uc3RhbnQpOgorICAgICAgICAoSlNDOjpGVEw6OkV4aXRWYWx1
ZTo6ZXhpdEFyZ3VtZW50KToKKyAgICAgICAgKEpTQzo6RlRMOjpFeGl0VmFsdWU6OmV4aXRBcmd1
bWVudCBjb25zdCk6CisgICAgICAgIChKU0M6OkZUTDo6RXhpdFZhbHVlOjphZGp1c3RTdGFja21h
cExvY2F0aW9uc0luZGV4QnlPZmZzZXQpOgorICAgICAgICAoSlNDOjpGVEw6OkV4aXRWYWx1ZTo6
Y29uc3RhbnQgY29uc3QpOgorICAgICAgICAoSlNDOjpGVEw6OkV4aXRWYWx1ZTo6dmlydHVhbFJl
Z2lzdGVyIGNvbnN0KToKKyAgICAgICAgKEpTQzo6RlRMOjpFeGl0VmFsdWU6Om9iamVjdE1hdGVy
aWFsaXphdGlvbiBjb25zdCk6CisgICAgICAgIChKU0M6OkZUTDo6RXhpdFZhbHVlOjp3aXRoVmly
dHVhbFJlZ2lzdGVyIGNvbnN0KToKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0IzLmNwcDoK
KyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZVZhbHVlQWRkKToK
KyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZVZhbHVlU3ViKToK
KyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZVZhbHVlTXVsKToK
KyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZVVuYXJ5TWF0aElD
KToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZUJpbmFyeU1h
dGhJQyk6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVBcml0
aEFkZE9yU3ViKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGls
ZVZhbHVlTmVnYXRlKToKKyAgICAgICAgKiBqaXQvQ2FjaGVkUmVjb3ZlcnkuaDoKKyAgICAgICAg
KiBqaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuaDoKKyAgICAgICAgKiBqaXQvSklUQXJpdGhtZXRp
Yy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9uZWdhdGUpOgorICAgICAgICAoSlND
OjpKSVQ6OmVtaXRfb3BfYWRkKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX211bCk6Cisg
ICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9zdWIpOgorICAgICAgICAqIGppdC9KSVRNYXRoSUMu
aDoKKyAgICAgICAgKEpTQzo6aXNQcm9maWxlRW1wdHkpOgorICAgICAgICAoSlNDOjpKSVRCaW5h
cnlNYXRoSUM6OkpJVEJpbmFyeU1hdGhJQyk6CisgICAgICAgIChKU0M6OkpJVFVuYXJ5TWF0aElD
OjpKSVRVbmFyeU1hdGhJQyk6CisgICAgICAgICogaml0L1BvbHltb3JwaGljQ2FsbFN0dWJSb3V0
aW5lLmg6CisgICAgICAgIChKU0M6OlBvbHltb3JwaGljQ2FsbE5vZGU6Omhhc0NhbGxMaW5rSW5m
byk6CisgICAgICAgICogaml0L1NuaXBwZXRPcGVyYW5kLmg6CisgICAgICAgIChKU0M6OlNuaXBw
ZXRPcGVyYW5kOjphc1Jhd0JpdHMgY29uc3QpOgorICAgICAgICAoSlNDOjpTbmlwcGV0T3BlcmFu
ZDo6YXNDb25zdEludDMyIGNvbnN0KToKKyAgICAgICAgKEpTQzo6U25pcHBldE9wZXJhbmQ6OmFz
Q29uc3REb3VibGUgY29uc3QpOgorICAgICAgICAoSlNDOjpTbmlwcGV0T3BlcmFuZDo6c2V0Q29u
c3RJbnQzMik6CisgICAgICAgIChKU0M6OlNuaXBwZXRPcGVyYW5kOjpzZXRDb25zdERvdWJsZSk6
CisKIDIwMTktMDUtMTIgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbSlNDXSBDb21wcmVzcyBXYXRjaHBvaW50IHNpemUgYnkgdXNpbmcgZW51bSB0eXBlIGFu
ZCBQYWNrZWQ8PiBkYXRhIHN0cnVjdHVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCAzNzQyYjE4NjY4MjljYWQyNDUwYWQzN2Vi
MThmYmVmNTZiOWIyYmZjLi44NzYzNzkxMmIzMzMzM2IwY2NmMGVkYzcwMzllMmQ5YzFmMGQ4Njk2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTA1LTEyICBZdXN1a2UgU3V6dWtpICA8eXN1enVr
aUBhcHBsZS5jb20+CisKKyAgICAgICAgW0pTQ10gQ29tcHJlc3MgbWlzY2VsYW5lb3VzIEpJVCBy
ZWxhdGVkIGRhdGEgc3RydWN0dXJlcyB3aXRoIFBhY2tlZDw+CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTc4MzAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9QYWNrZWQuaDoKKyAgICAgICAgKFdU
Rjo6YWxpZ25vZik6CisKIDIwMTktMDUtMTIgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxl
LmNvbT4KIAogICAgICAgICBbSlNDXSBDb21wcmVzcyBXYXRjaHBvaW50IHNpemUgYnkgdXNpbmcg
ZW51bSB0eXBlIGFuZCBQYWNrZWQ8PiBkYXRhIHN0cnVjdHVyZQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9Db2RlTG9jYXRpb24uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvQ29kZUxvY2F0aW9uLmgKaW5kZXggNDFkMjUxZTczZjA3Y2MzYjE1
YTAxYTRhYjBmMDJiNzFiOTE1NTg3My4uYTZjYTVjODFjNTEwOTVmODE5OGQ5YjgyZGIxNGE1ODFh
MjVjZTYwOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9Db2Rl
TG9jYXRpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0NvZGVMb2Nh
dGlvbi5oCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1lbnVtIE5lYXJD
YWxsTW9kZSB7IFJlZ3VsYXIsIFRhaWwgfTsKK2VudW0gY2xhc3MgTmVhckNhbGxNb2RlIDogdWlu
dDhfdCB7IFJlZ3VsYXIsIFRhaWwgfTsKIAogdGVtcGxhdGU8UHRyVGFnPiBjbGFzcyBDb2RlTG9j
YXRpb25JbnN0cnVjdGlvbjsKIHRlbXBsYXRlPFB0clRhZz4gY2xhc3MgQ29kZUxvY2F0aW9uTGFi
ZWw7CkBAIC0xNTMsNyArMTUzLDcgQEAgY2xhc3MgQ29kZUxvY2F0aW9uTmVhckNhbGwgOiBwdWJs
aWMgQ29kZUxvY2F0aW9uQ29tbW9uPHRhZz4gewogICAgICAgICA6IENvZGVMb2NhdGlvbkNvbW1v
bjx0YWc+KE1hY3JvQXNzZW1ibGVyQ29kZVB0cjx0YWc+KGxvY2F0aW9uKSksIG1fY2FsbE1vZGUo
Y2FsbE1vZGUpIHsgfQogICAgIE5lYXJDYWxsTW9kZSBjYWxsTW9kZSgpIHsgcmV0dXJuIG1fY2Fs
bE1vZGU7IH0KIHByaXZhdGU6Ci0gICAgTmVhckNhbGxNb2RlIG1fY2FsbE1vZGUgPSBOZWFyQ2Fs
bE1vZGU6OlJlZ3VsYXI7CisgICAgTmVhckNhbGxNb2RlIG1fY2FsbE1vZGUgeyBOZWFyQ2FsbE1v
ZGU6OlJlZ3VsYXIgfTsKIH07CiAKIHRlbXBsYXRlPFB0clRhZyB0YWc+CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnlWYWxJbmZvLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQnlWYWxJbmZvLmgKaW5kZXggNWRmMjFmZjgwNTAyMGJjZjMxYThm
NDM1YzVlMzdkNWE2YWUzNjRjMy4uMzM5OWQ1ODFlMWYyYzhmYzdjZjE3MmU2NjZlN2M3Mjg3OGY0
YjU0NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5VmFsSW5m
by5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeVZhbEluZm8uaApAQCAt
MzksNyArMzksNyBAQCBjbGFzcyBTeW1ib2w7CiAKIGNsYXNzIFN0cnVjdHVyZVN0dWJJbmZvOwog
Ci1lbnVtIEpJVEFycmF5TW9kZSB7CitlbnVtIEpJVEFycmF5TW9kZSA6IHVpbnQ4X3QgewogICAg
IEpJVEludDMyLAogICAgIEpJVERvdWJsZSwKICAgICBKSVRDb250aWd1b3VzLApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxMaW5rSW5mby5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtJbmZvLmNwcAppbmRleCBiM2I2NmM0
NGU5MDQ5MjFmNzhjODlmYTRmZGJjMjA0ZDk1OTlmZmZlLi5jZWQ5ZDRkNjdiYWRkYmQ0N2ZlMGQ2
ZDQxZjQ2Zjc3NWQwOWNhODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQ2FsbExpbmtJbmZvLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ2FsbExpbmtJbmZvLmNwcApAQCAtNjMsOCArNjMsNiBAQCBDYWxsTGlua0luZm86OkNhbGxM
aW5rSW5mbygpCiAgICAgLCBtX2NsZWFyZWRCeUpldHRpc29uKGZhbHNlKQogICAgICwgbV9jYWxs
VHlwZShOb25lKQogICAgICwgbV9jYWxsZWVHUFIoMjU1KQotICAgICwgbV9tYXhOdW1Bcmd1bWVu
dHMoMCkKLSAgICAsIG1fc2xvd1BhdGhDb3VudCgwKQogewogfQogCkBAIC0xMDAsNyArOTgsNyBA
QCB2b2lkIENhbGxMaW5rSW5mbzo6dW5saW5rKFZNJiB2bSkKIENvZGVMb2NhdGlvbk5lYXJDYWxs
PEpTSW50ZXJuYWxQdHJUYWc+IENhbGxMaW5rSW5mbzo6Y2FsbFJldHVybkxvY2F0aW9uKCkKIHsK
ICAgICBSRUxFQVNFX0FTU0VSVCghaXNEaXJlY3QoKSk7Ci0gICAgcmV0dXJuIENvZGVMb2NhdGlv
bk5lYXJDYWxsPEpTSW50ZXJuYWxQdHJUYWc+KG1fY2FsbFJldHVybkxvY2F0aW9uT3JQYXRjaGFi
bGVKdW1wLCBSZWd1bGFyKTsKKyAgICByZXR1cm4gQ29kZUxvY2F0aW9uTmVhckNhbGw8SlNJbnRl
cm5hbFB0clRhZz4obV9jYWxsUmV0dXJuTG9jYXRpb25PclBhdGNoYWJsZUp1bXAsIE5lYXJDYWxs
TW9kZTo6UmVndWxhcik7CiB9CiAKIENvZGVMb2NhdGlvbkp1bXA8SlNJbnRlcm5hbFB0clRhZz4g
Q2FsbExpbmtJbmZvOjpwYXRjaGFibGVKdW1wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua0luZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9DYWxsTGlua0luZm8uaAppbmRleCBhMGIyMDdmNTI4ZDM2ZjZmZjdhMDQzNzkwODQ1
N2ZhOTI1OWUyMGRlLi5mYTBhMTE1YjU4OTBlNTk3OGNjNGViNTgxNWNiYzI3NGRmZmZiMDA3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtJbmZvLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxMaW5rSW5mby5oCkBAIC00
MSw3ICs0MSw3IEBAIGNsYXNzIEpTRnVuY3Rpb247CiBlbnVtIE9wY29kZUlEIDogdW5zaWduZWQ7
CiBzdHJ1Y3QgQ2FsbEZyYW1lU2h1ZmZsZURhdGE7CiAKLWNsYXNzIENhbGxMaW5rSW5mbyA6IHB1
YmxpYyBCYXNpY1Jhd1NlbnRpbmVsTm9kZTxDYWxsTGlua0luZm8+IHsKK2NsYXNzIENhbGxMaW5r
SW5mbyA6IHB1YmxpYyBQYWNrZWRSYXdTZW50aW5lbE5vZGU8Q2FsbExpbmtJbmZvPiB7CiBwdWJs
aWM6CiAgICAgZW51bSBDYWxsVHlwZSB7CiAgICAgICAgIE5vbmUsCkBAIC0xNDYsNyArMTQ2LDcg
QEAgY2xhc3MgQ2FsbExpbmtJbmZvIDogcHVibGljIEJhc2ljUmF3U2VudGluZWxOb2RlPENhbGxM
aW5rSW5mbz4gewogICAgIAogICAgIE5lYXJDYWxsTW9kZSBuZWFyQ2FsbE1vZGUoKSBjb25zdAog
ICAgIHsKLSAgICAgICAgcmV0dXJuIGlzVGFpbENhbGwoKSA/IFRhaWwgOiBSZWd1bGFyOworICAg
ICAgICByZXR1cm4gaXNUYWlsQ2FsbCgpID8gTmVhckNhbGxNb2RlOjpUYWlsIDogTmVhckNhbGxN
b2RlOjpSZWd1bGFyOwogICAgIH0KIAogICAgIGJvb2wgaXNWYXJhcmdzKCkgY29uc3QKQEAgLTM0
Nyw2ICszNDcsNyBAQCBjbGFzcyBDYWxsTGlua0luZm8gOiBwdWJsaWMgQmFzaWNSYXdTZW50aW5l
bE5vZGU8Q2FsbExpbmtJbmZvPiB7CiAgICAgfQogCiBwcml2YXRlOgorICAgIHVpbnQzMl90IG1f
bWF4TnVtQXJndW1lbnRzIHsgMCB9OyAvLyBGb3IgdmFyYXJnczogdGhlIHByb2ZpbGVkIG1heGlt
dW0gbnVtYmVyIG9mIGFyZ3VtZW50cy4gRm9yIGRpcmVjdDogdGhlIG51bWJlciBvZiBzdGFjayBz
bG90cyBhbGxvY2F0ZWQgZm9yIGFyZ3VtZW50cy4KICAgICBDb2RlTG9jYXRpb25MYWJlbDxKU0lu
dGVybmFsUHRyVGFnPiBtX2NhbGxSZXR1cm5Mb2NhdGlvbk9yUGF0Y2hhYmxlSnVtcDsKICAgICBD
b2RlTG9jYXRpb25MYWJlbDxKU0ludGVybmFsUHRyVGFnPiBtX2hvdFBhdGhCZWdpbk9yU2xvd1Bh
dGhTdGFydDsKICAgICBDb2RlTG9jYXRpb25OZWFyQ2FsbDxKU0ludGVybmFsUHRyVGFnPiBtX2hv
dFBhdGhPdGhlcjsKQEAgLTM1NSw2ICszNTYsNyBAQCBjbGFzcyBDYWxsTGlua0luZm8gOiBwdWJs
aWMgQmFzaWNSYXdTZW50aW5lbE5vZGU8Q2FsbExpbmtJbmZvPiB7CiAgICAgUmVmUHRyPFBvbHlt
b3JwaGljQ2FsbFN0dWJSb3V0aW5lPiBtX3N0dWI7CiAgICAgUmVmUHRyPEpJVFN0dWJSb3V0aW5l
PiBtX3Nsb3dTdHViOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxDYWxsRnJhbWVTaHVmZmxlRGF0YT4g
bV9mcmFtZVNodWZmbGVEYXRhOworICAgIENvZGVPcmlnaW4gbV9jb2RlT3JpZ2luOwogICAgIGJv
b2wgbV9oYXNTZWVuU2hvdWxkUmVwYXRjaCA6IDE7CiAgICAgYm9vbCBtX2hhc1NlZW5DbG9zdXJl
IDogMTsKICAgICBib29sIG1fY2xlYXJlZEJ5R0MgOiAxOwpAQCAtMzYzLDkgKzM2NSw3IEBAIGNs
YXNzIENhbGxMaW5rSW5mbyA6IHB1YmxpYyBCYXNpY1Jhd1NlbnRpbmVsTm9kZTxDYWxsTGlua0lu
Zm8+IHsKICAgICBib29sIG1fY2xlYXJlZEJ5SmV0dGlzb24gOiAxOwogICAgIHVuc2lnbmVkIG1f
Y2FsbFR5cGUgOiA0OyAvLyBDYWxsVHlwZQogICAgIHVuc2lnbmVkIG1fY2FsbGVlR1BSIDogODsK
LSAgICB1aW50MzJfdCBtX21heE51bUFyZ3VtZW50czsgLy8gRm9yIHZhcmFyZ3M6IHRoZSBwcm9m
aWxlZCBtYXhpbXVtIG51bWJlciBvZiBhcmd1bWVudHMuIEZvciBkaXJlY3Q6IHRoZSBudW1iZXIg
b2Ygc3RhY2sgc2xvdHMgYWxsb2NhdGVkIGZvciBhcmd1bWVudHMuCi0gICAgdWludDMyX3QgbV9z
bG93UGF0aENvdW50OwotICAgIENvZGVPcmlnaW4gbV9jb2RlT3JpZ2luOworICAgIHVpbnQzMl90
IG1fc2xvd1BhdGhDb3VudCB7IDAgfTsKIH07CiAKIGlubGluZSBDb2RlT3JpZ2luIGdldENhbGxM
aW5rSW5mb0NvZGVPcmlnaW4oQ2FsbExpbmtJbmZvJiBjYWxsTGlua0luZm8pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmluZGV4IGVjYzFhOTUwOTVmN2Jl
ZmY2MTY5ZWVhODNjMjY3ZDQ0N2IyYmNhYmMuLmJjYjhhOWQyMTJjNDBlMjdmYzMwZDNjYjU4YTQ1
ZWE1NThkZDAxZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suY3BwCkBAIC0xNDI3LDI4ICsxNDI3LDI4IEBAIFN0cnVjdHVyZVN0dWJJbmZvKiBDb2RlQmxv
Y2s6OmFkZFN0dWJJbmZvKEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSkKICAgICByZXR1cm4gZW5zdXJl
SklURGF0YShsb2NrZXIpLm1fc3R1YkluZm9zLmFkZChhY2Nlc3NUeXBlKTsKIH0KIAotSklUQWRk
SUMqIENvZGVCbG9jazo6YWRkSklUQWRkSUMoQXJpdGhQcm9maWxlKiBhcml0aFByb2ZpbGUsIGNv
bnN0IEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbikKK0pJVEFkZElDKiBDb2RlQmxvY2s6OmFkZEpJ
VEFkZElDKEFyaXRoUHJvZmlsZSogYXJpdGhQcm9maWxlKQogewogICAgIENvbmN1cnJlbnRKU0xv
Y2tlciBsb2NrZXIobV9sb2NrKTsKLSAgICByZXR1cm4gZW5zdXJlSklURGF0YShsb2NrZXIpLm1f
YWRkSUNzLmFkZChhcml0aFByb2ZpbGUsIGluc3RydWN0aW9uKTsKKyAgICByZXR1cm4gZW5zdXJl
SklURGF0YShsb2NrZXIpLm1fYWRkSUNzLmFkZChhcml0aFByb2ZpbGUpOwogfQogCi1KSVRNdWxJ
QyogQ29kZUJsb2NrOjphZGRKSVRNdWxJQyhBcml0aFByb2ZpbGUqIGFyaXRoUHJvZmlsZSwgY29u
c3QgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uKQorSklUTXVsSUMqIENvZGVCbG9jazo6YWRkSklU
TXVsSUMoQXJpdGhQcm9maWxlKiBhcml0aFByb2ZpbGUpCiB7CiAgICAgQ29uY3VycmVudEpTTG9j
a2VyIGxvY2tlcihtX2xvY2spOwotICAgIHJldHVybiBlbnN1cmVKSVREYXRhKGxvY2tlcikubV9t
dWxJQ3MuYWRkKGFyaXRoUHJvZmlsZSwgaW5zdHJ1Y3Rpb24pOworICAgIHJldHVybiBlbnN1cmVK
SVREYXRhKGxvY2tlcikubV9tdWxJQ3MuYWRkKGFyaXRoUHJvZmlsZSk7CiB9CiAKLUpJVFN1YklD
KiBDb2RlQmxvY2s6OmFkZEpJVFN1YklDKEFyaXRoUHJvZmlsZSogYXJpdGhQcm9maWxlLCBjb25z
dCBJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24pCitKSVRTdWJJQyogQ29kZUJsb2NrOjphZGRKSVRT
dWJJQyhBcml0aFByb2ZpbGUqIGFyaXRoUHJvZmlsZSkKIHsKICAgICBDb25jdXJyZW50SlNMb2Nr
ZXIgbG9ja2VyKG1fbG9jayk7Ci0gICAgcmV0dXJuIGVuc3VyZUpJVERhdGEobG9ja2VyKS5tX3N1
YklDcy5hZGQoYXJpdGhQcm9maWxlLCBpbnN0cnVjdGlvbik7CisgICAgcmV0dXJuIGVuc3VyZUpJ
VERhdGEobG9ja2VyKS5tX3N1YklDcy5hZGQoYXJpdGhQcm9maWxlKTsKIH0KIAotSklUTmVnSUMq
IENvZGVCbG9jazo6YWRkSklUTmVnSUMoQXJpdGhQcm9maWxlKiBhcml0aFByb2ZpbGUsIGNvbnN0
IEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbikKK0pJVE5lZ0lDKiBDb2RlQmxvY2s6OmFkZEpJVE5l
Z0lDKEFyaXRoUHJvZmlsZSogYXJpdGhQcm9maWxlKQogewogICAgIENvbmN1cnJlbnRKU0xvY2tl
ciBsb2NrZXIobV9sb2NrKTsKLSAgICByZXR1cm4gZW5zdXJlSklURGF0YShsb2NrZXIpLm1fbmVn
SUNzLmFkZChhcml0aFByb2ZpbGUsIGluc3RydWN0aW9uKTsKKyAgICByZXR1cm4gZW5zdXJlSklU
RGF0YShsb2NrZXIpLm1fbmVnSUNzLmFkZChhcml0aFByb2ZpbGUpOwogfQogCiBTdHJ1Y3R1cmVT
dHViSW5mbyogQ29kZUJsb2NrOjpmaW5kU3R1YkluZm8oQ29kZU9yaWdpbiBjb2RlT3JpZ2luKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IGE0YzIzYmY4
Njg4MTExMjQyOTE4YmEzNzJkZWVjY2FlNzM5ZTg4ODkuLmE5M2MzNmZiOTE4ZjNiMzBjYWIwYzc5
OGU2MWU3MGNhNTkxYjE4Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Db2RlQmxvY2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmgKQEAgLTI2MSw4ICsyNjEsOCBAQCBjbGFzcyBDb2RlQmxvY2sgOiBwdWJsaWMgSlND
ZWxsIHsKICAgICAgICAgQmFnPEpJVFN1YklDPiBtX3N1YklDczsKICAgICAgICAgQmFnPEJ5VmFs
SW5mbz4gbV9ieVZhbEluZm9zOwogICAgICAgICBCYWc8Q2FsbExpbmtJbmZvPiBtX2NhbGxMaW5r
SW5mb3M7Ci0gICAgICAgIFNlbnRpbmVsTGlua2VkTGlzdDxDYWxsTGlua0luZm8sIEJhc2ljUmF3
U2VudGluZWxOb2RlPENhbGxMaW5rSW5mbz4+IG1faW5jb21pbmdDYWxsczsKLSAgICAgICAgU2Vu
dGluZWxMaW5rZWRMaXN0PFBvbHltb3JwaGljQ2FsbE5vZGUsIEJhc2ljUmF3U2VudGluZWxOb2Rl
PFBvbHltb3JwaGljQ2FsbE5vZGU+PiBtX2luY29taW5nUG9seW1vcnBoaWNDYWxsczsKKyAgICAg
ICAgU2VudGluZWxMaW5rZWRMaXN0PENhbGxMaW5rSW5mbywgUGFja2VkUmF3U2VudGluZWxOb2Rl
PENhbGxMaW5rSW5mbz4+IG1faW5jb21pbmdDYWxsczsKKyAgICAgICAgU2VudGluZWxMaW5rZWRM
aXN0PFBvbHltb3JwaGljQ2FsbE5vZGUsIFBhY2tlZFJhd1NlbnRpbmVsTm9kZTxQb2x5bW9ycGhp
Y0NhbGxOb2RlPj4gbV9pbmNvbWluZ1BvbHltb3JwaGljQ2FsbHM7CiAgICAgICAgIFNlZ21lbnRl
ZFZlY3RvcjxSYXJlQ2FzZVByb2ZpbGUsIDg+IG1fcmFyZUNhc2VQcm9maWxlczsKICAgICAgICAg
c3RkOjp1bmlxdWVfcHRyPFBDVG9Db2RlT3JpZ2luTWFwPiBtX3BjVG9Db2RlT3JpZ2luTWFwOwog
ICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVnaXN0ZXJBdE9mZnNldExpc3Q+IG1fY2FsbGVlU2F2
ZVJlZ2lzdGVyczsKQEAgLTI3NywyMiArMjc3LDIyIEBAIGNsYXNzIENvZGVCbG9jayA6IHB1Ymxp
YyBKU0NlbGwgewogICAgIH0KICAgICBKSVREYXRhJiBlbnN1cmVKSVREYXRhU2xvdyhjb25zdCBD
b25jdXJyZW50SlNMb2NrZXImKTsKIAotICAgIEpJVEFkZElDKiBhZGRKSVRBZGRJQyhBcml0aFBy
b2ZpbGUqLCBjb25zdCBJbnN0cnVjdGlvbiopOwotICAgIEpJVE11bElDKiBhZGRKSVRNdWxJQyhB
cml0aFByb2ZpbGUqLCBjb25zdCBJbnN0cnVjdGlvbiopOwotICAgIEpJVE5lZ0lDKiBhZGRKSVRO
ZWdJQyhBcml0aFByb2ZpbGUqLCBjb25zdCBJbnN0cnVjdGlvbiopOwotICAgIEpJVFN1YklDKiBh
ZGRKSVRTdWJJQyhBcml0aFByb2ZpbGUqLCBjb25zdCBJbnN0cnVjdGlvbiopOworICAgIEpJVEFk
ZElDKiBhZGRKSVRBZGRJQyhBcml0aFByb2ZpbGUqKTsKKyAgICBKSVRNdWxJQyogYWRkSklUTXVs
SUMoQXJpdGhQcm9maWxlKik7CisgICAgSklUTmVnSUMqIGFkZEpJVE5lZ0lDKEFyaXRoUHJvZmls
ZSopOworICAgIEpJVFN1YklDKiBhZGRKSVRTdWJJQyhBcml0aFByb2ZpbGUqKTsKIAogICAgIHRl
bXBsYXRlIDx0eXBlbmFtZSBHZW5lcmF0b3IsIHR5cGVuYW1lID0gdHlwZW5hbWUgc3RkOjplbmFi
bGVfaWY8c3RkOjppc19zYW1lPEdlbmVyYXRvciwgSklUQWRkR2VuZXJhdG9yPjo6dmFsdWU+Ojp0
eXBlPgotICAgIEpJVEFkZElDKiBhZGRNYXRoSUMoQXJpdGhQcm9maWxlKiBwcm9maWxlLCBjb25z
dCBJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24pIHsgcmV0dXJuIGFkZEpJVEFkZElDKHByb2ZpbGUs
IGluc3RydWN0aW9uKTsgfQorICAgIEpJVEFkZElDKiBhZGRNYXRoSUMoQXJpdGhQcm9maWxlKiBw
cm9maWxlKSB7IHJldHVybiBhZGRKSVRBZGRJQyhwcm9maWxlKTsgfQogCiAgICAgdGVtcGxhdGUg
PHR5cGVuYW1lIEdlbmVyYXRvciwgdHlwZW5hbWUgPSB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxz
dGQ6OmlzX3NhbWU8R2VuZXJhdG9yLCBKSVRNdWxHZW5lcmF0b3I+Ojp2YWx1ZT46OnR5cGU+Ci0g
ICAgSklUTXVsSUMqIGFkZE1hdGhJQyhBcml0aFByb2ZpbGUqIHByb2ZpbGUsIGNvbnN0IEluc3Ry
dWN0aW9uKiBpbnN0cnVjdGlvbikgeyByZXR1cm4gYWRkSklUTXVsSUMocHJvZmlsZSwgaW5zdHJ1
Y3Rpb24pOyB9CisgICAgSklUTXVsSUMqIGFkZE1hdGhJQyhBcml0aFByb2ZpbGUqIHByb2ZpbGUp
IHsgcmV0dXJuIGFkZEpJVE11bElDKHByb2ZpbGUpOyB9CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5h
bWUgR2VuZXJhdG9yLCB0eXBlbmFtZSA9IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHN0ZDo6aXNf
c2FtZTxHZW5lcmF0b3IsIEpJVE5lZ0dlbmVyYXRvcj46OnZhbHVlPjo6dHlwZT4KLSAgICBKSVRO
ZWdJQyogYWRkTWF0aElDKEFyaXRoUHJvZmlsZSogcHJvZmlsZSwgY29uc3QgSW5zdHJ1Y3Rpb24q
IGluc3RydWN0aW9uKSB7IHJldHVybiBhZGRKSVROZWdJQyhwcm9maWxlLCBpbnN0cnVjdGlvbik7
IH0KKyAgICBKSVROZWdJQyogYWRkTWF0aElDKEFyaXRoUHJvZmlsZSogcHJvZmlsZSkgeyByZXR1
cm4gYWRkSklUTmVnSUMocHJvZmlsZSk7IH0KIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBHZW5l
cmF0b3IsIHR5cGVuYW1lID0gdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8c3RkOjppc19zYW1lPEdl
bmVyYXRvciwgSklUU3ViR2VuZXJhdG9yPjo6dmFsdWU+Ojp0eXBlPgotICAgIEpJVFN1YklDKiBh
ZGRNYXRoSUMoQXJpdGhQcm9maWxlKiBwcm9maWxlLCBjb25zdCBJbnN0cnVjdGlvbiogaW5zdHJ1
Y3Rpb24pIHsgcmV0dXJuIGFkZEpJVFN1YklDKHByb2ZpbGUsIGluc3RydWN0aW9uKTsgfQorICAg
IEpJVFN1YklDKiBhZGRNYXRoSUMoQXJpdGhQcm9maWxlKiBwcm9maWxlKSB7IHJldHVybiBhZGRK
SVRTdWJJQyhwcm9maWxlKTsgfQogCiAgICAgU3RydWN0dXJlU3R1YkluZm8qIGFkZFN0dWJJbmZv
KEFjY2Vzc1R5cGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvSW5saW5lQ2FsbEZyYW1lLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5s
aW5lQ2FsbEZyYW1lLmgKaW5kZXggYTZiZjFjOGU0ZmQyZjRjZDJjMjFkYWRmOWMwN2ZjYjdmMDRl
MDM2Zi4uOGRlZmMyNjcwYzE4MmE5NTViZmI2NTE3YWNlNDY2MDRjNWRmNzE1ZSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0lubGluZUNhbGxGcmFtZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbmxpbmVDYWxsRnJhbWUuaApAQCAtMTc3
LDIxICsxNzcsMjEgQEAgc3RydWN0IElubGluZUNhbGxGcmFtZSB7CiAgICAgCiAgICAgVmVjdG9y
PFZhbHVlUmVjb3Zlcnk+IGFyZ3VtZW50c1dpdGhGaXh1cDsgLy8gSW5jbHVkZXMgJ3RoaXMnIGFu
ZCBhcml0eSBmaXh1cHMuCiAgICAgV3JpdGVCYXJyaWVyPENvZGVCbG9jaz4gYmFzZWxpbmVDb2Rl
QmxvY2s7Ci0gICAgVmFsdWVSZWNvdmVyeSBjYWxsZWVSZWNvdmVyeTsKICAgICBDb2RlT3JpZ2lu
IGRpcmVjdENhbGxlcjsKIAotICAgIHVuc2lnbmVkIGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlz
OyAvLyBEbyBub3QgaW5jbHVkZSBmaXh1cHMuCisgICAgdW5zaWduZWQgYXJndW1lbnRDb3VudElu
Y2x1ZGluZ1RoaXMgeyAwIH07IC8vIERvIG5vdCBpbmNsdWRlIGZpeHVwcy4KICAgICBzaWduZWQg
c3RhY2tPZmZzZXQgOiAyODsKICAgICB1bnNpZ25lZCBraW5kIDogMzsgLy8gcmVhbCB0eXBlIGlz
IEtpbmQKICAgICBib29sIGlzQ2xvc3VyZUNhbGwgOiAxOyAvLyBJZiBmYWxzZSB0aGVuIHdlIGtu
b3cgdGhhdCBjYWxsZWUvc2NvcGUgYXJlIGNvbnN0YW50cyBhbmQgdGhlIERGRyB3b24ndCB0cmVh
dCB0aGVtIGFzIHZhcmlhYmxlcywgaS5lLiB0aGV5IGhhdmUgdG8gYmUgcmVjb3ZlcmVkIG1hbnVh
bGx5LgogICAgIFZpcnR1YWxSZWdpc3RlciBhcmd1bWVudENvdW50UmVnaXN0ZXI7IC8vIE9ubHkg
c2V0IHdoZW4gd2UgaW5saW5lIGEgdmFyYXJncyBjYWxsLgorCisgICAgVmFsdWVSZWNvdmVyeSBj
YWxsZWVSZWNvdmVyeTsKICAgICAKICAgICAvLyBUaGVyZSBpcyByZWFsbHkgbm8gZ29vZCBub3Rp
b24gb2YgYSAiZGVmYXVsdCIgc2V0IG9mIHZhbHVlcyBmb3IKICAgICAvLyBJbmxpbmVDYWxsRnJh
bWUncyBmaWVsZHMuIFRoaXMgY29uc3RydWN0b3IgaXMgaGVyZSBqdXN0IHRvIHJlZHVjZSBjb25m
dXNpb24gaWYKICAgICAvLyB3ZSBmb3Jnb3QgdG8gaW5pdGlhbGl6ZSBleHBsaWNpdGx5LgogICAg
IElubGluZUNhbGxGcmFtZSgpCi0gICAgICAgIDogYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMo
MCkKLSAgICAgICAgLCBzdGFja09mZnNldCgwKQorICAgICAgICA6IHN0YWNrT2Zmc2V0KDApCiAg
ICAgICAgICwga2luZChDYWxsKQogICAgICAgICAsIGlzQ2xvc3VyZUNhbGwoZmFsc2UpCiAgICAg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3Zl
cnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmgKaW5k
ZXggNGU5OTU2N2YxNzk4MmUwZmQ0YTM1YTA5MWUzMzcxNDlkZDlmMTI2Yi4uOTVlNTgwZDcxYTI4
OTgxMmIyOGM1NWM1ZTg2YjM1N2M0NjU0ZjY1NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5oCkBAIC00Myw3ICs0Myw3IEBAIHN0cnVjdCBJbmxp
bmVDYWxsRnJhbWU7CiAKIC8vIERlc2NyaWJlcyBob3cgdG8gcmVjb3ZlciBhIGdpdmVuIGJ5dGVj
b2RlIHZpcnR1YWwgcmVnaXN0ZXIgYXQgYSBnaXZlbgogLy8gY29kZSBwb2ludC4KLWVudW0gVmFs
dWVSZWNvdmVyeVRlY2huaXF1ZSB7CitlbnVtIFZhbHVlUmVjb3ZlcnlUZWNobmlxdWUgOiB1aW50
OF90IHsKICAgICAvLyBJdCdzIGluIGEgcmVnaXN0ZXIuCiAgICAgSW5HUFIsCiAgICAgVW5ib3hl
ZEludDMySW5HUFIsCkBAIC0xMTYsNyArMTE2LDkgQEAgY2xhc3MgVmFsdWVSZWNvdmVyeSB7CiAg
ICAgICAgICAgICByZXN1bHQubV90ZWNobmlxdWUgPSBVbmJveGVkQ2VsbEluR1BSOwogICAgICAg
ICBlbHNlCiAgICAgICAgICAgICByZXN1bHQubV90ZWNobmlxdWUgPSBJbkdQUjsKLSAgICAgICAg
cmVzdWx0Lm1fc291cmNlLmdwciA9IGdwcjsKKyAgICAgICAgVW5pb25UeXBlIHU7CisgICAgICAg
IHUuZ3ByID0gZ3ByOworICAgICAgICByZXN1bHQubV9zb3VyY2UgPSBXVEZNb3ZlKHUpOwogICAg
ICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAKQEAgLTEyNSw4ICsxMjcsMTAgQEAgY2xh
c3MgVmFsdWVSZWNvdmVyeSB7CiAgICAgewogICAgICAgICBWYWx1ZVJlY292ZXJ5IHJlc3VsdDsK
ICAgICAgICAgcmVzdWx0Lm1fdGVjaG5pcXVlID0gSW5QYWlyOwotICAgICAgICByZXN1bHQubV9z
b3VyY2UucGFpci50YWdHUFIgPSB0YWdHUFI7Ci0gICAgICAgIHJlc3VsdC5tX3NvdXJjZS5wYWly
LnBheWxvYWRHUFIgPSBwYXlsb2FkR1BSOworICAgICAgICBVbmlvblR5cGUgdTsKKyAgICAgICAg
dS5wYWlyLnRhZ0dQUiA9IHRhZ0dQUjsKKyAgICAgICAgdS5wYWlyLnBheWxvYWRHUFIgPSBwYXls
b2FkR1BSOworICAgICAgICByZXN1bHQubV9zb3VyY2UgPSBXVEZNb3ZlKHUpOwogICAgICAgICBy
ZXR1cm4gcmVzdWx0OwogICAgIH0KICNlbmRpZgpAQCAtMTM5LDcgKzE0Myw5IEBAIGNsYXNzIFZh
bHVlUmVjb3ZlcnkgewogICAgICAgICAgICAgcmVzdWx0Lm1fdGVjaG5pcXVlID0gVW5ib3hlZERv
dWJsZUluRlBSOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXN1bHQubV90ZWNobmlxdWUg
PSBJbkZQUjsKLSAgICAgICAgcmVzdWx0Lm1fc291cmNlLmZwciA9IGZwcjsKKyAgICAgICAgVW5p
b25UeXBlIHU7CisgICAgICAgIHUuZnByID0gZnByOworICAgICAgICByZXN1bHQubV9zb3VyY2Ug
PSBXVEZNb3ZlKHUpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAKQEAgLTE3
Niw3ICsxODIsOSBAQCBjbGFzcyBWYWx1ZVJlY292ZXJ5IHsKICAgICAgICAgICAgIHJlc3VsdC5t
X3RlY2huaXF1ZSA9IERpc3BsYWNlZEluSlNTdGFjazsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9Ci0gICAgICAgIHJlc3VsdC5tX3NvdXJjZS52aXJ0dWFsUmVnID0gdmlydHVhbFJlZy5v
ZmZzZXQoKTsKKyAgICAgICAgVW5pb25UeXBlIHU7CisgICAgICAgIHUudmlydHVhbFJlZyA9IHZp
cnR1YWxSZWcub2Zmc2V0KCk7CisgICAgICAgIHJlc3VsdC5tX3NvdXJjZSA9IFdURk1vdmUodSk7
CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogICAgIApAQCAtMTg0LDcgKzE5Miw5IEBA
IGNsYXNzIFZhbHVlUmVjb3ZlcnkgewogICAgIHsKICAgICAgICAgVmFsdWVSZWNvdmVyeSByZXN1
bHQ7CiAgICAgICAgIHJlc3VsdC5tX3RlY2huaXF1ZSA9IENvbnN0YW50OwotICAgICAgICByZXN1
bHQubV9zb3VyY2UuY29uc3RhbnQgPSBKU1ZhbHVlOjplbmNvZGUodmFsdWUpOworICAgICAgICBV
bmlvblR5cGUgdTsKKyAgICAgICAgdS5jb25zdGFudCA9IEpTVmFsdWU6OmVuY29kZSh2YWx1ZSk7
CisgICAgICAgIHJlc3VsdC5tX3NvdXJjZSA9IFdURk1vdmUodSk7CiAgICAgICAgIHJldHVybiBy
ZXN1bHQ7CiAgICAgfQogICAgIApAQCAtMTkyLDcgKzIwMiw5IEBAIGNsYXNzIFZhbHVlUmVjb3Zl
cnkgewogICAgIHsKICAgICAgICAgVmFsdWVSZWNvdmVyeSByZXN1bHQ7CiAgICAgICAgIHJlc3Vs
dC5tX3RlY2huaXF1ZSA9IERpcmVjdEFyZ3VtZW50c1RoYXRXZXJlTm90Q3JlYXRlZDsKLSAgICAg
ICAgcmVzdWx0Lm1fc291cmNlLm5vZGVJRCA9IGlkLmJpdHMoKTsKKyAgICAgICAgVW5pb25UeXBl
IHU7CisgICAgICAgIHUubm9kZUlEID0gaWQuYml0cygpOworICAgICAgICByZXN1bHQubV9zb3Vy
Y2UgPSBXVEZNb3ZlKHUpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAKQEAg
LTIwMCw3ICsyMTIsOSBAQCBjbGFzcyBWYWx1ZVJlY292ZXJ5IHsKICAgICB7CiAgICAgICAgIFZh
bHVlUmVjb3ZlcnkgcmVzdWx0OwogICAgICAgICByZXN1bHQubV90ZWNobmlxdWUgPSBDbG9uZWRB
cmd1bWVudHNUaGF0V2VyZU5vdENyZWF0ZWQ7Ci0gICAgICAgIHJlc3VsdC5tX3NvdXJjZS5ub2Rl
SUQgPSBpZC5iaXRzKCk7CisgICAgICAgIFVuaW9uVHlwZSB1OworICAgICAgICB1Lm5vZGVJRCA9
IGlkLmJpdHMoKTsKKyAgICAgICAgcmVzdWx0Lm1fc291cmNlID0gV1RGTW92ZSh1KTsKICAgICAg
ICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKQEAgLTI5MiwyMCArMzA2LDIwIEBAIGNsYXNzIFZh
bHVlUmVjb3ZlcnkgewogICAgIE1hY3JvQXNzZW1ibGVyOjpSZWdpc3RlcklEIGdwcigpIGNvbnN0
CiAgICAgewogICAgICAgICBBU1NFUlQoaXNJbkdQUigpKTsKLSAgICAgICAgcmV0dXJuIG1fc291
cmNlLmdwcjsKKyAgICAgICAgcmV0dXJuIG1fc291cmNlLmdldCgpLmdwcjsKICAgICB9CiAgICAg
CiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKICAgICBNYWNyb0Fzc2VtYmxlcjo6UmVnaXN0ZXJJRCB0
YWdHUFIoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdGVjaG5pcXVlID09IEluUGFp
cik7Ci0gICAgICAgIHJldHVybiBtX3NvdXJjZS5wYWlyLnRhZ0dQUjsKKyAgICAgICAgcmV0dXJu
IG1fc291cmNlLmdldCgpLnBhaXIudGFnR1BSOwogICAgIH0KICAgICAKICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6UmVnaXN0ZXJJRCBwYXlsb2FkR1BSKCkgY29uc3QKICAgICB7CiAgICAgICAgIEFTU0VS
VChtX3RlY2huaXF1ZSA9PSBJblBhaXIpOwotICAgICAgICByZXR1cm4gbV9zb3VyY2UucGFpci5w
YXlsb2FkR1BSOworICAgICAgICByZXR1cm4gbV9zb3VyY2UuZ2V0KCkucGFpci5wYXlsb2FkR1BS
OwogICAgIH0KIAogICAgIGJvb2wgaXNJbkpTVmFsdWVSZWdzKCkgY29uc3QKQEAgLTMzMCwxMyAr
MzQ0LDEzIEBAIGNsYXNzIFZhbHVlUmVjb3ZlcnkgewogICAgIE1hY3JvQXNzZW1ibGVyOjpGUFJl
Z2lzdGVySUQgZnByKCkgY29uc3QKICAgICB7CiAgICAgICAgIEFTU0VSVChpc0luRlBSKCkpOwot
ICAgICAgICByZXR1cm4gbV9zb3VyY2UuZnByOworICAgICAgICByZXR1cm4gbV9zb3VyY2UuZ2V0
KCkuZnByOwogICAgIH0KICAgICAKICAgICBWaXJ0dWFsUmVnaXN0ZXIgdmlydHVhbFJlZ2lzdGVy
KCkgY29uc3QKICAgICB7CiAgICAgICAgIEFTU0VSVChpc0luSlNTdGFjaygpKTsKLSAgICAgICAg
cmV0dXJuIFZpcnR1YWxSZWdpc3RlcihtX3NvdXJjZS52aXJ0dWFsUmVnKTsKKyAgICAgICAgcmV0
dXJuIFZpcnR1YWxSZWdpc3RlcihtX3NvdXJjZS5nZXQoKS52aXJ0dWFsUmVnKTsKICAgICB9CiAg
ICAgCiAgICAgVmFsdWVSZWNvdmVyeSB3aXRoTG9jYWxzT2Zmc2V0KGludCBvZmZzZXQpIGNvbnN0
CkBAIC0zNTEsNyArMzY1LDkgQEAgY2xhc3MgVmFsdWVSZWNvdmVyeSB7CiAgICAgICAgIGNhc2Ug
U3RyaWN0SW50NTJEaXNwbGFjZWRJbkpTU3RhY2s6IHsKICAgICAgICAgICAgIFZhbHVlUmVjb3Zl
cnkgcmVzdWx0OwogICAgICAgICAgICAgcmVzdWx0Lm1fdGVjaG5pcXVlID0gbV90ZWNobmlxdWU7
Ci0gICAgICAgICAgICByZXN1bHQubV9zb3VyY2UudmlydHVhbFJlZyA9IG1fc291cmNlLnZpcnR1
YWxSZWcgKyBvZmZzZXQ7CisgICAgICAgICAgICBVbmlvblR5cGUgdTsKKyAgICAgICAgICAgIHUu
dmlydHVhbFJlZyA9IG1fc291cmNlLmdldCgpLnZpcnR1YWxSZWcgKyBvZmZzZXQ7CisgICAgICAg
ICAgICByZXN1bHQubV9zb3VyY2UgPSBXVEZNb3ZlKHUpOwogICAgICAgICAgICAgcmV0dXJuIHJl
c3VsdDsKICAgICAgICAgfQogICAgICAgICAgICAgCkBAIC0zNjMsMTMgKzM3OSwxMyBAQCBjbGFz
cyBWYWx1ZVJlY292ZXJ5IHsKICAgICBKU1ZhbHVlIGNvbnN0YW50KCkgY29uc3QKICAgICB7CiAg
ICAgICAgIEFTU0VSVChpc0NvbnN0YW50KCkpOwotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZGVj
b2RlKG1fc291cmNlLmNvbnN0YW50KTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmRlY29kZSht
X3NvdXJjZS5nZXQoKS5jb25zdGFudCk7CiAgICAgfQogICAgIAogICAgIERGRzo6TWluaWZpZWRJ
RCBub2RlSUQoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdGVjaG5pcXVlID09IERp
cmVjdEFyZ3VtZW50c1RoYXRXZXJlTm90Q3JlYXRlZCB8fCBtX3RlY2huaXF1ZSA9PSBDbG9uZWRB
cmd1bWVudHNUaGF0V2VyZU5vdENyZWF0ZWQpOwotICAgICAgICByZXR1cm4gREZHOjpNaW5pZmll
ZElEOjpmcm9tQml0cyhtX3NvdXJjZS5ub2RlSUQpOworICAgICAgICByZXR1cm4gREZHOjpNaW5p
ZmllZElEOjpmcm9tQml0cyhtX3NvdXJjZS5nZXQoKS5ub2RlSUQpOwogICAgIH0KICAgICAKICAg
ICBKU1ZhbHVlIHJlY292ZXIoRXhlY1N0YXRlKikgY29uc3Q7CkBAIC00MDgsNyArNDI0LDcgQEAg
Y2xhc3MgVmFsdWVSZWNvdmVyeSB7CiAKIHByaXZhdGU6CiAgICAgVmFsdWVSZWNvdmVyeVRlY2hu
aXF1ZSBtX3RlY2huaXF1ZTsKLSAgICB1bmlvbiB7CisgICAgdW5pb24gVW5pb25UeXBlIHsKICAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OlJlZ2lzdGVySUQgZ3ByOwogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6RlBSZWdpc3RlcklEIGZwcjsKICNpZiBVU0UoSlNWQUxVRTMyXzY0KQpAQCAtNDIwLDcg
KzQzNiw5IEBAIGNsYXNzIFZhbHVlUmVjb3ZlcnkgewogICAgICAgICBpbnQgdmlydHVhbFJlZzsK
ICAgICAgICAgRW5jb2RlZEpTVmFsdWUgY29uc3RhbnQ7CiAgICAgICAgIHVuc2lnbmVkIG5vZGVJ
RDsKLSAgICB9IG1fc291cmNlOworICAgIH07CisgICAgUGFja2VkPFVuaW9uVHlwZT4gbV9zb3Vy
Y2U7CiB9Oworc3RhdGljX2Fzc2VydChhbGlnbm9mKFZhbHVlUmVjb3ZlcnkpID09IDEpOwogCiB9
IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5jcHAKaW5kZXggZjUwYThhZDdiOWU2NGZiMDJjMjVjNDJlY2IyNjY1ODdlYjZj
NjQ0OS4uZGYwZjFjODI1ZWM3MmZjMGI2ZTIyM2I1OGI2MGE3NzM4YzI0ZGIwMCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKQEAgLTM5NTMs
OCArMzk1Myw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVWYWx1ZUFkZChOb2RlKiBu
b2RlKQogICAgIENvZGVCbG9jayogYmFzZWxpbmVDb2RlQmxvY2sgPSBtX2ppdC5ncmFwaCgpLmJh
c2VsaW5lQ29kZUJsb2NrRm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyk7CiAgICAgdW5zaWduZWQg
Ynl0ZWNvZGVJbmRleCA9IG5vZGUtPm9yaWdpbi5zZW1hbnRpYy5ieXRlY29kZUluZGV4KCk7CiAg
ICAgQXJpdGhQcm9maWxlKiBhcml0aFByb2ZpbGUgPSBiYXNlbGluZUNvZGVCbG9jay0+YXJpdGhQ
cm9maWxlRm9yQnl0ZWNvZGVPZmZzZXQoYnl0ZWNvZGVJbmRleCk7Ci0gICAgY29uc3QgSW5zdHJ1
Y3Rpb24qIGluc3RydWN0aW9uID0gYmFzZWxpbmVDb2RlQmxvY2stPmluc3RydWN0aW9ucygpLmF0
KGJ5dGVjb2RlSW5kZXgpLnB0cigpOwotICAgIEpJVEFkZElDKiBhZGRJQyA9IG1faml0LmNvZGVC
bG9jaygpLT5hZGRKSVRBZGRJQyhhcml0aFByb2ZpbGUsIGluc3RydWN0aW9uKTsKKyAgICBKSVRB
ZGRJQyogYWRkSUMgPSBtX2ppdC5jb2RlQmxvY2soKS0+YWRkSklUQWRkSUMoYXJpdGhQcm9maWxl
KTsKICAgICBhdXRvIHJlcGF0Y2hpbmdGdW5jdGlvbiA9IG9wZXJhdGlvblZhbHVlQWRkT3B0aW1p
emU7CiAgICAgYXV0byBub25SZXBhdGNoaW5nRnVuY3Rpb24gPSBvcGVyYXRpb25WYWx1ZUFkZDsK
ICAgICAKQEAgLTM5NzgsOCArMzk3Nyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVW
YWx1ZVN1YihOb2RlKiBub2RlKQogICAgICAgICBDb2RlQmxvY2sqIGJhc2VsaW5lQ29kZUJsb2Nr
ID0gbV9qaXQuZ3JhcGgoKS5iYXNlbGluZUNvZGVCbG9ja0Zvcihub2RlLT5vcmlnaW4uc2VtYW50
aWMpOwogICAgICAgICB1bnNpZ25lZCBieXRlY29kZUluZGV4ID0gbm9kZS0+b3JpZ2luLnNlbWFu
dGljLmJ5dGVjb2RlSW5kZXgoKTsKICAgICAgICAgQXJpdGhQcm9maWxlKiBhcml0aFByb2ZpbGUg
PSBiYXNlbGluZUNvZGVCbG9jay0+YXJpdGhQcm9maWxlRm9yQnl0ZWNvZGVPZmZzZXQoYnl0ZWNv
ZGVJbmRleCk7Ci0gICAgICAgIGNvbnN0IEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbiA9IGJhc2Vs
aW5lQ29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKS5hdChieXRlY29kZUluZGV4KS5wdHIoKTsKLSAg
ICAgICAgSklUU3ViSUMqIHN1YklDID0gbV9qaXQuY29kZUJsb2NrKCktPmFkZEpJVFN1YklDKGFy
aXRoUHJvZmlsZSwgaW5zdHJ1Y3Rpb24pOworICAgICAgICBKSVRTdWJJQyogc3ViSUMgPSBtX2pp
dC5jb2RlQmxvY2soKS0+YWRkSklUU3ViSUMoYXJpdGhQcm9maWxlKTsKICAgICAgICAgYXV0byBy
ZXBhdGNoaW5nRnVuY3Rpb24gPSBvcGVyYXRpb25WYWx1ZVN1Yk9wdGltaXplOwogICAgICAgICBh
dXRvIG5vblJlcGF0Y2hpbmdGdW5jdGlvbiA9IG9wZXJhdGlvblZhbHVlU3ViOwogCkBAIC00NTcz
LDggKzQ1NzEsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlVmFsdWVOZWdhdGUoTm9k
ZSogbm9kZSkKICAgICBDb2RlQmxvY2sqIGJhc2VsaW5lQ29kZUJsb2NrID0gbV9qaXQuZ3JhcGgo
KS5iYXNlbGluZUNvZGVCbG9ja0Zvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpOwogICAgIHVuc2ln
bmVkIGJ5dGVjb2RlSW5kZXggPSBub2RlLT5vcmlnaW4uc2VtYW50aWMuYnl0ZWNvZGVJbmRleCgp
OwogICAgIEFyaXRoUHJvZmlsZSogYXJpdGhQcm9maWxlID0gYmFzZWxpbmVDb2RlQmxvY2stPmFy
aXRoUHJvZmlsZUZvckJ5dGVjb2RlT2Zmc2V0KGJ5dGVjb2RlSW5kZXgpOwotICAgIGNvbnN0IElu
c3RydWN0aW9uKiBpbnN0cnVjdGlvbiA9IGJhc2VsaW5lQ29kZUJsb2NrLT5pbnN0cnVjdGlvbnMo
KS5hdChieXRlY29kZUluZGV4KS5wdHIoKTsKLSAgICBKSVROZWdJQyogbmVnSUMgPSBtX2ppdC5j
b2RlQmxvY2soKS0+YWRkSklUTmVnSUMoYXJpdGhQcm9maWxlLCBpbnN0cnVjdGlvbik7CisgICAg
SklUTmVnSUMqIG5lZ0lDID0gbV9qaXQuY29kZUJsb2NrKCktPmFkZEpJVE5lZ0lDKGFyaXRoUHJv
ZmlsZSk7CiAgICAgYXV0byByZXBhdGNoaW5nRnVuY3Rpb24gPSBvcGVyYXRpb25Bcml0aE5lZ2F0
ZU9wdGltaXplOwogICAgIGF1dG8gbm9uUmVwYXRjaGluZ0Z1bmN0aW9uID0gb3BlcmF0aW9uQXJp
dGhOZWdhdGU7CiAgICAgYm9vbCBuZWVkc1NjcmF0Y2hHUFJSZWcgPSB0cnVlOwpAQCAtNDc5Nyw4
ICs0Nzk0LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVZhbHVlTXVsKE5vZGUqIG5v
ZGUpCiAgICAgQ29kZUJsb2NrKiBiYXNlbGluZUNvZGVCbG9jayA9IG1faml0LmdyYXBoKCkuYmFz
ZWxpbmVDb2RlQmxvY2tGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKTsKICAgICB1bnNpZ25lZCBi
eXRlY29kZUluZGV4ID0gbm9kZS0+b3JpZ2luLnNlbWFudGljLmJ5dGVjb2RlSW5kZXgoKTsKICAg
ICBBcml0aFByb2ZpbGUqIGFyaXRoUHJvZmlsZSA9IGJhc2VsaW5lQ29kZUJsb2NrLT5hcml0aFBy
b2ZpbGVGb3JCeXRlY29kZU9mZnNldChieXRlY29kZUluZGV4KTsKLSAgICBjb25zdCBJbnN0cnVj
dGlvbiogaW5zdHJ1Y3Rpb24gPSBiYXNlbGluZUNvZGVCbG9jay0+aW5zdHJ1Y3Rpb25zKCkuYXQo
Ynl0ZWNvZGVJbmRleCkucHRyKCk7Ci0gICAgSklUTXVsSUMqIG11bElDID0gbV9qaXQuY29kZUJs
b2NrKCktPmFkZEpJVE11bElDKGFyaXRoUHJvZmlsZSwgaW5zdHJ1Y3Rpb24pOworICAgIEpJVE11
bElDKiBtdWxJQyA9IG1faml0LmNvZGVCbG9jaygpLT5hZGRKSVRNdWxJQyhhcml0aFByb2ZpbGUp
OwogICAgIGF1dG8gcmVwYXRjaGluZ0Z1bmN0aW9uID0gb3BlcmF0aW9uVmFsdWVNdWxPcHRpbWl6
ZTsKICAgICBhdXRvIG5vblJlcGF0Y2hpbmdGdW5jdGlvbiA9IG9wZXJhdGlvblZhbHVlTXVsOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEV4aXRWYWx1ZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEV4aXRWYWx1ZS5jcHAKaW5kZXggYjM2ZGIw
NGI1NzZjZDI4OGMwMDY3Mjk4NmM2YzlkMGYyNjZhNjIzMy4uMGNhY2YwOTQ2YjE3OTQ2YzAzZjZl
YzJhNjIwYmY2MDkzZDU3NmJjMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExFeGl0VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMRXhp
dFZhbHVlLmNwcApAQCAtMzgsNyArMzgsOSBAQCBFeGl0VmFsdWUgRXhpdFZhbHVlOjptYXRlcmlh
bGl6ZU5ld09iamVjdChFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbiogZGF0YSkKIHsKICAg
ICBFeGl0VmFsdWUgcmVzdWx0OwogICAgIHJlc3VsdC5tX2tpbmQgPSBFeGl0VmFsdWVNYXRlcmlh
bGl6ZU5ld09iamVjdDsKLSAgICByZXN1bHQudS5uZXdPYmplY3RNYXRlcmlhbGl6YXRpb25EYXRh
ID0gZGF0YTsKKyAgICBVbmlvblR5cGUgdTsKKyAgICB1Lm5ld09iamVjdE1hdGVyaWFsaXphdGlv
bkRhdGEgPSBkYXRhOworICAgIHJlc3VsdC5tX3ZhbHVlID0gV1RGTW92ZSh1KTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TEV4aXRWYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExFeGl0VmFsdWUuaApp
bmRleCA4MzhkYTY0MTg4YzlmN2UwODZmZjM4MTYxOGQ3NGM5ZTYwMDY1YTQ2Li4zODgwOGMxMmUz
Y2RiNTk4NjBhNjIyZGZlYmI2YmUyMjljZDU1ZGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEV4aXRWYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMRXhpdFZhbHVlLmgKQEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIEZUTCB7CiAvLyB0
ZWxsaW5nIHVzIHRoZSBtYXBwaW5nIGJldHdlZW4gb3BlcmFuZHMgaW4gYnl0ZWNvZGUgYW5kIHRo
ZSBhcmd1bWVudHMgdG8KIC8vIHRoZSBjYWxsLgogCi1lbnVtIEV4aXRWYWx1ZUtpbmQgeworZW51
bSBFeGl0VmFsdWVLaW5kIDogdWludDhfdCB7CiAgICAgSW52YWxpZEV4aXRWYWx1ZSwKICAgICBF
eGl0VmFsdWVEZWFkLAogICAgIEV4aXRWYWx1ZUFyZ3VtZW50LApAQCAtNzksNyArNzksOSBAQCBj
bGFzcyBFeGl0VmFsdWUgewogICAgIHsKICAgICAgICAgRXhpdFZhbHVlIHJlc3VsdDsKICAgICAg
ICAgcmVzdWx0Lm1fa2luZCA9IEV4aXRWYWx1ZUluSlNTdGFjazsKLSAgICAgICAgcmVzdWx0LnUu
dmlydHVhbFJlZ2lzdGVyID0gcmVnLm9mZnNldCgpOworICAgICAgICBVbmlvblR5cGUgdTsKKyAg
ICAgICAgdS52aXJ0dWFsUmVnaXN0ZXIgPSByZWcub2Zmc2V0KCk7CisgICAgICAgIHJlc3VsdC5t
X3ZhbHVlID0gV1RGTW92ZSh1KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAg
CkBAIC04Nyw3ICs4OSw5IEBAIGNsYXNzIEV4aXRWYWx1ZSB7CiAgICAgewogICAgICAgICBFeGl0
VmFsdWUgcmVzdWx0OwogICAgICAgICByZXN1bHQubV9raW5kID0gRXhpdFZhbHVlSW5KU1N0YWNr
QXNJbnQzMjsKLSAgICAgICAgcmVzdWx0LnUudmlydHVhbFJlZ2lzdGVyID0gcmVnLm9mZnNldCgp
OworICAgICAgICBVbmlvblR5cGUgdTsKKyAgICAgICAgdS52aXJ0dWFsUmVnaXN0ZXIgPSByZWcu
b2Zmc2V0KCk7CisgICAgICAgIHJlc3VsdC5tX3ZhbHVlID0gV1RGTW92ZSh1KTsKICAgICAgICAg
cmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAgCkBAIC05NSw3ICs5OSw5IEBAIGNsYXNzIEV4aXRW
YWx1ZSB7CiAgICAgewogICAgICAgICBFeGl0VmFsdWUgcmVzdWx0OwogICAgICAgICByZXN1bHQu
bV9raW5kID0gRXhpdFZhbHVlSW5KU1N0YWNrQXNJbnQ1MjsKLSAgICAgICAgcmVzdWx0LnUudmly
dHVhbFJlZ2lzdGVyID0gcmVnLm9mZnNldCgpOworICAgICAgICBVbmlvblR5cGUgdTsKKyAgICAg
ICAgdS52aXJ0dWFsUmVnaXN0ZXIgPSByZWcub2Zmc2V0KCk7CisgICAgICAgIHJlc3VsdC5tX3Zh
bHVlID0gV1RGTW92ZSh1KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAgCkBA
IC0xMDMsNyArMTA5LDkgQEAgY2xhc3MgRXhpdFZhbHVlIHsKICAgICB7CiAgICAgICAgIEV4aXRW
YWx1ZSByZXN1bHQ7CiAgICAgICAgIHJlc3VsdC5tX2tpbmQgPSBFeGl0VmFsdWVJbkpTU3RhY2tB
c0RvdWJsZTsKLSAgICAgICAgcmVzdWx0LnUudmlydHVhbFJlZ2lzdGVyID0gcmVnLm9mZnNldCgp
OworICAgICAgICBVbmlvblR5cGUgdTsKKyAgICAgICAgdS52aXJ0dWFsUmVnaXN0ZXIgPSByZWcu
b2Zmc2V0KCk7CisgICAgICAgIHJlc3VsdC5tX3ZhbHVlID0gV1RGTW92ZSh1KTsKICAgICAgICAg
cmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAgCkBAIC0xMTEsNyArMTE5LDkgQEAgY2xhc3MgRXhp
dFZhbHVlIHsKICAgICB7CiAgICAgICAgIEV4aXRWYWx1ZSByZXN1bHQ7CiAgICAgICAgIHJlc3Vs
dC5tX2tpbmQgPSBFeGl0VmFsdWVDb25zdGFudDsKLSAgICAgICAgcmVzdWx0LnUuY29uc3RhbnQg
PSBKU1ZhbHVlOjplbmNvZGUodmFsdWUpOworICAgICAgICBVbmlvblR5cGUgdTsKKyAgICAgICAg
dS5jb25zdGFudCA9IEpTVmFsdWU6OmVuY29kZSh2YWx1ZSk7CisgICAgICAgIHJlc3VsdC5tX3Zh
bHVlID0gV1RGTW92ZSh1KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAgCkBA
IC0xMTksNyArMTI5LDkgQEAgY2xhc3MgRXhpdFZhbHVlIHsKICAgICB7CiAgICAgICAgIEV4aXRW
YWx1ZSByZXN1bHQ7CiAgICAgICAgIHJlc3VsdC5tX2tpbmQgPSBFeGl0VmFsdWVBcmd1bWVudDsK
LSAgICAgICAgcmVzdWx0LnUuYXJndW1lbnQgPSBhcmd1bWVudC5yZXByZXNlbnRhdGlvbigpOwor
ICAgICAgICBVbmlvblR5cGUgdTsKKyAgICAgICAgdS5hcmd1bWVudCA9IGFyZ3VtZW50LnJlcHJl
c2VudGF0aW9uKCk7CisgICAgICAgIHJlc3VsdC5tX3ZhbHVlID0gV1RGTW92ZSh1KTsKICAgICAg
ICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAgCkBAIC0xNDgsMzIgKzE2MCwzNCBAQCBjbGFz
cyBFeGl0VmFsdWUgewogICAgIEV4aXRBcmd1bWVudCBleGl0QXJndW1lbnQoKSBjb25zdAogICAg
IHsKICAgICAgICAgQVNTRVJUKGlzQXJndW1lbnQoKSk7Ci0gICAgICAgIHJldHVybiBFeGl0QXJn
dW1lbnQodS5hcmd1bWVudCk7CisgICAgICAgIHJldHVybiBFeGl0QXJndW1lbnQobV92YWx1ZS5n
ZXQoKS5hcmd1bWVudCk7CiAgICAgfQogICAgIAogICAgIHZvaWQgYWRqdXN0U3RhY2ttYXBMb2Nh
dGlvbnNJbmRleEJ5T2Zmc2V0KHVuc2lnbmVkIG9mZnNldCkKICAgICB7CiAgICAgICAgIEFTU0VS
VChoYXNJbmRleEluU3RhY2ttYXBMb2NhdGlvbnMoKSk7CiAgICAgICAgIEFTU0VSVChpc0FyZ3Vt
ZW50KCkpOworICAgICAgICBVbmlvblR5cGUgdSA9IG1fdmFsdWUuZ2V0KCk7CiAgICAgICAgIHUu
YXJndW1lbnQuYXJndW1lbnQgKz0gb2Zmc2V0OworICAgICAgICBtX3ZhbHVlID0gV1RGTW92ZSh1
KTsKICAgICB9CiAgICAgCiAgICAgSlNWYWx1ZSBjb25zdGFudCgpIGNvbnN0CiAgICAgewogICAg
ICAgICBBU1NFUlQoaXNDb25zdGFudCgpKTsKLSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmRlY29k
ZSh1LmNvbnN0YW50KTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmRlY29kZShtX3ZhbHVlLmdl
dCgpLmNvbnN0YW50KTsKICAgICB9CiAgICAgCiAgICAgVmlydHVhbFJlZ2lzdGVyIHZpcnR1YWxS
ZWdpc3RlcigpIGNvbnN0CiAgICAgewogICAgICAgICBBU1NFUlQoaXNJbkpTU3RhY2tTb21laG93
KCkpOwotICAgICAgICByZXR1cm4gVmlydHVhbFJlZ2lzdGVyKHUudmlydHVhbFJlZ2lzdGVyKTsK
KyAgICAgICAgcmV0dXJuIFZpcnR1YWxSZWdpc3RlcihtX3ZhbHVlLmdldCgpLnZpcnR1YWxSZWdp
c3Rlcik7CiAgICAgfQogICAgIAogICAgIEV4aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uKiBv
YmplY3RNYXRlcmlhbGl6YXRpb24oKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKGlzT2Jq
ZWN0TWF0ZXJpYWxpemF0aW9uKCkpOwotICAgICAgICByZXR1cm4gdS5uZXdPYmplY3RNYXRlcmlh
bGl6YXRpb25EYXRhOworICAgICAgICByZXR1cm4gbV92YWx1ZS5nZXQoKS5uZXdPYmplY3RNYXRl
cmlhbGl6YXRpb25EYXRhOwogICAgIH0KIAogICAgIEV4aXRWYWx1ZSB3aXRoVmlydHVhbFJlZ2lz
dGVyKFZpcnR1YWxSZWdpc3RlciB2aXJ0dWFsUmVnaXN0ZXIpIGNvbnN0CkBAIC0xODEsNyArMTk1
LDkgQEAgY2xhc3MgRXhpdFZhbHVlIHsKICAgICAgICAgQVNTRVJUKGlzSW5KU1N0YWNrU29tZWhv
dygpKTsKICAgICAgICAgRXhpdFZhbHVlIHJlc3VsdDsKICAgICAgICAgcmVzdWx0Lm1fa2luZCA9
IG1fa2luZDsKLSAgICAgICAgcmVzdWx0LnUudmlydHVhbFJlZ2lzdGVyID0gdmlydHVhbFJlZ2lz
dGVyLm9mZnNldCgpOworICAgICAgICBVbmlvblR5cGUgdTsKKyAgICAgICAgdS52aXJ0dWFsUmVn
aXN0ZXIgPSB2aXJ0dWFsUmVnaXN0ZXIub2Zmc2V0KCk7CisgICAgICAgIHJlc3VsdC5tX3ZhbHVl
ID0gV1RGTW92ZSh1KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAgCkBAIC0y
MDAsMTIgKzIxNiwxMyBAQCBjbGFzcyBFeGl0VmFsdWUgewogICAgIAogcHJpdmF0ZToKICAgICBF
eGl0VmFsdWVLaW5kIG1fa2luZDsKLSAgICB1bmlvbiB7CisgICAgdW5pb24gVW5pb25UeXBlIHsK
ICAgICAgICAgRXhpdEFyZ3VtZW50UmVwcmVzZW50YXRpb24gYXJndW1lbnQ7CiAgICAgICAgIEVu
Y29kZWRKU1ZhbHVlIGNvbnN0YW50OwogICAgICAgICBpbnQgdmlydHVhbFJlZ2lzdGVyOwogICAg
ICAgICBFeGl0VGltZU9iamVjdE1hdGVyaWFsaXphdGlvbiogbmV3T2JqZWN0TWF0ZXJpYWxpemF0
aW9uRGF0YTsKLSAgICB9IHU7CisgICAgfTsKKyAgICBQYWNrZWQ8VW5pb25UeXBlPiBtX3ZhbHVl
OwogfTsKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCmluZGV4IDQ3M2EwMzg1NzBiNmIzNzY0NDBhNWU5
NDA0MDYwM2Q2OWQwN2JkNjQuLjZjNjU3NDg2M2JkMTRkNjViMzE0MDFhZTdmYTQwM2IzNWFjOTA2
NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0Iz
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAK
QEAgLTIwNzAsMTAgKzIwNzAsOSBAQCBjbGFzcyBMb3dlckRGR1RvQjMgewogICAgICAgICBDb2Rl
QmxvY2sqIGJhc2VsaW5lQ29kZUJsb2NrID0gbV9mdGxTdGF0ZS5ncmFwaC5iYXNlbGluZUNvZGVC
bG9ja0ZvcihtX25vZGUtPm9yaWdpbi5zZW1hbnRpYyk7CiAgICAgICAgIHVuc2lnbmVkIGJ5dGVj
b2RlSW5kZXggPSBtX25vZGUtPm9yaWdpbi5zZW1hbnRpYy5ieXRlY29kZUluZGV4KCk7CiAgICAg
ICAgIEFyaXRoUHJvZmlsZSogYXJpdGhQcm9maWxlID0gYmFzZWxpbmVDb2RlQmxvY2stPmFyaXRo
UHJvZmlsZUZvckJ5dGVjb2RlT2Zmc2V0KGJ5dGVjb2RlSW5kZXgpOwotICAgICAgICBjb25zdCBJ
bnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24gPSBiYXNlbGluZUNvZGVCbG9jay0+aW5zdHJ1Y3Rpb25z
KCkuYXQoYnl0ZWNvZGVJbmRleCkucHRyKCk7CiAgICAgICAgIGF1dG8gcmVwYXRjaGluZ0Z1bmN0
aW9uID0gb3BlcmF0aW9uVmFsdWVBZGRPcHRpbWl6ZTsKICAgICAgICAgYXV0byBub25SZXBhdGNo
aW5nRnVuY3Rpb24gPSBvcGVyYXRpb25WYWx1ZUFkZDsKLSAgICAgICAgY29tcGlsZUJpbmFyeU1h
dGhJQzxKSVRBZGRHZW5lcmF0b3I+KGFyaXRoUHJvZmlsZSwgaW5zdHJ1Y3Rpb24sIHJlcGF0Y2hp
bmdGdW5jdGlvbiwgbm9uUmVwYXRjaGluZ0Z1bmN0aW9uKTsKKyAgICAgICAgY29tcGlsZUJpbmFy
eU1hdGhJQzxKSVRBZGRHZW5lcmF0b3I+KGFyaXRoUHJvZmlsZSwgcmVwYXRjaGluZ0Z1bmN0aW9u
LCBub25SZXBhdGNoaW5nRnVuY3Rpb24pOwogICAgIH0KIAogICAgIHZvaWQgY29tcGlsZVZhbHVl
U3ViKCkKQEAgLTIwOTAsMTAgKzIwODksOSBAQCBjbGFzcyBMb3dlckRGR1RvQjMgewogICAgICAg
ICBDb2RlQmxvY2sqIGJhc2VsaW5lQ29kZUJsb2NrID0gbV9mdGxTdGF0ZS5ncmFwaC5iYXNlbGlu
ZUNvZGVCbG9ja0ZvcihtX25vZGUtPm9yaWdpbi5zZW1hbnRpYyk7CiAgICAgICAgIHVuc2lnbmVk
IGJ5dGVjb2RlSW5kZXggPSBtX25vZGUtPm9yaWdpbi5zZW1hbnRpYy5ieXRlY29kZUluZGV4KCk7
CiAgICAgICAgIEFyaXRoUHJvZmlsZSogYXJpdGhQcm9maWxlID0gYmFzZWxpbmVDb2RlQmxvY2st
PmFyaXRoUHJvZmlsZUZvckJ5dGVjb2RlT2Zmc2V0KGJ5dGVjb2RlSW5kZXgpOwotICAgICAgICBj
b25zdCBJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24gPSBiYXNlbGluZUNvZGVCbG9jay0+aW5zdHJ1
Y3Rpb25zKCkuYXQoYnl0ZWNvZGVJbmRleCkucHRyKCk7CiAgICAgICAgIGF1dG8gcmVwYXRjaGlu
Z0Z1bmN0aW9uID0gb3BlcmF0aW9uVmFsdWVTdWJPcHRpbWl6ZTsKICAgICAgICAgYXV0byBub25S
ZXBhdGNoaW5nRnVuY3Rpb24gPSBvcGVyYXRpb25WYWx1ZVN1YjsKLSAgICAgICAgY29tcGlsZUJp
bmFyeU1hdGhJQzxKSVRTdWJHZW5lcmF0b3I+KGFyaXRoUHJvZmlsZSwgaW5zdHJ1Y3Rpb24sIHJl
cGF0Y2hpbmdGdW5jdGlvbiwgbm9uUmVwYXRjaGluZ0Z1bmN0aW9uKTsKKyAgICAgICAgY29tcGls
ZUJpbmFyeU1hdGhJQzxKSVRTdWJHZW5lcmF0b3I+KGFyaXRoUHJvZmlsZSwgcmVwYXRjaGluZ0Z1
bmN0aW9uLCBub25SZXBhdGNoaW5nRnVuY3Rpb24pOwogICAgIH0KIAogICAgIHZvaWQgY29tcGls
ZVZhbHVlTXVsKCkKQEAgLTIxMTAsMTUgKzIxMDgsMTQgQEAgY2xhc3MgTG93ZXJERkdUb0IzIHsK
ICAgICAgICAgQ29kZUJsb2NrKiBiYXNlbGluZUNvZGVCbG9jayA9IG1fZnRsU3RhdGUuZ3JhcGgu
YmFzZWxpbmVDb2RlQmxvY2tGb3IobV9ub2RlLT5vcmlnaW4uc2VtYW50aWMpOwogICAgICAgICB1
bnNpZ25lZCBieXRlY29kZUluZGV4ID0gbV9ub2RlLT5vcmlnaW4uc2VtYW50aWMuYnl0ZWNvZGVJ
bmRleCgpOwogICAgICAgICBBcml0aFByb2ZpbGUqIGFyaXRoUHJvZmlsZSA9IGJhc2VsaW5lQ29k
ZUJsb2NrLT5hcml0aFByb2ZpbGVGb3JCeXRlY29kZU9mZnNldChieXRlY29kZUluZGV4KTsKLSAg
ICAgICAgY29uc3QgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uID0gYmFzZWxpbmVDb2RlQmxvY2st
Pmluc3RydWN0aW9ucygpLmF0KGJ5dGVjb2RlSW5kZXgpLnB0cigpOwogICAgICAgICBhdXRvIHJl
cGF0Y2hpbmdGdW5jdGlvbiA9IG9wZXJhdGlvblZhbHVlTXVsT3B0aW1pemU7CiAgICAgICAgIGF1
dG8gbm9uUmVwYXRjaGluZ0Z1bmN0aW9uID0gb3BlcmF0aW9uVmFsdWVNdWw7Ci0gICAgICAgIGNv
bXBpbGVCaW5hcnlNYXRoSUM8SklUTXVsR2VuZXJhdG9yPihhcml0aFByb2ZpbGUsIGluc3RydWN0
aW9uLCByZXBhdGNoaW5nRnVuY3Rpb24sIG5vblJlcGF0Y2hpbmdGdW5jdGlvbik7CisgICAgICAg
IGNvbXBpbGVCaW5hcnlNYXRoSUM8SklUTXVsR2VuZXJhdG9yPihhcml0aFByb2ZpbGUsIHJlcGF0
Y2hpbmdGdW5jdGlvbiwgbm9uUmVwYXRjaGluZ0Z1bmN0aW9uKTsKICAgICB9CiAKICAgICB0ZW1w
bGF0ZSA8dHlwZW5hbWUgR2VuZXJhdG9yLCB0eXBlbmFtZSBGdW5jMSwgdHlwZW5hbWUgRnVuYzIs
CiAgICAgICAgIHR5cGVuYW1lID0gc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Z1bmN0aW9uPHR5
cGVuYW1lIHN0ZDo6cmVtb3ZlX3BvaW50ZXI8RnVuYzE+Ojp0eXBlPjo6dmFsdWUgJiYgc3RkOjpp
c19mdW5jdGlvbjx0eXBlbmFtZSBzdGQ6OnJlbW92ZV9wb2ludGVyPEZ1bmMyPjo6dHlwZT46OnZh
bHVlPj4KLSAgICB2b2lkIGNvbXBpbGVVbmFyeU1hdGhJQyhBcml0aFByb2ZpbGUqIGFyaXRoUHJv
ZmlsZSwgY29uc3QgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uLCBGdW5jMSByZXBhdGNoaW5nRnVu
Y3Rpb24sIEZ1bmMyIG5vblJlcGF0Y2hpbmdGdW5jdGlvbikKKyAgICB2b2lkIGNvbXBpbGVVbmFy
eU1hdGhJQyhBcml0aFByb2ZpbGUqIGFyaXRoUHJvZmlsZSwgRnVuYzEgcmVwYXRjaGluZ0Z1bmN0
aW9uLCBGdW5jMiBub25SZXBhdGNoaW5nRnVuY3Rpb24pCiAgICAgewogICAgICAgICBOb2RlKiBu
b2RlID0gbV9ub2RlOwogCkBAIC0yMTQ0LDcgKzIxNDEsNyBAQCBjbGFzcyBMb3dlckRGR1RvQjMg
ewogI2VuZGlmCiAKICAgICAgICAgICAgICAgICBCb3g8TWF0aElDR2VuZXJhdGlvblN0YXRlPiBt
YXRoSUNHZW5lcmF0aW9uU3RhdGUgPSBCb3g8TWF0aElDR2VuZXJhdGlvblN0YXRlPjo6Y3JlYXRl
KCk7Ci0gICAgICAgICAgICAgICAgSklUVW5hcnlNYXRoSUM8R2VuZXJhdG9yPiogbWF0aElDID0g
aml0LmNvZGVCbG9jaygpLT5hZGRNYXRoSUM8R2VuZXJhdG9yPihhcml0aFByb2ZpbGUsIGluc3Ry
dWN0aW9uKTsKKyAgICAgICAgICAgICAgICBKSVRVbmFyeU1hdGhJQzxHZW5lcmF0b3I+KiBtYXRo
SUMgPSBqaXQuY29kZUJsb2NrKCktPmFkZE1hdGhJQzxHZW5lcmF0b3I+KGFyaXRoUHJvZmlsZSk7
CiAgICAgICAgICAgICAgICAgbWF0aElDLT5tX2dlbmVyYXRvciA9IEdlbmVyYXRvcihKU1ZhbHVl
UmVncyhwYXJhbXNbMF0uZ3ByKCkpLCBKU1ZhbHVlUmVncyhwYXJhbXNbMV0uZ3ByKCkpLCBwYXJh
bXMuZ3BTY3JhdGNoKDApKTsKIAogICAgICAgICAgICAgICAgIGJvb2wgc2hvdWxkRW1pdFByb2Zp
bGluZyA9IGZhbHNlOwpAQCAtMjIwNCw3ICsyMjAxLDcgQEAgY2xhc3MgTG93ZXJERkdUb0IzIHsK
IAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBHZW5lcmF0b3IsIHR5cGVuYW1lIEZ1bmMxLCB0eXBl
bmFtZSBGdW5jMiwKICAgICAgICAgdHlwZW5hbWUgPSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNf
ZnVuY3Rpb248dHlwZW5hbWUgc3RkOjpyZW1vdmVfcG9pbnRlcjxGdW5jMT46OnR5cGU+Ojp2YWx1
ZSAmJiBzdGQ6OmlzX2Z1bmN0aW9uPHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3BvaW50ZXI8RnVuYzI+
Ojp0eXBlPjo6dmFsdWU+PgotICAgIHZvaWQgY29tcGlsZUJpbmFyeU1hdGhJQyhBcml0aFByb2Zp
bGUqIGFyaXRoUHJvZmlsZSwgY29uc3QgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uLCBGdW5jMSBy
ZXBhdGNoaW5nRnVuY3Rpb24sIEZ1bmMyIG5vblJlcGF0Y2hpbmdGdW5jdGlvbikKKyAgICB2b2lk
IGNvbXBpbGVCaW5hcnlNYXRoSUMoQXJpdGhQcm9maWxlKiBhcml0aFByb2ZpbGUsIEZ1bmMxIHJl
cGF0Y2hpbmdGdW5jdGlvbiwgRnVuYzIgbm9uUmVwYXRjaGluZ0Z1bmN0aW9uKQogICAgIHsKICAg
ICAgICAgTm9kZSogbm9kZSA9IG1fbm9kZTsKICAgICAgICAgCkBAIC0yMjM4LDcgKzIyMzUsNyBA
QCBjbGFzcyBMb3dlckRGR1RvQjMgewogI2VuZGlmCiAKICAgICAgICAgICAgICAgICBCb3g8TWF0
aElDR2VuZXJhdGlvblN0YXRlPiBtYXRoSUNHZW5lcmF0aW9uU3RhdGUgPSBCb3g8TWF0aElDR2Vu
ZXJhdGlvblN0YXRlPjo6Y3JlYXRlKCk7Ci0gICAgICAgICAgICAgICAgSklUQmluYXJ5TWF0aElD
PEdlbmVyYXRvcj4qIG1hdGhJQyA9IGppdC5jb2RlQmxvY2soKS0+YWRkTWF0aElDPEdlbmVyYXRv
cj4oYXJpdGhQcm9maWxlLCBpbnN0cnVjdGlvbik7CisgICAgICAgICAgICAgICAgSklUQmluYXJ5
TWF0aElDPEdlbmVyYXRvcj4qIG1hdGhJQyA9IGppdC5jb2RlQmxvY2soKS0+YWRkTWF0aElDPEdl
bmVyYXRvcj4oYXJpdGhQcm9maWxlKTsKICAgICAgICAgICAgICAgICBtYXRoSUMtPm1fZ2VuZXJh
dG9yID0gR2VuZXJhdG9yKGxlZnRPcGVyYW5kLCByaWdodE9wZXJhbmQsIEpTVmFsdWVSZWdzKHBh
cmFtc1swXS5ncHIoKSksCiAgICAgICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzKHBhcmFtc1sx
XS5ncHIoKSksIEpTVmFsdWVSZWdzKHBhcmFtc1syXS5ncHIoKSksIHBhcmFtcy5mcFNjcmF0Y2go
MCksCiAgICAgICAgICAgICAgICAgICAgIHBhcmFtcy5mcFNjcmF0Y2goMSksIHBhcmFtcy5ncFNj
cmF0Y2goMCksIEludmFsaWRGUFJSZWcpOwpAQCAtMjM3MiwxMCArMjM2OSw5IEBAIGNsYXNzIExv
d2VyREZHVG9CMyB7CiAgICAgICAgICAgICBDb2RlQmxvY2sqIGJhc2VsaW5lQ29kZUJsb2NrID0g
bV9mdGxTdGF0ZS5ncmFwaC5iYXNlbGluZUNvZGVCbG9ja0ZvcihtX25vZGUtPm9yaWdpbi5zZW1h
bnRpYyk7CiAgICAgICAgICAgICB1bnNpZ25lZCBieXRlY29kZUluZGV4ID0gbV9ub2RlLT5vcmln
aW4uc2VtYW50aWMuYnl0ZWNvZGVJbmRleCgpOwogICAgICAgICAgICAgQXJpdGhQcm9maWxlKiBh
cml0aFByb2ZpbGUgPSBiYXNlbGluZUNvZGVCbG9jay0+YXJpdGhQcm9maWxlRm9yQnl0ZWNvZGVP
ZmZzZXQoYnl0ZWNvZGVJbmRleCk7Ci0gICAgICAgICAgICBjb25zdCBJbnN0cnVjdGlvbiogaW5z
dHJ1Y3Rpb24gPSBiYXNlbGluZUNvZGVCbG9jay0+aW5zdHJ1Y3Rpb25zKCkuYXQoYnl0ZWNvZGVJ
bmRleCkucHRyKCk7CiAgICAgICAgICAgICBhdXRvIHJlcGF0Y2hpbmdGdW5jdGlvbiA9IG9wZXJh
dGlvblZhbHVlU3ViT3B0aW1pemU7CiAgICAgICAgICAgICBhdXRvIG5vblJlcGF0Y2hpbmdGdW5j
dGlvbiA9IG9wZXJhdGlvblZhbHVlU3ViOwotICAgICAgICAgICAgY29tcGlsZUJpbmFyeU1hdGhJ
QzxKSVRTdWJHZW5lcmF0b3I+KGFyaXRoUHJvZmlsZSwgaW5zdHJ1Y3Rpb24sIHJlcGF0Y2hpbmdG
dW5jdGlvbiwgbm9uUmVwYXRjaGluZ0Z1bmN0aW9uKTsKKyAgICAgICAgICAgIGNvbXBpbGVCaW5h
cnlNYXRoSUM8SklUU3ViR2VuZXJhdG9yPihhcml0aFByb2ZpbGUsIHJlcGF0Y2hpbmdGdW5jdGlv
biwgbm9uUmVwYXRjaGluZ0Z1bmN0aW9uKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9
CiAKQEAgLTMwMjMsMTAgKzMwMTksOSBAQCBjbGFzcyBMb3dlckRGR1RvQjMgewogICAgICAgICBD
b2RlQmxvY2sqIGJhc2VsaW5lQ29kZUJsb2NrID0gbV9mdGxTdGF0ZS5ncmFwaC5iYXNlbGluZUNv
ZGVCbG9ja0ZvcihtX25vZGUtPm9yaWdpbi5zZW1hbnRpYyk7CiAgICAgICAgIHVuc2lnbmVkIGJ5
dGVjb2RlSW5kZXggPSBtX25vZGUtPm9yaWdpbi5zZW1hbnRpYy5ieXRlY29kZUluZGV4KCk7CiAg
ICAgICAgIEFyaXRoUHJvZmlsZSogYXJpdGhQcm9maWxlID0gYmFzZWxpbmVDb2RlQmxvY2stPmFy
aXRoUHJvZmlsZUZvckJ5dGVjb2RlT2Zmc2V0KGJ5dGVjb2RlSW5kZXgpOwotICAgICAgICBjb25z
dCBJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24gPSBiYXNlbGluZUNvZGVCbG9jay0+aW5zdHJ1Y3Rp
b25zKCkuYXQoYnl0ZWNvZGVJbmRleCkucHRyKCk7CiAgICAgICAgIGF1dG8gcmVwYXRjaGluZ0Z1
bmN0aW9uID0gb3BlcmF0aW9uQXJpdGhOZWdhdGVPcHRpbWl6ZTsKICAgICAgICAgYXV0byBub25S
ZXBhdGNoaW5nRnVuY3Rpb24gPSBvcGVyYXRpb25Bcml0aE5lZ2F0ZTsKLSAgICAgICAgY29tcGls
ZVVuYXJ5TWF0aElDPEpJVE5lZ0dlbmVyYXRvcj4oYXJpdGhQcm9maWxlLCBpbnN0cnVjdGlvbiwg
cmVwYXRjaGluZ0Z1bmN0aW9uLCBub25SZXBhdGNoaW5nRnVuY3Rpb24pOworICAgICAgICBjb21w
aWxlVW5hcnlNYXRoSUM8SklUTmVnR2VuZXJhdG9yPihhcml0aFByb2ZpbGUsIHJlcGF0Y2hpbmdG
dW5jdGlvbiwgbm9uUmVwYXRjaGluZ0Z1bmN0aW9uKTsKICAgICB9CiAKICAgICB2b2lkIGNvbXBp
bGVBcml0aE5lZ2F0ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Nh
Y2hlZFJlY292ZXJ5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhY2hlZFJlY292ZXJ5
LmgKaW5kZXggZjYyN2FjOTAxNTdhNDBjYjRhYjRiNWFiZThiMGUzN2YzOTE2ODkyYi4uZDJlN2Nk
NTk2NmMwMDUzNWQ4MWE2YmE1N2NjODY2MGE5MmNmOWFhOSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9DYWNoZWRSZWNvdmVyeS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvQ2FjaGVkUmVjb3ZlcnkuaApAQCAtMTIzLDEwICsxMjMsMTAgQEAgY2xhc3MgQ2Fj
aGVkUmVjb3ZlcnkgewogCiAgICAgRlBSUmVnIHdhbnRlZEZQUigpIGNvbnN0IHsgcmV0dXJuIG1f
d2FudGVkRlBSOyB9CiBwcml2YXRlOgorICAgIFZlY3RvcjxWaXJ0dWFsUmVnaXN0ZXIsIDE+IG1f
dGFyZ2V0czsKICAgICBWYWx1ZVJlY292ZXJ5IG1fcmVjb3Zlcnk7CiAgICAgSlNWYWx1ZVJlZ3Mg
bV93YW50ZWRKU1ZhbHVlUmVnczsKICAgICBGUFJSZWcgbV93YW50ZWRGUFIgeyBJbnZhbGlkRlBS
UmVnIH07Ci0gICAgVmVjdG9yPFZpcnR1YWxSZWdpc3RlciwgMT4gbV90YXJnZXRzOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0NhbGxGcmFtZVNodWZmbGVEYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxG
cmFtZVNodWZmbGVEYXRhLmgKaW5kZXggYzBkZjBhMzU4ODg4MjhmMzg1N2UxZGRlNjllZTcyZWFk
ZDljMTg2MC4uOWU3MTBjYjc2YTYxNmQyOGVhYmRkZDhjNThlYWU1NDEwMWYzMzFhZSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuaApAQCAt
MzUsNyArMzUsNiBAQCBuYW1lc3BhY2UgSlNDIHsKIHN0cnVjdCBDYWxsRnJhbWVTaHVmZmxlRGF0
YSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgVmFsdWVSZWNv
dmVyeSBjYWxsZWU7CiAgICAgVmVjdG9yPFZhbHVlUmVjb3Zlcnk+IGFyZ3M7CiAgICAgdW5zaWdu
ZWQgbnVtTG9jYWxzIHsgVUlOVF9NQVggfTsKICAgICB1bnNpZ25lZCBudW1QYXNzZWRBcmdzIHsg
VUlOVF9NQVggfTsKQEAgLTQ1LDYgKzQ0LDcgQEAgc3RydWN0IENhbGxGcmFtZVNodWZmbGVEYXRh
IHsKIAogICAgIHZvaWQgc2V0dXBDYWxsZWVTYXZlUmVnaXN0ZXJzKENvZGVCbG9jayopOwogI2Vu
ZGlmCisgICAgVmFsdWVSZWNvdmVyeSBjYWxsZWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQXJpdGhtZXRpYy5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwCmluZGV4IDMzODll
Y2YxYzZjNzdhYjk0NTFkMWZlZjRjZTA2NzFiOTcxMDUxMWQuLjcxZTMzYzgzZmNlN2Q3MDMxZDI2
NTVmMmQ1ZTBjMjMxMzliODEzYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUQXJpdGhtZXRpYy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRB
cml0aG1ldGljLmNwcApAQCAtNDUzLDcgKzQ1Myw3IEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9t
b2QoY29uc3QgSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJikK
IHZvaWQgSklUOjplbWl0X29wX25lZ2F0ZShjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3Ry
dWN0aW9uKQogewogICAgIEFyaXRoUHJvZmlsZSogYXJpdGhQcm9maWxlID0gJmN1cnJlbnRJbnN0
cnVjdGlvbi0+YXM8T3BOZWdhdGU+KCkubWV0YWRhdGEobV9jb2RlQmxvY2spLm1fYXJpdGhQcm9m
aWxlOwotICAgIEpJVE5lZ0lDKiBuZWdhdGVJQyA9IG1fY29kZUJsb2NrLT5hZGRKSVROZWdJQyhh
cml0aFByb2ZpbGUsIGN1cnJlbnRJbnN0cnVjdGlvbik7CisgICAgSklUTmVnSUMqIG5lZ2F0ZUlD
ID0gbV9jb2RlQmxvY2stPmFkZEpJVE5lZ0lDKGFyaXRoUHJvZmlsZSk7CiAgICAgbV9pbnN0cnVj
dGlvblRvTWF0aElDLmFkZChjdXJyZW50SW5zdHJ1Y3Rpb24sIG5lZ2F0ZUlDKTsKICAgICBlbWl0
TWF0aElDRmFzdDxPcE5lZ2F0ZT4obmVnYXRlSUMsIGN1cnJlbnRJbnN0cnVjdGlvbiwgb3BlcmF0
aW9uQXJpdGhOZWdhdGVQcm9maWxlZCwgb3BlcmF0aW9uQXJpdGhOZWdhdGUpOwogfQpAQCAtNjQx
LDcgKzY0MSw3IEBAIEFMV0FZU19JTkxJTkUgc3RhdGljIE9wZXJhbmRUeXBlcyBnZXRPcGVyYW5k
VHlwZXMoY29uc3QgQXJpdGhQcm9maWxlJiBhcml0aFByb2ZpCiB2b2lkIEpJVDo6ZW1pdF9vcF9h
ZGQoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIHsKICAgICBBcml0aFBy
b2ZpbGUqIGFyaXRoUHJvZmlsZSA9ICZjdXJyZW50SW5zdHJ1Y3Rpb24tPmFzPE9wQWRkPigpLm1l
dGFkYXRhKG1fY29kZUJsb2NrKS5tX2FyaXRoUHJvZmlsZTsKLSAgICBKSVRBZGRJQyogYWRkSUMg
PSBtX2NvZGVCbG9jay0+YWRkSklUQWRkSUMoYXJpdGhQcm9maWxlLCBjdXJyZW50SW5zdHJ1Y3Rp
b24pOworICAgIEpJVEFkZElDKiBhZGRJQyA9IG1fY29kZUJsb2NrLT5hZGRKSVRBZGRJQyhhcml0
aFByb2ZpbGUpOwogICAgIG1faW5zdHJ1Y3Rpb25Ub01hdGhJQy5hZGQoY3VycmVudEluc3RydWN0
aW9uLCBhZGRJQyk7CiAgICAgZW1pdE1hdGhJQ0Zhc3Q8T3BBZGQ+KGFkZElDLCBjdXJyZW50SW5z
dHJ1Y3Rpb24sIG9wZXJhdGlvblZhbHVlQWRkUHJvZmlsZWQsIG9wZXJhdGlvblZhbHVlQWRkKTsK
IH0KQEAgLTk2MCw3ICs5NjAsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9kaXYoY29uc3QgSW5zdHJ1
Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIHZvaWQgSklUOjplbWl0X29wX211bChjb25zdCBJ
bnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogewogICAgIEFyaXRoUHJvZmlsZSogYXJp
dGhQcm9maWxlID0gJmN1cnJlbnRJbnN0cnVjdGlvbi0+YXM8T3BNdWw+KCkubWV0YWRhdGEobV9j
b2RlQmxvY2spLm1fYXJpdGhQcm9maWxlOwotICAgIEpJVE11bElDKiBtdWxJQyA9IG1fY29kZUJs
b2NrLT5hZGRKSVRNdWxJQyhhcml0aFByb2ZpbGUsIGN1cnJlbnRJbnN0cnVjdGlvbik7CisgICAg
SklUTXVsSUMqIG11bElDID0gbV9jb2RlQmxvY2stPmFkZEpJVE11bElDKGFyaXRoUHJvZmlsZSk7
CiAgICAgbV9pbnN0cnVjdGlvblRvTWF0aElDLmFkZChjdXJyZW50SW5zdHJ1Y3Rpb24sIG11bElD
KTsKICAgICBlbWl0TWF0aElDRmFzdDxPcE11bD4obXVsSUMsIGN1cnJlbnRJbnN0cnVjdGlvbiwg
b3BlcmF0aW9uVmFsdWVNdWxQcm9maWxlZCwgb3BlcmF0aW9uVmFsdWVNdWwpOwogfQpAQCAtOTc2
LDcgKzk3Niw3IEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9tdWwoY29uc3QgSW5zdHJ1Y3Rpb24q
IGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNlCiB2b2lkIEpJVDo6ZW1pdF9vcF9z
dWIoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIHsKICAgICBBcml0aFBy
b2ZpbGUqIGFyaXRoUHJvZmlsZSA9ICZjdXJyZW50SW5zdHJ1Y3Rpb24tPmFzPE9wU3ViPigpLm1l
dGFkYXRhKG1fY29kZUJsb2NrKS5tX2FyaXRoUHJvZmlsZTsKLSAgICBKSVRTdWJJQyogc3ViSUMg
PSBtX2NvZGVCbG9jay0+YWRkSklUU3ViSUMoYXJpdGhQcm9maWxlLCBjdXJyZW50SW5zdHJ1Y3Rp
b24pOworICAgIEpJVFN1YklDKiBzdWJJQyA9IG1fY29kZUJsb2NrLT5hZGRKSVRTdWJJQyhhcml0
aFByb2ZpbGUpOwogICAgIG1faW5zdHJ1Y3Rpb25Ub01hdGhJQy5hZGQoY3VycmVudEluc3RydWN0
aW9uLCBzdWJJQyk7CiAgICAgZW1pdE1hdGhJQ0Zhc3Q8T3BTdWI+KHN1YklDLCBjdXJyZW50SW5z
dHJ1Y3Rpb24sIG9wZXJhdGlvblZhbHVlU3ViUHJvZmlsZWQsIG9wZXJhdGlvblZhbHVlU3ViKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUTWF0aElDLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE1hdGhJQy5oCmluZGV4IGM4ODc2ZDBkYjg2Mjc5
NTk2YWRiZmIyNjljMmUxMGZkZDQyM2FmZWMuLjU2NDVlNDJkZWZmYjRlNmZkMWNmZjIzZDE3NmY1
OTg2ZTQ5OWYwOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUTWF0
aElDLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRNYXRoSUMuaApAQCAtNTYs
OSArNTYsOCBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgR2VuZXJhdG9yVHlwZSwgYm9vbCgqaXNQcm9m
aWxlRW1wdHkpKEFyaXRoUHJvZmlsZSYpPgogY2xhc3MgSklUTWF0aElDIHsKICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBKSVRNYXRoSUMoQXJpdGhQcm9maWxlKiBh
cml0aFByb2ZpbGUsIGNvbnN0IEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbikKKyAgICBKSVRNYXRo
SUMoQXJpdGhQcm9maWxlKiBhcml0aFByb2ZpbGUpCiAgICAgICAgIDogbV9hcml0aFByb2ZpbGUo
YXJpdGhQcm9maWxlKQotICAgICAgICAsIG1faW5zdHJ1Y3Rpb24oaW5zdHJ1Y3Rpb24pCiAgICAg
ewogICAgIH0KIApAQCAtMjI1LDcgKzIyNCw2IEBAIGNsYXNzIEpJVE1hdGhJQyB7CiAgICAgfQog
CiAgICAgQXJpdGhQcm9maWxlKiBhcml0aFByb2ZpbGUoKSBjb25zdCB7IHJldHVybiBtX2FyaXRo
UHJvZmlsZTsgfQotICAgIGNvbnN0IEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbigpIGNvbnN0IHsg
cmV0dXJuIG1faW5zdHJ1Y3Rpb247IH0KIAogI2lmIEVOQUJMRShNQVRIX0lDX1NUQVRTKQogICAg
IHNpemVfdCBtX2dlbmVyYXRlZENvZGVTaXplIHsgMCB9OwpAQCAtMjM5LDcgKzIzNyw2IEBAIGNs
YXNzIEpJVE1hdGhJQyB7CiAjZW5kaWYKIAogICAgIEFyaXRoUHJvZmlsZSogbV9hcml0aFByb2Zp
bGU7Ci0gICAgY29uc3QgSW5zdHJ1Y3Rpb24qIG1faW5zdHJ1Y3Rpb247CiAgICAgTWFjcm9Bc3Nl
bWJsZXJDb2RlUmVmPEpJVFN0dWJSb3V0aW5lUHRyVGFnPiBtX2NvZGU7CiAgICAgQ29kZUxvY2F0
aW9uTGFiZWw8SlNJbnRlcm5hbFB0clRhZz4gbV9pbmxpbmVTdGFydDsKICAgICBDb2RlTG9jYXRp
b25MYWJlbDxKU0ludGVybmFsUHRyVGFnPiBtX2lubGluZUVuZDsKQEAgLTI1Niw4ICsyNTMsOCBA
QCBpbmxpbmUgYm9vbCBpc0JpbmFyeVByb2ZpbGVFbXB0eShBcml0aFByb2ZpbGUmIGFyaXRoUHJv
ZmlsZSkKIHRlbXBsYXRlIDx0eXBlbmFtZSBHZW5lcmF0b3JUeXBlPgogY2xhc3MgSklUQmluYXJ5
TWF0aElDIDogcHVibGljIEpJVE1hdGhJQzxHZW5lcmF0b3JUeXBlLCBpc0JpbmFyeVByb2ZpbGVF
bXB0eT4gewogcHVibGljOgotICAgIEpJVEJpbmFyeU1hdGhJQyhBcml0aFByb2ZpbGUqIGFyaXRo
UHJvZmlsZSwgY29uc3QgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uKQotICAgICAgICA6IEpJVE1h
dGhJQzxHZW5lcmF0b3JUeXBlLCBpc0JpbmFyeVByb2ZpbGVFbXB0eT4oYXJpdGhQcm9maWxlLCBp
bnN0cnVjdGlvbikKKyAgICBKSVRCaW5hcnlNYXRoSUMoQXJpdGhQcm9maWxlKiBhcml0aFByb2Zp
bGUpCisgICAgICAgIDogSklUTWF0aElDPEdlbmVyYXRvclR5cGUsIGlzQmluYXJ5UHJvZmlsZUVt
cHR5Pihhcml0aFByb2ZpbGUpCiAgICAgewogICAgIH0KIH07CkBAIC0yNzQsOCArMjcxLDggQEAg
aW5saW5lIGJvb2wgaXNVbmFyeVByb2ZpbGVFbXB0eShBcml0aFByb2ZpbGUmIGFyaXRoUHJvZmls
ZSkKIHRlbXBsYXRlIDx0eXBlbmFtZSBHZW5lcmF0b3JUeXBlPgogY2xhc3MgSklUVW5hcnlNYXRo
SUMgOiBwdWJsaWMgSklUTWF0aElDPEdlbmVyYXRvclR5cGUsIGlzVW5hcnlQcm9maWxlRW1wdHk+
IHsKIHB1YmxpYzoKLSAgICBKSVRVbmFyeU1hdGhJQyhBcml0aFByb2ZpbGUqIGFyaXRoUHJvZmls
ZSwgY29uc3QgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uKQotICAgICAgICA6IEpJVE1hdGhJQzxH
ZW5lcmF0b3JUeXBlLCBpc1VuYXJ5UHJvZmlsZUVtcHR5Pihhcml0aFByb2ZpbGUsIGluc3RydWN0
aW9uKQorICAgIEpJVFVuYXJ5TWF0aElDKEFyaXRoUHJvZmlsZSogYXJpdGhQcm9maWxlKQorICAg
ICAgICA6IEpJVE1hdGhJQzxHZW5lcmF0b3JUeXBlLCBpc1VuYXJ5UHJvZmlsZUVtcHR5Pihhcml0
aFByb2ZpbGUpCiAgICAgewogICAgIH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1BvbHltb3JwaGljQ2FsbFN0dWJSb3V0aW5lLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1BvbHltb3JwaGljQ2FsbFN0dWJSb3V0aW5lLmgKaW5kZXggODA5N2EyZjNiNjg5
MmE0MjU4MjdjZjZhMTQ2MzIzYzQ0ODU1MDZmZi4uMjU2YTVmNjA4MTA3ODkxMGQ0NjkxODg0ZWZj
Y2RjMTM4ZTVkNDI1MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Qb2x5
bW9ycGhpY0NhbGxTdHViUm91dGluZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
UG9seW1vcnBoaWNDYWxsU3R1YlJvdXRpbmUuaApAQCAtMzgsNyArMzgsNyBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogY2xhc3MgQ2FsbExpbmtJbmZvOwogCi1jbGFzcyBQb2x5bW9ycGhpY0NhbGxOb2Rl
IDogcHVibGljIEJhc2ljUmF3U2VudGluZWxOb2RlPFBvbHltb3JwaGljQ2FsbE5vZGU+IHsKK2Ns
YXNzIFBvbHltb3JwaGljQ2FsbE5vZGUgOiBwdWJsaWMgUGFja2VkUmF3U2VudGluZWxOb2RlPFBv
bHltb3JwaGljQ2FsbE5vZGU+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQb2x5bW9ycGhp
Y0NhbGxOb2RlKTsKIHB1YmxpYzoKICAgICBQb2x5bW9ycGhpY0NhbGxOb2RlKENhbGxMaW5rSW5m
byogaW5mbykKQEAgLTUwLDExICs1MCwxMSBAQCBjbGFzcyBQb2x5bW9ycGhpY0NhbGxOb2RlIDog
cHVibGljIEJhc2ljUmF3U2VudGluZWxOb2RlPFBvbHltb3JwaGljQ2FsbE5vZGU+IHsKICAgICAK
ICAgICB2b2lkIHVubGluayhWTSYpOwogCi0gICAgYm9vbCBoYXNDYWxsTGlua0luZm8oQ2FsbExp
bmtJbmZvKiBpbmZvKSB7IHJldHVybiBtX2NhbGxMaW5rSW5mbyA9PSBpbmZvOyB9CisgICAgYm9v
bCBoYXNDYWxsTGlua0luZm8oQ2FsbExpbmtJbmZvKiBpbmZvKSB7IHJldHVybiBtX2NhbGxMaW5r
SW5mby5nZXQoKSA9PSBpbmZvOyB9CiAgICAgdm9pZCBjbGVhckNhbGxMaW5rSW5mbygpOwogICAg
IAogcHJpdmF0ZToKLSAgICBDYWxsTGlua0luZm8qIG1fY2FsbExpbmtJbmZvOworICAgIFBhY2tl
ZFB0cjxDYWxsTGlua0luZm8+IG1fY2FsbExpbmtJbmZvOwogfTsKIAogY2xhc3MgUG9seW1vcnBo
aWNDYWxsQ2FzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1NuaXBw
ZXRPcGVyYW5kLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1NuaXBwZXRPcGVyYW5kLmgK
aW5kZXggNWRhM2VjMDE4M2Q0MGNmNGQ4MWEwODBmNTBkNTI1NDJkZDI3Yjk4OC4uMDQxM2NiOTE4
NmFhODkyN2RmZjMyMTE0M2U1YzZlNzM5ZTEzNDNkZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9TbmlwcGV0T3BlcmFuZC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvU25pcHBldE9wZXJhbmQuaApAQCAtMjgsMTEgKzI4LDEyIEBACiAjaWYgRU5BQkxFKEpJ
VCkKIAogI2luY2x1ZGUgIlJlc3VsdFR5cGUuaCIKKyNpbmNsdWRlIDx3dGYvUGFja2VkLmg+CiAK
IG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBTbmlwcGV0T3BlcmFuZCB7Ci0gICAgZW51bSBDb25z
dE9yVmFyVHlwZSB7CisgICAgZW51bSBDb25zdE9yVmFyVHlwZSA6IHVpbnQ4X3QgewogICAgICAg
ICBWYXJpYWJsZSwKICAgICAgICAgQ29uc3RJbnQzMiwKICAgICAgICAgQ29uc3REb3VibGUKQEAg
LTU1LDE4ICs1NiwxOCBAQCBjbGFzcyBTbmlwcGV0T3BlcmFuZCB7CiAgICAgYm9vbCBpc0NvbnN0
RG91YmxlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IENvbnN0RG91YmxlOyB9CiAgICAgYm9v
bCBpc1Bvc2l0aXZlQ29uc3RJbnQzMigpIGNvbnN0IHsgcmV0dXJuIGlzQ29uc3RJbnQzMigpICYm
IGFzQ29uc3RJbnQzMigpID4gMDsgfQogCi0gICAgaW50NjRfdCBhc1Jhd0JpdHMoKSBjb25zdCB7
IHJldHVybiBtX3ZhbC5yYXdCaXRzOyB9CisgICAgaW50NjRfdCBhc1Jhd0JpdHMoKSBjb25zdCB7
IHJldHVybiBtX3ZhbC5nZXQoKS5yYXdCaXRzOyB9CiAKICAgICBpbnQzMl90IGFzQ29uc3RJbnQz
MigpIGNvbnN0CiAgICAgewogICAgICAgICBBU1NFUlQobV90eXBlID09IENvbnN0SW50MzIpOwot
ICAgICAgICByZXR1cm4gbV92YWwuaW50MzJWYWw7CisgICAgICAgIHJldHVybiBtX3ZhbC5nZXQo
KS5pbnQzMlZhbDsKICAgICB9CiAKICAgICBkb3VibGUgYXNDb25zdERvdWJsZSgpIGNvbnN0CiAg
ICAgewogICAgICAgICBBU1NFUlQobV90eXBlID09IENvbnN0RG91YmxlKTsKLSAgICAgICAgcmV0
dXJuIG1fdmFsLmRvdWJsZVZhbDsKKyAgICAgICAgcmV0dXJuIG1fdmFsLmdldCgpLmRvdWJsZVZh
bDsKICAgICB9CiAKICAgICBkb3VibGUgYXNDb25zdE51bWJlcigpIGNvbnN0CkBAIC04MCwyNCAr
ODEsMzAgQEAgY2xhc3MgU25pcHBldE9wZXJhbmQgewogICAgIHZvaWQgc2V0Q29uc3RJbnQzMihp
bnQzMl90IHZhbHVlKQogICAgIHsKICAgICAgICAgbV90eXBlID0gQ29uc3RJbnQzMjsKLSAgICAg
ICAgbV92YWwuaW50MzJWYWwgPSB2YWx1ZTsKKyAgICAgICAgVW5pb25UeXBlIHU7CisgICAgICAg
IHUuaW50MzJWYWwgPSB2YWx1ZTsKKyAgICAgICAgbV92YWwgPSBXVEZNb3ZlKHUpOwogICAgIH0K
IAogICAgIHZvaWQgc2V0Q29uc3REb3VibGUoZG91YmxlIHZhbHVlKQogICAgIHsKICAgICAgICAg
bV90eXBlID0gQ29uc3REb3VibGU7Ci0gICAgICAgIG1fdmFsLmRvdWJsZVZhbCA9IHZhbHVlOwor
ICAgICAgICBVbmlvblR5cGUgdTsKKyAgICAgICAgdS5kb3VibGVWYWwgPSB2YWx1ZTsKKyAgICAg
ICAgbV92YWwgPSBXVEZNb3ZlKHUpOwogICAgIH0KIAogcHJpdmF0ZToKICAgICBSZXN1bHRUeXBl
IG1fcmVzdWx0VHlwZTsKICAgICBDb25zdE9yVmFyVHlwZSBtX3R5cGUgeyBWYXJpYWJsZSB9Owot
ICAgIHVuaW9uIHsKKyAgICB1bmlvbiBVbmlvblR5cGUgewogICAgICAgICBpbnQzMl90IGludDMy
VmFsOwogICAgICAgICBkb3VibGUgZG91YmxlVmFsOwogICAgICAgICBpbnQ2NF90IHJhd0JpdHM7
Ci0gICAgfSBtX3ZhbDsKKyAgICB9OworICAgIFBhY2tlZDxVbmlvblR5cGU+IG1fdmFsOwogfTsK
K3N0YXRpY19hc3NlcnQoYWxpZ25vZihTbmlwcGV0T3BlcmFuZCkgPT0gMSk7CiAKIH0gLy8gbmFt
ZXNwYWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QYWNrZWQuaCBiL1NvdXJj
ZS9XVEYvd3RmL1BhY2tlZC5oCmluZGV4IGQ2N2I0YWM4NzBlNDUzNWI3MTdjOTBjYmYxYjYzMTRi
ZmYyNWJkNmEuLmZiODgxNWZjODUxMTE0NDZiZWI5NjA2MjM0MDZjNWU2YjU3NDljZjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BhY2tlZC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BhY2tl
ZC5oCkBAIC0xNjEsNiArMTYxLDcgQEAgY2xhc3MgUGFja2VkQWxpZ25lZFB0ciB7CiAgICAgVCog
b3BlcmF0b3ItPigpIGNvbnN0IHsgcmV0dXJuIGdldCgpOyB9CiAgICAgVCYgb3BlcmF0b3IqKCkg
Y29uc3QgeyByZXR1cm4gKmdldCgpOyB9CiAgICAgYm9vbCBvcGVyYXRvciEoKSBjb25zdCB7IHJl
dHVybiAhZ2V0KCk7IH0KKyAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1
cm4gZ2V0KCk7IH0KIAogICAgIFBhY2tlZEFsaWduZWRQdHImIG9wZXJhdG9yPShUKiB2YWx1ZSkK
ICAgICB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>