<?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>219266</bug_id>
          
          <creation_ts>2020-11-23 17:08:20 -0800</creation_ts>
          <short_desc>Support KHR_parallel_shader_compile</short_desc>
          <delta_ts>2020-11-30 12:31:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Darpinian">jdarpinian</reporter>
          <assigned_to name="James Darpinian">jdarpinian</assigned_to>
          <cc>annulen</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1709951</commentid>
    <comment_count>0</comment_count>
    <who name="James Darpinian">jdarpinian</who>
    <bug_when>2020-11-23 17:08:20 -0800</bug_when>
    <thetext>Support KHR_parallel_shader_compile</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709952</commentid>
    <comment_count>1</comment_count>
      <attachid>414816</attachid>
    <who name="James Darpinian">jdarpinian</who>
    <bug_when>2020-11-23 17:09:23 -0800</bug_when>
    <thetext>Created attachment 414816
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709966</commentid>
    <comment_count>2</comment_count>
      <attachid>414816</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2020-11-23 22:39:07 -0800</bug_when>
    <thetext>Comment on attachment 414816
Patch

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

Looks good to me

&gt; Source/WebCore/html/canvas/KHRParallelShaderCompile.h:36
&gt; +    virtual ~KHRParallelShaderCompile();

Nit: maybe the virtual here could be removed and override/final added?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710020</commentid>
    <comment_count>3</comment_count>
      <attachid>414816</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-11-24 13:16:34 -0800</bug_when>
    <thetext>Comment on attachment 414816
Patch

Looks good to me modulo Kimmo&apos;s feedback. r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710029</commentid>
    <comment_count>4</comment_count>
      <attachid>414855</attachid>
    <who name="James Darpinian">jdarpinian</who>
    <bug_when>2020-11-24 15:53:53 -0800</bug_when>
    <thetext>Created attachment 414855
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710030</commentid>
    <comment_count>5</comment_count>
      <attachid>414855</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-11-24 16:00:52 -0800</bug_when>
    <thetext>Comment on attachment 414855
Patch

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

Good to see the conformance test and associated fixes. One minor comment about Kimmo&apos;s previous review. r+

&gt; Source/WebCore/html/canvas/KHRParallelShaderCompile.h:36
&gt; +    virtual ~KHRParallelShaderCompile();

Kimmo had a comment about marking this final in the last patch set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710031</commentid>
    <comment_count>6</comment_count>
      <attachid>414856</attachid>
    <who name="James Darpinian">jdarpinian</who>
    <bug_when>2020-11-24 16:01:46 -0800</bug_when>
    <thetext>Created attachment 414856
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710032</commentid>
    <comment_count>7</comment_count>
      <attachid>414816</attachid>
    <who name="James Darpinian">jdarpinian</who>
    <bug_when>2020-11-24 16:02:58 -0800</bug_when>
    <thetext>Comment on attachment 414816
Patch

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

Thanks, I updated the patch with a test and a behavior change for the context loss case. The test and spec clarification are also upstream here: https://github.com/KhronosGroup/WebGL/pull/3188

&gt;&gt; Source/WebCore/html/canvas/KHRParallelShaderCompile.h:36
&gt;&gt; +    virtual ~KHRParallelShaderCompile();
&gt; 
&gt; Nit: maybe the virtual here could be removed and override/final added?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710033</commentid>
    <comment_count>8</comment_count>
      <attachid>414857</attachid>
    <who name="James Darpinian">jdarpinian</who>
    <bug_when>2020-11-24 16:07:38 -0800</bug_when>
    <thetext>Created attachment 414857
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710664</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-30 10:24:02 -0800</bug_when>
    <thetext>Tools/Scripts/svn-apply failed to apply attachment 414857 to trunk.
Please resolve the conflicts and upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710682</commentid>
    <comment_count>10</comment_count>
      <attachid>415036</attachid>
    <who name="James Darpinian">jdarpinian</who>
    <bug_when>2020-11-30 11:10:26 -0800</bug_when>
    <thetext>Created attachment 415036
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710710</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-30 12:30:01 -0800</bug_when>
    <thetext>Committed r270257: &lt;https://trac.webkit.org/changeset/270257&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 415036.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710712</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-30 12:31:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/71817989&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414816</attachid>
            <date>2020-11-23 17:09:23 -0800</date>
            <delta_ts>2020-11-24 15:53:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219266-20201123170923.patch</filename>
            <type>text/plain</type>
            <size>25361</size>
            <attacher name="James Darpinian">jdarpinian</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzg2MjhkNmE5OGJkMjA4
NWExZDY5NTcxMmQxZGM3MjIwZTdkNzMwMy4uOWMwN2VkN2QxYzAyYjhjZWZlYTU1OGM3ZDY4ZWQx
MzViMGVjNTQ2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIwLTExLTIzICBKYW1l
cyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBTdXBwb3J0
IEtIUl9wYXJhbGxlbF9zaGFkZXJfY29tcGlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MjY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRE9NQ29udmVydFdlYkdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRUb0pTVmFs
dWUpOgorICAgICAgICAqIGh0bWwvY2FudmFzL0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6S0hSUGFyYWxsZWxTaGFkZXJDb21waWxlOjpLSFJQ
YXJhbGxlbFNoYWRlckNvbXBpbGUpOgorICAgICAgICAoV2ViQ29yZTo6S0hSUGFyYWxsZWxTaGFk
ZXJDb21waWxlOjpnZXROYW1lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OktIUlBhcmFsbGVs
U2hhZGVyQ29tcGlsZTo6c3VwcG9ydGVkKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9LSFJQYXJh
bGxlbFNoYWRlckNvbXBpbGUuaDogQWRkZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvS0hSUGFy
YWxsZWxTaGFkZXJDb21waWxlLmlkbDogQWRkZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2Vi
R0wyUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJp
bmdDb250ZXh0OjpnZXRFeHRlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVy
aW5nQ29udGV4dDo6Z2V0U3VwcG9ydGVkRXh0ZW5zaW9ucyk6CisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0xFeHRlbnNpb24uaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpn
ZXRFeHRlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpn
ZXRTdXBwb3J0ZWRFeHRlbnNpb25zKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U6OmdldFByb2dyYW1QYXJhbWV0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6ZXh0ZW5zaW9uSXNFbmFibGVkKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VFeHRlbnNpb25zKToKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uc0dMLmg6CisKIDIwMjAtMTEtMjEgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBQb29yIHJlc2FtcGxpbmcgcXVhbGl0eSB3
aGVuIHVzaW5nIEF1ZGlvQ29udGV4dCBzYW1wbGVSYXRlIHBhcmFtZXRlcgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAppbmRleCA2ODNiZTUzZjM2MzgyYWNhZWViOTg0YTg0Y2Q2MGZkMjcyODc0NDZjLi5jZWVh
ZGZlMjliMjhhNDFlMjYzN2U5NGM1NDE1MzBjOTI5YTU0ZTA0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dApAQCAtMTUxNSw2ICsxNTE1LDcgQEAgaWYgKEVOQUJMRV9XRUJHTCkKICAgICAgICAgaHRtbC9j
YW52YXMvRVhUVGV4dHVyZUNvbXByZXNzaW9uUkdUQy5jcHAKICAgICAgICAgaHRtbC9jYW52YXMv
RVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcAogICAgICAgICBodG1sL2NhbnZhcy9FWFRz
UkdCLmNwcAorICAgICAgICBodG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuY3Bw
CiAgICAgICAgIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuY3BwCiAgICAgICAgIGh0
bWwvY2FudmFzL09FU0ZCT1JlbmRlck1pcG1hcC5jcHAKICAgICAgICAgaHRtbC9jYW52YXMvT0VT
U3RhbmRhcmREZXJpdmF0aXZlcy5jcHAKQEAgLTE1NzQsNiArMTU3NSw3IEBAIGxpc3QoQVBQRU5E
IFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUNvbXByZXNzaW9u
UkdUQy5pZGwKICAgICBodG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuaWRs
CiAgICAgaHRtbC9jYW52YXMvRVhUc1JHQi5pZGwKKyAgICBodG1sL2NhbnZhcy9LSFJQYXJhbGxl
bFNoYWRlckNvbXBpbGUuaWRsCiAgICAgaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5p
ZGwKICAgICBodG1sL2NhbnZhcy9PRVNGQk9SZW5kZXJNaXBtYXAuaWRsCiAgICAgaHRtbC9jYW52
YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDQxNmY5N2U2NDNlODU5NTY0MzEwNGUyNTg4
Yjg5YmUyZDc2YjJmZWYuLmI1YmI5NDQ2YWQxZmY4ZWI1ZDVhMzI4ZWIxNGJjN2IwNGQxNDk0MDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApA
QCAtOTg1LDYgKzk4NSw3IEBAICQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFzL0VYVHNSR0IuaWRs
CiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9JbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQu
aWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9JbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRl
eHRTZXR0aW5ncy5pZGwKICQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFzL0ltYWdlU21vb3RoaW5n
UXVhbGl0eS5pZGwKKyQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFzL0tIUlBhcmFsbGVsU2hhZGVy
Q29tcGlsZS5pZGwKICQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVp
bnQuaWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9PRVNGQk9SZW5kZXJNaXBtYXAuaWRs
CiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlkbApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRl
eCAyNTA1NWU1YjIwZjMwNzdiODM5Y2Y3Mjg2MGY4MzkyYTk2NDRmYzRjLi44OTRlMTY3MGJhODQ2
M2UxNGE2MDkwNThhODYzYTEwNDNlMTU5Yzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTE5Myw2ICsxMTkzLDggQEAgJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNJdGVyYXRpb25Db21wb3Np
dGVPcGVyYXRpb24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0l0ZXJhdGlvbkNvbXBvc2l0ZU9wZXJhdGlvbi5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0pzb25XZWJLZXkuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0pzb25XZWJLZXkuaAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNLSFJQYXJhbGxlbFNoYWRlckNv
bXBpbGUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0tleWJvYXJkRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0tleWJvYXJkRXZlbnQuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNLZXlmcmFtZUFuaW1hdGlvbk9wdGlv
bnMuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBiOTFmMzRmNTNlMmY0YTZi
NWM3ZTNiNjhiMDZiNTUxOTI4ZGFmNDgxLi5hMGFkMmU0NTgwOWFhMjZhODM0ZDZiNjVmMDJiMzM4
YjA5MDI0ODZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTkyOSw2ICs5Mjks
NyBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvSW1h
Z2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZh
cy9JbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHRTZXR0aW5ncy5pZGwgXAogICAgICQoV2ViQ29y
ZSkvaHRtbC9jYW52YXMvSW1hZ2VTbW9vdGhpbmdRdWFsaXR5LmlkbCBcCisgICAgJChXZWJDb3Jl
KS9odG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaWRsIFwKICAgICAkKFdlYkNv
cmUpL2h0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuaWRsIFwKICAgICAkKFdlYkNvcmUp
L2h0bWwvY2FudmFzL09FU0ZCT1JlbmRlck1pcG1hcC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRt
bC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA0
YTUxOTk1ZTQ5YzRlYjhmZmEyMDQ3YzFhYWY5M2FhNzJhZjA2MmY1Li42ODQ5N2ZmYWFlYzU0Yjdk
NDY5YWE1YjU0ZTE0OTZkODdjY2U0ZThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTMwMCw2ICsxMzAw
LDcgQEAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcAogaHRtbC9j
YW52YXMvRVhUc1JHQi5jcHAKIGh0bWwvY2FudmFzL0dQVUJhc2VkQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dC5jcHAKIGh0bWwvY2FudmFzL0ltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dC5jcHAKK2h0
bWwvY2FudmFzL0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5jcHAKIGh0bWwvY2FudmFzL09FU0Vs
ZW1lbnRJbmRleFVpbnQuY3BwCiBodG1sL2NhbnZhcy9PRVNGQk9SZW5kZXJNaXBtYXAuY3BwCiBo
dG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcApAQCAtMjkyOCw2ICsyOTI5LDcg
QEAgSlNFWFRTaGFkZXJUZXh0dXJlTE9ELmNwcAogSlNFWFRUZXh0dXJlQ29tcHJlc3Npb25SR1RD
LmNwcAogSlNFWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuY3BwCiBKU0VYVHNSR0IuY3BwCitK
U0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5jcHAKIEpTRWNLZXlQYXJhbXMuY3BwCiBKU0VjZGhL
ZXlEZXJpdmVQYXJhbXMuY3BwCiBKU0VjZHNhUGFyYW1zLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZjYWZjMTFjN2IwNGFh
ZjQ0MTBkZDZhYzJkNDE0YTk4MmRiZTJiMjYuLmI4YTI3NjU2ZDMzYTQ2ZDgzMzlmNmY1ZWY3Nzc5
ZGQzZWVhMWVmZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTEyMzM3LDYgKzEyMzM3LDkgQEAKIAkJQTNBRjlEODIyMDMyNTMy
NDAwNkNBRDA2IC8qIFVzZXJBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBVc2VyQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNBRjlEODMyMDMy
NTY5MTAwNkNBRDA2IC8qIFVzZXJBZ2VudElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFVzZXJBZ2VudElPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTNBRjlEODQyMDMyNTZBMzAwNkNBRDA2IC8qIFVzZXJBZ2VudE1hYy5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVzZXJBZ2VudE1hYy5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTNCRjdFRjIyNTZDOEQ3MjAwNDRCQzc1IC8qIEtIUlBh
cmFsbGVsU2hhZGVyQ29tcGlsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBLSFJQYXJhbGxlbFNo
YWRlckNvbXBpbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBM0JGN0VGNDI1
NkM4RDcyMDA0NEJDNzUgLyogS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBM0JGN0VGNTI1NkM4RDc0MDA0NEJDNzUgLyogS0hSUGFyYWxsZWxTaGFkZXJDb21waWxl
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBM0MzREM1RDI1M0ExOTkyMDA2MUYzMkEgLyogR1BVUGxhdGZvcm1UeXBl
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVQbGF0Zm9ybVR5cGVzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzRDQyQTg0MUYzM0JBMzYwMEE2NEI2MiAv
KiBMYXlvdXRVbml0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExh
eW91dFVuaXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNDA5Qzk4MjExNkQw
REREMDA3MTk3QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGlj
YXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODAxMCw3ICsxODAxMyw2
IEBACiAJCQkJQTFDQzU2NEExRjQ2MTNCQjAwQTQ1NTVCIC8qIFBheW1lbnRSZXF1ZXN0ICovLAog
CQkJCTFEMDAyNjlBMjM3NEI5RjgwMENBNkNERiAvKiBQaWN0dXJlSW5QaWN0dXJlICovLAogCQkJ
CUE5RDI0N0Y5MEQ3NTdFNDEwMEZERjk1OSAvKiBQbHVnaW5zICovLAotCQkJCTg5RjYwQjE3MTU3
RjZBMDIwMDc1RTE1NyAvKiBRdW90YSAqLywKIAkJCQlCQzk4NTQ0NjBDRDNEQTVGMDAwNjlCQzEg
LyogUmFuZ2VzICovLAogCQkJCUNEOEM2QzI0MjJGRERBNjQwMEE3MjBBQiAvKiBSZW1vdGVQbGF5
YmFjayAqLywKIAkJCQk1MTgyQzI0QzFGMzE0MjA5MDA1OUJBN0MgLyogU2VydmljZVdvcmtlcnMg
Ki8sCkBAIC0xOTc2MSw2ICsxOTc2Myw5IEBACiAJCQkJMzE4RUFENEMxRkE5MTM1MjAwOENFRjg2
IC8qIEltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dFNldHRpbmdzLmlkbCAqLywKIAkJCQk3QzE5
M0JBRjFGNUUwRUI0MDA4OEYzRTYgLyogSW1hZ2VTbW9vdGhpbmdRdWFsaXR5LmggKi8sCiAJCQkJ
N0MxOTNCQTgxRjVFMEVBRjAwODhGM0U2IC8qIEltYWdlU21vb3RoaW5nUXVhbGl0eS5pZGwgKi8s
CisJCQkJQTNCRjdFRjIyNTZDOEQ3MjAwNDRCQzc1IC8qIEtIUlBhcmFsbGVsU2hhZGVyQ29tcGls
ZS5jcHAgKi8sCisJCQkJQTNCRjdFRjQyNTZDOEQ3MjAwNDRCQzc1IC8qIEtIUlBhcmFsbGVsU2hh
ZGVyQ29tcGlsZS5oICovLAorCQkJCUEzQkY3RUY1MjU2QzhENzQwMDQ0QkM3NSAvKiBLSFJQYXJh
bGxlbFNoYWRlckNvbXBpbGUuaWRsICovLAogCQkJCTdFNUQ3QTczMTYxRDNGOEYwMDg5NkMzNCAv
KiBPRVNFbGVtZW50SW5kZXhVaW50LmNwcCAqLywKIAkJCQk3RTVEN0E3NDE2MUQzRjhGMDA4OTZD
MzQgLyogT0VTRWxlbWVudEluZGV4VWludC5oICovLAogCQkJCUUxNzY1ODBDMTgwREYzQTAwMDVB
OTZEMSAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmlkbCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFdlYkdMLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFdlYkdMLmNwcAppbmRleCAzZDMwNjYzMTEwNDZhNzYw
NzA0MTI5OWQxM2U4YWY3NTVmYTI2NGJlLi5mM2ViMzZkYWNiODlkOTE1NmE1OTZlYjhlMTNiNGQ2
NTE1MzdmOGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNv
bnZlcnRXZWJHTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252
ZXJ0V2ViR0wuY3BwCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiSlNFWFRUZXh0dXJlQ29t
cHJlc3Npb25SR1RDLmgiCiAjaW5jbHVkZSAiSlNFWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMu
aCIKICNpbmNsdWRlICJKU0VYVHNSR0IuaCIKKyNpbmNsdWRlICJKU0tIUlBhcmFsbGVsU2hhZGVy
Q29tcGlsZS5oIgogI2luY2x1ZGUgIkpTT0VTRWxlbWVudEluZGV4VWludC5oIgogI2luY2x1ZGUg
IkpTT0VTRkJPUmVuZGVyTWlwbWFwLmgiCiAjaW5jbHVkZSAiSlNPRVNTdGFuZGFyZERlcml2YXRp
dmVzLmgiCkBAIC0xODIsNiArMTgzLDggQEAgSlNWYWx1ZSBjb252ZXJ0VG9KU1ZhbHVlKEpTR2xv
YmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTUdsb2JhbE9iamVjdCYKICAgICAg
ICAgcmV0dXJuIHRvSlMoJmxleGljYWxHbG9iYWxPYmplY3QsICZnbG9iYWxPYmplY3QsIHN0YXRp
Y19jYXN0PEVYVEZyYWdEZXB0aCY+KGV4dGVuc2lvbikpOwogICAgIGNhc2UgV2ViR0xFeHRlbnNp
b246OkVYVEJsZW5kTWluTWF4TmFtZToKICAgICAgICAgcmV0dXJuIHRvSlMoJmxleGljYWxHbG9i
YWxPYmplY3QsICZnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PEVYVEJsZW5kTWluTWF4Jj4oZXh0
ZW5zaW9uKSk7CisgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6S0hSUGFyYWxsZWxTaGFkZXJDb21w
aWxlTmFtZToKKyAgICAgICAgcmV0dXJuIHRvSlMoJmxleGljYWxHbG9iYWxPYmplY3QsICZnbG9i
YWxPYmplY3QsIHN0YXRpY19jYXN0PEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZSY+KGV4dGVuc2lv
bikpOwogICAgIGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1N0YW5kYXJkRGVyaXZhdGl2ZXNOYW1l
OgogICAgICAgICByZXR1cm4gdG9KUygmbGV4aWNhbEdsb2JhbE9iamVjdCwgJmdsb2JhbE9iamVj
dCwgc3RhdGljX2Nhc3Q8T0VTU3RhbmRhcmREZXJpdmF0aXZlcyY+KGV4dGVuc2lvbikpOwogICAg
IGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1RleHR1cmVGbG9hdE5hbWU6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41MjcxMzhmMzBmNzVmYWQwNzM5ODU5NGIzMzNhN2RmOWMxNDJkMjgwCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvS0hSUGFyYWxsZWxTaGFk
ZXJDb21waWxlLmNwcApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiS0hSUGFyYWxsZWxTaGFkZXJDb21waWxl
LmgiCisKKyNpbmNsdWRlICJFeHRlbnNpb25zR0wuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9j
SW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FU
RURfSU1QTChLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUpOworCitLSFJQYXJhbGxlbFNoYWRlckNv
bXBpbGU6OktIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZShXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
JiBjb250ZXh0KQorICAgIDogV2ViR0xFeHRlbnNpb24oY29udGV4dCkKK3sKKyAgICBjb250ZXh0
LmdyYXBoaWNzQ29udGV4dEdMKCktPmdldEV4dGVuc2lvbnMoKS5lbnN1cmVFbmFibGVkKCJHTF9L
SFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUiX3MpOworfQorCitLSFJQYXJhbGxlbFNoYWRlckNv
bXBpbGU6On5LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUoKSA9IGRlZmF1bHQ7CisKK1dlYkdMRXh0
ZW5zaW9uOjpFeHRlbnNpb25OYW1lIEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZTo6Z2V0TmFtZSgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZU5hbWU7Cit9CisK
K2Jvb2wgS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlOjpzdXBwb3J0ZWQoY29uc3QgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZSYgY29udGV4dCkKK3sKKyAgICByZXR1cm4gY29udGV4dC5ncmFwaGlj
c0NvbnRleHRHTCgpLT5nZXRFeHRlbnNpb25zKCkuc3VwcG9ydHMoIkdMX0tIUl9wYXJhbGxlbF9z
aGFkZXJfY29tcGlsZSJfcyk7Cit9CisgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4NzM0NzExMWE0MzYy
ZDY0NWI4NjZjNDg4NjA3NzE0MTFkM2UyNGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaApAQCAtMCwwICsxLDQz
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisg
KiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIldlYkdMRXh0ZW5zaW9uLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlIGZp
bmFsIDogcHVibGljIFdlYkdMRXh0ZW5zaW9uIHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVE
KEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZSk7CitwdWJsaWM6CisgICAgZXhwbGljaXQgS0hSUGFy
YWxsZWxTaGFkZXJDb21waWxlKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmKTsKKyAgICB2aXJ0
dWFsIH5LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUoKTsKKworICAgIEV4dGVuc2lvbk5hbWUgZ2V0
TmFtZSgpIGNvbnN0IG92ZXJyaWRlOworCisgICAgc3RhdGljIGJvb2wgc3VwcG9ydGVkKGNvbnN0
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0tIUlBhcmFsbGVsU2hh
ZGVyQ29tcGlsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNo
YWRlckNvbXBpbGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMwNmM5Y2Y2YzM3OGQ3ZjYyOWMxNTM0ZTg3OGJh
MDQ0MGI3YzY5ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyoKKyogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorKiBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyogKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOworKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GCisqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCitbCisgICAgTGVnYWN5Tm9JbnRlcmZhY2VP
YmplY3QsCisgICAgQ29uZGl0aW9uYWw9V0VCR0wsCisgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1J
bXBsV2ViR0xSZW5kZXJpbmdDb250ZXh0CitdIGludGVyZmFjZSBLSFJQYXJhbGxlbFNoYWRlckNv
bXBpbGUgeworICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgQ09NUExFVElPTl9TVEFUVVNfS0hSID0g
MHg5MUIxOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
MlJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wy
UmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggNTViYzFmOGRiMjQ5ZDMzODIyZTc4ODljYTc4M2Y1
YmVjMDI1YTI5OS4uYzYzMGEwNzAwNWI5MjNjMGEwMmNjNGNlOGYwYTY2ZjIzNTYzNTVhMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29u
dGV4dC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJJbWFnZUJpdG1hcC5oIgogI2lu
Y2x1ZGUgIkltYWdlRGF0YS5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
IgorI2luY2x1ZGUgIktIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5oIgogI2luY2x1ZGUgIkxvZ2dp
bmcuaCIKICNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCIKICNpbmNsdWRlICJSZW5k
ZXJCb3guaCIKQEAgLTI2NzEsNiArMjY3Miw3IEBAIFdlYkdMRXh0ZW5zaW9uKiBXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBuYW1lKQogICAgIEVOQUJM
RV9JRl9SRVFVRVNURUQoRVhUQ29sb3JCdWZmZXJGbG9hdCwgbV9leHRDb2xvckJ1ZmZlckZsb2F0
LCAiRVhUX2NvbG9yX2J1ZmZlcl9mbG9hdCIsIEVYVENvbG9yQnVmZmVyRmxvYXQ6OnN1cHBvcnRl
ZCgqdGhpcykpOwogICAgIEVOQUJMRV9JRl9SRVFVRVNURUQoRVhUQ29sb3JCdWZmZXJIYWxmRmxv
YXQsIG1fZXh0Q29sb3JCdWZmZXJIYWxmRmxvYXQsICJFWFRfY29sb3JfYnVmZmVyX2hhbGZfZmxv
YXQiLCBFWFRDb2xvckJ1ZmZlckhhbGZGbG9hdDo6c3VwcG9ydGVkKCp0aGlzKSk7CiAgICAgRU5B
QkxFX0lGX1JFUVVFU1RFRChFWFRGbG9hdEJsZW5kLCBtX2V4dEZsb2F0QmxlbmQsICJFWFRfZmxv
YXRfYmxlbmQiLCBFWFRGbG9hdEJsZW5kOjpzdXBwb3J0ZWQoKnRoaXMpKTsKKyAgICBFTkFCTEVf
SUZfUkVRVUVTVEVEKEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZSwgbV9raHJQYXJhbGxlbFNoYWRl
ckNvbXBpbGUsICJLSFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUiLCBLSFJQYXJhbGxlbFNoYWRl
ckNvbXBpbGU6OnN1cHBvcnRlZCgqdGhpcykpOwogICAgIHJldHVybiBudWxscHRyOwogfQogCkBA
IC0yNzE3LDYgKzI3MTksOCBAQCBPcHRpb25hbDxWZWN0b3I8U3RyaW5nPj4gV2ViR0wyUmVuZGVy
aW5nQ29udGV4dDo6Z2V0U3VwcG9ydGVkRXh0ZW5zaW9ucygpCiAgICAgICAgIHJlc3VsdC5hcHBl
bmQoIkVYVF9jb2xvcl9idWZmZXJfaGFsZl9mbG9hdCJfcyk7CiAgICAgaWYgKEVYVEZsb2F0Qmxl
bmQ6OnN1cHBvcnRlZCgqdGhpcykpCiAgICAgICAgIHJlc3VsdC5hcHBlbmQoIkVYVF9mbG9hdF9i
bGVuZCJfcyk7CisgICAgaWYgKEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZTo6c3VwcG9ydGVkKCp0
aGlzKSkKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgiS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21waWxl
Il9zKTsKIAogICAgIHJldHVybiByZXN1bHQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xFeHRlbnNpb24uaAppbmRleCA0NDBkNGI5NTQ3OTQzM2NmZmUxOWIyYWU2MTQ1YWQw
OTk4NWI2YmQ3Li41ODAwYTcxMzEzYmNmOGEwNGRmNTZhZjE3MmIwOGZmNTkwYzkxNzE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKQEAgLTQ0LDYgKzQ0
LDcgQEAgcHVibGljOgogICAgICAgICBFWFRUZXh0dXJlQ29tcHJlc3Npb25SR1RDTmFtZSwKICAg
ICAgICAgRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljTmFtZSwKICAgICAgICAgRVhUc1JHQk5h
bWUsCisgICAgICAgIEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZU5hbWUsCiAgICAgICAgIE9FU1Rl
eHR1cmVGbG9hdE5hbWUsCiAgICAgICAgIE9FU1RleHR1cmVGbG9hdExpbmVhck5hbWUsCiAgICAg
ICAgIE9FU1RleHR1cmVIYWxmRmxvYXROYW1lLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggNjkzZDYyMDZmMmM5MGY5
NWZkYTk3M2I5OThlYjk2NDY3ZGNmZWE5Ny4uMDdkZmNhM2UxZDk4YTliMTA3ODAzMjE5MmI2NDg4
ODQ0ZDc2Y2RhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSAiSFRNTFZp
ZGVvRWxlbWVudC5oIgogI2luY2x1ZGUgIkltYWdlRGF0YS5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1ZGUgIktIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5o
IgogI2luY2x1ZGUgIk9FU0VsZW1lbnRJbmRleFVpbnQuaCIKICNpbmNsdWRlICJPRVNGQk9SZW5k
ZXJNaXBtYXAuaCIKICNpbmNsdWRlICJPRVNTdGFuZGFyZERlcml2YXRpdmVzLmgiCkBAIC0xNTUs
NiArMTU2LDcgQEAgV2ViR0xFeHRlbnNpb24qIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0RXh0
ZW5zaW9uKGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICB9CiAgICAgRU5BQkxFX0lGX1JFUVVFU1RF
RChFWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMsIG1fZXh0VGV4dHVyZUZpbHRlckFuaXNvdHJv
cGljLCAiRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIiwgZW5hYmxlU3VwcG9ydGVkRXh0
ZW5zaW9uKCJHTF9FWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiX3MpKTsKICAgICBFTkFC
TEVfSUZfUkVRVUVTVEVEKEVYVFRleHR1cmVDb21wcmVzc2lvblJHVEMsIG1fZXh0VGV4dHVyZUNv
bXByZXNzaW9uUkdUQywgIkVYVF90ZXh0dXJlX2NvbXByZXNzaW9uX3JndGMiLCBlbmFibGVTdXBw
b3J0ZWRFeHRlbnNpb24oIkdMX0VYVF90ZXh0dXJlX2NvbXByZXNzaW9uX3JndGMiX3MpKTsKKyAg
ICBFTkFCTEVfSUZfUkVRVUVTVEVEKEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZSwgbV9raHJQYXJh
bGxlbFNoYWRlckNvbXBpbGUsICJLSFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUiLCBLSFJQYXJh
bGxlbFNoYWRlckNvbXBpbGU6OnN1cHBvcnRlZCgqdGhpcykpOwogICAgIEVOQUJMRV9JRl9SRVFV
RVNURUQoT0VTU3RhbmRhcmREZXJpdmF0aXZlcywgbV9vZXNTdGFuZGFyZERlcml2YXRpdmVzLCAi
T0VTX3N0YW5kYXJkX2Rlcml2YXRpdmVzIiwgZW5hYmxlU3VwcG9ydGVkRXh0ZW5zaW9uKCJHTF9P
RVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMiX3MpKTsKICAgICBFTkFCTEVfSUZfUkVRVUVTVEVEKE9F
U1RleHR1cmVGbG9hdCwgbV9vZXNUZXh0dXJlRmxvYXQsICJPRVNfdGV4dHVyZV9mbG9hdCIsIE9F
U1RleHR1cmVGbG9hdDo6c3VwcG9ydGVkKCp0aGlzKSk7CiAgICAgRU5BQkxFX0lGX1JFUVVFU1RF
RChPRVNUZXh0dXJlRmxvYXRMaW5lYXIsIG1fb2VzVGV4dHVyZUZsb2F0TGluZWFyLCAiT0VTX3Rl
eHR1cmVfZmxvYXRfbGluZWFyIiwgZW5hYmxlU3VwcG9ydGVkRXh0ZW5zaW9uKCJHTF9PRVNfdGV4
dHVyZV9mbG9hdF9saW5lYXIiX3MpKTsKQEAgLTI3NSw2ICsyNzcsOCBAQCBPcHRpb25hbDxWZWN0
b3I8U3RyaW5nPj4gV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRTdXBwb3J0ZWRFeHRlbnNpb25z
KCkKICAgICAgICAgcmVzdWx0LmFwcGVuZCgiRVhUX2Zsb2F0X2JsZW5kIl9zKTsKICAgICBpZiAo
V2ViR0xDb2xvckJ1ZmZlckZsb2F0OjpzdXBwb3J0ZWQoKnRoaXMpKQogICAgICAgICByZXN1bHQu
YXBwZW5kKCJXRUJHTF9jb2xvcl9idWZmZXJfZmxvYXQiX3MpOworICAgIGlmIChLSFJQYXJhbGxl
bFNoYWRlckNvbXBpbGU6OnN1cHBvcnRlZCgqdGhpcykpCisgICAgICAgIHJlc3VsdC5hcHBlbmQo
IktIUl9wYXJhbGxlbF9zaGFkZXJfY29tcGlsZSIpOwogCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZS5jcHAKaW5kZXggMTg1ZThjNjJlNmZiZTMxZjMxMzg4YzBjOWY4MGQ4MWNlZTI0
YTNiMS4uM2U4OWI1Mjk4NmQwNTM5NWNlMjU2YzRkNmQ1ZDljZjMyYjE2OGI5OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5jcHAKQEAgLTYxLDYgKzYxLDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiSlNFeGVjU3RhdGUuaCIK
KyNpbmNsdWRlICJLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaCIKICNpbmNsdWRlICJMb2dnaW5n
LmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yV2ViWFIuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRl
ZC5oIgpAQCAtMzIwMiw2ICszMjAzLDEzIEBAIFdlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2U6OmdldFByb2dyYW1QYXJhbWV0ZXIoV2ViR0xQcm9ncmFtJiBwcm9ncmFtLCBHCiAgICAg
ICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgICAgIH0KICNlbmRpZiAvLyBVU0UoQU5HTEUpCisg
ICAgY2FzZSBFeHRlbnNpb25zR0w6OkNPTVBMRVRJT05fU1RBVFVTX0tIUjoKKyAgICAgICAgaWYg
KG1fa2hyUGFyYWxsZWxTaGFkZXJDb21waWxlKSB7CisgICAgICAgICAgICByZXR1cm4gbV9jb250
ZXh0LT5nZXRQcm9ncmFtaShwcm9ncmFtLm9iamVjdCgpLCBwbmFtZSk7CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5W
QUxJRF9FTlVNLCAiZ2V0UHJvZ3JhbVBhcmFtZXRlciIsICJLSFJfcGFyYWxsZWxfc2hhZGVyX2Nv
bXBpbGUgbm90IGVuYWJsZWQiKTsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAg
ICB9CiAgICAgZGVmYXVsdDoKICNpZiBFTkFCTEUoV0VCR0wyKQogICAgICAgICBpZiAoaXNXZWJH
TDIoKSkgewpAQCAtMzcwMiw2ICszNzEwLDcgQEAgYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlOjpleHRlbnNpb25Jc0VuYWJsZWQoY29uc3QgU3RyaW5nJiBuYW1lKQogICAgIENIRUNLX0VY
VEVOU0lPTihtX2V4dFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYywgIkVYVF90ZXh0dXJlX2ZpbHRl
cl9hbmlzb3Ryb3BpYyIpOwogICAgIENIRUNLX0VYVEVOU0lPTihtX2V4dFRleHR1cmVGaWx0ZXJB
bmlzb3Ryb3BpYywgIldFQktJVF9FWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKTsKICAg
ICBDSEVDS19FWFRFTlNJT04obV9leHRTaGFkZXJUZXh0dXJlTE9ELCAiRVhUX3NoYWRlcl90ZXh0
dXJlX2xvZCIpOworICAgIENIRUNLX0VYVEVOU0lPTihtX2toclBhcmFsbGVsU2hhZGVyQ29tcGls
ZSwgIktIUl9wYXJhbGxlbF9zaGFkZXJfY29tcGlsZSIpOwogICAgIENIRUNLX0VYVEVOU0lPTiht
X29lc1RleHR1cmVGbG9hdCwgIk9FU190ZXh0dXJlX2Zsb2F0Iik7CiAgICAgQ0hFQ0tfRVhURU5T
SU9OKG1fb2VzVGV4dHVyZUZsb2F0TGluZWFyLCAiT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIik7
CiAgICAgQ0hFQ0tfRVhURU5TSU9OKG1fb2VzVGV4dHVyZUhhbGZGbG9hdCwgIk9FU190ZXh0dXJl
X2hhbGZfZmxvYXQiKTsKQEAgLTc3OTUsNiArNzgwNCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZTo6bG9zZUV4dGVuc2lvbnMoTG9zdENvbnRleHRNb2RlIG1vZGUpCiAgICAgTE9T
RV9FWFRFTlNJT04obV9leHRUZXh0dXJlQ29tcHJlc3Npb25SR1RDKTsKICAgICBMT1NFX0VYVEVO
U0lPTihtX2V4dFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYyk7CiAgICAgTE9TRV9FWFRFTlNJT04o
bV9leHRTaGFkZXJUZXh0dXJlTE9EKTsKKyAgICBMT1NFX0VYVEVOU0lPTihtX2toclBhcmFsbGVs
U2hhZGVyQ29tcGlsZSk7CiAgICAgTE9TRV9FWFRFTlNJT04obV9vZXNUZXh0dXJlRmxvYXQpOwog
ICAgIExPU0VfRVhURU5TSU9OKG1fb2VzVGV4dHVyZUZsb2F0TGluZWFyKTsKICAgICBMT1NFX0VY
VEVOU0lPTihtX29lc1RleHR1cmVIYWxmRmxvYXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCmluZGV4IGE3MWQwMzZh
YTBkZWE1MmI0NTc5MDlmYmZmZGMzYWRmODBmNTEwY2MuLjk5NWQ0M2NiYzRlMjcwYTA1NWUyZDZj
ODMwMDYwOWZiMGYwZjZmZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKQEAgLTgwLDYgKzgwLDcgQEAgY2xhc3Mg
RVhURnJhZ0RlcHRoOwogY2xhc3MgSFRNTEltYWdlRWxlbWVudDsKIGNsYXNzIEltYWdlRGF0YTsK
IGNsYXNzIEludFNpemU7CitjbGFzcyBLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGU7CiBjbGFzcyBP
RVNTdGFuZGFyZERlcml2YXRpdmVzOwogY2xhc3MgT0VTVGV4dHVyZUZsb2F0OwogY2xhc3MgT0VT
VGV4dHVyZUZsb2F0TGluZWFyOwpAQCAtNjc0LDYgKzY3NSw3IEBAIHByb3RlY3RlZDoKICAgICBS
ZWZQdHI8RVhUVGV4dHVyZUNvbXByZXNzaW9uUkdUQz4gbV9leHRUZXh0dXJlQ29tcHJlc3Npb25S
R1RDOwogICAgIFJlZlB0cjxFWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWM+IG1fZXh0VGV4dHVy
ZUZpbHRlckFuaXNvdHJvcGljOwogICAgIFJlZlB0cjxFWFRTaGFkZXJUZXh0dXJlTE9EPiBtX2V4
dFNoYWRlclRleHR1cmVMT0Q7CisgICAgUmVmUHRyPEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZT4g
bV9raHJQYXJhbGxlbFNoYWRlckNvbXBpbGU7CiAgICAgUmVmUHRyPE9FU1RleHR1cmVGbG9hdD4g
bV9vZXNUZXh0dXJlRmxvYXQ7CiAgICAgUmVmUHRyPE9FU1RleHR1cmVGbG9hdExpbmVhcj4gbV9v
ZXNUZXh0dXJlRmxvYXRMaW5lYXI7CiAgICAgUmVmUHRyPE9FU1RleHR1cmVIYWxmRmxvYXQ+IG1f
b2VzVGV4dHVyZUhhbGZGbG9hdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0V4dGVuc2lvbnNHTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRXh0ZW5zaW9uc0dMLmgKaW5kZXggYmE4NjViMzMwOGU2Yzk0NTgyMjEyMjM3Nzk2ZDZmZDU3
NzQ4NDdmOC4uMWZjODU5MTE3YjRlMzI0YWFmOGZkZWI5ZDJmNjQzMjdkOTQ0OGQ4YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uc0dMLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uc0dMLmgKQEAgLTI2
Myw3ICsyNjMsMTAgQEAgcHVibGljOgogICAgICAgICBDT0xPUl9BVFRBQ0hNRU5UMTJfRVhUID0g
MHg4Q0VDLAogICAgICAgICBDT0xPUl9BVFRBQ0hNRU5UMTNfRVhUID0gMHg4Q0VELAogICAgICAg
ICBDT0xPUl9BVFRBQ0hNRU5UMTRfRVhUID0gMHg4Q0VFLAotICAgICAgICBDT0xPUl9BVFRBQ0hN
RU5UMTVfRVhUID0gMHg4Q0VGCisgICAgICAgIENPTE9SX0FUVEFDSE1FTlQxNV9FWFQgPSAweDhD
RUYsCisKKyAgICAgICAgLy8gR0xfS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21waWxlCisgICAgICAg
IENPTVBMRVRJT05fU1RBVFVTX0tIUiA9IDB4OTFCMSwKICAgICB9OwogCiAgICAgLy8gV2ViR0wg
ZnVuY3Rpb25zIGluIGZvcm1hdCBnZW5lcmF0ZS1ncHVwLXdlYmdsIHVuZGVyc3RhbmRzLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414855</attachid>
            <date>2020-11-24 15:53:53 -0800</date>
            <delta_ts>2020-11-24 16:01:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219266-20201124155352.patch</filename>
            <type>text/plain</type>
            <size>34029</size>
            <attacher name="James Darpinian">jdarpinian</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzg2MjhkNmE5OGJkMjA4
