<?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>120694</bug_id>
          
          <creation_ts>2013-09-04 12:46:37 -0700</creation_ts>
          <short_desc>Rename customCssText -&gt; customCSSText to match WebKit style</short_desc>
          <delta_ts>2013-09-04 13:13:30 -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>CSS</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="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>d-r</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>pdr</cc>
    
    <cc>schenney</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>924560</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-09-04 12:46:37 -0700</bug_when>
    <thetext>It was noted in https://bugs.webkit.org/show_bug.cgi?id=72584 that the function name “customCssText” doesn’t match WebKit style; the CSS should be capitalized.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924561</commentid>
    <comment_count>1</comment_count>
      <attachid>210486</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-09-04 12:47:41 -0700</bug_when>
    <thetext>Created attachment 210486
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924569</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-09-04 13:13:30 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/155060</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210486</attachid>
            <date>2013-09-04 12:47:41 -0700</date>
            <delta_ts>2013-09-04 12:49:38 -0700</delta_ts>
            <desc>patch</desc>
            <filename>rename.diff</filename>
            <type>text/plain</type>
            <size>56211</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0YjEzMTc0Li45M2MwZTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTE4
IEBACisyMDEzLTA5LTA0ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgor
CisgICAgICAgIFJlbmFtZSBjdXN0b21Dc3NUZXh0IC0+IGN1c3RvbUNTU1RleHQgdG8gbWF0Y2gg
V2ViS2l0IHN0eWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjA2OTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMsIGp1c3QgYSByZW5hbWUuCisKKyAgICAgICAgKiBXZWJDb3JlLm9y
ZGVyOgorICAgICAgICAqIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6OmN1c3RvbUNTU1RleHQpOgorICAgICAgICAqIGNz
cy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmg6CisgICAgICAgICogY3NzL0NTU0JvcmRlckltYWdlU2xp
Y2VWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU6
OmN1c3RvbUNTU1RleHQpOgorICAgICAgICAqIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUu
aDoKKyAgICAgICAgKiBjc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NDYWxjVmFsdWU6OmN1c3RvbUNTU1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
Q2FsY1ByaW1pdGl2ZVZhbHVlOjpjdXN0b21DU1NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0NhbGNCaW5hcnlPcGVyYXRpb246OmN1c3RvbUNTU1RleHQpOgorICAgICAgICAqIGNzcy9DU1ND
YWxjdWxhdGlvblZhbHVlLmg6CisgICAgICAgICogY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0NhbnZhc1ZhbHVlOjpjdXN0b21DU1NUZXh0KToKKyAgICAgICAg
KiBjc3MvQ1NTQ2FudmFzVmFsdWUuaDoKKyAgICAgICAgKiBjc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ3Jvc3NmYWRlVmFsdWU6OmN1c3RvbUNTU1RleHQp
OgorICAgICAgICAqIGNzcy9DU1NDcm9zc2ZhZGVWYWx1ZS5oOgorICAgICAgICAqIGNzcy9DU1ND
dXJzb3JJbWFnZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0N1cnNvckltYWdlVmFs
dWU6OmN1c3RvbUNTU1RleHQpOgorICAgICAgICAqIGNzcy9DU1NDdXJzb3JJbWFnZVZhbHVlLmg6
CisgICAgICAgICogY3NzL0NTU0ZpbHRlckltYWdlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTRmlsdGVySW1hZ2VWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCk6CisgICAgICAgICogY3NzL0NT
U0ZpbHRlckltYWdlVmFsdWUuaDoKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFjZVNyY1ZhbHVlOjpjdXN0b21DU1NUZXh0
KToKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5oOgorICAgICAgICAqIGNzcy9D
U1NGdW5jdGlvblZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Z1bmN0aW9uVmFsdWU6
OmN1c3RvbUNTU1RleHQpOgorICAgICAgICAqIGNzcy9DU1NGdW5jdGlvblZhbHVlLmg6CisgICAg
ICAgICogY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTGlu
ZWFyR3JhZGllbnRWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NS
YWRpYWxHcmFkaWVudFZhbHVlOjpjdXN0b21DU1NUZXh0KToKKyAgICAgICAgKiBjc3MvQ1NTR3Jh
ZGllbnRWYWx1ZS5oOgorICAgICAgICAqIGNzcy9DU1NJbWFnZVNldFZhbHVlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0ltYWdlU2V0VmFsdWU6OmN1c3RvbUNTU1RleHQpOgorICAgICAgICAq
IGNzcy9DU1NJbWFnZVNldFZhbHVlLmg6CisgICAgICAgICogY3NzL0NTU0ltYWdlVmFsdWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCk6CisgICAg
ICAgICogY3NzL0NTU0ltYWdlVmFsdWUuaDoKKyAgICAgICAgKiBjc3MvQ1NTSW5oZXJpdGVkVmFs
dWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW5oZXJpdGVkVmFsdWU6OmN1c3RvbUNTU1Rl
eHQpOgorICAgICAgICAqIGNzcy9DU1NJbmhlcml0ZWRWYWx1ZS5oOgorICAgICAgICAqIGNzcy9D
U1NJbml0aWFsVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW5pdGlhbFZhbHVlOjpj
dXN0b21DU1NUZXh0KToKKyAgICAgICAgKiBjc3MvQ1NTSW5pdGlhbFZhbHVlLmg6CisgICAgICAg
ICogY3NzL0NTU0xpbmVCb3hDb250YWluVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
TGluZUJveENvbnRhaW5WYWx1ZTo6Y3VzdG9tQ1NTVGV4dCk6CisgICAgICAgICogY3NzL0NTU0xp
bmVCb3hDb250YWluVmFsdWUuaDoKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmN1c3RvbUNTU1RleHQpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmN1c3RvbVNlcmlhbGl6ZVJlc29s
dmluZ1ZhcmlhYmxlcyk6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmg6CisgICAg
ICAgICogY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NSZWZs
ZWN0VmFsdWU6OmN1c3RvbUNTU1RleHQpOgorICAgICAgICAqIGNzcy9DU1NSZWZsZWN0VmFsdWUu
aDoKKyAgICAgICAgKiBjc3MvQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NMaW5lYXJUaW1pbmdGdW5jdGlvblZhbHVlOjpjdXN0b21DU1NUZXh0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0N1YmljQmV6aWVyVGltaW5nRnVuY3Rpb25WYWx1ZTo6Y3VzdG9t
Q1NTVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdGVwc1RpbWluZ0Z1bmN0aW9uVmFsdWU6
OmN1c3RvbUNTU1RleHQpOgorICAgICAgICAqIGNzcy9DU1NUaW1pbmdGdW5jdGlvblZhbHVlLmg6
CisgICAgICAgICogY3NzL0NTU1VuaWNvZGVSYW5nZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1VuaWNvZGVSYW5nZVZhbHVlOjpjdXN0b21DU1NUZXh0KToKKyAgICAgICAgKiBjc3Mv
Q1NTVW5pY29kZVJhbmdlVmFsdWUuaDoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmNzc1RleHQpOgorICAgICAgICAqIGNzcy9DU1NWYWx1
ZUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWVMaXN0OjpjdXN0b21DU1NUZXh0
KToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVMaXN0Lmg6CisgICAgICAgICogY3NzL0ZvbnRGZWF0
dXJlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEZlYXR1cmVWYWx1ZTo6Y3VzdG9t
Q1NTVGV4dCk6CisgICAgICAgICogY3NzL0ZvbnRGZWF0dXJlVmFsdWUuaDoKKyAgICAgICAgKiBj
c3MvRm9udFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRWYWx1ZTo6Y3VzdG9tQ1NT
VGV4dCk6CisgICAgICAgICogY3NzL0ZvbnRWYWx1ZS5oOgorICAgICAgICAqIGNzcy9TaGFkb3dW
YWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCk6
CisgICAgICAgICogY3NzL1NoYWRvd1ZhbHVlLmg6CisgICAgICAgICogY3NzL1dlYktpdENTU0Fy
cmF5RnVuY3Rpb25WYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NBcnJheUZ1
bmN0aW9uVmFsdWU6OmN1c3RvbUNTU1RleHQpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NBcnJh
eUZ1bmN0aW9uVmFsdWUuaDoKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTRmlsdGVyVmFsdWU6OmN1c3RvbUNTU1RleHQp
OgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5oOgorICAgICAgICAqIGNzcy9X
ZWJLaXRDU1NNYXRGdW5jdGlvblZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENT
U01hdEZ1bmN0aW9uVmFsdWU6OmN1c3RvbUNTU1RleHQpOgorICAgICAgICAqIGNzcy9XZWJLaXRD
U1NNYXRGdW5jdGlvblZhbHVlLmg6CisgICAgICAgICogY3NzL1dlYktpdENTU01peEZ1bmN0aW9u
VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZTo6
Y3VzdG9tQ1NTVGV4dCk6CisgICAgICAgICogY3NzL1dlYktpdENTU01peEZ1bmN0aW9uVmFsdWUu
aDoKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlOjpjdXN0b21DU1NUZXh0KToKKyAg
ICAgICAgKiBjc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5oOgorICAgICAgICAqIGNzcy9X
ZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NTaGFk
ZXJWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCk6CisgICAgICAgICogY3NzL1dlYktpdENTU1NoYWRlclZh
bHVlLmg6CisgICAgICAgICogY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpjdXN0b21DU1NUZXh0KToKKyAg
ICAgICAgKiBjc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaDoKKyAgICAgICAgKiBzdmcvU1ZH
Q29sb3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ29sb3I6OmN1c3RvbUNTU1RleHQpOgor
ICAgICAgICAqIHN2Zy9TVkdDb2xvci5oOgorICAgICAgICAqIHN2Zy9TVkdQYWludC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdQYWludDo6Y3VzdG9tQ1NTVGV4dCk6CisgICAgICAgICogc3Zn
L1NWR1BhaW50Lmg6CisKIDIwMTMtMDktMDQgIEJlbSBKb25lcy1CZXkgIDxiam9uZXNiZUBhZG9i
ZS5jb20+CiAKICAgICAgICAgTW92ZSBsb2dpY2FsIGRpbWVuc2lvbiBnZXR0ZXJzL3NldHRlcnMg
dG8gRmxvYXRpbmdPYmplY3QgZnJvbSBSZW5kZXJCbG9jawpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5vcmRlciBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKaW5kZXgg
MDc4OGIzYi4uMGFkNmU3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRl
cgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCkBAIC01NzY3LDcgKzU3NjcsNyBA
QCBfX1pON1dlYkNvcmVMMTdjc3NQcm9wZXJ0eUdldHRlckVQTjNKU0M5RXhlY1N0YXRlRVBOU18y
MUpTQ1NTU3R5bGVEZWNsYXJhdGlvbkVqCiBfX1pON1dlYkNvcmUzMFByb3BlcnR5U2V0Q1NTU3R5
bGVEZWNsYXJhdGlvbjI3Z2V0UHJvcGVydHlDU1NWYWx1ZUludGVybmFsRU5TXzEzQ1NTUHJvcGVy
dHlJREUKIF9fWk5LN1dlYkNvcmUxNlN0eWxlUHJvcGVydHlTZXQxOWdldFByb3BlcnR5Q1NTVmFs
dWVFTlNfMTNDU1NQcm9wZXJ0eUlERQogX19aTks3V2ViQ29yZThDU1NWYWx1ZTdjc3NUZXh0RXYK
LV9fWk5LN1dlYkNvcmUxN0NTU1ByaW1pdGl2ZVZhbHVlMTNjdXN0b21Dc3NUZXh0RXYKK19fWk5L
N1dlYkNvcmUxN0NTU1ByaW1pdGl2ZVZhbHVlMTNjdXN0b21DU1NUZXh0RXYKIF9fWk4zV1RGOUhh
c2hUYWJsZUlQS043V2ViQ29yZTE3Q1NTUHJpbWl0aXZlVmFsdWVFTlNfMTJLZXlWYWx1ZVBhaXJJ
UzRfTlNfNlN0cmluZ0VFRU5TXzI0S2V5VmFsdWVQYWlyS2V5RXh0cmFjdG9ySVM3X0VFTlNfN1B0
ckhhc2hJUzRfRUVOU18xOEhhc2hNYXBWYWx1ZVRyYWl0c0lOU18xMEhhc2hUcmFpdHNJUzRfRUVO
U0RfSVM2X0VFRUVTRV9FMTZsb29rdXBGb3JXcml0aW5nSU5TXzIySWRlbnRpdHlIYXNoVHJhbnNs
YXRvcklTQl9FRVM0X0VFTlN0M19fMTRwYWlySVBTN19iRUVSS1QwXwogX19aTjNXVEY5SGFzaFRh
YmxlSVBLTjdXZWJDb3JlMTdDU1NQcmltaXRpdmVWYWx1ZUVOU18xMktleVZhbHVlUGFpcklTNF9O
U182U3RyaW5nRUVFTlNfMjRLZXlWYWx1ZVBhaXJLZXlFeHRyYWN0b3JJUzdfRUVOU183UHRySGFz
aElTNF9FRU5TXzE4SGFzaE1hcFZhbHVlVHJhaXRzSU5TXzEwSGFzaFRyYWl0c0lTNF9FRU5TRF9J
UzZfRUVFRVNFX0UzYWRkSU5TXzE3SGFzaE1hcFRyYW5zbGF0b3JJU0dfU0JfRUVTNF9TNl9FRU5T
XzE4SGFzaFRhYmxlQWRkUmVzdWx0SU5TXzE3SGFzaFRhYmxlSXRlcmF0b3JJUzRfUzdfUzlfU0Jf
U0dfU0VfRUVFRVJLVDBfUktUMV8KIF9fWk4zV1RGOUhhc2hUYWJsZUlQS043V2ViQ29yZTE3Q1NT
UHJpbWl0aXZlVmFsdWVFTlNfMTJLZXlWYWx1ZVBhaXJJUzRfTlNfNlN0cmluZ0VFRU5TXzI0S2V5
VmFsdWVQYWlyS2V5RXh0cmFjdG9ySVM3X0VFTlNfN1B0ckhhc2hJUzRfRUVOU18xOEhhc2hNYXBW
YWx1ZVRyYWl0c0lOU18xMEhhc2hUcmFpdHNJUzRfRUVOU0RfSVM2X0VFRUVTRV9FNmxvb2t1cElO
U18yMklkZW50aXR5SGFzaFRyYW5zbGF0b3JJU0JfRUVTNF9FRVBTN19SS1QwXwpAQCAtNzc4OCw3
ICs3Nzg4LDcgQEAgX19aTks3V2ViQ29yZTEzU3R5bGVkRWxlbWVudDMzc3luY2hyb25pemVTdHls
ZUF0dHJpYnV0ZUludGVybmFsRXYKIF9fWk5LN1dlYkNvcmUxNlN0eWxlUHJvcGVydHlTZXQ2YXNU
ZXh0RXYKIF9fWk5LN1dlYkNvcmUxNlN0eWxlUHJvcGVydHlTZXQxOWJvcmRlclByb3BlcnR5VmFs
dWVFTlMwXzE1Q29tbW9uVmFsdWVNb2RlRQogX19aTks3V2ViQ29yZTE2U3R5bGVQcm9wZXJ0eVNl
dDE0Z2V0Q29tbW9uVmFsdWVFUktOU18yMlN0eWxlUHJvcGVydHlTaG9ydGhhbmRFCi1fX1pOSzdX
ZWJDb3JlMTVDU1NJbml0aWFsVmFsdWUxM2N1c3RvbUNzc1RleHRFdgorX19aTks3V2ViQ29yZTE1
Q1NTSW5pdGlhbFZhbHVlMTNjdXN0b21DU1NUZXh0RXYKIF9fWk43V2ViQ29yZUwxOGlzSW5pdGlh
bE9ySW5oZXJpdEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTE1Z2V0UHJvcGVydHlOYW1l
RU5TXzEzQ1NTUHJvcGVydHlJREUKIF9fWk43V2ViQ29yZTdFbGVtZW50MjhzZXRTeW5jaHJvbml6
ZWRMYXp5QXR0cmlidXRlRVJLTlNfMTNRdWFsaWZpZWROYW1lRVJLTjNXVEYxMkF0b21pY1N0cmlu
Z0UKQEAgLTExMjgzLDE2ICsxMTI4MywxNiBAQCBfX1pON1dlYkNvcmU5Q1NTUGFyc2VyMThwYXJz
ZUhTTFBhcmFtZXRlcnNFUE5TXzE0Q1NTUGFyc2VyVmFsdWVFUGRiCiBfX1pON1dlYkNvcmUxNm1h
a2VSR0JBRnJvbUhTTEFFZGRkZAogX19aTjdXZWJDb3JlMTliYWNrZ3JvdW5kU2hvcnRoYW5kRXYK
IF9fWk5LN1dlYkNvcmU4Q1NTVmFsdWUyMmlzSW1wbGljaXRJbml0aWFsVmFsdWVFdgotX19aTks3
V2ViQ29yZTEzQ1NTSW1hZ2VWYWx1ZTEzY3VzdG9tQ3NzVGV4dEV2CitfX1pOSzdXZWJDb3JlMTND
U1NJbWFnZVZhbHVlMTNjdXN0b21DU1NUZXh0RXYKIF9fWk43V2ViQ29yZTE5cXVvdGVDU1NVUkxJ
Zk5lZWRlZEVSS04zV1RGNlN0cmluZ0UKIF9fWk5LM1dURjEyU3RyaW5nQXBwZW5kSU5TMF9JUEtj
TlNfNlN0cmluZ0VFRWNFY3ZTM19FdgogX19aTjNXVEYxM3RyeU1ha2VTdHJpbmdJTlNfMTJTdHJp
bmdBcHBlbmRJUEtjTlNfNlN0cmluZ0VFRWNFRU5TXzEwUGFzc1JlZlB0cklOU18xMFN0cmluZ0lt
cGxFRUVUX1QwXwogX19aTks3V2ViQ29yZTE2U3R5bGVQcm9wZXJ0eVNldDE4aXNQcm9wZXJ0eUlt
cGxpY2l0RU5TXzEzQ1NTUHJvcGVydHlJREUKIF9fWk4zV1RGMTNTdHJpbmdCdWlsZGVyNmFwcGVu
ZEVSS1MwXwotX19aTks3V2ViQ29yZTEyQ1NTVmFsdWVMaXN0MTNjdXN0b21Dc3NUZXh0RXYKK19f
Wk5LN1dlYkNvcmUxMkNTU1ZhbHVlTGlzdDEzY3VzdG9tQ1NTVGV4dEV2CiBfX1pON1dlYkNvcmUy
MWJvcmRlclJhZGl1c1Nob3J0aGFuZEV2CiBfX1pOSzdXZWJDb3JlMTZTdHlsZVByb3BlcnR5U2V0
MTBnZXQ0VmFsdWVzRVJLTlNfMjJTdHlsZVByb3BlcnR5U2hvcnRoYW5kRQotX19aTks3V2ViQ29y
ZTIyQ1NTTGluZWFyR3JhZGllbnRWYWx1ZTEzY3VzdG9tQ3NzVGV4dEV2CitfX1pOSzdXZWJDb3Jl
MjJDU1NMaW5lYXJHcmFkaWVudFZhbHVlMTNjdXN0b21DU1NUZXh0RXYKIF9fWk43V2ViQ29yZUwy
OHRyYW5zZm9ybV8zZE1lZGlhRmVhdHVyZUV2YWxFUE5TXzhDU1NWYWx1ZUVQTlNfMTFSZW5kZXJT
dHlsZUVQTlNfNUZyYW1lRU5TXzE4TWVkaWFGZWF0dXJlUHJlZml4RQogX19aTjdXZWJDb3JlMTlq
c0VsZW1lbnRPZmZzZXRMZWZ0RVBOM0pTQzlFeGVjU3RhdGVFTlMwXzdKU1ZhbHVlRU5TMF8xMlBy
b3BlcnR5TmFtZUUKIF9fWk43V2ViQ29yZTdFbGVtZW50MTBvZmZzZXRMZWZ0RXYKQEAgLTExMzI0
LDcgKzExMzI0LDcgQEAgX19aTjNKU0MxOGdldFN0YXRpY1ZhbHVlU2xvdElON1dlYkNvcmU5SlND
U1NSdWxlRU5TMV8xMkpTRE9NV3JhcHBlckVFRWJQTlNfOUV4ZWMKIF9fWk43V2ViQ29yZTE2anND
U1NSdWxlQ3NzVGV4dEVQTjNKU0M5RXhlY1N0YXRlRU5TMF83SlNWYWx1ZUVOUzBfMTJQcm9wZXJ0
eU5hbWVFCiBfX1pOSzdXZWJDb3JlMTVDU1NGb250RmFjZVJ1bGU3Y3NzVGV4dEV2CiBfX1pON1dl
YkNvcmUyMnF1b3RlQ1NTU3RyaW5nSWZOZWVkZWRFUktOM1dURjZTdHJpbmdFCi1fX1pOSzdXZWJD
b3JlMTlDU1NGb250RmFjZVNyY1ZhbHVlMTNjdXN0b21Dc3NUZXh0RXYKK19fWk5LN1dlYkNvcmUx
OUNTU0ZvbnRGYWNlU3JjVmFsdWUxM2N1c3RvbUNTU1RleHRFdgogX19aTjdXZWJDb3JlTDE2YXVk
aW9Db25zdHJ1Y3RvckVSS05TXzEzUXVhbGlmaWVkTmFtZUVQTlNfOERvY3VtZW50RVBOU18xNUhU
TUxGb3JtRWxlbWVudEViCiBfX1pON1dlYkNvcmUxNkhUTUxBdWRpb0VsZW1lbnQ2Y3JlYXRlRVJL
TlNfMTNRdWFsaWZpZWROYW1lRVBOU184RG9jdW1lbnRFYgogX19aTjdXZWJDb3JlTDI5Y3JlYXRl
SFRNTEF1ZGlvRWxlbWVudFdyYXBwZXJFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2Jh
bE9iamVjdEVOM1dURjEwUGFzc1JlZlB0cklOU18xMUhUTUxFbGVtZW50RUVFCkBAIC0xMzUxMCw3
ICsxMzUxMCw3IEBAIF9fWk43V2ViQ29yZTMySlNIVE1MVGV4dEFyZWFFbGVtZW50Q29uc3RydWN0
b3IxNGZpbmlzaENyZWF0aW9uRVBOM0pTQzlFeGVjU3RhdGVFCiBfX1pON1dlYkNvcmUzMkpTSFRN
TFRleHRBcmVhRWxlbWVudENvbnN0cnVjdG9yMThnZXRPd25Qcm9wZXJ0eVNsb3RFUE4zSlNDNkpT
Q2VsbEVQTlMxXzlFeGVjU3RhdGVFTlMxXzEyUHJvcGVydHlOYW1lRVJOUzFfMTJQcm9wZXJ0eVNs
b3RFCiBfX1pOM0pTQzE4Z2V0U3RhdGljVmFsdWVTbG90SU43V2ViQ29yZTMySlNIVE1MVGV4dEFy
ZWFFbGVtZW50Q29uc3RydWN0b3JFTlMxXzEySlNET01XcmFwcGVyRUVFYlBOU185RXhlY1N0YXRl
RVBLTlNfOUhhc2hUYWJsZUVQVF9OU18xMlByb3BlcnR5TmFtZUVSTlNfMTJQcm9wZXJ0eVNsb3RF
CiBfX1pON1dlYkNvcmU5Q1NTUGFyc2VyMTJwYXJzZVJlZmxlY3RFTlNfMTNDU1NQcm9wZXJ0eUlE
RWIKLV9fWk5LN1dlYkNvcmUxMVNoYWRvd1ZhbHVlMTNjdXN0b21Dc3NUZXh0RXYKK19fWk5LN1dl
YkNvcmUxMVNoYWRvd1ZhbHVlMTNjdXN0b21DU1NUZXh0RXYKIF9fWk43V2ViQ29yZTE1SGlkZGVu
SW5wdXRUeXBlOHNldFZhbHVlRVJLTjNXVEY2U3RyaW5nRWJOU18yMlRleHRGaWVsZEV2ZW50QmVo
YXZpb3JFCiBfX1pON1dlYkNvcmU0Tm9kZTEycmVwbGFjZUNoaWxkRU4zV1RGMTBQYXNzUmVmUHRy
SVMwX0VFUFMwX1JpTlNfMTRBdHRhY2hCZWhhdmlvckUKIF9fWk43V2ViQ29yZTE3SlNIVE1MTGlu
a0VsZW1lbnQzcHV0RVBOM0pTQzZKU0NlbGxFUE5TMV85RXhlY1N0YXRlRU5TMV8xMlByb3BlcnR5
TmFtZUVOUzFfN0pTVmFsdWVFUk5TMV8xNVB1dFByb3BlcnR5U2xvdEUKQEAgLTE3NzcyLDcgKzE3
NzcyLDcgQEAgX19aTjdXZWJDb3JlNDRqc0hUTUxUZXh0QXJlYUVsZW1lbnRQcm90b3R5cGVGdW5j
dGlvblNlbGVjdEVQTjNKU0M5RXhlY1N0YXRlRQogX19aTjdXZWJDb3JlMTFSZW5kZXJCbG9jazI0
bG9naWNhbFJpZ2h0U2VsZWN0aW9uR2FwRVBTMF9SS05TXzExTGF5b3V0UG9pbnRFUktOU18xMExh
eW91dFNpemVFUE5TXzEyUmVuZGVyT2JqZWN0RU5TXzEwTGF5b3V0VW5pdEVTQV9TQV9SS05TXzI4
TG9naWNhbFNlbGVjdGlvbk9mZnNldENhY2hlc0VQS05TXzlQYWludEluZm9FCiBfX1pON1dlYkNv
cmUxOVJlbmRlclNjcm9sbGJhclBhcnQxMmltYWdlQ2hhbmdlZEVQdlBLTlNfN0ludFJlY3RFCiBf
X1pOM1dURjZWZWN0b3JJaUxtMEVOU18xNUNyYXNoT25PdmVyZmxvd0VFMTRleHBhbmRDYXBhY2l0
eUVtUEtpCi1fX1pOSzdXZWJDb3JlMTlDU1NDdXJzb3JJbWFnZVZhbHVlMTNjdXN0b21Dc3NUZXh0
RXYKK19fWk5LN1dlYkNvcmUxOUNTU0N1cnNvckltYWdlVmFsdWUxM2N1c3RvbUNTU1RleHRFdgog
X19aTjdXZWJDb3JlNVJhbmdlMjVub2RlQ2hpbGRyZW5XaWxsQmVSZW1vdmVkRVBOU18xM0NvbnRh
aW5lck5vZGVFCiBfX1pON1dlYkNvcmVMMzNib3VuZGFyeU5vZGVDaGlsZHJlbldpbGxCZVJlbW92
ZWRFUk5TXzE4UmFuZ2VCb3VuZGFyeVBvaW50RVBOU18xM0NvbnRhaW5lck5vZGVFCiBfX1pON1dl
YkNvcmUxMkpTUmFuZ2VPd25lcjI2aXNSZWFjaGFibGVGcm9tT3BhcXVlUm9vdHNFTjNKU0M2SGFu
ZGxlSU5TMV83VW5rbm93bkVFRVB2Uk5TMV8xMVNsb3RWaXNpdG9yRQpAQCAtMTg0OTAsNyArMTg0
OTAsNyBAQCBfX1pON1dlYkNvcmUxMFNWR0VsZW1lbnQxNnJlbmRlcmVySXNOZWVkZWRFUktOU18y
ME5vZGVSZW5kZXJpbmdDb250ZXh0RQogX19aTjdXZWJDb3JlMzB3ZWJraXRUcmFuc2Zvcm1Pcmln
aW5TaG9ydGhhbmRFdgogX19aTjNXVEY2VmVjdG9ySU43V2ViQ29yZTEzS2V5ZnJhbWVWYWx1ZUVM
bTBFTlNfMTVDcmFzaE9uT3ZlcmZsb3dFRTZpbnNlcnRJUzJfRUV2bVJLVF8KIF9fWk4zV1RGMjBW
ZWN0b3JUeXBlT3BlcmF0aW9uc0lON1dlYkNvcmUxM0tleWZyYW1lVmFsdWVFRTE1bW92ZU92ZXJs
YXBwaW5nRVBLUzJfUzVfUFMyXwotX19aTks3V2ViQ29yZTIzV2ViS2l0Q1NTVHJhbnNmb3JtVmFs
dWUxM2N1c3RvbUNzc1RleHRFdgorX19aTks3V2ViQ29yZTIzV2ViS2l0Q1NTVHJhbnNmb3JtVmFs
dWUxM2N1c3RvbUNTU1RleHRFdgogX19aTjNXVEYxM3RyeU1ha2VTdHJpbmdJUEtjTlNfNlN0cmlu
Z0VjRUVOU18xMFBhc3NSZWZQdHJJTlNfMTBTdHJpbmdJbXBsRUVFVF9UMF9UMV8KIF9fWk43V2Vi
Q29yZTMwanNIVE1MSUZyYW1lRWxlbWVudEZyYW1lQm9yZGVyRVBOM0pTQzlFeGVjU3RhdGVFTlMw
XzdKU1ZhbHVlRU5TMF8xMlByb3BlcnR5TmFtZUUKIF9fWk43V2ViQ29yZTI4anNIVE1MSUZyYW1l
RWxlbWVudFNjcm9sbGluZ0VQTjNKU0M5RXhlY1N0YXRlRU5TMF83SlNWYWx1ZUVOUzBfMTJQcm9w
ZXJ0eU5hbWVFCkBAIC0xODUzNyw3ICsxODUzNyw3IEBAIF9fWk5LN1dlYkNvcmUxMlJlbmRlcklu
bGluZTIwZ2VuZXJhdGVMaW5lQm94UmVjdHNJTlNfMTJfR0xPQkFMX19OXzEyOUFic29sdXRlUmVj
CiBfX1pOSzdXZWJDb3JlMTJSZW5kZXJJbmxpbmUyNmdlbmVyYXRlQ3VsbGVkTGluZUJveFJlY3Rz
SU5TXzEyX0dMT0JBTF9fTl8xMjlBYnNvbHV0ZVJlY3RzR2VuZXJhdG9yQ29udGV4dEVFRXZSVF9Q
S1MwXwogX19aTjdXZWJDb3JlMTJfR0xPQkFMX19OXzEyOUFic29sdXRlUmVjdHNHZW5lcmF0b3JD
b250ZXh0Y2xFUktOU185RmxvYXRSZWN0RQogX19aTjdXZWJDb3JlOUNTU1BhcnNlcjE5cGFyc2VS
YWRpYWxHcmFkaWVudEVQTlNfMThDU1NQYXJzZXJWYWx1ZUxpc3RFUk4zV1RGNlJlZlB0cklOU184
Q1NTVmFsdWVFRUVOU18xN0NTU0dyYWRpZW50UmVwZWF0RQotX19aTks3V2ViQ29yZTE5Q1NTQXNw
ZWN0UmF0aW9WYWx1ZTEzY3VzdG9tQ3NzVGV4dEV2CitfX1pOSzdXZWJDb3JlMTlDU1NBc3BlY3RS
YXRpb1ZhbHVlMTNjdXN0b21DU1NUZXh0RXYKIF9fWk43V2ViQ29yZUwzMm1heF9hc3BlY3RfcmF0
aW9NZWRpYUZlYXR1cmVFdmFsRVBOU184Q1NTVmFsdWVFUE5TXzExUmVuZGVyU3R5bGVFUE5TXzVG
cmFtZUVOU18xOE1lZGlhRmVhdHVyZVByZWZpeEUKIF9fWk43V2ViQ29yZTMyanNET01XaW5kb3dV
aW50OEFycmF5Q29uc3RydWN0b3JFUE4zSlNDOUV4ZWNTdGF0ZUVOUzBfN0pTVmFsdWVFTlMwXzEy
UHJvcGVydHlOYW1lRQogX19aTjdXZWJDb3JlMTJKU1VpbnQ4QXJyYXkxNGdldENvbnN0cnVjdG9y
RVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8xNEpTR2xvYmFsT2JqZWN0RQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwCmluZGV4IDFmOWJmZjkuLjIyMWZhNjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAKQEAgLTMzLDcgKzMzLDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TdHJpbmcgQ1NTQXNwZWN0UmF0aW9WYWx1ZTo6
Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgQ1NTQXNwZWN0UmF0aW9WYWx1ZTo6Y3VzdG9t
Q1NTVGV4dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIFN0cmluZzo6bnVtYmVyKG1fbnVtZXJhdG9y
VmFsdWUpICsgJy8nICsgU3RyaW5nOjpudW1iZXIobV9kZW5vbWluYXRvclZhbHVlKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oCmluZGV4IGY2ZTU5NWQuLjlmYzc4
Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuaApAQCAtNDEsNyAr
NDEsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQXNwZWN0UmF0
aW9WYWx1ZShudW1lcmF0b3JWYWx1ZSwgZGVub21pbmF0b3JWYWx1ZSkpOwogICAgIH0KIAotICAg
IFN0cmluZyBjdXN0b21Dc3NUZXh0KCkgY29uc3Q7CisgICAgU3RyaW5nIGN1c3RvbUNTU1RleHQo
KSBjb25zdDsKIAogICAgIGZsb2F0IG51bWVyYXRvclZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9u
dW1lcmF0b3JWYWx1ZTsgfQogICAgIGZsb2F0IGRlbm9taW5hdG9yVmFsdWUoKSBjb25zdCB7IHJl
dHVybiBtX2Rlbm9taW5hdG9yVmFsdWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jv
cmRlckltYWdlU2xpY2VWYWx1ZS5jcHAKaW5kZXggYzA2OGU1OC4uNmMxOTIwNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAKQEAgLTM4LDcg
KzM4LDcgQEAgQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlOjpDU1NCb3JkZXJJbWFnZVNsaWNlVmFs
dWUoUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4KIHsKIH0KIAotU3RyaW5nIENTU0JvcmRl
ckltYWdlU2xpY2VWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgQ1NTQm9yZGVy
SW1hZ2VTbGljZVZhbHVlOjpjdXN0b21DU1NUZXh0KCkgY29uc3QKIHsKICAgICAvLyBEdW1wIHRo
ZSBzbGljZXMgZmlyc3QuCiAgICAgU3RyaW5nIHRleHQgPSBtX3NsaWNlcy0+Y3NzVGV4dCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oCmluZGV4IDhk
OWI3YWUuLjQxMTJiZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJ
bWFnZVNsaWNlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VT
bGljZVZhbHVlLmgKQEAgLTQxLDcgKzQxLDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZShzbGljZXMsIGZpbGwpKTsKICAgICB9
CiAKLSAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0OworICAgIFN0cmluZyBjdXN0b21D
U1NUZXh0KCkgY29uc3Q7CiAKICAgICBRdWFkKiBzbGljZXMoKSB7IHJldHVybiBtX3NsaWNlcyA/
IG1fc2xpY2VzLT5nZXRRdWFkVmFsdWUoKSA6IDA7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NhbGN1bGF0aW9uVmFsdWUuY3BwCmluZGV4IGRjYTE3NzkuLjJkMWEzZmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHAKQEAgLTkwLDkgKzkwLDkgQEAgc3Rh
dGljIFN0cmluZyBidWlsZENzc1RleHQoY29uc3QgU3RyaW5nJiBleHByZXNzaW9uKQogICAgIHJl
dHVybiByZXN1bHQudG9TdHJpbmcoKTsgCiB9CiAKLVN0cmluZyBDU1NDYWxjVmFsdWU6OmN1c3Rv
bUNzc1RleHQoKSBjb25zdAorU3RyaW5nIENTU0NhbGNWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIGJ1aWxkQ3NzVGV4dChtX2V4cHJlc3Npb24tPmN1c3RvbUNzc1Rl
eHQoKSk7CisgICAgcmV0dXJuIGJ1aWxkQ3NzVGV4dChtX2V4cHJlc3Npb24tPmN1c3RvbUNTU1Rl
eHQoKSk7CiB9CiAKIGJvb2wgQ1NTQ2FsY1ZhbHVlOjplcXVhbHMoY29uc3QgQ1NTQ2FsY1ZhbHVl
JiBvdGhlcikgY29uc3QKQEAgLTE0NSw3ICsxNDUsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biAhbV92YWx1ZS0+Z2V0RG91YmxlVmFsdWUoKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIFN0cmlu
ZyBjdXN0b21Dc3NUZXh0KCkgY29uc3QKKyAgICB2aXJ0dWFsIFN0cmluZyBjdXN0b21DU1NUZXh0
KCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBtX3ZhbHVlLT5jc3NUZXh0KCk7CiAgICAg
fQpAQCAtMzM5LDkgKzMzOSw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHJlc3VsdC50b1N0
cmluZygpOyAgCiAgICAgfQogCi0gICAgdmlydHVhbCBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNv
bnN0CisgICAgdmlydHVhbCBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNvbnN0CiAgICAgewotICAg
ICAgICByZXR1cm4gYnVpbGRDc3NUZXh0KG1fbGVmdFNpZGUtPmN1c3RvbUNzc1RleHQoKSwgbV9y
aWdodFNpZGUtPmN1c3RvbUNzc1RleHQoKSwgbV9vcGVyYXRvcik7CisgICAgICAgIHJldHVybiBi
dWlsZENzc1RleHQobV9sZWZ0U2lkZS0+Y3VzdG9tQ1NTVGV4dCgpLCBtX3JpZ2h0U2lkZS0+Y3Vz
dG9tQ1NTVGV4dCgpLCBtX29wZXJhdG9yKTsKICAgICB9CiAKICNpZiBFTkFCTEUoQ1NTX1ZBUklB
QkxFUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVl
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5oCmluZGV4IDI2NmU4
ZjcuLmJlZmNlMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlv
blZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuaApA
QCAtNzAsNyArNzAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzT3duUHRyPENhbGNFeHBy
ZXNzaW9uTm9kZT4gdG9DYWxjVmFsdWUoY29uc3QgUmVuZGVyU3R5bGUqLCBjb25zdCBSZW5kZXJT
dHlsZSogcm9vdFN0eWxlLCBkb3VibGUgem9vbSA9IDEuMCkgY29uc3QgPSAwOyAgICAKICAgICB2
aXJ0dWFsIGRvdWJsZSBkb3VibGVWYWx1ZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGRvdWJs
ZSBjb21wdXRlTGVuZ3RoUHgoY29uc3QgUmVuZGVyU3R5bGUqIGN1cnJlbnRTdHlsZSwgY29uc3Qg
UmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIgPSAxLjAsIGJvb2wgY29t
cHV0aW5nRm9udFNpemUgPSBmYWxzZSkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgU3RyaW5nIGN1
c3RvbUNzc1RleHQoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBTdHJpbmcgY3VzdG9tQ1NTVGV4
dCgpIGNvbnN0ID0gMDsKICNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKICAgICB2aXJ0dWFsIFN0
cmluZyBzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJp
bmcsIFN0cmluZz4mKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGhhc1ZhcmlhYmxlUmVm
ZXJlbmNlKCkgY29uc3QgPSAwOwpAQCAtMTA3LDcgKzEwNyw3IEBAIHB1YmxpYzoKICAgICBib29s
IGlzTmVnYXRpdmUoKSBjb25zdCB7IHJldHVybiBtX2V4cHJlc3Npb24tPmRvdWJsZVZhbHVlKCkg
PCAwOyB9CiAgICAgZG91YmxlIGNvbXB1dGVMZW5ndGhQeChjb25zdCBSZW5kZXJTdHlsZSogY3Vy
cmVudFN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGll
ciA9IDEuMCwgYm9vbCBjb21wdXRpbmdGb250U2l6ZSA9IGZhbHNlKSBjb25zdDsKICAgICAgICAg
Ci0gICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsKKyAgICBTdHJpbmcgY3VzdG9tQ1NT
VGV4dCgpIGNvbnN0OwogICAgIGJvb2wgZXF1YWxzKGNvbnN0IENTU0NhbGNWYWx1ZSYpIGNvbnN0
OwogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQogICAgIFN0cmluZyBjdXN0b21TZXJpYWxpemVS
ZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mKSBj
b25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUuY3BwCmluZGV4IGIzNWNmMzAuLjFm
ZTJhMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcApAQCAtMzgsNyArMzgs
NyBAQCBDU1NDYW52YXNWYWx1ZTo6fkNTU0NhbnZhc1ZhbHVlKCkKICAgICAgICAgbV9lbGVtZW50
LT5yZW1vdmVPYnNlcnZlcigmbV9jYW52YXNPYnNlcnZlcik7CiB9CiAKLVN0cmluZyBDU1NDYW52
YXNWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgQ1NTQ2FudmFzVmFsdWU6OmN1
c3RvbUNTU1RleHQoKSBjb25zdAogewogICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OwogICAgIHJl
c3VsdC5hcHBlbmRMaXRlcmFsKCItd2Via2l0LWNhbnZhcygiKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nh
bnZhc1ZhbHVlLmgKaW5kZXggMzI4Nzc3ZS4uMzMzYjMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nh
bnZhc1ZhbHVlLmgKQEAgLTM4LDcgKzM4LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPENTU0NhbnZhc1ZhbHVlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lKSB7IHJldHVybiBh
ZG9wdFJlZihuZXcgQ1NTQ2FudmFzVmFsdWUobmFtZSkpOyB9CiAgICAgfkNTU0NhbnZhc1ZhbHVl
KCk7CiAKLSAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0OworICAgIFN0cmluZyBjdXN0
b21DU1NUZXh0KCkgY29uc3Q7CiAKICAgICBQYXNzUmVmUHRyPEltYWdlPiBpbWFnZShSZW5kZXJP
YmplY3QqLCBjb25zdCBJbnRTaXplJik7CiAgICAgYm9vbCBpc0ZpeGVkU2l6ZSgpIGNvbnN0IHsg
cmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDcm9zc2Zh
ZGVWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuY3BwCmlu
ZGV4IDg1ZjZjNTYuLmYwMDBjMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
cm9zc2ZhZGVWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nyb3NzZmFkZVZh
bHVlLmNwcApAQCAtNTgsNyArNTgsNyBAQCBDU1NDcm9zc2ZhZGVWYWx1ZTo6fkNTU0Nyb3NzZmFk
ZVZhbHVlKCkKICAgICAgICAgbV9jYWNoZWRUb0ltYWdlLT5yZW1vdmVDbGllbnQoJm1fY3Jvc3Nm
YWRlU3ViaW1hZ2VPYnNlcnZlcik7CiB9CiAKLVN0cmluZyBDU1NDcm9zc2ZhZGVWYWx1ZTo6Y3Vz
dG9tQ3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgQ1NTQ3Jvc3NmYWRlVmFsdWU6OmN1c3RvbUNTU1Rl
eHQoKSBjb25zdAogewogICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OwogICAgIHJlc3VsdC5hcHBl
bmRMaXRlcmFsKCItd2Via2l0LWNyb3NzLWZhZGUoIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDcm9z
c2ZhZGVWYWx1ZS5oCmluZGV4IDE1ZjAyZTcuLjQzMzAyZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDcm9zc2ZhZGVWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NDcm9zc2ZhZGVWYWx1ZS5oCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKIAogICAgIH5DU1ND
cm9zc2ZhZGVWYWx1ZSgpOwogCi0gICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsKKyAg
ICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNvbnN0OwogCiAgICAgUGFzc1JlZlB0cjxJbWFnZT4g
aW1hZ2UoUmVuZGVyT2JqZWN0KiwgY29uc3QgSW50U2l6ZSYpOwogICAgIGJvb2wgaXNGaXhlZFNp
emUoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3Vyc29y
SW1hZ2VWYWx1ZS5jcHAKaW5kZXggYWNlZjQ4OC4uZDI1MjIyYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0N1cnNvckltYWdlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDdXJzb3JJbWFnZVZhbHVlLmNwcApAQCAtODYsNyArODYsNyBAQCBDU1NDdXJzb3JJ
bWFnZVZhbHVlOjp+Q1NTQ3Vyc29ySW1hZ2VWYWx1ZSgpCiAjZW5kaWYKIH0KIAotU3RyaW5nIENT
U0N1cnNvckltYWdlVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAorU3RyaW5nIENTU0N1cnNv
ckltYWdlVmFsdWU6OmN1c3RvbUNTU1RleHQoKSBjb25zdAogewogICAgIFN0cmluZ0J1aWxkZXIg
cmVzdWx0OwogICAgIHJlc3VsdC5hcHBlbmQobV9pbWFnZVZhbHVlLT5jc3NUZXh0KCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0N1cnNvckltYWdlVmFsdWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDdXJzb3JJbWFnZVZhbHVlLmgKaW5kZXggODkzOTFjMy4uNGI2YjBl
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0N1cnNvckltYWdlVmFsdWUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oCkBAIC00OSw3ICs0
OSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIEludFBvaW50KC0xLCAtMSk7CiAgICAgfQog
Ci0gICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsKKyAgICBTdHJpbmcgY3VzdG9tQ1NT
VGV4dCgpIGNvbnN0OwogCiAgICAgYm9vbCB1cGRhdGVJZlNWR0N1cnNvcklzVXNlZChFbGVtZW50
Kik7CiAgICAgU3R5bGVJbWFnZSogY2FjaGVkSW1hZ2UoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGaWx0ZXJJbWFnZVZhbHVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGaWx0ZXJJbWFnZVZhbHVlLmNwcAppbmRleCA5YmM3MjA5
Li45YTQ2MzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRmlsdGVySW1hZ2VW
YWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZpbHRlckltYWdlVmFsdWUuY3Bw
CkBAIC00OCw3ICs0OCw3IEBAIENTU0ZpbHRlckltYWdlVmFsdWU6On5DU1NGaWx0ZXJJbWFnZVZh
bHVlKCkKICAgICAgICAgbV9jYWNoZWRJbWFnZS0+cmVtb3ZlQ2xpZW50KCZtX2ZpbHRlclN1Ymlt
YWdlT2JzZXJ2ZXIpOwogfQogCi1TdHJpbmcgQ1NTRmlsdGVySW1hZ2VWYWx1ZTo6Y3VzdG9tQ3Nz
VGV4dCgpIGNvbnN0CitTdHJpbmcgQ1NTRmlsdGVySW1hZ2VWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCgp
IGNvbnN0CiB7CiAgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7CiAgICAgcmVzdWx0LmFwcGVuZExp
dGVyYWwoIi13ZWJraXQtZmlsdGVyKCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZpbHRlckltYWdlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGaWx0ZXJJbWFn
ZVZhbHVlLmgKaW5kZXggZjJmMzA5Mi4uOWE1YmYwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZpbHRlckltYWdlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
RmlsdGVySW1hZ2VWYWx1ZS5oCkBAIC01NSw3ICs1NSw3IEBAIHB1YmxpYzoKIAogICAgIH5DU1NG
aWx0ZXJJbWFnZVZhbHVlKCk7CiAKLSAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0Owor
ICAgIFN0cmluZyBjdXN0b21DU1NUZXh0KCkgY29uc3Q7CiAKICAgICBQYXNzUmVmUHRyPEltYWdl
PiBpbWFnZShSZW5kZXJPYmplY3QqLCBjb25zdCBJbnRTaXplJik7CiAgICAgYm9vbCBpc0ZpeGVk
U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
RmFjZVNyY1ZhbHVlLmNwcAppbmRleCBiZmRiN2E3Li40MDM3NDJkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuY3BwCkBAIC02Myw3ICs2Myw3IEBAIGJvb2wgQ1NT
Rm9udEZhY2VTcmNWYWx1ZTo6aXNTdXBwb3J0ZWRGb3JtYXQoKSBjb25zdAogICAgICAgICAgICA7
CiB9CiAKLVN0cmluZyBDU1NGb250RmFjZVNyY1ZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QK
K1N0cmluZyBDU1NGb250RmFjZVNyY1ZhbHVlOjpjdXN0b21DU1NUZXh0KCkgY29uc3QKIHsKICAg
ICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKICAgICBpZiAoaXNMb2NhbCgpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmgKaW5kZXggMThhNmQxMC4uNDI5YmJiNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5oCkBAIC02Myw3ICs2Myw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldFNWR0ZvbnRGYWNlRWxlbWVudChTVkdGb250RmFjZUVsZW1lbnQq
IGVsZW1lbnQpIHsgbV9zdmdGb250RmFjZUVsZW1lbnQgPSBlbGVtZW50OyB9CiAjZW5kaWYKIAot
ICAgIFN0cmluZyBjdXN0b21Dc3NUZXh0KCkgY29uc3Q7CisgICAgU3RyaW5nIGN1c3RvbUNTU1Rl
eHQoKSBjb25zdDsKIAogICAgIHZvaWQgYWRkU3VicmVzb3VyY2VTdHlsZVVSTHMoTGlzdEhhc2hT
ZXQ8S1VSTD4mLCBjb25zdCBTdHlsZVNoZWV0Q29udGVudHMqKSBjb25zdDsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Z1bmN0aW9uVmFsdWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0Z1bmN0aW9uVmFsdWUuY3BwCmluZGV4IGQzNjNjZjEuLmRkOGVkOTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGdW5jdGlvblZhbHVlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRnVuY3Rpb25WYWx1ZS5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgQ1NT
RnVuY3Rpb25WYWx1ZTo6Q1NTRnVuY3Rpb25WYWx1ZShTdHJpbmcgbmFtZSwgUGFzc1JlZlB0cjxD
U1NWYWx1ZUxpc3Q+IGFyZ3MpCiB7CiB9CiAKLVN0cmluZyBDU1NGdW5jdGlvblZhbHVlOjpjdXN0
b21Dc3NUZXh0KCkgY29uc3QKK1N0cmluZyBDU1NGdW5jdGlvblZhbHVlOjpjdXN0b21DU1NUZXh0
KCkgY29uc3QKIHsKICAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKICAgICByZXN1bHQuYXBwZW5k
KG1fbmFtZSk7IC8vIEluY2x1ZGVzIHRoZSAnKCcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGdW5jdGlvblZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRnVuY3Rpb25W
YWx1ZS5oCmluZGV4IDI3ZTQ1ZGYuLjM3NDMzOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGdW5jdGlvblZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Z1bmN0
aW9uVmFsdWUuaApAQCAtNDUsNyArNDUsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgQ1NTRnVuY3Rpb25WYWx1ZShuYW1lLCBhcmdzKSk7CiAgICAgfQogCi0gICAgU3Ry
aW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsKKyAgICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNv
bnN0OwogCiAgICAgYm9vbCBlcXVhbHMoY29uc3QgQ1NTRnVuY3Rpb25WYWx1ZSYpIGNvbnN0Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKaW5kZXggMWE3YWI0Yi4uZjYw
YTY2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcApAQCAtNDY4LDcg
KzQ2OCw3IEBAIGJvb2wgQ1NTR3JhZGllbnRWYWx1ZTo6a25vd25Ub0JlT3BhcXVlKGNvbnN0IFJl
bmRlck9iamVjdCopIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLVN0cmluZyBDU1NMaW5l
YXJHcmFkaWVudFZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKK1N0cmluZyBDU1NMaW5lYXJH
cmFkaWVudFZhbHVlOjpjdXN0b21DU1NUZXh0KCkgY29uc3QKIHsKICAgICBTdHJpbmdCdWlsZGVy
IHJlc3VsdDsKICAgICBpZiAobV9ncmFkaWVudFR5cGUgPT0gQ1NTRGVwcmVjYXRlZExpbmVhckdy
YWRpZW50KSB7CkBAIC03NDEsNyArNzQxLDcgQEAgYm9vbCBDU1NMaW5lYXJHcmFkaWVudFZhbHVl
OjplcXVhbHMoY29uc3QgQ1NTTGluZWFyR3JhZGllbnRWYWx1ZSYgb3RoZXIpIGNvbnN0CiAgICAg
cmV0dXJuIGVxdWFsWG9yWSAmJiBtX3N0b3BzID09IG90aGVyLm1fc3RvcHM7CiB9CiAKLVN0cmlu
ZyBDU1NSYWRpYWxHcmFkaWVudFZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKK1N0cmluZyBD
U1NSYWRpYWxHcmFkaWVudFZhbHVlOjpjdXN0b21DU1NUZXh0KCkgY29uc3QKIHsKICAgICBTdHJp
bmdCdWlsZGVyIHJlc3VsdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dy
YWRpZW50VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmgKaW5k
ZXggOGExMTc4Zi4uM2YxZWMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dy
YWRpZW50VmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5o
CkBAIC0xNDQsNyArMTQ0LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRBbmdsZShQYXNzUmVm
UHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWwpIHsgbV9hbmdsZSA9IHZhbDsgfQogCi0gICAgU3Ry
aW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsKKyAgICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNv
bnN0OwogCiAgICAgLy8gQ3JlYXRlIHRoZSBncmFkaWVudCBmb3IgYSBnaXZlbiBzaXplLgogICAg
IFBhc3NSZWZQdHI8R3JhZGllbnQ+IGNyZWF0ZUdyYWRpZW50KFJlbmRlck9iamVjdCosIGNvbnN0
IEludFNpemUmKTsKQEAgLTE4Myw3ICsxODMsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgQ1NTUmFkaWFsR3JhZGllbnRWYWx1ZSgqdGhpcykpOwogICAgIH0KIAotICAg
IFN0cmluZyBjdXN0b21Dc3NUZXh0KCkgY29uc3Q7CisgICAgU3RyaW5nIGN1c3RvbUNTU1RleHQo
KSBjb25zdDsKIAogICAgIHZvaWQgc2V0Rmlyc3RSYWRpdXMoUGFzc1JlZlB0cjxDU1NQcmltaXRp
dmVWYWx1ZT4gdmFsKSB7IG1fZmlyc3RSYWRpdXMgPSB2YWw7IH0KICAgICB2b2lkIHNldFNlY29u
ZFJhZGl1cyhQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWwpIHsgbV9zZWNvbmRSYWRp
dXMgPSB2YWw7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZh
bHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcAppbmRleCBj
YmQ4YTQzLi5jZDg4NTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VT
ZXRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3Bw
CkBAIC0xNDEsNyArMTQxLDcgQEAgU3R5bGVJbWFnZSogQ1NTSW1hZ2VTZXRWYWx1ZTo6Y2FjaGVk
T3JQZW5kaW5nSW1hZ2VTZXQoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIHJldHVybiBtX2ltYWdl
U2V0LmdldCgpOwogfQogCi1TdHJpbmcgQ1NTSW1hZ2VTZXRWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgp
IGNvbnN0CitTdHJpbmcgQ1NTSW1hZ2VTZXRWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0CiB7
CiAgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7CiAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIi13
ZWJraXQtaW1hZ2Utc2V0KCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0lt
YWdlU2V0VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmgKaW5k
ZXggOTUyNzBhNi4uYjE0MGYzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0lt
YWdlU2V0VmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5o
CkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIGEgU3R5bGVDYWNoZWRJ
bWFnZVNldCBpZiB0aGUgYmVzdCBmaXQgaW1hZ2UgaGFzIGJlZW4gY2FjaGVkIGFscmVhZHksIG90
aGVyd2lzZSBhIFN0eWxlUGVuZGluZ0ltYWdlLgogICAgIFN0eWxlSW1hZ2UqIGNhY2hlZE9yUGVu
ZGluZ0ltYWdlU2V0KERvY3VtZW50Kik7CiAKLSAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNv
bnN0OworICAgIFN0cmluZyBjdXN0b21DU1NUZXh0KCkgY29uc3Q7CiAKICAgICBib29sIGlzUGVu
ZGluZygpIGNvbnN0IHsgcmV0dXJuICFtX2FjY2Vzc2VkQmVzdEZpdEltYWdlOyB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcAppbmRleCBhMDQwYWMzLi5mYzIzNjhkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwCkBAIC0xMDIsNyArMTAyLDcgQEAgYm9vbCBDU1NJ
bWFnZVZhbHVlOjplcXVhbHMoY29uc3QgQ1NTSW1hZ2VWYWx1ZSYgb3RoZXIpIGNvbnN0CiAgICAg
cmV0dXJuIG1fdXJsID09IG90aGVyLm1fdXJsOwogfQogCi1TdHJpbmcgQ1NTSW1hZ2VWYWx1ZTo6
Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgQ1NTSW1hZ2VWYWx1ZTo6Y3VzdG9tQ1NTVGV4
dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuICJ1cmwoIiArIHF1b3RlQ1NTVVJMSWZOZWVkZWQobV91
cmwpICsgJyknOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFs
dWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKaW5kZXggOGI3M2NlZS4u
OTExODdkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCkBAIC00Niw3ICs0Niw3IEBA
IHB1YmxpYzoKIAogICAgIGNvbnN0IFN0cmluZyYgdXJsKCkgeyByZXR1cm4gbV91cmw7IH0KIAot
ICAgIFN0cmluZyBjdXN0b21Dc3NUZXh0KCkgY29uc3Q7CisgICAgU3RyaW5nIGN1c3RvbUNTU1Rl
eHQoKSBjb25zdDsKIAogICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGNsb25lRm9yQ1NTT00oKSBj
b25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0luaGVyaXRlZFZhbHVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbmhlcml0ZWRWYWx1ZS5jcHAKaW5kZXggNzZh
NThjMy4uMDViMTgzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0luaGVyaXRl
ZFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW5oZXJpdGVkVmFsdWUuY3Bw
CkBAIC0yNSw3ICsyNSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU3RyaW5nIENTU0lu
aGVyaXRlZFZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKK1N0cmluZyBDU1NJbmhlcml0ZWRW
YWx1ZTo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgi
aW5oZXJpdCIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0luaGVyaXRl
ZFZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW5oZXJpdGVkVmFsdWUuaAppbmRleCAz
Zjc0NzhiLi44ODZhYTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW5oZXJp
dGVkVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW5oZXJpdGVkVmFsdWUuaApA
QCAtMzMsNyArMzMsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NT
SW5oZXJpdGVkVmFsdWUpOwogICAgIH0KIAotICAgIFN0cmluZyBjdXN0b21Dc3NUZXh0KCkgY29u
c3Q7CisgICAgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdDsKIAogICAgIGJvb2wgZXF1YWxz
KGNvbnN0IENTU0luaGVyaXRlZFZhbHVlJikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW5pdGlhbFZhbHVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NJbml0aWFsVmFsdWUuY3BwCmluZGV4IDgxNzM1NjcuLjVkOGZjMjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbml0aWFsVmFsdWUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NJbml0aWFsVmFsdWUuY3BwCkBAIC0yNSw3ICsyNSw3IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU3RyaW5nIENTU0luaXRpYWxWYWx1ZTo6Y3VzdG9tQ3Nz
VGV4dCgpIGNvbnN0CitTdHJpbmcgQ1NTSW5pdGlhbFZhbHVlOjpjdXN0b21DU1NUZXh0KCkgY29u
c3QKIHsKICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJpbml0aWFsIik7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW5pdGlhbFZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW5pdGlhbFZhbHVlLmgKaW5kZXggODlhMDk4ZC4uNmU2OTU4OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0luaXRpYWxWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NJbml0aWFsVmFsdWUuaApAQCAtMzcsNyArMzcsNyBAQCBwdWJsaWM6CiAgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTSW5pdGlhbFZhbHVlKC8qIGltcGxpY2l0ICovIHRydWUp
KTsKICAgICB9CiAKLSAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0OworICAgIFN0cmlu
ZyBjdXN0b21DU1NUZXh0KCkgY29uc3Q7CiAKICAgICBib29sIGlzSW1wbGljaXQoKSBjb25zdCB7
IHJldHVybiBtX2lzSW1wbGljaXQ7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0xpbmVCb3hDb250YWluVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0xpbmVC
b3hDb250YWluVmFsdWUuY3BwCmluZGV4IGNkNTRlZDguLmYwNzVjNjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NMaW5lQm94Q29udGFpblZhbHVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5jcHAKQEAgLTM4LDcgKzM4LDcgQEAg
Q1NTTGluZUJveENvbnRhaW5WYWx1ZTo6Q1NTTGluZUJveENvbnRhaW5WYWx1ZSh1bnNpZ25lZCB2
YWx1ZSkKIHsKIH0KIAotU3RyaW5nIENTU0xpbmVCb3hDb250YWluVmFsdWU6OmN1c3RvbUNzc1Rl
eHQoKSBjb25zdAorU3RyaW5nIENTU0xpbmVCb3hDb250YWluVmFsdWU6OmN1c3RvbUNTU1RleHQo
KSBjb25zdAogewogICAgIFN0cmluZ0J1aWxkZXIgdGV4dDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0xpbmVCb3hDb250YWluVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NMaW5lQm94Q29udGFpblZhbHVlLmgKaW5kZXggYWU1OWMxOC4uYTNjOTI5OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0xpbmVCb3hDb250YWluVmFsdWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5oCkBAIC00Niw3ICs0Niw3
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NMaW5lQm94Q29udGFp
blZhbHVlKHZhbHVlKSk7CiAgICAgfQogCi0gICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25z
dDsKKyAgICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNvbnN0OwogICAgIGJvb2wgZXF1YWxzKGNv
bnN0IENTU0xpbmVCb3hDb250YWluVmFsdWUmIG90aGVyKSBjb25zdCB7IHJldHVybiBtX3ZhbHVl
ID09IG90aGVyLm1fdmFsdWU7IH0KICAgICBMaW5lQm94Q29udGFpbiB2YWx1ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fdmFsdWU7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
aW1pdGl2ZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5j
cHAKaW5kZXggMjIwMjI2Mi4uMDlmYTQ2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0
aXZlVmFsdWUuY3BwCkBAIC05MDYsNyArOTA2LDcgQEAgQUxXQVlTX0lOTElORSBzdGF0aWMgU3Ry
aW5nIGZvcm1hdE51bWJlcihkb3VibGUgbnVtYmVyLCBjb25zdCBjaGFyICgmY2hhcmFjdGVycykK
ICAgICByZXR1cm4gZm9ybWF0TnVtYmVyKG51bWJlciwgY2hhcmFjdGVycywgY2hhcmFjdGVyQ291
bnQgLSAxKTsKIH0KIAotU3RyaW5nIENTU1ByaW1pdGl2ZVZhbHVlOjpjdXN0b21Dc3NUZXh0KCkg
Y29uc3QKK1N0cmluZyBDU1NQcmltaXRpdmVWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0CiB7
CiAgICAgLy8gRklYTUU6IHJldHVybiB0aGUgb3JpZ2luYWwgdmFsdWUgaW5zdGVhZCBvZiBhIGdl
bmVyYXRlZCBvbmUgKGUuZy4gY29sb3IKICAgICAvLyBuYW1lIGlmIGl0IHdhcyBzcGVjaWZpZWQp
IC0gY2hlY2sgd2hhdCBzcGVjIHNheXMgYWJvdXQgdGhpcwpAQCAtMTE3OCw3ICsxMTc4LDcgQEAg
U3RyaW5nIENTU1ByaW1pdGl2ZVZhbHVlOjpjdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJs
ZXMoY29uc3QgSGFzaE1hcDxBdG9taWMKICAgICAgICAgcmV0dXJuIHF1YWRWYWwtPnNlcmlhbGl6
ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpOwogICAgIGlmIChDU1NCYXNpY1NoYXBlKiBz
aGFwZVZhbHVlID0gZ2V0U2hhcGVWYWx1ZSgpKQogICAgICAgICByZXR1cm4gc2hhcGVWYWx1ZS0+
c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyk7Ci0gICAgcmV0dXJuIGN1c3Rv
bUNzc1RleHQoKTsKKyAgICByZXR1cm4gY3VzdG9tQ1NTVGV4dCgpOwogfQogCiBib29sIENTU1By
aW1pdGl2ZVZhbHVlOjpoYXNWYXJpYWJsZVJlZmVyZW5jZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcmltaXRpdmVWYWx1ZS5oCmluZGV4IDI4YWU0ZTguLjYwOWFkYmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCkBAIC0zMTgsNyArMzE4LDcgQEAgcHVibGljOgog
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIG9wZXJhdG9yIFQoKSBjb25zdDsgLy8g
RGVmaW5lZCBpbiBDU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKIAotICAgIFN0cmluZyBjdXN0
b21Dc3NUZXh0KCkgY29uc3Q7CisgICAgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdDsKICNp
ZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKICAgICBTdHJpbmcgY3VzdG9tU2VyaWFsaXplUmVzb2x2
aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JikgY29uc3Q7
CiAgICAgYm9vbCBoYXNWYXJpYWJsZVJlZmVyZW5jZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUmVmbGVjdFZhbHVlLmNwcAppbmRleCAwOWI3OWM3Li5jZjcxNDk1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVmbGVjdFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUmVmbGVjdFZhbHVlLmNwcApAQCAtMzMsNyArMzMsNyBAQCB1c2luZyBuYW1lc3Bh
Y2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVN0cmluZyBDU1NSZWZsZWN0VmFsdWU6
OmN1c3RvbUNzc1RleHQoKSBjb25zdAorU3RyaW5nIENTU1JlZmxlY3RWYWx1ZTo6Y3VzdG9tQ1NT
VGV4dCgpIGNvbnN0CiB7CiAgICAgaWYgKG1fbWFzaykKICAgICAgICAgcmV0dXJuIG1fZGlyZWN0
aW9uLT5jc3NUZXh0KCkgKyAnICcgKyBtX29mZnNldC0+Y3NzVGV4dCgpICsgJyAnICsgbV9tYXNr
LT5jc3NUZXh0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVmbGVjdFZh
bHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVmbGVjdFZhbHVlLmgKaW5kZXggY2ZhODcz
My4uODJhMWFmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuaApAQCAtNDcsNyAr
NDcsNyBAQCBwdWJsaWM6CiAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIG9mZnNldCgpIGNvbnN0IHsg
cmV0dXJuIG1fb2Zmc2V0LmdldCgpOyB9CiAgICAgQ1NTVmFsdWUqIG1hc2soKSBjb25zdCB7IHJl
dHVybiBtX21hc2suZ2V0KCk7IH0KIAotICAgIFN0cmluZyBjdXN0b21Dc3NUZXh0KCkgY29uc3Q7
CisgICAgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdDsKICNpZiBFTkFCTEUoQ1NTX1ZBUklB
QkxFUykKICAgICBTdHJpbmcgY3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0
IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JikgY29uc3Q7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUaW1pbmdGdW5jdGlvblZhbHVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NUaW1pbmdGdW5jdGlvblZhbHVlLmNwcAppbmRleCBhZWRlMmZmLi5m
NGRmMzdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVGltaW5nRnVuY3Rpb25W
YWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RpbWluZ0Z1bmN0aW9uVmFsdWUu
Y3BwCkBAIC0zMCwxMyArMzAsMTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TdHJpbmcg
Q1NTTGluZWFyVGltaW5nRnVuY3Rpb25WYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CitTdHJp
bmcgQ1NTTGluZWFyVGltaW5nRnVuY3Rpb25WYWx1ZTo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgibGluZWFyIik7CiB9CiAKIAotU3RyaW5nIENTU0N1
YmljQmV6aWVyVGltaW5nRnVuY3Rpb25WYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CitTdHJp
bmcgQ1NTQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvblZhbHVlOjpjdXN0b21DU1NUZXh0KCkgY29u
c3QKIHsKICAgICByZXR1cm4gImN1YmljLWJlemllcigiCiAgICAgICAgICsgU3RyaW5nOjpudW1i
ZXIobV94MSkgKyAiLCAiCkBAIC01MSw3ICs1MSw3IEBAIGJvb2wgQ1NTQ3ViaWNCZXppZXJUaW1p
bmdGdW5jdGlvblZhbHVlOjplcXVhbHMoY29uc3QgQ1NTQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlv
CiB9CiAKIAotU3RyaW5nIENTU1N0ZXBzVGltaW5nRnVuY3Rpb25WYWx1ZTo6Y3VzdG9tQ3NzVGV4
dCgpIGNvbnN0CitTdHJpbmcgQ1NTU3RlcHNUaW1pbmdGdW5jdGlvblZhbHVlOjpjdXN0b21DU1NU
ZXh0KCkgY29uc3QKIHsKICAgICByZXR1cm4gInN0ZXBzKCIgKyBTdHJpbmc6Om51bWJlcihtX3N0
ZXBzKSArICIsICIgKyAobV9zdGVwQXRTdGFydCA/ICJzdGFydCIgOiAiZW5kIikgKyAnKSc7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuaAppbmRleCAxOWI5
YzRiLi5jMmFhYzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVGltaW5nRnVu
Y3Rpb25WYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUaW1pbmdGdW5jdGlvblZh
bHVlLmgKQEAgLTM4LDcgKzM4LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IENTU0xpbmVhclRpbWluZ0Z1bmN0aW9uVmFsdWUpOwogICAgIH0KIAotICAgIFN0cmluZyBj
dXN0b21Dc3NUZXh0KCkgY29uc3Q7CisgICAgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdDsK
IAogICAgIGJvb2wgZXF1YWxzKGNvbnN0IENTU0xpbmVhclRpbWluZ0Z1bmN0aW9uVmFsdWUmKSBj
b25zdCB7IHJldHVybiB0cnVlOyB9CiAKQEAgLTU2LDcgKzU2LDcgQEAgcHVibGljOgogICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IENTU0N1YmljQmV6aWVyVGltaW5nRnVuY3Rpb25WYWx1ZSh4
MSwgeTEsIHgyLCB5MikpOwogICAgIH0KIAotICAgIFN0cmluZyBjdXN0b21Dc3NUZXh0KCkgY29u
c3Q7CisgICAgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdDsKIAogICAgIGRvdWJsZSB4MSgp
IGNvbnN0IHsgcmV0dXJuIG1feDE7IH0KICAgICBkb3VibGUgeTEoKSBjb25zdCB7IHJldHVybiBt
X3kxOyB9CkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICBpbnQgbnVtYmVyT2ZTdGVwcygp
IGNvbnN0IHsgcmV0dXJuIG1fc3RlcHM7IH0KICAgICBib29sIHN0ZXBBdFN0YXJ0KCkgY29uc3Qg
eyByZXR1cm4gbV9zdGVwQXRTdGFydDsgfQogCi0gICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBj
b25zdDsKKyAgICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNvbnN0OwogCiAgICAgYm9vbCBlcXVh
bHMoY29uc3QgQ1NTU3RlcHNUaW1pbmdGdW5jdGlvblZhbHVlJikgY29uc3Q7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbmljb2RlUmFuZ2VWYWx1ZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVW5pY29kZVJhbmdlVmFsdWUuY3BwCmluZGV4IGMxOThiNGEuLjZjMjJl
MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbmljb2RlUmFuZ2VWYWx1ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaWNvZGVSYW5nZVZhbHVlLmNwcApAQCAt
MzAsNyArMzAsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVN0cmluZyBDU1NVbmljb2Rl
UmFuZ2VWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgQ1NTVW5pY29kZVJhbmdl
VmFsdWU6OmN1c3RvbUNTU1RleHQoKSBjb25zdAogewogICAgIFN0cmluZyByZXN1bHQ7CiAgICAg
Ly8gRklYTUU6IEltcGxlbWVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NV
bmljb2RlUmFuZ2VWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaWNvZGVSYW5nZVZh
bHVlLmgKaW5kZXggMmIyZmRlNy4uNDM5ZWJlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1VuaWNvZGVSYW5nZVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Vu
aWNvZGVSYW5nZVZhbHVlLmgKQEAgLTQyLDcgKzQyLDcgQEAgcHVibGljOgogICAgIFVDaGFyMzIg
ZnJvbSgpIGNvbnN0IHsgcmV0dXJuIG1fZnJvbTsgfQogICAgIFVDaGFyMzIgdG8oKSBjb25zdCB7
IHJldHVybiBtX3RvOyB9CiAKLSAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0OworICAg
IFN0cmluZyBjdXN0b21DU1NUZXh0KCkgY29uc3Q7CiAKICAgICBib29sIGVxdWFscyhjb25zdCBD
U1NVbmljb2RlUmFuZ2VWYWx1ZSYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRl
eCA4Njg3YzBlLi4yYTNmYzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTI3MCw3NSAr
MjcwLDc1IEBAIFN0cmluZyBDU1NWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CiAKICAgICBzd2l0Y2gg
KGNsYXNzVHlwZSgpKSB7CiAgICAgY2FzZSBBc3BlY3RSYXRpb0NsYXNzOgotICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTQXNwZWN0UmF0aW9WYWx1ZSo+KHRoaXMpLT5jdXN0b21D
c3NUZXh0KCk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NBc3BlY3RSYXRp
b1ZhbHVlKj4odGhpcyktPmN1c3RvbUNTU1RleHQoKTsKICAgICBjYXNlIEJvcmRlckltYWdlU2xp
Y2VDbGFzczoKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU0JvcmRlckltYWdl
U2xpY2VWYWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CisgICAgICAgIHJldHVybiBzdGF0
aWNfY2FzdDxjb25zdCBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUqPih0aGlzKS0+Y3VzdG9tQ1NT
VGV4dCgpOwogICAgIGNhc2UgQ2FudmFzQ2xhc3M6Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxjb25zdCBDU1NDYW52YXNWYWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CisgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NDYW52YXNWYWx1ZSo+KHRoaXMpLT5jdXN0b21D
U1NUZXh0KCk7CiAgICAgY2FzZSBDdXJzb3JJbWFnZUNsYXNzOgotICAgICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8Y29uc3QgQ1NTQ3Vyc29ySW1hZ2VWYWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0
KCk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NDdXJzb3JJbWFnZVZhbHVl
Kj4odGhpcyktPmN1c3RvbUNTU1RleHQoKTsKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiAgICAg
Y2FzZSBGaWx0ZXJJbWFnZUNsYXNzOgotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3Qg
Q1NTRmlsdGVySW1hZ2VWYWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CisgICAgICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NGaWx0ZXJJbWFnZVZhbHVlKj4odGhpcyktPmN1c3Rv
bUNTU1RleHQoKTsKICNlbmRpZgogICAgIGNhc2UgRm9udENsYXNzOgotICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8Y29uc3QgRm9udFZhbHVlKj4odGhpcyktPmN1c3RvbUNzc1RleHQoKTsKKyAg
ICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IEZvbnRWYWx1ZSo+KHRoaXMpLT5jdXN0b21D
U1NUZXh0KCk7CiAgICAgY2FzZSBGb250RmFjZVNyY0NsYXNzOgotICAgICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8Y29uc3QgQ1NTRm9udEZhY2VTcmNWYWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0
KCk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NGb250RmFjZVNyY1ZhbHVl
Kj4odGhpcyktPmN1c3RvbUNTU1RleHQoKTsKICAgICBjYXNlIEZvbnRGZWF0dXJlQ2xhc3M6Ci0g
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBGb250RmVhdHVyZVZhbHVlKj4odGhpcykt
PmN1c3RvbUNzc1RleHQoKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IEZvbnRG
ZWF0dXJlVmFsdWUqPih0aGlzKS0+Y3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgRnVuY3Rpb25D
bGFzczoKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU0Z1bmN0aW9uVmFsdWUq
Pih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29u
c3QgQ1NTRnVuY3Rpb25WYWx1ZSo+KHRoaXMpLT5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBM
aW5lYXJHcmFkaWVudENsYXNzOgotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NT
TGluZWFyR3JhZGllbnRWYWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CisgICAgICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NMaW5lYXJHcmFkaWVudFZhbHVlKj4odGhpcyktPmN1
c3RvbUNTU1RleHQoKTsKICAgICBjYXNlIFJhZGlhbEdyYWRpZW50Q2xhc3M6Ci0gICAgICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NSYWRpYWxHcmFkaWVudFZhbHVlKj4odGhpcyktPmN1
c3RvbUNzc1RleHQoKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU1JhZGlh
bEdyYWRpZW50VmFsdWUqPih0aGlzKS0+Y3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgQ3Jvc3Nm
YWRlQ2xhc3M6Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NDcm9zc2ZhZGVW
YWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxjb25zdCBDU1NDcm9zc2ZhZGVWYWx1ZSo+KHRoaXMpLT5jdXN0b21DU1NUZXh0KCk7CiAgICAg
Y2FzZSBJbWFnZUNsYXNzOgotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTSW1h
Z2VWYWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CisgICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxjb25zdCBDU1NJbWFnZVZhbHVlKj4odGhpcyktPmN1c3RvbUNTU1RleHQoKTsKICAgICBj
YXNlIEluaGVyaXRlZENsYXNzOgotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NT
SW5oZXJpdGVkVmFsdWUqPih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOworICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8Y29uc3QgQ1NTSW5oZXJpdGVkVmFsdWUqPih0aGlzKS0+Y3VzdG9tQ1NTVGV4
dCgpOwogICAgIGNhc2UgSW5pdGlhbENsYXNzOgotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
Y29uc3QgQ1NTSW5pdGlhbFZhbHVlKj4odGhpcyktPmN1c3RvbUNzc1RleHQoKTsKKyAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU0luaXRpYWxWYWx1ZSo+KHRoaXMpLT5jdXN0b21D
U1NUZXh0KCk7CiAgICAgY2FzZSBQcmltaXRpdmVDbGFzczoKLSAgICAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PGNvbnN0IENTU1ByaW1pdGl2ZVZhbHVlKj4odGhpcyktPmN1c3RvbUNzc1RleHQoKTsK
KyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU1ByaW1pdGl2ZVZhbHVlKj4odGhp
cyktPmN1c3RvbUNTU1RleHQoKTsKICAgICBjYXNlIFJlZmxlY3RDbGFzczoKLSAgICAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU1JlZmxlY3RWYWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NU
ZXh0KCk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NSZWZsZWN0VmFsdWUq
Pih0aGlzKS0+Y3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgU2hhZG93Q2xhc3M6Ci0gICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBTaGFkb3dWYWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NU
ZXh0KCk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBTaGFkb3dWYWx1ZSo+KHRo
aXMpLT5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBMaW5lYXJUaW1pbmdGdW5jdGlvbkNsYXNz
OgotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTTGluZWFyVGltaW5nRnVuY3Rp
b25WYWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CisgICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxjb25zdCBDU1NMaW5lYXJUaW1pbmdGdW5jdGlvblZhbHVlKj4odGhpcyktPmN1c3RvbUNT
U1RleHQoKTsKICAgICBjYXNlIEN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb25DbGFzczoKLSAgICAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU0N1YmljQmV6aWVyVGltaW5nRnVuY3Rpb25W
YWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxjb25zdCBDU1NDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uVmFsdWUqPih0aGlzKS0+Y3VzdG9t
Q1NTVGV4dCgpOwogICAgIGNhc2UgU3RlcHNUaW1pbmdGdW5jdGlvbkNsYXNzOgotICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTU3RlcHNUaW1pbmdGdW5jdGlvblZhbHVlKj4odGhp
cyktPmN1c3RvbUNzc1RleHQoKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENT
U1N0ZXBzVGltaW5nRnVuY3Rpb25WYWx1ZSo+KHRoaXMpLT5jdXN0b21DU1NUZXh0KCk7CiAgICAg
Y2FzZSBVbmljb2RlUmFuZ2VDbGFzczoKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0
IENTU1VuaWNvZGVSYW5nZVZhbHVlKj4odGhpcyktPmN1c3RvbUNzc1RleHQoKTsKKyAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU1VuaWNvZGVSYW5nZVZhbHVlKj4odGhpcyktPmN1
c3RvbUNTU1RleHQoKTsKICAgICBjYXNlIFZhbHVlTGlzdENsYXNzOgotICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8Y29uc3QgQ1NTVmFsdWVMaXN0Kj4odGhpcyktPmN1c3RvbUNzc1RleHQoKTsK
KyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU1ZhbHVlTGlzdCo+KHRoaXMpLT5j
dXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBXZWJLaXRDU1NUcmFuc2Zvcm1DbGFzczoKLSAgICAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU1RyYW5zZm9ybVZhbHVlKj4odGhp
cyktPmN1c3RvbUNzc1RleHQoKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFdl
YktpdENTU1RyYW5zZm9ybVZhbHVlKj4odGhpcyktPmN1c3RvbUNTU1RleHQoKTsKICAgICBjYXNl
IExpbmVCb3hDb250YWluQ2xhc3M6Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBD
U1NMaW5lQm94Q29udGFpblZhbHVlKj4odGhpcyktPmN1c3RvbUNzc1RleHQoKTsKKyAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU0xpbmVCb3hDb250YWluVmFsdWUqPih0aGlzKS0+
Y3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgQ2FsY3VsYXRpb25DbGFzczoKLSAgICAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU0NhbGNWYWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0
KCk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NDYWxjVmFsdWUqPih0aGlz
KS0+Y3VzdG9tQ1NTVGV4dCgpOwogI2lmIEVOQUJMRShDU1NfSU1BR0VfU0VUKQogICAgIGNhc2Ug
SW1hZ2VTZXRDbGFzczoKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU0ltYWdl
U2V0VmFsdWUqPih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOworICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8Y29uc3QgQ1NTSW1hZ2VTZXRWYWx1ZSo+KHRoaXMpLT5jdXN0b21DU1NUZXh0KCk7CiAj
ZW5kaWYKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiAgICAgY2FzZSBXZWJLaXRDU1NGaWx0ZXJD
bGFzczoKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU0ZpbHRlclZh
bHVlKj4odGhpcyktPmN1c3RvbUNzc1RleHQoKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PGNvbnN0IFdlYktpdENTU0ZpbHRlclZhbHVlKj4odGhpcyktPmN1c3RvbUNTU1RleHQoKTsKICNp
ZiBFTkFCTEUoQ1NTX1NIQURFUlMpCiAgICAgY2FzZSBXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFs
dWVDbGFzczoKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU0FycmF5
RnVuY3Rpb25WYWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CisgICAgICAgIHJldHVybiBz
dGF0aWNfY2FzdDxjb25zdCBXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWUqPih0aGlzKS0+Y3Vz
dG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgV2ViS2l0Q1NTTWF0RnVuY3Rpb25WYWx1ZUNsYXNzOgot
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTTWF0RnVuY3Rpb25WYWx1
ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxj
b25zdCBXZWJLaXRDU1NNYXRGdW5jdGlvblZhbHVlKj4odGhpcyktPmN1c3RvbUNTU1RleHQoKTsK
ICAgICBjYXNlIFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWVDbGFzczoKLSAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWUqPih0aGlzKS0+Y3Vz
dG9tQ3NzVGV4dCgpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NT
TWl4RnVuY3Rpb25WYWx1ZSo+KHRoaXMpLT5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBXZWJL
aXRDU1NTaGFkZXJDbGFzczoKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFdlYktp
dENTU1NoYWRlclZhbHVlKj4odGhpcyktPmN1c3RvbUNzc1RleHQoKTsKKyAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU1NoYWRlclZhbHVlKj4odGhpcyktPmN1c3RvbUNT
U1RleHQoKTsKICNlbmRpZgogI2VuZGlmCiAjaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCkBAIC0z
NDcsMTEgKzM0NywxMSBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBjb25zdAogI2VuZGlm
CiAjaWYgRU5BQkxFKFNWRykKICAgICBjYXNlIFNWR0NvbG9yQ2xhc3M6Ci0gICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxjb25zdCBTVkdDb2xvcio+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7Cisg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBTVkdDb2xvcio+KHRoaXMpLT5jdXN0b21D
U1NUZXh0KCk7CiAgICAgY2FzZSBTVkdQYWludENsYXNzOgotICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8Y29uc3QgU1ZHUGFpbnQqPih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOworICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgU1ZHUGFpbnQqPih0aGlzKS0+Y3VzdG9tQ1NTVGV4dCgp
OwogICAgIGNhc2UgV2ViS2l0Q1NTU1ZHRG9jdW1lbnRDbGFzczoKLSAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU1NWR0RvY3VtZW50VmFsdWUqPih0aGlzKS0+Y3VzdG9t
Q3NzVGV4dCgpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTU1ZH
RG9jdW1lbnRWYWx1ZSo+KHRoaXMpLT5jdXN0b21DU1NUZXh0KCk7CiAjZW5kaWYKICAgICB9CiAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuY3BwCmlu
ZGV4IDQyM2UyNmUuLjQ5ZjVjN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NW
YWx1ZUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuY3BwCkBA
IC05NSw3ICs5NSw3IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWVMaXN0PiBDU1NWYWx1ZUxpc3Q6OmNv
cHkoKQogICAgIHJldHVybiBuZXdMaXN0LnJlbGVhc2UoKTsKIH0KIAotU3RyaW5nIENTU1ZhbHVl
TGlzdDo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgQ1NTVmFsdWVMaXN0OjpjdXN0b21D
U1NUZXh0KCkgY29uc3QKIHsKICAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKICAgICBTdHJpbmcg
c2VwYXJhdG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5oCmluZGV4IGQyY2EyYmUuLjllZTFh
ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmgKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGlj
OgogICAgIGJvb2wgaGFzVmFsdWUoQ1NTVmFsdWUqKSBjb25zdDsKICAgICBQYXNzUmVmUHRyPENT
U1ZhbHVlTGlzdD4gY29weSgpOwogCi0gICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsK
KyAgICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNvbnN0OwogICAgIGJvb2wgZXF1YWxzKGNvbnN0
IENTU1ZhbHVlTGlzdCYpIGNvbnN0OwogICAgIGJvb2wgZXF1YWxzKGNvbnN0IENTU1ZhbHVlJikg
Y29uc3Q7CiAjaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvRm9udEZlYXR1cmVWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZl
YXR1cmVWYWx1ZS5jcHAKaW5kZXggOTYwM2Q3MC4uNjcwYjI3MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0ZvbnRGZWF0dXJlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9Gb250RmVhdHVyZVZhbHVlLmNwcApAQCAtMzksNyArMzksNyBAQCBGb250RmVhdHVyZVZhbHVl
OjpGb250RmVhdHVyZVZhbHVlKGNvbnN0IFN0cmluZyYgdGFnLCBpbnQgdmFsdWUpCiB7CiB9CiAK
LVN0cmluZyBGb250RmVhdHVyZVZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKK1N0cmluZyBG
b250RmVhdHVyZVZhbHVlOjpjdXN0b21DU1NUZXh0KCkgY29uc3QKIHsKICAgICBTdHJpbmdCdWls
ZGVyIGJ1aWxkZXI7CiAgICAgYnVpbGRlci5hcHBlbmQoJ1wnJyk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRm9udEZlYXR1cmVWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0Zv
bnRGZWF0dXJlVmFsdWUuaAppbmRleCA3OWEwZmQzLi5kZDNjMzVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRm9udEZlYXR1cmVWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9Gb250RmVhdHVyZVZhbHVlLmgKQEAgLTQwLDcgKzQwLDcgQEAgcHVibGljOgogCiAgICAgY29u
c3QgU3RyaW5nJiB0YWcoKSBjb25zdCB7IHJldHVybiBtX3RhZzsgfQogICAgIGludCB2YWx1ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fdmFsdWU7IH0KLSAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNv
bnN0OworICAgIFN0cmluZyBjdXN0b21DU1NUZXh0KCkgY29uc3Q7CiAKICAgICBib29sIGVxdWFs
cyhjb25zdCBGb250RmVhdHVyZVZhbHVlJikgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9Gb250VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRWYWx1ZS5j
cHAKaW5kZXggZmNhY2MxNC4uYmI5M2JhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0ZvbnRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRWYWx1ZS5jcHAKQEAg
LTI2LDcgKzI2LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TdHJpbmcgRm9udFZhbHVl
OjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKK1N0cmluZyBGb250VmFsdWU6OmN1c3RvbUNTU1RleHQo
KSBjb25zdAogewogICAgIC8vIGZvbnQgdmFyaWFudCB3ZWlnaHQgc2l6ZSAvIGxpbmUtaGVpZ2h0
IGZhbWlseQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udFZhbHVlLmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvRm9udFZhbHVlLmgKaW5kZXggNzFmMGRmYi4uN2M3NTMzOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9Gb250VmFsdWUuaApAQCAtMzcsNyArMzcsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgRm9udFZhbHVlKTsKICAgICB9CiAKLSAgICBTdHJpbmcgY3VzdG9t
Q3NzVGV4dCgpIGNvbnN0OworICAgIFN0cmluZyBjdXN0b21DU1NUZXh0KCkgY29uc3Q7CiAKICAg
ICBib29sIGVxdWFscyhjb25zdCBGb250VmFsdWUmKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1NoYWRvd1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TaGFk
b3dWYWx1ZS5jcHAKaW5kZXggMGQzMTRiZS4uYThhYzBjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL1NoYWRvd1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2hhZG93
VmFsdWUuY3BwCkBAIC00Myw3ICs0Myw3IEBAIFNoYWRvd1ZhbHVlOjpTaGFkb3dWYWx1ZShQYXNz
UmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBfeCwKIHsKIH0KIAotU3RyaW5nIFNoYWRvd1ZhbHVl
OjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKK1N0cmluZyBTaGFkb3dWYWx1ZTo6Y3VzdG9tQ1NTVGV4
dCgpIGNvbnN0CiB7CiAgICAgU3RyaW5nQnVpbGRlciB0ZXh0OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU2hhZG93VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TaGFkb3dW
YWx1ZS5oCmluZGV4IDdkNzBmMTYuLmQ0ZDU5ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TaGFkb3dWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TaGFkb3dWYWx1ZS5o
CkBAIC00Miw3ICs0Miw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBT
aGFkb3dWYWx1ZSh4LCB5LCBibHVyLCBzcHJlYWQsIHN0eWxlLCBjb2xvcikpOwogICAgIH0KIAot
ICAgIFN0cmluZyBjdXN0b21Dc3NUZXh0KCkgY29uc3Q7CisgICAgU3RyaW5nIGN1c3RvbUNTU1Rl
eHQoKSBjb25zdDsKIAogICAgIGJvb2wgZXF1YWxzKGNvbnN0IFNoYWRvd1ZhbHVlJikgY29uc3Q7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NBcnJheUZ1bmN0aW9u
VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0FycmF5RnVuY3Rpb25WYWx1
ZS5jcHAKaW5kZXggZDlkOGRlYi4uODEzMDE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU0FycmF5RnVuY3Rpb25WYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU0FycmF5RnVuY3Rpb25WYWx1ZS5jcHAKQEAgLTQ0LDkgKzQ0LDkgQEAgV2Vi
S2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlOjpXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWUoY29u
c3QgV2ViS2l0Q1NTQXJyYXlGdW4KIHsKIH0KIAotU3RyaW5nIFdlYktpdENTU0FycmF5RnVuY3Rp
b25WYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgV2ViS2l0Q1NTQXJyYXlGdW5j
dGlvblZhbHVlOjpjdXN0b21DU1NUZXh0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gImFycmF5KCIg
KyBDU1NWYWx1ZUxpc3Q6OmN1c3RvbUNzc1RleHQoKSArICcpJzsKKyAgICByZXR1cm4gImFycmF5
KCIgKyBDU1NWYWx1ZUxpc3Q6OmN1c3RvbUNTU1RleHQoKSArICcpJzsKIH0KIAogUGFzc1JlZlB0
cjxXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWU+IFdlYktpdENTU0FycmF5RnVuY3Rpb25WYWx1
ZTo6Y2xvbmVGb3JDU1NPTSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTQXJyYXlGdW5jdGlvblZhbHVlLmgKaW5kZXggMjhkMjdhNC4uYzFjOWUyYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0FycmF5RnVuY3Rpb25WYWx1ZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWUuaApAQCAtNDQs
NyArNDQsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViS2l0Q1NT
QXJyYXlGdW5jdGlvblZhbHVlKCkpOwogICAgIH0KIAotICAgIFN0cmluZyBjdXN0b21Dc3NUZXh0
KCkgY29uc3Q7CisgICAgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdDsKIAogICAgIFBhc3NS
ZWZQdHI8V2ViS2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlPiBjbG9uZUZvckNTU09NKCkgY29uc3Q7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuY3BwCmluZGV4IDhh
NWM3MTkuLjFkOTk3MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NG
aWx0ZXJWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZh
bHVlLmNwcApAQCAtNTAsNyArNTAsNyBAQCBib29sIFdlYktpdENTU0ZpbHRlclZhbHVlOjp0eXBl
VXNlc1NwYWNlU2VwYXJhdG9yKEZpbHRlck9wZXJhdGlvblR5cGUgb3BlcmF0aW9uVAogI2VuZGlm
CiB9CiAKLVN0cmluZyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0
CitTdHJpbmcgV2ViS2l0Q1NTRmlsdGVyVmFsdWU6OmN1c3RvbUNTU1RleHQoKSBjb25zdAogewog
ICAgIGNvbnN0IGNoYXIqIHJlc3VsdCA9ICIiOwogICAgIHN3aXRjaCAobV90eXBlKSB7CkBAIC05
Nyw3ICs5Nyw3IEBAIFN0cmluZyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgp
IGNvbnN0CiAjZW5kaWYKICAgICB9CiAKLSAgICByZXR1cm4gcmVzdWx0ICsgQ1NTVmFsdWVMaXN0
OjpjdXN0b21Dc3NUZXh0KCkgKyAnKSc7CisgICAgcmV0dXJuIHJlc3VsdCArIENTU1ZhbHVlTGlz
dDo6Y3VzdG9tQ1NTVGV4dCgpICsgJyknOwogfQogCiBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTo6V2Vi
S2l0Q1NTRmlsdGVyVmFsdWUoY29uc3QgV2ViS2l0Q1NTRmlsdGVyVmFsdWUmIGNsb25lRnJvbSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmgKaW5kZXggN2VmMDQ0OC4u
ZDZkZjNjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZh
bHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmgKQEAg
LTYyLDcgKzYyLDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYktp
dENTU0ZpbHRlclZhbHVlKHR5cGUpKTsKICAgICB9CiAKLSAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4
dCgpIGNvbnN0OworICAgIFN0cmluZyBjdXN0b21DU1NUZXh0KCkgY29uc3Q7CiAKICAgICBGaWx0
ZXJPcGVyYXRpb25UeXBlIG9wZXJhdGlvblR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU01hdEZ1bmN0aW9uVmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU01hdEZ1bmN0aW9uVmFsdWUuY3Bw
CmluZGV4IGU3YjViOGIuLjU5ZDg0YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NNYXRGdW5jdGlvblZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTTWF0RnVuY3Rpb25WYWx1ZS5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgV2ViS2l0Q1NTTWF0
RnVuY3Rpb25WYWx1ZTo6V2ViS2l0Q1NTTWF0RnVuY3Rpb25WYWx1ZShjb25zdCBXZWJLaXRDU1NN
YXRGdW5jdGlvblYKIHsKIH0KIAotU3RyaW5nIFdlYktpdENTU01hdEZ1bmN0aW9uVmFsdWU6OmN1
c3RvbUNzc1RleHQoKSBjb25zdAorU3RyaW5nIFdlYktpdENTU01hdEZ1bmN0aW9uVmFsdWU6OmN1
c3RvbUNTU1RleHQoKSBjb25zdAogewogICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKICAgICBp
ZiAobGVuZ3RoKCkgPT0gNCkKQEAgLTYxLDcgKzYxLDcgQEAgU3RyaW5nIFdlYktpdENTU01hdEZ1
bmN0aW9uVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogICAgICAgICByZXR1cm4gU3RyaW5n
KCk7CiAgICAgfQogCi0gICAgYnVpbGRlci5hcHBlbmQoQ1NTVmFsdWVMaXN0OjpjdXN0b21Dc3NU
ZXh0KCkpOworICAgIGJ1aWxkZXIuYXBwZW5kKENTU1ZhbHVlTGlzdDo6Y3VzdG9tQ1NTVGV4dCgp
KTsKICAgICBidWlsZGVyLmFwcGVuZCgnKScpOwogICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5n
KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTTWF0RnVuY3Rp
b25WYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU01hdEZ1bmN0aW9uVmFsdWUu
aAppbmRleCA3NGNhNGY2Li41MzBiYjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTTWF0RnVuY3Rpb25WYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJL
aXRDU1NNYXRGdW5jdGlvblZhbHVlLmgKQEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGljOgogICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYktpdENTU01hdEZ1bmN0aW9uVmFsdWUoKSk7CiAgICAg
fQogCi0gICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsKKyAgICBTdHJpbmcgY3VzdG9t
Q1NTVGV4dCgpIGNvbnN0OwogCiAgICAgUGFzc1JlZlB0cjxXZWJLaXRDU1NNYXRGdW5jdGlvblZh
bHVlPiBjbG9uZUZvckNTU09NKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9XZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmNwcAppbmRleCAwZjUxZmZkLi5hZTU0NDExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuY3BwCkBA
IC00NSw5ICs0NSw5IEBAIFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWU6OldlYktpdENTU01peEZ1
bmN0aW9uVmFsdWUoY29uc3QgV2ViS2l0Q1NTTWl4RnVuY3Rpb25WCiB7CiB9CiAKLVN0cmluZyBX
ZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKK1N0cmluZyBX
ZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlOjpjdXN0b21DU1NUZXh0KCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gIm1peCgiICsgQ1NTVmFsdWVMaXN0OjpjdXN0b21Dc3NUZXh0KCkgKyAnKSc7CisgICAg
cmV0dXJuICJtaXgoIiArIENTU1ZhbHVlTGlzdDo6Y3VzdG9tQ1NTVGV4dCgpICsgJyknOwogfQog
CiBQYXNzUmVmUHRyPFdlYktpdENTU01peEZ1bmN0aW9uVmFsdWU+IFdlYktpdENTU01peEZ1bmN0
aW9uVmFsdWU6OmNsb25lRm9yQ1NTT00oKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1dlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmgKaW5kZXggODI4ZTIwZi4uZjhmNDBlMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5oCkBAIC00NCw3
ICs0NCw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJLaXRDU1NN
aXhGdW5jdGlvblZhbHVlKCkpOwogICAgIH0KIAotICAgIFN0cmluZyBjdXN0b21Dc3NUZXh0KCkg
Y29uc3Q7CisgICAgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdDsKIAogICAgIFBhc3NSZWZQ
dHI8V2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZT4gY2xvbmVGb3JDU1NPTSgpIGNvbnN0OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAKaW5k
ZXggNmEzNmFkNy4uZGI2OWE1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktp
dENTU1NWR0RvY3VtZW50VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRD
U1NTVkdEb2N1bWVudFZhbHVlLmNwcApAQCAtNjIsNyArNjIsNyBAQCBDYWNoZWRTVkdEb2N1bWVu
dCogV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZTo6bG9hZChDYWNoZWRSZXNvdXJjZUxvYWRlciog
bG9hZGVyKQogICAgIHJldHVybiBtX2RvY3VtZW50LmdldCgpOwogfQogCi1TdHJpbmcgV2ViS2l0
Q1NTU1ZHRG9jdW1lbnRWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgV2ViS2l0
Q1NTU1ZHRG9jdW1lbnRWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IHF1b3RlQ1NTU3RyaW5nSWZOZWVkZWQobV91cmwpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmgKaW5kZXggYWEzODNlMC4uNGYyYTA1MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5oCkBAIC00
MSw3ICs0MSw3IEBAIHB1YmxpYzoKICAgICBDYWNoZWRTVkdEb2N1bWVudCogY2FjaGVkU1ZHRG9j
dW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2RvY3VtZW50LmdldCgpOyB9CiAgICAgQ2FjaGVkU1ZH
RG9jdW1lbnQqIGxvYWQoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqKTsKIAotICAgIFN0cmluZyBjdXN0
b21Dc3NUZXh0KCkgY29uc3Q7CisgICAgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdDsKICAg
ICBjb25zdCBTdHJpbmcmIHVybCgpIGNvbnN0IHsgcmV0dXJuIG1fdXJsOyB9CiAgICAgYm9vbCBs
b2FkUmVxdWVzdGVkKCkgY29uc3QgeyByZXR1cm4gbV9sb2FkUmVxdWVzdGVkOyB9CiAgICAgYm9v
bCBlcXVhbHMoY29uc3QgV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZSYpIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHAKaW5kZXggN2M5YThlZC4uMWQz
YWQyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NoYWRlclZhbHVl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuY3BwCkBA
IC04NCw3ICs4NCw3IEBAIFN0eWxlU2hhZGVyKiBXZWJLaXRDU1NTaGFkZXJWYWx1ZTo6Y2FjaGVk
T3JQZW5kaW5nU2hhZGVyKCkKICAgICByZXR1cm4gbV9zaGFkZXIuZ2V0KCk7CiB9CiAKLVN0cmlu
ZyBXZWJLaXRDU1NTaGFkZXJWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgV2Vi
S2l0Q1NTU2hhZGVyVmFsdWU6OmN1c3RvbUNTU1RleHQoKSBjb25zdAogewogICAgIFN0cmluZ0J1
aWxkZXIgcmVzdWx0OwogICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCJ1cmwoIik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5oCmluZGV4IDE5MzBhOGIuLjY5YmU1MTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5oCkBAIC01Myw3ICs1
Myw3IEBAIHB1YmxpYzoKICAgICBTdHlsZUNhY2hlZFNoYWRlciogY2FjaGVkU2hhZGVyKENhY2hl
ZFJlc291cmNlTG9hZGVyKik7CiAgICAgU3R5bGVTaGFkZXIqIGNhY2hlZE9yUGVuZGluZ1NoYWRl
cigpOwogCi0gICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsKKyAgICBTdHJpbmcgY3Vz
dG9tQ1NTVGV4dCgpIGNvbnN0OwogCiAgICAgYm9vbCBlcXVhbHMoY29uc3QgV2ViS2l0Q1NTU2hh
ZGVyVmFsdWUmKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktp
dENTU1RyYW5zZm9ybVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NUcmFu
c2Zvcm1WYWx1ZS5jcHAKaW5kZXggZjRmNTBlNS4uNmMwMWE3ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwCkBAIC03Myw5ICs3Myw5IEBAIFdl
YktpdENTU1RyYW5zZm9ybVZhbHVlOjpXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZShUcmFuc2Zvcm1P
cGVyYXRpb25UeXBlIG9wKQogewogfQogCi1TdHJpbmcgV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6
OmN1c3RvbUNzc1RleHQoKSBjb25zdAorU3RyaW5nIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpj
dXN0b21DU1NUZXh0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gdHJhbnNmb3JtVmFsdWVUb0Nzc1N0
cmluZyhtX3R5cGUsIENTU1ZhbHVlTGlzdDo6Y3VzdG9tQ3NzVGV4dCgpKTsKKyAgICByZXR1cm4g
dHJhbnNmb3JtVmFsdWVUb0Nzc1N0cmluZyhtX3R5cGUsIENTU1ZhbHVlTGlzdDo6Y3VzdG9tQ1NT
VGV4dCgpKTsKIH0KIAogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaAppbmRleCAzZjhmNmQzLi5lYzA5MmE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaApAQCAtNjUs
NyArNjUsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViS2l0Q1NT
VHJhbnNmb3JtVmFsdWUodHlwZSkpOwogICAgIH0KIAotICAgIFN0cmluZyBjdXN0b21Dc3NUZXh0
KCkgY29uc3Q7CisgICAgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdDsKICAgICBib29sIGVx
dWFscyhjb25zdCBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZSYgb3RoZXIpIGNvbnN0IHsgcmV0dXJu
IG1fdHlwZSA9PSBvdGhlci5tX3R5cGUgJiYgQ1NTVmFsdWVMaXN0OjplcXVhbHMob3RoZXIpOyB9
CiAjaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCiAgICAgU3RyaW5nIGN1c3RvbVNlcmlhbGl6ZVJl
c29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdDb2xvci5jcHAKaW5kZXggNDg4ODEyMC4uMmNiMzg2MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHQ29sb3IuY3BwCkBAIC03Myw3ICs3Myw3IEBAIHZvaWQgU1ZHQ29sb3I6OnNldENv
bG9yKHVuc2lnbmVkIHNob3J0LCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBFeGNlcHRp
b25DCiAgICAgZWMgPSBOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlI7CiB9CiAKLVN0cmluZyBT
VkdDb2xvcjo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CitTdHJpbmcgU1ZHQ29sb3I6OmN1c3RvbUNT
U1RleHQoKSBjb25zdAogewogICAgIHN3aXRjaCAobV9jb2xvclR5cGUpIHsKICAgICBjYXNlIFNW
R19DT0xPUlRZUEVfVU5LTk9XTjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdD
b2xvci5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbG9yLmgKaW5kZXggOWIxNzVlZi4uODMy
NWIxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbG9yLmgKQEAgLTY5LDcgKzY5LDcgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0UkdCQ29sb3JJQ0NDb2xvcihjb25zdCBTdHJpbmcmIHJnYkNvbG9yLCBjb25zdCBT
dHJpbmcmIGljY0NvbG9yLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBzZXRDb2xvcih1bnNp
Z25lZCBzaG9ydCBjb2xvclR5cGUsIGNvbnN0IFN0cmluZyYgcmdiQ29sb3IsIGNvbnN0IFN0cmlu
ZyYgaWNjQ29sb3IsIEV4Y2VwdGlvbkNvZGUmKTsKIAotICAgIFN0cmluZyBjdXN0b21Dc3NUZXh0
KCkgY29uc3Q7CisgICAgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdDsKIAogICAgIH5TVkdD
b2xvcigpIHsgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhaW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYWludC5jcHAKaW5kZXggNDI2Y2NiYi4uNDgx
YzkxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhaW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFpbnQuY3BwCkBAIC03MSwxNCArNzEsMTQgQEAgdm9pZCBT
VkdQYWludDo6c2V0UGFpbnQodW5zaWduZWQgc2hvcnQsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0
cmluZyYsIGNvbnN0IFN0cmkKICAgICBlYyA9IE5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUjsK
IH0KIAotU3RyaW5nIFNWR1BhaW50OjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKK1N0cmluZyBTVkdQ
YWludDo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0CiB7CiAgICAgc3dpdGNoIChtX3BhaW50VHlwZSkg
ewogICAgIGNhc2UgU1ZHX1BBSU5UVFlQRV9VTktOT1dOOgogICAgIGNhc2UgU1ZHX1BBSU5UVFlQ
RV9SR0JDT0xPUjoKICAgICBjYXNlIFNWR19QQUlOVFRZUEVfUkdCQ09MT1JfSUNDQ09MT1I6CiAg
ICAgY2FzZSBTVkdfUEFJTlRUWVBFX0NVUlJFTlRDT0xPUjoKLSAgICAgICAgcmV0dXJuIFNWR0Nv
bG9yOjpjdXN0b21Dc3NUZXh0KCk7CisgICAgICAgIHJldHVybiBTVkdDb2xvcjo6Y3VzdG9tQ1NT
VGV4dCgpOwogICAgIGNhc2UgU1ZHX1BBSU5UVFlQRV9OT05FOgogICAgICAgICByZXR1cm4gIm5v
bmUiOwogICAgIGNhc2UgU1ZHX1BBSU5UVFlQRV9VUklfTk9ORToKQEAgLTg2LDcgKzg2LDcgQEAg
U3RyaW5nIFNWR1BhaW50OjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKICAgICBjYXNlIFNWR19QQUlO
VFRZUEVfVVJJX0NVUlJFTlRDT0xPUjoKICAgICBjYXNlIFNWR19QQUlOVFRZUEVfVVJJX1JHQkNP
TE9SOgogICAgIGNhc2UgU1ZHX1BBSU5UVFlQRV9VUklfUkdCQ09MT1JfSUNDQ09MT1I6IHsKLSAg
ICAgICAgU3RyaW5nIGNvbG9yID0gU1ZHQ29sb3I6OmN1c3RvbUNzc1RleHQoKTsKKyAgICAgICAg
U3RyaW5nIGNvbG9yID0gU1ZHQ29sb3I6OmN1c3RvbUNTU1RleHQoKTsKICAgICAgICAgaWYgKGNv
bG9yLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiBtX3VyaTsKICAgICAgICAgcmV0dXJu
ICJ1cmwoIiArIG1fdXJpICsgIikgIiArIGNvbG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BhaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFpbnQuaAppbmRleCBj
ZDVmODE3Li4wYjgwNmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFpbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFpbnQuaApAQCAtOTEsNyArOTEsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRVcmkoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBzZXRQYWlu
dCh1bnNpZ25lZCBzaG9ydCBwYWludFR5cGUsIGNvbnN0IFN0cmluZyYgdXJpLCBjb25zdCBTdHJp
bmcmIHJnYkNvbG9yLCBjb25zdCBTdHJpbmcmIGljY0NvbG9yLCBFeGNlcHRpb25Db2RlJik7CiAK
LSAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0OworICAgIFN0cmluZyBjdXN0b21DU1NU
ZXh0KCkgY29uc3Q7CiAKICAgICBQYXNzUmVmUHRyPFNWR1BhaW50PiBjbG9uZUZvckNTU09NKCkg
Y29uc3Q7CiAK
</data>
<flag name="review"
          id="232607"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>