<?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>157271</bug_id>
          
          <creation_ts>2016-05-02 11:59:29 -0700</creation_ts>
          <short_desc>Add to the Animations log channel output about which properties are being blended</short_desc>
          <delta_ts>2016-05-02 15:20:59 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1189456</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-05-02 11:59:29 -0700</bug_when>
    <thetext>Add to the Animations log channel output about which properties are being blended</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189458</commentid>
    <comment_count>1</comment_count>
      <attachid>277920</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-05-02 12:01:38 -0700</bug_when>
    <thetext>Created attachment 277920
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189459</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-02 12:02:36 -0700</bug_when>
    <thetext>Attachment 277920 did not pass style-queue:


ERROR: Source/WebCore/page/animation/CSSPropertyAnimation.cpp:428:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebCore/page/animation/CSSPropertyAnimation.cpp:740:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebCore/page/animation/CSSPropertyAnimation.cpp:865:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebCore/page/animation/CSSPropertyAnimation.cpp:907:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebCore/page/animation/CSSPropertyAnimation.cpp:1084:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebCore/page/animation/CSSPropertyAnimation.cpp:1130:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebCore/page/animation/CSSPropertyAnimation.cpp:1169:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebCore/page/animation/CSSPropertyAnimation.cpp:1238:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 8 in 28 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189460</commentid>
    <comment_count>3</comment_count>
      <attachid>277920</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-05-02 12:08:08 -0700</bug_when>
    <thetext>Comment on attachment 277920
Patch

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

&gt; Source/WebCore/CMakeLists.txt:2112
&gt; +    platform/LengthBox.cpp

I think you forgot to include this file in your patch.

&gt; Source/WebCore/CMakeLists.txt:2286
&gt; +    platform/graphics/transforms/TransformOperation.cpp

And this one too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189474</commentid>
    <comment_count>4</comment_count>
      <attachid>277924</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-05-02 12:48:20 -0700</bug_when>
    <thetext>Created attachment 277924
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189477</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-02 12:50:53 -0700</bug_when>
    <thetext>Attachment 277924 did not pass style-queue:


ERROR: Source/WebCore/page/animation/CSSPropertyAnimation.cpp:428:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebCore/page/animation/CSSPropertyAnimation.cpp:740:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebCore/page/animation/CSSPropertyAnimation.cpp:865:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebCore/page/animation/CSSPropertyAnimation.cpp:907:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebCore/page/animation/CSSPropertyAnimation.cpp:1084:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebCore/page/animation/CSSPropertyAnimation.cpp:1130:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebCore/page/animation/CSSPropertyAnimation.cpp:1169:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebCore/page/animation/CSSPropertyAnimation.cpp:1238:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 8 in 30 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189537</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-05-02 15:20:59 -0700</bug_when>
    <thetext>https://trac.webkit.org/r200341</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277920</attachid>
            <date>2016-05-02 12:01:38 -0700</date>
            <delta_ts>2016-05-02 12:08:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157271-20160502120215.patch</filename>
            <type>text/plain</type>
            <size>36479</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwMzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmUyOGM0OTVjYzdlNGRh