NWExZDY5NTcxMmQxZGM3MjIwZTdkNzMwMy4uZWEwNmFmZWIxNDhlMjBhZDBhNDdiMGJjYmQ1NTE0
YzU5ZGRjZDU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTExLTI0ICBKYW1l
cyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBTdXBwb3J0
IEtIUl9wYXJhbGxlbF9zaGFkZXJfY29tcGlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MjY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGVzdGVkIGJ5IHdlYmdsL2NvbmZvcm1hbmNlL2V4dGVuc2lv
bnMva2hyLXBhcmFsbGVsLXNoYWRlci1jb21waWxlLmh0bWwKKworICAgICAgICAqIENNYWtlTGlz
dHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01D
b252ZXJ0V2ViR0wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29udmVydFRvSlNWYWx1ZSk6Cisg
ICAgICAgICogaHRtbC9jYW52YXMvS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGU6OktIUlBhcmFsbGVs
U2hhZGVyQ29tcGlsZSk6CisgICAgICAgIChXZWJDb3JlOjpLSFJQYXJhbGxlbFNoYWRlckNvbXBp
bGU6OmdldE5hbWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6S0hSUGFyYWxsZWxTaGFkZXJD
b21waWxlOjpzdXBwb3J0ZWQpOgorICAgICAgICAqIGh0bWwvY2FudmFzL0tIUlBhcmFsbGVsU2hh
ZGVyQ29tcGlsZS5oOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNo
YWRlckNvbXBpbGUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTDJSZW5k
ZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRl
eHQ6OmdldEV4dGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250
ZXh0OjpnZXRTdXBwb3J0ZWRFeHRlbnNpb25zKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJH
TEV4dGVuc2lvbi5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEV4dGVu
c2lvbik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFN1cHBv
cnRlZEV4dGVuc2lvbnMpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6Z2V0UHJvZ3JhbVBhcmFtZXRlcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpnZXRTaGFkZXJQYXJhbWV0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6ZXh0ZW5zaW9uSXNFbmFibGVkKToKKyAgICAgICAgKFdl
YkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VFeHRlbnNpb25zKToKKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uc0dMLmg6CisKIDIwMjAtMTEtMjEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBQb29yIHJlc2FtcGxpbmcgcXVhbGl0
eSB3aGVuIHVzaW5nIEF1ZGlvQ29udGV4dCBzYW1wbGVSYXRlIHBhcmFtZXRlcgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCA2ODNiZTUzZjM2MzgyYWNhZWViOTg0YTg0Y2Q2MGZkMjcyODc0NDZjLi5j
ZWVhZGZlMjliMjhhNDFlMjYzN2U5NGM1NDE1MzBjOTI5YTU0ZTA0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtMTUxNSw2ICsxNTE1LDcgQEAgaWYgKEVOQUJMRV9XRUJHTCkKICAgICAgICAgaHRt
bC9jYW52YXMvRVhUVGV4dHVyZUNvbXByZXNzaW9uUkdUQy5jcHAKICAgICAgICAgaHRtbC9jYW52
YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcAogICAgICAgICBodG1sL2NhbnZhcy9F
WFRzUkdCLmNwcAorICAgICAgICBodG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUu
Y3BwCiAgICAgICAgIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuY3BwCiAgICAgICAg
IGh0bWwvY2FudmFzL09FU0ZCT1JlbmRlck1pcG1hcC5jcHAKICAgICAgICAgaHRtbC9jYW52YXMv
T0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAKQEAgLTE1NzQsNiArMTU3NSw3IEBAIGxpc3QoQVBQ
RU5EIFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUNvbXByZXNz
aW9uUkdUQy5pZGwKICAgICBodG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMu
aWRsCiAgICAgaHRtbC9jYW52YXMvRVhUc1JHQi5pZGwKKyAgICBodG1sL2NhbnZhcy9LSFJQYXJh
bGxlbFNoYWRlckNvbXBpbGUuaWRsCiAgICAgaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWlu
dC5pZGwKICAgICBodG1sL2NhbnZhcy9PRVNGQk9SZW5kZXJNaXBtYXAuaWRsCiAgICAgaHRtbC9j
YW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDQxNmY5N2U2NDNlODU5NTY0MzEwNGUy
NTg4Yjg5YmUyZDc2YjJmZWYuLmI1YmI5NDQ2YWQxZmY4ZWI1ZDVhMzI4ZWIxNGJjN2IwNGQxNDk0
MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlz
dApAQCAtOTg1LDYgKzk4NSw3IEBAICQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFzL0VYVHNSR0Iu
aWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9JbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRl
eHQuaWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9JbWFnZUJpdG1hcFJlbmRlcmluZ0Nv
bnRleHRTZXR0aW5ncy5pZGwKICQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFzL0ltYWdlU21vb3Ro
aW5nUXVhbGl0eS5pZGwKKyQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFzL0tIUlBhcmFsbGVsU2hh
ZGVyQ29tcGlsZS5pZGwKICQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRl
eFVpbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9PRVNGQk9SZW5kZXJNaXBtYXAu
aWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlk
bApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApp
bmRleCAyNTA1NWU1YjIwZjMwNzdiODM5Y2Y3Mjg2MGY4MzkyYTk2NDRmYzRjLi44OTRlMTY3MGJh
ODQ2M2UxNGE2MDkwNThhODYzYTEwNDNlMTU5Yzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTE5Myw2ICsxMTkzLDggQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNJdGVyYXRpb25Db21w
b3NpdGVPcGVyYXRpb24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0l0ZXJhdGlvbkNvbXBvc2l0ZU9wZXJhdGlvbi5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0pzb25XZWJLZXkuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0pzb25XZWJLZXkuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNLSFJQYXJhbGxlbFNoYWRl
ckNvbXBpbGUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0tleWJvYXJkRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0tleWJvYXJkRXZlbnQuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNLZXlmcmFtZUFuaW1hdGlvbk9w
dGlvbnMuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBiOTFmMzRmNTNlMmY0
YTZiNWM3ZTNiNjhiMDZiNTUxOTI4ZGFmNDgxLi5hMGFkMmU0NTgwOWFhMjZhODM0ZDZiNjVmMDJi
MzM4YjA5MDI0ODZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTkyOSw2ICs5
MjksNyBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMv
SW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2Nh
bnZhcy9JbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHRTZXR0aW5ncy5pZGwgXAogICAgICQoV2Vi
Q29yZSkvaHRtbC9jYW52YXMvSW1hZ2VTbW9vdGhpbmdRdWFsaXR5LmlkbCBcCisgICAgJChXZWJD
b3JlKS9odG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaWRsIFwKICAgICAkKFdl
YkNvcmUpL2h0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuaWRsIFwKICAgICAkKFdlYkNv
cmUpL2h0bWwvY2FudmFzL09FU0ZCT1JlbmRlck1pcG1hcC5pZGwgXAogICAgICQoV2ViQ29yZSkv
aHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRl
eCA0YTUxOTk1ZTQ5YzRlYjhmZmEyMDQ3YzFhYWY5M2FhNzJhZjA2MmY1Li42ODQ5N2ZmYWFlYzU0
YjdkNDY5YWE1YjU0ZTE0OTZkODdjY2U0ZThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTMwMCw2ICsx
MzAwLDcgQEAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcAogaHRt
bC9jYW52YXMvRVhUc1JHQi5jcHAKIGh0bWwvY2FudmFzL0dQVUJhc2VkQ2FudmFzUmVuZGVyaW5n
Q29udGV4dC5jcHAKIGh0bWwvY2FudmFzL0ltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dC5jcHAK
K2h0bWwvY2FudmFzL0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5jcHAKIGh0bWwvY2FudmFzL09F
U0VsZW1lbnRJbmRleFVpbnQuY3BwCiBodG1sL2NhbnZhcy9PRVNGQk9SZW5kZXJNaXBtYXAuY3Bw
CiBodG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcApAQCAtMjkyOCw2ICsyOTI5
LDcgQEAgSlNFWFRTaGFkZXJUZXh0dXJlTE9ELmNwcAogSlNFWFRUZXh0dXJlQ29tcHJlc3Npb25S
R1RDLmNwcAogSlNFWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuY3BwCiBKU0VYVHNSR0IuY3Bw
CitKU0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5jcHAKIEpTRWNLZXlQYXJhbXMuY3BwCiBKU0Vj
ZGhLZXlEZXJpdmVQYXJhbXMuY3BwCiBKU0VjZHNhUGFyYW1zLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZjYWZjMTFjN2Iw
NGFhZjQ0MTBkZDZhYzJkNDE0YTk4MmRiZTJiMjYuLmI4YTI3NjU2ZDMzYTQ2ZDgzMzlmNmY1ZWY3
Nzc5ZGQzZWVhMWVmZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTEyMzM3LDYgKzEyMzM3LDkgQEAKIAkJQTNBRjlEODIyMDMy
NTMyNDAwNkNBRDA2IC8qIFVzZXJBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBVc2VyQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNBRjlEODMy
MDMyNTY5MTAwNkNBRDA2IC8qIFVzZXJBZ2VudElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFVzZXJBZ2VudElPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQTNBRjlEODQyMDMyNTZBMzAwNkNBRDA2IC8qIFVzZXJBZ2VudE1hYy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVzZXJBZ2VudE1hYy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTNCRjdFRjIyNTZDOEQ3MjAwNDRCQzc1IC8qIEtI
UlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBLSFJQYXJhbGxl
bFNoYWRlckNvbXBpbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBM0JGN0VG
NDI1NkM4RDcyMDA0NEJDNzUgLyogS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBM0JGN0VGNTI1NkM4RDc0MDA0NEJDNzUgLyogS0hSUGFyYWxsZWxTaGFkZXJDb21w
aWxlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBM0MzREM1RDI1M0ExOTkyMDA2MUYzMkEgLyogR1BVUGxhdGZvcm1U
eXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVQbGF0Zm9ybVR5cGVz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzRDQyQTg0MUYzM0JBMzYwMEE2NEI2
MiAvKiBMYXlvdXRVbml0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IExheW91dFVuaXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNDA5Qzk4MjEx
NkQwREREMDA3MTk3QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlQcm9ncmVzc0lu
ZGljYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODAxMCw3ICsxODAx
Myw2IEBACiAJCQkJQTFDQzU2NEExRjQ2MTNCQjAwQTQ1NTVCIC8qIFBheW1lbnRSZXF1ZXN0ICov
LAogCQkJCTFEMDAyNjlBMjM3NEI5RjgwMENBNkNERiAvKiBQaWN0dXJlSW5QaWN0dXJlICovLAog
CQkJCUE5RDI0N0Y5MEQ3NTdFNDEwMEZERjk1OSAvKiBQbHVnaW5zICovLAotCQkJCTg5RjYwQjE3
MTU3RjZBMDIwMDc1RTE1NyAvKiBRdW90YSAqLywKIAkJCQlCQzk4NTQ0NjBDRDNEQTVGMDAwNjlC
QzEgLyogUmFuZ2VzICovLAogCQkJCUNEOEM2QzI0MjJGRERBNjQwMEE3MjBBQiAvKiBSZW1vdGVQ
bGF5YmFjayAqLywKIAkJCQk1MTgyQzI0QzFGMzE0MjA5MDA1OUJBN0MgLyogU2VydmljZVdvcmtl
cnMgKi8sCkBAIC0xOTc2MSw2ICsxOTc2Myw5IEBACiAJCQkJMzE4RUFENEMxRkE5MTM1MjAwOENF
Rjg2IC8qIEltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dFNldHRpbmdzLmlkbCAqLywKIAkJCQk3
QzE5M0JBRjFGNUUwRUI0MDA4OEYzRTYgLyogSW1hZ2VTbW9vdGhpbmdRdWFsaXR5LmggKi8sCiAJ
CQkJN0MxOTNCQTgxRjVFMEVBRjAwODhGM0U2IC8qIEltYWdlU21vb3RoaW5nUXVhbGl0eS5pZGwg
Ki8sCisJCQkJQTNCRjdFRjIyNTZDOEQ3MjAwNDRCQzc1IC8qIEtIUlBhcmFsbGVsU2hhZGVyQ29t
cGlsZS5jcHAgKi8sCisJCQkJQTNCRjdFRjQyNTZDOEQ3MjAwNDRCQzc1IC8qIEtIUlBhcmFsbGVs
U2hhZGVyQ29tcGlsZS5oICovLAorCQkJCUEzQkY3RUY1MjU2QzhENzQwMDQ0QkM3NSAvKiBLSFJQ
YXJhbGxlbFNoYWRlckNvbXBpbGUuaWRsICovLAogCQkJCTdFNUQ3QTczMTYxRDNGOEYwMDg5NkMz
NCAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmNwcCAqLywKIAkJCQk3RTVEN0E3NDE2MUQzRjhGMDA4
OTZDMzQgLyogT0VTRWxlbWVudEluZGV4VWludC5oICovLAogCQkJCUUxNzY1ODBDMTgwREYzQTAw
MDVBOTZEMSAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmlkbCAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFdlYkdMLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFdlYkdMLmNwcAppbmRleCAzZDMwNjYzMTEwNDZh
NzYwNzA0MTI5OWQxM2U4YWY3NTVmYTI2NGJlLi5mM2ViMzZkYWNiODlkOTE1NmE1OTZlYjhlMTNi
NGQ2NTE1MzdmOGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUNvbnZlcnRXZWJHTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01D
b252ZXJ0V2ViR0wuY3BwCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiSlNFWFRUZXh0dXJl
Q29tcHJlc3Npb25SR1RDLmgiCiAjaW5jbHVkZSAiSlNFWFRUZXh0dXJlRmlsdGVyQW5pc290cm9w
aWMuaCIKICNpbmNsdWRlICJKU0VYVHNSR0IuaCIKKyNpbmNsdWRlICJKU0tIUlBhcmFsbGVsU2hh
ZGVyQ29tcGlsZS5oIgogI2luY2x1ZGUgIkpTT0VTRWxlbWVudEluZGV4VWludC5oIgogI2luY2x1
ZGUgIkpTT0VTRkJPUmVuZGVyTWlwbWFwLmgiCiAjaW5jbHVkZSAiSlNPRVNTdGFuZGFyZERlcml2
YXRpdmVzLmgiCkBAIC0xODIsNiArMTgzLDggQEAgSlNWYWx1ZSBjb252ZXJ0VG9KU1ZhbHVlKEpT
R2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTUdsb2JhbE9iamVjdCYKICAg
ICAgICAgcmV0dXJuIHRvSlMoJmxleGljYWxHbG9iYWxPYmplY3QsICZnbG9iYWxPYmplY3QsIHN0
YXRpY19jYXN0PEVYVEZyYWdEZXB0aCY+KGV4dGVuc2lvbikpOwogICAgIGNhc2UgV2ViR0xFeHRl
bnNpb246OkVYVEJsZW5kTWluTWF4TmFtZToKICAgICAgICAgcmV0dXJuIHRvSlMoJmxleGljYWxH
bG9iYWxPYmplY3QsICZnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PEVYVEJsZW5kTWluTWF4Jj4o
ZXh0ZW5zaW9uKSk7CisgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6S0hSUGFyYWxsZWxTaGFkZXJD
b21waWxlTmFtZToKKyAgICAgICAgcmV0dXJuIHRvSlMoJmxleGljYWxHbG9iYWxPYmplY3QsICZn
bG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZSY+KGV4dGVu
c2lvbikpOwogICAgIGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1N0YW5kYXJkRGVyaXZhdGl2ZXNO
YW1lOgogICAgICAgICByZXR1cm4gdG9KUygmbGV4aWNhbEdsb2JhbE9iamVjdCwgJmdsb2JhbE9i
amVjdCwgc3RhdGljX2Nhc3Q8T0VTU3RhbmRhcmREZXJpdmF0aXZlcyY+KGV4dGVuc2lvbikpOwog
ICAgIGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1RleHR1cmVGbG9hdE5hbWU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41MjcxMzhmMzBmNzVmYWQwNzM5ODU5NGIzMzNhN2RmOWMxNDJkMjgwCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvS0hSUGFyYWxsZWxT
aGFkZXJDb21waWxlLmNwcApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisKKyNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiS0hSUGFyYWxsZWxTaGFkZXJDb21w
aWxlLmgiCisKKyNpbmNsdWRlICJFeHRlbnNpb25zR0wuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExP
Q0FURURfSU1QTChLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUpOworCitLSFJQYXJhbGxlbFNoYWRl
ckNvbXBpbGU6OktIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZShXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlJiBjb250ZXh0KQorICAgIDogV2ViR0xFeHRlbnNpb24oY29udGV4dCkKK3sKKyAgICBjb250
ZXh0LmdyYXBoaWNzQ29udGV4dEdMKCktPmdldEV4dGVuc2lvbnMoKS5lbnN1cmVFbmFibGVkKCJH
TF9LSFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUiX3MpOworfQorCitLSFJQYXJhbGxlbFNoYWRl
ckNvbXBpbGU6On5LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUoKSA9IGRlZmF1bHQ7CisKK1dlYkdM
RXh0ZW5zaW9uOjpFeHRlbnNpb25OYW1lIEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZTo6Z2V0TmFt
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZU5hbWU7Cit9
CisKK2Jvb2wgS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlOjpzdXBwb3J0ZWQoY29uc3QgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZSYgY29udGV4dCkKK3sKKyAgICByZXR1cm4gY29udGV4dC5ncmFw
aGljc0NvbnRleHRHTCgpLT5nZXRFeHRlbnNpb25zKCkuc3VwcG9ydHMoIkdMX0tIUl9wYXJhbGxl
bF9zaGFkZXJfY29tcGlsZSJfcyk7Cit9CisgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4NzM0NzExMWE0
MzYyZDY0NWI4NjZjNDg4NjA3NzE0MTFkM2UyNGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaApAQCAtMCwwICsx
LDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICog
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIldlYkdMRXh0ZW5zaW9uLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgS0hSUGFyYWxsZWxTaGFkZXJDb21waWxl
IGZpbmFsIDogcHVibGljIFdlYkdMRXh0ZW5zaW9uIHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEKEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZSk7CitwdWJsaWM6CisgICAgZXhwbGljaXQgS0hS
UGFyYWxsZWxTaGFkZXJDb21waWxlKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmKTsKKyAgICB2
aXJ0dWFsIH5LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUoKTsKKworICAgIEV4dGVuc2lvbk5hbWUg
Z2V0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOworCisgICAgc3RhdGljIGJvb2wgc3VwcG9ydGVkKGNv
bnN0IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0tIUlBhcmFsbGVs
U2hhZGVyQ29tcGlsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9LSFJQYXJhbGxl
bFNoYWRlckNvbXBpbGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMwNmM5Y2Y2YzM3OGQ3ZjYyOWMxNTM0ZTg3
OGJhMDQ0MGI3YzY5ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisq
IENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyoKKyogMS4gIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCisqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GCisqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCitbCisgICAgTGVnYWN5Tm9JbnRlcmZh
Y2VPYmplY3QsCisgICAgQ29uZGl0aW9uYWw9V0VCR0wsCisgICAgR2VuZXJhdGVJc1JlYWNoYWJs
ZT1JbXBsV2ViR0xSZW5kZXJpbmdDb250ZXh0CitdIGludGVyZmFjZSBLSFJQYXJhbGxlbFNoYWRl
ckNvbXBpbGUgeworICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgQ09NUExFVElPTl9TVEFUVVNfS0hS
ID0gMHg5MUIxOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMMlJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0wyUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggNTViYzFmOGRiMjQ5ZDMzODIyZTc4ODljYTc4
M2Y1YmVjMDI1YTI5OS4uYzYzMGEwNzAwNWI5MjNjMGEwMmNjNGNlOGYwYTY2ZjIzNTYzNTVhMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5n
Q29udGV4dC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJJbWFnZUJpdG1hcC5oIgog
I2luY2x1ZGUgIkltYWdlRGF0YS5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oIgorI2luY2x1ZGUgIktIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5oIgogI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKICNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCIKICNpbmNsdWRlICJS
ZW5kZXJCb3guaCIKQEAgLTI2NzEsNiArMjY3Miw3IEBAIFdlYkdMRXh0ZW5zaW9uKiBXZWJHTDJS
ZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBuYW1lKQogICAgIEVO
QUJMRV9JRl9SRVFVRVNURUQoRVhUQ29sb3JCdWZmZXJGbG9hdCwgbV9leHRDb2xvckJ1ZmZlckZs
b2F0LCAiRVhUX2NvbG9yX2J1ZmZlcl9mbG9hdCIsIEVYVENvbG9yQnVmZmVyRmxvYXQ6OnN1cHBv
cnRlZCgqdGhpcykpOwogICAgIEVOQUJMRV9JRl9SRVFVRVNURUQoRVhUQ29sb3JCdWZmZXJIYWxm
RmxvYXQsIG1fZXh0Q29sb3JCdWZmZXJIYWxmRmxvYXQsICJFWFRfY29sb3JfYnVmZmVyX2hhbGZf
ZmxvYXQiLCBFWFRDb2xvckJ1ZmZlckhhbGZGbG9hdDo6c3VwcG9ydGVkKCp0aGlzKSk7CiAgICAg
RU5BQkxFX0lGX1JFUVVFU1RFRChFWFRGbG9hdEJsZW5kLCBtX2V4dEZsb2F0QmxlbmQsICJFWFRf
ZmxvYXRfYmxlbmQiLCBFWFRGbG9hdEJsZW5kOjpzdXBwb3J0ZWQoKnRoaXMpKTsKKyAgICBFTkFC
TEVfSUZfUkVRVUVTVEVEKEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZSwgbV9raHJQYXJhbGxlbFNo
YWRlckNvbXBpbGUsICJLSFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUiLCBLSFJQYXJhbGxlbFNo
YWRlckNvbXBpbGU6OnN1cHBvcnRlZCgqdGhpcykpOwogICAgIHJldHVybiBudWxscHRyOwogfQog
CkBAIC0yNzE3LDYgKzI3MTksOCBAQCBPcHRpb25hbDxWZWN0b3I8U3RyaW5nPj4gV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6Z2V0U3VwcG9ydGVkRXh0ZW5zaW9ucygpCiAgICAgICAgIHJlc3VsdC5h
cHBlbmQoIkVYVF9jb2xvcl9idWZmZXJfaGFsZl9mbG9hdCJfcyk7CiAgICAgaWYgKEVYVEZsb2F0
QmxlbmQ6OnN1cHBvcnRlZCgqdGhpcykpCiAgICAgICAgIHJlc3VsdC5hcHBlbmQoIkVYVF9mbG9h
dF9ibGVuZCJfcyk7CisgICAgaWYgKEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZTo6c3VwcG9ydGVk
KCp0aGlzKSkKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgiS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21w
aWxlIl9zKTsKIAogICAgIHJldHVybiByZXN1bHQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xFeHRlbnNpb24uaAppbmRleCA0NDBkNGI5NTQ3OTQzM2NmZmUxOWIyYWU2MTQ1
YWQwOTk4NWI2YmQ3Li41ODAwYTcxMzEzYmNmOGEwNGRmNTZhZjE3MmIwOGZmNTkwYzkxNzE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKQEAgLTQ0LDYg
KzQ0LDcgQEAgcHVibGljOgogICAgICAgICBFWFRUZXh0dXJlQ29tcHJlc3Npb25SR1RDTmFtZSwK
ICAgICAgICAgRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljTmFtZSwKICAgICAgICAgRVhUc1JH
Qk5hbWUsCisgICAgICAgIEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZU5hbWUsCiAgICAgICAgIE9F
U1RleHR1cmVGbG9hdE5hbWUsCiAgICAgICAgIE9FU1RleHR1cmVGbG9hdExpbmVhck5hbWUsCiAg
ICAgICAgIE9FU1RleHR1cmVIYWxmRmxvYXROYW1lLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggNjkzZDYyMDZmMmM5
MGY5NWZkYTk3M2I5OThlYjk2NDY3ZGNmZWE5Ny4uMDdkZmNhM2UxZDk4YTliMTA3ODAzMjE5MmI2
NDg4ODQ0ZDc2Y2RhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSAiSFRN
TFZpZGVvRWxlbWVudC5oIgogI2luY2x1ZGUgIkltYWdlRGF0YS5oIgogI2luY2x1ZGUgIkluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1ZGUgIktIUlBhcmFsbGVsU2hhZGVyQ29tcGls
ZS5oIgogI2luY2x1ZGUgIk9FU0VsZW1lbnRJbmRleFVpbnQuaCIKICNpbmNsdWRlICJPRVNGQk9S
ZW5kZXJNaXBtYXAuaCIKICNpbmNsdWRlICJPRVNTdGFuZGFyZERlcml2YXRpdmVzLmgiCkBAIC0x
NTUsNiArMTU2LDcgQEAgV2ViR0xFeHRlbnNpb24qIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0
RXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICB9CiAgICAgRU5BQkxFX0lGX1JFUVVF
U1RFRChFWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMsIG1fZXh0VGV4dHVyZUZpbHRlckFuaXNv
dHJvcGljLCAiRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIiwgZW5hYmxlU3VwcG9ydGVk
RXh0ZW5zaW9uKCJHTF9FWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiX3MpKTsKICAgICBF
TkFCTEVfSUZfUkVRVUVTVEVEKEVYVFRleHR1cmVDb21wcmVzc2lvblJHVEMsIG1fZXh0VGV4dHVy
ZUNvbXByZXNzaW9uUkdUQywgIkVYVF90ZXh0dXJlX2NvbXByZXNzaW9uX3JndGMiLCBlbmFibGVT
dXBwb3J0ZWRFeHRlbnNpb24oIkdMX0VYVF90ZXh0dXJlX2NvbXByZXNzaW9uX3JndGMiX3MpKTsK
KyAgICBFTkFCTEVfSUZfUkVRVUVTVEVEKEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZSwgbV9raHJQ
YXJhbGxlbFNoYWRlckNvbXBpbGUsICJLSFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUiLCBLSFJQ
YXJhbGxlbFNoYWRlckNvbXBpbGU6OnN1cHBvcnRlZCgqdGhpcykpOwogICAgIEVOQUJMRV9JRl9S
RVFVRVNURUQoT0VTU3RhbmRhcmREZXJpdmF0aXZlcywgbV9vZXNTdGFuZGFyZERlcml2YXRpdmVz
LCAiT0VTX3N0YW5kYXJkX2Rlcml2YXRpdmVzIiwgZW5hYmxlU3VwcG9ydGVkRXh0ZW5zaW9uKCJH
TF9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMiX3MpKTsKICAgICBFTkFCTEVfSUZfUkVRVUVTVEVE
KE9FU1RleHR1cmVGbG9hdCwgbV9vZXNUZXh0dXJlRmxvYXQsICJPRVNfdGV4dHVyZV9mbG9hdCIs
IE9FU1RleHR1cmVGbG9hdDo6c3VwcG9ydGVkKCp0aGlzKSk7CiAgICAgRU5BQkxFX0lGX1JFUVVF
U1RFRChPRVNUZXh0dXJlRmxvYXRMaW5lYXIsIG1fb2VzVGV4dHVyZUZsb2F0TGluZWFyLCAiT0VT
X3RleHR1cmVfZmxvYXRfbGluZWFyIiwgZW5hYmxlU3VwcG9ydGVkRXh0ZW5zaW9uKCJHTF9PRVNf
dGV4dHVyZV9mbG9hdF9saW5lYXIiX3MpKTsKQEAgLTI3NSw2ICsyNzcsOCBAQCBPcHRpb25hbDxW
ZWN0b3I8U3RyaW5nPj4gV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRTdXBwb3J0ZWRFeHRlbnNp
b25zKCkKICAgICAgICAgcmVzdWx0LmFwcGVuZCgiRVhUX2Zsb2F0X2JsZW5kIl9zKTsKICAgICBp
ZiAoV2ViR0xDb2xvckJ1ZmZlckZsb2F0OjpzdXBwb3J0ZWQoKnRoaXMpKQogICAgICAgICByZXN1
bHQuYXBwZW5kKCJXRUJHTF9jb2xvcl9idWZmZXJfZmxvYXQiX3MpOworICAgIGlmIChLSFJQYXJh
bGxlbFNoYWRlckNvbXBpbGU6OnN1cHBvcnRlZCgqdGhpcykpCisgICAgICAgIHJlc3VsdC5hcHBl
bmQoIktIUl9wYXJhbGxlbF9zaGFkZXJfY29tcGlsZSIpOwogCiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZS5jcHAKaW5kZXggMTg1ZThjNjJlNmZiZTMxZjMxMzg4YzBjOWY4MGQ4MWNl
ZTI0YTNiMS4uOTk0NmQyMjUwNDdmNWYyNjY1YzcxYTEwYWRlMDJmMTVkNjJjOWZlYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5jcHAKQEAgLTYxLDYgKzYxLDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiSlNFeGVjU3RhdGUu
aCIKKyNpbmNsdWRlICJLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaCIKICNpbmNsdWRlICJMb2dn
aW5nLmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yV2ViWFIuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgpAQCAtMzE3OSw3ICszMTgwLDE0IEBAIFdlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U6OmdldFBhcmFtZXRlcihHQ0dMZW51bSBwbmFtZSkKIAogV2ViR0xBbnkgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0UHJvZ3JhbVBhcmFtZXRlcihXZWJHTFByb2dyYW0mIHBy
b2dyYW0sIEdDR0xlbnVtIHBuYW1lKQogewotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5n
KCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldFByb2dyYW1QYXJhbWV0ZXIi
LCAmcHJvZ3JhbSkpCisgICAgLy8gQ09NUExFVElPTl9TVEFUVVNfS0hSIHNob3VsZCBhbHdheXMg
cmV0dXJuIHRydWUgaWYgdGhlIGNvbnRleHQgaXMgbG9zdCwgc28gYXBwbGljYXRpb25zCisgICAg
Ly8gZG9uJ3QgZ2V0IHN0dWNrIGluIGFuIGluZmluaXRlIHBvbGxpbmcgbG9vcC4KKyAgICBpZiAo
aXNDb250ZXh0TG9zdE9yUGVuZGluZygpKSB7CisgICAgICAgIGlmIChwbmFtZSA9PSBFeHRlbnNp
b25zR0w6OkNPTVBMRVRJT05fU1RBVFVTX0tIUikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisgICAgaWYgKCF2YWxpZGF0ZVdlYkdMUHJv
Z3JhbU9yU2hhZGVyKCJnZXRQcm9ncmFtUGFyYW1ldGVyIiwgJnByb2dyYW0pKQogICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKIAogICAgIHN3aXRjaCAocG5hbWUpIHsKQEAgLTMyMDIsNiArMzIxMCwx
MSBAQCBXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRQcm9ncmFtUGFyYW1l
dGVyKFdlYkdMUHJvZ3JhbSYgcHJvZ3JhbSwgRwogICAgICAgICAgICAgcmV0dXJuIHZhbHVlOwog
ICAgICAgICB9CiAjZW5kaWYgLy8gVVNFKEFOR0xFKQorICAgIGNhc2UgRXh0ZW5zaW9uc0dMOjpD
T01QTEVUSU9OX1NUQVRVU19LSFI6CisgICAgICAgIGlmIChtX2toclBhcmFsbGVsU2hhZGVyQ29t
cGlsZSkKKyAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxib29sPihtX2NvbnRleHQtPmdl
dFByb2dyYW1pKHByb2dyYW0ub2JqZWN0KCksIHBuYW1lKSk7CisgICAgICAgIHN5bnRoZXNpemVH
TEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX0VOVU0sICJnZXRQcm9ncmFtUGFyYW1l
dGVyIiwgIktIUl9wYXJhbGxlbF9zaGFkZXJfY29tcGlsZSBub3QgZW5hYmxlZCIpOworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICBkZWZhdWx0OgogI2lmIEVOQUJMRShXRUJHTDIpCiAgICAg
ICAgIGlmIChpc1dlYkdMMigpKSB7CkBAIC0zMjk4LDggKzMzMTEsMTYgQEAgV2ViR0xBbnkgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKEdDR0xlbnVt
IHRhcmdldCwgR0MKIAogV2ViR0xBbnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0U2hh
ZGVyUGFyYW1ldGVyKFdlYkdMU2hhZGVyJiBzaGFkZXIsIEdDR0xlbnVtIHBuYW1lKQogewotICAg
IGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JT
aGFkZXIoImdldFNoYWRlclBhcmFtZXRlciIsICZzaGFkZXIpKQorICAgIC8vIENPTVBMRVRJT05f
U1RBVFVTX0tIUiBzaG91bGQgYWx3YXlzIHJldHVybiB0cnVlIGlmIHRoZSBjb250ZXh0IGlzIGxv
c3QsIHNvIGFwcGxpY2F0aW9ucworICAgIC8vIGRvbid0IGdldCBzdHVjayBpbiBhbiBpbmZpbml0
ZSBwb2xsaW5nIGxvb3AuCisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSkgeworICAg
ICAgICBpZiAocG5hbWUgPT0gRXh0ZW5zaW9uc0dMOjpDT01QTEVUSU9OX1NUQVRVU19LSFIpCisg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQor
ICAgIGlmICghdmFsaWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigiZ2V0U2hhZGVyUGFyYW1ldGVy
IiwgJnNoYWRlcikpCiAgICAgICAgIHJldHVybiBudWxscHRyOworCiAgICAgc3dpdGNoIChwbmFt
ZSkgewogICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkRFTEVURV9TVEFUVVM6CiAgICAgICAg
IHJldHVybiBzaGFkZXIuaXNEZWxldGVkKCk7CkBAIC0zMzA3LDYgKzMzMjgsMTEgQEAgV2ViR0xB
bnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0U2hhZGVyUGFyYW1ldGVyKFdlYkdMU2hh
ZGVyJiBzaGFkZXIsIEdDR0wKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGJvb2w+KG1fY29u
dGV4dC0+Z2V0U2hhZGVyaShzaGFkZXIub2JqZWN0KCksIHBuYW1lKSk7CiAgICAgY2FzZSBHcmFw
aGljc0NvbnRleHRHTDo6U0hBREVSX1RZUEU6CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4obV9jb250ZXh0LT5nZXRTaGFkZXJpKHNoYWRlci5vYmplY3QoKSwgcG5hbWUpKTsK
KyAgICBjYXNlIEV4dGVuc2lvbnNHTDo6Q09NUExFVElPTl9TVEFUVVNfS0hSOgorICAgICAgICBp
ZiAobV9raHJQYXJhbGxlbFNoYWRlckNvbXBpbGUpCisgICAgICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8Ym9vbD4obV9jb250ZXh0LT5nZXRTaGFkZXJpKHNoYWRlci5vYmplY3QoKSwgcG5hbWUp
KTsKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURf
RU5VTSwgImdldFNoYWRlclBhcmFtZXRlciIsICJLSFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUg
bm90IGVuYWJsZWQiKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgZGVmYXVsdDoKICAg
ICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfRU5VTSwg
ImdldFNoYWRlclBhcmFtZXRlciIsICJpbnZhbGlkIHBhcmFtZXRlciBuYW1lIik7CiAgICAgICAg
IHJldHVybiBudWxscHRyOwpAQCAtMzcwMiw2ICszNzI4LDcgQEAgYm9vbCBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpleHRlbnNpb25Jc0VuYWJsZWQoY29uc3QgU3RyaW5nJiBuYW1lKQogICAg
IENIRUNLX0VYVEVOU0lPTihtX2V4dFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYywgIkVYVF90ZXh0
dXJlX2ZpbHRlcl9hbmlzb3Ryb3BpYyIpOwogICAgIENIRUNLX0VYVEVOU0lPTihtX2V4dFRleHR1
cmVGaWx0ZXJBbmlzb3Ryb3BpYywgIldFQktJVF9FWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9w
aWMiKTsKICAgICBDSEVDS19FWFRFTlNJT04obV9leHRTaGFkZXJUZXh0dXJlTE9ELCAiRVhUX3No
YWRlcl90ZXh0dXJlX2xvZCIpOworICAgIENIRUNLX0VYVEVOU0lPTihtX2toclBhcmFsbGVsU2hh
ZGVyQ29tcGlsZSwgIktIUl9wYXJhbGxlbF9zaGFkZXJfY29tcGlsZSIpOwogICAgIENIRUNLX0VY
VEVOU0lPTihtX29lc1RleHR1cmVGbG9hdCwgIk9FU190ZXh0dXJlX2Zsb2F0Iik7CiAgICAgQ0hF
Q0tfRVhURU5TSU9OKG1fb2VzVGV4dHVyZUZsb2F0TGluZWFyLCAiT0VTX3RleHR1cmVfZmxvYXRf
bGluZWFyIik7CiAgICAgQ0hFQ0tfRVhURU5TSU9OKG1fb2VzVGV4dHVyZUhhbGZGbG9hdCwgIk9F
U190ZXh0dXJlX2hhbGZfZmxvYXQiKTsKQEAgLTc3OTUsNiArNzgyMiw3IEBAIHZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6bG9zZUV4dGVuc2lvbnMoTG9zdENvbnRleHRNb2RlIG1vZGUp
CiAgICAgTE9TRV9FWFRFTlNJT04obV9leHRUZXh0dXJlQ29tcHJlc3Npb25SR1RDKTsKICAgICBM
T1NFX0VYVEVOU0lPTihtX2V4dFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYyk7CiAgICAgTE9TRV9F
WFRFTlNJT04obV9leHRTaGFkZXJUZXh0dXJlTE9EKTsKKyAgICBMT1NFX0VYVEVOU0lPTihtX2to
clBhcmFsbGVsU2hhZGVyQ29tcGlsZSk7CiAgICAgTE9TRV9FWFRFTlNJT04obV9vZXNUZXh0dXJl
RmxvYXQpOwogICAgIExPU0VfRVhURU5TSU9OKG1fb2VzVGV4dHVyZUZsb2F0TGluZWFyKTsKICAg
ICBMT1NFX0VYVEVOU0lPTihtX29lc1RleHR1cmVIYWxmRmxvYXQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCmluZGV4
IGE3MWQwMzZhYTBkZWE1MmI0NTc5MDlmYmZmZGMzYWRmODBmNTEwY2MuLjk5NWQ0M2NiYzRlMjcw
YTA1NWUyZDZjODMwMDYwOWZiMGYwZjZmZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKQEAgLTgwLDYgKzgwLDcg
QEAgY2xhc3MgRVhURnJhZ0RlcHRoOwogY2xhc3MgSFRNTEltYWdlRWxlbWVudDsKIGNsYXNzIElt
YWdlRGF0YTsKIGNsYXNzIEludFNpemU7CitjbGFzcyBLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGU7
CiBjbGFzcyBPRVNTdGFuZGFyZERlcml2YXRpdmVzOwogY2xhc3MgT0VTVGV4dHVyZUZsb2F0Owog
Y2xhc3MgT0VTVGV4dHVyZUZsb2F0TGluZWFyOwpAQCAtNjc0LDYgKzY3NSw3IEBAIHByb3RlY3Rl
ZDoKICAgICBSZWZQdHI8RVhUVGV4dHVyZUNvbXByZXNzaW9uUkdUQz4gbV9leHRUZXh0dXJlQ29t
cHJlc3Npb25SR1RDOwogICAgIFJlZlB0cjxFWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWM+IG1f
ZXh0VGV4dHVyZUZpbHRlckFuaXNvdHJvcGljOwogICAgIFJlZlB0cjxFWFRTaGFkZXJUZXh0dXJl
TE9EPiBtX2V4dFNoYWRlclRleHR1cmVMT0Q7CisgICAgUmVmUHRyPEtIUlBhcmFsbGVsU2hhZGVy
Q29tcGlsZT4gbV9raHJQYXJhbGxlbFNoYWRlckNvbXBpbGU7CiAgICAgUmVmUHRyPE9FU1RleHR1
cmVGbG9hdD4gbV9vZXNUZXh0dXJlRmxvYXQ7CiAgICAgUmVmUHRyPE9FU1RleHR1cmVGbG9hdExp
bmVhcj4gbV9vZXNUZXh0dXJlRmxvYXRMaW5lYXI7CiAgICAgUmVmUHRyPE9FU1RleHR1cmVIYWxm
RmxvYXQ+IG1fb2VzVGV4dHVyZUhhbGZGbG9hdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnNHTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRXh0ZW5zaW9uc0dMLmgKaW5kZXggYmE4NjViMzMwOGU2Yzk0NTgyMjEyMjM3
Nzk2ZDZmZDU3NzQ4NDdmOC4uMWZjODU5MTE3YjRlMzI0YWFmOGZkZWI5ZDJmNjQzMjdkOTQ0OGQ4
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9u
c0dMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uc0dM
LmgKQEAgLTI2Myw3ICsyNjMsMTAgQEAgcHVibGljOgogICAgICAgICBDT0xPUl9BVFRBQ0hNRU5U
MTJfRVhUID0gMHg4Q0VDLAogICAgICAgICBDT0xPUl9BVFRBQ0hNRU5UMTNfRVhUID0gMHg4Q0VE
LAogICAgICAgICBDT0xPUl9BVFRBQ0hNRU5UMTRfRVhUID0gMHg4Q0VFLAotICAgICAgICBDT0xP
Ul9BVFRBQ0hNRU5UMTVfRVhUID0gMHg4Q0VGCisgICAgICAgIENPTE9SX0FUVEFDSE1FTlQxNV9F
WFQgPSAweDhDRUYsCisKKyAgICAgICAgLy8gR0xfS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21waWxl
CisgICAgICAgIENPTVBMRVRJT05fU1RBVFVTX0tIUiA9IDB4OTFCMSwKICAgICB9OwogCiAgICAg
Ly8gV2ViR0wgZnVuY3Rpb25zIGluIGZvcm1hdCBnZW5lcmF0ZS1ncHVwLXdlYmdsIHVuZGVyc3Rh
bmRzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDkxNmQ0OTI5ZjdlZWQwNDhjMjgyMDA0NTU1ZGQyZTgxZGU3NGQyYjQuLmVm
MzI1M2ZmNTM1MjFkM2IyMWZiNDlmOGI1ZTlkYTFhYzRhNzYwZWMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAyMC0xMS0yNCAgSmFtZXMgRGFycGluaWFuICA8amRhcnBpbmlhbkBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgU3VwcG9ydCBLSFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTI2NgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvZXh0ZW5zaW9ucy9raHItcGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9leHRlbnNpb25zL2toci1wYXJh
bGxlbC1zaGFkZXItY29tcGlsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9leHRlbnNpb25zL2toci1wYXJhbGxlbC1z
aGFkZXItY29tcGlsZS5odG1sOiBBZGRlZC4KKwogMjAyMC0xMS0yMSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFBvb3IgcmVzYW1wbGluZyBxdWFsaXR5IHdoZW4g
dXNpbmcgQXVkaW9Db250ZXh0IHNhbXBsZVJhdGUgcGFyYW1ldGVyCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9leHRlbnNpb25zL2toci1wYXJhbGxlbC1zaGFkZXIt
Y29tcGlsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9leHRl
bnNpb25zL2toci1wYXJhbGxlbC1zaGFkZXItY29tcGlsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzU5Mzg2MTkxNDVlYWRjZmE5NzcyYzE2MWUyNWE0Mzk0OGUwZWI5MQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMva2hyLXBhcmFs
bGVsLXNoYWRlci1jb21waWxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1RoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9leHRlbnNpb25zL2toci1wYXJhbGxlbC1zaGFkZXItY29tcGlsZS5odG1s
CitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9leHRlbnNp
b25zL2toci1wYXJhbGxlbC1zaGFkZXItY29tcGlsZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9raHItcGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jZmU4N2Q1YmFhMmZiNDJjZmFmMzYxOGQ5NzA3ZWEyNDIwMzUxY2ZhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9r
aHItcGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRo
aXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8g
Tk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBr
aHItcGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9leHRlbnNpb25zL2toci1w
YXJhbGxlbC1zaGFkZXItY29tcGlsZS5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9leHRlbnNpb25zL2toci1wYXJhbGxlbC1zaGFkZXItY29tcGlsZS5o
dG1sPC9hPgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9leHRlbnNpb25zL2toci1wYXJhbGxlbC1zaGFk
ZXItY29tcGlsZS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rp
dj4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9leHRlbnNpb25zL2toci1wYXJhbGxlbC1zaGFkZXItY29tcGlsZS5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9u
cy9raHItcGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZGMwN2IwYjc4
YmNiYWMxNzhmM2U2NjdjM2QyZGVhYjlhM2QyNmY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5z
aW9ucy9raHItcGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUuaHRtbApAQCAtMCwwICsxLDkzIEBACis8
IS0tCitDb3B5cmlnaHQgKGMpIDIwMjAgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorVXNlIG9mIHRo
aXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBj
YW4gYmUKK2ZvdW5kIGluIHRoZSBMSUNFTlNFLnR4dCBmaWxlLgorLS0+CisKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vanMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKworPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJUZXN0IEtIUl9wYXJh
bGxlbF9zaGFkZXJfY29tcGlsZSIpOworCitjb25zdCB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKwor
Y29uc3QgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCk7Citjb25zdCBsb3NlQ29udGV4dCA9IHd0
dS5nZXRFeHRlbnNpb25XaXRoS25vd25QcmVmaXhlcyhnbCwgIldFQkdMX2xvc2VfY29udGV4dCIp
OworCitsZXQgY291bnRlciA9IDA7Citjb25zdCB2ZXJ0ZXhTb3VyY2UgPSAoKSA9PiBgCit2b2lk
IG1haW4oKSB7CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KCR7Y291bnRlcisrfSwgMSwgMSwgMSk7
Cit9YDsKK2NvbnN0IGZyYWdtZW50U291cmNlID0gKCkgPT4gYAordm9pZCBtYWluKCkgeworICAg
IGdsX0ZyYWdDb2xvciA9IHZlYzQoMC4ke2NvdW50ZXIrK30sIDEsIDEsIDEpOworfWA7CisKK2Nv
bnN0IHZzID0gZ2wuY3JlYXRlU2hhZGVyKGdsLlZFUlRFWF9TSEFERVIpOworY29uc3QgZnMgPSBn
bC5jcmVhdGVTaGFkZXIoZ2wuRlJBR01FTlRfU0hBREVSKTsKK2NvbnN0IHByb2dyYW0gPSBnbC5j
cmVhdGVQcm9ncmFtKCk7CitnbC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgdnMpOworZ2wuYXR0YWNo
U2hhZGVyKHByb2dyYW0sIGZzKTsKKworY29uc3QgQ09NUExFVElPTl9TVEFUVVNfS0hSID0gMHg5
MUIxOworCitnbC5zaGFkZXJTb3VyY2UodnMsIHZlcnRleFNvdXJjZSgpKTsKK2dsLmNvbXBpbGVT
aGFkZXIodnMpOworbGV0IHN0YXR1cyA9IGdsLmdldFNoYWRlclBhcmFtZXRlcih2cywgQ09NUExF
VElPTl9TVEFUVVNfS0hSKTsKK2lmIChzdGF0dXMgIT09IG51bGwpIHRlc3RGYWlsZWQoJ0V4dGVu
c2lvbiBkaXNhYmxlZCwgc3RhdHVzIHNob3VsZCBiZSBudWxsJyk7Cit3dHUuZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5JTlZBTElEX0VOVU0sICJleHRlbnNpb24gZGlzYWJsZWQiKTsKKworZ2wuc2hh
ZGVyU291cmNlKGZzLCBmcmFnbWVudFNvdXJjZSgpKTsKK2dsLmNvbXBpbGVTaGFkZXIoZnMpOwor
CitnbC5saW5rUHJvZ3JhbShwcm9ncmFtKTsKK3N0YXR1cyA9IGdsLmdldFByb2dyYW1QYXJhbWV0
ZXIocHJvZ3JhbSwgQ09NUExFVElPTl9TVEFUVVNfS0hSKTsKK2lmIChzdGF0dXMgIT09IG51bGwp
IHRlc3RGYWlsZWQoJ0V4dGVuc2lvbiBkaXNhYmxlZCwgc3RhdHVzIHNob3VsZCBiZSBudWxsJyk7
Cit3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0VOVU0sICJleHRlbnNpb24gZGlz
YWJsZWQiKTsKKworY29uc3QgZXh0ID0gd3R1LmdldEV4dGVuc2lvbldpdGhLbm93blByZWZpeGVz
KGdsLCAiS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21waWxlIik7CitpZiAoIWV4dCkgeworICAgIHRl
c3RQYXNzZWQoIk5vIEtIUl9wYXJhbGxlbF9zaGFkZXJfY29tcGlsZSBzdXBwb3J0IC0tIHRoaXMg
aXMgbGVnYWwiKTsKK30gZWxzZSB7CisgICAgdGVzdFBhc3NlZCgiU3VjY2Vzc2Z1bGx5IGVuYWJs
ZWQgS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21waWxlIGV4dGVuc2lvbiIpOworCisgICAgc2hvdWxk
QmUoImV4dC5DT01QTEVUSU9OX1NUQVRVU19LSFIiLCAiMHg5MUIxIik7CisKKyAgICBkZWJ1Zygi
Q2hlY2tpbmcgdGhhdCBzdGF0dXMgaXMgYSBib29sZWFuLiIpOworICAgIGdsLnNoYWRlclNvdXJj
ZSh2cywgdmVydGV4U291cmNlKCkpOworICAgIGdsLmNvbXBpbGVTaGFkZXIodnMpOworICAgIGxl
dCBzdGF0dXMgPSBnbC5nZXRTaGFkZXJQYXJhbWV0ZXIodnMsIENPTVBMRVRJT05fU1RBVFVTX0tI
Uik7CisgICAgaWYgKHN0YXR1cyAhPT0gdHJ1ZSAmJiBzdGF0dXMgIT09IGZhbHNlKSB0ZXN0RmFp
bGVkKCJzdGF0dXMgc2hvdWxkIGJlIGEgYm9vbGVhbiIpOworCisgICAgZ2wubGlua1Byb2dyYW0o
cHJvZ3JhbSk7CisgICAgc3RhdHVzID0gZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9ncmFtLCBD
T01QTEVUSU9OX1NUQVRVU19LSFIpOworICAgIGlmIChzdGF0dXMgIT09IHRydWUgJiYgc3RhdHVz
ICE9PSBmYWxzZSkgdGVzdEZhaWxlZCgic3RhdHVzIHNob3VsZCBiZSBhIGJvb2xlYW4iKTsKKwor
ICAgIGRlYnVnKCJDaGVja2luZyB0aGF0IHN0YXR1cyBpcyB0cnVlIHdoZW4gY29udGV4dCBpcyBs
b3N0LiIpOworICAgIGlmIChsb3NlQ29udGV4dCkgeworICAgICAgICBsb3NlQ29udGV4dC5sb3Nl
Q29udGV4dCgpOworICAgICAgICBzdGF0dXMgPSBnbC5nZXRTaGFkZXJQYXJhbWV0ZXIodnMsIENP
TVBMRVRJT05fU1RBVFVTX0tIUik7CisgICAgICAgIGlmIChzdGF0dXMgIT09IHRydWUpIHRlc3RG
YWlsZWQoInN0YXR1cyBzaG91bGQgYmUgdHJ1ZSB3aGVuIGNvbnRleHQgaXMgbG9zdCIpOworICAg
ICAgICBzdGF0dXMgPSBnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2dyYW0sIENPTVBMRVRJT05f
U1RBVFVTX0tIUik7CisgICAgICAgIGlmIChzdGF0dXMgIT09IHRydWUpIHRlc3RGYWlsZWQoInN0
YXR1cyBzaG91bGQgYmUgdHJ1ZSB3aGVuIGNvbnRleHQgaXMgbG9zdCIpOworICAgIH0KK30KKwor
Y29uc3Qgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414856</attachid>
            <date>2020-11-24 16:01:46 -0800</date>
            <delta_ts>2020-11-24 16:07:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219266-20201124160145.patch</filename>
            <type>text/plain</type>
            <size>34036</size>
            <attacher name="James Darpinian">jdarpinian</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzg2MjhkNmE5OGJkMjA4
