<?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>130370</bug_id>
          
          <creation_ts>2014-03-17 16:58:54 -0700</creation_ts>
          <short_desc>Pseudo type cleanup part 2: split pseudo elements parsing</short_desc>
          <delta_ts>2014-03-21 12:56:57 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>bunhere</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>rakuco</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>991462</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-03-17 16:58:54 -0700</bug_when>
    <thetext>Pseudo type cleanup part 2: split pseudo elements parsing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991469</commentid>
    <comment_count>1</comment_count>
      <attachid>226986</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-03-17 17:09:55 -0700</bug_when>
    <thetext>Created attachment 226986
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991481</commentid>
    <comment_count>2</comment_count>
      <attachid>226989</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-03-17 17:51:57 -0700</bug_when>
    <thetext>Created attachment 226989
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992238</commentid>
    <comment_count>3</comment_count>
      <attachid>226989</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-03-19 13:55:03 -0700</bug_when>
    <thetext>Comment on attachment 226989
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993276</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-03-21 12:56:57 -0700</bug_when>
    <thetext>Committed r166094: &lt;http://trac.webkit.org/changeset/166094&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226986</attachid>
            <date>2014-03-17 17:09:55 -0700</date>
            <delta_ts>2014-03-17 17:51:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130370-20140317170933.patch</filename>
            <type>text/plain</type>
            <size>35137</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1NzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjM1MjIwZjM3MGNlMDk5