ODI2ZDZmNmI3NjA1MjRmODk5ZjEzNWYxZS4uMDg4MTlkNzEyODA3Y2M4MzhkYTkxNzRmNTAyMTFl
YTlhYjI5MTBkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE2LTA1LTAyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCB0byB0aGUg
QW5pbWF0aW9ucyBsb2cgY2hhbm5lbCBvdXRwdXQgYWJvdXQgd2hpY2ggcHJvcGVydGllcyBhcmUg
YmVpbmcgYmxlbmRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTU3MjcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTWFrZSB0aGUgQW5pbWF0aW9ucyBsb2cgY2hhbm5lbCBkdW1wIGluZm9ybWF0aW9uIGFz
IENTUyBwcm9wZXJ0aWVzIGFyZSBiZWluZyBibGVuZGVkLgorICAgICAgICBTYW1wbGUgb3V0cHV0
OgorICAgICAgICAKKyAgICAgICAgICBibGVuZGluZyBsZWZ0IGZyb20gMHB4IHRvIDQwMHB4IGF0
IDAuNTcgLT4gMjI3Ljc2cHgKKyAgICAgICAgICBibGVuZGluZyB0cmFuc2Zvcm0gZnJvbSB0cmFu
c2xhdGUoMHB4LCAwcHgsIDBweCkgdG8gdHJhbnNsYXRlKDQwMHB4LCAwcHgsIDBweCkgYXQgMC43
NCAtPiB0cmFuc2xhdGUoMjk0Ljk3cHgsIDBweCwgMHB4KQorICAgIAorICAgICAgICBUaGlzIG1h
a2VzIGl0IGVhc2llciB0byBzZWUsIGZvciBleGFtcGxlLCB0cmFuc2l0aW9ucyB0byBvciBmcm9t
ICJhdXRvIiB2YWx1ZXMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFnZS9hbmltYXRp
b24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJvcGVydHlX
cmFwcGVyR2V0dGVyOjp2YWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpQcm9wZXJ0eVdyYXBwZXJN
YXliZUludmFsaWRDb2xvcjo6dmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlB
bmltYXRpb25XcmFwcGVyTWFwOjp3cmFwcGVyRm9yUHJvcGVydHkpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUHJvcGVydHlBbmltYXRpb246OmJsZW5kUHJvcGVydGllcyk6CisgICAgICAgICogcGxh
dGZvcm0vTGVuZ3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPDwpOgorICAgICAg
ICAqIHBsYXRmb3JtL0xlbmd0aEJveC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3Ry
YW5zZm9ybXMvSWRlbnRpdHlUcmFuc2Zvcm1PcGVyYXRpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy90cmFuc2Zvcm1zL01hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uOjpkdW1wKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL01hdHJpeDNEVHJhbnNmb3JtT3BlcmF0
aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9NYXRyaXhUcmFu
c2Zvcm1PcGVyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWF0cml4VHJhbnNmb3JtT3Bl
cmF0aW9uOjpkdW1wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL01h
dHJpeFRyYW5zZm9ybU9wZXJhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3Ry
YW5zZm9ybXMvUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb246OmR1bXApOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24u
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1JvdGF0ZVRyYW5zZm9y
bU9wZXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSb3RhdGVUcmFuc2Zvcm1PcGVyYXRp
b246OmR1bXApOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvUm90YXRl
VHJhbnNmb3JtT3BlcmF0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNm
b3Jtcy9TY2FsZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY2Fs
ZVRyYW5zZm9ybU9wZXJhdGlvbjo6ZHVtcCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9TY2FsZVRyYW5zZm9ybU9wZXJhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvU2tld1RyYW5zZm9ybU9wZXJhdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTa2V3VHJhbnNmb3JtT3BlcmF0aW9uOjpkdW1wKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1NrZXdUcmFuc2Zvcm1PcGVyYXRpb24uaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbi5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9u
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcjw8KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb246OmR1bXAp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNsYXRlVHJhbnNm
b3JtT3BlcmF0aW9uLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL05pbmVQaWVjZUltYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPDwpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdHlsZS9OaW5lUGllY2VJbWFnZS5oOgorICAgICAgICAqIHN2Zy9TVkdMZW5ndGguY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aC5o
OgorCiAyMDE2LTA1LTAyICBZb2F2IFdlaXNzICA8eW9hdkB5b2F2LndzPgogCiAgICAgICAgIFNw
ZWN1bGF0aXZlbHkgZml4IHRoZSBjbWFrZSBidWlsZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3
OGEwYjFmNjExMzllNmM3ZDAyYjU4ZTU2ZjNiOTUzNGQxMDA5OWE0Li45ZjE5NThiNDRhYmY1MjNi
NjVkNmZhMjY3MzRmYTk0MmY2N2Q5YjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjEwOSw2
ICsyMTA5LDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL0ZpbGVTeXN0ZW0u
Y3BwCiAgICAgcGxhdGZvcm0vTGFuZ3VhZ2UuY3BwCiAgICAgcGxhdGZvcm0vTGVuZ3RoLmNwcAor
ICAgIHBsYXRmb3JtL0xlbmd0aEJveC5jcHAKICAgICBwbGF0Zm9ybS9MZW5ndGhQb2ludC5jcHAK
ICAgICBwbGF0Zm9ybS9MZW5ndGhTaXplLmNwcAogICAgIHBsYXRmb3JtL0xpbmtIYXNoLmNwcApA
QCAtMjI4Miw2ICsyMjgzLDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL3RyYW5zZm9ybXMvUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcAogICAgIHBsYXRm
b3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvU2NhbGVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9Ta2V3VHJhbnNmb3JtT3BlcmF0aW9uLmNwcAor
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9uLmNwcAog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5jcHAK
ICAgICBwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybVN0YXRlLmNwcAogICAg
IHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggMTljY2VmMTAyMzJmYThmZGU4ZTlkY2VhMmY4MTFhNWY1NjMyYmQ1ZC4uMWFkNDM1ZGZlNDAw
MjUwYjViOWJjNzM3Mzg4YjdiZDNjMTk0MmI5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTU5LDYgKzU1OSw4IEBACiAJCTBG
RTVGQkQ5MUMzREQ1MUUwMDA3QTJDQSAvKiBEaXNwbGF5TGlzdFJlcGxheWVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkU1RkJEMTFDM0RENTFFMDAw
N0EyQ0EgLyogRGlzcGxheUxpc3RSZXBsYXllci5oICovOyB9OwogCQkwRkU3MTQwNTE0MjE3MEI4
MDBEQjMzQkEgLyogU2Nyb2xsYmFyVGhlbWVNb2NrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRTcxNDAzMTQyMTcwQjgwMERCMzNCQSAvKiBTY3Jv
bGxiYXJUaGVtZU1vY2suY3BwICovOyB9OwogCQkwRkU3MTQwNjE0MjE3MEI4MDBEQjMzQkEgLyog
U2Nyb2xsYmFyVGhlbWVNb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkU3MTQwNDE0MjE3MEI4MDBEQjMzQkEgLyogU2Nyb2xsYmFyVGhlbWVNb2Nr
LmggKi87IH07CisJCTBGRTk1RjFCMUNENTQwRDAwMEQyRjQ1QSAvKiBMZW5ndGhCb3guY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFOTVGMUExQ0Q1
NDBEMDAwRDJGNDVBIC8qIExlbmd0aEJveC5jcHAgKi87IH07CisJCTBGRTk1RjFEMUNENTQzREYw
MEQyRjQ1QSAvKiBUcmFuc2Zvcm1PcGVyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFOTVGMUMxQ0Q1NDNERjAwRDJGNDVBIC8qIFRyYW5z
Zm9ybU9wZXJhdGlvbi5jcHAgKi87IH07CiAJCTBGRUEzRTdCMTkxQjJGQzUwMDBGMUI1NSAvKiBT
Y3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQTNFNzkxOTFCMkZDNTAwMEYxQjU1IC8qIFNjcm9s
bGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEZFQTNFN0MxOTFCMkZDNTAwMEYxQjU1IC8qIFNjcm9s
bGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUEzRTdBMTkxQjJGQzUwMDBGMUI1NSAvKiBTY3JvbGxp
bmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5jcHAgKi87IH07CiAJCTBGRUEzRTdGMTkxQjMxNjkw
MDBGMUI1NSAvKiBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUEzRTdEMTkxQjMxNjkw
MDBGMUI1NSAvKiBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNwcCAqLzsgfTsK
QEAgLTc5NzQsNiArNzk3Niw4IEBACiAJCTBGRTcxNDAzMTQyMTcwQjgwMERCMzNCQSAvKiBTY3Jv
bGxiYXJUaGVtZU1vY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U2Nyb2xsYmFyVGhlbWVNb2NrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZF
NzE0MDQxNDIxNzBCODAwREIzM0JBIC8qIFNjcm9sbGJhclRoZW1lTW9jay5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxiYXJUaGVtZU1vY2suaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMEZFNzE0MTUxNDIxODlGQzAwREIzM0JBIC8qIFNjcm9sbGJhclRo
ZW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbGJhclRo
ZW1lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFOTVGMUExQ0Q1NDBEMDAw
RDJGNDVBIC8qIExlbmd0aEJveC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBMZW5ndGhCb3guY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkU5NUYx
QzFDRDU0M0RGMDBEMkY0NUEgLyogVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybU9wZXJhdGlvbi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRUEzRTc5MTkxQjJGQzUwMDBGMUI1NSAvKiBTY3JvbGxp
bmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwRkVBM0U3QTE5MUIyRkM1MDAwRjFCNTUgLyogU2Nyb2xsaW5nU3RhdGVG
cmFtZVNjcm9sbGluZ05vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwRkVBM0U3RDE5MUIzMTY5MDAwRjFCNTUgLyogU2Nyb2xsaW5nVHJlZU92
ZXJmbG93U2Nyb2xsaW5nTm9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MjE0LDYgKzE3MjE4LDcgQEAKIAkJCQk0OUU5MTFCRDBFRjg2
RDQ3MDA5RDBDQUYgLyogU2tld1RyYW5zZm9ybU9wZXJhdGlvbi5oICovLAogCQkJCTQ5RTkxMUIz
MEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHAgKi8sCiAJCQkJNDlF
OTExQjQwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybWF0aW9uTWF0cml4LmggKi8sCisJCQkJ
MEZFOTVGMUMxQ0Q1NDNERjAwRDJGNDVBIC8qIFRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgKi8sCiAJ
CQkJNDlFOTExQkUwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybU9wZXJhdGlvbi5oICovLAog
CQkJCTQ5RTkxMUJGMEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1PcGVyYXRpb25zLmNwcCAq
LywKIAkJCQk0OUU5MTFDMDBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtT3BlcmF0aW9ucy5o
ICovLApAQCAtMjI5NDUsNiArMjI5NTAsNyBAQAogCQkJCTE0MURDMDQ3MTY0ODM0OEYwMDM3MUU1
QSAvKiBMYXlvdXRVbml0LmggKi8sCiAJCQkJQkNFNjVCRTgwRUFDREYxNjAwN0U0NTMzIC8qIExl
bmd0aC5jcHAgKi8sCiAJCQkJQkNFNjVCRTkwRUFDREYxNjAwN0U0NTMzIC8qIExlbmd0aC5oICov
LAorCQkJCTBGRTk1RjFBMUNENTQwRDAwMEQyRjQ1QSAvKiBMZW5ndGhCb3guY3BwICovLAogCQkJ
CUJDRkY2NDhGMEVBRDE1QzIwMEMxRDZGNyAvKiBMZW5ndGhCb3guaCAqLywKIAkJCQkwRjg3MTY2
RDFDODY5RDgzMDA0RkYwREUgLyogTGVuZ3RoUG9pbnQuY3BwICovLAogCQkJCTBGODcxNjZFMUM4
NjlEODMwMDRGRjBERSAvKiBMZW5ndGhQb2ludC5oICovLApAQCAtMzA5MjQsNiArMzA5MzAsNyBA
QAogCQkJCUY1OTczREUxMTVDRkIyMDMwMDI3RjgwNCAvKiBMb2NhbGVNYWMubW0gaW4gU291cmNl
cyAqLywKIAkJCQk3NjMzQTcyNzEzRDhCMzNBMDA4NTAxQjYgLyogTG9jYWxlVG9TY3JpcHRNYXBw
aW5nRGVmYXVsdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNTE2RThCODEzNkUwNERCMDA3NkMz
QzAgLyogTG9jYWxpemVkRGF0ZUNhY2hlLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMEZFOTVGMUIx
Q0Q1NDBEMDAwRDJGNDVBIC8qIExlbmd0aEJveC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDMDQ2
RTFBQzEyMDhBOUZFMDBCQTJDRjcgLyogTG9jYWxpemVkU3RyaW5ncy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkxQTQ4MzJCMzFBOTUzQkE2MDA4QjRERkUgLyogTG9jYWxpemVkU3RyaW5nc0NvY29h
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFMUM0MUMwRDk4Mjk4MTAwM0IwMkYyIC8qIExvY2F0
aW9uLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzEyODIsNiArMzEyODksNyBAQAogCQkJCTBGNTgw
RDAwMEYxMkRFOUIwMDUxRDY4OSAvKiBSZW5kZXJMYXllckJhY2tpbmcuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEY1ODBDRkUwRjEyREU5QjAwNTFENjg5IC8qIFJlbmRlckxheWVyQ29tcG9zaXRv
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MEQxMEQ5OTE1NDVGNTc2MDA5NkQyODggLyogUmVu
ZGVyTGF5ZXJGaWx0ZXJJbmZvLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRTk1RjFEMUNENTQz
REYwMEQyRjQ1QSAvKiBUcmFuc2Zvcm1PcGVyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
M0MyNDRGRUJBMzc1QUM2MzNGODhCRTZGIC8qIFJlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkMzM0ZCMUIwRjMwRUU4NTAwMkNERDdDIC8qIFJlbmRlckxpbmVC
b3hMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRUE0ODYzMDk3RDkzMDIwMDk0QzlFNCAv
KiBSZW5kZXJMaW5lQnJlYWsuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAKaW5kZXggZTU2
MDExZGYyOGRhNTVmMDUwYjljMDczMTIzNmY0MDE5YzA0MzNjNy4uOWU5YjI3NWYzMDczMzc0MmJh
ZmE4MWM0OTgzOGYwZjE1YjhjOTZiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9h
bmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcApAQCAtNDIsNiArNDIsNyBAQAog
I2luY2x1ZGUgIkNsaXBQYXRoT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9u
LmgiCiAjaW5jbHVkZSAiSWRlbnRpdHlUcmFuc2Zvcm1PcGVyYXRpb24uaCIKKyNpbmNsdWRlICJM
b2dnaW5nLmgiCiAjaW5jbHVkZSAiTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24uaCIKICNpbmNs
dWRlICJNYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb24uaCIKICNpbmNsdWRlICJSZW5kZXJCb3guaCIK
QEAgLTUwLDYgKzUxLDcgQEAKICNpbmNsdWRlICJTdHlsZUdlbmVyYXRlZEltYWdlLmgiCiAjaW5j
bHVkZSAiU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIu
aCIKKyNpbmNsdWRlICJUZXh0U3RyZWFtLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1
ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgpAQCAtMzg0LDYgKzM4Niwx
MCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzU2hvcnRoYW5kV3JhcHBlcigpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGVxdWFscyhjb25zdCBSZW5kZXJT
dHlsZSogYSwgY29uc3QgUmVuZGVyU3R5bGUqIGIpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgYmxlbmQoY29uc3QgQW5pbWF0aW9uQmFzZSosIFJlbmRlclN0eWxlKiwgY29uc3QgUmVuZGVy
U3R5bGUqLCBjb25zdCBSZW5kZXJTdHlsZSosIGRvdWJsZSkgY29uc3QgPSAwOworICAgIAorI2lm
ICFMT0dfRElTQUJMRUQKKyAgICB2aXJ0dWFsIHZvaWQgbG9nQmxlbmQoY29uc3QgUmVuZGVyU3R5
bGUqIGEsIGNvbnN0IFJlbmRlclN0eWxlKiBiLCBjb25zdCBSZW5kZXJTdHlsZSogcmVzdWx0LCBk
b3VibGUpIGNvbnN0ID0gMDsKKyNlbmRpZgogCiAgICAgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eSgp
IGNvbnN0IHsgcmV0dXJuIG1fcHJvcDsgfQogCkBAIC00MTIsNiArNDE4LDE4IEBAIHB1YmxpYzoK
ICAgICAgICAgcmV0dXJuIChhLT4qbV9nZXR0ZXIpKCkgPT0gKGItPiptX2dldHRlcikoKTsKICAg
ICB9CiAKKyAgICBUIHZhbHVlKGNvbnN0IFJlbmRlclN0eWxlKiBhKSBjb25zdAorICAgIHsKKyAg
ICAgICAgcmV0dXJuIChhLT4qbV9nZXR0ZXIpKCk7CisgICAgfQorCisjaWYgIUxPR19ESVNBQkxF
RAorICAgIHZvaWQgbG9nQmxlbmQoY29uc3QgUmVuZGVyU3R5bGUqIGEsIGNvbnN0IFJlbmRlclN0
eWxlKiBiLCBjb25zdCBSZW5kZXJTdHlsZSogcmVzdWx0LCBkb3VibGUgcHJvZ3Jlc3MpIGNvbnN0
IGZpbmFsCisgICAgeworICAgICAgICBMT0dfV0lUSF9TVFJFQU0oQW5pbWF0aW9ucywgc3RyZWFt
IDw8ICIgIGJsZW5kaW5nICIgPDwgZ2V0UHJvcGVydHlOYW1lKHByb3BlcnR5KCkpIDw8ICIgZnJv
bSAiIDw8IHZhbHVlKGEpIDw8ICIgdG8gIiA8PCB2YWx1ZShiKSA8PCAiIGF0ICIgPDwgVGV4dFN0
cmVhbTo6Rm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHByb2dyZXNzKSA8PCAiIC0+ICIg
PDwgdmFsdWUocmVzdWx0KSk7CisgICAgfQorI2VuZGlmCisKIHByb3RlY3RlZDoKICAgICBUIChS
ZW5kZXJTdHlsZTo6Km1fZ2V0dGVyKSgpIGNvbnN0OwogfTsKQEAgLTcxNyw2ICs3MzUsMTQgQEAg
cHVibGljOgogICAgICAgICAoZHN0LT4qbV9zZXR0ZXIpKGJsZW5kTWlzbWF0Y2hlZFNoYWRvd0xp
c3RzKGFuaW0sIHByb2dyZXNzLCBzaGFkb3dBLCBzaGFkb3dCLCBmcm9tTGVuZ3RoLCB0b0xlbmd0
aCksIGZhbHNlKTsKICAgICB9CiAKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgdm9pZCBsb2dCbGVu
ZChjb25zdCBSZW5kZXJTdHlsZSosIGNvbnN0IFJlbmRlclN0eWxlKiwgY29uc3QgUmVuZGVyU3R5
bGUqLCBkb3VibGUgcHJvZ3Jlc3MpIGNvbnN0IGZpbmFsCisgICAgeworICAgICAgICAvLyBGSVhN
RTogYmV0dGVyIGxvZ2dpbmcuCisgICAgICAgIExPR19XSVRIX1NUUkVBTShBbmltYXRpb25zLCBz
dHJlYW0gPDwgIiAgYmxlbmRpbmcgU2hhZG93RGF0YSBhdCAiIDw8IFRleHRTdHJlYW06OkZvcm1h
dE51bWJlclJlc3BlY3RpbmdJbnRlZ2Vycyhwcm9ncmVzcykpOworICAgIH0KKyNlbmRpZgorCiBw
cml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxTaGFkb3dEYXRhPiBibGVuZFNpbXBsZU9yTWF0
Y2hlZFNoYWRvd0xpc3RzKGNvbnN0IEFuaW1hdGlvbkJhc2UqIGFuaW0sIGRvdWJsZSBwcm9ncmVz
cywgY29uc3QgU2hhZG93RGF0YSogc2hhZG93QSwgY29uc3QgU2hhZG93RGF0YSogc2hhZG93Qikg
Y29uc3QKICAgICB7CkBAIC04MDAsOCArODI2LDggQEAgcHVibGljOgogICAgICAgICBpZiAoIWEg
fHwgIWIpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgQ29sb3IgZnJvbUNv
bG9yID0gKGEtPiptX2dldHRlcikoKTsKLSAgICAgICAgQ29sb3IgdG9Db2xvciA9IChiLT4qbV9n
ZXR0ZXIpKCk7CisgICAgICAgIENvbG9yIGZyb21Db2xvciA9IHZhbHVlKGEpOworICAgICAgICBD
b2xvciB0b0NvbG9yID0gdmFsdWUoYik7CiAKICAgICAgICAgaWYgKCFmcm9tQ29sb3IuaXNWYWxp
ZCgpICYmICF0b0NvbG9yLmlzVmFsaWQoKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAt
ODE2LDggKzg0Miw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYmxlbmQoY29uc3QgQW5pbWF0aW9u
QmFzZSogYW5pbSwgUmVuZGVyU3R5bGUqIGRzdCwgY29uc3QgUmVuZGVyU3R5bGUqIGEsIGNvbnN0
IFJlbmRlclN0eWxlKiBiLCBkb3VibGUgcHJvZ3Jlc3MpIGNvbnN0IG92ZXJyaWRlCiAgICAgewot
ICAgICAgICBDb2xvciBmcm9tQ29sb3IgPSAoYS0+Km1fZ2V0dGVyKSgpOwotICAgICAgICBDb2xv
ciB0b0NvbG9yID0gKGItPiptX2dldHRlcikoKTsKKyAgICAgICAgQ29sb3IgZnJvbUNvbG9yID0g
dmFsdWUoYSk7CisgICAgICAgIENvbG9yIHRvQ29sb3IgPSB2YWx1ZShiKTsKIAogICAgICAgICBp
ZiAoIWZyb21Db2xvci5pc1ZhbGlkKCkgJiYgIXRvQ29sb3IuaXNWYWxpZCgpKQogICAgICAgICAg
ICAgcmV0dXJuOwpAQCAtODI5LDYgKzg1NSwxOSBAQCBwdWJsaWM6CiAgICAgICAgIChkc3QtPipt
X3NldHRlcikoYmxlbmRGdW5jKGFuaW0sIGZyb21Db2xvciwgdG9Db2xvciwgcHJvZ3Jlc3MpKTsK
ICAgICB9CiAKKyAgICBDb2xvciB2YWx1ZShjb25zdCBSZW5kZXJTdHlsZSogYSkgY29uc3QKKyAg
ICB7CisgICAgICAgIHJldHVybiAoYS0+Km1fZ2V0dGVyKSgpOworICAgIH0KKworI2lmICFMT0df
RElTQUJMRUQKKyAgICB2b2lkIGxvZ0JsZW5kKGNvbnN0IFJlbmRlclN0eWxlKiBhLCBjb25zdCBS
ZW5kZXJTdHlsZSogYiwgY29uc3QgUmVuZGVyU3R5bGUqIHJlc3VsdCwgZG91YmxlIHByb2dyZXNz
KSBjb25zdCBmaW5hbAorICAgIHsKKyAgICAgICAgLy8gRklYTUU6IGJldHRlciBsb2dnaW5nLgor
ICAgICAgICBMT0dfV0lUSF9TVFJFQU0oQW5pbWF0aW9ucywgc3RyZWFtIDw8ICIgIGJsZW5kaW5n
ICIgPDwgZ2V0UHJvcGVydHlOYW1lKHByb3BlcnR5KCkpIDw8ICIgZnJvbSAiIDw8IHZhbHVlKGEp
IDw8ICIgdG8gIiA8PCB2YWx1ZShiKSA8PCAiIGF0ICIgPDwgVGV4dFN0cmVhbTo6Rm9ybWF0TnVt
YmVyUmVzcGVjdGluZ0ludGVnZXJzKHByb2dyZXNzKSA8PCAiIC0+ICIgPDwgdmFsdWUocmVzdWx0
KSk7CisgICAgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgQ29sb3IgKFJlbmRlclN0eWxlOjoq
bV9nZXR0ZXIpKCkgY29uc3Q7CiAgICAgdm9pZCAoUmVuZGVyU3R5bGU6OiptX3NldHRlcikoY29u
c3QgQ29sb3ImKTsKQEAgLTg2Myw2ICs5MDIsMTQgQEAgcHVibGljOgogICAgICAgICBtX3Zpc2l0
ZWRXcmFwcGVyLT5ibGVuZChhbmltLCBkc3QsIGEsIGIsIHByb2dyZXNzKTsKICAgICB9CiAKKyNp
ZiAhTE9HX0RJU0FCTEVECisgICAgdm9pZCBsb2dCbGVuZChjb25zdCBSZW5kZXJTdHlsZSogYSwg
Y29uc3QgUmVuZGVyU3R5bGUqIGIsIGNvbnN0IFJlbmRlclN0eWxlKiByZXN1bHQsIGRvdWJsZSBw
cm9ncmVzcykgY29uc3QgZmluYWwKKyAgICB7CisgICAgICAgIG1fd3JhcHBlci0+bG9nQmxlbmQo
YSwgYiwgcmVzdWx0LCBwcm9ncmVzcyk7CisgICAgICAgIG1fdmlzaXRlZFdyYXBwZXItPmxvZ0Js
ZW5kKGEsIGIsIHJlc3VsdCwgcHJvZ3Jlc3MpOworICAgIH0KKyNlbmRpZgorCiBwcml2YXRlOgog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxBbmltYXRpb25Qcm9wZXJ0eVdyYXBwZXJCYXNlPiBtX3dyYXBw
ZXI7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFuaW1hdGlvblByb3BlcnR5V3JhcHBlckJhc2U+IG1f
dmlzaXRlZFdyYXBwZXI7CkBAIC0xMDMyLDYgKzEwNzksMTQgQEAgcHVibGljOgogICAgICAgICB9
CiAgICAgfQogCisjaWYgIUxPR19ESVNBQkxFRAorICAgIHZvaWQgbG9nQmxlbmQoY29uc3QgUmVu
ZGVyU3R5bGUqLCBjb25zdCBSZW5kZXJTdHlsZSosIGNvbnN0IFJlbmRlclN0eWxlKiwgZG91Ymxl
IHByb2dyZXNzKSBjb25zdCBmaW5hbAorICAgIHsKKyAgICAgICAgLy8gRklYTUU6IGJldHRlciBs
b2dnaW5nLgorICAgICAgICBMT0dfV0lUSF9TVFJFQU0oQW5pbWF0aW9ucywgc3RyZWFtIDw8ICIg
IGJsZW5kaW5nIEZpbGxMYXllcnMgYXQgIiA8PCBUZXh0U3RyZWFtOjpGb3JtYXROdW1iZXJSZXNw
ZWN0aW5nSW50ZWdlcnMocHJvZ3Jlc3MpKTsKKyAgICB9CisjZW5kaWYKKwogcHJpdmF0ZToKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8RmlsbExheWVyQW5pbWF0aW9uUHJvcGVydHlXcmFwcGVyQmFzZT4g
bV9maWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXI7CiAKQEAgLTEwNzAsNiArMTEyNSwxNCBAQCBwdWJs
aWM6CiAgICAgICAgICAgICB3cmFwcGVyLT5ibGVuZChhbmltLCBkc3QsIGEsIGIsIHByb2dyZXNz
KTsKICAgICB9CiAKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgdm9pZCBsb2dCbGVuZChjb25zdCBS
ZW5kZXJTdHlsZSosIGNvbnN0IFJlbmRlclN0eWxlKiwgY29uc3QgUmVuZGVyU3R5bGUqLCBkb3Vi
bGUgcHJvZ3Jlc3MpIGNvbnN0IGZpbmFsCisgICAgeworICAgICAgICAvLyBGSVhNRTogYmV0dGVy
IGxvZ2dpbmcuCisgICAgICAgIExPR19XSVRIX1NUUkVBTShBbmltYXRpb25zLCBzdHJlYW0gPDwg
IiAgYmxlbmRpbmcgc2hvcnRoYW5kIHByb3BlcnR5ICIgPDwgZ2V0UHJvcGVydHlOYW1lKHByb3Bl
cnR5KCkpIDw8ICIgYXQgIiA8PCBUZXh0U3RyZWFtOjpGb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50
ZWdlcnMocHJvZ3Jlc3MpKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGNvbnN0IFZlY3RvcjxBbmlt
YXRpb25Qcm9wZXJ0eVdyYXBwZXJCYXNlKj4mIHByb3BlcnR5V3JhcHBlcnMoKSBjb25zdCB7IHJl
dHVybiBtX3Byb3BlcnR5V3JhcHBlcnM7IH0KIAogcHJpdmF0ZToKQEAgLTExMDAsNiArMTE2Mywx
NCBAQCBwdWJsaWM6CiAgICAgICAgIGRzdC0+c2V0RmxleEdyb3coYmxlbmRGdW5jKGFuaW0sIGEt
PmZsZXhHcm93KCksIGItPmZsZXhHcm93KCksIHByb2dyZXNzKSk7CiAgICAgICAgIGRzdC0+c2V0
RmxleFNocmluayhibGVuZEZ1bmMoYW5pbSwgYS0+ZmxleFNocmluaygpLCBiLT5mbGV4U2hyaW5r
KCksIHByb2dyZXNzKSk7CiAgICAgfQorCisjaWYgIUxPR19ESVNBQkxFRAorICAgIHZvaWQgbG9n
QmxlbmQoY29uc3QgUmVuZGVyU3R5bGUqLCBjb25zdCBSZW5kZXJTdHlsZSosIGNvbnN0IFJlbmRl
clN0eWxlKiwgZG91YmxlIHByb2dyZXNzKSBjb25zdCBmaW5hbAorICAgIHsKKyAgICAgICAgLy8g
RklYTUU6IGJldHRlciBsb2dnaW5nLgorICAgICAgICBMT0dfV0lUSF9TVFJFQU0oQW5pbWF0aW9u
cywgc3RyZWFtIDw8ICIgIGJsZW5kaW5nIGZsZXggYXQgIiA8PCBUZXh0U3RyZWFtOjpGb3JtYXRO
dW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMocHJvZ3Jlc3MpKTsKKyAgICB9CisjZW5kaWYKIH07CiAK
IGNsYXNzIFByb3BlcnR5V3JhcHBlclNWR1BhaW50IDogcHVibGljIEFuaW1hdGlvblByb3BlcnR5
V3JhcHBlckJhc2UgewpAQCAtMTE2Miw2ICsxMjMzLDE0IEBAIHB1YmxpYzoKICAgICAgICAgKGRz
dC0+Km1fc2V0dGVyKShibGVuZEZ1bmMoYW5pbSwgZnJvbUNvbG9yLCB0b0NvbG9yLCBwcm9ncmVz
cykpOwogICAgIH0KIAorI2lmICFMT0dfRElTQUJMRUQKKyAgICB2b2lkIGxvZ0JsZW5kKGNvbnN0
IFJlbmRlclN0eWxlKiwgY29uc3QgUmVuZGVyU3R5bGUqLCBjb25zdCBSZW5kZXJTdHlsZSosIGRv
dWJsZSBwcm9ncmVzcykgY29uc3QgZmluYWwKKyAgICB7CisgICAgICAgIC8vIEZJWE1FOiBiZXR0
ZXIgbG9nZ2luZy4KKyAgICAgICAgTE9HX1dJVEhfU1RSRUFNKEFuaW1hdGlvbnMsIHN0cmVhbSA8
PCAiICBibGVuZGluZyBTVkdQYWludCBhdCAiIDw8IFRleHRTdHJlYW06OkZvcm1hdE51bWJlclJl
c3BlY3RpbmdJbnRlZ2Vycyhwcm9ncmVzcykpOworICAgIH0KKyNlbmRpZgorCiBwcml2YXRlOgog
ICAgIGNvbnN0IFNWR1BhaW50OjpTVkdQYWludFR5cGUmIChSZW5kZXJTdHlsZTo6Km1fcGFpbnRU
eXBlR2V0dGVyKSgpIGNvbnN0OwogICAgIENvbG9yIChSZW5kZXJTdHlsZTo6Km1fZ2V0dGVyKSgp
IGNvbnN0OwpAQCAtMTE4MSwxMSArMTI2MCwxMSBAQCBwdWJsaWM6CiAgICAgQW5pbWF0aW9uUHJv
cGVydHlXcmFwcGVyQmFzZSogd3JhcHBlckZvclByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJvcGVy
dHlJRCkKICAgICB7CiAgICAgICAgIGlmIChwcm9wZXJ0eUlEIDwgZmlyc3RDU1NQcm9wZXJ0eSB8
fCBwcm9wZXJ0eUlEID4gbGFzdENTU1Byb3BlcnR5KQotICAgICAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICB1bnNpZ25lZCB3cmFwcGVySW5k
ZXggPSBpbmRleEZyb21Qcm9wZXJ0eUlEKHByb3BlcnR5SUQpOwogICAgICAgICBpZiAod3JhcHBl
ckluZGV4ID09IGNJbnZhbGlkUHJvcGVydHlXcmFwcGVySW5kZXgpCi0gICAgICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgICAgIHJldHVybiBtX3By
b3BlcnR5V3JhcHBlcnNbd3JhcHBlckluZGV4XS5nZXQoKTsKICAgICB9CkBAIC0xNDcwLDYgKzE1
NDksOSBAQCBib29sIENTU1Byb3BlcnR5QW5pbWF0aW9uOjpibGVuZFByb3BlcnRpZXMoY29uc3Qg
QW5pbWF0aW9uQmFzZSogYW5pbSwgQ1NTUHJvcGVydAogICAgIEFuaW1hdGlvblByb3BlcnR5V3Jh
cHBlckJhc2UqIHdyYXBwZXIgPSBDU1NQcm9wZXJ0eUFuaW1hdGlvbldyYXBwZXJNYXA6OnNpbmds
ZXRvbigpLndyYXBwZXJGb3JQcm9wZXJ0eShwcm9wKTsKICAgICBpZiAod3JhcHBlcikgewogICAg
ICAgICB3cmFwcGVyLT5ibGVuZChhbmltLCBkc3QsIGEsIGIsIHByb2dyZXNzKTsKKyNpZiAhTE9H
X0RJU0FCTEVECisgICAgICAgIHdyYXBwZXItPmxvZ0JsZW5kKGEsIGIsIGRzdCwgcHJvZ3Jlc3Mp
OworI2VuZGlmCiAgICAgICAgIHJldHVybiAhd3JhcHBlci0+YW5pbWF0aW9uSXNBY2NlbGVyYXRl
ZCgpIHx8ICFhbmltLT5pc0FjY2VsZXJhdGVkKCk7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguY3BwCmluZGV4IDZjNWUyYjUzZDU4NjNhMWYwYmFjZmMx
YTk4MzZhZWU0NzhjZjQ3NWQuLjJlMDM4YmRmMDVhMjI0MzEzODJhNGMyMjAyNTYxNzI0Mjk0NjBl
MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmNwcApAQCAtMzI4LDggKzMyOCwxMCBAQCBU
ZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBMZW5ndGggbGVuZ3RoKQogICAg
IGNhc2UgVW5kZWZpbmVkOgogICAgICAgICB0cyA8PCBsZW5ndGgudHlwZSgpOwogICAgICAgICBi
cmVhazsKLSAgICBjYXNlIFJlbGF0aXZlOgogICAgIGNhc2UgRml4ZWQ6CisgICAgICAgIHRzIDw8
IFRleHRTdHJlYW06OkZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhsZW5ndGgudmFsdWUo
KSkgPDwgInB4IjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBSZWxhdGl2ZToKICAgICBjYXNl
IEludHJpbnNpYzoKICAgICBjYXNlIE1pbkludHJpbnNpYzoKICAgICBjYXNlIE1pbkNvbnRlbnQ6
CkBAIC0zNDMsNiArMzQ1LDcgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0
cywgTGVuZ3RoIGxlbmd0aCkKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDYWxjdWxhdGVkOgog
ICAgICAgICAvLyBGSVhNRTogZHVtcCBDYWxjdWxhdGlvblZhbHVlLgorICAgICAgICB0cyA8PCAi
Y2FsYyguLi4pIjsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9MZW5ndGhCb3guaAppbmRleCAyNDM2YTVjYjE4YzAzOTgwMmZlMTk3NWFmM2Q0OTczODVjNTcz
MWU4Li5lN2E5NzhhOWM4YzA1MjhkMjljYTBlMGQzN2NjOWY0YzdlZDc3MTA3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGhCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9MZW5ndGhCb3guaApAQCAtMTUzLDYgKzE1Myw4IEBAIHB1YmxpYzoKIHR5cGVk
ZWYgQm94RXh0ZW50PExheW91dFVuaXQ+IExheW91dEJveEV4dGVudDsKIHR5cGVkZWYgQm94RXh0
ZW50PGZsb2F0PiBGbG9hdEJveEV4dGVudDsKIAorVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0
U3RyZWFtJiwgY29uc3QgTGVuZ3RoQm94Jik7CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAog
I2VuZGlmIC8vIExlbmd0aEJveF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90cmFuc2Zvcm1zL0lkZW50aXR5VHJhbnNmb3JtT3BlcmF0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0lkZW50aXR5VHJhbnNmb3Jt
T3BlcmF0aW9uLmgKaW5kZXggMDE3NDAxZDhjZDQ2YWFiMzZiZTY0NzE0MTNiOGY0YWQyNzRhOGQw
OS4uZWVkNGM4NDdiYzVmNmU0NDliZmFlYzU2YTVjZmQwOTA5NjBmOWM3MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9JZGVudGl0eVRyYW5z
Zm9ybU9wZXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Ry
YW5zZm9ybXMvSWRlbnRpdHlUcmFuc2Zvcm1PcGVyYXRpb24uaApAQCAtNjIsNiArNjIsOCBAQCBw
cml2YXRlOgogICAgICAgICByZXR1cm4gKnRoaXM7CiAgICAgfQogCisgICAgdm9pZCBkdW1wKFRl
eHRTdHJlYW0mKSBjb25zdCBmaW5hbDsKKwogICAgIElkZW50aXR5VHJhbnNmb3JtT3BlcmF0aW9u
KCkKICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9NYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL01hdHJpeDNEVHJhbnNmb3JtT3Bl
cmF0aW9uLmNwcAppbmRleCA0ZTRkM2JmODFkMWU4ZDYyNzNiYzllZmY4MTM2OTkzYjcwODgzYTBi
Li5jNzEwZjM5ODEwMDgzMDU0Mjk5YzMzMzhkZWIxNTY4Y2RiZjFlMzU5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL01hdHJpeDNEVHJhbnNm
b3JtT3BlcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
cmFuc2Zvcm1zL01hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uLmNwcApAQCAtMjYsNiArMjYsNyBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0
aW9uLmgiCiAKKyNpbmNsdWRlICJUZXh0U3RyZWFtLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02MCw0ICs2MSw5IEBAIFJlZjxUcmFuc2Zvcm1PcGVy
YXRpb24+IE1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uOjpibGVuZChjb25zdCBUcmFuc2Zvcm1P
cGVyYXRpCiAgICAgcmV0dXJuIGNyZWF0ZU9wZXJhdGlvbih0b1QsIGZyb21ULCBwcm9ncmVzcyk7
CiB9CiAKK3ZvaWQgTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb246OmR1bXAoVGV4dFN0cmVhbSYg
dHMpIGNvbnN0Cit7CisgICAgdHMgPDwgdHlwZSgpIDw8ICIoIiA8PCBtX21hdHJpeCA8PCAiKSI7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvTWF0cml4M0RU
cmFuc2Zvcm1PcGVyYXRpb24uaAppbmRleCA0ZWUxNjRhZDM3ZTBmYWIyODhhYmIwODVhMzY2NTcy
YThmMjY1ZWU5Li5hMzBiMGFhNTk5MzY0MDNjNjNhMjkzNzQ4M2Q4YTM5ZGNkYTI0Mzg2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL01hdHJp
eDNEVHJhbnNmb3JtT3BlcmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9NYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5oCkBAIC02Miw2ICs2
Miw4IEBAIHByaXZhdGU6CiAKICAgICBSZWY8VHJhbnNmb3JtT3BlcmF0aW9uPiBibGVuZChjb25z
dCBUcmFuc2Zvcm1PcGVyYXRpb24qIGZyb20sIGRvdWJsZSBwcm9ncmVzcywgYm9vbCBibGVuZFRv
SWRlbnRpdHkgPSBmYWxzZSkgb3ZlcnJpZGU7CiAgICAgCisgICAgdm9pZCBkdW1wKFRleHRTdHJl
YW0mKSBjb25zdCBmaW5hbDsKKwogICAgIE1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uKGNvbnN0
IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXQpCiAgICAgewogICAgICAgICBtX21hdHJpeCA9IG1h
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9y
bXMvTWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvTWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uLmNwcAppbmRleCBh
ZDllNDNmYjhkNDVhYTMwMzc1OTZhZTVhYTM1OWJmZmM0MDgwYTM1Li4xNzg2MGU0ZTE2ZjM3OGQy
ZjAwNmFmNjNiZTkxMDhkNWQwMmZjMWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL01hdHJpeFRyYW5zZm9ybU9wZXJhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9NYXRyaXhUcmFu
c2Zvcm1PcGVyYXRpb24uY3BwCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiTWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uLmgiCiAKKyNpbmNsdWRlICJUZXh0
U3RyZWFtLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC01OCw0ICs1OSwxNSBAQCBSZWY8VHJhbnNmb3JtT3BlcmF0aW9uPiBNYXRyaXhUcmFuc2Zvcm1P
cGVyYXRpb246OmJsZW5kKGNvbnN0IFRyYW5zZm9ybU9wZXJhdGlvbgogICAgIHJldHVybiBjcmVh
dGVPcGVyYXRpb24odG9ULCBmcm9tVCwgcHJvZ3Jlc3MpOwogfQogCit2b2lkIE1hdHJpeFRyYW5z
Zm9ybU9wZXJhdGlvbjo6ZHVtcChUZXh0U3RyZWFtJiB0cykgY29uc3QKK3sKKyAgICB0cyA8PCAi
KCIKKyAgICAgICAgPDwgVGV4dFN0cmVhbTo6Rm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJz
KG1fYSkgPDwgIiwgIgorICAgICAgICA8PCBUZXh0U3RyZWFtOjpGb3JtYXROdW1iZXJSZXNwZWN0
aW5nSW50ZWdlcnMobV9iKSA8PCAiLCAiCisgICAgICAgIDw8IFRleHRTdHJlYW06OkZvcm1hdE51
bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhtX2MpIDw8ICIsICIKKyAgICAgICAgPDwgVGV4dFN0cmVh
bTo6Rm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKG1fZCkgPDwgIiwgIgorICAgICAgICA8
PCBUZXh0U3RyZWFtOjpGb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMobV9lKSA8PCAiLCAi
CisgICAgICAgIDw8IFRleHRTdHJlYW06OkZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2Vycyht
X2YpIDw8ICIpIjsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9NYXRyaXhUcmFuc2Zvcm1P
cGVyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMv
TWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uLmgKaW5kZXggZDg0MGIzMzY1ZTcyNTY5NmJlYzQ2YTMz
ZTJiYWI5OWRhY2UyYWMxYi4uM2U4OGE5OTU0MDdjZGNhYWE5MWY4ZjdjMmY4NDYwMGMxMWIwZjI0
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jt
cy9NYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90cmFuc2Zvcm1zL01hdHJpeFRyYW5zZm9ybU9wZXJhdGlvbi5oCkBAIC02Nyw3
ICs2Nyw5IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgUmVmPFRyYW5zZm9ybU9wZXJhdGlvbj4g
YmxlbmQoY29uc3QgVHJhbnNmb3JtT3BlcmF0aW9uKiBmcm9tLCBkb3VibGUgcHJvZ3Jlc3MsIGJv
b2wgYmxlbmRUb0lkZW50aXR5ID0gZmFsc2UpIG92ZXJyaWRlOwotICAgIAorCisgICAgdm9pZCBk
dW1wKFRleHRTdHJlYW0mKSBjb25zdCBmaW5hbDsKKwogICAgIE1hdHJpeFRyYW5zZm9ybU9wZXJh
dGlvbihkb3VibGUgYSwgZG91YmxlIGIsIGRvdWJsZSBjLCBkb3VibGUgZCwgZG91YmxlIGUsIGRv
dWJsZSBmKQogICAgICAgICA6IG1fYShhKQogICAgICAgICAsIG1fYihiKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9QZXJzcGVjdGl2ZVRy
YW5zZm9ybU9wZXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
cmFuc2Zvcm1zL1BlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcAppbmRleCBmY2ZmNzA4
YzhkNWE1YjQ3MWMyNDhiNmRjMmFmZTI5OWU4YWE0MWVlLi5hNjEyYWVkNmU5MzQ2MTcxNTE4N2Y1
NTBjZmRiYWE3MzAwMjNkZjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90cmFuc2Zvcm1zL1BlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1BlcnNwZWN0aXZl
VHJhbnNmb3JtT3BlcmF0aW9uLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlBlcnNw
ZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmgiCiAKICNpbmNsdWRlICJBbmltYXRpb25VdGlsaXRp
ZXMuaCIKKyNpbmNsdWRlICJUZXh0U3RyZWFtLmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjgsNCArNjksOSBAQCBSZWY8VHJhbnNmb3Jt
T3BlcmF0aW9uPiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbjo6YmxlbmQoY29uc3QgVHJh
bnNmb3JtT3BlcgogICAgIHJldHVybiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbjo6Y3Jl
YXRlKExlbmd0aCgwLCBGaXhlZCkpOwogfQogCit2b2lkIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3Bl
cmF0aW9uOjpkdW1wKFRleHRTdHJlYW0mIHRzKSBjb25zdAoreworICAgIHRzIDw8IHR5cGUoKSA8
PCAiKCIgPDwgbV9wIDw8ICIpIjsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9QZXJzcGVj
dGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9QZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5oCmluZGV4IDNmM2Ez
NjBhZDY4YTZlNGU0ZjI1NTA3NWUyZDJhN2JkYjc4NGQwNmIuLmQ5YjIwYTU2MWQ4ZjM5MzY0NGQx
ZTY3MTczYjBmMzE3MTAxODZiODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1BlcnNwZWN0aXZl
VHJhbnNmb3JtT3BlcmF0aW9uLmgKQEAgLTY0LDYgKzY0LDggQEAgcHJpdmF0ZToKIAogICAgIFJl
ZjxUcmFuc2Zvcm1PcGVyYXRpb24+IGJsZW5kKGNvbnN0IFRyYW5zZm9ybU9wZXJhdGlvbiogZnJv
bSwgZG91YmxlIHByb2dyZXNzLCBib29sIGJsZW5kVG9JZGVudGl0eSA9IGZhbHNlKSBvdmVycmlk
ZTsKIAorICAgIHZvaWQgZHVtcChUZXh0U3RyZWFtJikgY29uc3QgZmluYWw7CisKICAgICBQZXJz
cGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbihjb25zdCBMZW5ndGgmIHApCiAgICAgICAgIDogbV9w
KHApCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9Sb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9Sb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24uY3Bw
CmluZGV4IDljOWFjOWY1YTViNzVmY2QyMmQyYjFjZGVkZmFiYTZmYmE3M2ZjNmUuLjUyYzNkYmNj
NWU3OTgxNjY3MDgyMTlmNjc3MzBkZmY3OTk1NjE0NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1Jv
dGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHAKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRlICJS
b3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24uaCIKIAogI2luY2x1ZGUgIkFuaW1hdGlvblV0aWxpdGll
cy5oIgorI2luY2x1ZGUgIlRleHRTdHJlYW0uaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5j
bHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtOTksNCArMTAwLDkgQEAgUmVmPFRyYW5zZm9y
bU9wZXJhdGlvbj4gUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uOjpibGVuZChjb25zdCBUcmFuc2Zv
cm1PcGVyYXRpb24KICAgICByZXR1cm4gUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uOjpjcmVhdGUo
eCwgeSwgeiwgYW5nbGUsIFJPVEFURV8zRCk7CiB9CiAKK3ZvaWQgUm90YXRlVHJhbnNmb3JtT3Bl
cmF0aW9uOjpkdW1wKFRleHRTdHJlYW0mIHRzKSBjb25zdAoreworICAgIHRzIDw8IHR5cGUoKSA8
PCAiKCIgPDwgVGV4dFN0cmVhbTo6Rm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKG1feCkg
PDwgIiwgIiA8PCBUZXh0U3RyZWFtOjpGb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMobV95
KSA8PCAiLCAiIDw8IFRleHRTdHJlYW06OkZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2Vycyht
X3opIDw8ICIsICIgPDwgVGV4dFN0cmVhbTo6Rm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJz
KG1fYW5nbGUpIDw8ICJkZWcpIjsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9Sb3RhdGVU
cmFuc2Zvcm1PcGVyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Ry
YW5zZm9ybXMvUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uLmgKaW5kZXggODM2MDU4YjA3MTJjNzA5
YTU3ODY4NDUwMTk5MDczZGI3NjVkYzRjOS4uYmU4YzZlMmYzYWI1MTU5MDdkNWNkYTExOThlYzQ2
ZTNiNDc4YjdiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9Sb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1JvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5o
CkBAIC02OSw2ICs2OSw4IEBAIHByaXZhdGU6CiAKICAgICBSZWY8VHJhbnNmb3JtT3BlcmF0aW9u
PiBibGVuZChjb25zdCBUcmFuc2Zvcm1PcGVyYXRpb24qIGZyb20sIGRvdWJsZSBwcm9ncmVzcywg
Ym9vbCBibGVuZFRvSWRlbnRpdHkgPSBmYWxzZSkgb3ZlcnJpZGU7CiAKKyAgICB2b2lkIGR1bXAo
VGV4dFN0cmVhbSYpIGNvbnN0IGZpbmFsOworCiAgICAgUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9u
KGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHosIGRvdWJsZSBhbmdsZSwgT3BlcmF0aW9uVHlw
ZSB0eXBlKQogICAgICAgICA6IG1feCh4KQogICAgICAgICAsIG1feSh5KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9TY2FsZVRyYW5zZm9y
bU9wZXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zv
cm1zL1NjYWxlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcAppbmRleCBjYjJmYTdmNGY5ZmRmOTVkOTNi
NzNkZjJiMjIxNTgzZDVkMGQxYWQ1Li44NjJlYWZlMTUxNTkwZDk2Zjk0YTdiMzZhYWVmNTdlZmZl
NmJmMzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL1NjYWxlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1NjYWxlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcApA
QCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgIlNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uLmgiCiAK
ICNpbmNsdWRlICJBbmltYXRpb25VdGlsaXRpZXMuaCIKKyNpbmNsdWRlICJUZXh0U3RyZWFtLmgi
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTMsNCArNTQsOSBAQCBSZWY8VHJhbnNmb3Jt
T3BlcmF0aW9uPiBTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbjo6YmxlbmQoY29uc3QgVHJhbnNmb3Jt
T3BlcmF0aW9uKgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdl
YkNvcmU6OmJsZW5kKGZyb21aLCBtX3osIHByb2dyZXNzKSwgbV90eXBlKTsKIH0KIAordm9pZCBT
Y2FsZVRyYW5zZm9ybU9wZXJhdGlvbjo6ZHVtcChUZXh0U3RyZWFtJiB0cykgY29uc3QKK3sKKyAg
ICB0cyA8PCB0eXBlKCkgPDwgIigiIDw8IFRleHRTdHJlYW06OkZvcm1hdE51bWJlclJlc3BlY3Rp
bmdJbnRlZ2VycyhtX3gpIDw8ICIsICIgPDwgVGV4dFN0cmVhbTo6Rm9ybWF0TnVtYmVyUmVzcGVj
dGluZ0ludGVnZXJzKG1feSkgPDwgIiwgIiA8PCBUZXh0U3RyZWFtOjpGb3JtYXROdW1iZXJSZXNw
ZWN0aW5nSW50ZWdlcnMobV96KSA8PCAiKSI7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMv
U2NhbGVUcmFuc2Zvcm1PcGVyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RyYW5zZm9ybXMvU2NhbGVUcmFuc2Zvcm1PcGVyYXRpb24uaAppbmRleCA5ZjhiMjg2NDNj
NDdmZGQ0MWFmNTU0YmNiZmY1YTNmZjhlNGJjOTg3Li5hZThhNTU1NTYzMzc3Yjk2Y2EwYWU3OWYx
OWRjOTZjZWExYjg2ODE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1NjYWxlVHJhbnNmb3JtT3BlcmF0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9TY2FsZVRyYW5zZm9ybU9wZXJhdGlv
bi5oCkBAIC02OCw2ICs2OCw4IEBAIHByaXZhdGU6CiAKICAgICBSZWY8VHJhbnNmb3JtT3BlcmF0
aW9uPiBibGVuZChjb25zdCBUcmFuc2Zvcm1PcGVyYXRpb24qIGZyb20sIGRvdWJsZSBwcm9ncmVz
cywgYm9vbCBibGVuZFRvSWRlbnRpdHkgPSBmYWxzZSkgb3ZlcnJpZGU7CiAKKyAgICB2b2lkIGR1
bXAoVGV4dFN0cmVhbSYpIGNvbnN0IGZpbmFsOworCiAgICAgU2NhbGVUcmFuc2Zvcm1PcGVyYXRp
b24oZG91YmxlIHN4LCBkb3VibGUgc3ksIGRvdWJsZSBzeiwgT3BlcmF0aW9uVHlwZSB0eXBlKQog
ICAgICAgICA6IG1feChzeCkKICAgICAgICAgLCBtX3koc3kpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1NrZXdUcmFuc2Zvcm1PcGVyYXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9Ta2V3
VHJhbnNmb3JtT3BlcmF0aW9uLmNwcAppbmRleCAwYjYxZjkwODQwYTgwNWFjYTQ3ZmY1ZTYzN2Yx
ZDQ4OTdmNTM4ZTU1Li5lYzUyMTEyZWY5MTk4N2YyMWFhMWUzMzMxYzcwZDg5MDAxMzNiMmY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1Nr
ZXdUcmFuc2Zvcm1PcGVyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RyYW5zZm9ybXMvU2tld1RyYW5zZm9ybU9wZXJhdGlvbi5jcHAKQEAgLTIzLDYgKzIz
LDcgQEAKICNpbmNsdWRlICJTa2V3VHJhbnNmb3JtT3BlcmF0aW9uLmgiCiAKICNpbmNsdWRlICJB
bmltYXRpb25VdGlsaXRpZXMuaCIKKyNpbmNsdWRlICJUZXh0U3RyZWFtLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtNDgsNCArNDksOSBAQCBSZWY8VHJhbnNmb3JtT3BlcmF0aW9uPiBT
a2V3VHJhbnNmb3JtT3BlcmF0aW9uOjpibGVuZChjb25zdCBUcmFuc2Zvcm1PcGVyYXRpb24qCiAg
ICAgcmV0dXJuIFNrZXdUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZShXZWJDb3JlOjpibGVuZChm
cm9tQW5nbGVYLCBtX2FuZ2xlWCwgcHJvZ3Jlc3MpLCBXZWJDb3JlOjpibGVuZChmcm9tQW5nbGVZ
LCBtX2FuZ2xlWSwgcHJvZ3Jlc3MpLCBtX3R5cGUpOwogfQogCit2b2lkIFNrZXdUcmFuc2Zvcm1P
cGVyYXRpb246OmR1bXAoVGV4dFN0cmVhbSYgdHMpIGNvbnN0Cit7CisgICAgdHMgPDwgdHlwZSgp
IDw8ICIoIiA8PCBUZXh0U3RyZWFtOjpGb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMobV9h
bmdsZVgpIDw8ICJkZWcsICIgPDwgVGV4dFN0cmVhbTo6Rm9ybWF0TnVtYmVyUmVzcGVjdGluZ0lu
dGVnZXJzKG1fYW5nbGVZKSA8PCAiZGVnKSI7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMv
U2tld1RyYW5zZm9ybU9wZXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9Ta2V3VHJhbnNmb3JtT3BlcmF0aW9uLmgKaW5kZXggYmRlN2QzMTIyNDM1
NWM3ZjJiZWViOGQyNzdjMWQxOGI1YTVlODBlZC4uNDIyZDE0YjZhOWY5MTExMDZjMjk3NjEwOWU3
ZDdjODY3MzUzYTBiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9Ta2V3VHJhbnNmb3JtT3BlcmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9Ta2V3VHJhbnNmb3JtT3BlcmF0aW9uLmgK
QEAgLTYxLDYgKzYxLDggQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICBSZWY8VHJhbnNmb3JtT3Bl
cmF0aW9uPiBibGVuZChjb25zdCBUcmFuc2Zvcm1PcGVyYXRpb24qIGZyb20sIGRvdWJsZSBwcm9n
cmVzcywgYm9vbCBibGVuZFRvSWRlbnRpdHkgPSBmYWxzZSkgb3ZlcnJpZGU7CisKKyAgICB2b2lk
IGR1bXAoVGV4dFN0cmVhbSYpIGNvbnN0IGZpbmFsOwogICAgIAogICAgIFNrZXdUcmFuc2Zvcm1P
cGVyYXRpb24oZG91YmxlIGFuZ2xlWCwgZG91YmxlIGFuZ2xlWSwgT3BlcmF0aW9uVHlwZSB0eXBl
KQogICAgICAgICA6IG1fYW5nbGVYKGFuZ2xlWCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlv
bi5oCmluZGV4IGQzZWIwMzVlZDNhYzQ2ODdjODNjNTNhYWUzMWY4YWVlZWI1NmU5MDUuLjRmNmFh
ODhkYTRlMmJhOWUyNzg4ZmNhZjQzZDJhOTk2ZTdlNGQ5MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zv
cm1PcGVyYXRpb24uaApAQCAtMTA0LDggKzEwNCwxMyBAQCBwdWJsaWM6CiAgICAgewogICAgICAg
ICByZXR1cm4gdHlwZSgpID09IFRSQU5TTEFURV9YIHx8IHR5cGUoKSA9PSBUUkFOU0xBVEVfWSB8
fCB0eXBlKCkgPT0gVFJBTlNMQVRFX1ogfHwgdHlwZSgpID09IFRSQU5TTEFURSB8fCB0eXBlKCkg
PT0gVFJBTlNMQVRFXzNEOwogICAgIH0KKyAgICAKKyAgICB2aXJ0dWFsIHZvaWQgZHVtcChUZXh0
U3RyZWFtJikgY29uc3QgPSAwOwogfTsKIAorVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3Ry
ZWFtJiwgVHJhbnNmb3JtT3BlcmF0aW9uOjpPcGVyYXRpb25UeXBlKTsKK1RleHRTdHJlYW0mIG9w
ZXJhdG9yPDwoVGV4dFN0cmVhbSYsIGNvbnN0IFRyYW5zZm9ybU9wZXJhdGlvbiYpOworCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKICNkZWZpbmUgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19UUkFO
U0ZPUk1PUEVSQVRJT04oVG9WYWx1ZVR5cGVOYW1lLCBwcmVkaWNhdGUpIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3Bl
cmF0aW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1z
L1RyYW5zZm9ybU9wZXJhdGlvbnMuY3BwCmluZGV4IDE0MzViMjczN2Y3YmY0N2M0NTAwMjkzMzI5
M2RlMjUzY2Y5ZmUyMWUuLjliMTU2YmQzZDI4NGEzMWM0ZGI3Y2QxNjczMGZmZDMxYjY2YzJlZDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMv
VHJhbnNmb3JtT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmNwcApAQCAtMjQsNiArMjQsNyBA
QAogCiAjaW5jbHVkZSAiSWRlbnRpdHlUcmFuc2Zvcm1PcGVyYXRpb24uaCIKICNpbmNsdWRlICJN
YXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5oIgorI2luY2x1ZGUgIlRleHRTdHJlYW0uaCIKICNp
bmNsdWRlIDxhbGdvcml0aG0+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTEyNiw0ICsxMjcs
MTEgQEAgVHJhbnNmb3JtT3BlcmF0aW9ucyBUcmFuc2Zvcm1PcGVyYXRpb25zOjpibGVuZChjb25z
dCBUcmFuc2Zvcm1PcGVyYXRpb25zJiBmcm9tLAogICAgIHJldHVybiBibGVuZEJ5VXNpbmdNYXRy
aXhJbnRlcnBvbGF0aW9uKGZyb20sIHByb2dyZXNzLCBzaXplKTsKIH0KIAorVGV4dFN0cmVhbSYg
b3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgVHJhbnNmb3JtT3BlcmF0aW9ucyYgb3Bz
KQoreworICAgIGZvciAoY29uc3QgYXV0byYgb3BlcmF0aW9uIDogb3BzLm9wZXJhdGlvbnMoKSkK
KyAgICAgICAgdHMgPDwgKm9wZXJhdGlvbjsKKyAgICByZXR1cm4gdHM7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKaW5kZXggMmFi
ZmJhMzYxYjZlYjA4YThjNzY2NTVjMjc1YjU2NTFkMWQ3NmIxYy4uM2UxZDA4ZTBlNTA5YTlmNDNl
NGU1ZDAzOTU0N2NlZjE3MzUyM2FkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25z
LmgKQEAgLTgyLDYgKzgyLDggQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8UmVmUHRyPFRyYW5zZm9y
bU9wZXJhdGlvbj4+IG1fb3BlcmF0aW9uczsKIH07CiAKK1RleHRTdHJlYW0mIG9wZXJhdG9yPDwo
VGV4dFN0cmVhbSYsIGNvbnN0IFRyYW5zZm9ybU9wZXJhdGlvbnMmKTsKKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVHJhbnNmb3JtT3BlcmF0aW9uc19oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zbGF0ZVRy
YW5zZm9ybU9wZXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
cmFuc2Zvcm1zL1RyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHAKaW5kZXggMTAxZGM0ZmY2
ODFjNTBmZGQ1M2FkY2Q2Njg3ZmQ3YTM2ZGJhMzNjMy4uYmI5ZmRjZWEyZmM4ZjI0OGFkOGVmOWZj
Y2ViMGM2MGU1MGE5Y2E1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNsYXRlVHJhbnNm
b3JtT3BlcmF0aW9uLmNwcApAQCAtMjEsNyArMjEsOSBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiVHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uLmgiCisKICNpbmNsdWRlICJG
bG9hdENvbnZlcnNpb24uaCIKKyNpbmNsdWRlICJUZXh0U3RyZWFtLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtNDksNCArNTEsOSBAQCBSZWY8VHJhbnNmb3JtT3BlcmF0aW9uPiBUcmFu
c2xhdGVUcmFuc2Zvcm1PcGVyYXRpb246OmJsZW5kKGNvbnN0IFRyYW5zZm9ybU9wZXJhdAogICAg
IHJldHVybiBUcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZShtX3guYmxlbmQoZnJv
bVgsIHByb2dyZXNzKSwgbV95LmJsZW5kKGZyb21ZLCBwcm9ncmVzcyksIG1fei5ibGVuZChmcm9t
WiwgcHJvZ3Jlc3MpLCBtX3R5cGUpOwogfQogCit2b2lkIFRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJh
dGlvbjo6ZHVtcChUZXh0U3RyZWFtJiB0cykgY29uc3QKK3sKKyAgICB0cyA8PCB0eXBlKCkgPDwg
IigiIDw8IG1feCA8PCAiLCAiIDw8IG1feSA8PCAiLCAiIDw8IG1feiA8PCAiKSI7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zbGF0ZVRyYW5zZm9y
bU9wZXJhdGlvbi5oCmluZGV4IDU4YzAwNjYxMDAxMjA2YmNhZjQxODM5NjhhZjMwN2QzZTkwMTg0
M2UuLmU5ZjY4NzU0MWY4YmMxMzdlMTYzNWM5M2M3ZDA1YWVhZGM5ZjNhYjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNsYXRlVHJh
bnNmb3JtT3BlcmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9UcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb24uaApAQCAtNzMsNiArNzMsOCBA
QCBwcml2YXRlOgogCiAgICAgUmVmPFRyYW5zZm9ybU9wZXJhdGlvbj4gYmxlbmQoY29uc3QgVHJh
bnNmb3JtT3BlcmF0aW9uKiBmcm9tLCBkb3VibGUgcHJvZ3Jlc3MsIGJvb2wgYmxlbmRUb0lkZW50
aXR5ID0gZmFsc2UpIG92ZXJyaWRlOwogCisgICAgdm9pZCBkdW1wKFRleHRTdHJlYW0mKSBjb25z
dCBmaW5hbDsKKwogICAgIFRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbihjb25zdCBMZW5ndGgm
IHR4LCBjb25zdCBMZW5ndGgmIHR5LCBjb25zdCBMZW5ndGgmIHR6LCBPcGVyYXRpb25UeXBlIHR5
cGUpCiAgICAgICAgIDogbV94KHR4KQogICAgICAgICAsIG1feSh0eSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9OaW5lUGllY2VJbWFnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvTmluZVBpZWNlSW1hZ2UuY3BwCmluZGV4IGI0YzMzZjRm
MDMwN2YzMmEyMDVhMjhlNTU2YWVmZDVjMTJhNTAyMzYuLjliYmEwZjU4YTk4NzExMjlkYzA0MjIy
NTI2MDBmNzIzOWE3Y2QzNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9OaW5lUGllY2VJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL05pbmVQaWVjZUltYWdlLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkdyYXBo
aWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkxlbmd0aEZ1bmN0aW9ucy5oIgogI2luY2x1ZGUgIlJl
bmRlclN0eWxlLmgiCisjaW5jbHVkZSAiVGV4dFN0cmVhbS5oIgogI2luY2x1ZGUgPHd0Zi9OZXZl
ckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9Qb2ludGVyQ29tcGFyaXNvbi5oPgogCkBAIC0y
NjMsNCArMjY0LDEwIEBAIGJvb2wgTmluZVBpZWNlSW1hZ2VEYXRhOjpvcGVyYXRvcj09KGNvbnN0
IE5pbmVQaWVjZUltYWdlRGF0YSYgb3RoZXIpIGNvbnN0CiAgICAgICAgICYmIHZlcnRpY2FsUnVs
ZSA9PSBvdGhlci52ZXJ0aWNhbFJ1bGU7CiB9CiAKK1RleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4
dFN0cmVhbSYgdHMsIGNvbnN0IE5pbmVQaWVjZUltYWdlJiBpbWFnZSkKK3sKKyAgICB0cyA8PCAi
c3R5bGUtaW1hZ2UgIiA8PCBpbWFnZS5pbWFnZSgpIDw8ICIgc2xpY2VzICIgPDwgaW1hZ2UuaW1h
Z2VTbGljZXMoKTsKKyAgICByZXR1cm4gdHM7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9OaW5lUGllY2VJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL05pbmVQaWVjZUltYWdlLmgKaW5kZXggNDE0YWY5ZDg3ZWQxOTU2ZGFk
ZWQwODFmYzBhYmY1ZGY4YjA0NGEwNy4uZGJhNDc5YjgxNTc3NzM2ZTM4NzVjZTM3NDA0ZmQ1NGQx
NTAyM2M4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL05pbmVQ
aWVjZUltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL05pbmVQaWVj
ZUltYWdlLmgKQEAgLTIxMCw2ICsyMTAsOCBAQCBwcml2YXRlOgogICAgIERhdGFSZWY8TmluZVBp
ZWNlSW1hZ2VEYXRhPiBtX2RhdGE7CiB9OwogCitUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRT
dHJlYW0mLCBjb25zdCBOaW5lUGllY2VJbWFnZSYpOworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKICNlbmRpZiAvLyBOaW5lUGllY2VJbWFnZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHTGVuZ3RoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguY3BwCmlu
ZGV4IDUwYzQzMDRhY2I2ZGE2NmNiY2M5NGU3Y2ZkMzcxNzA1NmI1ZDkwZTIuLmI5OWI5NjZiNmY4
OGNmNjAwNGY1OTE4OTg4YzIyODYyN2FjMmZlZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdMZW5ndGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguY3Bw
CkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCiAjaW5jbHVk
ZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTVkdQYXJzZXJVdGlsaXRpZXMuaCIKKyNpbmNsdWRl
ICJUZXh0U3RyZWFtLmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdWaWV3Lmg+CkBA
IC00MDksNCArNDEwLDEwIEBAIFNWR0xlbmd0aE1vZGUgU1ZHTGVuZ3RoOjpsZW5ndGhNb2RlRm9y
QW5pbWF0ZWRMZW5ndGhBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtCiAgICAgcmV0dXJuIExl
bmd0aE1vZGVPdGhlcjsKIH0KIAorVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0
cywgY29uc3QgU1ZHTGVuZ3RoJiBsZW5ndGgpCit7CisgICAgdHMgPDwgbGVuZ3RoLnZhbHVlQXNT
dHJpbmcoKTsKKyAgICByZXR1cm4gdHM7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdMZW5ndGguaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguaAppbmRl
eCBiZWE5NjQ5MDE2MjAxYWJmMTdhNWFiYmRjMGE1NzFkYzNkYTNiYTIxLi44MDMyNTlhNTIzNmY2
MjEyYWY0MGRkYTcwZDI2ZDA3MDgxMTNhZjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHTGVuZ3RoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aC5oCkBAIC0x
NjksNiArMTY5LDcgQEAgc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPFNWR0xlbmd0aD4gewogICAg
IHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgU1ZHTGVuZ3RoJiB0eXBlKSB7IHJldHVybiB0
eXBlLnZhbHVlQXNTdHJpbmcoKTsgfQogfTsKIAorVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0
U3RyZWFtJiwgY29uc3QgU1ZHTGVuZ3RoJik7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAo=
</data>
<flag name="review"
          id="302063"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277924</attachid>
            <date>2016-05-02 12:48:20 -0700</date>
            <delta_ts>2016-05-02 13:20:51 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-157271-20160502124857.patch</filename>
            <type>text/plain</type>
            <size>42095</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwMzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmUyOGM0OTVjYzdlNGRh