NWExZDY5NTcxMmQxZGM3MjIwZTdkNzMwMy4uZWEwNmFmZWIxNDhlMjBhZDBhNDdiMGJjYmQ1NTE0
YzU5ZGRjZDU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTExLTI0ICBKYW1l
cyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBTdXBwb3J0
IEtIUl9wYXJhbGxlbF9zaGFkZXJfY29tcGlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MjY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGVzdGVkIGJ5IHdlYmdsL2NvbmZvcm1hbmNlL2V4dGVuc2lv
bnMva2hyLXBhcmFsbGVsLXNoYWRlci1jb21waWxlLmh0bWwKKworICAgICAgICAqIENNYWtlTGlz
dHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01D
b252ZXJ0V2ViR0wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29udmVydFRvSlNWYWx1ZSk6Cisg
ICAgICAgICogaHRtbC9jYW52YXMvS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGU6OktIUlBhcmFsbGVs
U2hhZGVyQ29tcGlsZSk6CisgICAgICAgIChXZWJDb3JlOjpLSFJQYXJhbGxlbFNoYWRlckNvbXBp
bGU6OmdldE5hbWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6S0hSUGFyYWxsZWxTaGFkZXJD
b21waWxlOjpzdXBwb3J0ZWQpOgorICAgICAgICAqIGh0bWwvY2FudmFzL0tIUlBhcmFsbGVsU2hh
ZGVyQ29tcGlsZS5oOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNo
YWRlckNvbXBpbGUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTDJSZW5k
ZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRl
eHQ6OmdldEV4dGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250
ZXh0OjpnZXRTdXBwb3J0ZWRFeHRlbnNpb25zKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJH
TEV4dGVuc2lvbi5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEV4dGVu
c2lvbik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFN1cHBv
cnRlZEV4dGVuc2lvbnMpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6Z2V0UHJvZ3JhbVBhcmFtZXRlcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpnZXRTaGFkZXJQYXJhbWV0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6ZXh0ZW5zaW9uSXNFbmFibGVkKToKKyAgICAgICAgKFdl
YkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VFeHRlbnNpb25zKToKKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uc0dMLmg6CisKIDIwMjAtMTEtMjEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBQb29yIHJlc2FtcGxpbmcgcXVhbGl0
eSB3aGVuIHVzaW5nIEF1ZGlvQ29udGV4dCBzYW1wbGVSYXRlIHBhcmFtZXRlcgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCA2ODNiZTUzZjM2MzgyYWNhZWViOTg0YTg0Y2Q2MGZkMjcyODc0NDZjLi5j
ZWVhZGZlMjliMjhhNDFlMjYzN2U5NGM1NDE1MzBjOTI5YTU0ZTA0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtMTUxNSw2ICsxNTE1LDcgQEAgaWYgKEVOQUJMRV9XRUJHTCkKICAgICAgICAgaHRt
bC9jYW52YXMvRVhUVGV4dHVyZUNvbXByZXNzaW9uUkdUQy5jcHAKICAgICAgICAgaHRtbC9jYW52
YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcAogICAgICAgICBodG1sL2NhbnZhcy9F
WFRzUkdCLmNwcAorICAgICAgICBodG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUu
Y3BwCiAgICAgICAgIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuY3BwCiAgICAgICAg
IGh0bWwvY2FudmFzL09FU0ZCT1JlbmRlck1pcG1hcC5jcHAKICAgICAgICAgaHRtbC9jYW52YXMv
T0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAKQEAgLTE1NzQsNiArMTU3NSw3IEBAIGxpc3QoQVBQ
RU5EIFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUNvbXByZXNz
aW9uUkdUQy5pZGwKICAgICBodG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMu
aWRsCiAgICAgaHRtbC9jYW52YXMvRVhUc1JHQi5pZGwKKyAgICBodG1sL2NhbnZhcy9LSFJQYXJh
bGxlbFNoYWRlckNvbXBpbGUuaWRsCiAgICAgaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWlu
dC5pZGwKICAgICBodG1sL2NhbnZhcy9PRVNGQk9SZW5kZXJNaXBtYXAuaWRsCiAgICAgaHRtbC9j
YW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDQxNmY5N2U2NDNlODU5NTY0MzEwNGUy
NTg4Yjg5YmUyZDc2YjJmZWYuLmI1YmI5NDQ2YWQxZmY4ZWI1ZDVhMzI4ZWIxNGJjN2IwNGQxNDk0
MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlz
dApAQCAtOTg1LDYgKzk4NSw3IEBAICQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFzL0VYVHNSR0Iu
aWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9JbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRl
eHQuaWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9JbWFnZUJpdG1hcFJlbmRlcmluZ0Nv
bnRleHRTZXR0aW5ncy5pZGwKICQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFzL0ltYWdlU21vb3Ro
aW5nUXVhbGl0eS5pZGwKKyQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFzL0tIUlBhcmFsbGVsU2hh
ZGVyQ29tcGlsZS5pZGwKICQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRl
eFVpbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9PRVNGQk9SZW5kZXJNaXBtYXAu
aWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlk
bApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApp
bmRleCAyNTA1NWU1YjIwZjMwNzdiODM5Y2Y3Mjg2MGY4MzkyYTk2NDRmYzRjLi44OTRlMTY3MGJh
ODQ2M2UxNGE2MDkwNThhODYzYTEwNDNlMTU5Yzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTE5Myw2ICsxMTkzLDggQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNJdGVyYXRpb25Db21w
b3NpdGVPcGVyYXRpb24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0l0ZXJhdGlvbkNvbXBvc2l0ZU9wZXJhdGlvbi5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0pzb25XZWJLZXkuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0pzb25XZWJLZXkuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNLSFJQYXJhbGxlbFNoYWRl
ckNvbXBpbGUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0tleWJvYXJkRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0tleWJvYXJkRXZlbnQuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNLZXlmcmFtZUFuaW1hdGlvbk9w
dGlvbnMuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBiOTFmMzRmNTNlMmY0
YTZiNWM3ZTNiNjhiMDZiNTUxOTI4ZGFmNDgxLi5hMGFkMmU0NTgwOWFhMjZhODM0ZDZiNjVmMDJi
MzM4YjA5MDI0ODZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTkyOSw2ICs5
MjksNyBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMv
SW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2Nh
bnZhcy9JbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHRTZXR0aW5ncy5pZGwgXAogICAgICQoV2Vi
Q29yZSkvaHRtbC9jYW52YXMvSW1hZ2VTbW9vdGhpbmdRdWFsaXR5LmlkbCBcCisgICAgJChXZWJD
b3JlKS9odG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaWRsIFwKICAgICAkKFdl
YkNvcmUpL2h0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuaWRsIFwKICAgICAkKFdlYkNv
cmUpL2h0bWwvY2FudmFzL09FU0ZCT1JlbmRlck1pcG1hcC5pZGwgXAogICAgICQoV2ViQ29yZSkv
aHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRl
eCA0YTUxOTk1ZTQ5YzRlYjhmZmEyMDQ3YzFhYWY5M2FhNzJhZjA2MmY1Li42ODQ5N2ZmYWFlYzU0
YjdkNDY5YWE1YjU0ZTE0OTZkODdjY2U0ZThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTMwMCw2ICsx
MzAwLDcgQEAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcAogaHRt
bC9jYW52YXMvRVhUc1JHQi5jcHAKIGh0bWwvY2FudmFzL0dQVUJhc2VkQ2FudmFzUmVuZGVyaW5n
Q29udGV4dC5jcHAKIGh0bWwvY2FudmFzL0ltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dC5jcHAK
K2h0bWwvY2FudmFzL0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5jcHAKIGh0bWwvY2FudmFzL09F
U0VsZW1lbnRJbmRleFVpbnQuY3BwCiBodG1sL2NhbnZhcy9PRVNGQk9SZW5kZXJNaXBtYXAuY3Bw
CiBodG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcApAQCAtMjkyOCw2ICsyOTI5
LDcgQEAgSlNFWFRTaGFkZXJUZXh0dXJlTE9ELmNwcAogSlNFWFRUZXh0dXJlQ29tcHJlc3Npb25S
R1RDLmNwcAogSlNFWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuY3BwCiBKU0VYVHNSR0IuY3Bw
CitKU0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5jcHAKIEpTRWNLZXlQYXJhbXMuY3BwCiBKU0Vj
ZGhLZXlEZXJpdmVQYXJhbXMuY3BwCiBKU0VjZHNhUGFyYW1zLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZjYWZjMTFjN2Iw
NGFhZjQ0MTBkZDZhYzJkNDE0YTk4MmRiZTJiMjYuLmI4YTI3NjU2ZDMzYTQ2ZDgzMzlmNmY1ZWY3
Nzc5ZGQzZWVhMWVmZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTEyMzM3LDYgKzEyMzM3LDkgQEAKIAkJQTNBRjlEODIyMDMy
NTMyNDAwNkNBRDA2IC8qIFVzZXJBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBVc2VyQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNBRjlEODMy
MDMyNTY5MTAwNkNBRDA2IC8qIFVzZXJBZ2VudElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFVzZXJBZ2VudElPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQTNBRjlEODQyMDMyNTZBMzAwNkNBRDA2IC8qIFVzZXJBZ2VudE1hYy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVzZXJBZ2VudE1hYy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTNCRjdFRjIyNTZDOEQ3MjAwNDRCQzc1IC8qIEtI
UlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBLSFJQYXJhbGxl
bFNoYWRlckNvbXBpbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBM0JGN0VG
NDI1NkM4RDcyMDA0NEJDNzUgLyogS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBM0JGN0VGNTI1NkM4RDc0MDA0NEJDNzUgLyogS0hSUGFyYWxsZWxTaGFkZXJDb21w
aWxlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBM0MzREM1RDI1M0ExOTkyMDA2MUYzMkEgLyogR1BVUGxhdGZvcm1U
eXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVQbGF0Zm9ybVR5cGVz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzRDQyQTg0MUYzM0JBMzYwMEE2NEI2
MiAvKiBMYXlvdXRVbml0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IExheW91dFVuaXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNDA5Qzk4MjEx
NkQwREREMDA3MTk3QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlQcm9ncmVzc0lu
ZGljYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODAxMCw3ICsxODAx
Myw2IEBACiAJCQkJQTFDQzU2NEExRjQ2MTNCQjAwQTQ1NTVCIC8qIFBheW1lbnRSZXF1ZXN0ICov
LAogCQkJCTFEMDAyNjlBMjM3NEI5RjgwMENBNkNERiAvKiBQaWN0dXJlSW5QaWN0dXJlICovLAog
CQkJCUE5RDI0N0Y5MEQ3NTdFNDEwMEZERjk1OSAvKiBQbHVnaW5zICovLAotCQkJCTg5RjYwQjE3
MTU3RjZBMDIwMDc1RTE1NyAvKiBRdW90YSAqLywKIAkJCQlCQzk4NTQ0NjBDRDNEQTVGMDAwNjlC
QzEgLyogUmFuZ2VzICovLAogCQkJCUNEOEM2QzI0MjJGRERBNjQwMEE3MjBBQiAvKiBSZW1vdGVQ
bGF5YmFjayAqLywKIAkJCQk1MTgyQzI0QzFGMzE0MjA5MDA1OUJBN0MgLyogU2VydmljZVdvcmtl
cnMgKi8sCkBAIC0xOTc2MSw2ICsxOTc2Myw5IEBACiAJCQkJMzE4RUFENEMxRkE5MTM1MjAwOENF
Rjg2IC8qIEltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dFNldHRpbmdzLmlkbCAqLywKIAkJCQk3
QzE5M0JBRjFGNUUwRUI0MDA4OEYzRTYgLyogSW1hZ2VTbW9vdGhpbmdRdWFsaXR5LmggKi8sCiAJ
CQkJN0MxOTNCQTgxRjVFMEVBRjAwODhGM0U2IC8qIEltYWdlU21vb3RoaW5nUXVhbGl0eS5pZGwg
Ki8sCisJCQkJQTNCRjdFRjIyNTZDOEQ3MjAwNDRCQzc1IC8qIEtIUlBhcmFsbGVsU2hhZGVyQ29t
cGlsZS5jcHAgKi8sCisJCQkJQTNCRjdFRjQyNTZDOEQ3MjAwNDRCQzc1IC8qIEtIUlBhcmFsbGVs
U2hhZGVyQ29tcGlsZS5oICovLAorCQkJCUEzQkY3RUY1MjU2QzhENzQwMDQ0QkM3NSAvKiBLSFJQ
YXJhbGxlbFNoYWRlckNvbXBpbGUuaWRsICovLAogCQkJCTdFNUQ3QTczMTYxRDNGOEYwMDg5NkMz
NCAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmNwcCAqLywKIAkJCQk3RTVEN0E3NDE2MUQzRjhGMDA4
OTZDMzQgLyogT0VTRWxlbWVudEluZGV4VWludC5oICovLAogCQkJCUUxNzY1ODBDMTgwREYzQTAw
MDVBOTZEMSAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmlkbCAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFdlYkdMLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFdlYkdMLmNwcAppbmRleCAzZDMwNjYzMTEwNDZh
NzYwNzA0MTI5OWQxM2U4YWY3NTVmYTI2NGJlLi5mM2ViMzZkYWNiODlkOTE1NmE1OTZlYjhlMTNi
NGQ2NTE1MzdmOGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUNvbnZlcnRXZWJHTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01D
b252ZXJ0V2ViR0wuY3BwCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiSlNFWFRUZXh0dXJl
Q29tcHJlc3Npb25SR1RDLmgiCiAjaW5jbHVkZSAiSlNFWFRUZXh0dXJlRmlsdGVyQW5pc290cm9w
aWMuaCIKICNpbmNsdWRlICJKU0VYVHNSR0IuaCIKKyNpbmNsdWRlICJKU0tIUlBhcmFsbGVsU2hh
ZGVyQ29tcGlsZS5oIgogI2luY2x1ZGUgIkpTT0VTRWxlbWVudEluZGV4VWludC5oIgogI2luY2x1
ZGUgIkpTT0VTRkJPUmVuZGVyTWlwbWFwLmgiCiAjaW5jbHVkZSAiSlNPRVNTdGFuZGFyZERlcml2
YXRpdmVzLmgiCkBAIC0xODIsNiArMTgzLDggQEAgSlNWYWx1ZSBjb252ZXJ0VG9KU1ZhbHVlKEpT
R2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTUdsb2JhbE9iamVjdCYKICAg
ICAgICAgcmV0dXJuIHRvSlMoJmxleGljYWxHbG9iYWxPYmplY3QsICZnbG9iYWxPYmplY3QsIHN0
YXRpY19jYXN0PEVYVEZyYWdEZXB0aCY+KGV4dGVuc2lvbikpOwogICAgIGNhc2UgV2ViR0xFeHRl
bnNpb246OkVYVEJsZW5kTWluTWF4TmFtZToKICAgICAgICAgcmV0dXJuIHRvSlMoJmxleGljYWxH
bG9iYWxPYmplY3QsICZnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PEVYVEJsZW5kTWluTWF4Jj4o
ZXh0ZW5zaW9uKSk7CisgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6S0hSUGFyYWxsZWxTaGFkZXJD
b21waWxlTmFtZToKKyAgICAgICAgcmV0dXJuIHRvSlMoJmxleGljYWxHbG9iYWxPYmplY3QsICZn
bG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZSY+KGV4dGVu
c2lvbikpOwogICAgIGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1N0YW5kYXJkRGVyaXZhdGl2ZXNO
YW1lOgogICAgICAgICByZXR1cm4gdG9KUygmbGV4aWNhbEdsb2JhbE9iamVjdCwgJmdsb2JhbE9i
amVjdCwgc3RhdGljX2Nhc3Q8T0VTU3RhbmRhcmREZXJpdmF0aXZlcyY+KGV4dGVuc2lvbikpOwog
ICAgIGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1RleHR1cmVGbG9hdE5hbWU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41MjcxMzhmMzBmNzVmYWQwNzM5ODU5NGIzMzNhN2RmOWMxNDJkMjgwCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvS0hSUGFyYWxsZWxT
aGFkZXJDb21waWxlLmNwcApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisKKyNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiS0hSUGFyYWxsZWxTaGFkZXJDb21w
aWxlLmgiCisKKyNpbmNsdWRlICJFeHRlbnNpb25zR0wuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExP
Q0FURURfSU1QTChLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUpOworCitLSFJQYXJhbGxlbFNoYWRl
ckNvbXBpbGU6OktIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZShXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlJiBjb250ZXh0KQorICAgIDogV2ViR0xFeHRlbnNpb24oY29udGV4dCkKK3sKKyAgICBjb250
ZXh0LmdyYXBoaWNzQ29udGV4dEdMKCktPmdldEV4dGVuc2lvbnMoKS5lbnN1cmVFbmFibGVkKCJH
TF9LSFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUiX3MpOworfQorCitLSFJQYXJhbGxlbFNoYWRl
ckNvbXBpbGU6On5LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUoKSA9IGRlZmF1bHQ7CisKK1dlYkdM
RXh0ZW5zaW9uOjpFeHRlbnNpb25OYW1lIEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZTo6Z2V0TmFt
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZU5hbWU7Cit9
CisKK2Jvb2wgS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlOjpzdXBwb3J0ZWQoY29uc3QgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZSYgY29udGV4dCkKK3sKKyAgICByZXR1cm4gY29udGV4dC5ncmFw
aGljc0NvbnRleHRHTCgpLT5nZXRFeHRlbnNpb25zKCkuc3VwcG9ydHMoIkdMX0tIUl9wYXJhbGxl
bF9zaGFkZXJfY29tcGlsZSJfcyk7Cit9CisgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmY2ZjMmI1OGVk
OWZiNGU2ZDExNzQxODYxNDdkZjNiZGMwMjUzYTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaApAQCAtMCwwICsx
LDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICog
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIldlYkdMRXh0ZW5zaW9uLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgS0hSUGFyYWxsZWxTaGFkZXJDb21waWxl
IGZpbmFsIDogcHVibGljIFdlYkdMRXh0ZW5zaW9uIHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEKEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZSk7CitwdWJsaWM6CisgICAgZXhwbGljaXQgS0hS
UGFyYWxsZWxTaGFkZXJDb21waWxlKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmKTsKKyAgICB+
S0hSUGFyYWxsZWxTaGFkZXJDb21waWxlKCkgb3ZlcnJpZGUgZmluYWw7CisKKyAgICBFeHRlbnNp
b25OYW1lIGdldE5hbWUoKSBjb25zdCBvdmVycmlkZTsKKworICAgIHN0YXRpYyBib29sIHN1cHBv
cnRlZChjb25zdCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlJik7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9LSFJQ
YXJhbGxlbFNoYWRlckNvbXBpbGUuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvS0hS
UGFyYWxsZWxTaGFkZXJDb21waWxlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMDZjOWNmNmMzNzhkN2Y2Mjlj
MTUzNGU4NzhiYTA0NDBiN2M2OWU5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlLmlkbApAQCAtMCwwICsxLDMyIEBA
CisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqCisqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElU
UyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisqIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsKKyogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisqIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworWworICAgIExlZ2FjeU5v
SW50ZXJmYWNlT2JqZWN0LAorICAgIENvbmRpdGlvbmFsPVdFQkdMLAorICAgIEdlbmVyYXRlSXNS
ZWFjaGFibGU9SW1wbFdlYkdMUmVuZGVyaW5nQ29udGV4dAorXSBpbnRlcmZhY2UgS0hSUGFyYWxs
ZWxTaGFkZXJDb21waWxlIHsKKyAgICBjb25zdCB1bnNpZ25lZCBsb25nIENPTVBMRVRJT05fU1RB
VFVTX0tIUiA9IDB4OTFCMTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDU1YmMxZjhkYjI0OWQzMzgyMmU3
ODg5Y2E3ODNmNWJlYzAyNWEyOTkuLmM2MzBhMDcwMDViOTIzYzBhMDJjYzRjZThmMGE2NmYyMzU2
MzU1YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRl
cmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJl
bmRlcmluZ0NvbnRleHQuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiSW1hZ2VCaXRt
YXAuaCIKICNpbmNsdWRlICJJbWFnZURhdGEuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaCIKKyNpbmNsdWRlICJLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaCIKICNpbmNs
dWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiT0VTVGV4dHVyZUZsb2F0TGluZWFyLmgiCiAjaW5j
bHVkZSAiUmVuZGVyQm94LmgiCkBAIC0yNjcxLDYgKzI2NzIsNyBAQCBXZWJHTEV4dGVuc2lvbiog
V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Z2V0RXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgbmFtZSkK
ICAgICBFTkFCTEVfSUZfUkVRVUVTVEVEKEVYVENvbG9yQnVmZmVyRmxvYXQsIG1fZXh0Q29sb3JC
dWZmZXJGbG9hdCwgIkVYVF9jb2xvcl9idWZmZXJfZmxvYXQiLCBFWFRDb2xvckJ1ZmZlckZsb2F0
OjpzdXBwb3J0ZWQoKnRoaXMpKTsKICAgICBFTkFCTEVfSUZfUkVRVUVTVEVEKEVYVENvbG9yQnVm
ZmVySGFsZkZsb2F0LCBtX2V4dENvbG9yQnVmZmVySGFsZkZsb2F0LCAiRVhUX2NvbG9yX2J1ZmZl
cl9oYWxmX2Zsb2F0IiwgRVhUQ29sb3JCdWZmZXJIYWxmRmxvYXQ6OnN1cHBvcnRlZCgqdGhpcykp
OwogICAgIEVOQUJMRV9JRl9SRVFVRVNURUQoRVhURmxvYXRCbGVuZCwgbV9leHRGbG9hdEJsZW5k
LCAiRVhUX2Zsb2F0X2JsZW5kIiwgRVhURmxvYXRCbGVuZDo6c3VwcG9ydGVkKCp0aGlzKSk7Cisg
ICAgRU5BQkxFX0lGX1JFUVVFU1RFRChLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUsIG1fa2hyUGFy
YWxsZWxTaGFkZXJDb21waWxlLCAiS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21waWxlIiwgS0hSUGFy
YWxsZWxTaGFkZXJDb21waWxlOjpzdXBwb3J0ZWQoKnRoaXMpKTsKICAgICByZXR1cm4gbnVsbHB0
cjsKIH0KIApAQCAtMjcxNyw2ICsyNzE5LDggQEAgT3B0aW9uYWw8VmVjdG9yPFN0cmluZz4+IFdl
YkdMMlJlbmRlcmluZ0NvbnRleHQ6OmdldFN1cHBvcnRlZEV4dGVuc2lvbnMoKQogICAgICAgICBy
ZXN1bHQuYXBwZW5kKCJFWFRfY29sb3JfYnVmZmVyX2hhbGZfZmxvYXQiX3MpOwogICAgIGlmIChF
WFRGbG9hdEJsZW5kOjpzdXBwb3J0ZWQoKnRoaXMpKQogICAgICAgICByZXN1bHQuYXBwZW5kKCJF
WFRfZmxvYXRfYmxlbmQiX3MpOworICAgIGlmIChLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGU6OnN1
cHBvcnRlZCgqdGhpcykpCisgICAgICAgIHJlc3VsdC5hcHBlbmQoIktIUl9wYXJhbGxlbF9zaGFk
ZXJfY29tcGlsZSJfcyk7CiAKICAgICByZXR1cm4gcmVzdWx0OwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKaW5kZXggNDQwZDRiOTU0Nzk0MzNjZmZlMTli
MmFlNjE0NWFkMDk5ODViNmJkNy4uNTgwMGE3MTMxM2JjZjhhMDRkZjU2YWYxNzJiMDhmZjU5MGM5
MTcxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCkBA
IC00NCw2ICs0NCw3IEBAIHB1YmxpYzoKICAgICAgICAgRVhUVGV4dHVyZUNvbXByZXNzaW9uUkdU
Q05hbWUsCiAgICAgICAgIEVYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpY05hbWUsCiAgICAgICAg
IEVYVHNSR0JOYW1lLAorICAgICAgICBLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGVOYW1lLAogICAg
ICAgICBPRVNUZXh0dXJlRmxvYXROYW1lLAogICAgICAgICBPRVNUZXh0dXJlRmxvYXRMaW5lYXJO
YW1lLAogICAgICAgICBPRVNUZXh0dXJlSGFsZkZsb2F0TmFtZSwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDY5M2Q2
MjA2ZjJjOTBmOTVmZGE5NzNiOTk4ZWI5NjQ2N2RjZmVhOTcuLjA3ZGZjYTNlMWQ5OGE5YjEwNzgw
MzIxOTJiNjQ4ODg0NGQ3NmNkYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1
ZGUgIkhUTUxWaWRlb0VsZW1lbnQuaCIKICNpbmNsdWRlICJJbWFnZURhdGEuaCIKICNpbmNsdWRl
ICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRlICJLSFJQYXJhbGxlbFNoYWRl
ckNvbXBpbGUuaCIKICNpbmNsdWRlICJPRVNFbGVtZW50SW5kZXhVaW50LmgiCiAjaW5jbHVkZSAi
T0VTRkJPUmVuZGVyTWlwbWFwLmgiCiAjaW5jbHVkZSAiT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5o
IgpAQCAtMTU1LDYgKzE1Niw3IEBAIFdlYkdMRXh0ZW5zaW9uKiBXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OmdldEV4dGVuc2lvbihjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgfQogICAgIEVOQUJMRV9J
Rl9SRVFVRVNURUQoRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLCBtX2V4dFRleHR1cmVGaWx0
ZXJBbmlzb3Ryb3BpYywgIkVYVF90ZXh0dXJlX2ZpbHRlcl9hbmlzb3Ryb3BpYyIsIGVuYWJsZVN1
cHBvcnRlZEV4dGVuc2lvbigiR0xfRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIl9zKSk7
CiAgICAgRU5BQkxFX0lGX1JFUVVFU1RFRChFWFRUZXh0dXJlQ29tcHJlc3Npb25SR1RDLCBtX2V4
dFRleHR1cmVDb21wcmVzc2lvblJHVEMsICJFWFRfdGV4dHVyZV9jb21wcmVzc2lvbl9yZ3RjIiwg
ZW5hYmxlU3VwcG9ydGVkRXh0ZW5zaW9uKCJHTF9FWFRfdGV4dHVyZV9jb21wcmVzc2lvbl9yZ3Rj
Il9zKSk7CisgICAgRU5BQkxFX0lGX1JFUVVFU1RFRChLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUs
IG1fa2hyUGFyYWxsZWxTaGFkZXJDb21waWxlLCAiS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21waWxl
IiwgS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlOjpzdXBwb3J0ZWQoKnRoaXMpKTsKICAgICBFTkFC
TEVfSUZfUkVRVUVTVEVEKE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMsIG1fb2VzU3RhbmRhcmREZXJp
dmF0aXZlcywgIk9FU19zdGFuZGFyZF9kZXJpdmF0aXZlcyIsIGVuYWJsZVN1cHBvcnRlZEV4dGVu
c2lvbigiR0xfT0VTX3N0YW5kYXJkX2Rlcml2YXRpdmVzIl9zKSk7CiAgICAgRU5BQkxFX0lGX1JF
UVVFU1RFRChPRVNUZXh0dXJlRmxvYXQsIG1fb2VzVGV4dHVyZUZsb2F0LCAiT0VTX3RleHR1cmVf
ZmxvYXQiLCBPRVNUZXh0dXJlRmxvYXQ6OnN1cHBvcnRlZCgqdGhpcykpOwogICAgIEVOQUJMRV9J
Rl9SRVFVRVNURUQoT0VTVGV4dHVyZUZsb2F0TGluZWFyLCBtX29lc1RleHR1cmVGbG9hdExpbmVh
ciwgIk9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciIsIGVuYWJsZVN1cHBvcnRlZEV4dGVuc2lvbigi
R0xfT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIl9zKSk7CkBAIC0yNzUsNiArMjc3LDggQEAgT3B0
aW9uYWw8VmVjdG9yPFN0cmluZz4+IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0U3VwcG9ydGVk
RXh0ZW5zaW9ucygpCiAgICAgICAgIHJlc3VsdC5hcHBlbmQoIkVYVF9mbG9hdF9ibGVuZCJfcyk7
CiAgICAgaWYgKFdlYkdMQ29sb3JCdWZmZXJGbG9hdDo6c3VwcG9ydGVkKCp0aGlzKSkKICAgICAg
ICAgcmVzdWx0LmFwcGVuZCgiV0VCR0xfY29sb3JfYnVmZmVyX2Zsb2F0Il9zKTsKKyAgICBpZiAo
S0hSUGFyYWxsZWxTaGFkZXJDb21waWxlOjpzdXBwb3J0ZWQoKnRoaXMpKQorICAgICAgICByZXN1
bHQuYXBwZW5kKCJLSFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUiKTsKIAogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCmluZGV4IDE4NWU4YzYyZTZmYmUzMWYzMTM4OGMwYzlm
ODBkODFjZWUyNGEzYjEuLjk5NDZkMjI1MDQ3ZjVmMjY2NWM3MWExMGFkZTAyZjE1ZDYyYzlmZWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2UuY3BwCkBAIC02MSw2ICs2MSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIkpTRXhl
Y1N0YXRlLmgiCisjaW5jbHVkZSAiS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlLmgiCiAjaW5jbHVk
ZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5hdmlnYXRvcldlYlhSLmgiCiAjaW5jbHVkZSAiTm90
SW1wbGVtZW50ZWQuaCIKQEAgLTMxNzksNyArMzE4MCwxNCBAQCBXZWJHTEFueSBXZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlOjpnZXRQYXJhbWV0ZXIoR0NHTGVudW0gcG5hbWUpCiAKIFdlYkdMQW55
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFByb2dyYW1QYXJhbWV0ZXIoV2ViR0xQcm9n
cmFtJiBwcm9ncmFtLCBHQ0dMZW51bSBwbmFtZSkKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9y
UGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJnZXRQcm9ncmFtUGFy
YW1ldGVyIiwgJnByb2dyYW0pKQorICAgIC8vIENPTVBMRVRJT05fU1RBVFVTX0tIUiBzaG91bGQg
YWx3YXlzIHJldHVybiB0cnVlIGlmIHRoZSBjb250ZXh0IGlzIGxvc3QsIHNvIGFwcGxpY2F0aW9u
cworICAgIC8vIGRvbid0IGdldCBzdHVjayBpbiBhbiBpbmZpbml0ZSBwb2xsaW5nIGxvb3AuCisg
ICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSkgeworICAgICAgICBpZiAocG5hbWUgPT0g
RXh0ZW5zaW9uc0dMOjpDT01QTEVUSU9OX1NUQVRVU19LSFIpCisgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorICAgIGlmICghdmFsaWRhdGVX
ZWJHTFByb2dyYW1PclNoYWRlcigiZ2V0UHJvZ3JhbVBhcmFtZXRlciIsICZwcm9ncmFtKSkKICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBzd2l0Y2ggKHBuYW1lKSB7CkBAIC0zMjAyLDYg
KzMyMTAsMTEgQEAgV2ViR0xBbnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0UHJvZ3Jh
bVBhcmFtZXRlcihXZWJHTFByb2dyYW0mIHByb2dyYW0sIEcKICAgICAgICAgICAgIHJldHVybiB2
YWx1ZTsKICAgICAgICAgfQogI2VuZGlmIC8vIFVTRShBTkdMRSkKKyAgICBjYXNlIEV4dGVuc2lv
bnNHTDo6Q09NUExFVElPTl9TVEFUVVNfS0hSOgorICAgICAgICBpZiAobV9raHJQYXJhbGxlbFNo
YWRlckNvbXBpbGUpCisgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Ym9vbD4obV9jb250
ZXh0LT5nZXRQcm9ncmFtaShwcm9ncmFtLm9iamVjdCgpLCBwbmFtZSkpOworICAgICAgICBzeW50
aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9FTlVNLCAiZ2V0UHJvZ3Jh
bVBhcmFtZXRlciIsICJLSFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUgbm90IGVuYWJsZWQiKTsK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgZGVmYXVsdDoKICNpZiBFTkFCTEUoV0VCR0wy
KQogICAgICAgICBpZiAoaXNXZWJHTDIoKSkgewpAQCAtMzI5OCw4ICszMzExLDE2IEBAIFdlYkdM
QW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihH
Q0dMZW51bSB0YXJnZXQsIEdDCiAKIFdlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6
OmdldFNoYWRlclBhcmFtZXRlcihXZWJHTFNoYWRlciYgc2hhZGVyLCBHQ0dMZW51bSBwbmFtZSkK
IHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJv
Z3JhbU9yU2hhZGVyKCJnZXRTaGFkZXJQYXJhbWV0ZXIiLCAmc2hhZGVyKSkKKyAgICAvLyBDT01Q
TEVUSU9OX1NUQVRVU19LSFIgc2hvdWxkIGFsd2F5cyByZXR1cm4gdHJ1ZSBpZiB0aGUgY29udGV4
dCBpcyBsb3N0LCBzbyBhcHBsaWNhdGlvbnMKKyAgICAvLyBkb24ndCBnZXQgc3R1Y2sgaW4gYW4g
aW5maW5pdGUgcG9sbGluZyBsb29wLgorICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkp
IHsKKyAgICAgICAgaWYgKHBuYW1lID09IEV4dGVuc2lvbnNHTDo6Q09NUExFVElPTl9TVEFUVVNf
S0hSKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgIH0KKyAgICBpZiAoIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldFNoYWRlclBh
cmFtZXRlciIsICZzaGFkZXIpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwogICAgIHN3aXRj
aCAocG5hbWUpIHsKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERUxFVEVfU1RBVFVTOgog
ICAgICAgICByZXR1cm4gc2hhZGVyLmlzRGVsZXRlZCgpOwpAQCAtMzMwNyw2ICszMzI4LDExIEBA
IFdlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFNoYWRlclBhcmFtZXRlcihX
ZWJHTFNoYWRlciYgc2hhZGVyLCBHQ0dMCiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxib29s
PihtX2NvbnRleHQtPmdldFNoYWRlcmkoc2hhZGVyLm9iamVjdCgpLCBwbmFtZSkpOwogICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0R0w6OlNIQURFUl9UWVBFOgogICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KG1fY29udGV4dC0+Z2V0U2hhZGVyaShzaGFkZXIub2JqZWN0KCksIHBu
YW1lKSk7CisgICAgY2FzZSBFeHRlbnNpb25zR0w6OkNPTVBMRVRJT05fU1RBVFVTX0tIUjoKKyAg
ICAgICAgaWYgKG1fa2hyUGFyYWxsZWxTaGFkZXJDb21waWxlKQorICAgICAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PGJvb2w+KG1fY29udGV4dC0+Z2V0U2hhZGVyaShzaGFkZXIub2JqZWN0KCks
IHBuYW1lKSk7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJ
TlZBTElEX0VOVU0sICJnZXRTaGFkZXJQYXJhbWV0ZXIiLCAiS0hSX3BhcmFsbGVsX3NoYWRlcl9j
b21waWxlIG5vdCBlbmFibGVkIik7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIGRlZmF1
bHQ6CiAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElE
X0VOVU0sICJnZXRTaGFkZXJQYXJhbWV0ZXIiLCAiaW52YWxpZCBwYXJhbWV0ZXIgbmFtZSIpOwog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTM3MDIsNiArMzcyOCw3IEBAIGJvb2wgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6ZXh0ZW5zaW9uSXNFbmFibGVkKGNvbnN0IFN0cmluZyYgbmFt
ZSkKICAgICBDSEVDS19FWFRFTlNJT04obV9leHRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMsICJF
WFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKTsKICAgICBDSEVDS19FWFRFTlNJT04obV9l
eHRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMsICJXRUJLSVRfRVhUX3RleHR1cmVfZmlsdGVyX2Fu
aXNvdHJvcGljIik7CiAgICAgQ0hFQ0tfRVhURU5TSU9OKG1fZXh0U2hhZGVyVGV4dHVyZUxPRCwg
IkVYVF9zaGFkZXJfdGV4dHVyZV9sb2QiKTsKKyAgICBDSEVDS19FWFRFTlNJT04obV9raHJQYXJh
bGxlbFNoYWRlckNvbXBpbGUsICJLSFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUiKTsKICAgICBD
SEVDS19FWFRFTlNJT04obV9vZXNUZXh0dXJlRmxvYXQsICJPRVNfdGV4dHVyZV9mbG9hdCIpOwog
ICAgIENIRUNLX0VYVEVOU0lPTihtX29lc1RleHR1cmVGbG9hdExpbmVhciwgIk9FU190ZXh0dXJl
X2Zsb2F0X2xpbmVhciIpOwogICAgIENIRUNLX0VYVEVOU0lPTihtX29lc1RleHR1cmVIYWxmRmxv
YXQsICJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0Iik7CkBAIC03Nzk1LDYgKzc4MjIsNyBAQCB2b2lk
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VFeHRlbnNpb25zKExvc3RDb250ZXh0TW9k
ZSBtb2RlKQogICAgIExPU0VfRVhURU5TSU9OKG1fZXh0VGV4dHVyZUNvbXByZXNzaW9uUkdUQyk7
CiAgICAgTE9TRV9FWFRFTlNJT04obV9leHRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMpOwogICAg
IExPU0VfRVhURU5TSU9OKG1fZXh0U2hhZGVyVGV4dHVyZUxPRCk7CisgICAgTE9TRV9FWFRFTlNJ
T04obV9raHJQYXJhbGxlbFNoYWRlckNvbXBpbGUpOwogICAgIExPU0VfRVhURU5TSU9OKG1fb2Vz
VGV4dHVyZUZsb2F0KTsKICAgICBMT1NFX0VYVEVOU0lPTihtX29lc1RleHR1cmVGbG9hdExpbmVh
cik7CiAgICAgTE9TRV9FWFRFTlNJT04obV9vZXNUZXh0dXJlSGFsZkZsb2F0KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2Uu
aAppbmRleCBhNzFkMDM2YWEwZGVhNTJiNDU3OTA5ZmJmZmRjM2FkZjgwZjUxMGNjLi45OTVkNDNj
YmM0ZTI3MGEwNTVlMmQ2YzgzMDA2MDlmYjBmMGY2ZmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCkBAIC04MCw2
ICs4MCw3IEBAIGNsYXNzIEVYVEZyYWdEZXB0aDsKIGNsYXNzIEhUTUxJbWFnZUVsZW1lbnQ7CiBj
bGFzcyBJbWFnZURhdGE7CiBjbGFzcyBJbnRTaXplOworY2xhc3MgS0hSUGFyYWxsZWxTaGFkZXJD
b21waWxlOwogY2xhc3MgT0VTU3RhbmRhcmREZXJpdmF0aXZlczsKIGNsYXNzIE9FU1RleHR1cmVG
bG9hdDsKIGNsYXNzIE9FU1RleHR1cmVGbG9hdExpbmVhcjsKQEAgLTY3NCw2ICs2NzUsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgUmVmUHRyPEVYVFRleHR1cmVDb21wcmVzc2lvblJHVEM+IG1fZXh0VGV4
dHVyZUNvbXByZXNzaW9uUkdUQzsKICAgICBSZWZQdHI8RVhUVGV4dHVyZUZpbHRlckFuaXNvdHJv
cGljPiBtX2V4dFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYzsKICAgICBSZWZQdHI8RVhUU2hhZGVy
VGV4dHVyZUxPRD4gbV9leHRTaGFkZXJUZXh0dXJlTE9EOworICAgIFJlZlB0cjxLSFJQYXJhbGxl
bFNoYWRlckNvbXBpbGU+IG1fa2hyUGFyYWxsZWxTaGFkZXJDb21waWxlOwogICAgIFJlZlB0cjxP
RVNUZXh0dXJlRmxvYXQ+IG1fb2VzVGV4dHVyZUZsb2F0OwogICAgIFJlZlB0cjxPRVNUZXh0dXJl
RmxvYXRMaW5lYXI+IG1fb2VzVGV4dHVyZUZsb2F0TGluZWFyOwogICAgIFJlZlB0cjxPRVNUZXh0
dXJlSGFsZkZsb2F0PiBtX29lc1RleHR1cmVIYWxmRmxvYXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zR0wuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnNHTC5oCmluZGV4IGJhODY1YjMzMDhlNmM5NDU4
MjIxMjIzNzc5NmQ2ZmQ1Nzc0ODQ3ZjguLjFmYzg1OTExN2I0ZTMyNGFhZjhmZGViOWQyZjY0MzI3
ZDk0NDhkOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4
dGVuc2lvbnNHTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVu
c2lvbnNHTC5oCkBAIC0yNjMsNyArMjYzLDEwIEBAIHB1YmxpYzoKICAgICAgICAgQ09MT1JfQVRU
QUNITUVOVDEyX0VYVCA9IDB4OENFQywKICAgICAgICAgQ09MT1JfQVRUQUNITUVOVDEzX0VYVCA9
IDB4OENFRCwKICAgICAgICAgQ09MT1JfQVRUQUNITUVOVDE0X0VYVCA9IDB4OENFRSwKLSAgICAg
ICAgQ09MT1JfQVRUQUNITUVOVDE1X0VYVCA9IDB4OENFRgorICAgICAgICBDT0xPUl9BVFRBQ0hN
RU5UMTVfRVhUID0gMHg4Q0VGLAorCisgICAgICAgIC8vIEdMX0tIUl9wYXJhbGxlbF9zaGFkZXJf
Y29tcGlsZQorICAgICAgICBDT01QTEVUSU9OX1NUQVRVU19LSFIgPSAweDkxQjEsCiAgICAgfTsK
IAogICAgIC8vIFdlYkdMIGZ1bmN0aW9ucyBpbiBmb3JtYXQgZ2VuZXJhdGUtZ3B1cC13ZWJnbCB1
bmRlcnN0YW5kcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA5MTZkNDkyOWY3ZWVkMDQ4YzI4MjAwNDU1NWRkMmU4MWRlNzRk
MmI0Li5lZjMyNTNmZjUzNTIxZDNiMjFmYjQ5ZjhiNWU5ZGExYWM0YTc2MGVjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMjAtMTEtMjQgIEphbWVzIERhcnBpbmlhbiAgPGpkYXJwaW5pYW5AY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFN1cHBvcnQgS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21waWxl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTkyNjYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYmds
L2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMva2hyLXBhcmFsbGVsLXNoYWRlci1jb21waWxlLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9r
aHItcGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9raHItcGFy
YWxsZWwtc2hhZGVyLWNvbXBpbGUuaHRtbDogQWRkZWQuCisKIDIwMjAtMTEtMjEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBQb29yIHJlc2FtcGxpbmcgcXVhbGl0
eSB3aGVuIHVzaW5nIEF1ZGlvQ29udGV4dCBzYW1wbGVSYXRlIHBhcmFtZXRlcgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9raHItcGFyYWxsZWwt
c2hhZGVyLWNvbXBpbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvZXh0ZW5zaW9ucy9raHItcGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjM1OTM4NjE5MTQ1ZWFkY2ZhOTc3MmMxNjFlMjVhNDM5NDhlMGViOTEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9leHRlbnNpb25zL2to
ci1wYXJhbGxlbC1zaGFkZXItY29tcGlsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitU
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9raHItcGFyYWxsZWwtc2hhZGVyLWNvbXBp
bGUuaHRtbAorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
ZXh0ZW5zaW9ucy9raHItcGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMva2hyLXBhcmFsbGVsLXNoYWRlci1jb21waWxl
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uY2ZlODdkNWJhYTJmYjQyY2ZhZjM2MThkOTcwN2VhMjQyMDM1MWNm
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2V4dGVu
c2lvbnMva2hyLXBhcmFsbGVsLXNoYWRlci1jb21waWxlLmh0bWwKQEAgLTAsMCArMSwxOCBAQAor
PCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMu
cHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBl
ciBmb3Iga2hyLXBhcmFsbGVsLXNoYWRlci1jb21waWxlLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
L3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJl
Zj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9u
cy9raHItcGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9raHItcGFyYWxsZWwtc2hhZGVyLWNv
bXBpbGUuaHRtbDwvYT4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9raHItcGFyYWxs
ZWwtc2hhZGVyLWNvbXBpbGUuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1l
PgorPC9kaXY+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvZXh0ZW5zaW9ucy9raHItcGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2V4
dGVuc2lvbnMva2hyLXBhcmFsbGVsLXNoYWRlci1jb21waWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmRj
MDdiMGI3OGJjYmFjMTc4ZjNlNjY3YzNkMmRlYWI5YTNkMjZmOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2V4dGVuc2lvbnMva2hyLXBhcmFsbGVsLXNoYWRlci1jb21waWxlLmh0bWwKQEAgLTAsMCArMSw5
MyBAQAorPCEtLQorQ29weXJpZ2h0IChjKSAyMDIwIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KK1Vz
ZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNl
IHRoYXQgY2FuIGJlCitmb3VuZCBpbiB0aGUgTElDRU5TRS50eHQgZmlsZS4KKy0tPgorCis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiVGVzdCBL
SFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUiKTsKKworY29uc3Qgd3R1ID0gV2ViR0xUZXN0VXRp
bHM7CisKK2NvbnN0IGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgpOworY29uc3QgbG9zZUNvbnRl
eHQgPSB3dHUuZ2V0RXh0ZW5zaW9uV2l0aEtub3duUHJlZml4ZXMoZ2wsICJXRUJHTF9sb3NlX2Nv
bnRleHQiKTsKKworbGV0IGNvdW50ZXIgPSAwOworY29uc3QgdmVydGV4U291cmNlID0gKCkgPT4g
YAordm9pZCBtYWluKCkgeworICAgIGdsX1Bvc2l0aW9uID0gdmVjNCgke2NvdW50ZXIrK30sIDEs
IDEsIDEpOworfWA7Citjb25zdCBmcmFnbWVudFNvdXJjZSA9ICgpID0+IGAKK3ZvaWQgbWFpbigp
IHsKKyAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDAuJHtjb3VudGVyKyt9LCAxLCAxLCAxKTsKK31g
OworCitjb25zdCB2cyA9IGdsLmNyZWF0ZVNoYWRlcihnbC5WRVJURVhfU0hBREVSKTsKK2NvbnN0
IGZzID0gZ2wuY3JlYXRlU2hhZGVyKGdsLkZSQUdNRU5UX1NIQURFUik7Citjb25zdCBwcm9ncmFt
ID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworZ2wuYXR0YWNoU2hhZGVyKHByb2dyYW0sIHZzKTsKK2ds
LmF0dGFjaFNoYWRlcihwcm9ncmFtLCBmcyk7CisKK2NvbnN0IENPTVBMRVRJT05fU1RBVFVTX0tI
UiA9IDB4OTFCMTsKKworZ2wuc2hhZGVyU291cmNlKHZzLCB2ZXJ0ZXhTb3VyY2UoKSk7CitnbC5j
b21waWxlU2hhZGVyKHZzKTsKK2xldCBzdGF0dXMgPSBnbC5nZXRTaGFkZXJQYXJhbWV0ZXIodnMs
IENPTVBMRVRJT05fU1RBVFVTX0tIUik7CitpZiAoc3RhdHVzICE9PSBudWxsKSB0ZXN0RmFpbGVk
KCdFeHRlbnNpb24gZGlzYWJsZWQsIHN0YXR1cyBzaG91bGQgYmUgbnVsbCcpOword3R1LmdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiZXh0ZW5zaW9uIGRpc2FibGVkIik7CisK
K2dsLnNoYWRlclNvdXJjZShmcywgZnJhZ21lbnRTb3VyY2UoKSk7CitnbC5jb21waWxlU2hhZGVy
KGZzKTsKKworZ2wubGlua1Byb2dyYW0ocHJvZ3JhbSk7CitzdGF0dXMgPSBnbC5nZXRQcm9ncmFt
UGFyYW1ldGVyKHByb2dyYW0sIENPTVBMRVRJT05fU1RBVFVTX0tIUik7CitpZiAoc3RhdHVzICE9
PSBudWxsKSB0ZXN0RmFpbGVkKCdFeHRlbnNpb24gZGlzYWJsZWQsIHN0YXR1cyBzaG91bGQgYmUg
bnVsbCcpOword3R1LmdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiZXh0ZW5z
aW9uIGRpc2FibGVkIik7CisKK2NvbnN0IGV4dCA9IHd0dS5nZXRFeHRlbnNpb25XaXRoS25vd25Q
cmVmaXhlcyhnbCwgIktIUl9wYXJhbGxlbF9zaGFkZXJfY29tcGlsZSIpOworaWYgKCFleHQpIHsK
KyAgICB0ZXN0UGFzc2VkKCJObyBLSFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUgc3VwcG9ydCAt
LSB0aGlzIGlzIGxlZ2FsIik7Cit9IGVsc2UgeworICAgIHRlc3RQYXNzZWQoIlN1Y2Nlc3NmdWxs
eSBlbmFibGVkIEtIUl9wYXJhbGxlbF9zaGFkZXJfY29tcGlsZSBleHRlbnNpb24iKTsKKworICAg
IHNob3VsZEJlKCJleHQuQ09NUExFVElPTl9TVEFUVVNfS0hSIiwgIjB4OTFCMSIpOworCisgICAg
ZGVidWcoIkNoZWNraW5nIHRoYXQgc3RhdHVzIGlzIGEgYm9vbGVhbi4iKTsKKyAgICBnbC5zaGFk
ZXJTb3VyY2UodnMsIHZlcnRleFNvdXJjZSgpKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKHZzKTsK
KyAgICBsZXQgc3RhdHVzID0gZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHZzLCBDT01QTEVUSU9OX1NU
QVRVU19LSFIpOworICAgIGlmIChzdGF0dXMgIT09IHRydWUgJiYgc3RhdHVzICE9PSBmYWxzZSkg
dGVzdEZhaWxlZCgic3RhdHVzIHNob3VsZCBiZSBhIGJvb2xlYW4iKTsKKworICAgIGdsLmxpbmtQ
cm9ncmFtKHByb2dyYW0pOworICAgIHN0YXR1cyA9IGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJv
Z3JhbSwgQ09NUExFVElPTl9TVEFUVVNfS0hSKTsKKyAgICBpZiAoc3RhdHVzICE9PSB0cnVlICYm
IHN0YXR1cyAhPT0gZmFsc2UpIHRlc3RGYWlsZWQoInN0YXR1cyBzaG91bGQgYmUgYSBib29sZWFu
Iik7CisKKyAgICBkZWJ1ZygiQ2hlY2tpbmcgdGhhdCBzdGF0dXMgaXMgdHJ1ZSB3aGVuIGNvbnRl
eHQgaXMgbG9zdC4iKTsKKyAgICBpZiAobG9zZUNvbnRleHQpIHsKKyAgICAgICAgbG9zZUNvbnRl
eHQubG9zZUNvbnRleHQoKTsKKyAgICAgICAgc3RhdHVzID0gZ2wuZ2V0U2hhZGVyUGFyYW1ldGVy
KHZzLCBDT01QTEVUSU9OX1NUQVRVU19LSFIpOworICAgICAgICBpZiAoc3RhdHVzICE9PSB0cnVl
KSB0ZXN0RmFpbGVkKCJzdGF0dXMgc2hvdWxkIGJlIHRydWUgd2hlbiBjb250ZXh0IGlzIGxvc3Qi
KTsKKyAgICAgICAgc3RhdHVzID0gZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9ncmFtLCBDT01Q
TEVUSU9OX1NUQVRVU19LSFIpOworICAgICAgICBpZiAoc3RhdHVzICE9PSB0cnVlKSB0ZXN0RmFp
bGVkKCJzdGF0dXMgc2hvdWxkIGJlIHRydWUgd2hlbiBjb250ZXh0IGlzIGxvc3QiKTsKKyAgICB9
Cit9CisKK2NvbnN0IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414857</attachid>
            <date>2020-11-24 16:07:38 -0800</date>
            <delta_ts>2020-11-30 11:10:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219266-20201124160737.patch</filename>
            <type>text/plain</type>
            <size>34030</size>
            <attacher name="James Darpinian">jdarpinian</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzg2MjhkNmE5OGJkMjA4