ODg0ZGZhNWEyYmI1ODkwZDMwYjZhNTRlNS4uMTdmMzI4Mzg3ZWRjZjFkYTg1MGQzOTJiN2JlY2Y3
NzdhNzVkZTk0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE0LTAzLTE3ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFBzZXVkbyB0eXBl
IGNsZWFudXAgcGFydCAyOiBzcGxpdCBwc2V1ZG8gZWxlbWVudHMgcGFyc2luZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwMzcwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2l0aCB0aGlzIHBhdGNoLCBw
c2V1ZG8gZWxlbWVudHMgYXJlIGhhbmRsZWQgc2VwYXJhdGVseS4gVGhlIG9ubHkgdGhpbmcgbGVm
dCBpbgorICAgICAgICB0aGUgb2xkIHBhdGggaXMgY29tcGF0aWJpbGl0eSBwc2V1ZG8gZWxlbWVu
dHMgYW5kIHBzZXVkbyBjbGFzc2VzLgorCisgICAgICAgIFRoZSBsaXN0IG9mIHNwZWNpYWwgcHNl
dWRvIGVsZW1lbnRzIGlzIG5vdyBzZXBhcmF0ZWQgYW5kIGlzIHN0b3JlZCBpbiBTZWxlY3RvclBz
ZXVkb0VsZW1lbnRUeXBlTWFwLmluLgorICAgICAgICBUaGUgc2NyaXB0IG1ha2VTZWxlY3RvclBz
ZXVkb0VsZW1lbnRzTWFwLnB5IHRha2VzIHRoYXQgbGlzdCB0byBtYWtlIHRoZSBwc2V1ZG8gZWxl
bWVudHMgaGFzaCB0YWJsZS4KKworICAgICAgICBUaGUgb3RoZXIgcHNldWRvIGVsZW1lbnRzIGFy
ZSB0aGUgcHJlZml4ZWQgb25lcywgdGhleSBhcmUgZmlsdGVyZWQgaW4gQ1NTU2VsZWN0b3I6OnBh
cnNlUHNldWRvRWxlbWVudFR5cGUoKS4KKworICAgICAgICBBbGwgdGhlIG5vbi1jb21wYXRpYmls
aXR5IHNlbGVjdG9ycyBhcmUgcmVtb3ZlZCBmcm9tIFNlbGVjdG9yUHNldWRvVHlwZU1hcC5pbi4g
Q1NTUGFyc2VyU2VsZWN0b3I6OnNldFBzZXVkb1R5cGVWYWx1ZSgpCisgICAgICAgIGlzIHVwZGF0
ZWQgYWNjb3JkaW5nbHkuIFRoZSBuZXh0IHN0ZXAgd2lsbCBiZSB0byBjbGVhbiB0aGF0IHBhcnQu
CisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5t
YWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpDU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb24pOgorICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnkuaW46CisgICAg
ICAgICogY3NzL0NTU1BhcnNlclZhbHVlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXJTZWxlY3Rvcjo6cGFyc2VQc2V1ZG9FbGVtZW50U2VsZWN0b3IpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUGFyc2VyU2VsZWN0b3I6OnBhcnNlUHNldWRvQ3VlRnVuY3Rpb25TZWxlY3Rvcik6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTZWxlY3Rvcjo6c2V0UHNldWRvVHlwZVZhbHVlKToK
KyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyVmFsdWVzLmg6CisgICAgICAgICogY3NzL0NTU1NlbGVj
dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1NlbGVjdG9yOjpwYXJzZVBzZXVkb0VsZW1l
bnRUeXBlKToKKyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3IuaDoKKyAgICAgICAgKiBjc3MvU2Vs
ZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5pbjogQWRkZWQuCisgICAgICAgICogY3NzL1NlbGVj
dG9yUHNldWRvVHlwZU1hcC5oOgorICAgICAgICAqIGNzcy9TZWxlY3RvclBzZXVkb1R5cGVNYXAu
aW46CisgICAgICAgICogY3NzL2h0bWwuY3NzOgorICAgICAgICAocTo6YmVmb3JlKToKKyAgICAg
ICAgKHE6OmFmdGVyKToKKyAgICAgICAgKiBjc3MvbWFrZVNlbGVjdG9yUHNldWRvRWxlbWVudHNN
YXAucHk6IEFkZGVkLgorICAgICAgICAoZW51bWVyYWJsZVBzZXVkb1R5cGUpOgorICAgICAgICAo
ZXhwYW5kX2lmZGVmX2NvbmRpdGlvbik6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpnZXRNYXRjaGVkQ1NTUnVsZXMpOgorCiAyMDE0
LTAzLTE3ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtX
ZWJWVFRdIEV4dGVuZGluZyBXZWJWVFQgUmVuZGVyaW5nIHdpdGggUmVnaW9ucwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCA3MTExZTFhNzg1NTU5ZjE3OGZjODUzNmU0YTlmYzcxMDA0ZGM2YzZmLi4x
ZTZkMjY2Y2U2NWY4MDdlMWY4YWI4NzdlNWZiOGY2NTFhNDA5MGEwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtMzEyMyw3ICszMTIzLDcgQEAgQUREX1NPVVJDRV9XRUJDT1JFX0RFUklWRURfREVQ
RU5ERU5DSUVTKCR7V0VCQ09SRV9ESVJ9L2Nzcy9DU1NQYXJzZXIuY3BwIENTU1ZhbHUKIEFERF9T
T1VSQ0VfV0VCQ09SRV9ERVJJVkVEX0RFUEVOREVOQ0lFUygke1dFQkNPUkVfRElSfS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIENTU1ZhbHVlS2V5d29yZHMuaCkKIEFERF9TT1VSQ0Vf
V0VCQ09SRV9ERVJJVkVEX0RFUEVOREVOQ0lFUygke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJ
Un0vQ1NTR3JhbW1hci5jcHAgQ1NTVmFsdWVLZXl3b3Jkcy5oKQogCi0jIEdlbmVyYXRlIENTUyBT
ZWxlY3RvciBwc2V1ZG8gdHlwZSBuYW1lIHRvIHZhbHVlIG1hcC4KKyMgR2VuZXJhdGUgQ1NTIFNl
bGVjdG9yIHBzZXVkbyB0eXBlIG5hbWUgdG8gdmFsdWUgbWFwcy4KIGFkZF9jdXN0b21fY29tbWFu
ZCgKICAgICBPVVRQVVQgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1NlbGVjdG9yUHNl
dWRvVHlwZU1hcC5ncGVyZiAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vU2VsZWN0b3JQ
c2V1ZG9UeXBlTWFwLmNwcAogICAgIE1BSU5fREVQRU5ERU5DWSAke1dFQkNPUkVfRElSfS9jc3Mv
bWFrZVNlbGVjdG9yUHNldWRvVHlwZU1hcC5weQpAQCAtMzEzMSw2ICszMTMxLDEzIEBAIGFkZF9j
dXN0b21fY29tbWFuZCgKICAgICBDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7V0VCQ09S
RV9ESVJ9L2Nzcy9tYWtlU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLnB5ICR7V0VCQ09SRV9ESVJ9L2Nz
cy9TZWxlY3RvclBzZXVkb1R5cGVNYXAuaW4gIiR7RkVBVFVSRV9ERUZJTkVTX1dJVEhfU1BBQ0Vf
U0VQQVJBVE9SfSIKICAgICBWRVJCQVRJTSkKIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAk
e0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmNwcCkK
K2FkZF9jdXN0b21fY29tbWFuZCgKKyAgICBPVVRQVVQgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09S
RV9ESVJ9L1NlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuZ3BlcmYgJHtERVJJVkVEX1NPVVJD
RVNfV0VCQ09SRV9ESVJ9L1NlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuY3BwCisgICAgTUFJ
Tl9ERVBFTkRFTkNZICR7V0VCQ09SRV9ESVJ9L2Nzcy9tYWtlU2VsZWN0b3JQc2V1ZG9FbGVtZW50
c01hcC5weQorICAgIFdPUktJTkdfRElSRUNUT1JZICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNPUkVf
RElSfQorICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gJHtXRUJDT1JFX0RJUn0vY3Nz
L21ha2VTZWxlY3RvclBzZXVkb0VsZW1lbnRzTWFwLnB5ICR7V0VCQ09SRV9ESVJ9L2Nzcy9TZWxl
Y3RvclBzZXVkb0VsZW1lbnRUeXBlTWFwLmluICIke0ZFQVRVUkVfREVGSU5FU19XSVRIX1NQQUNF
X1NFUEFSQVRPUn0iCisgICAgVkVSQkFUSU0pCitsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMg
JHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1NlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVN
YXAuY3BwKQogCiAjIEdlbmVyYXRlIHVzZXIgYWdlbnQgc3R5bGVzCiBhZGRfY3VzdG9tX2NvbW1h
bmQoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBhNzgzZGIwMTQ4NTk3YzUwODM0
NGExMGVkMmNjMmRmNWU2OTY3ODQ1Li4zZjUwYzliYjdjMWY2YjRmMTJmOGI5N2YxMWJjMTQ4NTM0
NzY4NWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTc1MSw2ICs3NTEsNyBA
QCBhbGwgOiBcCiAgICAgUGx1Z0luc1Jlc291cmNlcy5oIFwKICAgICBTVkdFbGVtZW50RmFjdG9y
eS5jcHAgXAogICAgIFNWR05hbWVzLmNwcCBcCisgICAgU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlw
ZU1hcC5jcHAgXAogICAgIFNlbGVjdG9yUHNldWRvVHlwZU1hcC5jcHAgXAogICAgIFVzZXJBZ2Vu
dFNjcmlwdHMuaCBcCiAgICAgVXNlckFnZW50U3R5bGVTaGVldHMuaCBcCkBAIC04MDEsNiArODAy
LDEwIEBAIFdFQkNPUkVfQ1NTX1NFTEVDVE9SX1BTRVVET19UWVBFX01BUF9LRVlXT1JEUyA6PSAk
KFdlYkNvcmUpL2Nzcy9TZWxlY3RvclBzZXVkb1R5CiBTZWxlY3RvclBzZXVkb1R5cGVNYXAuY3Bw
IDogJChXZWJDb3JlKS9jc3MvbWFrZVNlbGVjdG9yUHNldWRvVHlwZU1hcC5weSAkKFdFQkNPUkVf
Q1NTX1NFTEVDVE9SX1BTRVVET19UWVBFX01BUF9LRVlXT1JEUykKIAlweXRob24gIiQoV2ViQ29y
ZSkvY3NzL21ha2VTZWxlY3RvclBzZXVkb1R5cGVNYXAucHkiICQoV0VCQ09SRV9DU1NfU0VMRUNU
T1JfUFNFVURPX1RZUEVfTUFQX0tFWVdPUkRTKSAiJChGRUFUVVJFX0RFRklORVMpIgogCitXRUJD
T1JFX0NTU19TRUxFQ1RPUl9QU0VVRE9fRUxFTUVOVFNfVFlQRV9NQVBfS0VZV09SRFMgOj0gJChX
ZWJDb3JlKS9jc3MvU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5pbgorU2VsZWN0b3JQc2V1
ZG9FbGVtZW50VHlwZU1hcC5jcHAgOiAkKFdlYkNvcmUpL2Nzcy9tYWtlU2VsZWN0b3JQc2V1ZG9F
bGVtZW50c01hcC5weSAkKFdFQkNPUkVfQ1NTX1NFTEVDVE9SX1BTRVVET19FTEVNRU5UU19UWVBF
X01BUF9LRVlXT1JEUykKKwlweXRob24gIiQoV2ViQ29yZSkvY3NzL21ha2VTZWxlY3RvclBzZXVk
b0VsZW1lbnRzTWFwLnB5IiAkKFdFQkNPUkVfQ1NTX1NFTEVDVE9SX1BTRVVET19FTEVNRU5UU19U
WVBFX01BUF9LRVlXT1JEUykgIiQoRkVBVFVSRV9ERUZJTkVTKSIKKwogIyAtLS0tLS0tLQogCiAj
IFhNTFZpZXdlciBDU1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDExNmIxMzJk
OTRlYzBmOTI3NmQ4MzBhZTgzZWE3N2NiYWZkZWZhOTcuLjFmY2ExNTczZGQ4NDNkODRhYWJmYjc4
NTQzODdiNmMwMWU0MzYwZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtODU1
LDYgKzg1NSw3IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9QbHVnSW5zUmVzb3VyY2VzRGF0YS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvUGx1Z0luc1Jlc291cmNlcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL1NldHRpbmdz
TWFjcm9zLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvU2VsZWN0b3JQc2V1ZG9FbGVtZW50
VHlwZU1hcC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvU2VsZWN0b3JQc2V1ZG9UeXBl
TWFwLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9Vc2VyQWdlbnRTY3JpcHRzRGF0YS5j
cHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvVXNlckFnZW50U2NyaXB0cy5oIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDAzZjli
MTMyZWI5YzczZDAxZDZhMzgxN2RhZjczODhjZjhhZDg5YzUuLjhhODk5MDNhYTFlNGM2NTdhZDUx
MWM5NGE3N2RiM2FmZTdhMDkyNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMjkwLDYgKzI5MCw3IEBACiAgICAgPC9DbENvbXBpbGU+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQ
bGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcQ1NTUHJv
cGVydHlOYW1lcy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcQ1NTVmFsdWVLZXl3b3Jkcy5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcU2VsZWN0b3JQc2V1ZG9UeXBlRWxlbWVudE1h
cC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVxXZWJD
b3JlXERlcml2ZWRTb3VyY2VzXEpTQU5HTEVJbnN0YW5jZWRBcnJheXMuY3BwIj4KICAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0yMDg4Myw0ICsy
MDg4NCw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgICAg
PEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNcbWFz
bS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCA1ZjUxMjA4ODc2NzVj
ZmY2Mzg2YzgxMTcxMzFkMzllNmRhZDA0NmQ1Li40NTQ5ZjFlYmEyNWU0ODE5MWVlYTBhMGQyOTYx
ZDQ3ODQ4MTQ4MTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC01MTQzLDYgKzUxNDMsOSBAQAogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1B
cmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXENTU1ZhbHVlS2V5d29y
ZHMuY3BwIj4KICAgICAgIDxGaWx0ZXI+RGVyaXZlZFNvdXJjZXM8L0ZpbHRlcj4KICAgICA8L0Ns
Q29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xTZWxlY3RvclBzZXVkb0VsZW1lbnRUeXBlTWFwLmNwcCI+CisgICAgICA8RmlsdGVyPkRlcml2
ZWRTb3VyY2VzPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmNwcCI+
CiAgICAgICA8RmlsdGVyPkRlcml2ZWRTb3VyY2VzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+
CkBAIC0xNTAxMiw0ICsxNTAxNSw0IEBACiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXHdpbjwvRmls
dGVyPgogICAgIDwvTUFTTT4KICAgPC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGNhNjg1Njg4ZTc2YmE2YzZhZGI3NGQx
YjUwMjQzNzg2OTExZjIwM2QuLmQ4YmY4OTA4ZGM3NjhmNTdmYjgwNTc3YzU0NWYxMzRmOWFkZGE3
YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTk3Niw2ICs5NzYsNyBAQAogCQkyNjYwMUVCRjE0QjNCOUFEMDAxMkMwRkUgLyog
UGxhdGZvcm1FdmVudEZhY3RvcnlJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI2NjAxRUJEMTRCM0I5QUQwMDEyQzBGRSAvKiBQbGF0Zm9ybUV2ZW50
RmFjdG9yeUlPUy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTI2NjAxRUMwMTRCM0I5QUQwMDEyQzBGRSAvKiBQbGF0Zm9ybUV2ZW50RmFjdG9yeUlP
Uy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2NjAx
RUJFMTRCM0I5QUQwMDEyQzBGRSAvKiBQbGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5tbSAqLzsgfTsK
IAkJMjY5MjM5OTYxNTA1RTFBQTAwOUU1N0ZDIC8qIEpTSURCVmVyc2lvbkNoYW5nZUV2ZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNjkyMzk5MjE1
MDVFMUFBMDA5RTU3RkMgLyogSlNJREJWZXJzaW9uQ2hhbmdlRXZlbnQuaCAqLzsgfTsKKwkJMjZB
QTBGOUUxOEQyQTE4QjAwNDE5MzgxIC8qIFNlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZBQTBGOUQx
OEQyQTE4QjAwNDE5MzgxIC8qIFNlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuY3BwICovOyB9
OwogCQkyNkI5OTk4RjE4MDNBRTcyMDBEMDExMjEgLyogUmVnaXN0ZXJBbGxvY2F0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2Qjk5OThFMTgwM0FF
NzIwMEQwMTEyMSAvKiBSZWdpc3RlckFsbG9jYXRvci5oICovOyB9OwogCQkyNkI5OTk5MTE4MDNC
M0M5MDBEMDExMjEgLyogU3RhY2tBbGxvY2F0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2Qjk5OTkwMTgwM0IzQzkwMEQwMTEyMSAvKiBTdGFja0Fs
bG9jYXRvci5oICovOyB9OwogCQkyNkI5OTk5MzE4MDNCOUQ5MDBEMDExMjEgLyogRnVuY3Rpb25D
YWxsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNkI5
OTk5MjE4MDNCOUQ5MDBEMDExMjEgLyogRnVuY3Rpb25DYWxsLmggKi87IH07CkBAIC03ODEyLDYg
Kzc4MTMsMTAgQEAKIAkJMjY2MDFFQkUxNEIzQjlBRDAwMTJDMEZFIC8qIFBsYXRmb3JtRXZlbnRG
YWN0b3J5SU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gUGxh
dGZvcm1FdmVudEZhY3RvcnlJT1MubW07IHBhdGggPSBpb3MvUGxhdGZvcm1FdmVudEZhY3RvcnlJ
T1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2OTIzOTkxMTUwNUUxQUEwMDlF
NTdGQyAvKiBKU0lEQlZlcnNpb25DaGFuZ2VFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU0lEQlZlcnNpb25DaGFuZ2VFdmVudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTI2OTIzOTkyMTUwNUUxQUEwMDlFNTdGQyAvKiBKU0lEQlZlcnNp
b25DaGFuZ2VFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0lEQlZl
cnNpb25DaGFuZ2VFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyNkFBMEY5
OTE4RDI5NzNEMDA0MTkzODEgLyogbWFrZVNlbGVjdG9yUHNldWRvRWxlbWVudHNNYXAucHkgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlw
dC5weXRob247IHBhdGggPSBtYWtlU2VsZWN0b3JQc2V1ZG9FbGVtZW50c01hcC5weTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjZBQTBGOUExOEQyOTczRDAwNDE5MzgxIC8qIFNlbGVj
dG9yUHNldWRvRWxlbWVudFR5cGVNYXAuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlw
ZU1hcC5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjZBQTBGOUQxOEQyQTE4QjAw
NDE5MzgxIC8qIFNlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI2QUEwRjlGMThEMkExQzEwMDQxOTM4MSAv
KiBTZWxlY3RvclBzZXVkb0VsZW1lbnRUeXBlTWFwLmdwZXJmICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IFNlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuZ3BlcmY7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTI2Qjk5OThFMTgwM0FFNzIwMEQwMTEyMSAvKiBSZWdpc3RlckFsbG9jYXRv
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZWdpc3RlckFsbG9jYXRvci5o
OyBwYXRoID0gY3Nzaml0L1JlZ2lzdGVyQWxsb2NhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTI2Qjk5OTkwMTgwM0IzQzkwMEQwMTEyMSAvKiBTdGFja0FsbG9jYXRvci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTdGFja0FsbG9jYXRvci5oOyBwYXRoID0g
Y3Nzaml0L1N0YWNrQWxsb2NhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2
Qjk5OTkyMTgwM0I5RDkwMEQwMTEyMSAvKiBGdW5jdGlvbkNhbGwuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gRnVuY3Rpb25DYWxsLmg7IHBhdGggPSBjc3NqaXQvRnVuY3Rpb25D
YWxsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTg4NSw2ICsxNTg5MCw4IEBA
CiAJCQkJNDRBMjhBQUUxMkRGQjhCRjAwQUU5MjNCIC8qIE1hdGhNTE5hbWVzLmggKi8sCiAJCQkJ
NzFFMjE4MzgxNzM1OUZCODAwNkU2RTREIC8qIFBsdWdJbnNSZXNvdXJjZXMuaCAqLywKIAkJCQk3
MUUyMTgzOTE3MzU5RkI4MDA2RTZFNEQgLyogUGx1Z0luc1Jlc291cmNlc0RhdGEuY3BwICovLAor
CQkJCTI2QUEwRjlEMThEMkExOEIwMDQxOTM4MSAvKiBTZWxlY3RvclBzZXVkb0VsZW1lbnRUeXBl
TWFwLmNwcCAqLywKKwkJCQkyNkFBMEY5RjE4RDJBMUMxMDA0MTkzODEgLyogU2VsZWN0b3JQc2V1
ZG9FbGVtZW50VHlwZU1hcC5ncGVyZiAqLywKIAkJCQk0M0I4NUVEMjE4Q0JFQzUyMDBFMzFBRjQg
LyogU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmNwcCAqLywKIAkJCQk0M0I4NUVEMzE4Q0JFQzUyMDBF
MzFBRjQgLyogU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmdwZXJmICovLAogCQkJCTUzRUY3NjZBMTY1
MzBBNjEwMDRDQkU0OSAvKiBTZXR0aW5nc01hY3Jvcy5oICovLApAQCAtMjE2MTUsNiArMjE2MjIs
NyBAQAogCQkJCTRBOUNDODFGMTZCRjlCQjQwMEVDNjQ1QSAvKiBJbnNwZWN0b3JDU1NPTVdyYXBw
ZXJzLmggKi8sCiAJCQkJRTU1RjQ5NzkxNTFCODg4MDAwQkI2N0RCIC8qIExlbmd0aEZ1bmN0aW9u
cy5jcHAgKi8sCiAJCQkJRTVCQTdENjIxNTE0MzdDQTAwRkUxRTNGIC8qIExlbmd0aEZ1bmN0aW9u
cy5oICovLAorCQkJCTI2QUEwRjk5MThEMjk3M0QwMDQxOTM4MSAvKiBtYWtlU2VsZWN0b3JQc2V1
ZG9FbGVtZW50c01hcC5weSAqLywKIAkJCQk0M0I4NUVEMDE4Q0JFQUNFMDBFMzFBRjQgLyogbWFr
ZVNlbGVjdG9yUHNldWRvVHlwZU1hcC5weSAqLywKIAkJCQk5M0NBNEM5QTA5REY5M0ZBMDBERjg2
NzcgLyogbWFrZS1jc3MtZmlsZS1hcnJheXMucGwgKi8sCiAJCQkJOTNDQTRDOUIwOURGOTNGQTAw
REY4Njc3IC8qIG1ha2Vwcm9wLnBsICovLApAQCAtMjE2NjIsNiArMjE2NzAsNyBAQAogCQkJCTQz
MkQzRkU3MThBODY1ODQwMEQ3REMwMyAvKiBTZWxlY3RvckNoZWNrZXJUZXN0RnVuY3Rpb25zLmgg
Ki8sCiAJCQkJNDE1MDcxNTUxNjg1MDY3MzAwQzNDN0IzIC8qIFNlbGVjdG9yRmlsdGVyLmNwcCAq
LywKIAkJCQk0MTUwNzE1NjE2ODUwNjczMDBDM0M3QjMgLyogU2VsZWN0b3JGaWx0ZXIuaCAqLywK
KwkJCQkyNkFBMEY5QTE4RDI5NzNEMDA0MTkzODEgLyogU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlw
ZU1hcC5pbiAqLywKIAkJCQk0M0I4NUVENjE4Q0JFQzk3MDBFMzFBRjQgLyogU2VsZWN0b3JQc2V1
ZG9UeXBlTWFwLmluICovLAogCQkJCTQzMTA3QkUxMThDQzE5REUwMENDMThFOCAvKiBTZWxlY3Rv
clBzZXVkb1R5cGVNYXAuaCAqLywKIAkJCQlFNDdBOTdDRTE2MzA1OUZDMDA1RENEOTkgLyogU3R5
bGVJbnZhbGlkYXRpb25BbmFseXNpcy5jcHAgKi8sCkBAIC0yNzM3Nyw2ICsyNzM4Niw3IEBACiAJ
CQkJNTEwMTk0NDQxODM2RjdFNDAwOTI1NTIzIC8qIElEQkN1cnNvckJhY2tlbmRPcGVyYXRpb25z
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRDcxOUMzMTgxMTA2RTAwMDE2REM1MSAvKiBJREJD
dXJzb3JXaXRoVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFENzE5QzYxODExMDZFMDAw
MTZEQzUxIC8qIElEQkRhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTI2QUEwRjlFMThE
MkExOEIwMDQxOTM4MSAvKiBTZWxlY3RvclBzZXVkb0VsZW1lbnRUeXBlTWFwLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTUxNzcxQzhFMTgyREI0QjcwMDhFNzgxRSAvKiBJREJEYXRhYmFzZUJhY2tl
bmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFENzE5Q0IxODExMDZFMDAwMTZEQzUxIC8qIElE
QkRhdGFiYXNlQ2FsbGJhY2tzSW1wbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUQ3MTlDRTE4
MTEwNkUwMDAxNkRDNTEgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwCmluZGV4IDUzMmU1NWU5ZDBmZTMwMmJjYzA4OWY0ZTMwYzE5YmE0ZjM4YzI2NzQuLjk2YTNk
ZGFhZDU3MTQzNjY5NzFjYmVkNGI2M2Y4ZTQxMzE2MTA0OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xMTczLDggKzEx
NzMsOCBAQCBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OkNTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbihQYXNzUmVmUHRyPE5vZGU+IG4sIGJvbwogICAgICwgbV9yZWZDb3VudCgxKQogewog
ICAgIHVuc2lnbmVkIG5hbWVXaXRob3V0Q29sb25zU3RhcnQgPSBwc2V1ZG9FbGVtZW50TmFtZVsw
XSA9PSAnOicgPyAocHNldWRvRWxlbWVudE5hbWVbMV0gPT0gJzonID8gMiA6IDEpIDogMDsKLSAg
ICBtX3BzZXVkb0VsZW1lbnRTcGVjaWZpZXIgPSBDU1NTZWxlY3Rvcjo6cHNldWRvSWQoQ1NTU2Vs
ZWN0b3I6OnBhcnNlUHNldWRvVHlwZSgKLSAgICAgICAgQXRvbWljU3RyaW5nKHBzZXVkb0VsZW1l
bnROYW1lLnN1YnN0cmluZyhuYW1lV2l0aG91dENvbG9uc1N0YXJ0KSkpKTsKKyAgICBtX3BzZXVk
b0VsZW1lbnRTcGVjaWZpZXIgPSBDU1NTZWxlY3Rvcjo6cHNldWRvSWQoQ1NTU2VsZWN0b3I6OnBh
cnNlUHNldWRvRWxlbWVudFR5cGUoCisgICAgKHBzZXVkb0VsZW1lbnROYW1lLnN1YnN0cmluZ1No
YXJpbmdJbXBsKG5hbWVXaXRob3V0Q29sb25zU3RhcnQpKSkpOwogfQogCiBDU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb246On5DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24oKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NHcmFtbWFyLnkuaW4KaW5kZXggOTFiNTM1NmFiMzk1OTEzNzk0NTg5YzQ2YTAyNTNhNjNi
OWY0MTY0OC4uZjgzY2EzMzI0NjRjNjZhMTU1ZTJiNGI1OGJhNzAxNDQ0Y2FlNzc2MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTR3JhbW1hci55LmluCkBAIC0xMTg0LDI2ICsxMTg0LDEyIEBAIHBzZXVkbzoK
ICAgICAgICAgICAgICQkID0gc2VsZWN0b3IucmVsZWFzZSgpOwogICAgIH0KICAgICB8ICc6JyAn
OicgSURFTlQgewotICAgICAgICAkJCA9IG51bGxwdHI7Ci0gICAgICAgIGF1dG8gc2VsZWN0b3Ig
PSBzdGQ6Om1ha2VfdW5pcXVlPENTU1BhcnNlclNlbGVjdG9yPigpOwotICAgICAgICBzZWxlY3Rv
ci0+c2V0TWF0Y2goQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnQpOwotICAgICAgICAkMy5sb3dl
cigpOwotICAgICAgICBzZWxlY3Rvci0+c2V0UHNldWRvVHlwZVZhbHVlKCQzKTsKLSAgICAgICAg
aWYgKHNlbGVjdG9yLT5wc2V1ZG9UeXBlKCkgIT0gQ1NTU2VsZWN0b3I6OlBzZXVkb1Vua25vd24p
Ci0gICAgICAgICAgICAkJCA9IHNlbGVjdG9yLnJlbGVhc2UoKTsKKyAgICAgICAgJCQgPSBDU1NQ
YXJzZXJTZWxlY3Rvcjo6cGFyc2VQc2V1ZG9FbGVtZW50U2VsZWN0b3IoJDMpOwogICAgIH0KICNp
ZiBFTkFCTEVfVklERU9fVFJBQ0sKICAgICAvLyB1c2VkIGJ5IDo6Y3VlKDpwYXN0LzpmdXR1cmUp
CiAgICAgfCAnOicgJzonIENVRUZVTkNUSU9OIG1heWJlX3NwYWNlIHNpbXBsZV9zZWxlY3Rvcl9s
aXN0IG1heWJlX3NwYWNlICcpJyB7Ci0gICAgICAgICQkID0gbnVsbHB0cjsKLSAgICAgICAgaWYg
KCQ1KSB7Ci0gICAgICAgICAgICBhdXRvIHNlbGVjdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxDU1NQ
YXJzZXJTZWxlY3Rvcj4oKTsKLSAgICAgICAgICAgIHNlbGVjdG9yLT5zZXRNYXRjaChDU1NTZWxl
Y3Rvcjo6UHNldWRvRWxlbWVudCk7Ci0gICAgICAgICAgICBzZWxlY3Rvci0+YWRvcHRTZWxlY3Rv
clZlY3Rvcigqc3RkOjp1bmlxdWVfcHRyPFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFyc2Vy
U2VsZWN0b3I+Pj4oJDUpKTsKLSAgICAgICAgICAgIHNlbGVjdG9yLT5zZXRQc2V1ZG9UeXBlVmFs
dWUoJDMpOwotICAgICAgICAgICAgQVNTRVJUKHNlbGVjdG9yLT5wc2V1ZG9UeXBlKCkgPT0gQ1NT
U2VsZWN0b3I6OlBzZXVkb0N1ZSk7Ci0gICAgICAgICAgICAkJCA9IHNlbGVjdG9yLnJlbGVhc2Uo
KTsKLSAgICAgICAgfQorICAgICAgICAkJCA9IENTU1BhcnNlclNlbGVjdG9yOjpwYXJzZVBzZXVk
b0N1ZUZ1bmN0aW9uU2VsZWN0b3IoJDMsICQ1KTsKICAgICB9CiAjZW5kaWYKICAgICAvLyB1c2Ug
YnkgOi13ZWJraXQtYW55LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
clZhbHVlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmNwcAppbmRl
eCA1MmRmM2YzOGNmZTM1ZWY2YzgyNmQxMjIyNTM4ZWMwMWVkZjM5YzUxLi40ZmIxZGUyNDM0N2E4
ZThiNTAzYWQ1MzYyOWQxMzI1NDNkYTRhYjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyVmFsdWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
VmFsdWVzLmNwcApAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgIkNTU0Z1bmN0aW9uVmFsdWUu
aCIKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkNTU1NlbGVjdG9yTGlzdC5o
IgorI2luY2x1ZGUgIlNlbGVjdG9yUHNldWRvVHlwZU1hcC5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTE2NCw2ICsxNjUsMzggQEAgQ1NTUGFyc2VyU2VsZWN0b3IqIENTU1BhcnNlclNl
bGVjdG9yOjpwYXJzZVBhZ2VQc2V1ZG9TZWxlY3Rvcihjb25zdCBDU1NQYXJzZXJTdHIKICAgICBy
ZXR1cm4gc2VsZWN0b3IucmVsZWFzZSgpOwogfQogCitDU1NQYXJzZXJTZWxlY3RvciogQ1NTUGFy
c2VyU2VsZWN0b3I6OnBhcnNlUHNldWRvRWxlbWVudFNlbGVjdG9yKENTU1BhcnNlclN0cmluZyYg
cHNldWRvVHlwZVN0cmluZykKK3sKKyAgICBwc2V1ZG9UeXBlU3RyaW5nLmxvd2VyKCk7CisgICAg
QXRvbWljU3RyaW5nIG5hbWUgPSBwc2V1ZG9UeXBlU3RyaW5nOworCisgICAgQ1NTU2VsZWN0b3I6
OlBzZXVkb1R5cGUgcHNldWRvVHlwZSA9IENTU1NlbGVjdG9yOjpwYXJzZVBzZXVkb0VsZW1lbnRU
eXBlKG5hbWUpOworICAgIGlmIChwc2V1ZG9UeXBlID09IENTU1NlbGVjdG9yOjpQc2V1ZG9Vbmtu
b3duKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGF1dG8gc2VsZWN0b3IgPSBzdGQ6
Om1ha2VfdW5pcXVlPENTU1BhcnNlclNlbGVjdG9yPigpOworICAgIHNlbGVjdG9yLT5tX3NlbGVj
dG9yLT5tX21hdGNoID0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnQ7CisgICAgc2VsZWN0b3It
Pm1fc2VsZWN0b3ItPm1fcHNldWRvVHlwZSA9IHBzZXVkb1R5cGU7CisgICAgc2VsZWN0b3ItPm1f
c2VsZWN0b3ItPnNldFZhbHVlKG5hbWUpOworICAgIHJldHVybiBzZWxlY3Rvci5yZWxlYXNlKCk7
Cit9CisKK0NTU1BhcnNlclNlbGVjdG9yKiBDU1NQYXJzZXJTZWxlY3Rvcjo6cGFyc2VQc2V1ZG9D
dWVGdW5jdGlvblNlbGVjdG9yKGNvbnN0IENTU1BhcnNlclN0cmluZyYgZnVuY3Rpb25JZGVudGlm
aWVyLCBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPj4qIHBhcnNlZFNl
bGVjdG9yVmVjdG9yKQoreworICAgIEFTU0VSVF9VTlVTRUQoZnVuY3Rpb25JZGVudGlmaWVyLCBT
dHJpbmcoZnVuY3Rpb25JZGVudGlmaWVyKSA9PSAiY3VlKCIpOworCisgICAgc3RkOjp1bmlxdWVf
cHRyPFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFyc2VyU2VsZWN0b3I+Pj4gc2VsZWN0b3JW
ZWN0b3IocGFyc2VkU2VsZWN0b3JWZWN0b3IpOworCisgICAgaWYgKCFzZWxlY3RvclZlY3RvcikK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBhdXRvIHNlbGVjdG9yID0gc3RkOjptYWtl
X3VuaXF1ZTxDU1NQYXJzZXJTZWxlY3Rvcj4oKTsKKyAgICBzZWxlY3Rvci0+bV9zZWxlY3Rvci0+
bV9tYXRjaCA9IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50OworICAgIHNlbGVjdG9yLT5tX3Nl
bGVjdG9yLT5tX3BzZXVkb1R5cGUgPSBDU1NTZWxlY3Rvcjo6UHNldWRvQ3VlOworICAgIHNlbGVj
dG9yLT5hZG9wdFNlbGVjdG9yVmVjdG9yKCpzZWxlY3RvclZlY3Rvcik7CisgICAgcmV0dXJuIHNl
bGVjdG9yLnJlbGVhc2UoKTsKK30KKwogQ1NTUGFyc2VyU2VsZWN0b3I6OkNTU1BhcnNlclNlbGVj
dG9yKCkKICAgICA6IG1fc2VsZWN0b3Ioc3RkOjptYWtlX3VuaXF1ZTxDU1NTZWxlY3Rvcj4oKSkK
IHsKQEAgLTIwMSwzMSArMjM0LDE1IEBAIHZvaWQgQ1NTUGFyc2VyU2VsZWN0b3I6OnNldFBzZXVk
b1R5cGVWYWx1ZShjb25zdCBDU1NQYXJzZXJTdHJpbmcmIHBzZXVkb1R5cGVTdHJpCiAgICAgQXRv
bWljU3RyaW5nIG5hbWUgPSBwc2V1ZG9UeXBlU3RyaW5nOwogICAgIG1fc2VsZWN0b3ItPnNldFZh
bHVlKG5hbWUpOwogCi0gICAgQ1NTU2VsZWN0b3I6OlBzZXVkb1R5cGUgcHNldWRvVHlwZSA9IENT
U1NlbGVjdG9yOjpwYXJzZVBzZXVkb1R5cGUobmFtZSk7Ci0gICAgYm9vbCBlbGVtZW50ID0gZmFs
c2U7IC8vIHBzZXVkby1lbGVtZW50Ci0gICAgYm9vbCBjb21wYXQgPSBmYWxzZTsgLy8gc2luZ2xl
IGNvbG9uIGNvbXBhdGJpbGl0eSBtb2RlCisgICAgQ1NTU2VsZWN0b3I6OlBzZXVkb1R5cGUgcHNl
dWRvVHlwZSA9IHBhcnNlUHNldWRvVHlwZVN0cmluZygqbmFtZS5pbXBsKCkpOworICAgIGJvb2wg
aXNDb21wYXRpYmlsaXR5RWxlbWVudFR5cGUgPSBmYWxzZTsgLy8gc2luZ2xlIGNvbG9uIGNvbXBh
dGJpbGl0eSBtb2RlCiAKICAgICBzd2l0Y2ggKHBzZXVkb1R5cGUpIHsKICAgICBjYXNlIENTU1Nl
bGVjdG9yOjpQc2V1ZG9BZnRlcjoKICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9CZWZvcmU6
CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRmlyc3RMZXR0ZXI6CiAgICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6UHNldWRvRmlyc3RMaW5lOgotICAgICAgICBjb21wYXQgPSB0cnVlOwotICAgICAg
ICBGQUxMVEhST1VHSDsKLSNpZiBFTkFCTEUoVklERU9fVFJBQ0spCi0gICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6UHNldWRvQ3VlOgotI2VuZGlmCi0gICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvUmVz
aXplcjoKLSAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9TY3JvbGxiYXI6Ci0gICAgY2FzZSBD
U1NTZWxlY3Rvcjo6UHNldWRvU2Nyb2xsYmFyQ29ybmVyOgotICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OlBzZXVkb1Njcm9sbGJhckJ1dHRvbjoKLSAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9TY3Jv
bGxiYXJUaHVtYjoKLSAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9TY3JvbGxiYXJUcmFjazoK
LSAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9TY3JvbGxiYXJUcmFja1BpZWNlOgotICAgIGNh
c2UgQ1NTU2VsZWN0b3I6OlBzZXVkb1NlbGVjdGlvbjoKLSAgICBjYXNlIENTU1NlbGVjdG9yOjpQ
c2V1ZG9Vc2VyQWdlbnRDdXN0b21FbGVtZW50OgotICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVk
b1dlYktpdEN1c3RvbUVsZW1lbnQ6Ci0gICAgICAgIGVsZW1lbnQgPSB0cnVlOworICAgICAgICBp
c0NvbXBhdGliaWxpdHlFbGVtZW50VHlwZSA9IHRydWU7CiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgQ1NTU2VsZWN0b3I6OlBzZXVkb1Vua25vd246CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNl
dWRvRW1wdHk6CkBAIC0yOTEsNiArMzA4LDIwIEBAIHZvaWQgQ1NTUGFyc2VyU2VsZWN0b3I6OnNl
dFBzZXVkb1R5cGVWYWx1ZShjb25zdCBDU1NQYXJzZXJTdHJpbmcmIHBzZXVkb1R5cGVTdHJpCiAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvUGFzdDoKICNlbmRpZgogICAgICAgICBicmVhazsK
KyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ3Vl
OgorI2VuZGlmCisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvUmVzaXplcjoKKyAgICBjYXNl
IENTU1NlbGVjdG9yOjpQc2V1ZG9TY3JvbGxiYXI6CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNl
dWRvU2Nyb2xsYmFyQ29ybmVyOgorICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb1Njcm9sbGJh
ckJ1dHRvbjoKKyAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9TY3JvbGxiYXJUaHVtYjoKKyAg
ICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9TY3JvbGxiYXJUcmFjazoKKyAgICBjYXNlIENTU1Nl
bGVjdG9yOjpQc2V1ZG9TY3JvbGxiYXJUcmFja1BpZWNlOgorICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OlBzZXVkb1NlbGVjdGlvbjoKKyAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9Vc2VyQWdlbnRD
dXN0b21FbGVtZW50OgorICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb1dlYktpdEN1c3RvbUVs
ZW1lbnQ6CisKICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9GaXJzdDoKICAgICBjYXNlIENT
U1NlbGVjdG9yOjpQc2V1ZG9MZWZ0OgogICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb1JpZ2h0
OgpAQCAtMjk5LDEzICszMzAsOCBAQCB2b2lkIENTU1BhcnNlclNlbGVjdG9yOjpzZXRQc2V1ZG9U
eXBlVmFsdWUoY29uc3QgQ1NTUGFyc2VyU3RyaW5nJiBwc2V1ZG9UeXBlU3RyaQogICAgIH0KIAog
ICAgIHVuc2lnbmVkIG1hdGNoVHlwZSA9IG1fc2VsZWN0b3ItPm1fbWF0Y2g7Ci0gICAgaWYgKG1h
dGNoVHlwZSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3MgJiYgZWxlbWVudCkgewotICAgICAg
ICBpZiAoIWNvbXBhdCkKLSAgICAgICAgICAgIHBzZXVkb1R5cGUgPSBDU1NTZWxlY3Rvcjo6UHNl
dWRvVW5rbm93bjsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbWF0Y2hUeXBlID0gQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0VsZW1lbnQ7Ci0gICAgfSBlbHNlIGlmIChtYXRjaFR5cGUgPT0gQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0VsZW1lbnQgJiYgIWVsZW1lbnQpCi0gICAgICAgIHBzZXVkb1R5cGUgPSBD
U1NTZWxlY3Rvcjo6UHNldWRvVW5rbm93bjsKKyAgICBpZiAoaXNDb21wYXRpYmlsaXR5RWxlbWVu
dFR5cGUpCisgICAgICAgIG1hdGNoVHlwZSA9IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50Owog
CiAgICAgbV9zZWxlY3Rvci0+bV9tYXRjaCA9IG1hdGNoVHlwZTsKICAgICBtX3NlbGVjdG9yLT5t
X3BzZXVkb1R5cGUgPSBwc2V1ZG9UeXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlclZhbHVlcy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5o
CmluZGV4IDZiMWIwOWRkMjNlMzM2NDQzYzQ4MjY2ZWVlNzQ1ZGMzNDZhOThmMzYuLjFkOWFkMTUz
ZTU4NjEzZDhiM2RhZDk1ODU3OTczNWFhZTJiMWY3ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyVmFsdWVzLmgKQEAgLTE3Miw2ICsxNzIsOCBAQCBjbGFzcyBDU1NQYXJzZXJTZWxlY3RvciB7
CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIENTU1Bh
cnNlclNlbGVjdG9yKiBwYXJzZVBhZ2VQc2V1ZG9TZWxlY3Rvcihjb25zdCBDU1NQYXJzZXJTdHJp
bmcmIHBzZXVkb1R5cGVTdHJpbmcpOworICAgIHN0YXRpYyBDU1NQYXJzZXJTZWxlY3RvciogcGFy
c2VQc2V1ZG9FbGVtZW50U2VsZWN0b3IoQ1NTUGFyc2VyU3RyaW5nJiBwc2V1ZG9UeXBlU3RyaW5n
KTsKKyAgICBzdGF0aWMgQ1NTUGFyc2VyU2VsZWN0b3IqIHBhcnNlUHNldWRvQ3VlRnVuY3Rpb25T
ZWxlY3Rvcihjb25zdCBDU1NQYXJzZXJTdHJpbmcmIGZ1bmN0aW9uSWRlbnRpZmllciwgVmVjdG9y
PHN0ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4+KiBzZWxlY3RvclZlY3Rvcik7CiAK
ICAgICBDU1NQYXJzZXJTZWxlY3RvcigpOwogICAgIGV4cGxpY2l0IENTU1BhcnNlclNlbGVjdG9y
KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4
IDQ4Y2U2ODEzZTQyMzgzZTIxZjU3ODNjMDExM2JmZmM4MzEzYTk5MGEuLjA0ZTRmNmUyYmQ2MThl
YmYwZDFlNjY0N2M2ZWUxN2EzNDk4YTVlOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNw
cApAQCAtMjQ5LDE5ICsyNDksMTYgQEAgUHNldWRvSWQgQ1NTU2VsZWN0b3I6OnBzZXVkb0lkKFBz
ZXVkb1R5cGUgdHlwZSkKICAgICByZXR1cm4gTk9QU0VVRE87CiB9CiAKLUNTU1NlbGVjdG9yOjpQ
c2V1ZG9UeXBlIENTU1NlbGVjdG9yOjpwYXJzZVBzZXVkb1R5cGUoY29uc3QgU3RyaW5nJiBuYW1l
KQorQ1NTU2VsZWN0b3I6OlBzZXVkb1R5cGUgQ1NTU2VsZWN0b3I6OnBhcnNlUHNldWRvRWxlbWVu
dFR5cGUoY29uc3QgU3RyaW5nJiBuYW1lKQogewogICAgIGlmIChuYW1lLmlzTnVsbCgpKQogICAg
ICAgICByZXR1cm4gUHNldWRvVW5rbm93bjsKIAotICAgIFBzZXVkb1R5cGUgdHlwZSA9IHBhcnNl
UHNldWRvVHlwZVN0cmluZygqbmFtZS5pbXBsKCkpOworICAgIFBzZXVkb1R5cGUgdHlwZSA9IHBh
cnNlUHNldWRvRWxlbWVudFN0cmluZygqbmFtZS5pbXBsKCkpOwogICAgIGlmICh0eXBlID09IFBz
ZXVkb1Vua25vd24pIHsKICAgICAgICAgaWYgKG5hbWUuc3RhcnRzV2l0aCgiLXdlYmtpdC0iKSkK
ICAgICAgICAgICAgIHR5cGUgPSBQc2V1ZG9XZWJLaXRDdXN0b21FbGVtZW50OwogCi0gICAgICAg
IGlmIChuYW1lID09ICJjdWUiKQotICAgICAgICAgICAgdHlwZSA9IFBzZXVkb1dlYktpdEN1c3Rv
bUVsZW1lbnQ7Ci0KICAgICAgICAgaWYgKG5hbWUuc3RhcnRzV2l0aCgieC0iKSkKICAgICAgICAg
ICAgIHR5cGUgPSBQc2V1ZG9Vc2VyQWdlbnRDdXN0b21FbGVtZW50OwogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1NlbGVjdG9yLmgKaW5kZXggNjlmZTI3OWFmZGFhYTgwZTIzOGU1ZTAzNDgzZmE2NmQ0NTll
ZTdmMi4uZjI4Y2Q3ZWRjNTYwYzBhZjk1ZDQyYTUzYjc4MjlhMTc1OGMzYjliNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1NlbGVjdG9yLmgKQEAgLTE4Niw3ICsxODYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UHNldWRvVHlwZT4obV9wc2V1ZG9UeXBl
KTsKICAgICAgICAgfQogCi0gICAgICAgIHN0YXRpYyBQc2V1ZG9UeXBlIHBhcnNlUHNldWRvVHlw
ZShjb25zdCBTdHJpbmcmKTsKKyAgICAgICAgc3RhdGljIFBzZXVkb1R5cGUgcGFyc2VQc2V1ZG9F
bGVtZW50VHlwZShjb25zdCBTdHJpbmcmKTsKICAgICAgICAgc3RhdGljIFBzZXVkb0lkIHBzZXVk
b0lkKFBzZXVkb1R5cGUpOwogCiAgICAgICAgIC8vIFNlbGVjdG9ycyBhcmUga2VwdCBpbiBhbiBh
cnJheSBieSBDU1NTZWxlY3Rvckxpc3QuIFRoZSBuZXh0IGNvbXBvbmVudCBvZiB0aGUgc2VsZWN0
b3IgaXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBzZXVkb0VsZW1l
bnRUeXBlTWFwLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNldWRvRWxlbWVudFR5
cGVNYXAuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZWM2ZGZlNTQ4NTdjNDc5ODhiMTQzNTBhYmQyZWNmN2U4NDIy
ODNlMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBzZXVk
b0VsZW1lbnRUeXBlTWFwLmluCkBAIC0wLDAgKzEsMTUgQEAKK2FmdGVyCitiZWZvcmUKKyNpZiBF
TkFCTEUoVklERU9fVFJBQ0spCitjdWUsIFBzZXVkb1dlYktpdEN1c3RvbUVsZW1lbnQKKyNlbmRp
ZgorZmlyc3QtbGV0dGVyCitmaXJzdC1saW5lCistd2Via2l0LXJlc2l6ZXIKKy13ZWJraXQtc2Ny
b2xsYmFyCistd2Via2l0LXNjcm9sbGJhci1idXR0b24KKy13ZWJraXQtc2Nyb2xsYmFyLWNvcm5l
cgorLXdlYmtpdC1zY3JvbGxiYXItdGh1bWIKKy13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrCistd2Vi
a2l0LXNjcm9sbGJhci10cmFjay1waWVjZQorc2VsZWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmgKaW5kZXggMmQ4ZjNlZTA1YTUxMmE1NjczMmQ3NDJkZTll
ZGZhOWVkZDBkMTBhMC4uN2QyNjIzYTcwM2YxZTA5YmQzYmJlYWRkMTFhYmQ2NDNlYjc1NDAxYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNldWRvVHlwZU1hcC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBzZXVkb1R5cGVNYXAuaApAQCAtMzIsNiAr
MzIsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBDU1NTZWxlY3Rvcjo6UHNldWRvVHlwZSBw
YXJzZVBzZXVkb1R5cGVTdHJpbmcoY29uc3QgU3RyaW5nSW1wbCYgcHNldWRvVHlwZVN0cmluZyk7
CitDU1NTZWxlY3Rvcjo6UHNldWRvVHlwZSBwYXJzZVBzZXVkb0VsZW1lbnRTdHJpbmcoY29uc3Qg
U3RyaW5nSW1wbCYgcHNldWRvVHlwZVN0cmluZyk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNldWRvVHlwZU1hcC5p
biBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBzZXVkb1R5cGVNYXAuaW4KaW5kZXggNDQ4
Y2Y4MGEwYzViZWZiM2RhYWI0MjlhN2Y1YTIyMGIxNzk0ODNkZC4uYmY5M2E2MTQwYjZmZDZkMTE1
MDU2OGQyMDZiMWNkZWM4MTVjNjViMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1Nl
bGVjdG9yUHNldWRvVHlwZU1hcC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JQ
c2V1ZG9UeXBlTWFwLmluCkBAIC00LDEzICs0LDYgQEAKIC13ZWJraXQtYXV0b2ZpbGwKIC13ZWJr
aXQtZHJhZwogLXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWEKLS13ZWJraXQtcmVzaXplcgotLXdlYmtp
dC1zY3JvbGxiYXIKLS13ZWJraXQtc2Nyb2xsYmFyLWJ1dHRvbgotLXdlYmtpdC1zY3JvbGxiYXIt
Y29ybmVyCi0td2Via2l0LXNjcm9sbGJhci10aHVtYgotLXdlYmtpdC1zY3JvbGxiYXItdHJhY2sK
LS13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLXBpZWNlCiBhY3RpdmUKIGFmdGVyCiBiZWZvcmUKQEAg
LTUzLDcgKzQ2LDYgQEAgcmVhZC13cml0ZQogcmVxdWlyZWQKIHJvb3QKIHNjb3BlCi1zZWxlY3Rp
b24KIHNpbmdsZS1idXR0b24KIHN0YXJ0CiB0YXJnZXQKQEAgLTcwLDcgKzYyLDYgQEAgd2luZG93
LWluYWN0aXZlCiAjZW5kaWYKIAogI2lmIEVOQUJMRShWSURFT19UUkFDSykKLWN1ZSgKIGZ1dHVy
ZQogcGFzdAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3Mg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKaW5kZXggMTE5YzA1ZTA3NjFkNzEwZDZiOWZj
NDBhODI2ZmUzYzJkZjI2MDFlZi4uMmMzZDBiOTk1NDQzZjRiMzYwMmRiM2Q3ZGRkZmU3NzgxZGNi
ZDUyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9odG1sLmNzcwpAQCAtMTEyLDExICsxMTIsMTEgQEAgcSB7CiAgICAgZGlz
cGxheTogaW5saW5lCiB9CiAKLXE6YmVmb3JlIHsKK3E6OmJlZm9yZSB7CiAgICAgY29udGVudDog
b3Blbi1xdW90ZTsKIH0KIAotcTphZnRlciB7CitxOjphZnRlciB7CiAgICAgY29udGVudDogY2xv
c2UtcXVvdGU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlU2VsZWN0
b3JQc2V1ZG9FbGVtZW50c01hcC5weSBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlU2VsZWN0b3JQ
c2V1ZG9FbGVtZW50c01hcC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYzQ2ZTM3Mzg5OGI4YzAzMTdhYTk4YzUy
OWYwMmEzNjZjZWY1MDA0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21h
a2VTZWxlY3RvclBzZXVkb0VsZW1lbnRzTWFwLnB5CkBAIC0wLDAgKzEsMjEyIEBACisjIS91c3Iv
YmluL2VudiBweXRob24KKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0Ogor
IyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworIyBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyMgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorIyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorIyBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorIyBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyMgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyMgQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyMgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorIyBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisK
K2ltcG9ydCBvcworaW1wb3J0IHN5cworCisKK2RlZiBlbnVtZXJhYmxlUHNldWRvVHlwZShzdHJp
bmdQc2V1ZG9UeXBlKToKKyAgICBvdXRwdXQgPSBbJ0NTU1NlbGVjdG9yOjpQc2V1ZG8nXQorCisg
ICAgaWYgc3RyaW5nUHNldWRvVHlwZS5lbmRzd2l0aCgnKCcpOgorICAgICAgICBzdHJpbmdQc2V1
ZG9UeXBlID0gc3RyaW5nUHNldWRvVHlwZVs6LTFdCisKKyAgICB3ZWJraXRQcmVmaXggPSAnLXdl
YmtpdC0nCisgICAgaWYgKHN0cmluZ1BzZXVkb1R5cGUuc3RhcnRzd2l0aCh3ZWJraXRQcmVmaXgp
KToKKyAgICAgICAgc3RyaW5nUHNldWRvVHlwZSA9IHN0cmluZ1BzZXVkb1R5cGVbbGVuKHdlYmtp
dFByZWZpeCk6XQorCisgICAga2h0bWxQcmVmaXggPSAnLWtodG1sLScKKyAgICBpZiAoc3RyaW5n
UHNldWRvVHlwZS5zdGFydHN3aXRoKGtodG1sUHJlZml4KSk6CisgICAgICAgIHN0cmluZ1BzZXVk
b1R5cGUgPSBzdHJpbmdQc2V1ZG9UeXBlW2xlbihraHRtbFByZWZpeCk6XQorCisgICAgc3Vic3Ry
aW5nX3N0YXJ0ID0gMAorICAgIG5leHRfZGFzaF9wb3NpdGlvbiA9IHN0cmluZ1BzZXVkb1R5cGUu
ZmluZCgnLScpCisgICAgd2hpbGUgKG5leHRfZGFzaF9wb3NpdGlvbiAhPSAtMSk6CisgICAgICAg
IG91dHB1dC5hcHBlbmQoc3RyaW5nUHNldWRvVHlwZVtzdWJzdHJpbmdfc3RhcnRdLnVwcGVyKCkp
CisgICAgICAgIG91dHB1dC5hcHBlbmQoc3RyaW5nUHNldWRvVHlwZVtzdWJzdHJpbmdfc3RhcnQg
KyAxOm5leHRfZGFzaF9wb3NpdGlvbl0pCisgICAgICAgIHN1YnN0cmluZ19zdGFydCA9IG5leHRf
ZGFzaF9wb3NpdGlvbiArIDEKKyAgICAgICAgbmV4dF9kYXNoX3Bvc2l0aW9uID0gc3RyaW5nUHNl
dWRvVHlwZS5maW5kKCctJywgc3Vic3RyaW5nX3N0YXJ0KQorCisgICAgb3V0cHV0LmFwcGVuZChz
dHJpbmdQc2V1ZG9UeXBlW3N1YnN0cmluZ19zdGFydF0udXBwZXIoKSkKKyAgICBvdXRwdXQuYXBw
ZW5kKHN0cmluZ1BzZXVkb1R5cGVbc3Vic3RyaW5nX3N0YXJ0ICsgMTpdKQorICAgIHJldHVybiAn
Jy5qb2luKG91dHB1dCkKKworCitkZWYgZXhwYW5kX2lmZGVmX2NvbmRpdGlvbihjb25kaXRpb24p
OgorICAgIHJldHVybiBjb25kaXRpb24ucmVwbGFjZSgnKCcsICdfJykucmVwbGFjZSgnKScsICcn
KQorCitvdXRwdXRfZmlsZSA9IG9wZW4oJ1NlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuZ3Bl
cmYnLCAndycpCisKK291dHB1dF9maWxlLndyaXRlKCIiIgorJXsKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBU
aGlzIGZpbGUgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBTZWxlY3RvclBzZXVkb1R5
cGVNYXAuaW4gYnkgbWFrZXByb3AsIGRvIG5vdCBlZGl0IGJ5IGhhbmQuCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJTZWxlY3RvclBzZXVkb1R5cGVNYXAuaCIKKworI2lmIGRlZmlu
ZWQoX19jbGFuZ19fKQorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xh
bmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV3Vua25vd24tcHJhZ21hcyIKKyNwcmFnbWEgY2xhbmcg
ZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJlY2F0ZWQtcmVnaXN0ZXIiCisjcHJhZ21hIGNsYW5n
IGRpYWdub3N0aWMgaWdub3JlZCAiLVdpbXBsaWNpdC1mYWxsdGhyb3VnaCIKKyNlbmRpZgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBTZWxlY3RvclBzZXVkb1R5cGVFbnRyeSB7Cisg
ICAgY29uc3QgY2hhciogbmFtZTsKKyAgICBDU1NTZWxlY3Rvcjo6UHNldWRvVHlwZSB0eXBlOwor
fTsKKworJX0KKyVzdHJ1Y3QtdHlwZQorJWRlZmluZSBpbml0aWFsaXplci1zdWZmaXggLENTU1Nl
bGVjdG9yOjpQc2V1ZG9Vbmtub3duCislZGVmaW5lIGNsYXNzLW5hbWUgU2VsZWN0b3JQc2V1ZG9F
bGVtZW50VHlwZU1hcEhhc2gKKyVvbWl0LXN0cnVjdC10eXBlCislbGFuZ3VhZ2U9QysrCislcmVh
ZG9ubHktdGFibGVzCislZ2xvYmFsLXRhYmxlCislY29tcGFyZS1zdHJuY21wCislZW51bQorCitz
dHJ1Y3QgU2VsZWN0b3JQc2V1ZG9UeXBlRW50cnk7CisKKyUlCisiIiIpCisKK3dlYmNvcmVfZGVm
aW5lcyA9IFtpLnN0cmlwKCkgZm9yIGkgaW4gc3lzLmFyZ3ZbLTFdLnNwbGl0KCcgJyldCisKK2xv
bmdlc3Rfa2V5d29yZCA9IDAKKworaWdub3JlX3VudGlsX2VuZGlmID0gRmFsc2UKK2lucHV0X2Zp
bGUgPSBvcGVuKHN5cy5hcmd2WzFdLCAncicpCitmb3IgbGluZSBpbiBpbnB1dF9maWxlOgorICAg
IGxpbmUgPSBsaW5lLnN0cmlwKCkKKyAgICBpZiBub3QgbGluZToKKyAgICAgICAgY29udGludWUK
KworICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnI2lmICcpOgorICAgICAgICBjb25kaXRpb24gPSBs
aW5lWzQ6XS5zdHJpcCgpCisgICAgICAgIGlmIGV4cGFuZF9pZmRlZl9jb25kaXRpb24oY29uZGl0
aW9uKSBub3QgaW4gd2ViY29yZV9kZWZpbmVzOgorICAgICAgICAgICAgaWdub3JlX3VudGlsX2Vu
ZGlmID0gVHJ1ZQorICAgICAgICBjb250aW51ZQorCisgICAgaWYgbGluZS5zdGFydHN3aXRoKCcj
ZW5kaWYnKToKKyAgICAgICAgaWdub3JlX3VudGlsX2VuZGlmID0gRmFsc2UKKyAgICAgICAgY29u
dGludWUKKworICAgIGlmIGlnbm9yZV91bnRpbF9lbmRpZjoKKyAgICAgICAgY29udGludWUKKwor
ICAgIGtleXdvcmRfZGVmaW5pdGlvbiA9IGxpbmUuc3BsaXQoJywnKQorICAgIGlmIGxlbihrZXl3
b3JkX2RlZmluaXRpb24pID09IDE6CisgICAgICAgIGtleXdvcmQgPSBrZXl3b3JkX2RlZmluaXRp
b25bMF0uc3RyaXAoKQorICAgICAgICBwc2V1ZG9fZWxlbWVudF9lbnVtX3ZhbHVlID0gZW51bWVy
YWJsZVBzZXVkb1R5cGUoa2V5d29yZCkKKyAgICBlbHNlOgorICAgICAgICBrZXl3b3JkID0ga2V5
d29yZF9kZWZpbml0aW9uWzBdLnN0cmlwKCkKKyAgICAgICAgcHNldWRvX2VsZW1lbnRfZW51bV92
YWx1ZSA9ICJDU1NTZWxlY3Rvcjo6IiArIGtleXdvcmRfZGVmaW5pdGlvblsxXS5zdHJpcCgpCisK
KyAgICBvdXRwdXRfZmlsZS53cml0ZSgnIiVzIiwgJXNcbicgJSAoa2V5d29yZCwgcHNldWRvX2Vs
ZW1lbnRfZW51bV92YWx1ZSkpCisgICAgbG9uZ2VzdF9rZXl3b3JkID0gbWF4KGxvbmdlc3Rfa2V5
d29yZCwgbGVuKGtleXdvcmQpKQorCitvdXRwdXRfZmlsZS53cml0ZSgiIiIlJQorCitzdGF0aWMg
aW5saW5lIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlIHBhcnNlUHNldWRvRWxlbWVudFN0cmluZyhj
b25zdCBMQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQoreworICAgIGlmIChjb25z
dCBTZWxlY3RvclBzZXVkb1R5cGVFbnRyeSogZW50cnkgPSBTZWxlY3RvclBzZXVkb0VsZW1lbnRU
eXBlTWFwSGFzaDo6aW5fd29yZF9zZXQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oY2hh
cmFjdGVycyksIGxlbmd0aCkpCisgICAgICAgIHJldHVybiBlbnRyeS0+dHlwZTsKKyAgICByZXR1
cm4gQ1NTU2VsZWN0b3I6OlBzZXVkb1Vua25vd247Cit9IiIiKQorCitvdXRwdXRfZmlsZS53cml0
ZSgiIiIKKworc3RhdGljIGlubGluZSBDU1NTZWxlY3Rvcjo6UHNldWRvVHlwZSBwYXJzZVBzZXVk
b0VsZW1lbnRTdHJpbmcoY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkK
K3sKKyAgICBjb25zdCB1bnNpZ25lZCBtYXhLZXl3b3JkTGVuZ3RoID0gJXM7CisgICAgTENoYXIg
YnVmZmVyW21heEtleXdvcmRMZW5ndGhdOworICAgIGlmIChsZW5ndGggPiBtYXhLZXl3b3JkTGVu
Z3RoKQorICAgICAgICByZXR1cm4gQ1NTU2VsZWN0b3I6OlBzZXVkb1Vua25vd247CisKKyAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgVUNoYXIgY2hh
cmFjdGVyID0gY2hhcmFjdGVyc1tpXTsKKyAgICAgICAgaWYgKGNoYXJhY3RlciAmIH4weGZmKQor
ICAgICAgICAgICAgcmV0dXJuIENTU1NlbGVjdG9yOjpQc2V1ZG9Vbmtub3duOworCisgICAgICAg
IGJ1ZmZlcltpXSA9IHN0YXRpY19jYXN0PExDaGFyPihjaGFyYWN0ZXIpOworICAgIH0KKyAgICBy
ZXR1cm4gcGFyc2VQc2V1ZG9FbGVtZW50U3RyaW5nKGJ1ZmZlciwgbGVuZ3RoKTsKK30KKyIiIiAl
IGxvbmdlc3Rfa2V5d29yZCkKKworb3V0cHV0X2ZpbGUud3JpdGUoIiIiCitDU1NTZWxlY3Rvcjo6
UHNldWRvVHlwZSBwYXJzZVBzZXVkb0VsZW1lbnRTdHJpbmcoY29uc3QgU3RyaW5nSW1wbCYgcHNl
dWRvVHlwZVN0cmluZykKK3sKKyAgICBpZiAocHNldWRvVHlwZVN0cmluZy5pczhCaXQoKSkKKyAg
ICAgICAgcmV0dXJuIHBhcnNlUHNldWRvRWxlbWVudFN0cmluZyhwc2V1ZG9UeXBlU3RyaW5nLmNo
YXJhY3RlcnM4KCksIHBzZXVkb1R5cGVTdHJpbmcubGVuZ3RoKCkpOworICAgIHJldHVybiBwYXJz
ZVBzZXVkb0VsZW1lbnRTdHJpbmcocHNldWRvVHlwZVN0cmluZy5jaGFyYWN0ZXJzMTYoKSwgcHNl
dWRvVHlwZVN0cmluZy5sZW5ndGgoKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2lmIGRlZmluZWQoX19jbGFuZ19fKQorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorI2Vu
ZGlmCisKKyIiIikKK291dHB1dF9maWxlLmNsb3NlKCkKKworZ3BlcmZfY29tbWFuZCA9ICdncGVy
ZicKK2lmICdHUEVSRicgaW4gb3MuZW52aXJvbjoKKyAgICBncGVyZl9jb21tYW5kID0gb3MuZW52
aXJvblsnR1BFUkYnXQorCitncGVyZl9yZXR1cm4gPSBvcy5zeXN0ZW0oIiVzIC0ta2V5LXBvc2l0
aW9ucz0nKicgLW0gMTAgLXMgMiBTZWxlY3RvclBzZXVkb0VsZW1lbnRUeXBlTWFwLmdwZXJmIC0t
b3V0cHV0LWZpbGU9U2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5jcHAiICUgZ3BlcmZfY29t
bWFuZCkKK2lmIGdwZXJmX3JldHVybiAhPSAwOgorICAgIHByaW50KCJFcnJvciB3aGVuIGdlbmVy
YXRpbmcgU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5jcHAgZnJvbSBTZWxlY3RvclBzZXVk
b0VsZW1lbnRUeXBlTWFwLmdwZXJmIDooIikKKyAgICBzeXMuZXhpdChncGVyZl9yZXR1cm4pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggMjE3Mzk2ZTY0OWRlOGJlMDI3NmIzYzQ0ZWI5
OWE3NjU2MDA4OWI1ZC4uZDdmNTNjMGRlMDE5M2M1MTc4ZmE5Mzc2YTE1MTUxZmY3ZmMwOTI2YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtMTM2OSw3ICsxMzY5LDcgQEAgUGFzc1Jl
ZlB0cjxDU1NSdWxlTGlzdD4gRE9NV2luZG93OjpnZXRNYXRjaGVkQ1NTUnVsZXMoRWxlbWVudCog
ZWxlbWVudCwgY29uc3QgU3QKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICB1bnNpZ25lZCBjb2xv
blN0YXJ0ID0gcHNldWRvRWxlbWVudFswXSA9PSAnOicgPyAocHNldWRvRWxlbWVudFsxXSA9PSAn
OicgPyAyIDogMSkgOiAwOwotICAgIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlIHBzZXVkb1R5cGUg
PSBDU1NTZWxlY3Rvcjo6cGFyc2VQc2V1ZG9UeXBlKEF0b21pY1N0cmluZyhwc2V1ZG9FbGVtZW50
LnN1YnN0cmluZyhjb2xvblN0YXJ0KSkpOworICAgIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlIHBz
ZXVkb1R5cGUgPSBDU1NTZWxlY3Rvcjo6cGFyc2VQc2V1ZG9FbGVtZW50VHlwZShwc2V1ZG9FbGVt
ZW50LnN1YnN0cmluZ1NoYXJpbmdJbXBsKGNvbG9uU3RhcnQpKTsKICAgICBpZiAocHNldWRvVHlw
ZSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvVW5rbm93biAmJiAhcHNldWRvRWxlbWVudC5pc0VtcHR5
KCkpCiAgICAgICAgIHJldHVybiAwOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226989</attachid>
            <date>2014-03-17 17:51:57 -0700</date>
            <delta_ts>2014-03-19 13:55:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130370-20140317175135.patch</filename>
            <type>text/plain</type>
            <size>35137</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1NzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjM1MjIwZjM3MGNlMDk5