ODI2ZDZmNmI3NjA1MjRmODk5ZjEzNWYxZS4uMDg4MTlkNzEyODA3Y2M4MzhkYTkxNzRmNTAyMTFl
YTlhYjI5MTBkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE2LTA1LTAyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCB0byB0aGUg
QW5pbWF0aW9ucyBsb2cgY2hhbm5lbCBvdXRwdXQgYWJvdXQgd2hpY2ggcHJvcGVydGllcyBhcmUg
YmVpbmcgYmxlbmRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTU3MjcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTWFrZSB0aGUgQW5pbWF0aW9ucyBsb2cgY2hhbm5lbCBkdW1wIGluZm9ybWF0aW9uIGFz
IENTUyBwcm9wZXJ0aWVzIGFyZSBiZWluZyBibGVuZGVkLgorICAgICAgICBTYW1wbGUgb3V0cHV0
OgorICAgICAgICAKKyAgICAgICAgICBibGVuZGluZyBsZWZ0IGZyb20gMHB4IHRvIDQwMHB4IGF0
IDAuNTcgLT4gMjI3Ljc2cHgKKyAgICAgICAgICBibGVuZGluZyB0cmFuc2Zvcm0gZnJvbSB0cmFu
c2xhdGUoMHB4LCAwcHgsIDBweCkgdG8gdHJhbnNsYXRlKDQwMHB4LCAwcHgsIDBweCkgYXQgMC43
NCAtPiB0cmFuc2xhdGUoMjk0Ljk3cHgsIDBweCwgMHB4KQorICAgIAorICAgICAgICBUaGlzIG1h
a2VzIGl0IGVhc2llciB0byBzZWUsIGZvciBleGFtcGxlLCB0cmFuc2l0aW9ucyB0byBvciBmcm9t
ICJhdXRvIiB2YWx1ZXMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFnZS9hbmltYXRp
b24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJvcGVydHlX
cmFwcGVyR2V0dGVyOjp2YWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpQcm9wZXJ0eVdyYXBwZXJN
YXliZUludmFsaWRDb2xvcjo6dmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlB
bmltYXRpb25XcmFwcGVyTWFwOjp3cmFwcGVyRm9yUHJvcGVydHkpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUHJvcGVydHlBbmltYXRpb246OmJsZW5kUHJvcGVydGllcyk6CisgICAgICAgICogcGxh
dGZvcm0vTGVuZ3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPDwpOgorICAgICAg
ICAqIHBsYXRmb3JtL0xlbmd0aEJveC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3Ry
YW5zZm9ybXMvSWRlbnRpdHlUcmFuc2Zvcm1PcGVyYXRpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy90cmFuc2Zvcm1zL01hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uOjpkdW1wKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL01hdHJpeDNEVHJhbnNmb3JtT3BlcmF0
aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9NYXRyaXhUcmFu
c2Zvcm1PcGVyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWF0cml4VHJhbnNmb3JtT3Bl
cmF0aW9uOjpkdW1wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL01h
dHJpeFRyYW5zZm9ybU9wZXJhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3Ry
YW5zZm9ybXMvUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb246OmR1bXApOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24u
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1JvdGF0ZVRyYW5zZm9y
bU9wZXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSb3RhdGVUcmFuc2Zvcm1PcGVyYXRp
b246OmR1bXApOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvUm90YXRl
VHJhbnNmb3JtT3BlcmF0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNm
b3Jtcy9TY2FsZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY2Fs
ZVRyYW5zZm9ybU9wZXJhdGlvbjo6ZHVtcCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9TY2FsZVRyYW5zZm9ybU9wZXJhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvU2tld1RyYW5zZm9ybU9wZXJhdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTa2V3VHJhbnNmb3JtT3BlcmF0aW9uOjpkdW1wKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1NrZXdUcmFuc2Zvcm1PcGVyYXRpb24uaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbi5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9u
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcjw8KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb246OmR1bXAp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNsYXRlVHJhbnNm
b3JtT3BlcmF0aW9uLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL05pbmVQaWVjZUltYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPDwpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdHlsZS9OaW5lUGllY2VJbWFnZS5oOgorICAgICAgICAqIHN2Zy9TVkdMZW5ndGguY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aC5o
OgorCiAyMDE2LTA1LTAyICBZb2F2IFdlaXNzICA8eW9hdkB5b2F2LndzPgogCiAgICAgICAgIFNw
ZWN1bGF0aXZlbHkgZml4IHRoZSBjbWFrZSBidWlsZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3
OGEwYjFmNjExMzllNmM3ZDAyYjU4ZTU2ZjNiOTUzNGQxMDA5OWE0Li45ZjE5NThiNDRhYmY1MjNi
NjVkNmZhMjY3MzRmYTk0MmY2N2Q5YjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjEwOSw2
ICsyMTA5LDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL0ZpbGVTeXN0ZW0u
Y3BwCiAgICAgcGxhdGZvcm0vTGFuZ3VhZ2UuY3BwCiAgICAgcGxhdGZvcm0vTGVuZ3RoLmNwcAor
ICAgIHBsYXRmb3JtL0xlbmd0aEJveC5jcHAKICAgICBwbGF0Zm9ybS9MZW5ndGhQb2ludC5jcHAK
ICAgICBwbGF0Zm9ybS9MZW5ndGhTaXplLmNwcAogICAgIHBsYXRmb3JtL0xpbmtIYXNoLmNwcApA
QCAtMjI4Miw2ICsyMjgzLDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL3RyYW5zZm9ybXMvUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcAogICAgIHBsYXRm
b3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvU2NhbGVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9Ta2V3VHJhbnNmb3JtT3BlcmF0aW9uLmNwcAor
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9uLmNwcAog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5jcHAK
ICAgICBwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybVN0YXRlLmNwcAogICAg
IHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggMTljY2VmMTAyMzJmYThmZGU4ZTlkY2VhMmY4MTFhNWY1NjMyYmQ1ZC4uMWFkNDM1ZGZlNDAw
MjUwYjViOWJjNzM3Mzg4YjdiZDNjMTk0MmI5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTU5LDYgKzU1OSw4IEBACiAJCTBG
RTVGQkQ5MUMzREQ1MUUwMDA3QTJDQSAvKiBEaXNwbGF5TGlzdFJlcGxheWVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkU1RkJEMTFDM0RENTFFMDAw
N0EyQ0EgLyogRGlzcGxheUxpc3RSZXBsYXllci5oICovOyB9OwogCQkwRkU3MTQwNTE0MjE3MEI4
MDBEQjMzQkEgLyogU2Nyb2xsYmFyVGhlbWVNb2NrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRTcxNDAzMTQyMTcwQjgwMERCMzNCQSAvKiBTY3Jv
bGxiYXJUaGVtZU1vY2suY3BwICovOyB9OwogCQkwRkU3MTQwNjE0MjE3MEI4MDBEQjMzQkEgLyog
U2Nyb2xsYmFyVGhlbWVNb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkU3MTQwNDE0MjE3MEI4MDBEQjMzQkEgLyogU2Nyb2xsYmFyVGhlbWVNb2Nr
LmggKi87IH07CisJCTBGRTk1RjFCMUNENTQwRDAwMEQyRjQ1QSAvKiBMZW5ndGhCb3guY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFOTVGMUExQ0Q1
NDBEMDAwRDJGNDVBIC8qIExlbmd0aEJveC5jcHAgKi87IH07CisJCTBGRTk1RjFEMUNENTQzREYw
MEQyRjQ1QSAvKiBUcmFuc2Zvcm1PcGVyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFOTVGMUMxQ0Q1NDNERjAwRDJGNDVBIC8qIFRyYW5z
Zm9ybU9wZXJhdGlvbi5jcHAgKi87IH07CiAJCTBGRUEzRTdCMTkxQjJGQzUwMDBGMUI1NSAvKiBT
Y3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQTNFNzkxOTFCMkZDNTAwMEYxQjU1IC8qIFNjcm9s
bGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEZFQTNFN0MxOTFCMkZDNTAwMEYxQjU1IC8qIFNjcm9s
bGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUEzRTdBMTkxQjJGQzUwMDBGMUI1NSAvKiBTY3JvbGxp
bmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5jcHAgKi87IH07CiAJCTBGRUEzRTdGMTkxQjMxNjkw
MDBGMUI1NSAvKiBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUEzRTdEMTkxQjMxNjkw
MDBGMUI1NSAvKiBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNwcCAqLzsgfTsK
QEAgLTc5NzQsNiArNzk3Niw4IEBACiAJCTBGRTcxNDAzMTQyMTcwQjgwMERCMzNCQSAvKiBTY3Jv
bGxiYXJUaGVtZU1vY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U2Nyb2xsYmFyVGhlbWVNb2NrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZF
NzE0MDQxNDIxNzBCODAwREIzM0JBIC8qIFNjcm9sbGJhclRoZW1lTW9jay5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxiYXJUaGVtZU1vY2suaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMEZFNzE0MTUxNDIxODlGQzAwREIzM0JBIC8qIFNjcm9sbGJhclRo
ZW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbGJhclRo
ZW1lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFOTVGMUExQ0Q1NDBEMDAw
RDJGNDVBIC8qIExlbmd0aEJveC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBMZW5ndGhCb3guY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkU5NUYx
QzFDRDU0M0RGMDBEMkY0NUEgLyogVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybU9wZXJhdGlvbi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRUEzRTc5MTkxQjJGQzUwMDBGMUI1NSAvKiBTY3JvbGxp
bmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwRkVBM0U3QTE5MUIyRkM1MDAwRjFCNTUgLyogU2Nyb2xsaW5nU3RhdGVG
cmFtZVNjcm9sbGluZ05vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwRkVBM0U3RDE5MUIzMTY5MDAwRjFCNTUgLyogU2Nyb2xsaW5nVHJlZU92
ZXJmbG93U2Nyb2xsaW5nTm9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MjE0LDYgKzE3MjE4LDcgQEAKIAkJCQk0OUU5MTFCRDBFRjg2
RDQ3MDA5RDBDQUYgLyogU2tld1RyYW5zZm9ybU9wZXJhdGlvbi5oICovLAogCQkJCTQ5RTkxMUIz
MEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHAgKi8sCiAJCQkJNDlF
OTExQjQwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybWF0aW9uTWF0cml4LmggKi8sCisJCQkJ
MEZFOTVGMUMxQ0Q1NDNERjAwRDJGNDVBIC8qIFRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgKi8sCiAJ
CQkJNDlFOTExQkUwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybU9wZXJhdGlvbi5oICovLAog
CQkJCTQ5RTkxMUJGMEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1PcGVyYXRpb25zLmNwcCAq
LywKIAkJCQk0OUU5MTFDMDBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtT3BlcmF0aW9ucy5o
ICovLApAQCAtMjI5NDUsNiArMjI5NTAsNyBAQAogCQkJCTE0MURDMDQ3MTY0ODM0OEYwMDM3MUU1
QSAvKiBMYXlvdXRVbml0LmggKi8sCiAJCQkJQkNFNjVCRTgwRUFDREYxNjAwN0U0NTMzIC8qIExl
bmd0aC5jcHAgKi8sCiAJCQkJQkNFNjVCRTkwRUFDREYxNjAwN0U0NTMzIC8qIExlbmd0aC5oICov
LAorCQkJCTBGRTk1RjFBMUNENTQwRDAwMEQyRjQ1QSAvKiBMZW5ndGhCb3guY3BwICovLAogCQkJ
CUJDRkY2NDhGMEVBRDE1QzIwMEMxRDZGNyAvKiBMZW5ndGhCb3guaCAqLywKIAkJCQkwRjg3MTY2
RDFDODY5RDgzMDA0RkYwREUgLyogTGVuZ3RoUG9pbnQuY3BwICovLAogCQkJCTBGODcxNjZFMUM4
NjlEODMwMDRGRjBERSAvKiBMZW5ndGhQb2ludC5oICovLApAQCAtMzA5MjQsNiArMzA5MzAsNyBA
QAogCQkJCUY1OTczREUxMTVDRkIyMDMwMDI3RjgwNCAvKiBMb2NhbGVNYWMubW0gaW4gU291cmNl
cyAqLywKIAkJCQk3NjMzQTcyNzEzRDhCMzNBMDA4NTAxQjYgLyogTG9jYWxlVG9TY3JpcHRNYXBw
aW5nRGVmYXVsdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNTE2RThCODEzNkUwNERCMDA3NkMz
QzAgLyogTG9jYWxpemVkRGF0ZUNhY2hlLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMEZFOTVGMUIx
Q0Q1NDBEMDAwRDJGNDVBIC8qIExlbmd0aEJveC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDMDQ2
RTFBQzEyMDhBOUZFMDBCQTJDRjcgLyogTG9jYWxpemVkU3RyaW5ncy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkxQTQ4MzJCMzFBOTUzQkE2MDA4QjRERkUgLyogTG9jYWxpemVkU3RyaW5nc0NvY29h
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFMUM0MUMwRDk4Mjk4MTAwM0IwMkYyIC8qIExvY2F0
aW9uLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzEyODIsNiArMzEyODksNyBAQAogCQkJCTBGNTgw
RDAwMEYxMkRFOUIwMDUxRDY4OSAvKiBSZW5kZXJMYXllckJhY2tpbmcuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEY1ODBDRkUwRjEyREU5QjAwNTFENjg5IC8qIFJlbmRlckxheWVyQ29tcG9zaXRv
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MEQxMEQ5OTE1NDVGNTc2MDA5NkQyODggLyogUmVu
ZGVyTGF5ZXJGaWx0ZXJJbmZvLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRTk1RjFEMUNENTQz
REYwMEQyRjQ1QSAvKiBUcmFuc2Zvcm1PcGVyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
M0MyNDRGRUJBMzc1QUM2MzNGODhCRTZGIC8qIFJlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkMzM0ZCMUIwRjMwRUU4NTAwMkNERDdDIC8qIFJlbmRlckxpbmVC
b3hMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRUE0ODYzMDk3RDkzMDIwMDk0QzlFNCAv
KiBSZW5kZXJMaW5lQnJlYWsuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAKaW5kZXggZTU2
MDExZGYyOGRhNTVmMDUwYjljMDczMTIzNmY0MDE5YzA0MzNjNy4uOWU5YjI3NWYzMDczMzc0MmJh
ZmE4MWM0OTgzOGYwZjE1YjhjOTZiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9h
bmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcApAQCAtNDIsNiArNDIsNyBAQAog
I2luY2x1ZGUgIkNsaXBQYXRoT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9u
LmgiCiAjaW5jbHVkZSAiSWRlbnRpdHlUcmFuc2Zvcm1PcGVyYXRpb24uaCIKKyNpbmNsdWRlICJM
b2dnaW5nLmgiCiAjaW5jbHVkZSAiTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24uaCIKICNpbmNs
dWRlICJNYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb24uaCIKICNpbmNsdWRlICJSZW5kZXJCb3guaCIK
QEAgLTUwLDYgKzUxLDcgQEAKICNpbmNsdWRlICJTdHlsZUdlbmVyYXRlZEltYWdlLmgiCiAjaW5j
bHVkZSAiU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIu
aCIKKyNpbmNsdWRlICJUZXh0U3RyZWFtLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1
ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgpAQCAtMzg0LDYgKzM4Niwx
MCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzU2hvcnRoYW5kV3JhcHBlcigpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGVxdWFscyhjb25zdCBSZW5kZXJT
dHlsZSogYSwgY29uc3QgUmVuZGVyU3R5bGUqIGIpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgYmxlbmQoY29uc3QgQW5pbWF0aW9uQmFzZSosIFJlbmRlclN0eWxlKiwgY29uc3QgUmVuZGVy
U3R5bGUqLCBjb25zdCBSZW5kZXJTdHlsZSosIGRvdWJsZSkgY29uc3QgPSAwOworICAgIAorI2lm
ICFMT0dfRElTQUJMRUQKKyAgICB2aXJ0dWFsIHZvaWQgbG9nQmxlbmQoY29uc3QgUmVuZGVyU3R5
bGUqIGEsIGNvbnN0IFJlbmRlclN0eWxlKiBiLCBjb25zdCBSZW5kZXJTdHlsZSogcmVzdWx0LCBk
b3VibGUpIGNvbnN0ID0gMDsKKyNlbmRpZgogCiAgICAgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eSgp
IGNvbnN0IHsgcmV0dXJuIG1fcHJvcDsgfQogCkBAIC00MTIsNiArNDE4LDE4IEBAIHB1YmxpYzoK
ICAgICAgICAgcmV0dXJuIChhLT4qbV9nZXR0ZXIpKCkgPT0gKGItPiptX2dldHRlcikoKTsKICAg
ICB9CiAKKyAgICBUIHZhbHVlKGNvbnN0IFJlbmRlclN0eWxlKiBhKSBjb25zdAorICAgIHsKKyAg
ICAgICAgcmV0dXJuIChhLT4qbV9nZXR0ZXIpKCk7CisgICAgfQorCisjaWYgIUxPR19ESVNBQkxF
RAorICAgIHZvaWQgbG9nQmxlbmQoY29uc3QgUmVuZGVyU3R5bGUqIGEsIGNvbnN0IFJlbmRlclN0
eWxlKiBiLCBjb25zdCBSZW5kZXJTdHlsZSogcmVzdWx0LCBkb3VibGUgcHJvZ3Jlc3MpIGNvbnN0
IGZpbmFsCisgICAgeworICAgICAgICBMT0dfV0lUSF9TVFJFQU0oQW5pbWF0aW9ucywgc3RyZWFt
IDw8ICIgIGJsZW5kaW5nICIgPDwgZ2V0UHJvcGVydHlOYW1lKHByb3BlcnR5KCkpIDw8ICIgZnJv
bSAiIDw8IHZhbHVlKGEpIDw8ICIgdG8gIiA8PCB2YWx1ZShiKSA8PCAiIGF0ICIgPDwgVGV4dFN0
cmVhbTo6Rm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKHByb2dyZXNzKSA8PCAiIC0+ICIg
PDwgdmFsdWUocmVzdWx0KSk7CisgICAgfQorI2VuZGlmCisKIHByb3RlY3RlZDoKICAgICBUIChS
ZW5kZXJTdHlsZTo6Km1fZ2V0dGVyKSgpIGNvbnN0OwogfTsKQEAgLTcxNyw2ICs3MzUsMTQgQEAg
cHVibGljOgogICAgICAgICAoZHN0LT4qbV9zZXR0ZXIpKGJsZW5kTWlzbWF0Y2hlZFNoYWRvd0xp
c3RzKGFuaW0sIHByb2dyZXNzLCBzaGFkb3dBLCBzaGFkb3dCLCBmcm9tTGVuZ3RoLCB0b0xlbmd0
aCksIGZhbHNlKTsKICAgICB9CiAKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgdm9pZCBsb2dCbGVu
ZChjb25zdCBSZW5kZXJTdHlsZSosIGNvbnN0IFJlbmRlclN0eWxlKiwgY29uc3QgUmVuZGVyU3R5
bGUqLCBkb3VibGUgcHJvZ3Jlc3MpIGNvbnN0IGZpbmFsCisgICAgeworICAgICAgICAvLyBGSVhN
RTogYmV0dGVyIGxvZ2dpbmcuCisgICAgICAgIExPR19XSVRIX1NUUkVBTShBbmltYXRpb25zLCBz
dHJlYW0gPDwgIiAgYmxlbmRpbmcgU2hhZG93RGF0YSBhdCAiIDw8IFRleHRTdHJlYW06OkZvcm1h
dE51bWJlclJlc3BlY3RpbmdJbnRlZ2Vycyhwcm9ncmVzcykpOworICAgIH0KKyNlbmRpZgorCiBw
cml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxTaGFkb3dEYXRhPiBibGVuZFNpbXBsZU9yTWF0
Y2hlZFNoYWRvd0xpc3RzKGNvbnN0IEFuaW1hdGlvbkJhc2UqIGFuaW0sIGRvdWJsZSBwcm9ncmVz
cywgY29uc3QgU2hhZG93RGF0YSogc2hhZG93QSwgY29uc3QgU2hhZG93RGF0YSogc2hhZG93Qikg
Y29uc3QKICAgICB7CkBAIC04MDAsOCArODI2LDggQEAgcHVibGljOgogICAgICAgICBpZiAoIWEg
fHwgIWIpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgQ29sb3IgZnJvbUNv
bG9yID0gKGEtPiptX2dldHRlcikoKTsKLSAgICAgICAgQ29sb3IgdG9Db2xvciA9IChiLT4qbV9n
ZXR0ZXIpKCk7CisgICAgICAgIENvbG9yIGZyb21Db2xvciA9IHZhbHVlKGEpOworICAgICAgICBD
b2xvciB0b0NvbG9yID0gdmFsdWUoYik7CiAKICAgICAgICAgaWYgKCFmcm9tQ29sb3IuaXNWYWxp
ZCgpICYmICF0b0NvbG9yLmlzVmFsaWQoKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAt
ODE2LDggKzg0Miw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYmxlbmQoY29uc3QgQW5pbWF0aW9u
QmFzZSogYW5pbSwgUmVuZGVyU3R5bGUqIGRzdCwgY29uc3QgUmVuZGVyU3R5bGUqIGEsIGNvbnN0
IFJlbmRlclN0eWxlKiBiLCBkb3VibGUgcHJvZ3Jlc3MpIGNvbnN0IG92ZXJyaWRlCiAgICAgewot
ICAgICAgICBDb2xvciBmcm9tQ29sb3IgPSAoYS0+Km1fZ2V0dGVyKSgpOwotICAgICAgICBDb2xv
ciB0b0NvbG9yID0gKGItPiptX2dldHRlcikoKTsKKyAgICAgICAgQ29sb3IgZnJvbUNvbG9yID0g
dmFsdWUoYSk7CisgICAgICAgIENvbG9yIHRvQ29sb3IgPSB2YWx1ZShiKTsKIAogICAgICAgICBp
ZiAoIWZyb21Db2xvci5pc1ZhbGlkKCkgJiYgIXRvQ29sb3IuaXNWYWxpZCgpKQogICAgICAgICAg
ICAgcmV0dXJuOwpAQCAtODI5LDYgKzg1NSwxOSBAQCBwdWJsaWM6CiAgICAgICAgIChkc3QtPipt
X3NldHRlcikoYmxlbmRGdW5jKGFuaW0sIGZyb21Db2xvciwgdG9Db2xvciwgcHJvZ3Jlc3MpKTsK
ICAgICB9CiAKKyAgICBDb2xvciB2YWx1ZShjb25zdCBSZW5kZXJTdHlsZSogYSkgY29uc3QKKyAg
ICB7CisgICAgICAgIHJldHVybiAoYS0+Km1fZ2V0dGVyKSgpOworICAgIH0KKworI2lmICFMT0df
RElTQUJMRUQKKyAgICB2b2lkIGxvZ0JsZW5kKGNvbnN0IFJlbmRlclN0eWxlKiBhLCBjb25zdCBS
ZW5kZXJTdHlsZSogYiwgY29uc3QgUmVuZGVyU3R5bGUqIHJlc3VsdCwgZG91YmxlIHByb2dyZXNz
KSBjb25zdCBmaW5hbAorICAgIHsKKyAgICAgICAgLy8gRklYTUU6IGJldHRlciBsb2dnaW5nLgor
ICAgICAgICBMT0dfV0lUSF9TVFJFQU0oQW5pbWF0aW9ucywgc3RyZWFtIDw8ICIgIGJsZW5kaW5n
ICIgPDwgZ2V0UHJvcGVydHlOYW1lKHByb3BlcnR5KCkpIDw8ICIgZnJvbSAiIDw8IHZhbHVlKGEp
IDw8ICIgdG8gIiA8PCB2YWx1ZShiKSA8PCAiIGF0ICIgPDwgVGV4dFN0cmVhbTo6Rm9ybWF0TnVt
YmVyUmVzcGVjdGluZ0ludGVnZXJzKHByb2dyZXNzKSA8PCAiIC0+ICIgPDwgdmFsdWUocmVzdWx0
KSk7CisgICAgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgQ29sb3IgKFJlbmRlclN0eWxlOjoq
bV9nZXR0ZXIpKCkgY29uc3Q7CiAgICAgdm9pZCAoUmVuZGVyU3R5bGU6OiptX3NldHRlcikoY29u
c3QgQ29sb3ImKTsKQEAgLTg2Myw2ICs5MDIsMTQgQEAgcHVibGljOgogICAgICAgICBtX3Zpc2l0
ZWRXcmFwcGVyLT5ibGVuZChhbmltLCBkc3QsIGEsIGIsIHByb2dyZXNzKTsKICAgICB9CiAKKyNp
ZiAhTE9HX0RJU0FCTEVECisgICAgdm9pZCBsb2dCbGVuZChjb25zdCBSZW5kZXJTdHlsZSogYSwg
Y29uc3QgUmVuZGVyU3R5bGUqIGIsIGNvbnN0IFJlbmRlclN0eWxlKiByZXN1bHQsIGRvdWJsZSBw
cm9ncmVzcykgY29uc3QgZmluYWwKKyAgICB7CisgICAgICAgIG1fd3JhcHBlci0+bG9nQmxlbmQo
YSwgYiwgcmVzdWx0LCBwcm9ncmVzcyk7CisgICAgICAgIG1fdmlzaXRlZFdyYXBwZXItPmxvZ0Js
ZW5kKGEsIGIsIHJlc3VsdCwgcHJvZ3Jlc3MpOworICAgIH0KKyNlbmRpZgorCiBwcml2YXRlOgog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxBbmltYXRpb25Qcm9wZXJ0eVdyYXBwZXJCYXNlPiBtX3dyYXBw
ZXI7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFuaW1hdGlvblByb3BlcnR5V3JhcHBlckJhc2U+IG1f
dmlzaXRlZFdyYXBwZXI7CkBAIC0xMDMyLDYgKzEwNzksMTQgQEAgcHVibGljOgogICAgICAgICB9
CiAgICAgfQogCisjaWYgIUxPR19ESVNBQkxFRAorICAgIHZvaWQgbG9nQmxlbmQoY29uc3QgUmVu
ZGVyU3R5bGUqLCBjb25zdCBSZW5kZXJTdHlsZSosIGNvbnN0IFJlbmRlclN0eWxlKiwgZG91Ymxl
IHByb2dyZXNzKSBjb25zdCBmaW5hbAorICAgIHsKKyAgICAgICAgLy8gRklYTUU6IGJldHRlciBs
b2dnaW5nLgorICAgICAgICBMT0dfV0lUSF9TVFJFQU0oQW5pbWF0aW9ucywgc3RyZWFtIDw8ICIg
IGJsZW5kaW5nIEZpbGxMYXllcnMgYXQgIiA8PCBUZXh0U3RyZWFtOjpGb3JtYXROdW1iZXJSZXNw
ZWN0aW5nSW50ZWdlcnMocHJvZ3Jlc3MpKTsKKyAgICB9CisjZW5kaWYKKwogcHJpdmF0ZToKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8RmlsbExheWVyQW5pbWF0aW9uUHJvcGVydHlXcmFwcGVyQmFzZT4g
bV9maWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXI7CiAKQEAgLTEwNzAsNiArMTEyNSwxNCBAQCBwdWJs
aWM6CiAgICAgICAgICAgICB3cmFwcGVyLT5ibGVuZChhbmltLCBkc3QsIGEsIGIsIHByb2dyZXNz
KTsKICAgICB9CiAKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgdm9pZCBsb2dCbGVuZChjb25zdCBS
ZW5kZXJTdHlsZSosIGNvbnN0IFJlbmRlclN0eWxlKiwgY29uc3QgUmVuZGVyU3R5bGUqLCBkb3Vi
bGUgcHJvZ3Jlc3MpIGNvbnN0IGZpbmFsCisgICAgeworICAgICAgICAvLyBGSVhNRTogYmV0dGVy
IGxvZ2dpbmcuCisgICAgICAgIExPR19XSVRIX1NUUkVBTShBbmltYXRpb25zLCBzdHJlYW0gPDwg
IiAgYmxlbmRpbmcgc2hvcnRoYW5kIHByb3BlcnR5ICIgPDwgZ2V0UHJvcGVydHlOYW1lKHByb3Bl
cnR5KCkpIDw8ICIgYXQgIiA8PCBUZXh0U3RyZWFtOjpGb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50
ZWdlcnMocHJvZ3Jlc3MpKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGNvbnN0IFZlY3RvcjxBbmlt
YXRpb25Qcm9wZXJ0eVdyYXBwZXJCYXNlKj4mIHByb3BlcnR5V3JhcHBlcnMoKSBjb25zdCB7IHJl
dHVybiBtX3Byb3BlcnR5V3JhcHBlcnM7IH0KIAogcHJpdmF0ZToKQEAgLTExMDAsNiArMTE2Mywx
NCBAQCBwdWJsaWM6CiAgICAgICAgIGRzdC0+c2V0RmxleEdyb3coYmxlbmRGdW5jKGFuaW0sIGEt
PmZsZXhHcm93KCksIGItPmZsZXhHcm93KCksIHByb2dyZXNzKSk7CiAgICAgICAgIGRzdC0+c2V0
RmxleFNocmluayhibGVuZEZ1bmMoYW5pbSwgYS0+ZmxleFNocmluaygpLCBiLT5mbGV4U2hyaW5r
KCksIHByb2dyZXNzKSk7CiAgICAgfQorCisjaWYgIUxPR19ESVNBQkxFRAorICAgIHZvaWQgbG9n
QmxlbmQoY29uc3QgUmVuZGVyU3R5bGUqLCBjb25zdCBSZW5kZXJTdHlsZSosIGNvbnN0IFJlbmRl
clN0eWxlKiwgZG91YmxlIHByb2dyZXNzKSBjb25zdCBmaW5hbAorICAgIHsKKyAgICAgICAgLy8g
RklYTUU6IGJldHRlciBsb2dnaW5nLgorICAgICAgICBMT0dfV0lUSF9TVFJFQU0oQW5pbWF0aW9u
cywgc3RyZWFtIDw8ICIgIGJsZW5kaW5nIGZsZXggYXQgIiA8PCBUZXh0U3RyZWFtOjpGb3JtYXRO
dW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMocHJvZ3Jlc3MpKTsKKyAgICB9CisjZW5kaWYKIH07CiAK
IGNsYXNzIFByb3BlcnR5V3JhcHBlclNWR1BhaW50IDogcHVibGljIEFuaW1hdGlvblByb3BlcnR5
V3JhcHBlckJhc2UgewpAQCAtMTE2Miw2ICsxMjMzLDE0IEBAIHB1YmxpYzoKICAgICAgICAgKGRz
dC0+Km1fc2V0dGVyKShibGVuZEZ1bmMoYW5pbSwgZnJvbUNvbG9yLCB0b0NvbG9yLCBwcm9ncmVz
cykpOwogICAgIH0KIAorI2lmICFMT0dfRElTQUJMRUQKKyAgICB2b2lkIGxvZ0JsZW5kKGNvbnN0
IFJlbmRlclN0eWxlKiwgY29uc3QgUmVuZGVyU3R5bGUqLCBjb25zdCBSZW5kZXJTdHlsZSosIGRv
dWJsZSBwcm9ncmVzcykgY29uc3QgZmluYWwKKyAgICB7CisgICAgICAgIC8vIEZJWE1FOiBiZXR0
ZXIgbG9nZ2luZy4KKyAgICAgICAgTE9HX1dJVEhfU1RSRUFNKEFuaW1hdGlvbnMsIHN0cmVhbSA8
PCAiICBibGVuZGluZyBTVkdQYWludCBhdCAiIDw8IFRleHRTdHJlYW06OkZvcm1hdE51bWJlclJl
c3BlY3RpbmdJbnRlZ2Vycyhwcm9ncmVzcykpOworICAgIH0KKyNlbmRpZgorCiBwcml2YXRlOgog
ICAgIGNvbnN0IFNWR1BhaW50OjpTVkdQYWludFR5cGUmIChSZW5kZXJTdHlsZTo6Km1fcGFpbnRU
eXBlR2V0dGVyKSgpIGNvbnN0OwogICAgIENvbG9yIChSZW5kZXJTdHlsZTo6Km1fZ2V0dGVyKSgp
IGNvbnN0OwpAQCAtMTE4MSwxMSArMTI2MCwxMSBAQCBwdWJsaWM6CiAgICAgQW5pbWF0aW9uUHJv
cGVydHlXcmFwcGVyQmFzZSogd3JhcHBlckZvclByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJvcGVy
dHlJRCkKICAgICB7CiAgICAgICAgIGlmIChwcm9wZXJ0eUlEIDwgZmlyc3RDU1NQcm9wZXJ0eSB8
fCBwcm9wZXJ0eUlEID4gbGFzdENTU1Byb3BlcnR5KQotICAgICAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICB1bnNpZ25lZCB3cmFwcGVySW5k
ZXggPSBpbmRleEZyb21Qcm9wZXJ0eUlEKHByb3BlcnR5SUQpOwogICAgICAgICBpZiAod3JhcHBl
ckluZGV4ID09IGNJbnZhbGlkUHJvcGVydHlXcmFwcGVySW5kZXgpCi0gICAgICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgICAgIHJldHVybiBtX3By
b3BlcnR5V3JhcHBlcnNbd3JhcHBlckluZGV4XS5nZXQoKTsKICAgICB9CkBAIC0xNDcwLDYgKzE1
NDksOSBAQCBib29sIENTU1Byb3BlcnR5QW5pbWF0aW9uOjpibGVuZFByb3BlcnRpZXMoY29uc3Qg
QW5pbWF0aW9uQmFzZSogYW5pbSwgQ1NTUHJvcGVydAogICAgIEFuaW1hdGlvblByb3BlcnR5V3Jh
cHBlckJhc2UqIHdyYXBwZXIgPSBDU1NQcm9wZXJ0eUFuaW1hdGlvbldyYXBwZXJNYXA6OnNpbmds
ZXRvbigpLndyYXBwZXJGb3JQcm9wZXJ0eShwcm9wKTsKICAgICBpZiAod3JhcHBlcikgewogICAg
ICAgICB3cmFwcGVyLT5ibGVuZChhbmltLCBkc3QsIGEsIGIsIHByb2dyZXNzKTsKKyNpZiAhTE9H
X0RJU0FCTEVECisgICAgICAgIHdyYXBwZXItPmxvZ0JsZW5kKGEsIGIsIGRzdCwgcHJvZ3Jlc3Mp
OworI2VuZGlmCiAgICAgICAgIHJldHVybiAhd3JhcHBlci0+YW5pbWF0aW9uSXNBY2NlbGVyYXRl
ZCgpIHx8ICFhbmltLT5pc0FjY2VsZXJhdGVkKCk7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguY3BwCmluZGV4IDZjNWUyYjUzZDU4NjNhMWYwYmFjZmMx
YTk4MzZhZWU0NzhjZjQ3NWQuLjJlMDM4YmRmMDVhMjI0MzEzODJhNGMyMjAyNTYxNzI0Mjk0NjBl
MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmNwcApAQCAtMzI4LDggKzMyOCwxMCBAQCBU
ZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBMZW5ndGggbGVuZ3RoKQogICAg
IGNhc2UgVW5kZWZpbmVkOgogICAgICAgICB0cyA8PCBsZW5ndGgudHlwZSgpOwogICAgICAgICBi
cmVhazsKLSAgICBjYXNlIFJlbGF0aXZlOgogICAgIGNhc2UgRml4ZWQ6CisgICAgICAgIHRzIDw8
IFRleHRTdHJlYW06OkZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhsZW5ndGgudmFsdWUo
KSkgPDwgInB4IjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBSZWxhdGl2ZToKICAgICBjYXNl
IEludHJpbnNpYzoKICAgICBjYXNlIE1pbkludHJpbnNpYzoKICAgICBjYXNlIE1pbkNvbnRlbnQ6
CkBAIC0zNDMsNiArMzQ1LDcgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0
cywgTGVuZ3RoIGxlbmd0aCkKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDYWxjdWxhdGVkOgog
ICAgICAgICAvLyBGSVhNRTogZHVtcCBDYWxjdWxhdGlvblZhbHVlLgorICAgICAgICB0cyA8PCAi
Y2FsYyguLi4pIjsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0xlbmd0aEJveC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2E4ZmMwYzI1ODRjMDY1YWZkMWU4YjY0ZGU3
ODgyZTE3ODY2MWMwMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0xlbmd0aEJveC5jcHAKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTGVu
Z3RoQm94LmgiCisKKyNpbmNsdWRlICJUZXh0U3RyZWFtLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgTGVuZ3Ro
Qm94JiBib3gpCit7CisgICAgdHMgPDwgInRvcDogIiA8PCBib3gudG9wKCkgPDwgIiByaWdodDog
IiA8PCBib3gucmlnaHQoKSA8PCAiIGJvdHRvbTogIiA8PCBib3guYm90dG9tKCkgPDwgIiBsZWZ0
OiAiIDw8IGJveC5sZWZ0KCk7CisgICAgcmV0dXJuIHRzOworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGhCb3guaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aEJveC5oCmluZGV4IDI0MzZhNWNiMThjMDM5
ODAyZmUxOTc1YWYzZDQ5NzM4NWM1NzMxZTguLmU3YTk3OGE5YzhjMDUyOGQyOWNhMGUwZDM3Y2M5
ZjRjN2VkNzcxMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aEJv
eC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aEJveC5oCkBAIC0xNTMsNiAr
MTUzLDggQEAgcHVibGljOgogdHlwZWRlZiBCb3hFeHRlbnQ8TGF5b3V0VW5pdD4gTGF5b3V0Qm94
RXh0ZW50OwogdHlwZWRlZiBCb3hFeHRlbnQ8ZmxvYXQ+IEZsb2F0Qm94RXh0ZW50OwogCitUZXh0
U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mLCBjb25zdCBMZW5ndGhCb3gmKTsKKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gTGVuZ3RoQm94X2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvSWRlbnRpdHlUcmFu
c2Zvcm1PcGVyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5z
Zm9ybXMvSWRlbnRpdHlUcmFuc2Zvcm1PcGVyYXRpb24uaAppbmRleCAwMTc0MDFkOGNkNDZhYWIz
NmJlNjQ3MTQxM2I4ZjRhZDI3NGE4ZDA5Li5lZWQ0Yzg0N2JjNWY2ZTQ0OWJmYWVjNTZhNWNmZDA5
MDk2MGY5YzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
cmFuc2Zvcm1zL0lkZW50aXR5VHJhbnNmb3JtT3BlcmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9JZGVudGl0eVRyYW5zZm9ybU9wZXJhdGlv
bi5oCkBAIC02Miw2ICs2Miw4IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiAqdGhpczsKICAg
ICB9CiAKKyAgICB2b2lkIGR1bXAoVGV4dFN0cmVhbSYpIGNvbnN0IGZpbmFsOworCiAgICAgSWRl
bnRpdHlUcmFuc2Zvcm1PcGVyYXRpb24oKQogICAgIHsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL01hdHJpeDNEVHJhbnNmb3Jt
T3BlcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9y
bXMvTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24uY3BwCmluZGV4IDRlNGQzYmY4MWQxZThkNjI3
M2JjOWVmZjgxMzY5OTNiNzA4ODNhMGIuLmM3MTBmMzk4MTAwODMwNTQyOTljMzMzOGRlYjE1Njhj
ZGJmMWUzNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Ry
YW5zZm9ybXMvTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRp
b24uY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
TWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24uaCIKIAorI2luY2x1ZGUgIlRleHRTdHJlYW0uaCIK
ICNpbmNsdWRlIDxhbGdvcml0aG0+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTYwLDQgKzYx
LDkgQEAgUmVmPFRyYW5zZm9ybU9wZXJhdGlvbj4gTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb246
OmJsZW5kKGNvbnN0IFRyYW5zZm9ybU9wZXJhdGkKICAgICByZXR1cm4gY3JlYXRlT3BlcmF0aW9u
KHRvVCwgZnJvbVQsIHByb2dyZXNzKTsKIH0KIAordm9pZCBNYXRyaXgzRFRyYW5zZm9ybU9wZXJh
dGlvbjo6ZHVtcChUZXh0U3RyZWFtJiB0cykgY29uc3QKK3sKKyAgICB0cyA8PCB0eXBlKCkgPDwg
IigiIDw8IG1fbWF0cml4IDw8ICIpIjsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9NYXRy
aXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9NYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5oCmluZGV4IDRlZTE2NGFk
MzdlMGZhYjI4OGFiYjA4NWEzNjY1NzJhOGYyNjVlZTkuLmEzMGIwYWE1OTkzNjQwM2M2M2EyOTM3
NDgzZDhhMzlkY2RhMjQzODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RyYW5zZm9ybXMvTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL01hdHJpeDNEVHJhbnNmb3Jt
T3BlcmF0aW9uLmgKQEAgLTYyLDYgKzYyLDggQEAgcHJpdmF0ZToKIAogICAgIFJlZjxUcmFuc2Zv
cm1PcGVyYXRpb24+IGJsZW5kKGNvbnN0IFRyYW5zZm9ybU9wZXJhdGlvbiogZnJvbSwgZG91Ymxl
IHByb2dyZXNzLCBib29sIGJsZW5kVG9JZGVudGl0eSA9IGZhbHNlKSBvdmVycmlkZTsKICAgICAK
KyAgICB2b2lkIGR1bXAoVGV4dFN0cmVhbSYpIGNvbnN0IGZpbmFsOworCiAgICAgTWF0cml4M0RU
cmFuc2Zvcm1PcGVyYXRpb24oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdCkKICAgICB7
CiAgICAgICAgIG1fbWF0cml4ID0gbWF0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9NYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9NYXRyaXhUcmFuc2Zv
cm1PcGVyYXRpb24uY3BwCmluZGV4IGFkOWU0M2ZiOGQ0NWFhMzAzNzU5NmFlNWFhMzU5YmZmYzQw
ODBhMzUuLjE3ODYwZTRlMTZmMzc4ZDJmMDA2YWY2M2JlOTEwOGQ1ZDAyZmMxY2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvTWF0cml4VHJh
bnNmb3JtT3BlcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90cmFuc2Zvcm1zL01hdHJpeFRyYW5zZm9ybU9wZXJhdGlvbi5jcHAKQEAgLTIyLDYgKzIyLDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJNYXRyaXhUcmFuc2Zvcm1PcGVyYXRp
b24uaCIKIAorI2luY2x1ZGUgIlRleHRTdHJlYW0uaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU4LDQgKzU5LDE1IEBAIFJlZjxUcmFuc2Zvcm1PcGVy
YXRpb24+IE1hdHJpeFRyYW5zZm9ybU9wZXJhdGlvbjo6YmxlbmQoY29uc3QgVHJhbnNmb3JtT3Bl
cmF0aW9uCiAgICAgcmV0dXJuIGNyZWF0ZU9wZXJhdGlvbih0b1QsIGZyb21ULCBwcm9ncmVzcyk7
CiB9CiAKK3ZvaWQgTWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uOjpkdW1wKFRleHRTdHJlYW0mIHRz
KSBjb25zdAoreworICAgIHRzIDw8ICIoIgorICAgICAgICA8PCBUZXh0U3RyZWFtOjpGb3JtYXRO
dW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMobV9hKSA8PCAiLCAiCisgICAgICAgIDw8IFRleHRTdHJl
YW06OkZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhtX2IpIDw8ICIsICIKKyAgICAgICAg
PDwgVGV4dFN0cmVhbTo6Rm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKG1fYykgPDwgIiwg
IgorICAgICAgICA8PCBUZXh0U3RyZWFtOjpGb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMo
bV9kKSA8PCAiLCAiCisgICAgICAgIDw8IFRleHRTdHJlYW06OkZvcm1hdE51bWJlclJlc3BlY3Rp
bmdJbnRlZ2VycyhtX2UpIDw8ICIsICIKKyAgICAgICAgPDwgVGV4dFN0cmVhbTo6Rm9ybWF0TnVt
YmVyUmVzcGVjdGluZ0ludGVnZXJzKG1fZikgPDwgIikiOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL01hdHJpeFRyYW5zZm9ybU9wZXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9NYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb24uaAppbmRleCBk
ODQwYjMzNjVlNzI1Njk2YmVjNDZhMzNlMmJhYjk5ZGFjZTJhYzFiLi4zZTg4YTk5NTQwN2NkY2Fh
YTkxZjhmN2MyZjg0NjAwYzExYjBmMjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL01hdHJpeFRyYW5zZm9ybU9wZXJhdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvTWF0cml4VHJhbnNm
b3JtT3BlcmF0aW9uLmgKQEAgLTY3LDcgKzY3LDkgQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICBS
ZWY8VHJhbnNmb3JtT3BlcmF0aW9uPiBibGVuZChjb25zdCBUcmFuc2Zvcm1PcGVyYXRpb24qIGZy
b20sIGRvdWJsZSBwcm9ncmVzcywgYm9vbCBibGVuZFRvSWRlbnRpdHkgPSBmYWxzZSkgb3ZlcnJp
ZGU7Ci0gICAgCisKKyAgICB2b2lkIGR1bXAoVGV4dFN0cmVhbSYpIGNvbnN0IGZpbmFsOworCiAg
ICAgTWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uKGRvdWJsZSBhLCBkb3VibGUgYiwgZG91YmxlIGMs
IGRvdWJsZSBkLCBkb3VibGUgZSwgZG91YmxlIGYpCiAgICAgICAgIDogbV9hKGEpCiAgICAgICAg
ICwgbV9iKGIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
cmFuc2Zvcm1zL1BlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVy
YXRpb24uY3BwCmluZGV4IGZjZmY3MDhjOGQ1YTViNDcxYzI0OGI2ZGMyYWZlMjk5ZThhYTQxZWUu
LmE2MTJhZWQ2ZTkzNDYxNzE1MTg3ZjU1MGNmZGJhYTczMDAyM2RmMDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvUGVyc3BlY3RpdmVUcmFu
c2Zvcm1PcGVyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwCkBAIC0yNyw2ICsy
Nyw3IEBACiAjaW5jbHVkZSAiUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uaCIKIAogI2lu
Y2x1ZGUgIkFuaW1hdGlvblV0aWxpdGllcy5oIgorI2luY2x1ZGUgIlRleHRTdHJlYW0uaCIKICNp
bmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02OCw0
ICs2OSw5IEBAIFJlZjxUcmFuc2Zvcm1PcGVyYXRpb24+IFBlcnNwZWN0aXZlVHJhbnNmb3JtT3Bl
cmF0aW9uOjpibGVuZChjb25zdCBUcmFuc2Zvcm1PcGVyCiAgICAgcmV0dXJuIFBlcnNwZWN0aXZl
VHJhbnNmb3JtT3BlcmF0aW9uOjpjcmVhdGUoTGVuZ3RoKDAsIEZpeGVkKSk7CiB9CiAKK3ZvaWQg
UGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb246OmR1bXAoVGV4dFN0cmVhbSYgdHMpIGNvbnN0
Cit7CisgICAgdHMgPDwgdHlwZSgpIDw8ICIoIiA8PCBtX3AgPDwgIikiOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1BlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1BlcnNwZWN0aXZlVHJhbnNmb3Jt
T3BlcmF0aW9uLmgKaW5kZXggM2YzYTM2MGFkNjhhNmU0ZTRmMjU1MDc1ZTJkMmE3YmRiNzg0ZDA2
Yi4uZDliMjBhNTYxZDhmMzkzNjQ0ZDFlNjcxNzNiMGYzMTcxMDE4NmI4NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9QZXJzcGVjdGl2ZVRy
YW5zZm9ybU9wZXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uaApAQCAtNjQsNiArNjQs
OCBAQCBwcml2YXRlOgogCiAgICAgUmVmPFRyYW5zZm9ybU9wZXJhdGlvbj4gYmxlbmQoY29uc3Qg
VHJhbnNmb3JtT3BlcmF0aW9uKiBmcm9tLCBkb3VibGUgcHJvZ3Jlc3MsIGJvb2wgYmxlbmRUb0lk
ZW50aXR5ID0gZmFsc2UpIG92ZXJyaWRlOwogCisgICAgdm9pZCBkdW1wKFRleHRTdHJlYW0mKSBj
b25zdCBmaW5hbDsKKwogICAgIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uKGNvbnN0IExl
bmd0aCYgcCkKICAgICAgICAgOiBtX3AocCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1JvdGF0ZVRyYW5zZm9ybU9wZXJhdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1JvdGF0
ZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHAKaW5kZXggOWM5YWM5ZjVhNWI3NWZjZDIyZDJiMWNkZWRm
YWJhNmZiYTczZmM2ZS4uNTJjM2RiY2M1ZTc5ODE2NjcwODIxOWY2NzczMGRmZjc5OTU2MTQ1NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9S
b3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcApAQCAtMjMs
NiArMjMsNyBAQAogI2luY2x1ZGUgIlJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIgogCiAjaW5j
bHVkZSAiQW5pbWF0aW9uVXRpbGl0aWVzLmgiCisjaW5jbHVkZSAiVGV4dFN0cmVhbS5oIgogI2lu
Y2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCkBAIC05OSw0
ICsxMDAsOSBAQCBSZWY8VHJhbnNmb3JtT3BlcmF0aW9uPiBSb3RhdGVUcmFuc2Zvcm1PcGVyYXRp
b246OmJsZW5kKGNvbnN0IFRyYW5zZm9ybU9wZXJhdGlvbgogICAgIHJldHVybiBSb3RhdGVUcmFu
c2Zvcm1PcGVyYXRpb246OmNyZWF0ZSh4LCB5LCB6LCBhbmdsZSwgUk9UQVRFXzNEKTsKIH0KIAor
dm9pZCBSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb246OmR1bXAoVGV4dFN0cmVhbSYgdHMpIGNvbnN0
Cit7CisgICAgdHMgPDwgdHlwZSgpIDw8ICIoIiA8PCBUZXh0U3RyZWFtOjpGb3JtYXROdW1iZXJS
ZXNwZWN0aW5nSW50ZWdlcnMobV94KSA8PCAiLCAiIDw8IFRleHRTdHJlYW06OkZvcm1hdE51bWJl
clJlc3BlY3RpbmdJbnRlZ2VycyhtX3kpIDw8ICIsICIgPDwgVGV4dFN0cmVhbTo6Rm9ybWF0TnVt
YmVyUmVzcGVjdGluZ0ludGVnZXJzKG1feikgPDwgIiwgIiA8PCBUZXh0U3RyZWFtOjpGb3JtYXRO
dW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMobV9hbmdsZSkgPDwgImRlZykiOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1JvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9Sb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24u
aAppbmRleCA4MzYwNThiMDcxMmM3MDlhNTc4Njg0NTAxOTkwNzNkYjc2NWRjNGM5Li5iZThjNmUy
ZjNhYjUxNTkwN2Q1Y2RhMTE5OGVjNDZlM2I0NzhiN2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1JvdGF0ZVRyYW5zZm9ybU9wZXJhdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvUm90
YXRlVHJhbnNmb3JtT3BlcmF0aW9uLmgKQEAgLTY5LDYgKzY5LDggQEAgcHJpdmF0ZToKIAogICAg
IFJlZjxUcmFuc2Zvcm1PcGVyYXRpb24+IGJsZW5kKGNvbnN0IFRyYW5zZm9ybU9wZXJhdGlvbiog
ZnJvbSwgZG91YmxlIHByb2dyZXNzLCBib29sIGJsZW5kVG9JZGVudGl0eSA9IGZhbHNlKSBvdmVy
cmlkZTsKIAorICAgIHZvaWQgZHVtcChUZXh0U3RyZWFtJikgY29uc3QgZmluYWw7CisKICAgICBS
b3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24oZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgeiwgZG91
YmxlIGFuZ2xlLCBPcGVyYXRpb25UeXBlIHR5cGUpCiAgICAgICAgIDogbV94KHgpCiAgICAgICAg
ICwgbV95KHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
cmFuc2Zvcm1zL1NjYWxlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvU2NhbGVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwCmlu
ZGV4IGNiMmZhN2Y0ZjlmZGY5NWQ5M2I3M2RmMmIyMjE1ODNkNWQwZDFhZDUuLjg2MmVhZmUxNTE1
OTBkOTZmOTRhN2IzNmFhZWY1N2VmZmU2YmYzNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvU2NhbGVUcmFuc2Zvcm1PcGVyYXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvU2NhbGVU
cmFuc2Zvcm1PcGVyYXRpb24uY3BwCkBAIC0yMyw2ICsyMyw3IEBACiAjaW5jbHVkZSAiU2NhbGVU
cmFuc2Zvcm1PcGVyYXRpb24uaCIKIAogI2luY2x1ZGUgIkFuaW1hdGlvblV0aWxpdGllcy5oIgor
I2luY2x1ZGUgIlRleHRTdHJlYW0uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01Myw0
ICs1NCw5IEBAIFJlZjxUcmFuc2Zvcm1PcGVyYXRpb24+IFNjYWxlVHJhbnNmb3JtT3BlcmF0aW9u
OjpibGVuZChjb25zdCBUcmFuc2Zvcm1PcGVyYXRpb24qCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgV2ViQ29yZTo6YmxlbmQoZnJvbVosIG1feiwgcHJvZ3Jlc3Mp
LCBtX3R5cGUpOwogfQogCit2b2lkIFNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uOjpkdW1wKFRleHRT
dHJlYW0mIHRzKSBjb25zdAoreworICAgIHRzIDw8IHR5cGUoKSA8PCAiKCIgPDwgVGV4dFN0cmVh
bTo6Rm9ybWF0TnVtYmVyUmVzcGVjdGluZ0ludGVnZXJzKG1feCkgPDwgIiwgIiA8PCBUZXh0U3Ry
ZWFtOjpGb3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMobV95KSA8PCAiLCAiIDw8IFRleHRT
dHJlYW06OkZvcm1hdE51bWJlclJlc3BlY3RpbmdJbnRlZ2VycyhtX3opIDw8ICIpIjsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9TY2FsZVRyYW5zZm9ybU9wZXJhdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9TY2FsZVRyYW5zZm9ybU9wZXJh
dGlvbi5oCmluZGV4IDlmOGIyODY0M2M0N2ZkZDQxYWY1NTRiY2JmZjVhM2ZmOGU0YmM5ODcuLmFl
OGE1NTU1NjMzNzdiOTZjYTBhZTc5ZjE5ZGM5NmNlYTFiODY4MTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvU2NhbGVUcmFuc2Zvcm1PcGVy
YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1z
L1NjYWxlVHJhbnNmb3JtT3BlcmF0aW9uLmgKQEAgLTY4LDYgKzY4LDggQEAgcHJpdmF0ZToKIAog
ICAgIFJlZjxUcmFuc2Zvcm1PcGVyYXRpb24+IGJsZW5kKGNvbnN0IFRyYW5zZm9ybU9wZXJhdGlv
biogZnJvbSwgZG91YmxlIHByb2dyZXNzLCBib29sIGJsZW5kVG9JZGVudGl0eSA9IGZhbHNlKSBv
dmVycmlkZTsKIAorICAgIHZvaWQgZHVtcChUZXh0U3RyZWFtJikgY29uc3QgZmluYWw7CisKICAg
ICBTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbihkb3VibGUgc3gsIGRvdWJsZSBzeSwgZG91YmxlIHN6
LCBPcGVyYXRpb25UeXBlIHR5cGUpCiAgICAgICAgIDogbV94KHN4KQogICAgICAgICAsIG1feShz
eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9y
bXMvU2tld1RyYW5zZm9ybU9wZXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90cmFuc2Zvcm1zL1NrZXdUcmFuc2Zvcm1PcGVyYXRpb24uY3BwCmluZGV4IDBiNjFm
OTA4NDBhODA1YWNhNDdmZjVlNjM3ZjFkNDg5N2Y1MzhlNTUuLmVjNTIxMTJlZjkxOTg3ZjIxYWEx
ZTMzMzFjNzBkODkwMDEzM2IyZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvU2tld1RyYW5zZm9ybU9wZXJhdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9Ta2V3VHJhbnNmb3JtT3Bl
cmF0aW9uLmNwcApAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgIlNrZXdUcmFuc2Zvcm1PcGVy
YXRpb24uaCIKIAogI2luY2x1ZGUgIkFuaW1hdGlvblV0aWxpdGllcy5oIgorI2luY2x1ZGUgIlRl
eHRTdHJlYW0uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00OCw0ICs0OSw5IEBAIFJl
ZjxUcmFuc2Zvcm1PcGVyYXRpb24+IFNrZXdUcmFuc2Zvcm1PcGVyYXRpb246OmJsZW5kKGNvbnN0
IFRyYW5zZm9ybU9wZXJhdGlvbioKICAgICByZXR1cm4gU2tld1RyYW5zZm9ybU9wZXJhdGlvbjo6
Y3JlYXRlKFdlYkNvcmU6OmJsZW5kKGZyb21BbmdsZVgsIG1fYW5nbGVYLCBwcm9ncmVzcyksIFdl
YkNvcmU6OmJsZW5kKGZyb21BbmdsZVksIG1fYW5nbGVZLCBwcm9ncmVzcyksIG1fdHlwZSk7CiB9
CiAKK3ZvaWQgU2tld1RyYW5zZm9ybU9wZXJhdGlvbjo6ZHVtcChUZXh0U3RyZWFtJiB0cykgY29u
c3QKK3sKKyAgICB0cyA8PCB0eXBlKCkgPDwgIigiIDw8IFRleHRTdHJlYW06OkZvcm1hdE51bWJl
clJlc3BlY3RpbmdJbnRlZ2VycyhtX2FuZ2xlWCkgPDwgImRlZywgIiA8PCBUZXh0U3RyZWFtOjpG
b3JtYXROdW1iZXJSZXNwZWN0aW5nSW50ZWdlcnMobV9hbmdsZVkpIDw8ICJkZWcpIjsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9Ta2V3VHJhbnNmb3JtT3BlcmF0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1NrZXdUcmFuc2Zvcm1PcGVyYXRp
b24uaAppbmRleCBiZGU3ZDMxMjI0MzU1YzdmMmJlZWI4ZDI3N2MxZDE4YjVhNWU4MGVkLi40MjJk
MTRiNmE5ZjkxMTEwNmMyOTc2MTA5ZTdkN2M4NjczNTNhMGJhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1NrZXdUcmFuc2Zvcm1PcGVyYXRp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1Nr
ZXdUcmFuc2Zvcm1PcGVyYXRpb24uaApAQCAtNjEsNiArNjEsOCBAQCBwcml2YXRlOgogICAgIH0K
IAogICAgIFJlZjxUcmFuc2Zvcm1PcGVyYXRpb24+IGJsZW5kKGNvbnN0IFRyYW5zZm9ybU9wZXJh
dGlvbiogZnJvbSwgZG91YmxlIHByb2dyZXNzLCBib29sIGJsZW5kVG9JZGVudGl0eSA9IGZhbHNl
KSBvdmVycmlkZTsKKworICAgIHZvaWQgZHVtcChUZXh0U3RyZWFtJikgY29uc3QgZmluYWw7CiAg
ICAgCiAgICAgU2tld1RyYW5zZm9ybU9wZXJhdGlvbihkb3VibGUgYW5nbGVYLCBkb3VibGUgYW5n
bGVZLCBPcGVyYXRpb25UeXBlIHR5cGUpCiAgICAgICAgIDogbV9hbmdsZVgoYW5nbGVYKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFu
c2Zvcm1PcGVyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlYzkwYzEyYTM1NDZh
YjdlMmZjZjZkMTgxMTdmNWEyMjc3ODBkZmMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbi5jcHAK
QEAgLTAsMCArMSw3NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuICBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlRyYW5zZm9ybU9wZXJhdGlv
bi5oIgorCisjaW5jbHVkZSAiSWRlbnRpdHlUcmFuc2Zvcm1PcGVyYXRpb24uaCIKKyNpbmNsdWRl
ICJUZXh0U3RyZWFtLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBJZGVudGl0eVRy
YW5zZm9ybU9wZXJhdGlvbjo6ZHVtcChUZXh0U3RyZWFtJiB0cykgY29uc3QKK3sKKyAgICB0cyA8
PCB0eXBlKCk7Cit9CisKK1RleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIFRy
YW5zZm9ybU9wZXJhdGlvbjo6T3BlcmF0aW9uVHlwZSB0eXBlKQoreworICAgIHN3aXRjaCAodHlw
ZSkgeworICAgIGNhc2UgVHJhbnNmb3JtT3BlcmF0aW9uOjpTQ0FMRV9YOiB0cyA8PCAic2NhbGVY
IjsgYnJlYWs7CisgICAgY2FzZSBUcmFuc2Zvcm1PcGVyYXRpb246OlNDQUxFX1k6IHRzIDw8ICJz
Y2FsZVkiOyBicmVhazsKKyAgICBjYXNlIFRyYW5zZm9ybU9wZXJhdGlvbjo6U0NBTEU6IHRzIDw8
ICJzY2FsZSI7IGJyZWFrOworICAgIGNhc2UgVHJhbnNmb3JtT3BlcmF0aW9uOjpUUkFOU0xBVEVf
WDogdHMgPDwgInRyYW5zbGF0ZVgiOyBicmVhazsKKyAgICBjYXNlIFRyYW5zZm9ybU9wZXJhdGlv
bjo6VFJBTlNMQVRFX1k6IHRzIDw8ICJ0cmFuc2xhdGVZIjsgYnJlYWs7CisgICAgY2FzZSBUcmFu
c2Zvcm1PcGVyYXRpb246OlRSQU5TTEFURTogdHMgPDwgInRyYW5zbGF0ZSI7IGJyZWFrOworICAg
IGNhc2UgVHJhbnNmb3JtT3BlcmF0aW9uOjpST1RBVEU6IHRzIDw8ICJyb3RhdGUiOyBicmVhazsK
KyAgICBjYXNlIFRyYW5zZm9ybU9wZXJhdGlvbjo6U0tFV19YOiB0cyA8PCAic2tld1giOyBicmVh
azsKKyAgICBjYXNlIFRyYW5zZm9ybU9wZXJhdGlvbjo6U0tFV19ZOiB0cyA8PCAic2tld1kiOyBi
cmVhazsKKyAgICBjYXNlIFRyYW5zZm9ybU9wZXJhdGlvbjo6U0tFVzogdHMgPDwgInNrZXciOyBi
cmVhazsKKyAgICBjYXNlIFRyYW5zZm9ybU9wZXJhdGlvbjo6TUFUUklYOiB0cyA8PCAibWF0cml4
IjsgYnJlYWs7CisgICAgY2FzZSBUcmFuc2Zvcm1PcGVyYXRpb246OlNDQUxFX1o6IHRzIDw8ICJz
Y2FsZVgiOyBicmVhazsKKyAgICBjYXNlIFRyYW5zZm9ybU9wZXJhdGlvbjo6U0NBTEVfM0Q6IHRz
IDw8ICJzY2FsZTNkIjsgYnJlYWs7CisgICAgY2FzZSBUcmFuc2Zvcm1PcGVyYXRpb246OlRSQU5T
TEFURV9aOiB0cyA8PCAidHJhbnNsYXRlWiI7IGJyZWFrOworICAgIGNhc2UgVHJhbnNmb3JtT3Bl
cmF0aW9uOjpUUkFOU0xBVEVfM0Q6IHRzIDw8ICJ0cmFuc2xhdGUzZCI7IGJyZWFrOworICAgIGNh
c2UgVHJhbnNmb3JtT3BlcmF0aW9uOjpST1RBVEVfWDogdHMgPDwgInJvdGF0ZVgiOyBicmVhazsK
KyAgICBjYXNlIFRyYW5zZm9ybU9wZXJhdGlvbjo6Uk9UQVRFX1k6IHRzIDw8ICJyb3RhdGVZIjsg
YnJlYWs7CisgICAgY2FzZSBUcmFuc2Zvcm1PcGVyYXRpb246OlJPVEFURV8zRDogdHMgPDwgInJv
dGF0ZTNkIjsgYnJlYWs7CisgICAgY2FzZSBUcmFuc2Zvcm1PcGVyYXRpb246Ok1BVFJJWF8zRDog
dHMgPDwgIm1hdHJpeDNkIjsgYnJlYWs7CisgICAgY2FzZSBUcmFuc2Zvcm1PcGVyYXRpb246OlBF
UlNQRUNUSVZFOiB0cyA8PCAicGVyc3BlY3RpdmUiOyBicmVhazsKKyAgICBjYXNlIFRyYW5zZm9y
bU9wZXJhdGlvbjo6SURFTlRJVFk6IHRzIDw8ICJpZGVudGl0eSI7IGJyZWFrOworICAgIGNhc2Ug
VHJhbnNmb3JtT3BlcmF0aW9uOjpOT05FOiB0cyA8PCAibm9uZSI7IGJyZWFrOworICAgIH0KKyAg
ICAKKyAgICByZXR1cm4gdHM7Cit9CisKK1RleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVh
bSYgdHMsIGNvbnN0IFRyYW5zZm9ybU9wZXJhdGlvbiYgb3BlcmF0aW9uKQoreworICAgIG9wZXJh
dGlvbi5kdW1wKHRzKTsKKyAgICByZXR1cm4gdHM7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9y
bXMvVHJhbnNmb3JtT3BlcmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbi5oCmluZGV4IGQzZWIwMzVlZDNhYzQ2ODdj
ODNjNTNhYWUzMWY4YWVlZWI1NmU5MDUuLjRmNmFhODhkYTRlMmJhOWUyNzg4ZmNhZjQzZDJhOTk2
ZTdlNGQ5MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Ry
YW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb24uaApAQCAtMTA0LDggKzEw
NCwxMyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gdHlwZSgpID09IFRSQU5TTEFU
RV9YIHx8IHR5cGUoKSA9PSBUUkFOU0xBVEVfWSB8fCB0eXBlKCkgPT0gVFJBTlNMQVRFX1ogfHwg
dHlwZSgpID09IFRSQU5TTEFURSB8fCB0eXBlKCkgPT0gVFJBTlNMQVRFXzNEOwogICAgIH0KKyAg
ICAKKyAgICB2aXJ0dWFsIHZvaWQgZHVtcChUZXh0U3RyZWFtJikgY29uc3QgPSAwOwogfTsKIAor
VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiwgVHJhbnNmb3JtT3BlcmF0aW9uOjpP
cGVyYXRpb25UeXBlKTsKK1RleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYsIGNvbnN0
IFRyYW5zZm9ybU9wZXJhdGlvbiYpOworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNkZWZp
bmUgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19UUkFOU0ZPUk1PUEVSQVRJT04oVG9WYWx1ZVR5cGVO
YW1lLCBwcmVkaWNhdGUpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuY3BwCmlu
ZGV4IDE0MzViMjczN2Y3YmY0N2M0NTAwMjkzMzI5M2RlMjUzY2Y5ZmUyMWUuLjliMTU2YmQzZDI4
NGEzMWM0ZGI3Y2QxNjczMGZmZDMxYjY2YzJlZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1P
cGVyYXRpb25zLmNwcApAQCAtMjQsNiArMjQsNyBAQAogCiAjaW5jbHVkZSAiSWRlbnRpdHlUcmFu
c2Zvcm1PcGVyYXRpb24uaCIKICNpbmNsdWRlICJNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5o
IgorI2luY2x1ZGUgIlRleHRTdHJlYW0uaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTEyNiw0ICsxMjcsMTEgQEAgVHJhbnNmb3JtT3BlcmF0aW9ucyBU
cmFuc2Zvcm1PcGVyYXRpb25zOjpibGVuZChjb25zdCBUcmFuc2Zvcm1PcGVyYXRpb25zJiBmcm9t
LAogICAgIHJldHVybiBibGVuZEJ5VXNpbmdNYXRyaXhJbnRlcnBvbGF0aW9uKGZyb20sIHByb2dy
ZXNzLCBzaXplKTsKIH0KIAorVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywg
Y29uc3QgVHJhbnNmb3JtT3BlcmF0aW9ucyYgb3BzKQoreworICAgIGZvciAoY29uc3QgYXV0byYg
b3BlcmF0aW9uIDogb3BzLm9wZXJhdGlvbnMoKSkKKyAgICAgICAgdHMgPDwgKm9wZXJhdGlvbjsK
KyAgICByZXR1cm4gdHM7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3Bl
cmF0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9U
cmFuc2Zvcm1PcGVyYXRpb25zLmgKaW5kZXggMmFiZmJhMzYxYjZlYjA4YThjNzY2NTVjMjc1YjU2
NTFkMWQ3NmIxYy4uM2UxZDA4ZTBlNTA5YTlmNDNlNGU1ZDAzOTU0N2NlZjE3MzUyM2FkMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFu
c2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKQEAgLTgyLDYgKzgyLDggQEAgcHJpdmF0
ZToKICAgICBWZWN0b3I8UmVmUHRyPFRyYW5zZm9ybU9wZXJhdGlvbj4+IG1fb3BlcmF0aW9uczsK
IH07CiAKK1RleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYsIGNvbnN0IFRyYW5zZm9y
bU9wZXJhdGlvbnMmKTsKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVHJh
bnNmb3JtT3BlcmF0aW9uc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zbGF0ZVRyYW5zZm9y
bU9wZXJhdGlvbi5jcHAKaW5kZXggMTAxZGM0ZmY2ODFjNTBmZGQ1M2FkY2Q2Njg3ZmQ3YTM2ZGJh
MzNjMy4uYmI5ZmRjZWEyZmM4ZjI0OGFkOGVmOWZjY2ViMGM2MGU1MGE5Y2E1ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2xhdGVU
cmFuc2Zvcm1PcGVyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RyYW5zZm9ybXMvVHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcApAQCAtMjEsNyAr
MjEsOSBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiVHJhbnNsYXRlVHJhbnNm
b3JtT3BlcmF0aW9uLmgiCisKICNpbmNsdWRlICJGbG9hdENvbnZlcnNpb24uaCIKKyNpbmNsdWRl
ICJUZXh0U3RyZWFtLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDksNCArNTEsOSBA
QCBSZWY8VHJhbnNmb3JtT3BlcmF0aW9uPiBUcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb246OmJs
ZW5kKGNvbnN0IFRyYW5zZm9ybU9wZXJhdAogICAgIHJldHVybiBUcmFuc2xhdGVUcmFuc2Zvcm1P
cGVyYXRpb246OmNyZWF0ZShtX3guYmxlbmQoZnJvbVgsIHByb2dyZXNzKSwgbV95LmJsZW5kKGZy
b21ZLCBwcm9ncmVzcyksIG1fei5ibGVuZChmcm9tWiwgcHJvZ3Jlc3MpLCBtX3R5cGUpOwogfQog
Cit2b2lkIFRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbjo6ZHVtcChUZXh0U3RyZWFtJiB0cykg
Y29uc3QKK3sKKyAgICB0cyA8PCB0eXBlKCkgPDwgIigiIDw8IG1feCA8PCAiLCAiIDw8IG1feSA8
PCAiLCAiIDw8IG1feiA8PCAiKSI7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNs
YXRlVHJhbnNmb3JtT3BlcmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90cmFuc2Zvcm1zL1RyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5oCmluZGV4IDU4YzAwNjYx
MDAxMjA2YmNhZjQxODM5NjhhZjMwN2QzZTkwMTg0M2UuLmU5ZjY4NzU0MWY4YmMxMzdlMTYzNWM5
M2M3ZDA1YWVhZGM5ZjNhYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2xhdGVUcmFuc2Zv
cm1PcGVyYXRpb24uaApAQCAtNzMsNiArNzMsOCBAQCBwcml2YXRlOgogCiAgICAgUmVmPFRyYW5z
Zm9ybU9wZXJhdGlvbj4gYmxlbmQoY29uc3QgVHJhbnNmb3JtT3BlcmF0aW9uKiBmcm9tLCBkb3Vi
bGUgcHJvZ3Jlc3MsIGJvb2wgYmxlbmRUb0lkZW50aXR5ID0gZmFsc2UpIG92ZXJyaWRlOwogCisg
ICAgdm9pZCBkdW1wKFRleHRTdHJlYW0mKSBjb25zdCBmaW5hbDsKKwogICAgIFRyYW5zbGF0ZVRy
YW5zZm9ybU9wZXJhdGlvbihjb25zdCBMZW5ndGgmIHR4LCBjb25zdCBMZW5ndGgmIHR5LCBjb25z
dCBMZW5ndGgmIHR6LCBPcGVyYXRpb25UeXBlIHR5cGUpCiAgICAgICAgIDogbV94KHR4KQogICAg
ICAgICAsIG1feSh0eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9OaW5lUGllY2VJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvTmlu
ZVBpZWNlSW1hZ2UuY3BwCmluZGV4IGI0YzMzZjRmMDMwN2YzMmEyMDVhMjhlNTU2YWVmZDVjMTJh
NTAyMzYuLjliYmEwZjU4YTk4NzExMjlkYzA0MjIyNTI2MDBmNzIzOWE3Y2QzNzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9OaW5lUGllY2VJbWFnZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL05pbmVQaWVjZUltYWdlLmNwcApAQCAt
MjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkxl
bmd0aEZ1bmN0aW9ucy5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCisjaW5jbHVkZSAiVGV4
dFN0cmVhbS5oIgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0
Zi9Qb2ludGVyQ29tcGFyaXNvbi5oPgogCkBAIC0yNjMsNCArMjY0LDEwIEBAIGJvb2wgTmluZVBp
ZWNlSW1hZ2VEYXRhOjpvcGVyYXRvcj09KGNvbnN0IE5pbmVQaWVjZUltYWdlRGF0YSYgb3RoZXIp
IGNvbnN0CiAgICAgICAgICYmIHZlcnRpY2FsUnVsZSA9PSBvdGhlci52ZXJ0aWNhbFJ1bGU7CiB9
CiAKK1RleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IE5pbmVQaWVj
ZUltYWdlJiBpbWFnZSkKK3sKKyAgICB0cyA8PCAic3R5bGUtaW1hZ2UgIiA8PCBpbWFnZS5pbWFn
ZSgpIDw8ICIgc2xpY2VzICIgPDwgaW1hZ2UuaW1hZ2VTbGljZXMoKTsKKyAgICByZXR1cm4gdHM7
Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9OaW5l
UGllY2VJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL05pbmVQaWVjZUlt
YWdlLmgKaW5kZXggNDE0YWY5ZDg3ZWQxOTU2ZGFkZWQwODFmYzBhYmY1ZGY4YjA0NGEwNy4uZGJh
NDc5YjgxNTc3NzM2ZTM4NzVjZTM3NDA0ZmQ1NGQxNTAyM2M4MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL05pbmVQaWVjZUltYWdlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL05pbmVQaWVjZUltYWdlLmgKQEAgLTIxMCw2ICsyMTAsOCBA
QCBwcml2YXRlOgogICAgIERhdGFSZWY8TmluZVBpZWNlSW1hZ2VEYXRhPiBtX2RhdGE7CiB9Owog
CitUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mLCBjb25zdCBOaW5lUGllY2VJbWFn
ZSYpOworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBOaW5lUGllY2VJbWFn
ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguY3BwCmluZGV4IDUwYzQzMDRhY2I2ZGE2NmNiY2M5NGU3
Y2ZkMzcxNzA1NmI1ZDkwZTIuLmI5OWI5NjZiNmY4OGNmNjAwNGY1OTE4OTg4YzIyODYyN2FjMmZl
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVk
ZSAiRmxvYXRDb252ZXJzaW9uLmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJT
VkdQYXJzZXJVdGlsaXRpZXMuaCIKKyNpbmNsdWRlICJUZXh0U3RyZWFtLmgiCiAjaW5jbHVkZSA8
d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdWaWV3Lmg+CkBAIC00MDksNCArNDEwLDEwIEBAIFNWR0xlbmd0
aE1vZGUgU1ZHTGVuZ3RoOjpsZW5ndGhNb2RlRm9yQW5pbWF0ZWRMZW5ndGhBdHRyaWJ1dGUoY29u
c3QgUXVhbGlmaWVkTmFtCiAgICAgcmV0dXJuIExlbmd0aE1vZGVPdGhlcjsKIH0KIAorVGV4dFN0
cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgU1ZHTGVuZ3RoJiBsZW5ndGgp
Cit7CisgICAgdHMgPDwgbGVuZ3RoLnZhbHVlQXNTdHJpbmcoKTsKKyAgICByZXR1cm4gdHM7Cit9
CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguaAppbmRleCBiZWE5NjQ5MDE2MjAxYWJmMTdhNWFiYmRj
MGE1NzFkYzNkYTNiYTIxLi44MDMyNTlhNTIzNmY2MjEyYWY0MGRkYTcwZDI2ZDA3MDgxMTNhZjAx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0xlbmd0aC5oCkBAIC0xNjksNiArMTY5LDcgQEAgc3RydWN0IFNWR1By
b3BlcnR5VHJhaXRzPFNWR0xlbmd0aD4gewogICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29u
c3QgU1ZHTGVuZ3RoJiB0eXBlKSB7IHJldHVybiB0eXBlLnZhbHVlQXNTdHJpbmcoKTsgfQogfTsK
IAorVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiwgY29uc3QgU1ZHTGVuZ3RoJik7
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>