NWExZDY5NTcxMmQxZGM3MjIwZTdkNzMwMy4uY2JjOTJlZmQzYmQxNmI4NGM2OGEzMjI2ZjUzYmMx
NmFkMmU0YmQ0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTExLTI0ICBKYW1l
cyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBTdXBwb3J0
IEtIUl9wYXJhbGxlbF9zaGFkZXJfY29tcGlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MjY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VuIFJ1
c3NlbGwuCisKKyAgICAgICAgVGVzdGVkIGJ5IHdlYmdsL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMv
a2hyLXBhcmFsbGVsLXNoYWRlci1jb21waWxlLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01Db252
ZXJ0V2ViR0wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29udmVydFRvSlNWYWx1ZSk6CisgICAg
ICAgICogaHRtbC9jYW52YXMvS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGU6OktIUlBhcmFsbGVsU2hh
ZGVyQ29tcGlsZSk6CisgICAgICAgIChXZWJDb3JlOjpLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGU6
OmdldE5hbWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6S0hSUGFyYWxsZWxTaGFkZXJDb21w
aWxlOjpzdXBwb3J0ZWQpOgorICAgICAgICAqIGh0bWwvY2FudmFzL0tIUlBhcmFsbGVsU2hhZGVy
Q29tcGlsZS5oOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRl
ckNvbXBpbGUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJp
bmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6
OmdldEV4dGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0
OjpnZXRTdXBwb3J0ZWRFeHRlbnNpb25zKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTEV4
dGVuc2lvbi5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEV4dGVuc2lv
bik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFN1cHBvcnRl
ZEV4dGVuc2lvbnMpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6
Z2V0UHJvZ3JhbVBhcmFtZXRlcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlOjpnZXRTaGFkZXJQYXJhbWV0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6ZXh0ZW5zaW9uSXNFbmFibGVkKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VFeHRlbnNpb25zKToKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uc0dMLmg6CisKIDIwMjAtMTEtMjEgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBQb29yIHJlc2FtcGxpbmcgcXVhbGl0eSB3
aGVuIHVzaW5nIEF1ZGlvQ29udGV4dCBzYW1wbGVSYXRlIHBhcmFtZXRlcgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAppbmRleCA2ODNiZTUzZjM2MzgyYWNhZWViOTg0YTg0Y2Q2MGZkMjcyODc0NDZjLi5jZWVh
ZGZlMjliMjhhNDFlMjYzN2U5NGM1NDE1MzBjOTI5YTU0ZTA0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dApAQCAtMTUxNSw2ICsxNTE1LDcgQEAgaWYgKEVOQUJMRV9XRUJHTCkKICAgICAgICAgaHRtbC9j
YW52YXMvRVhUVGV4dHVyZUNvbXByZXNzaW9uUkdUQy5jcHAKICAgICAgICAgaHRtbC9jYW52YXMv
RVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcAogICAgICAgICBodG1sL2NhbnZhcy9FWFRz
UkdCLmNwcAorICAgICAgICBodG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuY3Bw
CiAgICAgICAgIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuY3BwCiAgICAgICAgIGh0
bWwvY2FudmFzL09FU0ZCT1JlbmRlck1pcG1hcC5jcHAKICAgICAgICAgaHRtbC9jYW52YXMvT0VT
U3RhbmRhcmREZXJpdmF0aXZlcy5jcHAKQEAgLTE1NzQsNiArMTU3NSw3IEBAIGxpc3QoQVBQRU5E
IFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUNvbXByZXNzaW9u
UkdUQy5pZGwKICAgICBodG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuaWRs
CiAgICAgaHRtbC9jYW52YXMvRVhUc1JHQi5pZGwKKyAgICBodG1sL2NhbnZhcy9LSFJQYXJhbGxl
bFNoYWRlckNvbXBpbGUuaWRsCiAgICAgaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5p
ZGwKICAgICBodG1sL2NhbnZhcy9PRVNGQk9SZW5kZXJNaXBtYXAuaWRsCiAgICAgaHRtbC9jYW52
YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDQxNmY5N2U2NDNlODU5NTY0MzEwNGUyNTg4
Yjg5YmUyZDc2YjJmZWYuLmI1YmI5NDQ2YWQxZmY4ZWI1ZDVhMzI4ZWIxNGJjN2IwNGQxNDk0MDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApA
QCAtOTg1LDYgKzk4NSw3IEBAICQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFzL0VYVHNSR0IuaWRs
CiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9JbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQu
aWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9JbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRl
eHRTZXR0aW5ncy5pZGwKICQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFzL0ltYWdlU21vb3RoaW5n
UXVhbGl0eS5pZGwKKyQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFzL0tIUlBhcmFsbGVsU2hhZGVy
Q29tcGlsZS5pZGwKICQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVp
bnQuaWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9PRVNGQk9SZW5kZXJNaXBtYXAuaWRs
CiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlkbApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRl
eCAyNTA1NWU1YjIwZjMwNzdiODM5Y2Y3Mjg2MGY4MzkyYTk2NDRmYzRjLi44OTRlMTY3MGJhODQ2
M2UxNGE2MDkwNThhODYzYTEwNDNlMTU5Yzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTE5Myw2ICsxMTkzLDggQEAgJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNJdGVyYXRpb25Db21wb3Np
dGVPcGVyYXRpb24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0l0ZXJhdGlvbkNvbXBvc2l0ZU9wZXJhdGlvbi5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0pzb25XZWJLZXkuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0pzb25XZWJLZXkuaAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNLSFJQYXJhbGxlbFNoYWRlckNv
bXBpbGUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0tleWJvYXJkRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0tleWJvYXJkRXZlbnQuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNLZXlmcmFtZUFuaW1hdGlvbk9wdGlv
bnMuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBiOTFmMzRmNTNlMmY0YTZi
NWM3ZTNiNjhiMDZiNTUxOTI4ZGFmNDgxLi5hMGFkMmU0NTgwOWFhMjZhODM0ZDZiNjVmMDJiMzM4
YjA5MDI0ODZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTkyOSw2ICs5Mjks
NyBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvSW1h
Z2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZh
cy9JbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHRTZXR0aW5ncy5pZGwgXAogICAgICQoV2ViQ29y
ZSkvaHRtbC9jYW52YXMvSW1hZ2VTbW9vdGhpbmdRdWFsaXR5LmlkbCBcCisgICAgJChXZWJDb3Jl
KS9odG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaWRsIFwKICAgICAkKFdlYkNv
cmUpL2h0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuaWRsIFwKICAgICAkKFdlYkNvcmUp
L2h0bWwvY2FudmFzL09FU0ZCT1JlbmRlck1pcG1hcC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRt
bC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA0
YTUxOTk1ZTQ5YzRlYjhmZmEyMDQ3YzFhYWY5M2FhNzJhZjA2MmY1Li42ODQ5N2ZmYWFlYzU0Yjdk
NDY5YWE1YjU0ZTE0OTZkODdjY2U0ZThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTMwMCw2ICsxMzAw
LDcgQEAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcAogaHRtbC9j
YW52YXMvRVhUc1JHQi5jcHAKIGh0bWwvY2FudmFzL0dQVUJhc2VkQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dC5jcHAKIGh0bWwvY2FudmFzL0ltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dC5jcHAKK2h0
bWwvY2FudmFzL0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5jcHAKIGh0bWwvY2FudmFzL09FU0Vs
ZW1lbnRJbmRleFVpbnQuY3BwCiBodG1sL2NhbnZhcy9PRVNGQk9SZW5kZXJNaXBtYXAuY3BwCiBo
dG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcApAQCAtMjkyOCw2ICsyOTI5LDcg
QEAgSlNFWFRTaGFkZXJUZXh0dXJlTE9ELmNwcAogSlNFWFRUZXh0dXJlQ29tcHJlc3Npb25SR1RD
LmNwcAogSlNFWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuY3BwCiBKU0VYVHNSR0IuY3BwCitK
U0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5jcHAKIEpTRWNLZXlQYXJhbXMuY3BwCiBKU0VjZGhL
ZXlEZXJpdmVQYXJhbXMuY3BwCiBKU0VjZHNhUGFyYW1zLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZjYWZjMTFjN2IwNGFh
ZjQ0MTBkZDZhYzJkNDE0YTk4MmRiZTJiMjYuLmI4YTI3NjU2ZDMzYTQ2ZDgzMzlmNmY1ZWY3Nzc5
ZGQzZWVhMWVmZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTEyMzM3LDYgKzEyMzM3LDkgQEAKIAkJQTNBRjlEODIyMDMyNTMy
NDAwNkNBRDA2IC8qIFVzZXJBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBVc2VyQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNBRjlEODMyMDMy
NTY5MTAwNkNBRDA2IC8qIFVzZXJBZ2VudElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFVzZXJBZ2VudElPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTNBRjlEODQyMDMyNTZBMzAwNkNBRDA2IC8qIFVzZXJBZ2VudE1hYy5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVzZXJBZ2VudE1hYy5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTNCRjdFRjIyNTZDOEQ3MjAwNDRCQzc1IC8qIEtIUlBh
cmFsbGVsU2hhZGVyQ29tcGlsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBLSFJQYXJhbGxlbFNo
YWRlckNvbXBpbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBM0JGN0VGNDI1
NkM4RDcyMDA0NEJDNzUgLyogS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBM0JGN0VGNTI1NkM4RDc0MDA0NEJDNzUgLyogS0hSUGFyYWxsZWxTaGFkZXJDb21waWxl
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBM0MzREM1RDI1M0ExOTkyMDA2MUYzMkEgLyogR1BVUGxhdGZvcm1UeXBl
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVQbGF0Zm9ybVR5cGVzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzRDQyQTg0MUYzM0JBMzYwMEE2NEI2MiAv
KiBMYXlvdXRVbml0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExh
eW91dFVuaXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNDA5Qzk4MjExNkQw
REREMDA3MTk3QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGlj
YXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODAxMCw3ICsxODAxMyw2
IEBACiAJCQkJQTFDQzU2NEExRjQ2MTNCQjAwQTQ1NTVCIC8qIFBheW1lbnRSZXF1ZXN0ICovLAog
CQkJCTFEMDAyNjlBMjM3NEI5RjgwMENBNkNERiAvKiBQaWN0dXJlSW5QaWN0dXJlICovLAogCQkJ
CUE5RDI0N0Y5MEQ3NTdFNDEwMEZERjk1OSAvKiBQbHVnaW5zICovLAotCQkJCTg5RjYwQjE3MTU3
RjZBMDIwMDc1RTE1NyAvKiBRdW90YSAqLywKIAkJCQlCQzk4NTQ0NjBDRDNEQTVGMDAwNjlCQzEg
LyogUmFuZ2VzICovLAogCQkJCUNEOEM2QzI0MjJGRERBNjQwMEE3MjBBQiAvKiBSZW1vdGVQbGF5
YmFjayAqLywKIAkJCQk1MTgyQzI0QzFGMzE0MjA5MDA1OUJBN0MgLyogU2VydmljZVdvcmtlcnMg
Ki8sCkBAIC0xOTc2MSw2ICsxOTc2Myw5IEBACiAJCQkJMzE4RUFENEMxRkE5MTM1MjAwOENFRjg2
IC8qIEltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dFNldHRpbmdzLmlkbCAqLywKIAkJCQk3QzE5
M0JBRjFGNUUwRUI0MDA4OEYzRTYgLyogSW1hZ2VTbW9vdGhpbmdRdWFsaXR5LmggKi8sCiAJCQkJ
N0MxOTNCQTgxRjVFMEVBRjAwODhGM0U2IC8qIEltYWdlU21vb3RoaW5nUXVhbGl0eS5pZGwgKi8s
CisJCQkJQTNCRjdFRjIyNTZDOEQ3MjAwNDRCQzc1IC8qIEtIUlBhcmFsbGVsU2hhZGVyQ29tcGls
ZS5jcHAgKi8sCisJCQkJQTNCRjdFRjQyNTZDOEQ3MjAwNDRCQzc1IC8qIEtIUlBhcmFsbGVsU2hh
ZGVyQ29tcGlsZS5oICovLAorCQkJCUEzQkY3RUY1MjU2QzhENzQwMDQ0QkM3NSAvKiBLSFJQYXJh
bGxlbFNoYWRlckNvbXBpbGUuaWRsICovLAogCQkJCTdFNUQ3QTczMTYxRDNGOEYwMDg5NkMzNCAv
KiBPRVNFbGVtZW50SW5kZXhVaW50LmNwcCAqLywKIAkJCQk3RTVEN0E3NDE2MUQzRjhGMDA4OTZD
MzQgLyogT0VTRWxlbWVudEluZGV4VWludC5oICovLAogCQkJCUUxNzY1ODBDMTgwREYzQTAwMDVB
OTZEMSAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmlkbCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFdlYkdMLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFdlYkdMLmNwcAppbmRleCAzZDMwNjYzMTEwNDZhNzYw
NzA0MTI5OWQxM2U4YWY3NTVmYTI2NGJlLi5mM2ViMzZkYWNiODlkOTE1NmE1OTZlYjhlMTNiNGQ2
NTE1MzdmOGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNv
bnZlcnRXZWJHTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252
ZXJ0V2ViR0wuY3BwCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiSlNFWFRUZXh0dXJlQ29t
cHJlc3Npb25SR1RDLmgiCiAjaW5jbHVkZSAiSlNFWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMu
aCIKICNpbmNsdWRlICJKU0VYVHNSR0IuaCIKKyNpbmNsdWRlICJKU0tIUlBhcmFsbGVsU2hhZGVy
Q29tcGlsZS5oIgogI2luY2x1ZGUgIkpTT0VTRWxlbWVudEluZGV4VWludC5oIgogI2luY2x1ZGUg
IkpTT0VTRkJPUmVuZGVyTWlwbWFwLmgiCiAjaW5jbHVkZSAiSlNPRVNTdGFuZGFyZERlcml2YXRp
dmVzLmgiCkBAIC0xODIsNiArMTgzLDggQEAgSlNWYWx1ZSBjb252ZXJ0VG9KU1ZhbHVlKEpTR2xv
YmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTUdsb2JhbE9iamVjdCYKICAgICAg
ICAgcmV0dXJuIHRvSlMoJmxleGljYWxHbG9iYWxPYmplY3QsICZnbG9iYWxPYmplY3QsIHN0YXRp
Y19jYXN0PEVYVEZyYWdEZXB0aCY+KGV4dGVuc2lvbikpOwogICAgIGNhc2UgV2ViR0xFeHRlbnNp
b246OkVYVEJsZW5kTWluTWF4TmFtZToKICAgICAgICAgcmV0dXJuIHRvSlMoJmxleGljYWxHbG9i
YWxPYmplY3QsICZnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PEVYVEJsZW5kTWluTWF4Jj4oZXh0
ZW5zaW9uKSk7CisgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6S0hSUGFyYWxsZWxTaGFkZXJDb21w
aWxlTmFtZToKKyAgICAgICAgcmV0dXJuIHRvSlMoJmxleGljYWxHbG9iYWxPYmplY3QsICZnbG9i
YWxPYmplY3QsIHN0YXRpY19jYXN0PEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZSY+KGV4dGVuc2lv
bikpOwogICAgIGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1N0YW5kYXJkRGVyaXZhdGl2ZXNOYW1l
OgogICAgICAgICByZXR1cm4gdG9KUygmbGV4aWNhbEdsb2JhbE9iamVjdCwgJmdsb2JhbE9iamVj
dCwgc3RhdGljX2Nhc3Q8T0VTU3RhbmRhcmREZXJpdmF0aXZlcyY+KGV4dGVuc2lvbikpOwogICAg
IGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1RleHR1cmVGbG9hdE5hbWU6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41MjcxMzhmMzBmNzVmYWQwNzM5ODU5NGIzMzNhN2RmOWMxNDJkMjgwCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvS0hSUGFyYWxsZWxTaGFk
ZXJDb21waWxlLmNwcApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiS0hSUGFyYWxsZWxTaGFkZXJDb21waWxl
LmgiCisKKyNpbmNsdWRlICJFeHRlbnNpb25zR0wuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9j
SW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FU
RURfSU1QTChLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUpOworCitLSFJQYXJhbGxlbFNoYWRlckNv
bXBpbGU6OktIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZShXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
JiBjb250ZXh0KQorICAgIDogV2ViR0xFeHRlbnNpb24oY29udGV4dCkKK3sKKyAgICBjb250ZXh0
LmdyYXBoaWNzQ29udGV4dEdMKCktPmdldEV4dGVuc2lvbnMoKS5lbnN1cmVFbmFibGVkKCJHTF9L
SFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUiX3MpOworfQorCitLSFJQYXJhbGxlbFNoYWRlckNv
bXBpbGU6On5LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUoKSA9IGRlZmF1bHQ7CisKK1dlYkdMRXh0
ZW5zaW9uOjpFeHRlbnNpb25OYW1lIEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZTo6Z2V0TmFtZSgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZU5hbWU7Cit9CisK
K2Jvb2wgS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlOjpzdXBwb3J0ZWQoY29uc3QgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZSYgY29udGV4dCkKK3sKKyAgICByZXR1cm4gY29udGV4dC5ncmFwaGlj
c0NvbnRleHRHTCgpLT5nZXRFeHRlbnNpb25zKCkuc3VwcG9ydHMoIkdMX0tIUl9wYXJhbGxlbF9z
aGFkZXJfY29tcGlsZSJfcyk7Cit9CisgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmY2ZjMmI1OGVkOWZi
NGU2ZDExNzQxODYxNDdkZjNiZGMwMjUzYTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaApAQCAtMCwwICsxLDQz
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisg
KiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIldlYkdMRXh0ZW5zaW9uLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlIGZp
bmFsIDogcHVibGljIFdlYkdMRXh0ZW5zaW9uIHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVE
KEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZSk7CitwdWJsaWM6CisgICAgZXhwbGljaXQgS0hSUGFy
YWxsZWxTaGFkZXJDb21waWxlKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmKTsKKyAgICB+S0hS
UGFyYWxsZWxTaGFkZXJDb21waWxlKCkgb3ZlcnJpZGUgZmluYWw7CisKKyAgICBFeHRlbnNpb25O
YW1lIGdldE5hbWUoKSBjb25zdCBvdmVycmlkZTsKKworICAgIHN0YXRpYyBib29sIHN1cHBvcnRl
ZChjb25zdCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlJik7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9LSFJQYXJh
bGxlbFNoYWRlckNvbXBpbGUuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvS0hSUGFy
YWxsZWxTaGFkZXJDb21waWxlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMDZjOWNmNmMzNzhkN2Y2MjljMTUz
NGU4NzhiYTA0NDBiN2M2OWU5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlLmlkbApAQCAtMCwwICsxLDMyIEBACisv
KgorKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
KgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqCisqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyogV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRQorKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKKyogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisqIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRgorKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworWworICAgIExlZ2FjeU5vSW50
ZXJmYWNlT2JqZWN0LAorICAgIENvbmRpdGlvbmFsPVdFQkdMLAorICAgIEdlbmVyYXRlSXNSZWFj
aGFibGU9SW1wbFdlYkdMUmVuZGVyaW5nQ29udGV4dAorXSBpbnRlcmZhY2UgS0hSUGFyYWxsZWxT
aGFkZXJDb21waWxlIHsKKyAgICBjb25zdCB1bnNpZ25lZCBsb25nIENPTVBMRVRJT05fU1RBVFVT
X0tIUiA9IDB4OTFCMTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDU1YmMxZjhkYjI0OWQzMzgyMmU3ODg5
Y2E3ODNmNWJlYzAyNWEyOTkuLmM2MzBhMDcwMDViOTIzYzBhMDJjYzRjZThmMGE2NmYyMzU2MzU1
YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmlu
Z0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRl
cmluZ0NvbnRleHQuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiSW1hZ2VCaXRtYXAu
aCIKICNpbmNsdWRlICJJbWFnZURhdGEuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uaCIKKyNpbmNsdWRlICJLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaCIKICNpbmNsdWRl
ICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiT0VTVGV4dHVyZUZsb2F0TGluZWFyLmgiCiAjaW5jbHVk
ZSAiUmVuZGVyQm94LmgiCkBAIC0yNjcxLDYgKzI2NzIsNyBAQCBXZWJHTEV4dGVuc2lvbiogV2Vi
R0wyUmVuZGVyaW5nQ29udGV4dDo6Z2V0RXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgbmFtZSkKICAg
ICBFTkFCTEVfSUZfUkVRVUVTVEVEKEVYVENvbG9yQnVmZmVyRmxvYXQsIG1fZXh0Q29sb3JCdWZm
ZXJGbG9hdCwgIkVYVF9jb2xvcl9idWZmZXJfZmxvYXQiLCBFWFRDb2xvckJ1ZmZlckZsb2F0Ojpz
dXBwb3J0ZWQoKnRoaXMpKTsKICAgICBFTkFCTEVfSUZfUkVRVUVTVEVEKEVYVENvbG9yQnVmZmVy
SGFsZkZsb2F0LCBtX2V4dENvbG9yQnVmZmVySGFsZkZsb2F0LCAiRVhUX2NvbG9yX2J1ZmZlcl9o
YWxmX2Zsb2F0IiwgRVhUQ29sb3JCdWZmZXJIYWxmRmxvYXQ6OnN1cHBvcnRlZCgqdGhpcykpOwog
ICAgIEVOQUJMRV9JRl9SRVFVRVNURUQoRVhURmxvYXRCbGVuZCwgbV9leHRGbG9hdEJsZW5kLCAi
RVhUX2Zsb2F0X2JsZW5kIiwgRVhURmxvYXRCbGVuZDo6c3VwcG9ydGVkKCp0aGlzKSk7CisgICAg
RU5BQkxFX0lGX1JFUVVFU1RFRChLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUsIG1fa2hyUGFyYWxs
ZWxTaGFkZXJDb21waWxlLCAiS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21waWxlIiwgS0hSUGFyYWxs
ZWxTaGFkZXJDb21waWxlOjpzdXBwb3J0ZWQoKnRoaXMpKTsKICAgICByZXR1cm4gbnVsbHB0cjsK
IH0KIApAQCAtMjcxNyw2ICsyNzE5LDggQEAgT3B0aW9uYWw8VmVjdG9yPFN0cmluZz4+IFdlYkdM
MlJlbmRlcmluZ0NvbnRleHQ6OmdldFN1cHBvcnRlZEV4dGVuc2lvbnMoKQogICAgICAgICByZXN1
bHQuYXBwZW5kKCJFWFRfY29sb3JfYnVmZmVyX2hhbGZfZmxvYXQiX3MpOwogICAgIGlmIChFWFRG
bG9hdEJsZW5kOjpzdXBwb3J0ZWQoKnRoaXMpKQogICAgICAgICByZXN1bHQuYXBwZW5kKCJFWFRf
ZmxvYXRfYmxlbmQiX3MpOworICAgIGlmIChLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGU6OnN1cHBv
cnRlZCgqdGhpcykpCisgICAgICAgIHJlc3VsdC5hcHBlbmQoIktIUl9wYXJhbGxlbF9zaGFkZXJf
Y29tcGlsZSJfcyk7CiAKICAgICByZXR1cm4gcmVzdWx0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKaW5kZXggNDQwZDRiOTU0Nzk0MzNjZmZlMTliMmFl
NjE0NWFkMDk5ODViNmJkNy4uNTgwMGE3MTMxM2JjZjhhMDRkZjU2YWYxNzJiMDhmZjU5MGM5MTcx
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCkBAIC00
NCw2ICs0NCw3IEBAIHB1YmxpYzoKICAgICAgICAgRVhUVGV4dHVyZUNvbXByZXNzaW9uUkdUQ05h
bWUsCiAgICAgICAgIEVYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpY05hbWUsCiAgICAgICAgIEVY
VHNSR0JOYW1lLAorICAgICAgICBLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGVOYW1lLAogICAgICAg
ICBPRVNUZXh0dXJlRmxvYXROYW1lLAogICAgICAgICBPRVNUZXh0dXJlRmxvYXRMaW5lYXJOYW1l
LAogICAgICAgICBPRVNUZXh0dXJlSGFsZkZsb2F0TmFtZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDY5M2Q2MjA2
ZjJjOTBmOTVmZGE5NzNiOTk4ZWI5NjQ2N2RjZmVhOTcuLjA3ZGZjYTNlMWQ5OGE5YjEwNzgwMzIx
OTJiNjQ4ODg0NGQ3NmNkYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUg
IkhUTUxWaWRlb0VsZW1lbnQuaCIKICNpbmNsdWRlICJJbWFnZURhdGEuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRlICJLSFJQYXJhbGxlbFNoYWRlckNv
bXBpbGUuaCIKICNpbmNsdWRlICJPRVNFbGVtZW50SW5kZXhVaW50LmgiCiAjaW5jbHVkZSAiT0VT
RkJPUmVuZGVyTWlwbWFwLmgiCiAjaW5jbHVkZSAiT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5oIgpA
QCAtMTU1LDYgKzE1Niw3IEBAIFdlYkdMRXh0ZW5zaW9uKiBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OmdldEV4dGVuc2lvbihjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgfQogICAgIEVOQUJMRV9JRl9S
RVFVRVNURUQoRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLCBtX2V4dFRleHR1cmVGaWx0ZXJB
bmlzb3Ryb3BpYywgIkVYVF90ZXh0dXJlX2ZpbHRlcl9hbmlzb3Ryb3BpYyIsIGVuYWJsZVN1cHBv
cnRlZEV4dGVuc2lvbigiR0xfRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIl9zKSk7CiAg
ICAgRU5BQkxFX0lGX1JFUVVFU1RFRChFWFRUZXh0dXJlQ29tcHJlc3Npb25SR1RDLCBtX2V4dFRl
eHR1cmVDb21wcmVzc2lvblJHVEMsICJFWFRfdGV4dHVyZV9jb21wcmVzc2lvbl9yZ3RjIiwgZW5h
YmxlU3VwcG9ydGVkRXh0ZW5zaW9uKCJHTF9FWFRfdGV4dHVyZV9jb21wcmVzc2lvbl9yZ3RjIl9z
KSk7CisgICAgRU5BQkxFX0lGX1JFUVVFU1RFRChLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUsIG1f
a2hyUGFyYWxsZWxTaGFkZXJDb21waWxlLCAiS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21waWxlIiwg
S0hSUGFyYWxsZWxTaGFkZXJDb21waWxlOjpzdXBwb3J0ZWQoKnRoaXMpKTsKICAgICBFTkFCTEVf
SUZfUkVRVUVTVEVEKE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMsIG1fb2VzU3RhbmRhcmREZXJpdmF0
aXZlcywgIk9FU19zdGFuZGFyZF9kZXJpdmF0aXZlcyIsIGVuYWJsZVN1cHBvcnRlZEV4dGVuc2lv
bigiR0xfT0VTX3N0YW5kYXJkX2Rlcml2YXRpdmVzIl9zKSk7CiAgICAgRU5BQkxFX0lGX1JFUVVF
U1RFRChPRVNUZXh0dXJlRmxvYXQsIG1fb2VzVGV4dHVyZUZsb2F0LCAiT0VTX3RleHR1cmVfZmxv
YXQiLCBPRVNUZXh0dXJlRmxvYXQ6OnN1cHBvcnRlZCgqdGhpcykpOwogICAgIEVOQUJMRV9JRl9S
RVFVRVNURUQoT0VTVGV4dHVyZUZsb2F0TGluZWFyLCBtX29lc1RleHR1cmVGbG9hdExpbmVhciwg
Ik9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciIsIGVuYWJsZVN1cHBvcnRlZEV4dGVuc2lvbigiR0xf
T0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIl9zKSk7CkBAIC0yNzUsNiArMjc3LDggQEAgT3B0aW9u
YWw8VmVjdG9yPFN0cmluZz4+IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0U3VwcG9ydGVkRXh0
ZW5zaW9ucygpCiAgICAgICAgIHJlc3VsdC5hcHBlbmQoIkVYVF9mbG9hdF9ibGVuZCJfcyk7CiAg
ICAgaWYgKFdlYkdMQ29sb3JCdWZmZXJGbG9hdDo6c3VwcG9ydGVkKCp0aGlzKSkKICAgICAgICAg
cmVzdWx0LmFwcGVuZCgiV0VCR0xfY29sb3JfYnVmZmVyX2Zsb2F0Il9zKTsKKyAgICBpZiAoS0hS
UGFyYWxsZWxTaGFkZXJDb21waWxlOjpzdXBwb3J0ZWQoKnRoaXMpKQorICAgICAgICByZXN1bHQu
YXBwZW5kKCJLSFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUiKTsKIAogICAgIHJldHVybiByZXN1
bHQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2UuY3BwCmluZGV4IDE4NWU4YzYyZTZmYmUzMWYzMTM4OGMwYzlmODBk
ODFjZWUyNGEzYjEuLjk5NDZkMjI1MDQ3ZjVmMjY2NWM3MWExMGFkZTAyZjE1ZDYyYzlmZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2UuY3BwCkBAIC02MSw2ICs2MSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIkpTRXhlY1N0
YXRlLmgiCisjaW5jbHVkZSAiS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlLmgiCiAjaW5jbHVkZSAi
TG9nZ2luZy5oIgogI2luY2x1ZGUgIk5hdmlnYXRvcldlYlhSLmgiCiAjaW5jbHVkZSAiTm90SW1w
bGVtZW50ZWQuaCIKQEAgLTMxNzksNyArMzE4MCwxNCBAQCBXZWJHTEFueSBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpnZXRQYXJhbWV0ZXIoR0NHTGVudW0gcG5hbWUpCiAKIFdlYkdMQW55IFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFByb2dyYW1QYXJhbWV0ZXIoV2ViR0xQcm9ncmFt
JiBwcm9ncmFtLCBHQ0dMZW51bSBwbmFtZSkKIHsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVu
ZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVyKCJnZXRQcm9ncmFtUGFyYW1l
dGVyIiwgJnByb2dyYW0pKQorICAgIC8vIENPTVBMRVRJT05fU1RBVFVTX0tIUiBzaG91bGQgYWx3
YXlzIHJldHVybiB0cnVlIGlmIHRoZSBjb250ZXh0IGlzIGxvc3QsIHNvIGFwcGxpY2F0aW9ucwor
ICAgIC8vIGRvbid0IGdldCBzdHVjayBpbiBhbiBpbmZpbml0ZSBwb2xsaW5nIGxvb3AuCisgICAg
aWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSkgeworICAgICAgICBpZiAocG5hbWUgPT0gRXh0
ZW5zaW9uc0dMOjpDT01QTEVUSU9OX1NUQVRVU19LSFIpCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorICAgIGlmICghdmFsaWRhdGVXZWJH
TFByb2dyYW1PclNoYWRlcigiZ2V0UHJvZ3JhbVBhcmFtZXRlciIsICZwcm9ncmFtKSkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBzd2l0Y2ggKHBuYW1lKSB7CkBAIC0zMjAyLDYgKzMy
MTAsMTEgQEAgV2ViR0xBbnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0UHJvZ3JhbVBh
cmFtZXRlcihXZWJHTFByb2dyYW0mIHByb2dyYW0sIEcKICAgICAgICAgICAgIHJldHVybiB2YWx1
ZTsKICAgICAgICAgfQogI2VuZGlmIC8vIFVTRShBTkdMRSkKKyAgICBjYXNlIEV4dGVuc2lvbnNH
TDo6Q09NUExFVElPTl9TVEFUVVNfS0hSOgorICAgICAgICBpZiAobV9raHJQYXJhbGxlbFNoYWRl
ckNvbXBpbGUpCisgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Ym9vbD4obV9jb250ZXh0
LT5nZXRQcm9ncmFtaShwcm9ncmFtLm9iamVjdCgpLCBwbmFtZSkpOworICAgICAgICBzeW50aGVz
aXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9FTlVNLCAiZ2V0UHJvZ3JhbVBh
cmFtZXRlciIsICJLSFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUgbm90IGVuYWJsZWQiKTsKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgZGVmYXVsdDoKICNpZiBFTkFCTEUoV0VCR0wyKQog
ICAgICAgICBpZiAoaXNXZWJHTDIoKSkgewpAQCAtMzI5OCw4ICszMzExLDE2IEBAIFdlYkdMQW55
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihHQ0dM
ZW51bSB0YXJnZXQsIEdDCiAKIFdlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omdl
dFNoYWRlclBhcmFtZXRlcihXZWJHTFNoYWRlciYgc2hhZGVyLCBHQ0dMZW51bSBwbmFtZSkKIHsK
LSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVdlYkdMUHJvZ3Jh
bU9yU2hhZGVyKCJnZXRTaGFkZXJQYXJhbWV0ZXIiLCAmc2hhZGVyKSkKKyAgICAvLyBDT01QTEVU
SU9OX1NUQVRVU19LSFIgc2hvdWxkIGFsd2F5cyByZXR1cm4gdHJ1ZSBpZiB0aGUgY29udGV4dCBp
cyBsb3N0LCBzbyBhcHBsaWNhdGlvbnMKKyAgICAvLyBkb24ndCBnZXQgc3R1Y2sgaW4gYW4gaW5m
aW5pdGUgcG9sbGluZyBsb29wLgorICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkpIHsK
KyAgICAgICAgaWYgKHBuYW1lID09IEV4dGVuc2lvbnNHTDo6Q09NUExFVElPTl9TVEFUVVNfS0hS
KQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAg
IH0KKyAgICBpZiAoIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldFNoYWRlclBhcmFt
ZXRlciIsICZzaGFkZXIpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwogICAgIHN3aXRjaCAo
cG5hbWUpIHsKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERUxFVEVfU1RBVFVTOgogICAg
ICAgICByZXR1cm4gc2hhZGVyLmlzRGVsZXRlZCgpOwpAQCAtMzMwNyw2ICszMzI4LDExIEBAIFdl
YkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmdldFNoYWRlclBhcmFtZXRlcihXZWJH
TFNoYWRlciYgc2hhZGVyLCBHQ0dMCiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxib29sPiht
X2NvbnRleHQtPmdldFNoYWRlcmkoc2hhZGVyLm9iamVjdCgpLCBwbmFtZSkpOwogICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0R0w6OlNIQURFUl9UWVBFOgogICAgICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KG1fY29udGV4dC0+Z2V0U2hhZGVyaShzaGFkZXIub2JqZWN0KCksIHBuYW1l
KSk7CisgICAgY2FzZSBFeHRlbnNpb25zR0w6OkNPTVBMRVRJT05fU1RBVFVTX0tIUjoKKyAgICAg
ICAgaWYgKG1fa2hyUGFyYWxsZWxTaGFkZXJDb21waWxlKQorICAgICAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PGJvb2w+KG1fY29udGV4dC0+Z2V0U2hhZGVyaShzaGFkZXIub2JqZWN0KCksIHBu
YW1lKSk7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZB
TElEX0VOVU0sICJnZXRTaGFkZXJQYXJhbWV0ZXIiLCAiS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21w
aWxlIG5vdCBlbmFibGVkIik7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIGRlZmF1bHQ6
CiAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX0VO
VU0sICJnZXRTaGFkZXJQYXJhbWV0ZXIiLCAiaW52YWxpZCBwYXJhbWV0ZXIgbmFtZSIpOwogICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTM3MDIsNiArMzcyOCw3IEBAIGJvb2wgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6ZXh0ZW5zaW9uSXNFbmFibGVkKGNvbnN0IFN0cmluZyYgbmFtZSkK
ICAgICBDSEVDS19FWFRFTlNJT04obV9leHRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMsICJFWFRf
dGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKTsKICAgICBDSEVDS19FWFRFTlNJT04obV9leHRU
ZXh0dXJlRmlsdGVyQW5pc290cm9waWMsICJXRUJLSVRfRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNv
dHJvcGljIik7CiAgICAgQ0hFQ0tfRVhURU5TSU9OKG1fZXh0U2hhZGVyVGV4dHVyZUxPRCwgIkVY
VF9zaGFkZXJfdGV4dHVyZV9sb2QiKTsKKyAgICBDSEVDS19FWFRFTlNJT04obV9raHJQYXJhbGxl
bFNoYWRlckNvbXBpbGUsICJLSFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUiKTsKICAgICBDSEVD
S19FWFRFTlNJT04obV9vZXNUZXh0dXJlRmxvYXQsICJPRVNfdGV4dHVyZV9mbG9hdCIpOwogICAg
IENIRUNLX0VYVEVOU0lPTihtX29lc1RleHR1cmVGbG9hdExpbmVhciwgIk9FU190ZXh0dXJlX2Zs
b2F0X2xpbmVhciIpOwogICAgIENIRUNLX0VYVEVOU0lPTihtX29lc1RleHR1cmVIYWxmRmxvYXQs
ICJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0Iik7CkBAIC03Nzk1LDYgKzc4MjIsNyBAQCB2b2lkIFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VFeHRlbnNpb25zKExvc3RDb250ZXh0TW9kZSBt
b2RlKQogICAgIExPU0VfRVhURU5TSU9OKG1fZXh0VGV4dHVyZUNvbXByZXNzaW9uUkdUQyk7CiAg
ICAgTE9TRV9FWFRFTlNJT04obV9leHRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMpOwogICAgIExP
U0VfRVhURU5TSU9OKG1fZXh0U2hhZGVyVGV4dHVyZUxPRCk7CisgICAgTE9TRV9FWFRFTlNJT04o
bV9raHJQYXJhbGxlbFNoYWRlckNvbXBpbGUpOwogICAgIExPU0VfRVhURU5TSU9OKG1fb2VzVGV4
dHVyZUZsb2F0KTsKICAgICBMT1NFX0VYVEVOU0lPTihtX29lc1RleHR1cmVGbG9hdExpbmVhcik7
CiAgICAgTE9TRV9FWFRFTlNJT04obV9vZXNUZXh0dXJlSGFsZkZsb2F0KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaApp
bmRleCBhNzFkMDM2YWEwZGVhNTJiNDU3OTA5ZmJmZmRjM2FkZjgwZjUxMGNjLi45OTVkNDNjYmM0
ZTI3MGEwNTVlMmQ2YzgzMDA2MDlmYjBmMGY2ZmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCkBAIC04MCw2ICs4
MCw3IEBAIGNsYXNzIEVYVEZyYWdEZXB0aDsKIGNsYXNzIEhUTUxJbWFnZUVsZW1lbnQ7CiBjbGFz
cyBJbWFnZURhdGE7CiBjbGFzcyBJbnRTaXplOworY2xhc3MgS0hSUGFyYWxsZWxTaGFkZXJDb21w
aWxlOwogY2xhc3MgT0VTU3RhbmRhcmREZXJpdmF0aXZlczsKIGNsYXNzIE9FU1RleHR1cmVGbG9h
dDsKIGNsYXNzIE9FU1RleHR1cmVGbG9hdExpbmVhcjsKQEAgLTY3NCw2ICs2NzUsNyBAQCBwcm90
ZWN0ZWQ6CiAgICAgUmVmUHRyPEVYVFRleHR1cmVDb21wcmVzc2lvblJHVEM+IG1fZXh0VGV4dHVy
ZUNvbXByZXNzaW9uUkdUQzsKICAgICBSZWZQdHI8RVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGlj
PiBtX2V4dFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYzsKICAgICBSZWZQdHI8RVhUU2hhZGVyVGV4
dHVyZUxPRD4gbV9leHRTaGFkZXJUZXh0dXJlTE9EOworICAgIFJlZlB0cjxLSFJQYXJhbGxlbFNo
YWRlckNvbXBpbGU+IG1fa2hyUGFyYWxsZWxTaGFkZXJDb21waWxlOwogICAgIFJlZlB0cjxPRVNU
ZXh0dXJlRmxvYXQ+IG1fb2VzVGV4dHVyZUZsb2F0OwogICAgIFJlZlB0cjxPRVNUZXh0dXJlRmxv
YXRMaW5lYXI+IG1fb2VzVGV4dHVyZUZsb2F0TGluZWFyOwogICAgIFJlZlB0cjxPRVNUZXh0dXJl
SGFsZkZsb2F0PiBtX29lc1RleHR1cmVIYWxmRmxvYXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zR0wuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnNHTC5oCmluZGV4IGJhODY1YjMzMDhlNmM5NDU4MjIx
MjIzNzc5NmQ2ZmQ1Nzc0ODQ3ZjguLjFmYzg1OTExN2I0ZTMyNGFhZjhmZGViOWQyZjY0MzI3ZDk0
NDhkOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVu
c2lvbnNHTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lv
bnNHTC5oCkBAIC0yNjMsNyArMjYzLDEwIEBAIHB1YmxpYzoKICAgICAgICAgQ09MT1JfQVRUQUNI
TUVOVDEyX0VYVCA9IDB4OENFQywKICAgICAgICAgQ09MT1JfQVRUQUNITUVOVDEzX0VYVCA9IDB4
OENFRCwKICAgICAgICAgQ09MT1JfQVRUQUNITUVOVDE0X0VYVCA9IDB4OENFRSwKLSAgICAgICAg
Q09MT1JfQVRUQUNITUVOVDE1X0VYVCA9IDB4OENFRgorICAgICAgICBDT0xPUl9BVFRBQ0hNRU5U
MTVfRVhUID0gMHg4Q0VGLAorCisgICAgICAgIC8vIEdMX0tIUl9wYXJhbGxlbF9zaGFkZXJfY29t
cGlsZQorICAgICAgICBDT01QTEVUSU9OX1NUQVRVU19LSFIgPSAweDkxQjEsCiAgICAgfTsKIAog
ICAgIC8vIFdlYkdMIGZ1bmN0aW9ucyBpbiBmb3JtYXQgZ2VuZXJhdGUtZ3B1cC13ZWJnbCB1bmRl
cnN0YW5kcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA5MTZkNDkyOWY3ZWVkMDQ4YzI4MjAwNDU1NWRkMmU4MWRlNzRkMmI0
Li40ZmYxNzY4NzRkNDU1YzY0MmQ3ZWNlYmYwNGFlZmIzYmQ0ZTZmMjdlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMjAtMTEtMjQgIEphbWVzIERhcnBpbmlhbiAgPGpkYXJwaW5pYW5AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFN1cHBvcnQgS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21waWxlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTkyNjYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBLZW4gUnVzc2VsbC4KKworICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL2V4dGVuc2lvbnMva2hyLXBhcmFsbGVsLXNoYWRlci1jb21waWxlLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9raHItcGFy
YWxsZWwtc2hhZGVyLWNvbXBpbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9raHItcGFyYWxsZWwt
c2hhZGVyLWNvbXBpbGUuaHRtbDogQWRkZWQuCisKIDIwMjAtMTEtMjEgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBQb29yIHJlc2FtcGxpbmcgcXVhbGl0eSB3aGVu
IHVzaW5nIEF1ZGlvQ29udGV4dCBzYW1wbGVSYXRlIHBhcmFtZXRlcgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9raHItcGFyYWxsZWwtc2hhZGVy
LWNvbXBpbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZXh0
ZW5zaW9ucy9raHItcGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjM1OTM4NjE5MTQ1ZWFkY2ZhOTc3MmMxNjFlMjVhNDM5NDhlMGViOTEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9leHRlbnNpb25zL2toci1wYXJh
bGxlbC1zaGFkZXItY29tcGlsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitUaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9raHItcGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUuaHRt
bAorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZXh0ZW5z
aW9ucy9raHItcGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMva2hyLXBhcmFsbGVsLXNoYWRlci1jb21waWxlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uY2ZlODdkNWJhYTJmYjQyY2ZhZjM2MThkOTcwN2VhMjQyMDM1MWNmYQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMv
a2hyLXBhcmFsbGVsLXNoYWRlci1jb21waWxlLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBU
aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERP
IE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Ig
a2hyLXBhcmFsbGVsLXNoYWRlci1jb21waWxlLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9raHIt
cGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9raHItcGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUu
aHRtbDwvYT4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9raHItcGFyYWxsZWwtc2hh
ZGVyLWNvbXBpbGUuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9k
aXY+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvZXh0ZW5zaW9ucy9raHItcGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2V4dGVuc2lv
bnMva2hyLXBhcmFsbGVsLXNoYWRlci1jb21waWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmRjMDdiMGI3
OGJjYmFjMTc4ZjNlNjY3YzNkMmRlYWI5YTNkMjZmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2V4dGVu
c2lvbnMva2hyLXBhcmFsbGVsLXNoYWRlci1jb21waWxlLmh0bWwKQEAgLTAsMCArMSw5MyBAQAor
PCEtLQorQ29weXJpZ2h0IChjKSAyMDIwIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KK1VzZSBvZiB0
aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQg
Y2FuIGJlCitmb3VuZCBpbiB0aGUgTElDRU5TRS50eHQgZmlsZS4KKy0tPgorCis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9qcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisKKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiVGVzdCBLSFJfcGFy
YWxsZWxfc2hhZGVyX2NvbXBpbGUiKTsKKworY29uc3Qgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisK
K2NvbnN0IGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgpOworY29uc3QgbG9zZUNvbnRleHQgPSB3
dHUuZ2V0RXh0ZW5zaW9uV2l0aEtub3duUHJlZml4ZXMoZ2wsICJXRUJHTF9sb3NlX2NvbnRleHQi
KTsKKworbGV0IGNvdW50ZXIgPSAwOworY29uc3QgdmVydGV4U291cmNlID0gKCkgPT4gYAordm9p
ZCBtYWluKCkgeworICAgIGdsX1Bvc2l0aW9uID0gdmVjNCgke2NvdW50ZXIrK30sIDEsIDEsIDEp
OworfWA7Citjb25zdCBmcmFnbWVudFNvdXJjZSA9ICgpID0+IGAKK3ZvaWQgbWFpbigpIHsKKyAg
ICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDAuJHtjb3VudGVyKyt9LCAxLCAxLCAxKTsKK31gOworCitj
b25zdCB2cyA9IGdsLmNyZWF0ZVNoYWRlcihnbC5WRVJURVhfU0hBREVSKTsKK2NvbnN0IGZzID0g
Z2wuY3JlYXRlU2hhZGVyKGdsLkZSQUdNRU5UX1NIQURFUik7Citjb25zdCBwcm9ncmFtID0gZ2wu
Y3JlYXRlUHJvZ3JhbSgpOworZ2wuYXR0YWNoU2hhZGVyKHByb2dyYW0sIHZzKTsKK2dsLmF0dGFj
aFNoYWRlcihwcm9ncmFtLCBmcyk7CisKK2NvbnN0IENPTVBMRVRJT05fU1RBVFVTX0tIUiA9IDB4
OTFCMTsKKworZ2wuc2hhZGVyU291cmNlKHZzLCB2ZXJ0ZXhTb3VyY2UoKSk7CitnbC5jb21waWxl
U2hhZGVyKHZzKTsKK2xldCBzdGF0dXMgPSBnbC5nZXRTaGFkZXJQYXJhbWV0ZXIodnMsIENPTVBM
RVRJT05fU1RBVFVTX0tIUik7CitpZiAoc3RhdHVzICE9PSBudWxsKSB0ZXN0RmFpbGVkKCdFeHRl
bnNpb24gZGlzYWJsZWQsIHN0YXR1cyBzaG91bGQgYmUgbnVsbCcpOword3R1LmdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiZXh0ZW5zaW9uIGRpc2FibGVkIik7CisKK2dsLnNo
YWRlclNvdXJjZShmcywgZnJhZ21lbnRTb3VyY2UoKSk7CitnbC5jb21waWxlU2hhZGVyKGZzKTsK
KworZ2wubGlua1Byb2dyYW0ocHJvZ3JhbSk7CitzdGF0dXMgPSBnbC5nZXRQcm9ncmFtUGFyYW1l
dGVyKHByb2dyYW0sIENPTVBMRVRJT05fU1RBVFVTX0tIUik7CitpZiAoc3RhdHVzICE9PSBudWxs
KSB0ZXN0RmFpbGVkKCdFeHRlbnNpb24gZGlzYWJsZWQsIHN0YXR1cyBzaG91bGQgYmUgbnVsbCcp
Oword3R1LmdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiZXh0ZW5zaW9uIGRp
c2FibGVkIik7CisKK2NvbnN0IGV4dCA9IHd0dS5nZXRFeHRlbnNpb25XaXRoS25vd25QcmVmaXhl
cyhnbCwgIktIUl9wYXJhbGxlbF9zaGFkZXJfY29tcGlsZSIpOworaWYgKCFleHQpIHsKKyAgICB0
ZXN0UGFzc2VkKCJObyBLSFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUgc3VwcG9ydCAtLSB0aGlz
IGlzIGxlZ2FsIik7Cit9IGVsc2UgeworICAgIHRlc3RQYXNzZWQoIlN1Y2Nlc3NmdWxseSBlbmFi
bGVkIEtIUl9wYXJhbGxlbF9zaGFkZXJfY29tcGlsZSBleHRlbnNpb24iKTsKKworICAgIHNob3Vs
ZEJlKCJleHQuQ09NUExFVElPTl9TVEFUVVNfS0hSIiwgIjB4OTFCMSIpOworCisgICAgZGVidWco
IkNoZWNraW5nIHRoYXQgc3RhdHVzIGlzIGEgYm9vbGVhbi4iKTsKKyAgICBnbC5zaGFkZXJTb3Vy
Y2UodnMsIHZlcnRleFNvdXJjZSgpKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKHZzKTsKKyAgICBs
ZXQgc3RhdHVzID0gZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHZzLCBDT01QTEVUSU9OX1NUQVRVU19L
SFIpOworICAgIGlmIChzdGF0dXMgIT09IHRydWUgJiYgc3RhdHVzICE9PSBmYWxzZSkgdGVzdEZh
aWxlZCgic3RhdHVzIHNob3VsZCBiZSBhIGJvb2xlYW4iKTsKKworICAgIGdsLmxpbmtQcm9ncmFt
KHByb2dyYW0pOworICAgIHN0YXR1cyA9IGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZ3JhbSwg
Q09NUExFVElPTl9TVEFUVVNfS0hSKTsKKyAgICBpZiAoc3RhdHVzICE9PSB0cnVlICYmIHN0YXR1
cyAhPT0gZmFsc2UpIHRlc3RGYWlsZWQoInN0YXR1cyBzaG91bGQgYmUgYSBib29sZWFuIik7CisK
KyAgICBkZWJ1ZygiQ2hlY2tpbmcgdGhhdCBzdGF0dXMgaXMgdHJ1ZSB3aGVuIGNvbnRleHQgaXMg
bG9zdC4iKTsKKyAgICBpZiAobG9zZUNvbnRleHQpIHsKKyAgICAgICAgbG9zZUNvbnRleHQubG9z
ZUNvbnRleHQoKTsKKyAgICAgICAgc3RhdHVzID0gZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHZzLCBD
T01QTEVUSU9OX1NUQVRVU19LSFIpOworICAgICAgICBpZiAoc3RhdHVzICE9PSB0cnVlKSB0ZXN0
RmFpbGVkKCJzdGF0dXMgc2hvdWxkIGJlIHRydWUgd2hlbiBjb250ZXh0IGlzIGxvc3QiKTsKKyAg
ICAgICAgc3RhdHVzID0gZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9ncmFtLCBDT01QTEVUSU9O
X1NUQVRVU19LSFIpOworICAgICAgICBpZiAoc3RhdHVzICE9PSB0cnVlKSB0ZXN0RmFpbGVkKCJz
dGF0dXMgc2hvdWxkIGJlIHRydWUgd2hlbiBjb250ZXh0IGlzIGxvc3QiKTsKKyAgICB9Cit9CisK
K2NvbnN0IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415036</attachid>
            <date>2020-11-30 11:10:26 -0800</date>
            <delta_ts>2020-11-30 12:30:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219266-20201130111026.patch</filename>
            <type>text/plain</type>
            <size>34568</size>
            <attacher name="James Darpinian">jdarpinian</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMjUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzhkYzQzNDgwYzlmMjZm
OGNkZDg5NjY5MzUxMjMxNjliYTQ4N2M3NC4uNWNlMzY3ZjM5NzgwMWY0MDYzY2IzN2RhN2FkZjE1
N2ZkMjUyNTJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTExLTI0ICBKYW1l
cyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBTdXBwb3J0
IEtIUl9wYXJhbGxlbF9zaGFkZXJfY29tcGlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MjY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0
aCBSdXNzZWxsLgorCisgICAgICAgIFRlc3RlZCBieSB3ZWJnbC9jb25mb3JtYW5jZS9leHRlbnNp
b25zL2toci1wYXJhbGxlbC1zaGFkZXItY29tcGlsZS5odG1sCisKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9N
Q29udmVydFdlYkdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRUb0pTVmFsdWUpOgor
ICAgICAgICAqIGh0bWwvY2FudmFzL0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6S0hSUGFyYWxsZWxTaGFkZXJDb21waWxlOjpLSFJQYXJhbGxl
bFNoYWRlckNvbXBpbGUpOgorICAgICAgICAoV2ViQ29yZTo6S0hSUGFyYWxsZWxTaGFkZXJDb21w
aWxlOjpnZXROYW1lIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OktIUlBhcmFsbGVsU2hhZGVy
Q29tcGlsZTo6c3VwcG9ydGVkKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNo
YWRlckNvbXBpbGUuaDogQWRkZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvS0hSUGFyYWxsZWxT
aGFkZXJDb21waWxlLmlkbDogQWRkZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250
ZXh0OjpnZXRFeHRlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29u
dGV4dDo6Z2V0U3VwcG9ydGVkRXh0ZW5zaW9ucyk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2Vi
R0xFeHRlbnNpb24uaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRl
bnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRTdXBw
b3J0ZWRFeHRlbnNpb25zKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2U6OmdldFByb2dyYW1QYXJhbWV0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6Z2V0U2hhZGVyUGFyYW1ldGVyKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmV4dGVuc2lvbklzRW5hYmxlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpsb3NlRXh0ZW5zaW9ucyk6CisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnNHTC5oOgorCiAyMDIwLTExLTMwICBTaW1vbiBG
cmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVp
bGQgZml4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA2ODNiZTUzZjM2MzgyYWNhZWViOTg0YTg0
Y2Q2MGZkMjcyODc0NDZjLi5jZWVhZGZlMjliMjhhNDFlMjYzN2U5NGM1NDE1MzBjOTI5YTU0ZTA0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTUxNSw2ICsxNTE1LDcgQEAgaWYgKEVOQUJMRV9X
RUJHTCkKICAgICAgICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUNvbXByZXNzaW9uUkdUQy5jcHAK
ICAgICAgICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcAogICAg
ICAgICBodG1sL2NhbnZhcy9FWFRzUkdCLmNwcAorICAgICAgICBodG1sL2NhbnZhcy9LSFJQYXJh
bGxlbFNoYWRlckNvbXBpbGUuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRl
eFVpbnQuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL09FU0ZCT1JlbmRlck1pcG1hcC5jcHAKICAg
ICAgICAgaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAKQEAgLTE1NzQsNiAr
MTU3NSw3IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgaHRtbC9jYW52YXMv
RVhUVGV4dHVyZUNvbXByZXNzaW9uUkdUQy5pZGwKICAgICBodG1sL2NhbnZhcy9FWFRUZXh0dXJl
RmlsdGVyQW5pc290cm9waWMuaWRsCiAgICAgaHRtbC9jYW52YXMvRVhUc1JHQi5pZGwKKyAgICBo
dG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaWRsCiAgICAgaHRtbC9jYW52YXMv
T0VTRWxlbWVudEluZGV4VWludC5pZGwKICAgICBodG1sL2NhbnZhcy9PRVNGQk9SZW5kZXJNaXBt
YXAuaWRsCiAgICAgaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDQxNmY5
N2U2NDNlODU5NTY0MzEwNGUyNTg4Yjg5YmUyZDc2YjJmZWYuLmI1YmI5NDQ2YWQxZmY4ZWI1ZDVh
MzI4ZWIxNGJjN2IwNGQxNDk0MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtOTg1LDYgKzk4NSw3IEBAICQoUFJPSkVDVF9ESVIpL2h0
bWwvY2FudmFzL0VYVHNSR0IuaWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9JbWFnZUJp
dG1hcFJlbmRlcmluZ0NvbnRleHQuaWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9JbWFn
ZUJpdG1hcFJlbmRlcmluZ0NvbnRleHRTZXR0aW5ncy5pZGwKICQoUFJPSkVDVF9ESVIpL2h0bWwv
Y2FudmFzL0ltYWdlU21vb3RoaW5nUXVhbGl0eS5pZGwKKyQoUFJPSkVDVF9ESVIpL2h0bWwvY2Fu
dmFzL0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5pZGwKICQoUFJPSkVDVF9ESVIpL2h0bWwvY2Fu
dmFzL09FU0VsZW1lbnRJbmRleFVpbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9P
RVNGQk9SZW5kZXJNaXBtYXAuaWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9PRVNTdGFu
ZGFyZERlcml2YXRpdmVzLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1v
dXRwdXQueGNmaWxlbGlzdAppbmRleCAyNTA1NWU1YjIwZjMwNzdiODM5Y2Y3Mjg2MGY4MzkyYTk2
NDRmYzRjLi44OTRlMTY3MGJhODQ2M2UxNGE2MDkwNThhODYzYTEwNDNlMTU5Yzg5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTE5
Myw2ICsxMTkzLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNJdGVyYXRpb25Db21wb3NpdGVPcGVyYXRpb24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0l0ZXJhdGlvbkNvbXBvc2l0ZU9wZXJhdGlvbi5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0pzb25XZWJL
ZXkuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0pz
b25XZWJLZXkuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0tleWJvYXJkRXZlbnQuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0tleWJvYXJk
RXZlbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNL
ZXlmcmFtZUFuaW1hdGlvbk9wdGlvbnMuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpp
bmRleCBiOTFmMzRmNTNlMmY0YTZiNWM3ZTNiNjhiMDZiNTUxOTI4ZGFmNDgxLi5hMGFkMmU0NTgw
OWFhMjZhODM0ZDZiNjVmMDJiMzM4YjA5MDI0ODZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKQEAgLTkyOSw2ICs5MjksNyBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2Vi
Q29yZSkvaHRtbC9jYW52YXMvSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0LmlkbCBcCiAgICAg
JChXZWJDb3JlKS9odG1sL2NhbnZhcy9JbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHRTZXR0aW5n
cy5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvSW1hZ2VTbW9vdGhpbmdRdWFsaXR5
LmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBp
bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQu
aWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU0ZCT1JlbmRlck1pcG1hcC5pZGwg
XAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dAppbmRleCA0MjAyNjIwZWIxZjBlMTQxN2NjY2U5OWU1ODIwMDFhODlhNzNh
NzZlLi5iZTdkNWIwZGZkZTllZmNiODMyZjIxNjNkYzMxNTAzMTIxNmU2NDcyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dApAQCAtMTMwNSw2ICsxMzA1LDcgQEAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFu
aXNvdHJvcGljLmNwcAogaHRtbC9jYW52YXMvRVhUc1JHQi5jcHAKIGh0bWwvY2FudmFzL0dQVUJh
c2VkQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5jcHAKIGh0bWwvY2FudmFzL0ltYWdlQml0bWFwUmVu
ZGVyaW5nQ29udGV4dC5jcHAKK2h0bWwvY2FudmFzL0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5j
cHAKIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuY3BwCiBodG1sL2NhbnZhcy9PRVNG
Qk9SZW5kZXJNaXBtYXAuY3BwCiBodG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmNw
cApAQCAtMjkzNCw2ICsyOTM1LDcgQEAgSlNFWFRTaGFkZXJUZXh0dXJlTE9ELmNwcAogSlNFWFRU
ZXh0dXJlQ29tcHJlc3Npb25SR1RDLmNwcAogSlNFWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMu
Y3BwCiBKU0VYVHNSR0IuY3BwCitKU0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5jcHAKIEpTRWNL
ZXlQYXJhbXMuY3BwCiBKU0VjZGhLZXlEZXJpdmVQYXJhbXMuY3BwCiBKU0VjZHNhUGFyYW1zLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDM4NDUzOWM0ZDQ4MTNlNWU2ODg3MjQxODExYmI1NDk3MDA0MWI4MTUuLjhhMjM5NTA3
ZWJiZDg1OTkwMjI1ZmJlYjE4NTA1MDEwNDg4NjExMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyMzU0LDYgKzEyMzU0LDkg
QEAKIAkJQTNBRjlEODIyMDMyNTMyNDAwNkNBRDA2IC8qIFVzZXJBZ2VudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBVc2VyQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQTNBRjlEODMyMDMyNTY5MTAwNkNBRDA2IC8qIFVzZXJBZ2VudElPUy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVzZXJBZ2VudElPUy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNBRjlEODQyMDMyNTZBMzAwNkNBRDA2IC8qIFVz
ZXJBZ2VudE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVz
ZXJBZ2VudE1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTNCRjdFRjIyNTZD
OEQ3MjAwNDRCQzc1IC8qIEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlBM0JGN0VGNDI1NkM4RDcyMDA0NEJDNzUgLyogS0hSUGFyYWxsZWxTaGFkZXJD
b21waWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBM0JGN0VGNTI1NkM4RDc0MDA0NEJDNzUgLyogS0hS
UGFyYWxsZWxTaGFkZXJDb21waWxlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBM0MzREM1RDI1M0ExOTkyMDA2MUYz
MkEgLyogR1BVUGxhdGZvcm1UeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBHUFVQbGF0Zm9ybVR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzRDQy
QTg0MUYzM0JBMzYwMEE2NEI2MiAvKiBMYXlvdXRVbml0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dFVuaXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBNDA5Qzk4MjExNkQwREREMDA3MTk3QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNz
SW5kaWNhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vz
c2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xOTc4Myw2ICsxOTc4Niw5IEBACiAJCQkJMzE4RUFENEMxRkE5MTM1MjAwOENFRjg2IC8q
IEltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dFNldHRpbmdzLmlkbCAqLywKIAkJCQk3QzE5M0JB
RjFGNUUwRUI0MDA4OEYzRTYgLyogSW1hZ2VTbW9vdGhpbmdRdWFsaXR5LmggKi8sCiAJCQkJN0Mx
OTNCQTgxRjVFMEVBRjAwODhGM0U2IC8qIEltYWdlU21vb3RoaW5nUXVhbGl0eS5pZGwgKi8sCisJ
CQkJQTNCRjdFRjIyNTZDOEQ3MjAwNDRCQzc1IC8qIEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5j
cHAgKi8sCisJCQkJQTNCRjdFRjQyNTZDOEQ3MjAwNDRCQzc1IC8qIEtIUlBhcmFsbGVsU2hhZGVy
Q29tcGlsZS5oICovLAorCQkJCUEzQkY3RUY1MjU2QzhENzQwMDQ0QkM3NSAvKiBLSFJQYXJhbGxl
bFNoYWRlckNvbXBpbGUuaWRsICovLAogCQkJCTdFNUQ3QTczMTYxRDNGOEYwMDg5NkMzNCAvKiBP
RVNFbGVtZW50SW5kZXhVaW50LmNwcCAqLywKIAkJCQk3RTVEN0E3NDE2MUQzRjhGMDA4OTZDMzQg
LyogT0VTRWxlbWVudEluZGV4VWludC5oICovLAogCQkJCUUxNzY1ODBDMTgwREYzQTAwMDVBOTZE
MSAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmlkbCAqLywKQEAgLTMxMjI0LDYgKzMxMjMwLDcgQEAK
IAkJCQkwNzlEMDg2QjE2MkYyMUY5MDBEQjg2NTggLyogQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01l
ZGlhQUYuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3QjcxMTZEMUQ4OTlFNjMwMDlGMEZGQiAvKiBD
YXB0dXJlRGV2aWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwN0I3MTE2RjFEODk5RTYzMDA5RjBG
RkIgLyogQ2FwdHVyZURldmljZU1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0RjBCRTMx
MjU3MTJGNkUwMDlFNzQzMSAvKiBDYXJldFJlY3RDb21wdXRhdGlvbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQ0RDNzM0MTUxOTc3ODk2RDAwNDZCRkM1IC8qIENBUmluZ0J1ZmZlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTRBQkFCRjUyMzY4QzZFRjAwRkE0MzQ1IC8qIENhc2NhZGVMZXZlbC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTczMDNCQkIyMDA2QzZFRTAwMzU1OTY1IC8qIENCT1JCaW5hcnku
aCBpbiBIZWFkZXJzICovLApAQCAtMzUxMjEsNyArMzUxMjgsNiBAQAogCQkJCUEwRUUwREY4MTQ0
RjgyNTUwMEY4MEIwRCAvKiBXZWJHTERlYnVnU2hhZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NkUzRkFFOEYxNDczM0ZEQjAwRTQyMzA3IC8qIFdlYkdMRGVwdGhUZXh0dXJlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1QjMwNjk1RTE4QjNEMzQ1MDA5OUQ1RTggLyogV2ViR0xEcmF3QnVmZmVycy5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJRTRGMEJFMzEyNTcxMkY2RTAwOUU3NDMxIC8qIENhcmV0UmVj
dENvbXB1dGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RUJGMEU1NTEyQTg5Mjk4MDBEQjE3
MDkgLyogV2ViR0xFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QzdCOUNGMTA0MkQz
MkYwMDA5RDQ0NyAvKiBXZWJHTEZyYW1lYnVmZmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUZG
QkYzRjExQzkzRUUzMDA2QTcxMTggLyogV2ViR0xMYXllci5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRXZWJHTC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRXZWJHTC5jcHAKaW5kZXgg
M2QzMDY2MzExMDQ2YTc2MDcwNDEyOTlkMTNlOGFmNzU1ZmEyNjRiZS4uZjNlYjM2ZGFjYjg5ZDkx
NTZhNTk2ZWI4ZTEzYjRkNjUxNTM3ZjhlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01Db252ZXJ0V2ViR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NQ29udmVydFdlYkdMLmNwcApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUg
IkpTRVhUVGV4dHVyZUNvbXByZXNzaW9uUkdUQy5oIgogI2luY2x1ZGUgIkpTRVhUVGV4dHVyZUZp
bHRlckFuaXNvdHJvcGljLmgiCiAjaW5jbHVkZSAiSlNFWFRzUkdCLmgiCisjaW5jbHVkZSAiSlNL
SFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaCIKICNpbmNsdWRlICJKU09FU0VsZW1lbnRJbmRleFVp
bnQuaCIKICNpbmNsdWRlICJKU09FU0ZCT1JlbmRlck1pcG1hcC5oIgogI2luY2x1ZGUgIkpTT0VT
U3RhbmRhcmREZXJpdmF0aXZlcy5oIgpAQCAtMTgyLDYgKzE4Myw4IEBAIEpTVmFsdWUgY29udmVy
dFRvSlNWYWx1ZShKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNET01HbG9i
YWxPYmplY3QmCiAgICAgICAgIHJldHVybiB0b0pTKCZsZXhpY2FsR2xvYmFsT2JqZWN0LCAmZ2xv
YmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxFWFRGcmFnRGVwdGgmPihleHRlbnNpb24pKTsKICAgICBj
YXNlIFdlYkdMRXh0ZW5zaW9uOjpFWFRCbGVuZE1pbk1heE5hbWU6CiAgICAgICAgIHJldHVybiB0
b0pTKCZsZXhpY2FsR2xvYmFsT2JqZWN0LCAmZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxFWFRC
bGVuZE1pbk1heCY+KGV4dGVuc2lvbikpOworICAgIGNhc2UgV2ViR0xFeHRlbnNpb246OktIUlBh
cmFsbGVsU2hhZGVyQ29tcGlsZU5hbWU6CisgICAgICAgIHJldHVybiB0b0pTKCZsZXhpY2FsR2xv
YmFsT2JqZWN0LCAmZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxLSFJQYXJhbGxlbFNoYWRlckNv
bXBpbGUmPihleHRlbnNpb24pKTsKICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNTdGFuZGFy
ZERlcml2YXRpdmVzTmFtZToKICAgICAgICAgcmV0dXJuIHRvSlMoJmxleGljYWxHbG9iYWxPYmpl
Y3QsICZnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMmPihl
eHRlbnNpb24pKTsKICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNUZXh0dXJlRmxvYXROYW1l
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvS0hSUGFyYWxsZWxTaGFk
ZXJDb21waWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0tIUlBhcmFsbGVsU2hh
ZGVyQ29tcGlsZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTI3MTM4ZjMwZjc1ZmFkMDczOTg1OTRiMzMzYTdk
ZjljMTQyZDI4MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5jcHAKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQg
SVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAq
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
CisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFdFQkdMKQorI2luY2x1ZGUgIktIUlBhcmFs
bGVsU2hhZGVyQ29tcGlsZS5oIgorCisjaW5jbHVkZSAiRXh0ZW5zaW9uc0dMLmgiCisjaW5jbHVk
ZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZf
TUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlKTsKKworS0hS
UGFyYWxsZWxTaGFkZXJDb21waWxlOjpLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUoV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZSYgY29udGV4dCkKKyAgICA6IFdlYkdMRXh0ZW5zaW9uKGNvbnRleHQp
Cit7CisgICAgY29udGV4dC5ncmFwaGljc0NvbnRleHRHTCgpLT5nZXRFeHRlbnNpb25zKCkuZW5z
dXJlRW5hYmxlZCgiR0xfS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21waWxlIl9zKTsKK30KKworS0hS
UGFyYWxsZWxTaGFkZXJDb21waWxlOjp+S0hSUGFyYWxsZWxTaGFkZXJDb21waWxlKCkgPSBkZWZh
dWx0OworCitXZWJHTEV4dGVuc2lvbjo6RXh0ZW5zaW9uTmFtZSBLSFJQYXJhbGxlbFNoYWRlckNv
bXBpbGU6OmdldE5hbWUoKSBjb25zdAoreworICAgIHJldHVybiBLSFJQYXJhbGxlbFNoYWRlckNv
bXBpbGVOYW1lOworfQorCitib29sIEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZTo6c3VwcG9ydGVk
KGNvbnN0IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmIGNvbnRleHQpCit7CisgICAgcmV0dXJu
IGNvbnRleHQuZ3JhcGhpY3NDb250ZXh0R0woKS0+Z2V0RXh0ZW5zaW9ucygpLnN1cHBvcnRzKCJH
TF9LSFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUiX3MpOworfQorICAgIAorfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9LSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xZmNmYzJiNThlZDlmYjRlNmQxMTc0MTg2MTQ3ZGYzYmRjMDI1M2E5Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvS0hSUGFyYWxsZWxTaGFkZXJDb21waWxl
LmgKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJXZWJH
TEV4dGVuc2lvbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEtIUlBhcmFsbGVs
U2hhZGVyQ29tcGlsZSBmaW5hbCA6IHB1YmxpYyBXZWJHTEV4dGVuc2lvbiB7CisgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChLSFJQYXJhbGxlbFNoYWRlckNvbXBpbGUpOworcHVibGljOgorICAg
IGV4cGxpY2l0IEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZShXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlJik7CisgICAgfktIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZSgpIG92ZXJyaWRlIGZpbmFsOwor
CisgICAgRXh0ZW5zaW9uTmFtZSBnZXROYW1lKCkgY29uc3Qgb3ZlcnJpZGU7CisKKyAgICBzdGF0
aWMgYm9vbCBzdXBwb3J0ZWQoY29uc3QgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSYpOworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvS0hSUGFyYWxsZWxTaGFkZXJDb21waWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzA2Yzlj
ZjZjMzc4ZDdmNjI5YzE1MzRlODc4YmEwNDQwYjdjNjllOQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0tIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZS5pZGwKQEAg
LTAsMCArMSwzMiBAQAorLyoKKyogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0Ogor
KgorKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVECisqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUworKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorKiBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyogVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKK1sK
KyAgICBMZWdhY3lOb0ludGVyZmFjZU9iamVjdCwKKyAgICBDb25kaXRpb25hbD1XRUJHTCwKKyAg
ICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxXZWJHTFJlbmRlcmluZ0NvbnRleHQKK10gaW50ZXJm
YWNlIEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZSB7CisgICAgY29uc3QgdW5zaWduZWQgbG9uZyBD
T01QTEVUSU9OX1NUQVRVU19LSFIgPSAweDkxQjE7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCAyZmM5M2Fl
YWZjOTM5MDM3NGE2ZWIzYzIwOWVlYTc2YTE5NjMyZGM4Li43YWYzZWUwZWYzMjZjMGE2ZWJlZWJk
NmZlMjM2ODUxZTI1YzAxN2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1
ZGUgIkltYWdlQml0bWFwLmgiCiAjaW5jbHVkZSAiSW1hZ2VEYXRhLmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiS0hSUGFyYWxsZWxTaGFkZXJDb21w
aWxlLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk9FU1RleHR1cmVGbG9hdExp
bmVhci5oIgogI2luY2x1ZGUgIlJlbmRlckJveC5oIgpAQCAtMjY4OCw2ICsyNjg5LDcgQEAgV2Vi
R0xFeHRlbnNpb24qIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmdldEV4dGVuc2lvbihjb25zdCBT
dHJpbmcmIG5hbWUpCiAgICAgRU5BQkxFX0lGX1JFUVVFU1RFRChFWFRDb2xvckJ1ZmZlckZsb2F0
LCBtX2V4dENvbG9yQnVmZmVyRmxvYXQsICJFWFRfY29sb3JfYnVmZmVyX2Zsb2F0IiwgRVhUQ29s
b3JCdWZmZXJGbG9hdDo6c3VwcG9ydGVkKCp0aGlzKSk7CiAgICAgRU5BQkxFX0lGX1JFUVVFU1RF
RChFWFRDb2xvckJ1ZmZlckhhbGZGbG9hdCwgbV9leHRDb2xvckJ1ZmZlckhhbGZGbG9hdCwgIkVY
VF9jb2xvcl9idWZmZXJfaGFsZl9mbG9hdCIsIEVYVENvbG9yQnVmZmVySGFsZkZsb2F0OjpzdXBw
b3J0ZWQoKnRoaXMpKTsKICAgICBFTkFCTEVfSUZfUkVRVUVTVEVEKEVYVEZsb2F0QmxlbmQsIG1f
ZXh0RmxvYXRCbGVuZCwgIkVYVF9mbG9hdF9ibGVuZCIsIEVYVEZsb2F0QmxlbmQ6OnN1cHBvcnRl
ZCgqdGhpcykpOworICAgIEVOQUJMRV9JRl9SRVFVRVNURUQoS0hSUGFyYWxsZWxTaGFkZXJDb21w
aWxlLCBtX2toclBhcmFsbGVsU2hhZGVyQ29tcGlsZSwgIktIUl9wYXJhbGxlbF9zaGFkZXJfY29t
cGlsZSIsIEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZTo6c3VwcG9ydGVkKCp0aGlzKSk7CiAgICAg
cmV0dXJuIG51bGxwdHI7CiB9CiAKQEAgLTI3MzQsNiArMjczNiw4IEBAIE9wdGlvbmFsPFZlY3Rv
cjxTdHJpbmc+PiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpnZXRTdXBwb3J0ZWRFeHRlbnNpb25z
KCkKICAgICAgICAgcmVzdWx0LmFwcGVuZCgiRVhUX2NvbG9yX2J1ZmZlcl9oYWxmX2Zsb2F0Il9z
KTsKICAgICBpZiAoRVhURmxvYXRCbGVuZDo6c3VwcG9ydGVkKCp0aGlzKSkKICAgICAgICAgcmVz
dWx0LmFwcGVuZCgiRVhUX2Zsb2F0X2JsZW5kIl9zKTsKKyAgICBpZiAoS0hSUGFyYWxsZWxTaGFk
ZXJDb21waWxlOjpzdXBwb3J0ZWQoKnRoaXMpKQorICAgICAgICByZXN1bHQuYXBwZW5kKCJLSFJf
cGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUiX3MpOwogCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCmluZGV4IDQ0MGQ0Yjk1
NDc5NDMzY2ZmZTE5YjJhZTYxNDVhZDA5OTg1YjZiZDcuLjU4MDBhNzEzMTNiY2Y4YTA0ZGY1NmFm
MTcyYjA4ZmY1OTBjOTE3MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMRXh0ZW5zaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xF
eHRlbnNpb24uaApAQCAtNDQsNiArNDQsNyBAQCBwdWJsaWM6CiAgICAgICAgIEVYVFRleHR1cmVD
b21wcmVzc2lvblJHVENOYW1lLAogICAgICAgICBFWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWNO
YW1lLAogICAgICAgICBFWFRzUkdCTmFtZSwKKyAgICAgICAgS0hSUGFyYWxsZWxTaGFkZXJDb21w
aWxlTmFtZSwKICAgICAgICAgT0VTVGV4dHVyZUZsb2F0TmFtZSwKICAgICAgICAgT0VTVGV4dHVy
ZUZsb2F0TGluZWFyTmFtZSwKICAgICAgICAgT0VTVGV4dHVyZUhhbGZGbG9hdE5hbWUsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNw
cAppbmRleCA2OTNkNjIwNmYyYzkwZjk1ZmRhOTczYjk5OGViOTY0NjdkY2ZlYTk3Li4wN2RmY2Ez
ZTFkOThhOWIxMDc4MDMyMTkyYjY0ODg4NDRkNzZjZGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTQ0LDYgKzQ0
LDcgQEAKICNpbmNsdWRlICJIVE1MVmlkZW9FbGVtZW50LmgiCiAjaW5jbHVkZSAiSW1hZ2VEYXRh
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiS0hS
UGFyYWxsZWxTaGFkZXJDb21waWxlLmgiCiAjaW5jbHVkZSAiT0VTRWxlbWVudEluZGV4VWludC5o
IgogI2luY2x1ZGUgIk9FU0ZCT1JlbmRlck1pcG1hcC5oIgogI2luY2x1ZGUgIk9FU1N0YW5kYXJk
RGVyaXZhdGl2ZXMuaCIKQEAgLTE1NSw2ICsxNTYsNyBAQCBXZWJHTEV4dGVuc2lvbiogV2ViR0xS
ZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBuYW1lKQogICAgIH0K
ICAgICBFTkFCTEVfSUZfUkVRVUVTVEVEKEVYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYywgbV9l
eHRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMsICJFWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9w
aWMiLCBlbmFibGVTdXBwb3J0ZWRFeHRlbnNpb24oIkdMX0VYVF90ZXh0dXJlX2ZpbHRlcl9hbmlz
b3Ryb3BpYyJfcykpOwogICAgIEVOQUJMRV9JRl9SRVFVRVNURUQoRVhUVGV4dHVyZUNvbXByZXNz
aW9uUkdUQywgbV9leHRUZXh0dXJlQ29tcHJlc3Npb25SR1RDLCAiRVhUX3RleHR1cmVfY29tcHJl
c3Npb25fcmd0YyIsIGVuYWJsZVN1cHBvcnRlZEV4dGVuc2lvbigiR0xfRVhUX3RleHR1cmVfY29t
cHJlc3Npb25fcmd0YyJfcykpOworICAgIEVOQUJMRV9JRl9SRVFVRVNURUQoS0hSUGFyYWxsZWxT
aGFkZXJDb21waWxlLCBtX2toclBhcmFsbGVsU2hhZGVyQ29tcGlsZSwgIktIUl9wYXJhbGxlbF9z
aGFkZXJfY29tcGlsZSIsIEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZTo6c3VwcG9ydGVkKCp0aGlz
KSk7CiAgICAgRU5BQkxFX0lGX1JFUVVFU1RFRChPRVNTdGFuZGFyZERlcml2YXRpdmVzLCBtX29l
c1N0YW5kYXJkRGVyaXZhdGl2ZXMsICJPRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMiLCBlbmFibGVT
dXBwb3J0ZWRFeHRlbnNpb24oIkdMX09FU19zdGFuZGFyZF9kZXJpdmF0aXZlcyJfcykpOwogICAg
IEVOQUJMRV9JRl9SRVFVRVNURUQoT0VTVGV4dHVyZUZsb2F0LCBtX29lc1RleHR1cmVGbG9hdCwg
Ik9FU190ZXh0dXJlX2Zsb2F0IiwgT0VTVGV4dHVyZUZsb2F0OjpzdXBwb3J0ZWQoKnRoaXMpKTsK
ICAgICBFTkFCTEVfSUZfUkVRVUVTVEVEKE9FU1RleHR1cmVGbG9hdExpbmVhciwgbV9vZXNUZXh0
dXJlRmxvYXRMaW5lYXIsICJPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIiLCBlbmFibGVTdXBwb3J0
ZWRFeHRlbnNpb24oIkdMX09FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciJfcykpOwpAQCAtMjc1LDYg
KzI3Nyw4IEBAIE9wdGlvbmFsPFZlY3RvcjxTdHJpbmc+PiBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OmdldFN1cHBvcnRlZEV4dGVuc2lvbnMoKQogICAgICAgICByZXN1bHQuYXBwZW5kKCJFWFRfZmxv
YXRfYmxlbmQiX3MpOwogICAgIGlmIChXZWJHTENvbG9yQnVmZmVyRmxvYXQ6OnN1cHBvcnRlZCgq
dGhpcykpCiAgICAgICAgIHJlc3VsdC5hcHBlbmQoIldFQkdMX2NvbG9yX2J1ZmZlcl9mbG9hdCJf
cyk7CisgICAgaWYgKEtIUlBhcmFsbGVsU2hhZGVyQ29tcGlsZTo6c3VwcG9ydGVkKCp0aGlzKSkK
KyAgICAgICAgcmVzdWx0LmFwcGVuZCgiS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21waWxlIik7CiAK
ICAgICByZXR1cm4gcmVzdWx0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCBhNTYyYTRkNGM5MDY3
YTk4Y2E3Yjc1MmZmZjNhNzI2YzdkYjJkYWMyLi4wYThmMDkwMGY5NzQwZGFhMDRiZmIwMjFkMGNm
MDY0OTFlODdlZjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcApAQCAtNjEsNiArNjEsNyBAQAogI2luY2x1
ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKICNp
bmNsdWRlICJKU0V4ZWNTdGF0ZS5oIgorI2luY2x1ZGUgIktIUlBhcmFsbGVsU2hhZGVyQ29tcGls
ZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOYXZpZ2F0b3JXZWJYUi5oIgog
I2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCkBAIC0zMTc5LDcgKzMxODAsMTQgQEAgV2ViR0xB
bnkgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Z2V0UGFyYW1ldGVyKEdDR0xlbnVtIHBuYW1l
KQogCiBXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRQcm9ncmFtUGFyYW1l
dGVyKFdlYkdMUHJvZ3JhbSYgcHJvZ3JhbSwgR0NHTGVudW0gcG5hbWUpCiB7Ci0gICAgaWYgKGlz
Q29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigi
Z2V0UHJvZ3JhbVBhcmFtZXRlciIsICZwcm9ncmFtKSkKKyAgICAvLyBDT01QTEVUSU9OX1NUQVRV
U19LSFIgc2hvdWxkIGFsd2F5cyByZXR1cm4gdHJ1ZSBpZiB0aGUgY29udGV4dCBpcyBsb3N0LCBz
byBhcHBsaWNhdGlvbnMKKyAgICAvLyBkb24ndCBnZXQgc3R1Y2sgaW4gYW4gaW5maW5pdGUgcG9s
bGluZyBsb29wLgorICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkpIHsKKyAgICAgICAg
aWYgKHBuYW1lID09IEV4dGVuc2lvbnNHTDo6Q09NUExFVElPTl9TVEFUVVNfS0hSKQorICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyAgICBp
ZiAoIXZhbGlkYXRlV2ViR0xQcm9ncmFtT3JTaGFkZXIoImdldFByb2dyYW1QYXJhbWV0ZXIiLCAm
cHJvZ3JhbSkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgc3dpdGNoIChwbmFtZSkg
ewpAQCAtMzIwMiw2ICszMjEwLDExIEBAIFdlYkdMQW55IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2U6OmdldFByb2dyYW1QYXJhbWV0ZXIoV2ViR0xQcm9ncmFtJiBwcm9ncmFtLCBHCiAgICAgICAg
ICAgICByZXR1cm4gdmFsdWU7CiAgICAgICAgIH0KICNlbmRpZiAvLyBVU0UoQU5HTEUpCisgICAg
Y2FzZSBFeHRlbnNpb25zR0w6OkNPTVBMRVRJT05fU1RBVFVTX0tIUjoKKyAgICAgICAgaWYgKG1f
a2hyUGFyYWxsZWxTaGFkZXJDb21waWxlKQorICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PGJvb2w+KG1fY29udGV4dC0+Z2V0UHJvZ3JhbWkocHJvZ3JhbS5vYmplY3QoKSwgcG5hbWUpKTsK
KyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfRU5V
TSwgImdldFByb2dyYW1QYXJhbWV0ZXIiLCAiS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21waWxlIG5v
dCBlbmFibGVkIik7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIGRlZmF1bHQ6CiAjaWYg
RU5BQkxFKFdFQkdMMikKICAgICAgICAgaWYgKGlzV2ViR0wyKCkpIHsKQEAgLTMyOTgsOCArMzMx
MSwxNiBAQCBXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRSZW5kZXJidWZm
ZXJQYXJhbWV0ZXIoR0NHTGVudW0gdGFyZ2V0LCBHQwogCiBXZWJHTEFueSBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpnZXRTaGFkZXJQYXJhbWV0ZXIoV2ViR0xTaGFkZXImIHNoYWRlciwgR0NH
TGVudW0gcG5hbWUpCiB7Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFs
aWRhdGVXZWJHTFByb2dyYW1PclNoYWRlcigiZ2V0U2hhZGVyUGFyYW1ldGVyIiwgJnNoYWRlcikp
CisgICAgLy8gQ09NUExFVElPTl9TVEFUVVNfS0hSIHNob3VsZCBhbHdheXMgcmV0dXJuIHRydWUg
aWYgdGhlIGNvbnRleHQgaXMgbG9zdCwgc28gYXBwbGljYXRpb25zCisgICAgLy8gZG9uJ3QgZ2V0
IHN0dWNrIGluIGFuIGluZmluaXRlIHBvbGxpbmcgbG9vcC4KKyAgICBpZiAoaXNDb250ZXh0TG9z
dE9yUGVuZGluZygpKSB7CisgICAgICAgIGlmIChwbmFtZSA9PSBFeHRlbnNpb25zR0w6OkNPTVBM
RVRJT05fU1RBVFVTX0tIUikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICB9CisgICAgaWYgKCF2YWxpZGF0ZVdlYkdMUHJvZ3JhbU9yU2hhZGVy
KCJnZXRTaGFkZXJQYXJhbWV0ZXIiLCAmc2hhZGVyKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisKICAgICBzd2l0Y2ggKHBuYW1lKSB7CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6REVM
RVRFX1NUQVRVUzoKICAgICAgICAgcmV0dXJuIHNoYWRlci5pc0RlbGV0ZWQoKTsKQEAgLTMzMDcs
NiArMzMyOCwxMSBAQCBXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpnZXRTaGFk
ZXJQYXJhbWV0ZXIoV2ViR0xTaGFkZXImIHNoYWRlciwgR0NHTAogICAgICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8Ym9vbD4obV9jb250ZXh0LT5nZXRTaGFkZXJpKHNoYWRlci5vYmplY3QoKSwgcG5h
bWUpKTsKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpTSEFERVJfVFlQRToKICAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihtX2NvbnRleHQtPmdldFNoYWRlcmkoc2hhZGVy
Lm9iamVjdCgpLCBwbmFtZSkpOworICAgIGNhc2UgRXh0ZW5zaW9uc0dMOjpDT01QTEVUSU9OX1NU
QVRVU19LSFI6CisgICAgICAgIGlmIChtX2toclBhcmFsbGVsU2hhZGVyQ29tcGlsZSkKKyAgICAg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxib29sPihtX2NvbnRleHQtPmdldFNoYWRlcmkoc2hh
ZGVyLm9iamVjdCgpLCBwbmFtZSkpOworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGlj
c0NvbnRleHRHTDo6SU5WQUxJRF9FTlVNLCAiZ2V0U2hhZGVyUGFyYW1ldGVyIiwgIktIUl9wYXJh
bGxlbF9zaGFkZXJfY29tcGlsZSBub3QgZW5hYmxlZCIpOworICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICBkZWZhdWx0OgogICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRl
eHRHTDo6SU5WQUxJRF9FTlVNLCAiZ2V0U2hhZGVyUGFyYW1ldGVyIiwgImludmFsaWQgcGFyYW1l
dGVyIG5hbWUiKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0zNzAyLDYgKzM3MjgsNyBA
QCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmV4dGVuc2lvbklzRW5hYmxlZChjb25z
dCBTdHJpbmcmIG5hbWUpCiAgICAgQ0hFQ0tfRVhURU5TSU9OKG1fZXh0VGV4dHVyZUZpbHRlckFu
aXNvdHJvcGljLCAiRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIik7CiAgICAgQ0hFQ0tf
RVhURU5TSU9OKG1fZXh0VGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLCAiV0VCS0lUX0VYVF90ZXh0
dXJlX2ZpbHRlcl9hbmlzb3Ryb3BpYyIpOwogICAgIENIRUNLX0VYVEVOU0lPTihtX2V4dFNoYWRl
clRleHR1cmVMT0QsICJFWFRfc2hhZGVyX3RleHR1cmVfbG9kIik7CisgICAgQ0hFQ0tfRVhURU5T
SU9OKG1fa2hyUGFyYWxsZWxTaGFkZXJDb21waWxlLCAiS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21w
aWxlIik7CiAgICAgQ0hFQ0tfRVhURU5TSU9OKG1fb2VzVGV4dHVyZUZsb2F0LCAiT0VTX3RleHR1
cmVfZmxvYXQiKTsKICAgICBDSEVDS19FWFRFTlNJT04obV9vZXNUZXh0dXJlRmxvYXRMaW5lYXIs
ICJPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIiKTsKICAgICBDSEVDS19FWFRFTlNJT04obV9vZXNU
ZXh0dXJlSGFsZkZsb2F0LCAiT0VTX3RleHR1cmVfaGFsZl9mbG9hdCIpOwpAQCAtNzgwNiw2ICs3
ODMzLDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpsb3NlRXh0ZW5zaW9ucyhM
b3N0Q29udGV4dE1vZGUgbW9kZSkKICAgICBMT1NFX0VYVEVOU0lPTihtX2V4dFRleHR1cmVDb21w
cmVzc2lvblJHVEMpOwogICAgIExPU0VfRVhURU5TSU9OKG1fZXh0VGV4dHVyZUZpbHRlckFuaXNv
dHJvcGljKTsKICAgICBMT1NFX0VYVEVOU0lPTihtX2V4dFNoYWRlclRleHR1cmVMT0QpOworICAg
IExPU0VfRVhURU5TSU9OKG1fa2hyUGFyYWxsZWxTaGFkZXJDb21waWxlKTsKICAgICBMT1NFX0VY
VEVOU0lPTihtX29lc1RleHR1cmVGbG9hdCk7CiAgICAgTE9TRV9FWFRFTlNJT04obV9vZXNUZXh0
dXJlRmxvYXRMaW5lYXIpOwogICAgIExPU0VfRVhURU5TSU9OKG1fb2VzVGV4dHVyZUhhbGZGbG9h
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlLmgKaW5kZXggMDA3ODI4ZjdmZDU3M2VhNTAwNTk0MGVkNTZlNDM5NzUxNTc0
M2U3Ny4uNGI2YTAxOGExNzE1ODdjM2UzMmU0MGRkOThhM2ExZDRkZGI3MmJjOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2UuaApAQCAtODAsNiArODAsNyBAQCBjbGFzcyBFWFRGcmFnRGVwdGg7CiBjbGFzcyBIVE1MSW1h
Z2VFbGVtZW50OwogY2xhc3MgSW1hZ2VEYXRhOwogY2xhc3MgSW50U2l6ZTsKK2NsYXNzIEtIUlBh
cmFsbGVsU2hhZGVyQ29tcGlsZTsKIGNsYXNzIE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXM7CiBjbGFz
cyBPRVNUZXh0dXJlRmxvYXQ7CiBjbGFzcyBPRVNUZXh0dXJlRmxvYXRMaW5lYXI7CkBAIC02NzQs
NiArNjc1LDcgQEAgcHJvdGVjdGVkOgogICAgIFJlZlB0cjxFWFRUZXh0dXJlQ29tcHJlc3Npb25S
R1RDPiBtX2V4dFRleHR1cmVDb21wcmVzc2lvblJHVEM7CiAgICAgUmVmUHRyPEVYVFRleHR1cmVG
aWx0ZXJBbmlzb3Ryb3BpYz4gbV9leHRUZXh0dXJlRmlsdGVyQW5pc290cm9waWM7CiAgICAgUmVm
UHRyPEVYVFNoYWRlclRleHR1cmVMT0Q+IG1fZXh0U2hhZGVyVGV4dHVyZUxPRDsKKyAgICBSZWZQ
dHI8S0hSUGFyYWxsZWxTaGFkZXJDb21waWxlPiBtX2toclBhcmFsbGVsU2hhZGVyQ29tcGlsZTsK
ICAgICBSZWZQdHI8T0VTVGV4dHVyZUZsb2F0PiBtX29lc1RleHR1cmVGbG9hdDsKICAgICBSZWZQ
dHI8T0VTVGV4dHVyZUZsb2F0TGluZWFyPiBtX29lc1RleHR1cmVGbG9hdExpbmVhcjsKICAgICBS
ZWZQdHI8T0VTVGV4dHVyZUhhbGZGbG9hdD4gbV9vZXNUZXh0dXJlSGFsZkZsb2F0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uc0dMLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zR0wuaAppbmRleCAwNmMx
MjExMjdlMjJkMTNlNmJlMzg2YjhlYmJhNzZjNjcxMTZhMTNkLi4yNjI3YTliN2Y0NDY1MTBjZGMw
MzQxZGI4NjczNDQ3NDk1MTQ3Yjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9FeHRlbnNpb25zR0wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9FeHRlbnNpb25zR0wuaApAQCAtMjY0LDYgKzI2NCw5IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgY29uc3RleHByIEdDR0xlbnVtIENPTE9SX0FUVEFDSE1FTlQxNF9FWFQgPSAweDhDRUU7
CiAgICAgc3RhdGljIGNvbnN0ZXhwciBHQ0dMZW51bSBDT0xPUl9BVFRBQ0hNRU5UMTVfRVhUID0g
MHg4Q0VGOwogCisgICAgLy8gR0xfS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21waWxlCisgICAgc3Rh
dGljIGNvbnN0ZXhwciBHQ0dMZW51bSBDT01QTEVUSU9OX1NUQVRVU19LSFIgPSAweDkxQjE7CisK
ICAgICAvLyBXZWJHTCBmdW5jdGlvbnMgaW4gZm9ybWF0IGdlbmVyYXRlLWdwdXAtd2ViZ2wgdW5k
ZXJzdGFuZHMuCiAKICAgICAvLyBHTF9BUkJfcm9idXN0bmVzcwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQ2OWJlZTM1NGE0
MDIyOTI4YjgwYTAxYTU3YjdiZGFmYmY4Mjc1YTUuLjVjNWExNDgxNjQwNjkwMTdkOWY2MTEzZGI4
ZGFhODRkYTIzMjBlZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0xMS0yNCAgSmFtZXMg
RGFycGluaWFuICA8amRhcnBpbmlhbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU3VwcG9ydCBL
SFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxOTI2NgorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGgg
UnVzc2VsbC4KKworICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMva2hyLXBh
cmFsbGVsLXNoYWRlci1jb21waWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9raHItcGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvZXh0ZW5zaW9ucy9raHItcGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUuaHRtbDogQWRk
ZWQuCisKIDIwMjAtMTEtMzAgIFR5bGVyIFdpbGNvY2sgIDx0d2lsY28ub0Bwcm90b25tYWlsLmNv
bT4KIAogICAgICAgICBnZXRDb21wdXRlZFN0eWxlIHJvdW5kcyBsaW5lSGVpZ2h0IHRvIG5lYXJl
c3QgcGl4ZWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2V4dGVu
c2lvbnMva2hyLXBhcmFsbGVsLXNoYWRlci1jb21waWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMva2hyLXBhcmFsbGVsLXNoYWRlci1jb21w
aWxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTkzODYxOTE0NWVhZGNmYTk3NzJjMTYxZTI1
YTQzOTQ4ZTBlYjkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvZXh0ZW5zaW9ucy9raHItcGFyYWxsZWwtc2hhZGVyLWNvbXBpbGUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMva2hyLXBh
cmFsbGVsLXNoYWRlci1jb21waWxlLmh0bWwKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMva2hyLXBhcmFsbGVsLXNoYWRlci1jb21waWxl
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9leHRlbnNpb25zL2toci1wYXJh
bGxlbC1zaGFkZXItY29tcGlsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmZTg3ZDViYWEyZmI0MmNmYWYz
NjE4ZDk3MDdlYTI0MjAzNTFjZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9leHRlbnNpb25zL2toci1wYXJhbGxlbC1zaGFkZXItY29tcGlsZS5odG1s
CkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25m
b3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGtoci1wYXJhbGxlbC1zaGFkZXItY29tcGlsZS5odG1s
PC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2V4dGVuc2lvbnMva2hyLXBhcmFsbGVsLXNoYWRlci1jb21waWxlLmh0bWwiPi4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMva2hy
LXBhcmFsbGVsLXNoYWRlci1jb21waWxlLmh0bWw8L2E+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlm
cmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2V4
dGVuc2lvbnMva2hyLXBhcmFsbGVsLXNoYWRlci1jb21waWxlLmh0bWwiIHdpZHRoPSI4MDAiIGhl
aWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMva2hyLXBhcmFsbGVsLXNoYWRl
ci1jb21waWxlLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9leHRlbnNpb25zL2toci1wYXJhbGxlbC1zaGFkZXItY29tcGlsZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJkYzA3YjBiNzhiY2JhYzE3OGYzZTY2N2MzZDJkZWFiOWEzZDI2ZjgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9leHRlbnNpb25zL2toci1wYXJhbGxlbC1zaGFkZXItY29tcGls
ZS5odG1sCkBAIC0wLDAgKzEsOTMgQEAKKzwhLS0KK0NvcHlyaWdodCAoYykgMjAyMCBUaGUgS2hy
b25vcyBHcm91cCBJbmMuCitVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBh
biBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorZm91bmQgaW4gdGhlIExJQ0VOU0UudHh0
IGZpbGUuCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvd2ViZ2wtdGVzdC11dGlscy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwor
ZGVzY3JpcHRpb24oIlRlc3QgS0hSX3BhcmFsbGVsX3NoYWRlcl9jb21waWxlIik7CisKK2NvbnN0
IHd0dSA9IFdlYkdMVGVzdFV0aWxzOworCitjb25zdCBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQo
KTsKK2NvbnN0IGxvc2VDb250ZXh0ID0gd3R1LmdldEV4dGVuc2lvbldpdGhLbm93blByZWZpeGVz
KGdsLCAiV0VCR0xfbG9zZV9jb250ZXh0Iik7CisKK2xldCBjb3VudGVyID0gMDsKK2NvbnN0IHZl
cnRleFNvdXJjZSA9ICgpID0+IGAKK3ZvaWQgbWFpbigpIHsKKyAgICBnbF9Qb3NpdGlvbiA9IHZl
YzQoJHtjb3VudGVyKyt9LCAxLCAxLCAxKTsKK31gOworY29uc3QgZnJhZ21lbnRTb3VyY2UgPSAo
KSA9PiBgCit2b2lkIG1haW4oKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgwLiR7Y291bnRl
cisrfSwgMSwgMSwgMSk7Cit9YDsKKworY29uc3QgdnMgPSBnbC5jcmVhdGVTaGFkZXIoZ2wuVkVS
VEVYX1NIQURFUik7Citjb25zdCBmcyA9IGdsLmNyZWF0ZVNoYWRlcihnbC5GUkFHTUVOVF9TSEFE
RVIpOworY29uc3QgcHJvZ3JhbSA9IGdsLmNyZWF0ZVByb2dyYW0oKTsKK2dsLmF0dGFjaFNoYWRl
cihwcm9ncmFtLCB2cyk7CitnbC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgZnMpOworCitjb25zdCBD
T01QTEVUSU9OX1NUQVRVU19LSFIgPSAweDkxQjE7CisKK2dsLnNoYWRlclNvdXJjZSh2cywgdmVy
dGV4U291cmNlKCkpOworZ2wuY29tcGlsZVNoYWRlcih2cyk7CitsZXQgc3RhdHVzID0gZ2wuZ2V0
U2hhZGVyUGFyYW1ldGVyKHZzLCBDT01QTEVUSU9OX1NUQVRVU19LSFIpOworaWYgKHN0YXR1cyAh
PT0gbnVsbCkgdGVzdEZhaWxlZCgnRXh0ZW5zaW9uIGRpc2FibGVkLCBzdGF0dXMgc2hvdWxkIGJl
IG51bGwnKTsKK3d0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRU5VTSwgImV4dGVu
c2lvbiBkaXNhYmxlZCIpOworCitnbC5zaGFkZXJTb3VyY2UoZnMsIGZyYWdtZW50U291cmNlKCkp
OworZ2wuY29tcGlsZVNoYWRlcihmcyk7CisKK2dsLmxpbmtQcm9ncmFtKHByb2dyYW0pOworc3Rh
dHVzID0gZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9ncmFtLCBDT01QTEVUSU9OX1NUQVRVU19L
SFIpOworaWYgKHN0YXR1cyAhPT0gbnVsbCkgdGVzdEZhaWxlZCgnRXh0ZW5zaW9uIGRpc2FibGVk
LCBzdGF0dXMgc2hvdWxkIGJlIG51bGwnKTsKK3d0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklO
VkFMSURfRU5VTSwgImV4dGVuc2lvbiBkaXNhYmxlZCIpOworCitjb25zdCBleHQgPSB3dHUuZ2V0
RXh0ZW5zaW9uV2l0aEtub3duUHJlZml4ZXMoZ2wsICJLSFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBp
bGUiKTsKK2lmICghZXh0KSB7CisgICAgdGVzdFBhc3NlZCgiTm8gS0hSX3BhcmFsbGVsX3NoYWRl
cl9jb21waWxlIHN1cHBvcnQgLS0gdGhpcyBpcyBsZWdhbCIpOworfSBlbHNlIHsKKyAgICB0ZXN0
UGFzc2VkKCJTdWNjZXNzZnVsbHkgZW5hYmxlZCBLSFJfcGFyYWxsZWxfc2hhZGVyX2NvbXBpbGUg
ZXh0ZW5zaW9uIik7CisKKyAgICBzaG91bGRCZSgiZXh0LkNPTVBMRVRJT05fU1RBVFVTX0tIUiIs
ICIweDkxQjEiKTsKKworICAgIGRlYnVnKCJDaGVja2luZyB0aGF0IHN0YXR1cyBpcyBhIGJvb2xl
YW4uIik7CisgICAgZ2wuc2hhZGVyU291cmNlKHZzLCB2ZXJ0ZXhTb3VyY2UoKSk7CisgICAgZ2wu
Y29tcGlsZVNoYWRlcih2cyk7CisgICAgbGV0IHN0YXR1cyA9IGdsLmdldFNoYWRlclBhcmFtZXRl
cih2cywgQ09NUExFVElPTl9TVEFUVVNfS0hSKTsKKyAgICBpZiAoc3RhdHVzICE9PSB0cnVlICYm
IHN0YXR1cyAhPT0gZmFsc2UpIHRlc3RGYWlsZWQoInN0YXR1cyBzaG91bGQgYmUgYSBib29sZWFu
Iik7CisKKyAgICBnbC5saW5rUHJvZ3JhbShwcm9ncmFtKTsKKyAgICBzdGF0dXMgPSBnbC5nZXRQ
cm9ncmFtUGFyYW1ldGVyKHByb2dyYW0sIENPTVBMRVRJT05fU1RBVFVTX0tIUik7CisgICAgaWYg
KHN0YXR1cyAhPT0gdHJ1ZSAmJiBzdGF0dXMgIT09IGZhbHNlKSB0ZXN0RmFpbGVkKCJzdGF0dXMg
c2hvdWxkIGJlIGEgYm9vbGVhbiIpOworCisgICAgZGVidWcoIkNoZWNraW5nIHRoYXQgc3RhdHVz
IGlzIHRydWUgd2hlbiBjb250ZXh0IGlzIGxvc3QuIik7CisgICAgaWYgKGxvc2VDb250ZXh0KSB7
CisgICAgICAgIGxvc2VDb250ZXh0Lmxvc2VDb250ZXh0KCk7CisgICAgICAgIHN0YXR1cyA9IGds
LmdldFNoYWRlclBhcmFtZXRlcih2cywgQ09NUExFVElPTl9TVEFUVVNfS0hSKTsKKyAgICAgICAg
aWYgKHN0YXR1cyAhPT0gdHJ1ZSkgdGVzdEZhaWxlZCgic3RhdHVzIHNob3VsZCBiZSB0cnVlIHdo
ZW4gY29udGV4dCBpcyBsb3N0Iik7CisgICAgICAgIHN0YXR1cyA9IGdsLmdldFByb2dyYW1QYXJh
bWV0ZXIocHJvZ3JhbSwgQ09NUExFVElPTl9TVEFUVVNfS0hSKTsKKyAgICAgICAgaWYgKHN0YXR1
cyAhPT0gdHJ1ZSkgdGVzdEZhaWxlZCgic3RhdHVzIHNob3VsZCBiZSB0cnVlIHdoZW4gY29udGV4
dCBpcyBsb3N0Iik7CisgICAgfQorfQorCitjb25zdCBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>