ODg0ZGZhNWEyYmI1ODkwZDMwYjZhNTRlNS4uMTdmMzI4Mzg3ZWRjZjFkYTg1MGQzOTJiN2JlY2Y3
NzdhNzVkZTk0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE0LTAzLTE3ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFBzZXVkbyB0eXBl
IGNsZWFudXAgcGFydCAyOiBzcGxpdCBwc2V1ZG8gZWxlbWVudHMgcGFyc2luZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwMzcwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2l0aCB0aGlzIHBhdGNoLCBw
c2V1ZG8gZWxlbWVudHMgYXJlIGhhbmRsZWQgc2VwYXJhdGVseS4gVGhlIG9ubHkgdGhpbmcgbGVm
dCBpbgorICAgICAgICB0aGUgb2xkIHBhdGggaXMgY29tcGF0aWJpbGl0eSBwc2V1ZG8gZWxlbWVu
dHMgYW5kIHBzZXVkbyBjbGFzc2VzLgorCisgICAgICAgIFRoZSBsaXN0IG9mIHNwZWNpYWwgcHNl
dWRvIGVsZW1lbnRzIGlzIG5vdyBzZXBhcmF0ZWQgYW5kIGlzIHN0b3JlZCBpbiBTZWxlY3RvclBz
ZXVkb0VsZW1lbnRUeXBlTWFwLmluLgorICAgICAgICBUaGUgc2NyaXB0IG1ha2VTZWxlY3RvclBz
ZXVkb0VsZW1lbnRzTWFwLnB5IHRha2VzIHRoYXQgbGlzdCB0byBtYWtlIHRoZSBwc2V1ZG8gZWxl
bWVudHMgaGFzaCB0YWJsZS4KKworICAgICAgICBUaGUgb3RoZXIgcHNldWRvIGVsZW1lbnRzIGFy
ZSB0aGUgcHJlZml4ZWQgb25lcywgdGhleSBhcmUgZmlsdGVyZWQgaW4gQ1NTU2VsZWN0b3I6OnBh
cnNlUHNldWRvRWxlbWVudFR5cGUoKS4KKworICAgICAgICBBbGwgdGhlIG5vbi1jb21wYXRpYmls
aXR5IHNlbGVjdG9ycyBhcmUgcmVtb3ZlZCBmcm9tIFNlbGVjdG9yUHNldWRvVHlwZU1hcC5pbi4g
Q1NTUGFyc2VyU2VsZWN0b3I6OnNldFBzZXVkb1R5cGVWYWx1ZSgpCisgICAgICAgIGlzIHVwZGF0
ZWQgYWNjb3JkaW5nbHkuIFRoZSBuZXh0IHN0ZXAgd2lsbCBiZSB0byBjbGVhbiB0aGF0IHBhcnQu
CisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5t
YWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpDU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb24pOgorICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnkuaW46CisgICAg
ICAgICogY3NzL0NTU1BhcnNlclZhbHVlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXJTZWxlY3Rvcjo6cGFyc2VQc2V1ZG9FbGVtZW50U2VsZWN0b3IpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUGFyc2VyU2VsZWN0b3I6OnBhcnNlUHNldWRvQ3VlRnVuY3Rpb25TZWxlY3Rvcik6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTZWxlY3Rvcjo6c2V0UHNldWRvVHlwZVZhbHVlKToK
KyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyVmFsdWVzLmg6CisgICAgICAgICogY3NzL0NTU1NlbGVj
dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1NlbGVjdG9yOjpwYXJzZVBzZXVkb0VsZW1l
bnRUeXBlKToKKyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3IuaDoKKyAgICAgICAgKiBjc3MvU2Vs
ZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5pbjogQWRkZWQuCisgICAgICAgICogY3NzL1NlbGVj
dG9yUHNldWRvVHlwZU1hcC5oOgorICAgICAgICAqIGNzcy9TZWxlY3RvclBzZXVkb1R5cGVNYXAu
aW46CisgICAgICAgICogY3NzL2h0bWwuY3NzOgorICAgICAgICAocTo6YmVmb3JlKToKKyAgICAg
ICAgKHE6OmFmdGVyKToKKyAgICAgICAgKiBjc3MvbWFrZVNlbGVjdG9yUHNldWRvRWxlbWVudHNN
YXAucHk6IEFkZGVkLgorICAgICAgICAoZW51bWVyYWJsZVBzZXVkb1R5cGUpOgorICAgICAgICAo
ZXhwYW5kX2lmZGVmX2NvbmRpdGlvbik6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpnZXRNYXRjaGVkQ1NTUnVsZXMpOgorCiAyMDE0
LTAzLTE3ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtX
ZWJWVFRdIEV4dGVuZGluZyBXZWJWVFQgUmVuZGVyaW5nIHdpdGggUmVnaW9ucwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCA3MTExZTFhNzg1NTU5ZjE3OGZjODUzNmU0YTlmYzcxMDA0ZGM2YzZmLi4x
ZTZkMjY2Y2U2NWY4MDdlMWY4YWI4NzdlNWZiOGY2NTFhNDA5MGEwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtMzEyMyw3ICszMTIzLDcgQEAgQUREX1NPVVJDRV9XRUJDT1JFX0RFUklWRURfREVQ
RU5ERU5DSUVTKCR7V0VCQ09SRV9ESVJ9L2Nzcy9DU1NQYXJzZXIuY3BwIENTU1ZhbHUKIEFERF9T
T1VSQ0VfV0VCQ09SRV9ERVJJVkVEX0RFUEVOREVOQ0lFUygke1dFQkNPUkVfRElSfS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIENTU1ZhbHVlS2V5d29yZHMuaCkKIEFERF9TT1VSQ0Vf
V0VCQ09SRV9ERVJJVkVEX0RFUEVOREVOQ0lFUygke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJ
Un0vQ1NTR3JhbW1hci5jcHAgQ1NTVmFsdWVLZXl3b3Jkcy5oKQogCi0jIEdlbmVyYXRlIENTUyBT
ZWxlY3RvciBwc2V1ZG8gdHlwZSBuYW1lIHRvIHZhbHVlIG1hcC4KKyMgR2VuZXJhdGUgQ1NTIFNl
bGVjdG9yIHBzZXVkbyB0eXBlIG5hbWUgdG8gdmFsdWUgbWFwcy4KIGFkZF9jdXN0b21fY29tbWFu
ZCgKICAgICBPVVRQVVQgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1NlbGVjdG9yUHNl
dWRvVHlwZU1hcC5ncGVyZiAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vU2VsZWN0b3JQ
c2V1ZG9UeXBlTWFwLmNwcAogICAgIE1BSU5fREVQRU5ERU5DWSAke1dFQkNPUkVfRElSfS9jc3Mv
bWFrZVNlbGVjdG9yUHNldWRvVHlwZU1hcC5weQpAQCAtMzEzMSw2ICszMTMxLDEzIEBAIGFkZF9j
dXN0b21fY29tbWFuZCgKICAgICBDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7V0VCQ09S
RV9ESVJ9L2Nzcy9tYWtlU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLnB5ICR7V0VCQ09SRV9ESVJ9L2Nz
cy9TZWxlY3RvclBzZXVkb1R5cGVNYXAuaW4gIiR7RkVBVFVSRV9ERUZJTkVTX1dJVEhfU1BBQ0Vf
U0VQQVJBVE9SfSIKICAgICBWRVJCQVRJTSkKIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAk
e0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmNwcCkK
K2FkZF9jdXN0b21fY29tbWFuZCgKKyAgICBPVVRQVVQgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09S
RV9ESVJ9L1NlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuZ3BlcmYgJHtERVJJVkVEX1NPVVJD
RVNfV0VCQ09SRV9ESVJ9L1NlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuY3BwCisgICAgTUFJ
Tl9ERVBFTkRFTkNZICR7V0VCQ09SRV9ESVJ9L2Nzcy9tYWtlU2VsZWN0b3JQc2V1ZG9FbGVtZW50
c01hcC5weQorICAgIFdPUktJTkdfRElSRUNUT1JZICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNPUkVf
RElSfQorICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gJHtXRUJDT1JFX0RJUn0vY3Nz
L21ha2VTZWxlY3RvclBzZXVkb0VsZW1lbnRzTWFwLnB5ICR7V0VCQ09SRV9ESVJ9L2Nzcy9TZWxl
Y3RvclBzZXVkb0VsZW1lbnRUeXBlTWFwLmluICIke0ZFQVRVUkVfREVGSU5FU19XSVRIX1NQQUNF
X1NFUEFSQVRPUn0iCisgICAgVkVSQkFUSU0pCitsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMg
JHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1NlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVN
YXAuY3BwKQogCiAjIEdlbmVyYXRlIHVzZXIgYWdlbnQgc3R5bGVzCiBhZGRfY3VzdG9tX2NvbW1h
bmQoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBhNzgzZGIwMTQ4NTk3YzUwODM0
NGExMGVkMmNjMmRmNWU2OTY3ODQ1Li4zZjUwYzliYjdjMWY2YjRmMTJmOGI5N2YxMWJjMTQ4NTM0
NzY4NWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTc1MSw2ICs3NTEsNyBA
QCBhbGwgOiBcCiAgICAgUGx1Z0luc1Jlc291cmNlcy5oIFwKICAgICBTVkdFbGVtZW50RmFjdG9y
eS5jcHAgXAogICAgIFNWR05hbWVzLmNwcCBcCisgICAgU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlw
ZU1hcC5jcHAgXAogICAgIFNlbGVjdG9yUHNldWRvVHlwZU1hcC5jcHAgXAogICAgIFVzZXJBZ2Vu
dFNjcmlwdHMuaCBcCiAgICAgVXNlckFnZW50U3R5bGVTaGVldHMuaCBcCkBAIC04MDEsNiArODAy
LDEwIEBAIFdFQkNPUkVfQ1NTX1NFTEVDVE9SX1BTRVVET19UWVBFX01BUF9LRVlXT1JEUyA6PSAk
KFdlYkNvcmUpL2Nzcy9TZWxlY3RvclBzZXVkb1R5CiBTZWxlY3RvclBzZXVkb1R5cGVNYXAuY3Bw
IDogJChXZWJDb3JlKS9jc3MvbWFrZVNlbGVjdG9yUHNldWRvVHlwZU1hcC5weSAkKFdFQkNPUkVf
Q1NTX1NFTEVDVE9SX1BTRVVET19UWVBFX01BUF9LRVlXT1JEUykKIAlweXRob24gIiQoV2ViQ29y
ZSkvY3NzL21ha2VTZWxlY3RvclBzZXVkb1R5cGVNYXAucHkiICQoV0VCQ09SRV9DU1NfU0VMRUNU
T1JfUFNFVURPX1RZUEVfTUFQX0tFWVdPUkRTKSAiJChGRUFUVVJFX0RFRklORVMpIgogCitXRUJD
T1JFX0NTU19TRUxFQ1RPUl9QU0VVRE9fRUxFTUVOVFNfVFlQRV9NQVBfS0VZV09SRFMgOj0gJChX
ZWJDb3JlKS9jc3MvU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5pbgorU2VsZWN0b3JQc2V1
ZG9FbGVtZW50VHlwZU1hcC5jcHAgOiAkKFdlYkNvcmUpL2Nzcy9tYWtlU2VsZWN0b3JQc2V1ZG9F
bGVtZW50c01hcC5weSAkKFdFQkNPUkVfQ1NTX1NFTEVDVE9SX1BTRVVET19FTEVNRU5UU19UWVBF
X01BUF9LRVlXT1JEUykKKwlweXRob24gIiQoV2ViQ29yZSkvY3NzL21ha2VTZWxlY3RvclBzZXVk
b0VsZW1lbnRzTWFwLnB5IiAkKFdFQkNPUkVfQ1NTX1NFTEVDVE9SX1BTRVVET19FTEVNRU5UU19U
WVBFX01BUF9LRVlXT1JEUykgIiQoRkVBVFVSRV9ERUZJTkVTKSIKKwogIyAtLS0tLS0tLQogCiAj
IFhNTFZpZXdlciBDU1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDExNmIxMzJk
OTRlYzBmOTI3NmQ4MzBhZTgzZWE3N2NiYWZkZWZhOTcuLjFmY2ExNTczZGQ4NDNkODRhYWJmYjc4
NTQzODdiNmMwMWU0MzYwZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtODU1
LDYgKzg1NSw3IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9QbHVnSW5zUmVzb3VyY2VzRGF0YS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvUGx1Z0luc1Jlc291cmNlcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL1NldHRpbmdz
TWFjcm9zLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvU2VsZWN0b3JQc2V1ZG9FbGVtZW50
VHlwZU1hcC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvU2VsZWN0b3JQc2V1ZG9UeXBl
TWFwLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9Vc2VyQWdlbnRTY3JpcHRzRGF0YS5j
cHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvVXNlckFnZW50U2NyaXB0cy5oIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDAzZjli
MTMyZWI5YzczZDAxZDZhMzgxN2RhZjczODhjZjhhZDg5YzUuLjc5NGVkMGNhM2M4YjgzMjFlNTM2
NTQyM2I2MmI0NzMwM2VjMzdkNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMjkwLDYgKzI5MCw3IEBACiAgICAgPC9DbENvbXBpbGU+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQ
bGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcQ1NTUHJv
cGVydHlOYW1lcy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcQ1NTVmFsdWVLZXl3b3Jkcy5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1h
cC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVxXZWJD
b3JlXERlcml2ZWRTb3VyY2VzXEpTQU5HTEVJbnN0YW5jZWRBcnJheXMuY3BwIj4KICAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0yMDg4Myw0ICsy
MDg4NCw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgICAg
PEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNcbWFz
bS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCA1ZjUxMjA4ODc2NzVj
ZmY2Mzg2YzgxMTcxMzFkMzllNmRhZDA0NmQ1Li40NTQ5ZjFlYmEyNWU0ODE5MWVlYTBhMGQyOTYx
ZDQ3ODQ4MTQ4MTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC01MTQzLDYgKzUxNDMsOSBAQAogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1B
cmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXENTU1ZhbHVlS2V5d29y
ZHMuY3BwIj4KICAgICAgIDxGaWx0ZXI+RGVyaXZlZFNvdXJjZXM8L0ZpbHRlcj4KICAgICA8L0Ns
Q29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xTZWxlY3RvclBzZXVkb0VsZW1lbnRUeXBlTWFwLmNwcCI+CisgICAgICA8RmlsdGVyPkRlcml2
ZWRTb3VyY2VzPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmNwcCI+
CiAgICAgICA8RmlsdGVyPkRlcml2ZWRTb3VyY2VzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+
CkBAIC0xNTAxMiw0ICsxNTAxNSw0IEBACiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXHdpbjwvRmls
dGVyPgogICAgIDwvTUFTTT4KICAgPC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGNhNjg1Njg4ZTc2YmE2YzZhZGI3NGQx
YjUwMjQzNzg2OTExZjIwM2QuLmQ4YmY4OTA4ZGM3NjhmNTdmYjgwNTc3YzU0NWYxMzRmOWFkZGE3
YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTk3Niw2ICs5NzYsNyBAQAogCQkyNjYwMUVCRjE0QjNCOUFEMDAxMkMwRkUgLyog
UGxhdGZvcm1FdmVudEZhY3RvcnlJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI2NjAxRUJEMTRCM0I5QUQwMDEyQzBGRSAvKiBQbGF0Zm9ybUV2ZW50
RmFjdG9yeUlPUy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTI2NjAxRUMwMTRCM0I5QUQwMDEyQzBGRSAvKiBQbGF0Zm9ybUV2ZW50RmFjdG9yeUlP
Uy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2NjAx
RUJFMTRCM0I5QUQwMDEyQzBGRSAvKiBQbGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5tbSAqLzsgfTsK
IAkJMjY5MjM5OTYxNTA1RTFBQTAwOUU1N0ZDIC8qIEpTSURCVmVyc2lvbkNoYW5nZUV2ZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNjkyMzk5MjE1
MDVFMUFBMDA5RTU3RkMgLyogSlNJREJWZXJzaW9uQ2hhbmdlRXZlbnQuaCAqLzsgfTsKKwkJMjZB
QTBGOUUxOEQyQTE4QjAwNDE5MzgxIC8qIFNlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZBQTBGOUQx
OEQyQTE4QjAwNDE5MzgxIC8qIFNlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuY3BwICovOyB9
OwogCQkyNkI5OTk4RjE4MDNBRTcyMDBEMDExMjEgLyogUmVnaXN0ZXJBbGxvY2F0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2Qjk5OThFMTgwM0FF
NzIwMEQwMTEyMSAvKiBSZWdpc3RlckFsbG9jYXRvci5oICovOyB9OwogCQkyNkI5OTk5MTE4MDNC
M0M5MDBEMDExMjEgLyogU3RhY2tBbGxvY2F0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2Qjk5OTkwMTgwM0IzQzkwMEQwMTEyMSAvKiBTdGFja0Fs
bG9jYXRvci5oICovOyB9OwogCQkyNkI5OTk5MzE4MDNCOUQ5MDBEMDExMjEgLyogRnVuY3Rpb25D
YWxsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNkI5
OTk5MjE4MDNCOUQ5MDBEMDExMjEgLyogRnVuY3Rpb25DYWxsLmggKi87IH07CkBAIC03ODEyLDYg
Kzc4MTMsMTAgQEAKIAkJMjY2MDFFQkUxNEIzQjlBRDAwMTJDMEZFIC8qIFBsYXRmb3JtRXZlbnRG
YWN0b3J5SU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gUGxh
dGZvcm1FdmVudEZhY3RvcnlJT1MubW07IHBhdGggPSBpb3MvUGxhdGZvcm1FdmVudEZhY3RvcnlJ
T1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2OTIzOTkxMTUwNUUxQUEwMDlF
NTdGQyAvKiBKU0lEQlZlcnNpb25DaGFuZ2VFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU0lEQlZlcnNpb25DaGFuZ2VFdmVudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTI2OTIzOTkyMTUwNUUxQUEwMDlFNTdGQyAvKiBKU0lEQlZlcnNp
b25DaGFuZ2VFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0lEQlZl
cnNpb25DaGFuZ2VFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyNkFBMEY5
OTE4RDI5NzNEMDA0MTkzODEgLyogbWFrZVNlbGVjdG9yUHNldWRvRWxlbWVudHNNYXAucHkgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlw
dC5weXRob247IHBhdGggPSBtYWtlU2VsZWN0b3JQc2V1ZG9FbGVtZW50c01hcC5weTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjZBQTBGOUExOEQyOTczRDAwNDE5MzgxIC8qIFNlbGVj
dG9yUHNldWRvRWxlbWVudFR5cGVNYXAuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlw
ZU1hcC5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjZBQTBGOUQxOEQyQTE4QjAw
NDE5MzgxIC8qIFNlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI2QUEwRjlGMThEMkExQzEwMDQxOTM4MSAv
KiBTZWxlY3RvclBzZXVkb0VsZW1lbnRUeXBlTWFwLmdwZXJmICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IFNlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuZ3BlcmY7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTI2Qjk5OThFMTgwM0FFNzIwMEQwMTEyMSAvKiBSZWdpc3RlckFsbG9jYXRv
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZWdpc3RlckFsbG9jYXRvci5o
OyBwYXRoID0gY3Nzaml0L1JlZ2lzdGVyQWxsb2NhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTI2Qjk5OTkwMTgwM0IzQzkwMEQwMTEyMSAvKiBTdGFja0FsbG9jYXRvci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTdGFja0FsbG9jYXRvci5oOyBwYXRoID0g
Y3Nzaml0L1N0YWNrQWxsb2NhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2
Qjk5OTkyMTgwM0I5RDkwMEQwMTEyMSAvKiBGdW5jdGlvbkNhbGwuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gRnVuY3Rpb25DYWxsLmg7IHBhdGggPSBjc3NqaXQvRnVuY3Rpb25D
YWxsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTg4NSw2ICsxNTg5MCw4IEBA
CiAJCQkJNDRBMjhBQUUxMkRGQjhCRjAwQUU5MjNCIC8qIE1hdGhNTE5hbWVzLmggKi8sCiAJCQkJ
NzFFMjE4MzgxNzM1OUZCODAwNkU2RTREIC8qIFBsdWdJbnNSZXNvdXJjZXMuaCAqLywKIAkJCQk3
MUUyMTgzOTE3MzU5RkI4MDA2RTZFNEQgLyogUGx1Z0luc1Jlc291cmNlc0RhdGEuY3BwICovLAor
CQkJCTI2QUEwRjlEMThEMkExOEIwMDQxOTM4MSAvKiBTZWxlY3RvclBzZXVkb0VsZW1lbnRUeXBl
TWFwLmNwcCAqLywKKwkJCQkyNkFBMEY5RjE4RDJBMUMxMDA0MTkzODEgLyogU2VsZWN0b3JQc2V1
ZG9FbGVtZW50VHlwZU1hcC5ncGVyZiAqLywKIAkJCQk0M0I4NUVEMjE4Q0JFQzUyMDBFMzFBRjQg
LyogU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmNwcCAqLywKIAkJCQk0M0I4NUVEMzE4Q0JFQzUyMDBF
MzFBRjQgLyogU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmdwZXJmICovLAogCQkJCTUzRUY3NjZBMTY1
MzBBNjEwMDRDQkU0OSAvKiBTZXR0aW5nc01hY3Jvcy5oICovLApAQCAtMjE2MTUsNiArMjE2MjIs
NyBAQAogCQkJCTRBOUNDODFGMTZCRjlCQjQwMEVDNjQ1QSAvKiBJbnNwZWN0b3JDU1NPTVdyYXBw
ZXJzLmggKi8sCiAJCQkJRTU1RjQ5NzkxNTFCODg4MDAwQkI2N0RCIC8qIExlbmd0aEZ1bmN0aW9u
cy5jcHAgKi8sCiAJCQkJRTVCQTdENjIxNTE0MzdDQTAwRkUxRTNGIC8qIExlbmd0aEZ1bmN0aW9u
cy5oICovLAorCQkJCTI2QUEwRjk5MThEMjk3M0QwMDQxOTM4MSAvKiBtYWtlU2VsZWN0b3JQc2V1
ZG9FbGVtZW50c01hcC5weSAqLywKIAkJCQk0M0I4NUVEMDE4Q0JFQUNFMDBFMzFBRjQgLyogbWFr
ZVNlbGVjdG9yUHNldWRvVHlwZU1hcC5weSAqLywKIAkJCQk5M0NBNEM5QTA5REY5M0ZBMDBERjg2
NzcgLyogbWFrZS1jc3MtZmlsZS1hcnJheXMucGwgKi8sCiAJCQkJOTNDQTRDOUIwOURGOTNGQTAw
REY4Njc3IC8qIG1ha2Vwcm9wLnBsICovLApAQCAtMjE2NjIsNiArMjE2NzAsNyBAQAogCQkJCTQz
MkQzRkU3MThBODY1ODQwMEQ3REMwMyAvKiBTZWxlY3RvckNoZWNrZXJUZXN0RnVuY3Rpb25zLmgg
Ki8sCiAJCQkJNDE1MDcxNTUxNjg1MDY3MzAwQzNDN0IzIC8qIFNlbGVjdG9yRmlsdGVyLmNwcCAq
LywKIAkJCQk0MTUwNzE1NjE2ODUwNjczMDBDM0M3QjMgLyogU2VsZWN0b3JGaWx0ZXIuaCAqLywK
KwkJCQkyNkFBMEY5QTE4RDI5NzNEMDA0MTkzODEgLyogU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlw
ZU1hcC5pbiAqLywKIAkJCQk0M0I4NUVENjE4Q0JFQzk3MDBFMzFBRjQgLyogU2VsZWN0b3JQc2V1
ZG9UeXBlTWFwLmluICovLAogCQkJCTQzMTA3QkUxMThDQzE5REUwMENDMThFOCAvKiBTZWxlY3Rv
clBzZXVkb1R5cGVNYXAuaCAqLywKIAkJCQlFNDdBOTdDRTE2MzA1OUZDMDA1RENEOTkgLyogU3R5
bGVJbnZhbGlkYXRpb25BbmFseXNpcy5jcHAgKi8sCkBAIC0yNzM3Nyw2ICsyNzM4Niw3IEBACiAJ
CQkJNTEwMTk0NDQxODM2RjdFNDAwOTI1NTIzIC8qIElEQkN1cnNvckJhY2tlbmRPcGVyYXRpb25z
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRDcxOUMzMTgxMTA2RTAwMDE2REM1MSAvKiBJREJD
dXJzb3JXaXRoVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFENzE5QzYxODExMDZFMDAw
MTZEQzUxIC8qIElEQkRhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTI2QUEwRjlFMThE
MkExOEIwMDQxOTM4MSAvKiBTZWxlY3RvclBzZXVkb0VsZW1lbnRUeXBlTWFwLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTUxNzcxQzhFMTgyREI0QjcwMDhFNzgxRSAvKiBJREJEYXRhYmFzZUJhY2tl
bmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFENzE5Q0IxODExMDZFMDAwMTZEQzUxIC8qIElE
QkRhdGFiYXNlQ2FsbGJhY2tzSW1wbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUQ3MTlDRTE4
MTEwNkUwMDAxNkRDNTEgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwCmluZGV4IDUzMmU1NWU5ZDBmZTMwMmJjYzA4OWY0ZTMwYzE5YmE0ZjM4YzI2NzQuLjk2YTNk
ZGFhZDU3MTQzNjY5NzFjYmVkNGI2M2Y4ZTQxMzE2MTA0OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xMTczLDggKzEx
NzMsOCBAQCBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OkNTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbihQYXNzUmVmUHRyPE5vZGU+IG4sIGJvbwogICAgICwgbV9yZWZDb3VudCgxKQogewog
ICAgIHVuc2lnbmVkIG5hbWVXaXRob3V0Q29sb25zU3RhcnQgPSBwc2V1ZG9FbGVtZW50TmFtZVsw
XSA9PSAnOicgPyAocHNldWRvRWxlbWVudE5hbWVbMV0gPT0gJzonID8gMiA6IDEpIDogMDsKLSAg
ICBtX3BzZXVkb0VsZW1lbnRTcGVjaWZpZXIgPSBDU1NTZWxlY3Rvcjo6cHNldWRvSWQoQ1NTU2Vs
ZWN0b3I6OnBhcnNlUHNldWRvVHlwZSgKLSAgICAgICAgQXRvbWljU3RyaW5nKHBzZXVkb0VsZW1l
bnROYW1lLnN1YnN0cmluZyhuYW1lV2l0aG91dENvbG9uc1N0YXJ0KSkpKTsKKyAgICBtX3BzZXVk
b0VsZW1lbnRTcGVjaWZpZXIgPSBDU1NTZWxlY3Rvcjo6cHNldWRvSWQoQ1NTU2VsZWN0b3I6OnBh
cnNlUHNldWRvRWxlbWVudFR5cGUoCisgICAgKHBzZXVkb0VsZW1lbnROYW1lLnN1YnN0cmluZ1No
YXJpbmdJbXBsKG5hbWVXaXRob3V0Q29sb25zU3RhcnQpKSkpOwogfQogCiBDU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb246On5DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24oKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NHcmFtbWFyLnkuaW4KaW5kZXggOTFiNTM1NmFiMzk1OTEzNzk0NTg5YzQ2YTAyNTNhNjNi
OWY0MTY0OC4uZjgzY2EzMzI0NjRjNjZhMTU1ZTJiNGI1OGJhNzAxNDQ0Y2FlNzc2MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTR3JhbW1hci55LmluCkBAIC0xMTg0LDI2ICsxMTg0LDEyIEBAIHBzZXVkbzoK
ICAgICAgICAgICAgICQkID0gc2VsZWN0b3IucmVsZWFzZSgpOwogICAgIH0KICAgICB8ICc6JyAn
OicgSURFTlQgewotICAgICAgICAkJCA9IG51bGxwdHI7Ci0gICAgICAgIGF1dG8gc2VsZWN0b3Ig
PSBzdGQ6Om1ha2VfdW5pcXVlPENTU1BhcnNlclNlbGVjdG9yPigpOwotICAgICAgICBzZWxlY3Rv
ci0+c2V0TWF0Y2goQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnQpOwotICAgICAgICAkMy5sb3dl
cigpOwotICAgICAgICBzZWxlY3Rvci0+c2V0UHNldWRvVHlwZVZhbHVlKCQzKTsKLSAgICAgICAg
aWYgKHNlbGVjdG9yLT5wc2V1ZG9UeXBlKCkgIT0gQ1NTU2VsZWN0b3I6OlBzZXVkb1Vua25vd24p
Ci0gICAgICAgICAgICAkJCA9IHNlbGVjdG9yLnJlbGVhc2UoKTsKKyAgICAgICAgJCQgPSBDU1NQ
YXJzZXJTZWxlY3Rvcjo6cGFyc2VQc2V1ZG9FbGVtZW50U2VsZWN0b3IoJDMpOwogICAgIH0KICNp
ZiBFTkFCTEVfVklERU9fVFJBQ0sKICAgICAvLyB1c2VkIGJ5IDo6Y3VlKDpwYXN0LzpmdXR1cmUp
CiAgICAgfCAnOicgJzonIENVRUZVTkNUSU9OIG1heWJlX3NwYWNlIHNpbXBsZV9zZWxlY3Rvcl9s
aXN0IG1heWJlX3NwYWNlICcpJyB7Ci0gICAgICAgICQkID0gbnVsbHB0cjsKLSAgICAgICAgaWYg
KCQ1KSB7Ci0gICAgICAgICAgICBhdXRvIHNlbGVjdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxDU1NQ
YXJzZXJTZWxlY3Rvcj4oKTsKLSAgICAgICAgICAgIHNlbGVjdG9yLT5zZXRNYXRjaChDU1NTZWxl
Y3Rvcjo6UHNldWRvRWxlbWVudCk7Ci0gICAgICAgICAgICBzZWxlY3Rvci0+YWRvcHRTZWxlY3Rv
clZlY3Rvcigqc3RkOjp1bmlxdWVfcHRyPFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFyc2Vy
U2VsZWN0b3I+Pj4oJDUpKTsKLSAgICAgICAgICAgIHNlbGVjdG9yLT5zZXRQc2V1ZG9UeXBlVmFs
dWUoJDMpOwotICAgICAgICAgICAgQVNTRVJUKHNlbGVjdG9yLT5wc2V1ZG9UeXBlKCkgPT0gQ1NT
U2VsZWN0b3I6OlBzZXVkb0N1ZSk7Ci0gICAgICAgICAgICAkJCA9IHNlbGVjdG9yLnJlbGVhc2Uo
KTsKLSAgICAgICAgfQorICAgICAgICAkJCA9IENTU1BhcnNlclNlbGVjdG9yOjpwYXJzZVBzZXVk
b0N1ZUZ1bmN0aW9uU2VsZWN0b3IoJDMsICQ1KTsKICAgICB9CiAjZW5kaWYKICAgICAvLyB1c2Ug
YnkgOi13ZWJraXQtYW55LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
clZhbHVlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmNwcAppbmRl
eCA1MmRmM2YzOGNmZTM1ZWY2YzgyNmQxMjIyNTM4ZWMwMWVkZjM5YzUxLi40ZmIxZGUyNDM0N2E4
ZThiNTAzYWQ1MzYyOWQxMzI1NDNkYTRhYjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyVmFsdWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
VmFsdWVzLmNwcApAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgIkNTU0Z1bmN0aW9uVmFsdWUu
aCIKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkNTU1NlbGVjdG9yTGlzdC5o
IgorI2luY2x1ZGUgIlNlbGVjdG9yUHNldWRvVHlwZU1hcC5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTE2NCw2ICsxNjUsMzggQEAgQ1NTUGFyc2VyU2VsZWN0b3IqIENTU1BhcnNlclNl
bGVjdG9yOjpwYXJzZVBhZ2VQc2V1ZG9TZWxlY3Rvcihjb25zdCBDU1NQYXJzZXJTdHIKICAgICBy
ZXR1cm4gc2VsZWN0b3IucmVsZWFzZSgpOwogfQogCitDU1NQYXJzZXJTZWxlY3RvciogQ1NTUGFy
c2VyU2VsZWN0b3I6OnBhcnNlUHNldWRvRWxlbWVudFNlbGVjdG9yKENTU1BhcnNlclN0cmluZyYg
cHNldWRvVHlwZVN0cmluZykKK3sKKyAgICBwc2V1ZG9UeXBlU3RyaW5nLmxvd2VyKCk7CisgICAg
QXRvbWljU3RyaW5nIG5hbWUgPSBwc2V1ZG9UeXBlU3RyaW5nOworCisgICAgQ1NTU2VsZWN0b3I6
OlBzZXVkb1R5cGUgcHNldWRvVHlwZSA9IENTU1NlbGVjdG9yOjpwYXJzZVBzZXVkb0VsZW1lbnRU
eXBlKG5hbWUpOworICAgIGlmIChwc2V1ZG9UeXBlID09IENTU1NlbGVjdG9yOjpQc2V1ZG9Vbmtu
b3duKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGF1dG8gc2VsZWN0b3IgPSBzdGQ6
Om1ha2VfdW5pcXVlPENTU1BhcnNlclNlbGVjdG9yPigpOworICAgIHNlbGVjdG9yLT5tX3NlbGVj
dG9yLT5tX21hdGNoID0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnQ7CisgICAgc2VsZWN0b3It
Pm1fc2VsZWN0b3ItPm1fcHNldWRvVHlwZSA9IHBzZXVkb1R5cGU7CisgICAgc2VsZWN0b3ItPm1f
c2VsZWN0b3ItPnNldFZhbHVlKG5hbWUpOworICAgIHJldHVybiBzZWxlY3Rvci5yZWxlYXNlKCk7
Cit9CisKK0NTU1BhcnNlclNlbGVjdG9yKiBDU1NQYXJzZXJTZWxlY3Rvcjo6cGFyc2VQc2V1ZG9D
dWVGdW5jdGlvblNlbGVjdG9yKGNvbnN0IENTU1BhcnNlclN0cmluZyYgZnVuY3Rpb25JZGVudGlm
aWVyLCBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPj4qIHBhcnNlZFNl
bGVjdG9yVmVjdG9yKQoreworICAgIEFTU0VSVF9VTlVTRUQoZnVuY3Rpb25JZGVudGlmaWVyLCBT
dHJpbmcoZnVuY3Rpb25JZGVudGlmaWVyKSA9PSAiY3VlKCIpOworCisgICAgc3RkOjp1bmlxdWVf
cHRyPFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFyc2VyU2VsZWN0b3I+Pj4gc2VsZWN0b3JW
ZWN0b3IocGFyc2VkU2VsZWN0b3JWZWN0b3IpOworCisgICAgaWYgKCFzZWxlY3RvclZlY3RvcikK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBhdXRvIHNlbGVjdG9yID0gc3RkOjptYWtl
X3VuaXF1ZTxDU1NQYXJzZXJTZWxlY3Rvcj4oKTsKKyAgICBzZWxlY3Rvci0+bV9zZWxlY3Rvci0+
bV9tYXRjaCA9IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50OworICAgIHNlbGVjdG9yLT5tX3Nl
bGVjdG9yLT5tX3BzZXVkb1R5cGUgPSBDU1NTZWxlY3Rvcjo6UHNldWRvQ3VlOworICAgIHNlbGVj
dG9yLT5hZG9wdFNlbGVjdG9yVmVjdG9yKCpzZWxlY3RvclZlY3Rvcik7CisgICAgcmV0dXJuIHNl
bGVjdG9yLnJlbGVhc2UoKTsKK30KKwogQ1NTUGFyc2VyU2VsZWN0b3I6OkNTU1BhcnNlclNlbGVj
dG9yKCkKICAgICA6IG1fc2VsZWN0b3Ioc3RkOjptYWtlX3VuaXF1ZTxDU1NTZWxlY3Rvcj4oKSkK
IHsKQEAgLTIwMSwzMSArMjM0LDE1IEBAIHZvaWQgQ1NTUGFyc2VyU2VsZWN0b3I6OnNldFBzZXVk
b1R5cGVWYWx1ZShjb25zdCBDU1NQYXJzZXJTdHJpbmcmIHBzZXVkb1R5cGVTdHJpCiAgICAgQXRv
bWljU3RyaW5nIG5hbWUgPSBwc2V1ZG9UeXBlU3RyaW5nOwogICAgIG1fc2VsZWN0b3ItPnNldFZh
bHVlKG5hbWUpOwogCi0gICAgQ1NTU2VsZWN0b3I6OlBzZXVkb1R5cGUgcHNldWRvVHlwZSA9IENT
U1NlbGVjdG9yOjpwYXJzZVBzZXVkb1R5cGUobmFtZSk7Ci0gICAgYm9vbCBlbGVtZW50ID0gZmFs
c2U7IC8vIHBzZXVkby1lbGVtZW50Ci0gICAgYm9vbCBjb21wYXQgPSBmYWxzZTsgLy8gc2luZ2xl
IGNvbG9uIGNvbXBhdGJpbGl0eSBtb2RlCisgICAgQ1NTU2VsZWN0b3I6OlBzZXVkb1R5cGUgcHNl
dWRvVHlwZSA9IHBhcnNlUHNldWRvVHlwZVN0cmluZygqbmFtZS5pbXBsKCkpOworICAgIGJvb2wg
aXNDb21wYXRpYmlsaXR5RWxlbWVudFR5cGUgPSBmYWxzZTsgLy8gc2luZ2xlIGNvbG9uIGNvbXBh
dGJpbGl0eSBtb2RlCiAKICAgICBzd2l0Y2ggKHBzZXVkb1R5cGUpIHsKICAgICBjYXNlIENTU1Nl
bGVjdG9yOjpQc2V1ZG9BZnRlcjoKICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9CZWZvcmU6
CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRmlyc3RMZXR0ZXI6CiAgICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6UHNldWRvRmlyc3RMaW5lOgotICAgICAgICBjb21wYXQgPSB0cnVlOwotICAgICAg
ICBGQUxMVEhST1VHSDsKLSNpZiBFTkFCTEUoVklERU9fVFJBQ0spCi0gICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6UHNldWRvQ3VlOgotI2VuZGlmCi0gICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvUmVz
aXplcjoKLSAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9TY3JvbGxiYXI6Ci0gICAgY2FzZSBD
U1NTZWxlY3Rvcjo6UHNldWRvU2Nyb2xsYmFyQ29ybmVyOgotICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OlBzZXVkb1Njcm9sbGJhckJ1dHRvbjoKLSAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9TY3Jv
bGxiYXJUaHVtYjoKLSAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9TY3JvbGxiYXJUcmFjazoK
LSAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9TY3JvbGxiYXJUcmFja1BpZWNlOgotICAgIGNh
c2UgQ1NTU2VsZWN0b3I6OlBzZXVkb1NlbGVjdGlvbjoKLSAgICBjYXNlIENTU1NlbGVjdG9yOjpQ
c2V1ZG9Vc2VyQWdlbnRDdXN0b21FbGVtZW50OgotICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVk
b1dlYktpdEN1c3RvbUVsZW1lbnQ6Ci0gICAgICAgIGVsZW1lbnQgPSB0cnVlOworICAgICAgICBp
c0NvbXBhdGliaWxpdHlFbGVtZW50VHlwZSA9IHRydWU7CiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgQ1NTU2VsZWN0b3I6OlBzZXVkb1Vua25vd246CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNl
dWRvRW1wdHk6CkBAIC0yOTEsNiArMzA4LDIwIEBAIHZvaWQgQ1NTUGFyc2VyU2VsZWN0b3I6OnNl
dFBzZXVkb1R5cGVWYWx1ZShjb25zdCBDU1NQYXJzZXJTdHJpbmcmIHBzZXVkb1R5cGVTdHJpCiAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvUGFzdDoKICNlbmRpZgogICAgICAgICBicmVhazsK
KyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ3Vl
OgorI2VuZGlmCisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvUmVzaXplcjoKKyAgICBjYXNl
IENTU1NlbGVjdG9yOjpQc2V1ZG9TY3JvbGxiYXI6CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNl
dWRvU2Nyb2xsYmFyQ29ybmVyOgorICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb1Njcm9sbGJh
ckJ1dHRvbjoKKyAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9TY3JvbGxiYXJUaHVtYjoKKyAg
ICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9TY3JvbGxiYXJUcmFjazoKKyAgICBjYXNlIENTU1Nl
bGVjdG9yOjpQc2V1ZG9TY3JvbGxiYXJUcmFja1BpZWNlOgorICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OlBzZXVkb1NlbGVjdGlvbjoKKyAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9Vc2VyQWdlbnRD
dXN0b21FbGVtZW50OgorICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb1dlYktpdEN1c3RvbUVs
ZW1lbnQ6CisKICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9GaXJzdDoKICAgICBjYXNlIENT
U1NlbGVjdG9yOjpQc2V1ZG9MZWZ0OgogICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb1JpZ2h0
OgpAQCAtMjk5LDEzICszMzAsOCBAQCB2b2lkIENTU1BhcnNlclNlbGVjdG9yOjpzZXRQc2V1ZG9U
eXBlVmFsdWUoY29uc3QgQ1NTUGFyc2VyU3RyaW5nJiBwc2V1ZG9UeXBlU3RyaQogICAgIH0KIAog
ICAgIHVuc2lnbmVkIG1hdGNoVHlwZSA9IG1fc2VsZWN0b3ItPm1fbWF0Y2g7Ci0gICAgaWYgKG1h
dGNoVHlwZSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3MgJiYgZWxlbWVudCkgewotICAgICAg
ICBpZiAoIWNvbXBhdCkKLSAgICAgICAgICAgIHBzZXVkb1R5cGUgPSBDU1NTZWxlY3Rvcjo6UHNl
dWRvVW5rbm93bjsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbWF0Y2hUeXBlID0gQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0VsZW1lbnQ7Ci0gICAgfSBlbHNlIGlmIChtYXRjaFR5cGUgPT0gQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0VsZW1lbnQgJiYgIWVsZW1lbnQpCi0gICAgICAgIHBzZXVkb1R5cGUgPSBD
U1NTZWxlY3Rvcjo6UHNldWRvVW5rbm93bjsKKyAgICBpZiAoaXNDb21wYXRpYmlsaXR5RWxlbWVu
dFR5cGUpCisgICAgICAgIG1hdGNoVHlwZSA9IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50Owog
CiAgICAgbV9zZWxlY3Rvci0+bV9tYXRjaCA9IG1hdGNoVHlwZTsKICAgICBtX3NlbGVjdG9yLT5t
X3BzZXVkb1R5cGUgPSBwc2V1ZG9UeXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlclZhbHVlcy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5o
CmluZGV4IDZiMWIwOWRkMjNlMzM2NDQzYzQ4MjY2ZWVlNzQ1ZGMzNDZhOThmMzYuLjFkOWFkMTUz
ZTU4NjEzZDhiM2RhZDk1ODU3OTczNWFhZTJiMWY3ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyVmFsdWVzLmgKQEAgLTE3Miw2ICsxNzIsOCBAQCBjbGFzcyBDU1NQYXJzZXJTZWxlY3RvciB7
CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIENTU1Bh
cnNlclNlbGVjdG9yKiBwYXJzZVBhZ2VQc2V1ZG9TZWxlY3Rvcihjb25zdCBDU1NQYXJzZXJTdHJp
bmcmIHBzZXVkb1R5cGVTdHJpbmcpOworICAgIHN0YXRpYyBDU1NQYXJzZXJTZWxlY3RvciogcGFy
c2VQc2V1ZG9FbGVtZW50U2VsZWN0b3IoQ1NTUGFyc2VyU3RyaW5nJiBwc2V1ZG9UeXBlU3RyaW5n
KTsKKyAgICBzdGF0aWMgQ1NTUGFyc2VyU2VsZWN0b3IqIHBhcnNlUHNldWRvQ3VlRnVuY3Rpb25T
ZWxlY3Rvcihjb25zdCBDU1NQYXJzZXJTdHJpbmcmIGZ1bmN0aW9uSWRlbnRpZmllciwgVmVjdG9y
PHN0ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4+KiBzZWxlY3RvclZlY3Rvcik7CiAK
ICAgICBDU1NQYXJzZXJTZWxlY3RvcigpOwogICAgIGV4cGxpY2l0IENTU1BhcnNlclNlbGVjdG9y
KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4
IDQ4Y2U2ODEzZTQyMzgzZTIxZjU3ODNjMDExM2JmZmM4MzEzYTk5MGEuLjA0ZTRmNmUyYmQ2MThl
YmYwZDFlNjY0N2M2ZWUxN2EzNDk4YTVlOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNw
cApAQCAtMjQ5LDE5ICsyNDksMTYgQEAgUHNldWRvSWQgQ1NTU2VsZWN0b3I6OnBzZXVkb0lkKFBz
ZXVkb1R5cGUgdHlwZSkKICAgICByZXR1cm4gTk9QU0VVRE87CiB9CiAKLUNTU1NlbGVjdG9yOjpQ
c2V1ZG9UeXBlIENTU1NlbGVjdG9yOjpwYXJzZVBzZXVkb1R5cGUoY29uc3QgU3RyaW5nJiBuYW1l
KQorQ1NTU2VsZWN0b3I6OlBzZXVkb1R5cGUgQ1NTU2VsZWN0b3I6OnBhcnNlUHNldWRvRWxlbWVu
dFR5cGUoY29uc3QgU3RyaW5nJiBuYW1lKQogewogICAgIGlmIChuYW1lLmlzTnVsbCgpKQogICAg
ICAgICByZXR1cm4gUHNldWRvVW5rbm93bjsKIAotICAgIFBzZXVkb1R5cGUgdHlwZSA9IHBhcnNl
UHNldWRvVHlwZVN0cmluZygqbmFtZS5pbXBsKCkpOworICAgIFBzZXVkb1R5cGUgdHlwZSA9IHBh
cnNlUHNldWRvRWxlbWVudFN0cmluZygqbmFtZS5pbXBsKCkpOwogICAgIGlmICh0eXBlID09IFBz
ZXVkb1Vua25vd24pIHsKICAgICAgICAgaWYgKG5hbWUuc3RhcnRzV2l0aCgiLXdlYmtpdC0iKSkK
ICAgICAgICAgICAgIHR5cGUgPSBQc2V1ZG9XZWJLaXRDdXN0b21FbGVtZW50OwogCi0gICAgICAg
IGlmIChuYW1lID09ICJjdWUiKQotICAgICAgICAgICAgdHlwZSA9IFBzZXVkb1dlYktpdEN1c3Rv
bUVsZW1lbnQ7Ci0KICAgICAgICAgaWYgKG5hbWUuc3RhcnRzV2l0aCgieC0iKSkKICAgICAgICAg
ICAgIHR5cGUgPSBQc2V1ZG9Vc2VyQWdlbnRDdXN0b21FbGVtZW50OwogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1NlbGVjdG9yLmgKaW5kZXggNjlmZTI3OWFmZGFhYTgwZTIzOGU1ZTAzNDgzZmE2NmQ0NTll
ZTdmMi4uZjI4Y2Q3ZWRjNTYwYzBhZjk1ZDQyYTUzYjc4MjlhMTc1OGMzYjliNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1NlbGVjdG9yLmgKQEAgLTE4Niw3ICsxODYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UHNldWRvVHlwZT4obV9wc2V1ZG9UeXBl
KTsKICAgICAgICAgfQogCi0gICAgICAgIHN0YXRpYyBQc2V1ZG9UeXBlIHBhcnNlUHNldWRvVHlw
ZShjb25zdCBTdHJpbmcmKTsKKyAgICAgICAgc3RhdGljIFBzZXVkb1R5cGUgcGFyc2VQc2V1ZG9F
bGVtZW50VHlwZShjb25zdCBTdHJpbmcmKTsKICAgICAgICAgc3RhdGljIFBzZXVkb0lkIHBzZXVk
b0lkKFBzZXVkb1R5cGUpOwogCiAgICAgICAgIC8vIFNlbGVjdG9ycyBhcmUga2VwdCBpbiBhbiBh
cnJheSBieSBDU1NTZWxlY3Rvckxpc3QuIFRoZSBuZXh0IGNvbXBvbmVudCBvZiB0aGUgc2VsZWN0
b3IgaXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBzZXVkb0VsZW1l
bnRUeXBlTWFwLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNldWRvRWxlbWVudFR5
cGVNYXAuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZWM2ZGZlNTQ4NTdjNDc5ODhiMTQzNTBhYmQyZWNmN2U4NDIy
ODNlMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBzZXVk
b0VsZW1lbnRUeXBlTWFwLmluCkBAIC0wLDAgKzEsMTUgQEAKK2FmdGVyCitiZWZvcmUKKyNpZiBF
TkFCTEUoVklERU9fVFJBQ0spCitjdWUsIFBzZXVkb1dlYktpdEN1c3RvbUVsZW1lbnQKKyNlbmRp
ZgorZmlyc3QtbGV0dGVyCitmaXJzdC1saW5lCistd2Via2l0LXJlc2l6ZXIKKy13ZWJraXQtc2Ny
b2xsYmFyCistd2Via2l0LXNjcm9sbGJhci1idXR0b24KKy13ZWJraXQtc2Nyb2xsYmFyLWNvcm5l
cgorLXdlYmtpdC1zY3JvbGxiYXItdGh1bWIKKy13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrCistd2Vi
a2l0LXNjcm9sbGJhci10cmFjay1waWVjZQorc2VsZWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U2VsZWN0b3JQc2V1ZG9UeXBlTWFwLmgKaW5kZXggMmQ4ZjNlZTA1YTUxMmE1NjczMmQ3NDJkZTll
ZGZhOWVkZDBkMTBhMC4uN2QyNjIzYTcwM2YxZTA5YmQzYmJlYWRkMTFhYmQ2NDNlYjc1NDAxYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNldWRvVHlwZU1hcC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBzZXVkb1R5cGVNYXAuaApAQCAtMzIsNiAr
MzIsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBDU1NTZWxlY3Rvcjo6UHNldWRvVHlwZSBw
YXJzZVBzZXVkb1R5cGVTdHJpbmcoY29uc3QgU3RyaW5nSW1wbCYgcHNldWRvVHlwZVN0cmluZyk7
CitDU1NTZWxlY3Rvcjo6UHNldWRvVHlwZSBwYXJzZVBzZXVkb0VsZW1lbnRTdHJpbmcoY29uc3Qg
U3RyaW5nSW1wbCYgcHNldWRvVHlwZVN0cmluZyk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNldWRvVHlwZU1hcC5p
biBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBzZXVkb1R5cGVNYXAuaW4KaW5kZXggNDQ4
Y2Y4MGEwYzViZWZiM2RhYWI0MjlhN2Y1YTIyMGIxNzk0ODNkZC4uYmY5M2E2MTQwYjZmZDZkMTE1
MDU2OGQyMDZiMWNkZWM4MTVjNjViMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1Nl
bGVjdG9yUHNldWRvVHlwZU1hcC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JQ
c2V1ZG9UeXBlTWFwLmluCkBAIC00LDEzICs0LDYgQEAKIC13ZWJraXQtYXV0b2ZpbGwKIC13ZWJr
aXQtZHJhZwogLXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWEKLS13ZWJraXQtcmVzaXplcgotLXdlYmtp
dC1zY3JvbGxiYXIKLS13ZWJraXQtc2Nyb2xsYmFyLWJ1dHRvbgotLXdlYmtpdC1zY3JvbGxiYXIt
Y29ybmVyCi0td2Via2l0LXNjcm9sbGJhci10aHVtYgotLXdlYmtpdC1zY3JvbGxiYXItdHJhY2sK
LS13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLXBpZWNlCiBhY3RpdmUKIGFmdGVyCiBiZWZvcmUKQEAg
LTUzLDcgKzQ2LDYgQEAgcmVhZC13cml0ZQogcmVxdWlyZWQKIHJvb3QKIHNjb3BlCi1zZWxlY3Rp
b24KIHNpbmdsZS1idXR0b24KIHN0YXJ0CiB0YXJnZXQKQEAgLTcwLDcgKzYyLDYgQEAgd2luZG93
LWluYWN0aXZlCiAjZW5kaWYKIAogI2lmIEVOQUJMRShWSURFT19UUkFDSykKLWN1ZSgKIGZ1dHVy
ZQogcGFzdAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3Mg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKaW5kZXggMTE5YzA1ZTA3NjFkNzEwZDZiOWZj
NDBhODI2ZmUzYzJkZjI2MDFlZi4uMmMzZDBiOTk1NDQzZjRiMzYwMmRiM2Q3ZGRkZmU3NzgxZGNi
ZDUyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9odG1sLmNzcwpAQCAtMTEyLDExICsxMTIsMTEgQEAgcSB7CiAgICAgZGlz
cGxheTogaW5saW5lCiB9CiAKLXE6YmVmb3JlIHsKK3E6OmJlZm9yZSB7CiAgICAgY29udGVudDog
b3Blbi1xdW90ZTsKIH0KIAotcTphZnRlciB7CitxOjphZnRlciB7CiAgICAgY29udGVudDogY2xv
c2UtcXVvdGU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlU2VsZWN0
b3JQc2V1ZG9FbGVtZW50c01hcC5weSBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlU2VsZWN0b3JQ
c2V1ZG9FbGVtZW50c01hcC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYzQ2ZTM3Mzg5OGI4YzAzMTdhYTk4YzUy
OWYwMmEzNjZjZWY1MDA0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21h
a2VTZWxlY3RvclBzZXVkb0VsZW1lbnRzTWFwLnB5CkBAIC0wLDAgKzEsMjEyIEBACisjIS91c3Iv
YmluL2VudiBweXRob24KKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0Ogor
IyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworIyBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyMgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorIyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorIyBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorIyBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyMgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyMgQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyMgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorIyBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisK
K2ltcG9ydCBvcworaW1wb3J0IHN5cworCisKK2RlZiBlbnVtZXJhYmxlUHNldWRvVHlwZShzdHJp
bmdQc2V1ZG9UeXBlKToKKyAgICBvdXRwdXQgPSBbJ0NTU1NlbGVjdG9yOjpQc2V1ZG8nXQorCisg
ICAgaWYgc3RyaW5nUHNldWRvVHlwZS5lbmRzd2l0aCgnKCcpOgorICAgICAgICBzdHJpbmdQc2V1
ZG9UeXBlID0gc3RyaW5nUHNldWRvVHlwZVs6LTFdCisKKyAgICB3ZWJraXRQcmVmaXggPSAnLXdl
YmtpdC0nCisgICAgaWYgKHN0cmluZ1BzZXVkb1R5cGUuc3RhcnRzd2l0aCh3ZWJraXRQcmVmaXgp
KToKKyAgICAgICAgc3RyaW5nUHNldWRvVHlwZSA9IHN0cmluZ1BzZXVkb1R5cGVbbGVuKHdlYmtp
dFByZWZpeCk6XQorCisgICAga2h0bWxQcmVmaXggPSAnLWtodG1sLScKKyAgICBpZiAoc3RyaW5n
UHNldWRvVHlwZS5zdGFydHN3aXRoKGtodG1sUHJlZml4KSk6CisgICAgICAgIHN0cmluZ1BzZXVk
b1R5cGUgPSBzdHJpbmdQc2V1ZG9UeXBlW2xlbihraHRtbFByZWZpeCk6XQorCisgICAgc3Vic3Ry
aW5nX3N0YXJ0ID0gMAorICAgIG5leHRfZGFzaF9wb3NpdGlvbiA9IHN0cmluZ1BzZXVkb1R5cGUu
ZmluZCgnLScpCisgICAgd2hpbGUgKG5leHRfZGFzaF9wb3NpdGlvbiAhPSAtMSk6CisgICAgICAg
IG91dHB1dC5hcHBlbmQoc3RyaW5nUHNldWRvVHlwZVtzdWJzdHJpbmdfc3RhcnRdLnVwcGVyKCkp
CisgICAgICAgIG91dHB1dC5hcHBlbmQoc3RyaW5nUHNldWRvVHlwZVtzdWJzdHJpbmdfc3RhcnQg
KyAxOm5leHRfZGFzaF9wb3NpdGlvbl0pCisgICAgICAgIHN1YnN0cmluZ19zdGFydCA9IG5leHRf
ZGFzaF9wb3NpdGlvbiArIDEKKyAgICAgICAgbmV4dF9kYXNoX3Bvc2l0aW9uID0gc3RyaW5nUHNl
dWRvVHlwZS5maW5kKCctJywgc3Vic3RyaW5nX3N0YXJ0KQorCisgICAgb3V0cHV0LmFwcGVuZChz
dHJpbmdQc2V1ZG9UeXBlW3N1YnN0cmluZ19zdGFydF0udXBwZXIoKSkKKyAgICBvdXRwdXQuYXBw
ZW5kKHN0cmluZ1BzZXVkb1R5cGVbc3Vic3RyaW5nX3N0YXJ0ICsgMTpdKQorICAgIHJldHVybiAn
Jy5qb2luKG91dHB1dCkKKworCitkZWYgZXhwYW5kX2lmZGVmX2NvbmRpdGlvbihjb25kaXRpb24p
OgorICAgIHJldHVybiBjb25kaXRpb24ucmVwbGFjZSgnKCcsICdfJykucmVwbGFjZSgnKScsICcn
KQorCitvdXRwdXRfZmlsZSA9IG9wZW4oJ1NlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuZ3Bl
cmYnLCAndycpCisKK291dHB1dF9maWxlLndyaXRlKCIiIgorJXsKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBU
aGlzIGZpbGUgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBTZWxlY3RvclBzZXVkb1R5
cGVNYXAuaW4gYnkgbWFrZXByb3AsIGRvIG5vdCBlZGl0IGJ5IGhhbmQuCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJTZWxlY3RvclBzZXVkb1R5cGVNYXAuaCIKKworI2lmIGRlZmlu
ZWQoX19jbGFuZ19fKQorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xh
bmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV3Vua25vd24tcHJhZ21hcyIKKyNwcmFnbWEgY2xhbmcg
ZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJlY2F0ZWQtcmVnaXN0ZXIiCisjcHJhZ21hIGNsYW5n
IGRpYWdub3N0aWMgaWdub3JlZCAiLVdpbXBsaWNpdC1mYWxsdGhyb3VnaCIKKyNlbmRpZgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBTZWxlY3RvclBzZXVkb1R5cGVFbnRyeSB7Cisg
ICAgY29uc3QgY2hhciogbmFtZTsKKyAgICBDU1NTZWxlY3Rvcjo6UHNldWRvVHlwZSB0eXBlOwor
fTsKKworJX0KKyVzdHJ1Y3QtdHlwZQorJWRlZmluZSBpbml0aWFsaXplci1zdWZmaXggLENTU1Nl
bGVjdG9yOjpQc2V1ZG9Vbmtub3duCislZGVmaW5lIGNsYXNzLW5hbWUgU2VsZWN0b3JQc2V1ZG9F
bGVtZW50VHlwZU1hcEhhc2gKKyVvbWl0LXN0cnVjdC10eXBlCislbGFuZ3VhZ2U9QysrCislcmVh
ZG9ubHktdGFibGVzCislZ2xvYmFsLXRhYmxlCislY29tcGFyZS1zdHJuY21wCislZW51bQorCitz
dHJ1Y3QgU2VsZWN0b3JQc2V1ZG9UeXBlRW50cnk7CisKKyUlCisiIiIpCisKK3dlYmNvcmVfZGVm
aW5lcyA9IFtpLnN0cmlwKCkgZm9yIGkgaW4gc3lzLmFyZ3ZbLTFdLnNwbGl0KCcgJyldCisKK2xv
bmdlc3Rfa2V5d29yZCA9IDAKKworaWdub3JlX3VudGlsX2VuZGlmID0gRmFsc2UKK2lucHV0X2Zp
bGUgPSBvcGVuKHN5cy5hcmd2WzFdLCAncicpCitmb3IgbGluZSBpbiBpbnB1dF9maWxlOgorICAg
IGxpbmUgPSBsaW5lLnN0cmlwKCkKKyAgICBpZiBub3QgbGluZToKKyAgICAgICAgY29udGludWUK
KworICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnI2lmICcpOgorICAgICAgICBjb25kaXRpb24gPSBs
aW5lWzQ6XS5zdHJpcCgpCisgICAgICAgIGlmIGV4cGFuZF9pZmRlZl9jb25kaXRpb24oY29uZGl0
aW9uKSBub3QgaW4gd2ViY29yZV9kZWZpbmVzOgorICAgICAgICAgICAgaWdub3JlX3VudGlsX2Vu
ZGlmID0gVHJ1ZQorICAgICAgICBjb250aW51ZQorCisgICAgaWYgbGluZS5zdGFydHN3aXRoKCcj
ZW5kaWYnKToKKyAgICAgICAgaWdub3JlX3VudGlsX2VuZGlmID0gRmFsc2UKKyAgICAgICAgY29u
dGludWUKKworICAgIGlmIGlnbm9yZV91bnRpbF9lbmRpZjoKKyAgICAgICAgY29udGludWUKKwor
ICAgIGtleXdvcmRfZGVmaW5pdGlvbiA9IGxpbmUuc3BsaXQoJywnKQorICAgIGlmIGxlbihrZXl3
b3JkX2RlZmluaXRpb24pID09IDE6CisgICAgICAgIGtleXdvcmQgPSBrZXl3b3JkX2RlZmluaXRp
b25bMF0uc3RyaXAoKQorICAgICAgICBwc2V1ZG9fZWxlbWVudF9lbnVtX3ZhbHVlID0gZW51bWVy
YWJsZVBzZXVkb1R5cGUoa2V5d29yZCkKKyAgICBlbHNlOgorICAgICAgICBrZXl3b3JkID0ga2V5
d29yZF9kZWZpbml0aW9uWzBdLnN0cmlwKCkKKyAgICAgICAgcHNldWRvX2VsZW1lbnRfZW51bV92
YWx1ZSA9ICJDU1NTZWxlY3Rvcjo6IiArIGtleXdvcmRfZGVmaW5pdGlvblsxXS5zdHJpcCgpCisK
KyAgICBvdXRwdXRfZmlsZS53cml0ZSgnIiVzIiwgJXNcbicgJSAoa2V5d29yZCwgcHNldWRvX2Vs
ZW1lbnRfZW51bV92YWx1ZSkpCisgICAgbG9uZ2VzdF9rZXl3b3JkID0gbWF4KGxvbmdlc3Rfa2V5
d29yZCwgbGVuKGtleXdvcmQpKQorCitvdXRwdXRfZmlsZS53cml0ZSgiIiIlJQorCitzdGF0aWMg
aW5saW5lIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlIHBhcnNlUHNldWRvRWxlbWVudFN0cmluZyhj
b25zdCBMQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQoreworICAgIGlmIChjb25z
dCBTZWxlY3RvclBzZXVkb1R5cGVFbnRyeSogZW50cnkgPSBTZWxlY3RvclBzZXVkb0VsZW1lbnRU
eXBlTWFwSGFzaDo6aW5fd29yZF9zZXQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oY2hh
cmFjdGVycyksIGxlbmd0aCkpCisgICAgICAgIHJldHVybiBlbnRyeS0+dHlwZTsKKyAgICByZXR1
cm4gQ1NTU2VsZWN0b3I6OlBzZXVkb1Vua25vd247Cit9IiIiKQorCitvdXRwdXRfZmlsZS53cml0
ZSgiIiIKKworc3RhdGljIGlubGluZSBDU1NTZWxlY3Rvcjo6UHNldWRvVHlwZSBwYXJzZVBzZXVk
b0VsZW1lbnRTdHJpbmcoY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkK
K3sKKyAgICBjb25zdCB1bnNpZ25lZCBtYXhLZXl3b3JkTGVuZ3RoID0gJXM7CisgICAgTENoYXIg
YnVmZmVyW21heEtleXdvcmRMZW5ndGhdOworICAgIGlmIChsZW5ndGggPiBtYXhLZXl3b3JkTGVu
Z3RoKQorICAgICAgICByZXR1cm4gQ1NTU2VsZWN0b3I6OlBzZXVkb1Vua25vd247CisKKyAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgVUNoYXIgY2hh
cmFjdGVyID0gY2hhcmFjdGVyc1tpXTsKKyAgICAgICAgaWYgKGNoYXJhY3RlciAmIH4weGZmKQor
ICAgICAgICAgICAgcmV0dXJuIENTU1NlbGVjdG9yOjpQc2V1ZG9Vbmtub3duOworCisgICAgICAg
IGJ1ZmZlcltpXSA9IHN0YXRpY19jYXN0PExDaGFyPihjaGFyYWN0ZXIpOworICAgIH0KKyAgICBy
ZXR1cm4gcGFyc2VQc2V1ZG9FbGVtZW50U3RyaW5nKGJ1ZmZlciwgbGVuZ3RoKTsKK30KKyIiIiAl
IGxvbmdlc3Rfa2V5d29yZCkKKworb3V0cHV0X2ZpbGUud3JpdGUoIiIiCitDU1NTZWxlY3Rvcjo6
UHNldWRvVHlwZSBwYXJzZVBzZXVkb0VsZW1lbnRTdHJpbmcoY29uc3QgU3RyaW5nSW1wbCYgcHNl
dWRvVHlwZVN0cmluZykKK3sKKyAgICBpZiAocHNldWRvVHlwZVN0cmluZy5pczhCaXQoKSkKKyAg
ICAgICAgcmV0dXJuIHBhcnNlUHNldWRvRWxlbWVudFN0cmluZyhwc2V1ZG9UeXBlU3RyaW5nLmNo
YXJhY3RlcnM4KCksIHBzZXVkb1R5cGVTdHJpbmcubGVuZ3RoKCkpOworICAgIHJldHVybiBwYXJz
ZVBzZXVkb0VsZW1lbnRTdHJpbmcocHNldWRvVHlwZVN0cmluZy5jaGFyYWN0ZXJzMTYoKSwgcHNl
dWRvVHlwZVN0cmluZy5sZW5ndGgoKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2lmIGRlZmluZWQoX19jbGFuZ19fKQorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorI2Vu
ZGlmCisKKyIiIikKK291dHB1dF9maWxlLmNsb3NlKCkKKworZ3BlcmZfY29tbWFuZCA9ICdncGVy
ZicKK2lmICdHUEVSRicgaW4gb3MuZW52aXJvbjoKKyAgICBncGVyZl9jb21tYW5kID0gb3MuZW52
aXJvblsnR1BFUkYnXQorCitncGVyZl9yZXR1cm4gPSBvcy5zeXN0ZW0oIiVzIC0ta2V5LXBvc2l0
aW9ucz0nKicgLW0gMTAgLXMgMiBTZWxlY3RvclBzZXVkb0VsZW1lbnRUeXBlTWFwLmdwZXJmIC0t
b3V0cHV0LWZpbGU9U2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5jcHAiICUgZ3BlcmZfY29t
bWFuZCkKK2lmIGdwZXJmX3JldHVybiAhPSAwOgorICAgIHByaW50KCJFcnJvciB3aGVuIGdlbmVy
YXRpbmcgU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5jcHAgZnJvbSBTZWxlY3RvclBzZXVk
b0VsZW1lbnRUeXBlTWFwLmdwZXJmIDooIikKKyAgICBzeXMuZXhpdChncGVyZl9yZXR1cm4pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggMjE3Mzk2ZTY0OWRlOGJlMDI3NmIzYzQ0ZWI5
OWE3NjU2MDA4OWI1ZC4uZDdmNTNjMGRlMDE5M2M1MTc4ZmE5Mzc2YTE1MTUxZmY3ZmMwOTI2YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtMTM2OSw3ICsxMzY5LDcgQEAgUGFzc1Jl
ZlB0cjxDU1NSdWxlTGlzdD4gRE9NV2luZG93OjpnZXRNYXRjaGVkQ1NTUnVsZXMoRWxlbWVudCog
ZWxlbWVudCwgY29uc3QgU3QKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICB1bnNpZ25lZCBjb2xv
blN0YXJ0ID0gcHNldWRvRWxlbWVudFswXSA9PSAnOicgPyAocHNldWRvRWxlbWVudFsxXSA9PSAn
OicgPyAyIDogMSkgOiAwOwotICAgIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlIHBzZXVkb1R5cGUg
PSBDU1NTZWxlY3Rvcjo6cGFyc2VQc2V1ZG9UeXBlKEF0b21pY1N0cmluZyhwc2V1ZG9FbGVtZW50
LnN1YnN0cmluZyhjb2xvblN0YXJ0KSkpOworICAgIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlIHBz
ZXVkb1R5cGUgPSBDU1NTZWxlY3Rvcjo6cGFyc2VQc2V1ZG9FbGVtZW50VHlwZShwc2V1ZG9FbGVt
ZW50LnN1YnN0cmluZ1NoYXJpbmdJbXBsKGNvbG9uU3RhcnQpKTsKICAgICBpZiAocHNldWRvVHlw
ZSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvVW5rbm93biAmJiAhcHNldWRvRWxlbWVudC5pc0VtcHR5
KCkpCiAgICAgICAgIHJldHVybiAwOwogCg==
</data>
<flag name="review"
          id="251230"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>