<?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>151394</bug_id>
          
          <creation_ts>2015-11-18 10:43:39 -0800</creation_ts>
          <short_desc>MediaStream: Implement MediaDevices.getSupportedConstraints</short_desc>
          <delta_ts>2015-11-18 17:25:24 -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>Media</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>
          
          <blocked>143211</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1142876</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-11-18 10:43:39 -0800</bug_when>
    <thetext>Implement it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142877</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-11-18 10:46:02 -0800</bug_when>
    <thetext>&lt;rdar://problem/23596124&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142900</commentid>
    <comment_count>2</comment_count>
      <attachid>265758</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-11-18 11:15:35 -0800</bug_when>
    <thetext>Created attachment 265758
Patch for the bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142930</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-18 12:03:20 -0800</bug_when>
    <thetext>Attachment 265758 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/JSMediaTrackSupportedConstraintsCustom.cpp:55:  Multi line control clauses should use braces.  [whitespace/braces] [4]
ERROR: Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp:39:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp:41:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp:54:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp:57:  Should have a space between // and comment  [whitespace/comments] [4]
Total errors found: 5 in 20 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142939</commentid>
    <comment_count>4</comment_count>
      <attachid>265772</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-11-18 12:17:55 -0800</bug_when>
    <thetext>Created attachment 265772
Updated patch for the bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142943</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-18 12:29:50 -0800</bug_when>
    <thetext>Attachment 265772 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/JSMediaTrackSupportedConstraintsCustom.cpp:55:  Multi line control clauses should use braces.  [whitespace/braces] [4]
Total errors found: 1 in 19 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142975</commentid>
    <comment_count>6</comment_count>
      <attachid>265777</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-11-18 14:14:41 -0800</bug_when>
    <thetext>Created attachment 265777
Another updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142976</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-18 14:16:31 -0800</bug_when>
    <thetext>Attachment 265777 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/JSMediaTrackSupportedConstraintsCustom.cpp:55:  Multi line control clauses should use braces.  [whitespace/braces] [4]
ERROR: Source/WebCore/PlatformGTK.cmake:687:  Alphabetical sorting problem. &quot;Modules/mediastream/MediaTrackSupportedConstraints.idl&quot; should be before &quot;Modules/mediastream/NavigatorMediaDevices.idl&quot;.  [list/order] [5]
Total errors found: 2 in 20 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143099</commentid>
    <comment_count>8</comment_count>
      <attachid>265777</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-11-18 17:12:46 -0800</bug_when>
    <thetext>Comment on attachment 265777
Another updated patch.

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

r=me.

&gt; Source/WebCore/platform/mediastream/RealtimeMediaSourceSupportedConstraints.h:51
&gt; +        , m_supportsGroupId(false)

Why not use C++11 initializers down where you declare these guys?

&gt; Source/WebCore/platform/mock/MockRealtimeMediaSource.cpp:-87
&gt; -

Nice! :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143105</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-11-18 17:25:01 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Comment on attachment 265777 [details]
&gt; Another updated patch.
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=265777&amp;action=review
&gt; 
&gt; r=me.
&gt; 
&gt; &gt; Source/WebCore/platform/mediastream/RealtimeMediaSourceSupportedConstraints.h:51
&gt; &gt; +        , m_supportsGroupId(false)
&gt; 
&gt; Why not use C++11 initializers down where you declare these guys?
&gt; 
Good idea, done.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143106</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-11-18 17:25:24 -0800</bug_when>
    <thetext>Committed r192602: https://trac.webkit.org/r192602</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265758</attachid>
            <date>2015-11-18 11:15:35 -0800</date>
            <delta_ts>2015-11-18 12:17:55 -0800</delta_ts>
            <desc>Patch for the bots.</desc>
            <filename>track_supported_constraints_patch_4.txt</filename>
            <type>text/plain</type>
            <size>46855</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MjU3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDg0IEBACisyMDE1LTExLTE4ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFtOiBJ
bXBsZW1lbnQgTWVkaWFEZXZpY2VzLmdldFN1cHBvcnRlZENvbnN0cmFpbnRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEzOTQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L21lZGlhc3Ry
ZWFtL01lZGlhRGV2aWNlcy1nZXRTdXBwb3J0ZWRDb25zdHJhaW50cy5odG1sCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDogQWRkIE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cyBhbmQg
SlNNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHNDdXN0b20uCisKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5tYWtlOiBEaXR0by4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFEZXZpY2VzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRGV2aWNlczo6Z2V0U3Vw
cG9ydGVkQ29uc3RyYWludHMpOiBOZXcuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYURldmljZXMuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNl
cy5pZGw6CisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tTdXBwb3J0
ZWRDb25zdHJhaW50cy5oOiBBZGRlZC4gV3JhcHBlciBhcm91bmQgYSAKKyAgICAgICAgICBSZWFs
dGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1cHBvcnRzV2lkdGgpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzOjpzdXBwb3J0c0hlaWdo
dCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1
cHBvcnRzQXNwZWN0UmF0aW8pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFUcmFja1N1cHBvcnRl
ZENvbnN0cmFpbnRzOjpzdXBwb3J0c0ZyYW1lUmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1cHBvcnRzRmFjaW5nTW9kZSk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1cHBvcnRzVm9sdW1l
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50czo6c3Vw
cG9ydHNTYW1wbGVSYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhVHJhY2tTdXBwb3J0ZWRD
b25zdHJhaW50czo6c3VwcG9ydHNTYW1wbGVTaXplKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
VHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50czo6c3VwcG9ydHNFY2hvQ2FuY2VsbGF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50czo6c3VwcG9ydHNE
ZXZpY2VJZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWlu
dHM6OnN1cHBvcnRzR3JvdXBJZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVRyYWNrU3VwcG9y
dGVkQ29uc3RyYWludHM6Ok1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cyk6CisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaWRs
OiBBZGRlZC4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajog
QWRkIEpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzQ3VzdG9tLmNwcCwgCisgICAgICAg
ICAgUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmgsIGFuZCBNZWRpYVRy
YWNrU3VwcG9ydGVkQ29uc3RyYWludHMuKi4KKworICAgICAgICBBIE1lZGlhVHJhY2tTdXBwb3J0
ZWRDb25zdHJhaW50cyBvbmx5IGNvbnRhaW5zIHRoZSBwcm9wZXJ0aWVzIHN1cHBvcnRlZCBieSB0
aGUgY3VycmVudGx5CisgICAgICAgIGF2YWlsYWJsZSBjYXB0dXJlIGRldmljZXMsIHNvIGltcGxl
bWVudCBnZXRPd25Qcm9wZXJ0eVNsb3QgYW5kIGdldE93blByb3BlcnR5TmFtZXMgc28KKyAgICAg
ICAgd2UgZG9uJ3QgaGF2ZSB0byBkZWNsYXJlIGFueSBhdHRyaWJ1dGVzIGluIHRoZSBpZGwgZmls
ZS4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50
c0N1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNNZWRpYVRyYWNrU3VwcG9y
dGVkQ29uc3RyYWludHM6OmdldE93blByb3BlcnR5U2xvdERlbGVnYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzOjpnZXRPd25Qcm9wZXJ0eU5h
bWVzKToKKworICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlh
U291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpS
ZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHM6OlJlYWx0aW1lTWVkaWFTb3Vy
Y2VTdXBwb3J0ZWRDb25zdHJhaW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlh
U291cmNlU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1cHBvcnRzV2lkdGgpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0
c1dpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRD
b25zdHJhaW50czo6c3VwcG9ydHNIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVN
ZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0c0hlaWdodCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1
cHBvcnRzQXNwZWN0UmF0aW8pOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJj
ZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0c0FzcGVjdFJhdGlvKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50czo6c3VwcG9y
dHNGcmFtZVJhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBv
cnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0c0ZyYW1lUmF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1cHBvcnRzRmFjaW5n
TW9kZSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29u
c3RyYWludHM6OnNldFN1cHBvcnRzRmFjaW5nTW9kZSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFs
dGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1cHBvcnRzVm9sdW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50czo6
c2V0U3VwcG9ydHNWb2x1bWUpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJj
ZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzdXBwb3J0c1NhbXBsZVJhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0
c1NhbXBsZVJhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBv
cnRlZENvbnN0cmFpbnRzOjpzdXBwb3J0c1NhbXBsZVNpemUpOgorICAgICAgICAoV2ViQ29yZTo6
UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0c1NhbXBs
ZVNpemUpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENv
bnN0cmFpbnRzOjpzdXBwb3J0c0VjaG9DYW5jZWxsYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0c0VjaG9D
YW5jZWxsYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBv
cnRlZENvbnN0cmFpbnRzOjpzdXBwb3J0c0RldmljZUlkKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
YWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50czo6c2V0U3VwcG9ydHNEZXZpY2VJ
ZCk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3Ry
YWludHM6OnN1cHBvcnRzR3JvdXBJZCk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlh
U291cmNlU3VwcG9ydGVkQ29uc3RyYWludHM6OnNldFN1cHBvcnRzR3JvdXBJZCk6CisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1h
Yy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjKTogSW5pdGlhbGl6ZSBzdXBwb3J0ZWQgY29uc3Ry
YWludHMuCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXJNYWMuaDoKKworICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1l
TWVkaWFTb3VyY2UuY3BwOiBEZWxldGUgc29tZSBkZWFkIGNvZGUuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpNb2NrUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlcik6IEluaXRpYWxpemUgc3VwcG9ydGVkIGNvbnN0cmFpbnRzLgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaDoKKwogMjAxNS0x
MS0xOCAgUGVyIEFybmUgVm9sbGFuICA8cGVhdm9Ab3V0bG9vay5jb20+CiAKICAgICAgICAgW1dp
bkNhaXJvXVtNZWRpYUZvdW5kYXRpb25dIFRoZSBtYWluIHRocmVhZCBjYW4gc29tZXRpbWVzIGJl
IGJsb2NrZWQgZm9yZXZlciB3aGVuIGVuZGluZyBhIG1lZGlhIHNlc3Npb24uCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTkyNDg2KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIzOCw2ICsyMzgsNyBAQCBzZXQoV2ViQ29yZV9O
T05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0
cmFpbnQuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludFNl
dC5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50cy5pZGwK
KyAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cy5p
ZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhRGV2aWNlcy5pZGwKICAg
ICBNb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYS5pZGwKICAgICBNb2R1bGVz
L21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbApAQCAtOTU2LDYgKzk1Nyw3
IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJh
Y2tDb25zdHJhaW50LmNwcAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0
cmFpbnRTZXQuY3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWlu
dHMuY3BwCisgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3Ry
YWludHMuY3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JNZWRpYURldmljZXMu
Y3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAK
ICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAKQEAgLTEy
MDMsNiArMTIwNSw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU01h
aW5UaHJlYWRFeGVjU3RhdGUuY3BwCiAgICAgYmluZGluZ3MvanMvSlNNZWRpYVNvdXJjZVN0YXRl
c0N1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU01lZGlhU3RyZWFtQ2FwYWJpbGl0aWVzQ3Vz
dG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRz
Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTWVzc2FnZUNoYW5uZWxDdXN0b20uY3BwCiAg
ICAgYmluZGluZ3MvanMvSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMv
SlNNZXNzYWdlUG9ydEN1c3RvbS5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQkocmV2aXNpb24gMTkyNDg2KQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQkod29ya2luZyBjb3B5KQpAQCAtMTM0LDYgKzEzNCw3IEBAIE5PTl9TVkdfQklORElOR19JRExT
ID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3Ry
YWludC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNr
Q29uc3RyYWludHMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFUcmFja0NvbnN0cmFpbnRTZXQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhRGV2aWNlcy5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWEuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNlck1lZGlhRXJyb3Iu
aWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZp
Y2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhRGV2aWNlcy5jcHAJKHJldmlzaW9uIDE5MjQ4NikKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcs
NiArMzcsOCBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiTWVkaWFEZXZpY2Vz
UmVxdWVzdC5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtLmgiCisjaW5jbHVkZSAiTWVkaWFUcmFj
a1N1cHBvcnRlZENvbnN0cmFpbnRzLmgiCisjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlci5oIgogI2luY2x1ZGUgIlVzZXJNZWRpYUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJVc2Vy
TWVkaWFSZXF1ZXN0LmgiCiAKQEAgLTczLDYgKzc1LDExIEBAIHZvaWQgTWVkaWFEZXZpY2VzOjpl
bnVtZXJhdGVEZXZpY2VzKEVudW0KICAgICAgICAgcmVxdWVzdC0+c3RhcnQoKTsKIH0KIAorUmVm
UHRyPE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cz4gTWVkaWFEZXZpY2VzOjpnZXRTdXBw
b3J0ZWRDb25zdHJhaW50cygpCit7CisgICAgcmV0dXJuIE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25z
dHJhaW50czo6Y3JlYXRlKFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLnN1
cHBvcnRlZENvbnN0cmFpbnRzKCkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNl
bmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oCShyZXZpc2lvbiAxOTI0ODYpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Niw2ICs0Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERp
Y3Rpb25hcnk7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIE1lZGlhU3RyZWFtOworY2xhc3MgTWVk
aWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzOwogY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3I7CiAKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CkBAIC02Miw2ICs2Myw3IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgZ2V0VXNlck1lZGlhKGNvbnN0IERpY3Rpb25hcnkmLCBQcm9taXNlJiYs
IEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKICAgICB2b2lkIGVudW1lcmF0ZURldmljZXMoRW51bWVy
YXRlRGV2aWNlc1Byb21pc2UmJiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIFJlZlB0cjxN
ZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM+IGdldFN1cHBvcnRlZENvbnN0cmFpbnRzKCk7
CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgTWVkaWFEZXZpY2VzKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFE
ZXZpY2VzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL01lZGlhRGV2aWNlcy5pZGwJKHJldmlzaW9uIDE5MjQ4NikKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MzIsNiArMzIsOCBAQAogICAgIE5vSW50ZXJmYWNlT2JqZWN0LAogICAgIENvbmRpdGlvbmFsPU1F
RElBX1NUUkVBTQogXSBpbnRlcmZhY2UgTWVkaWFEZXZpY2VzIHsKKyAgICBNZWRpYVRyYWNrU3Vw
cG9ydGVkQ29uc3RyYWludHMgZ2V0U3VwcG9ydGVkQ29uc3RyYWludHMoKTsKKwogICAgIFtKU0J1
aWx0aW5dIFByb21pc2UgZ2V0VXNlck1lZGlhKERpY3Rpb25hcnkgb3B0aW9ucyk7CiAgICAgW1Jh
aXNlc0V4Y2VwdGlvbl0gUHJvbWlzZSBlbnVtZXJhdGVEZXZpY2VzKCk7CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFp
bnRzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqICAgIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4K
KyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgRXJpY3Nzb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMg
Y29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMKKyAqICAgIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBNZWRpYVRyYWNr
U3VwcG9ydGVkQ29uc3RyYWludHNfaAorI2RlZmluZSBNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3Ry
YWludHNfaAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIlJlYWx0aW1l
TWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cy5oIgorI2luY2x1ZGUgIlNjcmlwdFdyYXBw
YWJsZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzIDogcHVibGljIFJlZkNv
dW50ZWQ8TWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzPiwgcHVibGljIFNjcmlwdFdyYXBw
YWJsZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3Ry
YWludHM+IGNyZWF0ZShjb25zdCBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWlu
dHMmIHN1cHBvcnRlZENvbnN0cmFpbnRzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzKHN1cHBvcnRlZENvbnN0cmFpbnRz
KSk7CisgICAgfQorCisgICAgYm9vbCBzdXBwb3J0c1dpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9z
dXBwb3J0ZWRDb25zdHJhaW50cy5zdXBwb3J0c1dpZHRoKCk7IH0KKyAgICBib29sIHN1cHBvcnRz
SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zdXBwb3J0c0hl
aWdodCgpOyB9CisgICAgYm9vbCBzdXBwb3J0c0FzcGVjdFJhdGlvKCkgY29uc3QgeyByZXR1cm4g
bV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zdXBwb3J0c0FzcGVjdFJhdGlvKCk7IH0KKyAgICBib29s
IHN1cHBvcnRzRnJhbWVSYXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0ZWRDb25zdHJhaW50
cy5zdXBwb3J0c0ZyYW1lUmF0ZSgpOyB9CisgICAgYm9vbCBzdXBwb3J0c0ZhY2luZ01vZGUoKSBj
b25zdCB7IHJldHVybiBtX3N1cHBvcnRlZENvbnN0cmFpbnRzLnN1cHBvcnRzRmFjaW5nTW9kZSgp
OyB9CisgICAgYm9vbCBzdXBwb3J0c1ZvbHVtZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3VwcG9ydGVk
Q29uc3RyYWludHMuc3VwcG9ydHNWb2x1bWUoKTsgfQorICAgIGJvb2wgc3VwcG9ydHNTYW1wbGVS
YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zdXBwb3J0c1NhbXBs
ZVJhdGUoKTsgfQorICAgIGJvb2wgc3VwcG9ydHNTYW1wbGVTaXplKCkgY29uc3QgeyByZXR1cm4g
bV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zdXBwb3J0c1NhbXBsZVNpemUoKTsgfQorICAgIGJvb2wg
c3VwcG9ydHNFY2hvQ2FuY2VsbGF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0ZWRDb25z
dHJhaW50cy5zdXBwb3J0c0VjaG9DYW5jZWxsYXRpb24oKTsgfQorICAgIGJvb2wgc3VwcG9ydHNE
ZXZpY2VJZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3VwcG9ydGVkQ29uc3RyYWludHMuc3VwcG9ydHNE
ZXZpY2VJZCgpOyB9CisgICAgYm9vbCBzdXBwb3J0c0dyb3VwSWQoKSBjb25zdCB7IHJldHVybiBt
X3N1cHBvcnRlZENvbnN0cmFpbnRzLnN1cHBvcnRzR3JvdXBJZCgpOyB9CisKK3ByaXZhdGU6Cisg
ICAgZXhwbGljaXQgTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzKGNvbnN0IFJlYWx0aW1l
TWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cyYgc3VwcG9ydGVkQ29uc3RyYWludHMpCisg
ICAgICAgIDogbV9zdXBwb3J0ZWRDb25zdHJhaW50cyhzdXBwb3J0ZWRDb25zdHJhaW50cykKKyAg
ICB7CisgICAgfQorCisgICAgUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRz
IG1fc3VwcG9ydGVkQ29uc3RyYWludHM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHNfaAorCisjZW5kaWYKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja1N1cHBvcnRl
ZENvbnN0cmFpbnRzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cy5pZGwJKHJldmlzaW9uIDAp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tTdXBwb3J0
ZWRDb25zdHJhaW50cy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOSBAQAorLyoKKyog
Q29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0OgorKgorKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorKiAgICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisqICAgIGRpc3RyaWJ1dGlv
bi4KKyogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBFcmljc3NvbiBub3IgdGhlIG5hbWVzIG9mIGl0
cyBjb250cmlidXRvcnMKKyogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisqICAgIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisqLworCitbCisgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFN
LAorICAgIE5vSW50ZXJmYWNlT2JqZWN0LAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CisgICAgSlNDdXN0b21HZXRPd25Qcm9wZXJ0eVNsb3RBbmREZXNjcmlwdG9yLAorICAgIEN1c3Rv
bUVudW1lcmF0ZVByb3BlcnR5LAorXSBpbnRlcmZhY2UgTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0
cmFpbnRzIHsKK307CisKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE5MjQ4NikKKysrIFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTMw
LDYgKzEzMCw3IEBACiAJCTA3MUU0OTcwMUFENUFCNUUwMDhBNTBCNCAvKiBNZWRpYVBsYXliYWNr
VGFyZ2V0TWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwNzFFNDk2RjFBRDVBQjVFMDA4QTUwQjQgLyogTWVkaWFQbGF5YmFja1RhcmdldE1hYy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3MjBCMEEw
MTREMzMyMzUwMDY0Mjk1NSAvKiBHZW5lcmljRXZlbnRRdWV1ZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzIwQjA5RTE0RDMzMjM1MDA2NDI5NTUg
LyogR2VuZXJpY0V2ZW50UXVldWUuY3BwICovOyB9OwogCQkwNzIwQjBBMTE0RDMzMjM1MDA2NDI5
NTUgLyogR2VuZXJpY0V2ZW50UXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDA3MjBCMDlGMTREMzMyMzUwMDY0Mjk1NSAvKiBHZW5lcmljRXZlbnRR
dWV1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTA3MjU2MEZCMUJGQzI0ODIwMDRGOTM1OSAvKiBKU01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJh
aW50c0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwN0MxQzBFNjFCRkI5MEE3MDBCRDIyNTYgLyogSlNNZWRpYVRyYWNrU3VwcG9ydGVkQ29u
c3RyYWludHNDdXN0b20uY3BwICovOyBzZXR0aW5ncyA9IHtBU1NFVF9UQUdTID0gKCk7IH07IH07
CiAJCTA3Mjc3RTRDMTdEMDE4Q0MwMDE1NTM0RCAvKiBKU01lZGlhU3RyZWFtLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3Mjc3RTQwMTdEMDE4Q0Mw
MDE1NTM0RCAvKiBKU01lZGlhU3RyZWFtLmNwcCAqLzsgfTsKIAkJMDcyNzdFNEQxN0QwMThDQzAw
MTU1MzREIC8qIEpTTWVkaWFTdHJlYW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDA3Mjc3RTQxMTdEMDE4Q0MwMDE1NTM0RCAvKiBKU01lZGlhU3RyZWFt
LmggKi87IH07CiAJCTA3Mjc3RTRFMTdEMDE4Q0MwMDE1NTM0RCAvKiBKU01lZGlhU3RyZWFtQXVk
aW9EZXN0aW5hdGlvbk5vZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMDcyNzdFNDIxN0QwMThDQzAwMTU1MzREIC8qIEpTTWVkaWFTdHJlYW1BdWRp
b0Rlc3RpbmF0aW9uTm9kZS5jcHAgKi87IH07CkBAIC0yMTEsNiArMjEyLDggQEAKIAkJMDc4NDYz
NDIxNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzg0NjM0MDE0NUIxNTFBMDBBNThERjEgLyog
SlNUcmFja0V2ZW50LmNwcCAqLzsgfTsKIAkJMDc4NDYzNDMxNDVCMTUxQTAwQTU4REYxIC8qIEpT
VHJhY2tFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDc4NDYzNDExNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5oICovOyB9OwogCQkw
Nzg0NjM4NTE0NUIxQjhFMDBBNThERjEgLyogSlNUcmFja0N1c3RvbS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc4NDYzODQxNDVCMUI4RTAwQTU4REYx
IC8qIEpTVHJhY2tDdXN0b20uaCAqLzsgfTsKKwkJMDc4N0M0NjkxQkZCREY2RjAwNkRDRDdGIC8q
IEpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3ODdDNDY3MUJGQkRGNkYwMDZEQ0Q3RiAvKiBK
U01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cy5jcHAgKi87IHNldHRpbmdzID0ge0FTU0VU
X1RBR1MgPSAoKTsgfTsgfTsKKwkJMDc4N0M0NkExQkZCREY2RjAwNkRDRDdGIC8qIEpTTWVkaWFU
cmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwNzg3QzQ2ODFCRkJERjZGMDA2RENEN0YgLyogSlNNZWRpYVRyYWNr
U3VwcG9ydGVkQ29uc3RyYWludHMuaCAqLzsgc2V0dGluZ3MgPSB7QVNTRVRfVEFHUyA9ICgpOyB9
OyB9OwogCQkwNzhFMDhGRTE3RDE0Q0VFMDA0MjBBQTEgLyogTWVkaWFDb25zdHJhaW50c0ltcGwu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcyMjFC
NEExN0NFQzMyNzAwODQ4RTUxIC8qIE1lZGlhQ29uc3RyYWludHNJbXBsLmNwcCAqLzsgfTsKIAkJ
MDc4RTA4RkYxN0QxNENFRTAwNDIwQUExIC8qIE1lZGlhU3RyZWFtLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MjIxQjRDMTdDRUMzMjcwMDg0OEU1
MSAvKiBNZWRpYVN0cmVhbS5jcHAgKi87IH07CiAJCTA3OEUwOTAwMTdEMTRDRUUwMDQyMEFBMSAv
KiBNZWRpYVN0cmVhbUV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA3MjIxQjRGMTdDRUMzMjcwMDg0OEU1MSAvKiBNZWRpYVN0cmVhbUV2ZW50
LmNwcCAqLzsgfTsKQEAgLTMxNCw2ICszMTcsOCBAQAogCQkwN0I1QTJEQzE0NjQzMjBBMDBBODFF
Q0UgLyogSlNUZXh0VHJhY2tMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwN0I1QTJEQTE0NjQzMjBBMDBBODFFQ0UgLyogSlNUZXh0VHJhY2tMaXN0
LmggKi87IH07CiAJCTA3QjVBMzBEMTQ2ODdENzEwMEE4MUVDRSAvKiBKU1RleHRUcmFja0xpc3RD
dXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MDdCNUEzMEMxNDY4N0Q3MTAwQTgxRUNFIC8qIEpTVGV4dFRyYWNrTGlzdEN1c3RvbS5jcHAgKi87
IH07CiAJCTA3QkRENkVDMTQ2OUI0QzIwMDlDOUY4NSAvKiBKU1RyYWNrRXZlbnRDdXN0b20uY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdCNUEzMEEx
NDY4N0I4NDAwQTgxRUNFIC8qIEpTVHJhY2tFdmVudEN1c3RvbS5jcHAgKi87IH07CisJCTA3QzFD
MEUyMUJGQjYwMDEwMEJEMjI1NiAvKiBNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3QzFDMEUwMUJG
QjYwMDEwMEJEMjI1NiAvKiBNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaCAqLzsgc2V0
dGluZ3MgPSB7QVNTRVRfVEFHUyA9ICgpOyB9OyB9OworCQkwN0MxQzBFNTFCRkI2MEVEMDBCRDIy
NTYgLyogUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0MxQzBFNDFCRkI2MEVEMDBC
RDIyNTYgLyogUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmggKi87IHNl
dHRpbmdzID0ge0FTU0VUX1RBR1MgPSAoKTsgfTsgfTsKIAkJMDdDNTlCNjgxN0Y3ODRCQTAwMEZC
Q0JCIC8qIE1lZGlhU291cmNlU3RhdGVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA3QzU5QjY1MTdGNzg0QkEwMDBGQkNCQiAvKiBNZWRpYVNvdXJj
ZVN0YXRlcy5jcHAgKi87IH07CiAJCTA3QzU5QjY5MTdGNzg0QkEwMDBGQkNCQiAvKiBNZWRpYVNv
dXJjZVN0YXRlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDdDNTlCNjYxN0Y3ODRCQTAwMEZCQ0JCIC8qIE1lZGlhU291cmNlU3RhdGVzLmggKi87IH07
CiAJCTA3QzU5QjZFMTdGNzk0RjYwMDBGQkNCQiAvKiBKU01lZGlhU291cmNlU3RhdGVzQ3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3QzU5
QjZEMTdGNzk0RjYwMDBGQkNCQiAvKiBKU01lZGlhU291cmNlU3RhdGVzQ3VzdG9tLmNwcCAqLzsg
fTsKQEAgLTc1MzUsNiArNzU0MCw4IEBACiAJCTA3ODQ2MzQwMTQ1QjE1MUEwMEE1OERGMSAvKiBK
U1RyYWNrRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNU
cmFja0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc4NDYzNDExNDVC
MTUxQTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU1RyYWNrRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc4
NDYzODQxNDVCMUI4RTAwQTU4REYxIC8qIEpTVHJhY2tDdXN0b20uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNUcmFja0N1c3RvbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwNzg3QzQ2NzFCRkJERjZGMDA2RENEN0YgLyogSlNNZWRpYVRyYWNrU3VwcG9ydGVk
Q29uc3RyYWludHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNN
ZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwNzg3QzQ2ODFCRkJERjZGMDA2RENEN0YgLyogSlNNZWRpYVRyYWNrU3VwcG9ydGVk
Q29uc3RyYWludHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYVRy
YWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MDc4RTA5NDgxN0QxNzA5NjAwNDIwQUExIC8qIE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5v
ZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFTdHJlYW1B
dWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3
OEUwOTQ5MTdEMTcwOTYwMDQyMEFBMSAvKiBNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2Rl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhU3RyZWFtQXVkaW9EZXN0
aW5hdGlvbk5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc4RTA5NEExN0Qx
NzA5NjAwNDIwQUExIC8qIE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzU5MCw2ICs3NTk3LDEwIEBACiAJCTA3QjVB
MzA2MTQ2ODUzNzEwMEE4MUVDRSAvKiBUZXh0VHJhY2tMaXN0LmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBUZXh0VHJhY2tMaXN0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MDdCNUEzMEExNDY4N0I4NDAwQTgxRUNFIC8qIEpTVHJhY2tFdmVudEN1c3RvbS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1RyYWNrRXZlbnRDdXN0b20uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwN0I1QTMwQzE0Njg3RDcxMDBBODFFQ0UgLyog
SlNUZXh0VHJhY2tMaXN0Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTVGV4dFRyYWNrTGlzdEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTA3QzFDMEUwMUJGQjYwMDEwMEJEMjI1NiAvKiBNZWRpYVRyYWNrU3VwcG9ydGVkQ29u
c3RyYWludHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFUcmFja1N1
cHBvcnRlZENvbnN0cmFpbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA3QzFD
MEUxMUJGQjYwMDEwMEJEMjI1NiAvKiBNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cy5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA3QzFDMEU0MUJGQjYwRUQwMEJEMjI1
NiAvKiBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0
cmFpbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA3QzFDMEU2MUJGQjkwQTcw
MEJEMjI1NiAvKiBKU01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50c0N1c3RvbS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lZGlhVHJhY2tTdXBwb3J0ZWRD
b25zdHJhaW50c0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3QzU5
QjY1MTdGNzg0QkEwMDBGQkNCQiAvKiBNZWRpYVNvdXJjZVN0YXRlcy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVNvdXJjZVN0YXRlcy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3QzU5QjY2MTdGNzg0QkEwMDBGQkNCQiAvKiBNZWRpYVNv
dXJjZVN0YXRlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVNvdXJj
ZVN0YXRlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwN0M1OUI2NzE3Rjc4NEJB
MDAwRkJDQkIgLyogTWVkaWFTb3VyY2VTdGF0ZXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IE1lZGlhU291cmNlU3RhdGVzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1
MTYxLDYgKzE1MTcyLDggQEAKIAkJCQkwNzA1ODUzNzE3RkUwNDRGMDA1RjJCQ0IgLyogTWVkaWFU
cmFja0NvbnN0cmFpbnRTZXQuY3BwICovLAogCQkJCTA3MDU4NTI2MTdGREUwMkIwMDVGMkJDQiAv
KiBNZWRpYVRyYWNrQ29uc3RyYWludFNldC5oICovLAogCQkJCTA3MDU4NTI3MTdGREUwMkIwMDVG
MkJDQiAvKiBNZWRpYVRyYWNrQ29uc3RyYWludFNldC5pZGwgKi8sCisJCQkJMDdDMUMwRTAxQkZC
NjAwMTAwQkQyMjU2IC8qIE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cy5oICovLAorCQkJ
CTA3QzFDMEUxMUJGQjYwMDEwMEJEMjI1NiAvKiBNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWlu
dHMuaWRsICovLAogCQkJCTVFQTcyNUNBMUFDQUJDQjUwMEVBRDE3QiAvKiBOYXZpZ2F0b3JNZWRp
YURldmljZXMuY3BwICovLAogCQkJCTVFQTcyNUNCMUFDQUJDQjUwMEVBRDE3QiAvKiBOYXZpZ2F0
b3JNZWRpYURldmljZXMuaCAqLywKIAkJCQk1RUE3MjVDQzFBQ0FCQ0I1MDBFQUQxN0IgLyogTmF2
aWdhdG9yTWVkaWFEZXZpY2VzLmlkbCAqLywKQEAgLTE1MjQ1LDYgKzE1MjU4LDcgQEAKIAkJCQkw
NzIyMUI5RDE3Q0YwQUQ0MDA4NDhFNTEgLyogTWVkaWFTdHJlYW1Qcml2YXRlLmggKi8sCiAJCQkJ
MDdGRkRFNjYxODFBRUQ0MjAwNzJENDA5IC8qIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmNwcCAq
LywKIAkJCQkwN0ZGREU2NzE4MUFFRDQyMDA3MkQ0MDkgLyogTWVkaWFTdHJlYW1UcmFja1ByaXZh
dGUuaCAqLywKKwkJCQkwN0MxQzBFNDFCRkI2MEVEMDBCRDIyNTYgLyogUmVhbHRpbWVNZWRpYVNv
dXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmggKi8sCiAJCQkJMDc2MzA2RTIxN0UyMkE0MzAwNUE3
QzRFIC8qIE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENsaWVudC5oICovLAogCQkJCTRB
NEY2NTZCMUFBOTk3RjEwMEUzOENERCAvKiBSZWFsdGltZU1lZGlhU291cmNlLmNwcCAqLywKIAkJ
CQk0QTRGNjU2QzFBQTk5N0YxMDBFMzhDREQgLyogUmVhbHRpbWVNZWRpYVNvdXJjZS5oICovLApA
QCAtMTUzNzAsNiArMTUzODQsOCBAQAogCQkJCTA3MDU4NTJFMTdGREU2RDkwMDVGMkJDQiAvKiBK
U01lZGlhVHJhY2tDb25zdHJhaW50cy5oICovLAogCQkJCTA3MDU4NTJGMTdGREU2RDkwMDVGMkJD
QiAvKiBKU01lZGlhVHJhY2tDb25zdHJhaW50U2V0LmNwcCAqLywKIAkJCQkwNzA1ODUzMDE3RkRF
NkQ5MDA1RjJCQ0IgLyogSlNNZWRpYVRyYWNrQ29uc3RyYWludFNldC5oICovLAorCQkJCTA3ODdD
NDY3MUJGQkRGNkYwMDZEQ0Q3RiAvKiBKU01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cy5j
cHAgKi8sCisJCQkJMDc4N0M0NjgxQkZCREY2RjAwNkRDRDdGIC8qIEpTTWVkaWFUcmFja1N1cHBv
cnRlZENvbnN0cmFpbnRzLmggKi8sCiAJCQkJMDczQkUzM0UxN0QxN0UwMTAwMkJENDMxIC8qIEpT
TmF2aWdhdG9yVXNlck1lZGlhLmNwcCAqLywKIAkJCQkwNzNCRTMzRjE3RDE3RTAxMDAyQkQ0MzEg
LyogSlNOYXZpZ2F0b3JVc2VyTWVkaWEuaCAqLywKIAkJCQkwNzNCRTM0MjE3RDE3RTdBMDAyQkQ0
MzEgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAgKi8sCkBAIC0yMjExOSw2ICsyMjEz
NSw3IEBACiAJCQkJMDdDNTlCNkQxN0Y3OTRGNjAwMEZCQ0JCIC8qIEpTTWVkaWFTb3VyY2VTdGF0
ZXNDdXN0b20uY3BwICovLAogCQkJCTA3MDU4NTE2MTdGQjQwRTkwMDVGMkJDQiAvKiBKU01lZGlh
U3RyZWFtQ2FwYWJpbGl0aWVzQ3VzdG9tLmNwcCAqLywKIAkJCQlFMUE1Rjk5QTBFN0VBQTI1MDBB
Rjg1RUEgLyogSlNNZXNzYWdlQ2hhbm5lbEN1c3RvbS5jcHAgKi8sCisJCQkJMDdDMUMwRTYxQkZC
OTBBNzAwQkQyMjU2IC8qIEpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzQ3VzdG9tLmNw
cCAqLywKIAkJCQk0MTBCN0U3MTEwNDVGQUIwMDBEODIyNEYgLyogSlNNZXNzYWdlRXZlbnRDdXN0
b20uY3BwICovLAogCQkJCUUxQURFRDQ2MEU3NkI4REQwMDRBMUE1RSAvKiBKU01lc3NhZ2VQb3J0
Q3VzdG9tLmNwcCAqLywKIAkJCQk0MUY1ODRDNjEwNDY1MkNCMDA5Q0FBNjQgLyogSlNNZXNzYWdl
UG9ydEN1c3RvbS5oICovLApAQCAtMjU2NTIsNiArMjU2NjksNyBAQAogCQkJCTQ5OUIzRUQ3MTI4
Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xheWVyQ0EuaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
NTgwQjBFMEYxMkEyNjkwMDUxRDY4OSAvKiBHcmFwaGljc0xheWVyQ2xpZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQUM2OTU5MzE2MUExRTUzMDAzNzMyQ0IgLyogR3JhcGhpY3NMYXllckZhY3Rv
cnkuaCBpbiBIZWFkZXJzICovLAorCQkJCTA3ODdDNDZBMUJGQkRGNkYwMDZEQ0Q3RiAvKiBKU01l
ZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZBMjRE
N0ExNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlDRUMzMzdBRjFBNDYwODZEMDA5Qjg1MjMgLyogR3JhcGhpY3NTZXJ2aWNlc1NQSS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQjJBMDE1QUIwQUY2Q0Q1MzAwNkJDRTBFIC8qIEdyYXBoaWNz
VHlwZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMjY3NDMsNiArMjY3NjEsNyBAQAogCQkJCTA3MDU4
NTIxMTdGREMxNDAwMDVGMkJDQiAvKiBNZWRpYVRyYWNrQ29uc3RyYWludC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMDcwNTg1MjQxN0ZEQzE0MDAwNUYyQkNCIC8qIE1lZGlhVHJhY2tDb25zdHJhaW50
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcwNTg1MjkxN0ZERTAyQzAwNUYyQkNCIC8qIE1lZGlh
VHJhY2tDb25zdHJhaW50U2V0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwN0MxQzBFMjFCRkI2MDAx
MDBCRDIyNTYgLyogTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5OUM3Q0NCMzE4QzY2M0U0MDAzMkU0MTMgLyogTWVtb2l6ZWRET01SZXN1bHQuaCBp
biBIZWFkZXJzICovLAogCQkJCTUxRTFCQUMzMUJEODA2NEUwMDU1RDgxRiAvKiBNZW1vcnlCYWNr
aW5nU3RvcmVUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCMTZDMTgwOTc5QzNC
RDAwNDY3NzQxIC8qIE1lbW9yeUNhY2hlLmggaW4gSGVhZGVycyAqLywKQEAgLTI3MDQ1LDYgKzI3
MDY0LDcgQEAKIAkJCQk0QTBGRkFBMjFBQUY1RUEyMDA2MjgwM0IgLyogUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEEwRkZBQTYxQUFGNUVGNjAwNjI4MDNC
IC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCTRB
NEY2NTc0MUFBOTk3RjEwMEUzOENERCAvKiBSZWFsdGltZU1lZGlhU291cmNlU3RhdGVzLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwN0MxQzBFNTFCRkI2MEVEMDBCRDIyNTYgLyogUmVhbHRpbWVNZWRp
YVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzQzNjhF
ODBDMjI2RTMyMDA1RUZCNUYgLyogUmVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ0NUE5NTgx
NzVENDE0QzAwQzIxRUM4IC8qIFJlY3RhbmdsZVNoYXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
ODMxQUU0QTE1NDIyNUM5MDBGRTI2NDQgLyogUmVmZXJyZXJQb2xpY3kuaCBpbiBIZWFkZXJzICov
LApAQCAtMzEwMTcsNiArMzEwMzcsNyBAQAogCQkJCUJDNUVCNjdEMEU4MUQ0MjAwMEIyNTk2NSAv
KiBTdHlsZUJveERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODM4NkE5NzAxOUY2MUU0RjAw
RTFFQzRBIC8qIFN0eWxlQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0VGNDQ3QTBF
Njc0N0QwMDAxQzEyODcgLyogU3R5bGVDYWNoZWRJbWFnZS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkwNzg3QzQ2OTFCRkJERjZGMDA2RENEN0YgLyogSlNNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3Ry
YWludHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM5M0U2MDQxNTFBOUExODAwMDY2RjA2IC8q
IFN0eWxlQ2FjaGVkSW1hZ2VTZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThDNEE3RkUwOUQ1
NjMyNzAwMDNBQzhEIC8qIFN0eWxlZEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1
RUI4QjgwRTgyMDFCRDAwQjI1OTY1IC8qIFN0eWxlRGVwcmVjYXRlZEZsZXhpYmxlQm94RGF0YS5j
cHAgaW4gU291cmNlcyAqLywKQEAgLTMxMzM4LDYgKzMxMzU5LDcgQEAKIAkJCQlGRDE3NjJERjE3
NjY4NkQ5MDBEODM2QTggLyogVXBTYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTY1OTM5
MjM3MDlBRTQzNDYwMDJDNTMxRiAvKiBVUkwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE5ODk1
NkIwQUE3OEY4MDAwNUVGNUVGIC8qIFVSTENGLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTA3MjU2
MEZCMUJGQzI0ODIwMDRGOTM1OSAvKiBKU01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50c0N1
c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyNjc3MjYwNDFBNURGNkYyMDAzQzI0REQgLyog
VVJMRmlsdGVyUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY1NUIzREREMTI1MUYxMkQw
MDNFRjI2OSAvKiBVUkxJbnB1dFR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjU5MzkyM0Ew
OUFFNDM1QzAwMkM1MzFGIC8qIFVSTE1hYy5tbSBpbiBTb3VyY2VzICovLApJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHNDdXN0
b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFU
cmFja1N1cHBvcnRlZENvbnN0cmFpbnRzQ3VzdG9tLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzQ3Vz
dG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDgxIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmgiCisKKyNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQorCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAiSlNET01X
cmFwcGVyLmgiCisjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oIgorCit1c2lu
ZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyNkZWZpbmUgRk9SX0VB
Q0hfQ09OU1RSQUlOVF9QUk9QRVJUWShtYWNybykgXAorICAgIG1hY3JvKHdpZHRoLCBXaWR0aCkg
XAorICAgIG1hY3JvKGhlaWdodCwgSGVpZ2h0KSBcCisgICAgbWFjcm8oYXNwZWN0UmF0aW8sIEFz
cGVjdFJhdGlvKSBcCisgICAgbWFjcm8oZnJhbWVSYXRlLCBGcmFtZVJhdGUpIFwKKyAgICBtYWNy
byhmYWNpbmdNb2RlLCBGYWNpbmdNb2RlKSBcCisgICAgbWFjcm8odm9sdW1lLCBWb2x1bWUpIFwK
KyAgICBtYWNybyhzYW1wbGVSYXRlLCBTYW1wbGVSYXRlKSBcCisgICAgbWFjcm8oc2FtcGxlU2l6
ZSwgU2FtcGxlU2l6ZSkgXAorICAgIG1hY3JvKGVjaG9DYW5jZWxsYXRpb24sIEVjaG9DYW5jZWxs
YXRpb24pIFwKKyAgICBtYWNybyhkZXZpY2VJZCwgRGV2aWNlSWQpIFwKKyAgICBtYWNybyhncm91
cElkLCBHcm91cElkKQorCitib29sIEpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzOjpn
ZXRPd25Qcm9wZXJ0eVNsb3REZWxlZ2F0ZShFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWUgcHJvcGVy
dHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCit7CisjZGVmaW5lIENIRUNLX1BST1BFUlRZKGxv
d2VyTmFtZSwgY2FwaXRhbE5hbWUpIFwKKyAgICBpZiAoU3RyaW5nKEFTQ0lJTGl0ZXJhbCgjbG93
ZXJOYW1lKSkgPT0gcHJvcGVydHlOYW1lVG9BdG9taWNTdHJpbmcocHJvcGVydHlOYW1lKSkgeyBc
CisgICAgICAgIHNsb3Quc2V0VmFsdWUodGhpcywgRG9udERlbGV0ZSB8IFJlYWRPbmx5LCBqc0Jv
b2xlYW4od3JhcHBlZCgpLnN1cHBvcnRzIyNjYXBpdGFsTmFtZSgpKSk7IFwKKyAgICAgICAgcmV0
dXJuIHRydWU7IFwKKyAgICB9CisKKyAgICBGT1JfRUFDSF9DT05TVFJBSU5UX1BST1BFUlRZKENI
RUNLX1BST1BFUlRZKQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEpTTWVkaWFUcmFj
a1N1cHBvcnRlZENvbnN0cmFpbnRzOjpnZXRPd25Qcm9wZXJ0eU5hbWVzKEpTT2JqZWN0KiBvYmpl
Y3QsIEV4ZWNTdGF0ZSogc3RhdGUsIFByb3BlcnR5TmFtZUFycmF5JiBwcm9wZXJ0eU5hbWVzLCBF
bnVtZXJhdGlvbk1vZGUgbW9kZSkKK3sKKyNkZWZpbmUgTUFZQkVfQUREX1BST1BFUlRZKGxvd2Vy
TmFtZSwgY2FwaXRhbE5hbWUpIFwKKyAgICBpZiAoc3VwcG9ydGVkQ29uc3RyYWludHMuc3VwcG9y
dHMjI2NhcGl0YWxOYW1lKCkpIFwKKyAgICAgICAgcHJvcGVydHlOYW1lcy5hZGQoSWRlbnRpZmll
cjo6ZnJvbVN0cmluZyhzdGF0ZSwgU3RyaW5nKEFTQ0lJTGl0ZXJhbCgjbG93ZXJOYW1lKSkpKTsK
KworICAgIHN0YXRpYyBjb25zdCBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWlu
dHMmIHN1cHBvcnRlZENvbnN0cmFpbnRzID0gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2lu
Z2xldG9uKCkuc3VwcG9ydGVkQ29uc3RyYWludHMoKTsKKworICAgIEZPUl9FQUNIX0NPTlNUUkFJ
TlRfUFJPUEVSVFkoTUFZQkVfQUREX1BST1BFUlRZKQorCisgICAgYXV0byogdGhpc09iamVjdCA9
IGpzQ2FzdDxKU01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cyo+KG9iamVjdCk7CisgICAg
QmFzZTo6Z2V0T3duUHJvcGVydHlOYW1lcyh0aGlzT2JqZWN0LCBzdGF0ZSwgcHJvcGVydHlOYW1l
cywgbW9kZSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcAkocmV2aXNpb24gMTkyNDg2KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDExIEBACiAKICNpbmNsdWRlICJNZWRp
YVN0cmVhbVByaXZhdGUuaCIKIAorLy9AQEBAQAorI2luY2x1ZGUgIk1vY2tSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyLmgiCisvL0BAQEBACisKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0
aWMgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlciomIG1lZGlhU3RyZWFtQ2VudGVyT3ZlcnJpZGUo
KQpAQCAtNDYsNiArNTEsMTEgQEAgc3RhdGljIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIqJiBt
ZWRpYQogCiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyJiBSZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyOjpzaW5nbGV0b24oKQogeworICAgIC8vQEBAQEAKKyAgICBpZiAoIW1lZGlhU3RyZWFtQ2Vu
dGVyT3ZlcnJpZGUoKSkKKyAgICAgICAgTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnJl
Z2lzdGVyTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIoKTsKKyAgICAvL0BAQEBACisgICAg
CiAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlciogb3ZlcnJpZGUgPSBtZWRpYVN0cmVhbUNl
bnRlck92ZXJyaWRlKCk7CiAgICAgaWYgKG92ZXJyaWRlKQogICAgICAgICByZXR1cm4gKm92ZXJy
aWRlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaAkocmV2aXNpb24gMTkyNDg2
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBACiAjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2UuaCIKKyNpbmNs
dWRlICJSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuaCIKICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBA
IC00Miw4ICs0Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTWVkaWFDb25zdHJh
aW50czsKIGNsYXNzIE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ7Ci1jbGFzcyBSZWFsdGltZU1l
ZGlhU291cmNlU3RhdGVzOwogY2xhc3MgTWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xp
ZW50OworY2xhc3MgUmVhbHRpbWVNZWRpYVNvdXJjZVN0YXRlczsKK2NsYXNzIFJlYWx0aW1lTWVk
aWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50czsKIGNsYXNzIFRyYWNrU291cmNlSW5mbzsKIAog
Y2xhc3MgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlciB7CkBAIC02MywxMCArNjUsMTMgQEAgcHVi
bGljOgogICAgIAogICAgIHZpcnR1YWwgUmVmUHRyPFRyYWNrU291cmNlSW5mbz4gc291cmNlV2l0
aFVJRChjb25zdCBTdHJpbmcmLCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlLCBNZWRpYUNvbnN0
cmFpbnRzKikgPSAwOwogCisgICAgdmlydHVhbCBjb25zdCBSZWFsdGltZU1lZGlhU291cmNlU3Vw
cG9ydGVkQ29uc3RyYWludHMmIHN1cHBvcnRlZENvbnN0cmFpbnRzKCkgeyByZXR1cm4gbV9zdXBw
b3J0ZWRDb25zdHJhaW50czsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlcigpOwogCiAgICAgc3RhdGljIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXImIHBsYXRm
b3JtQ2VudGVyKCk7CisgICAgUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRz
IG1fc3VwcG9ydGVkQ29uc3RyYWludHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291
cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWlu
dHMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L1JlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMTA2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogICAgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMK
KyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcworICogICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBw
b3J0ZWRDb25zdHJhaW50c19oCisjZGVmaW5lIFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRD
b25zdHJhaW50c19oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cyB7
CitwdWJsaWM6CisgICAgUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzKCkK
KyAgICAgICAgOiBtX3N1cHBvcnRzV2lkdGgoZmFsc2UpCisgICAgICAgICwgbV9zdXBwb3J0c0hl
aWdodChmYWxzZSkKKyAgICAgICAgLCBtX3N1cHBvcnRzQXNwZWN0UmF0aW8oZmFsc2UpCisgICAg
ICAgICwgbV9zdXBwb3J0c0ZyYW1lUmF0ZShmYWxzZSkKKyAgICAgICAgLCBtX3N1cHBvcnRzRmFj
aW5nTW9kZShmYWxzZSkKKyAgICAgICAgLCBtX3N1cHBvcnRzVm9sdW1lKGZhbHNlKQorICAgICAg
ICAsIG1fc3VwcG9ydHNTYW1wbGVSYXRlKGZhbHNlKQorICAgICAgICAsIG1fc3VwcG9ydHNTYW1w
bGVTaXplKGZhbHNlKQorICAgICAgICAsIG1fc3VwcG9ydHNFY2hvQ2FuY2VsbGF0aW9uKGZhbHNl
KQorICAgICAgICAsIG1fc3VwcG9ydHNEZXZpY2VJZChmYWxzZSkKKyAgICAgICAgLCBtX3N1cHBv
cnRzR3JvdXBJZChmYWxzZSkKKyAgICB7CisgICAgfQorCisgICAgYm9vbCBzdXBwb3J0c1dpZHRo
KCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0c1dpZHRoOyB9CisgICAgdm9pZCBzZXRTdXBwb3J0
c1dpZHRoKGJvb2wgdmFsdWUpIHsgbV9zdXBwb3J0c1dpZHRoID0gdmFsdWU7IH0KKworICAgIGJv
b2wgc3VwcG9ydHNIZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRzSGVpZ2h0OyB9Cisg
ICAgdm9pZCBzZXRTdXBwb3J0c0hlaWdodChib29sIHZhbHVlKSB7IG1fc3VwcG9ydHNIZWlnaHQg
PSB2YWx1ZTsgfQorCisgICAgYm9vbCBzdXBwb3J0c0FzcGVjdFJhdGlvKCkgY29uc3QgeyByZXR1
cm4gbV9zdXBwb3J0c0FzcGVjdFJhdGlvOyB9CisgICAgdm9pZCBzZXRTdXBwb3J0c0FzcGVjdFJh
dGlvKGJvb2wgdmFsdWUpIHsgbV9zdXBwb3J0c0FzcGVjdFJhdGlvID0gdmFsdWU7IH0KKworICAg
IGJvb2wgc3VwcG9ydHNGcmFtZVJhdGUoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRzRnJhbWVS
YXRlOyB9CisgICAgdm9pZCBzZXRTdXBwb3J0c0ZyYW1lUmF0ZShib29sIHZhbHVlKSB7IG1fc3Vw
cG9ydHNGcmFtZVJhdGUgPSB2YWx1ZTsgfQorCisgICAgYm9vbCBzdXBwb3J0c0ZhY2luZ01vZGUo
KSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRzRmFjaW5nTW9kZTsgfQorICAgIHZvaWQgc2V0U3Vw
cG9ydHNGYWNpbmdNb2RlKGJvb2wgdmFsdWUpIHsgbV9zdXBwb3J0c0ZhY2luZ01vZGUgPSB2YWx1
ZTsgfQorCisgICAgYm9vbCBzdXBwb3J0c1ZvbHVtZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3VwcG9y
dHNWb2x1bWU7IH0KKyAgICB2b2lkIHNldFN1cHBvcnRzVm9sdW1lKGJvb2wgdmFsdWUpIHsgbV9z
dXBwb3J0c1ZvbHVtZSA9IHZhbHVlOyB9CisKKyAgICBib29sIHN1cHBvcnRzU2FtcGxlUmF0ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fc3VwcG9ydHNTYW1wbGVSYXRlOyB9CisgICAgdm9pZCBzZXRTdXBw
b3J0c1NhbXBsZVJhdGUoYm9vbCB2YWx1ZSkgeyBtX3N1cHBvcnRzU2FtcGxlUmF0ZSA9IHZhbHVl
OyB9CisKKyAgICBib29sIHN1cHBvcnRzU2FtcGxlU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3Vw
cG9ydHNTYW1wbGVTaXplOyB9CisgICAgdm9pZCBzZXRTdXBwb3J0c1NhbXBsZVNpemUoYm9vbCB2
YWx1ZSkgeyBtX3N1cHBvcnRzU2FtcGxlU2l6ZSA9IHZhbHVlOyB9CisKKyAgICBib29sIHN1cHBv
cnRzRWNob0NhbmNlbGxhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fc3VwcG9ydHNFY2hvQ2FuY2Vs
bGF0aW9uOyB9CisgICAgdm9pZCBzZXRTdXBwb3J0c0VjaG9DYW5jZWxsYXRpb24oYm9vbCB2YWx1
ZSkgeyBtX3N1cHBvcnRzRWNob0NhbmNlbGxhdGlvbiA9IHZhbHVlOyB9CisKKyAgICBib29sIHN1
cHBvcnRzRGV2aWNlSWQoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRzRGV2aWNlSWQ7IH0KKyAg
ICB2b2lkIHNldFN1cHBvcnRzRGV2aWNlSWQoYm9vbCB2YWx1ZSkgeyBtX3N1cHBvcnRzRGV2aWNl
SWQgPSB2YWx1ZTsgfQorCisgICAgYm9vbCBzdXBwb3J0c0dyb3VwSWQoKSBjb25zdCB7IHJldHVy
biBtX3N1cHBvcnRzR3JvdXBJZDsgfQorICAgIHZvaWQgc2V0U3VwcG9ydHNHcm91cElkKGJvb2wg
dmFsdWUpIHsgbV9zdXBwb3J0c0dyb3VwSWQgPSB2YWx1ZTsgfQorCitwcml2YXRlOgorICAgIGJv
b2wgbV9zdXBwb3J0c1dpZHRoOworICAgIGJvb2wgbV9zdXBwb3J0c0hlaWdodDsKKyAgICBib29s
IG1fc3VwcG9ydHNBc3BlY3RSYXRpbzsKKyAgICBib29sIG1fc3VwcG9ydHNGcmFtZVJhdGU7Cisg
ICAgYm9vbCBtX3N1cHBvcnRzRmFjaW5nTW9kZTsKKyAgICBib29sIG1fc3VwcG9ydHNWb2x1bWU7
CisgICAgYm9vbCBtX3N1cHBvcnRzU2FtcGxlUmF0ZTsKKyAgICBib29sIG1fc3VwcG9ydHNTYW1w
bGVTaXplOworICAgIGJvb2wgbV9zdXBwb3J0c0VjaG9DYW5jZWxsYXRpb247CisgICAgYm9vbCBt
X3N1cHBvcnRzRGV2aWNlSWQ7CisgICAgYm9vbCBtX3N1cHBvcnRzR3JvdXBJZDsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisK
KyNlbmRpZiAvLyBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHNfaApJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXJNYWMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcAkocmV2aXNp
b24gMTkyNDg2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1
MCwxNyBAQCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyJiBSZWFsdGltZU1lZGlhCiAKIFJlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMoKQog
eworICAgIG1fc3VwcG9ydGVkQ29uc3RyYWludHMuc2V0U3VwcG9ydHNXaWR0aCh0cnVlKTsKKyAg
ICBtX3N1cHBvcnRlZENvbnN0cmFpbnRzLnNldFN1cHBvcnRzSGVpZ2h0KHRydWUpOworICAgIG1f
c3VwcG9ydGVkQ29uc3RyYWludHMuc2V0U3VwcG9ydHNBc3BlY3RSYXRpbyh0cnVlKTsKKyAgICBt
X3N1cHBvcnRlZENvbnN0cmFpbnRzLnNldFN1cHBvcnRzRnJhbWVSYXRlKHRydWUpOworICAgIG1f
c3VwcG9ydGVkQ29uc3RyYWludHMuc2V0U3VwcG9ydHNGYWNpbmdNb2RlKHRydWUpOworICAgIG1f
c3VwcG9ydGVkQ29uc3RyYWludHMuc2V0U3VwcG9ydHNWb2x1bWUodHJ1ZSk7CisgICAgbV9zdXBw
b3J0ZWRDb25zdHJhaW50cy5zZXRTdXBwb3J0c1NhbXBsZVJhdGUoZmFsc2UpOworICAgIG1fc3Vw
cG9ydGVkQ29uc3RyYWludHMuc2V0U3VwcG9ydHNTYW1wbGVTaXplKGZhbHNlKTsKKyAgICBtX3N1
cHBvcnRlZENvbnN0cmFpbnRzLnNldFN1cHBvcnRzRWNob0NhbmNlbGxhdGlvbihmYWxzZSk7Cisg
ICAgbV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zZXRTdXBwb3J0c0RldmljZUlkKHRydWUpOworICAg
IG1fc3VwcG9ydGVkQ29uc3RyYWludHMuc2V0U3VwcG9ydHNHcm91cElkKHRydWUpOwogfQogCiBS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjp+UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1h
YygpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmgJKHJl
dmlzaW9uIDE5MjQ4NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21h
Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYg
KzQzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlck1hYyBmaW5hbCA6IHB1YmxpYyBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyIHsKIHB1Ymxp
YzoKICAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjKCk7CisKK3ByaXZhdGU6CiAgICAg
flJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMoKTsKIAogICAgIHZvaWQgdmFsaWRhdGVSZXF1
ZXN0Q29uc3RyYWludHMoTWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudCosIFJlZlB0cjxNZWRpYUNv
bnN0cmFpbnRzPiYgYXVkaW9Db25zdHJhaW50cywgUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+JiB2
aWRlb0NvbnN0cmFpbnRzKSBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2UuY3BwCShyZXZpc2lv
biAxOTI0ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1l
ZGlhU291cmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODEsMTAgKzgxLDYgQEAgUmVmUHRyPFRy
YWNrU291cmNlSW5mbz4gTW9ja1JlYWx0aW1lTWVkaQogICAgIHJldHVybiBudWxscHRyOwogfQog
Ci0jaWYgMAotCi0jZW5kaWYKLQogTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2U6Ok1vY2tSZWFsdGlt
ZU1lZGlhU291cmNlKGNvbnN0IFN0cmluZyYgaWQsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUg
dHlwZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgIDogUmVhbHRpbWVNZWRpYVNvdXJjZShpZCwg
dHlwZSwgbmFtZSkKIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCShyZXZpc2lv
biAxOTI0ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNiArNTYsMTcgQEAgdm9p
ZCBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6cmVnaQogICAgIH0KIH0KIAorTW9ja1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6Ok1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyKCkK
K3sKKyAgICBtX3N1cHBvcnRlZENvbnN0cmFpbnRzLnNldFN1cHBvcnRzV2lkdGgodHJ1ZSk7Cisg
ICAgbV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zZXRTdXBwb3J0c0hlaWdodCh0cnVlKTsKKyAgICBt
X3N1cHBvcnRlZENvbnN0cmFpbnRzLnNldFN1cHBvcnRzQXNwZWN0UmF0aW8odHJ1ZSk7CisgICAg
bV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zZXRTdXBwb3J0c0ZyYW1lUmF0ZSh0cnVlKTsKKyAgICBt
X3N1cHBvcnRlZENvbnN0cmFpbnRzLnNldFN1cHBvcnRzRmFjaW5nTW9kZSh0cnVlKTsKKyAgICBt
X3N1cHBvcnRlZENvbnN0cmFpbnRzLnNldFN1cHBvcnRzVm9sdW1lKHRydWUpOworICAgIG1fc3Vw
cG9ydGVkQ29uc3RyYWludHMuc2V0U3VwcG9ydHNEZXZpY2VJZCh0cnVlKTsKK30KKwogdm9pZCBN
b2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6dmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWludHMo
TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudCogY2xpZW50LCBSZWZQdHI8TWVkaWFDb25zdHJhaW50
cz4mIGF1ZGlvQ29uc3RyYWludHMsIFJlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiYgdmlkZW9Db25z
dHJhaW50cykKIHsKICAgICBBU1NFUlQoY2xpZW50KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyLmgJKHJldmlzaW9uIDE5MjQ4NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
TW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsMTQg
KzM4LDEzIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCByZWdpc3Rl
ck1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyKCk7CiAKIHByaXZhdGU6CisgICAgTW9ja1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIoKTsKIAogICAgIHZvaWQgdmFsaWRhdGVSZXF1ZXN0Q29u
c3RyYWludHMoTWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudCosIFJlZlB0cjxNZWRpYUNvbnN0cmFp
bnRzPiYgYXVkaW9Db25zdHJhaW50cywgUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+JiB2aWRlb0Nv
bnN0cmFpbnRzKSBvdmVycmlkZTsKICAgICB2b2lkIGNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQ
dHI8TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudD4sIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50
cz4gYXVkaW9Db25zdHJhaW50cywgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiB2aWRlb0Nv
bnN0cmFpbnRzKSBvdmVycmlkZTsKICAgICBib29sIGdldE1lZGlhU3RyZWFtVHJhY2tTb3VyY2Vz
KFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50Pikgb3ZlcnJp
ZGU7CiAgICAgdm9pZCBjcmVhdGVNZWRpYVN0cmVhbShNZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50
KiwgY29uc3QgU3RyaW5nJiBhdWRpb0RldmljZUlELCBjb25zdCBTdHJpbmcmIHZpZGVvRGV2aWNl
SUQpIG92ZXJyaWRlOwogICAgIFJlZlB0cjxUcmFja1NvdXJjZUluZm8+IHNvdXJjZVdpdGhVSUQo
Y29uc3QgU3RyaW5nJiwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSwgTWVkaWFDb25zdHJhaW50
cyopIG92ZXJyaWRlOwotCi0gICAgTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIoKSB7IH0K
IH07CiAKIH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MjQ4NikKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE1LTExLTE4ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFtOiBJ
bXBsZW1lbnQgTWVkaWFEZXZpY2VzLmdldFN1cHBvcnRlZENvbnN0cmFpbnRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEzOTQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0v
TWVkaWFEZXZpY2VzLWdldFN1cHBvcnRlZENvbnN0cmFpbnRzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMtZ2V0U3VwcG9ydGVkQ29u
c3RyYWludHMuaHRtbDogQWRkZWQuCisKIDIwMTUtMTEtMTYgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgRW5hYmxlIHBhc3NpbmcgdGVzdHMgaW4gTGF5
b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0
cmVhbS9NZWRpYURldmljZXMtZ2V0U3VwcG9ydGVkQ29uc3RyYWludHMtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLWdl
dFN1cHBvcnRlZENvbnN0cmFpbnRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLWdldFN1cHBvcnRlZENvbnN0cmFp
bnRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIyIEBACitUZXN0cyBN
ZWRpYURldmljZXMuZ2V0U3VwcG9ydGVkQ29uc3RyYWludHMoKQorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzIGlzIGFuIGluc3RhbmNl
IG9mIE9iamVjdAorUEFTUyBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFN1cHBvcnRlZENvbnN0
cmFpbnRzIGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCisKK3N1cHBvcnRlZENvbnN0cmFpbnRz
ID0gbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRTdXBwb3J0ZWRDb25zdHJhaW50cygpCisKK1BB
U1Mgc3VwcG9ydGVkQ29uc3RyYWludHMud2lkdGggaXMgdHJ1ZQorUEFTUyBzdXBwb3J0ZWRDb25z
dHJhaW50cy5oZWlnaHQgaXMgdHJ1ZQorUEFTUyBzdXBwb3J0ZWRDb25zdHJhaW50cy5hc3BlY3RS
YXRpbyBpcyB0cnVlCitQQVNTIHN1cHBvcnRlZENvbnN0cmFpbnRzLmZyYW1lUmF0ZSBpcyB0cnVl
CitQQVNTIHN1cHBvcnRlZENvbnN0cmFpbnRzLmZhY2luZ01vZGUgaXMgdHJ1ZQorUEFTUyBzdXBw
b3J0ZWRDb25zdHJhaW50cy52b2x1bWUgaXMgdHJ1ZQorUEFTUyBzdXBwb3J0ZWRDb25zdHJhaW50
cy5kZXZpY2VJZCBpcyB0cnVlCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL01lZGlh
RGV2aWNlcy1nZXRTdXBwb3J0ZWRDb25zdHJhaW50cy5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLWdldFN1cHBvcnRlZENvbnN0cmFp
bnRzLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL01l
ZGlhRGV2aWNlcy1nZXRTdXBwb3J0ZWRDb25zdHJhaW50cy5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgICAgICA8c2NyaXB0Pgor
ICAgICAgICAgICAgdmFyIHN1cHBvcnRlZENvbnN0cmFpbnRzOworCisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGVzdHMgTWVkaWFEZXZpY2VzLmdldFN1cHBvcnRlZENvbnN0cmFpbnRzKCkiKTsK
KyAgICAgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICAgICAg
c2hvdWxkQmVUeXBlKCJuYXZpZ2F0b3IubWVkaWFEZXZpY2VzIiwgIk9iamVjdCIpOworICAgICAg
ICAgICAgc2hvdWxkQmVUeXBlKCJuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFN1cHBvcnRlZENv
bnN0cmFpbnRzIiwgIkZ1bmN0aW9uIik7CisKKyAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAg
ICAgICAgIGV2YWxBbmRMb2coInN1cHBvcnRlZENvbnN0cmFpbnRzID0gbmF2aWdhdG9yLm1lZGlh
RGV2aWNlcy5nZXRTdXBwb3J0ZWRDb25zdHJhaW50cygpIik7CisgICAgICAgICAgICBkZWJ1Zygi
Iik7CisgICAgICAgICAgICBmb3IgKHZhciBjb25zdHJhaW50IGluIHN1cHBvcnRlZENvbnN0cmFp
bnRzKQorICAgICAgICAgICAgICAgIHNob3VsZEJlVHJ1ZShgc3VwcG9ydGVkQ29uc3RyYWludHMu
JHtjb25zdHJhaW50fWApOworICAgICAgICAgICAgZGVidWcoIiIpOworCisKKyAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworCisgICAgICAgICAgICB3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265772</attachid>
            <date>2015-11-18 12:17:55 -0800</date>
            <delta_ts>2015-11-18 14:14:41 -0800</delta_ts>
            <desc>Updated patch for the bots.</desc>
            <filename>track_supported_constraints_patch_5.txt</filename>
            <type>text/plain</type>
            <size>45530</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MjU3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDg0IEBACisyMDE1LTExLTE4ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFtOiBJ
bXBsZW1lbnQgTWVkaWFEZXZpY2VzLmdldFN1cHBvcnRlZENvbnN0cmFpbnRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEzOTQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L21lZGlhc3Ry
ZWFtL01lZGlhRGV2aWNlcy1nZXRTdXBwb3J0ZWRDb25zdHJhaW50cy5odG1sCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDogQWRkIE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cyBhbmQg
SlNNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHNDdXN0b20uCisKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5tYWtlOiBEaXR0by4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFEZXZpY2VzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRGV2aWNlczo6Z2V0U3Vw
cG9ydGVkQ29uc3RyYWludHMpOiBOZXcuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYURldmljZXMuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNl
cy5pZGw6CisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tTdXBwb3J0
ZWRDb25zdHJhaW50cy5oOiBBZGRlZC4gV3JhcHBlciBhcm91bmQgYSAKKyAgICAgICAgICBSZWFs
dGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1cHBvcnRzV2lkdGgpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzOjpzdXBwb3J0c0hlaWdo
dCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1
cHBvcnRzQXNwZWN0UmF0aW8pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFUcmFja1N1cHBvcnRl
ZENvbnN0cmFpbnRzOjpzdXBwb3J0c0ZyYW1lUmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1cHBvcnRzRmFjaW5nTW9kZSk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1cHBvcnRzVm9sdW1l
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50czo6c3Vw
cG9ydHNTYW1wbGVSYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhVHJhY2tTdXBwb3J0ZWRD
b25zdHJhaW50czo6c3VwcG9ydHNTYW1wbGVTaXplKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
VHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50czo6c3VwcG9ydHNFY2hvQ2FuY2VsbGF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50czo6c3VwcG9ydHNE
ZXZpY2VJZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWlu
dHM6OnN1cHBvcnRzR3JvdXBJZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVRyYWNrU3VwcG9y
dGVkQ29uc3RyYWludHM6Ok1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cyk6CisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaWRs
OiBBZGRlZC4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajog
QWRkIEpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzQ3VzdG9tLmNwcCwgCisgICAgICAg
ICAgUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmgsIGFuZCBNZWRpYVRy
YWNrU3VwcG9ydGVkQ29uc3RyYWludHMuKi4KKworICAgICAgICBBIE1lZGlhVHJhY2tTdXBwb3J0
ZWRDb25zdHJhaW50cyBvbmx5IGNvbnRhaW5zIHRoZSBwcm9wZXJ0aWVzIHN1cHBvcnRlZCBieSB0
aGUgY3VycmVudGx5CisgICAgICAgIGF2YWlsYWJsZSBjYXB0dXJlIGRldmljZXMsIHNvIGltcGxl
bWVudCBnZXRPd25Qcm9wZXJ0eVNsb3QgYW5kIGdldE93blByb3BlcnR5TmFtZXMgc28KKyAgICAg
ICAgd2UgZG9uJ3QgaGF2ZSB0byBkZWNsYXJlIGFueSBhdHRyaWJ1dGVzIGluIHRoZSBpZGwgZmls
ZS4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50
c0N1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNNZWRpYVRyYWNrU3VwcG9y
dGVkQ29uc3RyYWludHM6OmdldE93blByb3BlcnR5U2xvdERlbGVnYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzOjpnZXRPd25Qcm9wZXJ0eU5h
bWVzKToKKworICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlh
U291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpS
ZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHM6OlJlYWx0aW1lTWVkaWFTb3Vy
Y2VTdXBwb3J0ZWRDb25zdHJhaW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlh
U291cmNlU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1cHBvcnRzV2lkdGgpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0
c1dpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRD
b25zdHJhaW50czo6c3VwcG9ydHNIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVN
ZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0c0hlaWdodCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1
cHBvcnRzQXNwZWN0UmF0aW8pOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJj
ZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0c0FzcGVjdFJhdGlvKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50czo6c3VwcG9y
dHNGcmFtZVJhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBv
cnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0c0ZyYW1lUmF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1cHBvcnRzRmFjaW5n
TW9kZSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29u
c3RyYWludHM6OnNldFN1cHBvcnRzRmFjaW5nTW9kZSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFs
dGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1cHBvcnRzVm9sdW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50czo6
c2V0U3VwcG9ydHNWb2x1bWUpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJj
ZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzdXBwb3J0c1NhbXBsZVJhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0
c1NhbXBsZVJhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBv
cnRlZENvbnN0cmFpbnRzOjpzdXBwb3J0c1NhbXBsZVNpemUpOgorICAgICAgICAoV2ViQ29yZTo6
UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0c1NhbXBs
ZVNpemUpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENv
bnN0cmFpbnRzOjpzdXBwb3J0c0VjaG9DYW5jZWxsYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0c0VjaG9D
YW5jZWxsYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBv
cnRlZENvbnN0cmFpbnRzOjpzdXBwb3J0c0RldmljZUlkKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
YWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50czo6c2V0U3VwcG9ydHNEZXZpY2VJ
ZCk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3Ry
YWludHM6OnN1cHBvcnRzR3JvdXBJZCk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlh
U291cmNlU3VwcG9ydGVkQ29uc3RyYWludHM6OnNldFN1cHBvcnRzR3JvdXBJZCk6CisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1h
Yy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjKTogSW5pdGlhbGl6ZSBzdXBwb3J0ZWQgY29uc3Ry
YWludHMuCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXJNYWMuaDoKKworICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1l
TWVkaWFTb3VyY2UuY3BwOiBEZWxldGUgc29tZSBkZWFkIGNvZGUuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpNb2NrUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlcik6IEluaXRpYWxpemUgc3VwcG9ydGVkIGNvbnN0cmFpbnRzLgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaDoKKwogMjAxNS0x
MS0xOCAgUGVyIEFybmUgVm9sbGFuICA8cGVhdm9Ab3V0bG9vay5jb20+CiAKICAgICAgICAgW1dp
bkNhaXJvXVtNZWRpYUZvdW5kYXRpb25dIFRoZSBtYWluIHRocmVhZCBjYW4gc29tZXRpbWVzIGJl
IGJsb2NrZWQgZm9yZXZlciB3aGVuIGVuZGluZyBhIG1lZGlhIHNlc3Npb24uCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTkyNDg2KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIzOCw2ICsyMzgsNyBAQCBzZXQoV2ViQ29yZV9O
T05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0
cmFpbnQuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludFNl
dC5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50cy5pZGwK
KyAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cy5p
ZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhRGV2aWNlcy5pZGwKICAg
ICBNb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYS5pZGwKICAgICBNb2R1bGVz
L21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbApAQCAtMTIwMyw2ICsxMjA0
LDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4
ZWNTdGF0ZS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU01lZGlhU291cmNlU3RhdGVzQ3VzdG9tLmNw
cAogICAgIGJpbmRpbmdzL2pzL0pTTWVkaWFTdHJlYW1DYXBhYmlsaXRpZXNDdXN0b20uY3BwCisg
ICAgYmluZGluZ3MvanMvSlNNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHNDdXN0b20uY3Bw
CiAgICAgYmluZGluZ3MvanMvSlNNZXNzYWdlQ2hhbm5lbEN1c3RvbS5jcHAKICAgICBiaW5kaW5n
cy9qcy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VQ
b3J0Q3VzdG9tLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lv
biAxOTI0ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5n
IGNvcHkpCkBAIC0xMzQsNiArMTM0LDcgQEAgTk9OX1NWR19CSU5ESU5HX0lETFMgPSBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50LmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50
cy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29u
c3RyYWludFNldC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYS5pZGwgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwgXApJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZp
Y2VzLmNwcAkocmV2aXNpb24gMTkyNDg2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYURldmljZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw4IEBA
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJNZWRpYURldmljZXNSZXF1ZXN0Lmgi
CiAjaW5jbHVkZSAiTWVkaWFTdHJlYW0uaCIKKyNpbmNsdWRlICJNZWRpYVRyYWNrU3VwcG9ydGVk
Q29uc3RyYWludHMuaCIKKyNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgiCiAj
aW5jbHVkZSAiVXNlck1lZGlhQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlVzZXJNZWRpYVJlcXVl
c3QuaCIKIApAQCAtNzMsNiArNzUsMTEgQEAgdm9pZCBNZWRpYURldmljZXM6OmVudW1lcmF0ZURl
dmljZXMoRW51bQogICAgICAgICByZXF1ZXN0LT5zdGFydCgpOwogfQogCitSZWZQdHI8TWVkaWFU
cmFja1N1cHBvcnRlZENvbnN0cmFpbnRzPiBNZWRpYURldmljZXM6OmdldFN1cHBvcnRlZENvbnN0
cmFpbnRzKCkKK3sKKyAgICByZXR1cm4gTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzOjpj
cmVhdGUoUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuc3VwcG9ydGVkQ29u
c3RyYWludHMoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVO
QUJMRShNRURJQV9TVFJFQU0pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL01lZGlhRGV2aWNlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmgJKHJldmlzaW9uIDE5MjQ4NikKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTQ2LDYgKzQ2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRGljdGlvbmFyeTsK
IGNsYXNzIERvY3VtZW50OwogY2xhc3MgTWVkaWFTdHJlYW07CitjbGFzcyBNZWRpYVRyYWNrU3Vw
cG9ydGVkQ29uc3RyYWludHM7CiBjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjsKIAogdHlw
ZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKQEAgLTYyLDYgKzYzLDcgQEAgcHVibGljOgogCiAgICAg
dm9pZCBnZXRVc2VyTWVkaWEoY29uc3QgRGljdGlvbmFyeSYsIFByb21pc2UmJiwgRXhjZXB0aW9u
Q29kZSYpIGNvbnN0OwogICAgIHZvaWQgZW51bWVyYXRlRGV2aWNlcyhFbnVtZXJhdGVEZXZpY2Vz
UHJvbWlzZSYmLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CisgICAgUmVmUHRyPE1lZGlhVHJhY2tT
dXBwb3J0ZWRDb25zdHJhaW50cz4gZ2V0U3VwcG9ydGVkQ29uc3RyYWludHMoKTsKIAogcHJpdmF0
ZToKICAgICBleHBsaWNpdCBNZWRpYURldmljZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFE
ZXZpY2VzLmlkbAkocmV2aXNpb24gMTkyNDg2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw4
IEBACiAgICAgTm9JbnRlcmZhY2VPYmplY3QsCiAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFN
CiBdIGludGVyZmFjZSBNZWRpYURldmljZXMgeworICAgIE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25z
dHJhaW50cyBnZXRTdXBwb3J0ZWRDb25zdHJhaW50cygpOworCiAgICAgW0pTQnVpbHRpbl0gUHJv
bWlzZSBnZXRVc2VyTWVkaWEoRGljdGlvbmFyeSBvcHRpb25zKTsKICAgICBbUmFpc2VzRXhjZXB0
aW9uXSBQcm9taXNlIGVudW1lcmF0ZURldmljZXMoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tT
dXBwb3J0ZWRDb25zdHJhaW50cy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDc0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogICAgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICogMy4gTmVp
dGhlciB0aGUgbmFtZSBvZiBFcmljc3NvbiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcworICogICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE1lZGlhVHJhY2tTdXBwb3J0ZWRD
b25zdHJhaW50c19oCisjZGVmaW5lIE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50c19oCisK
KyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJj
ZVN1cHBvcnRlZENvbnN0cmFpbnRzLmgiCisjaW5jbHVkZSAiU2NyaXB0V3JhcHBhYmxlLmgiCisj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRp
YVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM+LCBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlIHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUmVmPE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cz4gY3Jl
YXRlKGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cyYgc3VwcG9y
dGVkQ29uc3RyYWludHMpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRp
YVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMoc3VwcG9ydGVkQ29uc3RyYWludHMpKTsKKyAgICB9
CisKKyAgICBib29sIHN1cHBvcnRzV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRlZENv
bnN0cmFpbnRzLnN1cHBvcnRzV2lkdGgoKTsgfQorICAgIGJvb2wgc3VwcG9ydHNIZWlnaHQoKSBj
b25zdCB7IHJldHVybiBtX3N1cHBvcnRlZENvbnN0cmFpbnRzLnN1cHBvcnRzSGVpZ2h0KCk7IH0K
KyAgICBib29sIHN1cHBvcnRzQXNwZWN0UmF0aW8oKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRl
ZENvbnN0cmFpbnRzLnN1cHBvcnRzQXNwZWN0UmF0aW8oKTsgfQorICAgIGJvb2wgc3VwcG9ydHNG
cmFtZVJhdGUoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRlZENvbnN0cmFpbnRzLnN1cHBvcnRz
RnJhbWVSYXRlKCk7IH0KKyAgICBib29sIHN1cHBvcnRzRmFjaW5nTW9kZSgpIGNvbnN0IHsgcmV0
dXJuIG1fc3VwcG9ydGVkQ29uc3RyYWludHMuc3VwcG9ydHNGYWNpbmdNb2RlKCk7IH0KKyAgICBi
b29sIHN1cHBvcnRzVm9sdW1lKCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0ZWRDb25zdHJhaW50
cy5zdXBwb3J0c1ZvbHVtZSgpOyB9CisgICAgYm9vbCBzdXBwb3J0c1NhbXBsZVJhdGUoKSBjb25z
dCB7IHJldHVybiBtX3N1cHBvcnRlZENvbnN0cmFpbnRzLnN1cHBvcnRzU2FtcGxlUmF0ZSgpOyB9
CisgICAgYm9vbCBzdXBwb3J0c1NhbXBsZVNpemUoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRl
ZENvbnN0cmFpbnRzLnN1cHBvcnRzU2FtcGxlU2l6ZSgpOyB9CisgICAgYm9vbCBzdXBwb3J0c0Vj
aG9DYW5jZWxsYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRlZENvbnN0cmFpbnRzLnN1
cHBvcnRzRWNob0NhbmNlbGxhdGlvbigpOyB9CisgICAgYm9vbCBzdXBwb3J0c0RldmljZUlkKCkg
Y29uc3QgeyByZXR1cm4gbV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zdXBwb3J0c0RldmljZUlkKCk7
IH0KKyAgICBib29sIHN1cHBvcnRzR3JvdXBJZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3VwcG9ydGVk
Q29uc3RyYWludHMuc3VwcG9ydHNHcm91cElkKCk7IH0KKworcHJpdmF0ZToKKyAgICBleHBsaWNp
dCBNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMoY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJj
ZVN1cHBvcnRlZENvbnN0cmFpbnRzJiBzdXBwb3J0ZWRDb25zdHJhaW50cykKKyAgICAgICAgOiBt
X3N1cHBvcnRlZENvbnN0cmFpbnRzKHN1cHBvcnRlZENvbnN0cmFpbnRzKQorICAgIHsKKyAgICB9
CisKKyAgICBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMgbV9zdXBwb3J0
ZWRDb25zdHJhaW50czsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50c19oCisKKyNlbmRpZgpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWlu
dHMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmlkbAkocmV2aXNpb24gMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFp
bnRzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACisvKgorKiBDb3B5cmlnaHQg
KEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqCisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisqICAgIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyogICAgZGlzdHJpYnV0aW9uLgorKiAzLiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEVyaWNzc29uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycworKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMKKyogICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyovCisKK1sKKyAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sCisgICAgTm9J
bnRlcmZhY2VPYmplY3QsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBKU0N1
c3RvbUdldE93blByb3BlcnR5U2xvdEFuZERlc2NyaXB0b3IsCisgICAgQ3VzdG9tRW51bWVyYXRl
UHJvcGVydHksCitdIGludGVyZmFjZSBNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMgewor
fTsKKwpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gMTkyNDg2KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAsNiArMTMwLDcg
QEAKIAkJMDcxRTQ5NzAxQUQ1QUI1RTAwOEE1MEI0IC8qIE1lZGlhUGxheWJhY2tUYXJnZXRNYWMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MUU0OTZG
MUFENUFCNUUwMDhBNTBCNCAvKiBNZWRpYVBsYXliYWNrVGFyZ2V0TWFjLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDcyMEIwQTAxNEQzMzIzNTAw
NjQyOTU1IC8qIEdlbmVyaWNFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MjBCMDlFMTREMzMyMzUwMDY0Mjk1NSAvKiBHZW5lcmlj
RXZlbnRRdWV1ZS5jcHAgKi87IH07CiAJCTA3MjBCMEExMTREMzMyMzUwMDY0Mjk1NSAvKiBHZW5l
cmljRXZlbnRRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMDcyMEIwOUYxNEQzMzIzNTAwNjQyOTU1IC8qIEdlbmVyaWNFdmVudFF1ZXVlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMDcyNTYwRkIx
QkZDMjQ4MjAwNEY5MzU5IC8qIEpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzQ3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3QzFD
MEU2MUJGQjkwQTcwMEJEMjI1NiAvKiBKU01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50c0N1
c3RvbS5jcHAgKi87IHNldHRpbmdzID0ge0FTU0VUX1RBR1MgPSAoKTsgfTsgfTsKIAkJMDcyNzdF
NEMxN0QwMThDQzAwMTU1MzREIC8qIEpTTWVkaWFTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcyNzdFNDAxN0QwMThDQzAwMTU1MzREIC8q
IEpTTWVkaWFTdHJlYW0uY3BwICovOyB9OwogCQkwNzI3N0U0RDE3RDAxOENDMDAxNTUzNEQgLyog
SlNNZWRpYVN0cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMDcyNzdFNDExN0QwMThDQzAwMTU1MzREIC8qIEpTTWVkaWFTdHJlYW0uaCAqLzsgfTsK
IAkJMDcyNzdFNEUxN0QwMThDQzAwMTU1MzREIC8qIEpTTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0
aW9uTm9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwNzI3N0U0MjE3RDAxOENDMDAxNTUzNEQgLyogSlNNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRp
b25Ob2RlLmNwcCAqLzsgfTsKQEAgLTIxMSw2ICsyMTIsOCBAQAogCQkwNzg0NjM0MjE0NUIxNTFB
MDBBNThERjEgLyogSlNUcmFja0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA3ODQ2MzQwMTQ1QjE1MUEwMEE1OERGMSAvKiBKU1RyYWNrRXZl
bnQuY3BwICovOyB9OwogCQkwNzg0NjM0MzE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzg0NjM0
MTE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmggKi87IH07CiAJCTA3ODQ2Mzg1MTQ1
QjFCOEUwMEE1OERGMSAvKiBKU1RyYWNrQ3VzdG9tLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzg0NjM4NDE0NUIxQjhFMDBBNThERjEgLyogSlNUcmFj
a0N1c3RvbS5oICovOyB9OworCQkwNzg3QzQ2OTFCRkJERjZGMDA2RENEN0YgLyogSlNNZWRpYVRy
YWNrU3VwcG9ydGVkQ29uc3RyYWludHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDc4N0M0NjcxQkZCREY2RjAwNkRDRDdGIC8qIEpTTWVkaWFUcmFj
a1N1cHBvcnRlZENvbnN0cmFpbnRzLmNwcCAqLzsgc2V0dGluZ3MgPSB7QVNTRVRfVEFHUyA9ICgp
OyB9OyB9OworCQkwNzg3QzQ2QTFCRkJERjZGMDA2RENEN0YgLyogSlNNZWRpYVRyYWNrU3VwcG9y
dGVkQ29uc3RyYWludHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA3ODdDNDY4MUJGQkRGNkYwMDZEQ0Q3RiAvKiBKU01lZGlhVHJhY2tTdXBwb3J0ZWRD
b25zdHJhaW50cy5oICovOyBzZXR0aW5ncyA9IHtBU1NFVF9UQUdTID0gKCk7IH07IH07CiAJCTA3
OEUwOEZFMTdEMTRDRUUwMDQyMEFBMSAvKiBNZWRpYUNvbnN0cmFpbnRzSW1wbC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzIyMUI0QTE3Q0VDMzI3
MDA4NDhFNTEgLyogTWVkaWFDb25zdHJhaW50c0ltcGwuY3BwICovOyB9OwogCQkwNzhFMDhGRjE3
RDE0Q0VFMDA0MjBBQTEgLyogTWVkaWFTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcyMjFCNEMxN0NFQzMyNzAwODQ4RTUxIC8qIE1lZGlh
U3RyZWFtLmNwcCAqLzsgfTsKIAkJMDc4RTA5MDAxN0QxNENFRTAwNDIwQUExIC8qIE1lZGlhU3Ry
ZWFtRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDcyMjFCNEYxN0NFQzMyNzAwODQ4RTUxIC8qIE1lZGlhU3RyZWFtRXZlbnQuY3BwICovOyB9
OwpAQCAtMzE0LDYgKzMxNyw4IEBACiAJCTA3QjVBMkRDMTQ2NDMyMEEwMEE4MUVDRSAvKiBKU1Rl
eHRUcmFja0xpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA3QjVBMkRBMTQ2NDMyMEEwMEE4MUVDRSAvKiBKU1RleHRUcmFja0xpc3QuaCAqLzsgfTsK
IAkJMDdCNUEzMEQxNDY4N0Q3MTAwQTgxRUNFIC8qIEpTVGV4dFRyYWNrTGlzdEN1c3RvbS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0I1QTMwQzE0
Njg3RDcxMDBBODFFQ0UgLyogSlNUZXh0VHJhY2tMaXN0Q3VzdG9tLmNwcCAqLzsgfTsKIAkJMDdC
REQ2RUMxNDY5QjRDMjAwOUM5Rjg1IC8qIEpTVHJhY2tFdmVudEN1c3RvbS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0I1QTMwQTE0Njg3Qjg0MDBB
ODFFQ0UgLyogSlNUcmFja0V2ZW50Q3VzdG9tLmNwcCAqLzsgfTsKKwkJMDdDMUMwRTIxQkZCNjAw
MTAwQkQyMjU2IC8qIE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdDMUMwRTAxQkZCNjAwMTAwQkQy
MjU2IC8qIE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cy5oICovOyBzZXR0aW5ncyA9IHtB
U1NFVF9UQUdTID0gKCk7IH07IH07CisJCTA3QzFDMEU1MUJGQjYwRUQwMEJEMjI1NiAvKiBSZWFs
dGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3QzFDMEU0MUJGQjYwRUQwMEJEMjI1NiAvKiBS
ZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwN0M1OUI2ODE3Rjc4NEJBMDAwRkJD
QkIgLyogTWVkaWFTb3VyY2VTdGF0ZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDdDNTlCNjUxN0Y3ODRCQTAwMEZCQ0JCIC8qIE1lZGlhU291cmNl
U3RhdGVzLmNwcCAqLzsgfTsKIAkJMDdDNTlCNjkxN0Y3ODRCQTAwMEZCQ0JCIC8qIE1lZGlhU291
cmNlU3RhdGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwN0M1OUI2NjE3Rjc4NEJBMDAwRkJDQkIgLyogTWVkaWFTb3VyY2VTdGF0ZXMuaCAqLzsgfTsK
IAkJMDdDNTlCNkUxN0Y3OTRGNjAwMEZCQ0JCIC8qIEpTTWVkaWFTb3VyY2VTdGF0ZXNDdXN0b20u
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdDNTlC
NkQxN0Y3OTRGNjAwMEZCQ0JCIC8qIEpTTWVkaWFTb3VyY2VTdGF0ZXNDdXN0b20uY3BwICovOyB9
OwpAQCAtNzUzNSw2ICs3NTQwLDggQEAKIAkJMDc4NDYzNDAxNDVCMTUxQTAwQTU4REYxIC8qIEpT
VHJhY2tFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1Ry
YWNrRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzg0NjM0MTE0NUIx
NTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTVHJhY2tFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzg0
NjM4NDE0NUIxQjhFMDBBNThERjEgLyogSlNUcmFja0N1c3RvbS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU1RyYWNrQ3VzdG9tLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTA3ODdDNDY3MUJGQkRGNkYwMDZEQ0Q3RiAvKiBKU01lZGlhVHJhY2tTdXBwb3J0ZWRD
b25zdHJhaW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01l
ZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTA3ODdDNDY4MUJGQkRGNkYwMDZEQ0Q3RiAvKiBKU01lZGlhVHJhY2tTdXBwb3J0ZWRD
b25zdHJhaW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlhVHJh
Y2tTdXBwb3J0ZWRDb25zdHJhaW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
NzhFMDk0ODE3RDE3MDk2MDA0MjBBQTEgLyogTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9k
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVN0cmVhbUF1
ZGlvRGVzdGluYXRpb25Ob2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc4
RTA5NDkxN0QxNzA5NjAwNDIwQUExIC8qIE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFTdHJlYW1BdWRpb0Rlc3Rp
bmF0aW9uTm9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzhFMDk0QTE3RDE3
MDk2MDA0MjBBQTEgLyogTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NTkwLDYgKzc1OTcsMTAgQEAKIAkJMDdCNUEz
MDYxNDY4NTM3MTAwQTgxRUNFIC8qIFRleHRUcmFja0xpc3QuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFRleHRUcmFja0xpc3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
N0I1QTMwQTE0Njg3Qjg0MDBBODFFQ0UgLyogSlNUcmFja0V2ZW50Q3VzdG9tLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVHJhY2tFdmVudEN1c3RvbS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3QjVBMzBDMTQ2ODdENzEwMEE4MUVDRSAvKiBK
U1RleHRUcmFja0xpc3RDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNUZXh0VHJhY2tMaXN0Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMDdDMUMwRTAxQkZCNjAwMTAwQkQyMjU2IC8qIE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25z
dHJhaW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVRyYWNrU3Vw
cG9ydGVkQ29uc3RyYWludHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDdDMUMw
RTExQkZCNjAwMTAwQkQyMjU2IC8qIE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cy5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDdDMUMwRTQxQkZCNjBFRDAwQkQyMjU2
IC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3Ry
YWludHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDdDMUMwRTYxQkZCOTBBNzAw
QkQyMjU2IC8qIEpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzQ3VzdG9tLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFUcmFja1N1cHBvcnRlZENv
bnN0cmFpbnRzQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDdDNTlC
NjUxN0Y3ODRCQTAwMEZCQ0JCIC8qIE1lZGlhU291cmNlU3RhdGVzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhU291cmNlU3RhdGVzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDdDNTlCNjYxN0Y3ODRCQTAwMEZCQ0JCIC8qIE1lZGlhU291
cmNlU3RhdGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhU291cmNl
U3RhdGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3QzU5QjY3MTdGNzg0QkEw
MDBGQkNCQiAvKiBNZWRpYVNvdXJjZVN0YXRlcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
TWVkaWFTb3VyY2VTdGF0ZXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTUx
NjEsNiArMTUxNzIsOCBAQAogCQkJCTA3MDU4NTM3MTdGRTA0NEYwMDVGMkJDQiAvKiBNZWRpYVRy
YWNrQ29uc3RyYWludFNldC5jcHAgKi8sCiAJCQkJMDcwNTg1MjYxN0ZERTAyQjAwNUYyQkNCIC8q
IE1lZGlhVHJhY2tDb25zdHJhaW50U2V0LmggKi8sCiAJCQkJMDcwNTg1MjcxN0ZERTAyQjAwNUYy
QkNCIC8qIE1lZGlhVHJhY2tDb25zdHJhaW50U2V0LmlkbCAqLywKKwkJCQkwN0MxQzBFMDFCRkI2
MDAxMDBCRDIyNTYgLyogTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmggKi8sCisJCQkJ
MDdDMUMwRTExQkZCNjAwMTAwQkQyMjU2IC8qIE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50
cy5pZGwgKi8sCiAJCQkJNUVBNzI1Q0ExQUNBQkNCNTAwRUFEMTdCIC8qIE5hdmlnYXRvck1lZGlh
RGV2aWNlcy5jcHAgKi8sCiAJCQkJNUVBNzI1Q0IxQUNBQkNCNTAwRUFEMTdCIC8qIE5hdmlnYXRv
ck1lZGlhRGV2aWNlcy5oICovLAogCQkJCTVFQTcyNUNDMUFDQUJDQjUwMEVBRDE3QiAvKiBOYXZp
Z2F0b3JNZWRpYURldmljZXMuaWRsICovLApAQCAtMTUyNDUsNiArMTUyNTgsNyBAQAogCQkJCTA3
MjIxQjlEMTdDRjBBRDQwMDg0OEU1MSAvKiBNZWRpYVN0cmVhbVByaXZhdGUuaCAqLywKIAkJCQkw
N0ZGREU2NjE4MUFFRDQyMDA3MkQ0MDkgLyogTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuY3BwICov
LAogCQkJCTA3RkZERTY3MTgxQUVENDIwMDcyRDQwOSAvKiBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0
ZS5oICovLAorCQkJCTA3QzFDMEU0MUJGQjYwRUQwMEJEMjI1NiAvKiBSZWFsdGltZU1lZGlhU291
cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuaCAqLywKIAkJCQkwNzYzMDZFMjE3RTIyQTQzMDA1QTdD
NEUgLyogTWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50LmggKi8sCiAJCQkJNEE0
RjY1NkIxQUE5OTdGMTAwRTM4Q0REIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2UuY3BwICovLAogCQkJ
CTRBNEY2NTZDMUFBOTk3RjEwMEUzOENERCAvKiBSZWFsdGltZU1lZGlhU291cmNlLmggKi8sCkBA
IC0xNTM3MCw2ICsxNTM4NCw4IEBACiAJCQkJMDcwNTg1MkUxN0ZERTZEOTAwNUYyQkNCIC8qIEpT
TWVkaWFUcmFja0NvbnN0cmFpbnRzLmggKi8sCiAJCQkJMDcwNTg1MkYxN0ZERTZEOTAwNUYyQkNC
IC8qIEpTTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQuY3BwICovLAogCQkJCTA3MDU4NTMwMTdGREU2
RDkwMDVGMkJDQiAvKiBKU01lZGlhVHJhY2tDb25zdHJhaW50U2V0LmggKi8sCisJCQkJMDc4N0M0
NjcxQkZCREY2RjAwNkRDRDdGIC8qIEpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmNw
cCAqLywKKwkJCQkwNzg3QzQ2ODFCRkJERjZGMDA2RENEN0YgLyogSlNNZWRpYVRyYWNrU3VwcG9y
dGVkQ29uc3RyYWludHMuaCAqLywKIAkJCQkwNzNCRTMzRTE3RDE3RTAxMDAyQkQ0MzEgLyogSlNO
YXZpZ2F0b3JVc2VyTWVkaWEuY3BwICovLAogCQkJCTA3M0JFMzNGMTdEMTdFMDEwMDJCRDQzMSAv
KiBKU05hdmlnYXRvclVzZXJNZWRpYS5oICovLAogCQkJCTA3M0JFMzQyMTdEMTdFN0EwMDJCRDQz
MSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCAqLywKQEAgLTIyMTE5LDYgKzIyMTM1
LDcgQEAKIAkJCQkwN0M1OUI2RDE3Rjc5NEY2MDAwRkJDQkIgLyogSlNNZWRpYVNvdXJjZVN0YXRl
c0N1c3RvbS5jcHAgKi8sCiAJCQkJMDcwNTg1MTYxN0ZCNDBFOTAwNUYyQkNCIC8qIEpTTWVkaWFT
dHJlYW1DYXBhYmlsaXRpZXNDdXN0b20uY3BwICovLAogCQkJCUUxQTVGOTlBMEU3RUFBMjUwMEFG
ODVFQSAvKiBKU01lc3NhZ2VDaGFubmVsQ3VzdG9tLmNwcCAqLywKKwkJCQkwN0MxQzBFNjFCRkI5
MEE3MDBCRDIyNTYgLyogSlNNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHNDdXN0b20uY3Bw
ICovLAogCQkJCTQxMEI3RTcxMTA0NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3NhZ2VFdmVudEN1c3Rv
bS5jcHAgKi8sCiAJCQkJRTFBREVENDYwRTc2QjhERDAwNEExQTVFIC8qIEpTTWVzc2FnZVBvcnRD
dXN0b20uY3BwICovLAogCQkJCTQxRjU4NEM2MTA0NjUyQ0IwMDlDQUE2NCAvKiBKU01lc3NhZ2VQ
b3J0Q3VzdG9tLmggKi8sCkBAIC0yNTY1Miw2ICsyNTY2OSw3IEBACiAJCQkJNDk5QjNFRDcxMjhD
RDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1
ODBCMEUwRjEyQTI2OTAwNTFENjg5IC8qIEdyYXBoaWNzTGF5ZXJDbGllbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTFBQzY5NTkzMTYxQTFFNTMwMDM3MzJDQiAvKiBHcmFwaGljc0xheWVyRmFjdG9y
eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMDc4N0M0NkExQkZCREY2RjAwNkRDRDdGIC8qIEpTTWVk
aWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkEyNEQ3
QTE2MkRGOTE5MDBBM0Y0QzAgLyogR3JhcGhpY3NMYXllclVwZGF0ZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUNFQzMzN0FGMUE0NjA4NkQwMDlCODUyMyAvKiBHcmFwaGljc1NlcnZpY2VzU1BJLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMkEwMTVBQjBBRjZDRDUzMDA2QkNFMEUgLyogR3JhcGhpY3NU
eXBlcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjc0Myw2ICsyNjc2MSw3IEBACiAJCQkJMDcwNTg1
MjExN0ZEQzE0MDAwNUYyQkNCIC8qIE1lZGlhVHJhY2tDb25zdHJhaW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQkwNzA1ODUyNDE3RkRDMTQwMDA1RjJCQ0IgLyogTWVkaWFUcmFja0NvbnN0cmFpbnRz
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzA1ODUyOTE3RkRFMDJDMDA1RjJCQ0IgLyogTWVkaWFU
cmFja0NvbnN0cmFpbnRTZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTA3QzFDMEUyMUJGQjYwMDEw
MEJEMjI1NiAvKiBNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTk5QzdDQ0IzMThDNjYzRTQwMDMyRTQxMyAvKiBNZW1vaXplZERPTVJlc3VsdC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTFFMUJBQzMxQkQ4MDY0RTAwNTVEODFGIC8qIE1lbW9yeUJhY2tp
bmdTdG9yZVRyYW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0IxNkMxODA5NzlDM0JE
MDA0Njc3NDEgLyogTWVtb3J5Q2FjaGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjcwNDUsNiArMjcw
NjQsNyBAQAogCQkJCTRBMEZGQUEyMUFBRjVFQTIwMDYyODAzQiAvKiBSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QTBGRkFBNjFBQUY1RUY2MDA2MjgwM0Ig
LyogUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEE0
RjY1NzQxQUE5OTdGMTAwRTM4Q0REIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VTdGF0ZXMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTA3QzFDMEU1MUJGQjYwRUQwMEJEMjI1NiAvKiBSZWFsdGltZU1lZGlh
U291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDM2OEU4
MEMyMjZFMzIwMDVFRkI1RiAvKiBSZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDQ1QTk1ODE3
NUQ0MTRDMDBDMjFFQzggLyogUmVjdGFuZ2xlU2hhcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk4
MzFBRTRBMTU0MjI1QzkwMEZFMjY0NCAvKiBSZWZlcnJlclBvbGljeS5oIGluIEhlYWRlcnMgKi8s
CkBAIC0zMTAxNyw2ICszMTAzNyw3IEBACiAJCQkJQkM1RUI2N0QwRTgxRDQyMDAwQjI1OTY1IC8q
IFN0eWxlQm94RGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4Mzg2QTk3MDE5RjYxRTRGMDBF
MUVDNEEgLyogU3R5bGVCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRUY0NDdBMEU2
NzQ3RDAwMDFDMTI4NyAvKiBTdHlsZUNhY2hlZEltYWdlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTA3ODdDNDY5MUJGQkRGNkYwMDZEQ0Q3RiAvKiBKU01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJh
aW50cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzkzRTYwNDE1MUE5QTE4MDAwNjZGMDYgLyog
U3R5bGVDYWNoZWRJbWFnZVNldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEM0QTdGRTA5RDU2
MzI3MDAwM0FDOEQgLyogU3R5bGVkRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzVF
QjhCODBFODIwMUJEMDBCMjU5NjUgLyogU3R5bGVEZXByZWNhdGVkRmxleGlibGVCb3hEYXRhLmNw
cCBpbiBTb3VyY2VzICovLApAQCAtMzEzMzgsNiArMzEzNTksNyBAQAogCQkJCUZEMTc2MkRGMTc2
Njg2RDkwMEQ4MzZBOCAvKiBVcFNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjU5Mzky
MzcwOUFFNDM0NjAwMkM1MzFGIC8qIFVSTC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTk4OTU2
QjBBQTc4RjgwMDA1RUY1RUYgLyogVVJMQ0YuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMDcyNTYw
RkIxQkZDMjQ4MjAwNEY5MzU5IC8qIEpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzQ3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTI2NzcyNjA0MUE1REY2RjIwMDNDMjRERCAvKiBV
UkxGaWx0ZXJQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjU1QjNEREQxMjUxRjEyRDAw
M0VGMjY5IC8qIFVSTElucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2NTkzOTIzQTA5
QUU0MzVDMDAyQzUzMUYgLyogVVJMTWFjLm1tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50c0N1c3Rv
bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZWRpYVRy
YWNrU3VwcG9ydGVkQ29uc3RyYWludHNDdXN0b20uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHNDdXN0
b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiSlNNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaCIKKworI2lmIEVOQUJMRShNRURJ
QV9TVFJFQU0pCisKKyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0RPTVdy
YXBwZXIuaCIKKyNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgiCisKK3VzaW5n
IG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworI2RlZmluZSBGT1JfRUFD
SF9DT05TVFJBSU5UX1BST1BFUlRZKG1hY3JvKSBcCisgICAgbWFjcm8od2lkdGgsIFdpZHRoKSBc
CisgICAgbWFjcm8oaGVpZ2h0LCBIZWlnaHQpIFwKKyAgICBtYWNybyhhc3BlY3RSYXRpbywgQXNw
ZWN0UmF0aW8pIFwKKyAgICBtYWNybyhmcmFtZVJhdGUsIEZyYW1lUmF0ZSkgXAorICAgIG1hY3Jv
KGZhY2luZ01vZGUsIEZhY2luZ01vZGUpIFwKKyAgICBtYWNybyh2b2x1bWUsIFZvbHVtZSkgXAor
ICAgIG1hY3JvKHNhbXBsZVJhdGUsIFNhbXBsZVJhdGUpIFwKKyAgICBtYWNybyhzYW1wbGVTaXpl
LCBTYW1wbGVTaXplKSBcCisgICAgbWFjcm8oZWNob0NhbmNlbGxhdGlvbiwgRWNob0NhbmNlbGxh
dGlvbikgXAorICAgIG1hY3JvKGRldmljZUlkLCBEZXZpY2VJZCkgXAorICAgIG1hY3JvKGdyb3Vw
SWQsIEdyb3VwSWQpCisKK2Jvb2wgSlNNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM6Omdl
dE93blByb3BlcnR5U2xvdERlbGVnYXRlKEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSBwcm9wZXJ0
eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKK3sKKyNkZWZpbmUgQ0hFQ0tfUFJPUEVSVFkobG93
ZXJOYW1lLCBjYXBpdGFsTmFtZSkgXAorICAgIGlmIChTdHJpbmcoQVNDSUlMaXRlcmFsKCNsb3dl
ck5hbWUpKSA9PSBwcm9wZXJ0eU5hbWVUb0F0b21pY1N0cmluZyhwcm9wZXJ0eU5hbWUpKSB7IFwK
KyAgICAgICAgc2xvdC5zZXRWYWx1ZSh0aGlzLCBEb250RGVsZXRlIHwgUmVhZE9ubHksIGpzQm9v
bGVhbih3cmFwcGVkKCkuc3VwcG9ydHMjI2NhcGl0YWxOYW1lKCkpKTsgXAorICAgICAgICByZXR1
cm4gdHJ1ZTsgXAorICAgIH0KKworICAgIEZPUl9FQUNIX0NPTlNUUkFJTlRfUFJPUEVSVFkoQ0hF
Q0tfUFJPUEVSVFkpCisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgSlNNZWRpYVRyYWNr
U3VwcG9ydGVkQ29uc3RyYWludHM6OmdldE93blByb3BlcnR5TmFtZXMoSlNPYmplY3QqIG9iamVj
dCwgRXhlY1N0YXRlKiBzdGF0ZSwgUHJvcGVydHlOYW1lQXJyYXkmIHByb3BlcnR5TmFtZXMsIEVu
dW1lcmF0aW9uTW9kZSBtb2RlKQoreworI2RlZmluZSBNQVlCRV9BRERfUFJPUEVSVFkobG93ZXJO
YW1lLCBjYXBpdGFsTmFtZSkgXAorICAgIGlmIChzdXBwb3J0ZWRDb25zdHJhaW50cy5zdXBwb3J0
cyMjY2FwaXRhbE5hbWUoKSkgXAorICAgICAgICBwcm9wZXJ0eU5hbWVzLmFkZChJZGVudGlmaWVy
Ojpmcm9tU3RyaW5nKHN0YXRlLCBTdHJpbmcoQVNDSUlMaXRlcmFsKCNsb3dlck5hbWUpKSkpOwor
CisgICAgc3RhdGljIGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50
cyYgc3VwcG9ydGVkQ29uc3RyYWludHMgPSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5n
bGV0b24oKS5zdXBwb3J0ZWRDb25zdHJhaW50cygpOworCisgICAgRk9SX0VBQ0hfQ09OU1RSQUlO
VF9QUk9QRVJUWShNQVlCRV9BRERfUFJPUEVSVFkpCisKKyAgICBhdXRvKiB0aGlzT2JqZWN0ID0g
anNDYXN0PEpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzKj4ob2JqZWN0KTsKKyAgICBC
YXNlOjpnZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXNPYmplY3QsIHN0YXRlLCBwcm9wZXJ0eU5hbWVz
LCBtb2RlKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgJKHJldmlzaW9uIDE5MjQ4NikKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtMzUsNiArMzUsNyBAQAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
CiAKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlLmgiCisjaW5jbHVkZSAiUmVhbHRpbWVN
ZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNDIsOCArNDMsOSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE1lZGlhQ29uc3RyYWludHM7CiBjbGFzcyBN
ZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50OwotY2xhc3MgUmVhbHRpbWVNZWRpYVNvdXJjZVN0YXRl
czsKIGNsYXNzIE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENsaWVudDsKK2NsYXNzIFJl
YWx0aW1lTWVkaWFTb3VyY2VTdGF0ZXM7CitjbGFzcyBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9y
dGVkQ29uc3RyYWludHM7CiBjbGFzcyBUcmFja1NvdXJjZUluZm87CiAKIGNsYXNzIFJlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXIgewpAQCAtNjMsMTAgKzY1LDEzIEBAIHB1YmxpYzoKICAgICAKICAg
ICB2aXJ0dWFsIFJlZlB0cjxUcmFja1NvdXJjZUluZm8+IHNvdXJjZVdpdGhVSUQoY29uc3QgU3Ry
aW5nJiwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSwgTWVkaWFDb25zdHJhaW50cyopID0gMDsK
IAorICAgIHZpcnR1YWwgY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFp
bnRzJiBzdXBwb3J0ZWRDb25zdHJhaW50cygpIHsgcmV0dXJuIG1fc3VwcG9ydGVkQ29uc3RyYWlu
dHM7IH0KKwogcHJvdGVjdGVkOgogICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIoKTsKIAog
ICAgIHN0YXRpYyBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyJiBwbGF0Zm9ybUNlbnRlcigpOwor
ICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cyBtX3N1cHBvcnRlZENv
bnN0cmFpbnRzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENv
bnN0cmFpbnRzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmgJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlh
U291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEw
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqICAg
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMKKyAq
ICAgIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWlu
dHNfaAorI2RlZmluZSBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHNfaAor
CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMgeworcHVibGljOgorICAg
IFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cygpCisgICAgICAgIDogbV9z
dXBwb3J0c1dpZHRoKGZhbHNlKQorICAgICAgICAsIG1fc3VwcG9ydHNIZWlnaHQoZmFsc2UpCisg
ICAgICAgICwgbV9zdXBwb3J0c0FzcGVjdFJhdGlvKGZhbHNlKQorICAgICAgICAsIG1fc3VwcG9y
dHNGcmFtZVJhdGUoZmFsc2UpCisgICAgICAgICwgbV9zdXBwb3J0c0ZhY2luZ01vZGUoZmFsc2Up
CisgICAgICAgICwgbV9zdXBwb3J0c1ZvbHVtZShmYWxzZSkKKyAgICAgICAgLCBtX3N1cHBvcnRz
U2FtcGxlUmF0ZShmYWxzZSkKKyAgICAgICAgLCBtX3N1cHBvcnRzU2FtcGxlU2l6ZShmYWxzZSkK
KyAgICAgICAgLCBtX3N1cHBvcnRzRWNob0NhbmNlbGxhdGlvbihmYWxzZSkKKyAgICAgICAgLCBt
X3N1cHBvcnRzRGV2aWNlSWQoZmFsc2UpCisgICAgICAgICwgbV9zdXBwb3J0c0dyb3VwSWQoZmFs
c2UpCisgICAgeworICAgIH0KKworICAgIGJvb2wgc3VwcG9ydHNXaWR0aCgpIGNvbnN0IHsgcmV0
dXJuIG1fc3VwcG9ydHNXaWR0aDsgfQorICAgIHZvaWQgc2V0U3VwcG9ydHNXaWR0aChib29sIHZh
bHVlKSB7IG1fc3VwcG9ydHNXaWR0aCA9IHZhbHVlOyB9CisKKyAgICBib29sIHN1cHBvcnRzSGVp
Z2h0KCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0c0hlaWdodDsgfQorICAgIHZvaWQgc2V0U3Vw
cG9ydHNIZWlnaHQoYm9vbCB2YWx1ZSkgeyBtX3N1cHBvcnRzSGVpZ2h0ID0gdmFsdWU7IH0KKwor
ICAgIGJvb2wgc3VwcG9ydHNBc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIG1fc3VwcG9ydHNB
c3BlY3RSYXRpbzsgfQorICAgIHZvaWQgc2V0U3VwcG9ydHNBc3BlY3RSYXRpbyhib29sIHZhbHVl
KSB7IG1fc3VwcG9ydHNBc3BlY3RSYXRpbyA9IHZhbHVlOyB9CisKKyAgICBib29sIHN1cHBvcnRz
RnJhbWVSYXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0c0ZyYW1lUmF0ZTsgfQorICAgIHZv
aWQgc2V0U3VwcG9ydHNGcmFtZVJhdGUoYm9vbCB2YWx1ZSkgeyBtX3N1cHBvcnRzRnJhbWVSYXRl
ID0gdmFsdWU7IH0KKworICAgIGJvb2wgc3VwcG9ydHNGYWNpbmdNb2RlKCkgY29uc3QgeyByZXR1
cm4gbV9zdXBwb3J0c0ZhY2luZ01vZGU7IH0KKyAgICB2b2lkIHNldFN1cHBvcnRzRmFjaW5nTW9k
ZShib29sIHZhbHVlKSB7IG1fc3VwcG9ydHNGYWNpbmdNb2RlID0gdmFsdWU7IH0KKworICAgIGJv
b2wgc3VwcG9ydHNWb2x1bWUoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRzVm9sdW1lOyB9Cisg
ICAgdm9pZCBzZXRTdXBwb3J0c1ZvbHVtZShib29sIHZhbHVlKSB7IG1fc3VwcG9ydHNWb2x1bWUg
PSB2YWx1ZTsgfQorCisgICAgYm9vbCBzdXBwb3J0c1NhbXBsZVJhdGUoKSBjb25zdCB7IHJldHVy
biBtX3N1cHBvcnRzU2FtcGxlUmF0ZTsgfQorICAgIHZvaWQgc2V0U3VwcG9ydHNTYW1wbGVSYXRl
KGJvb2wgdmFsdWUpIHsgbV9zdXBwb3J0c1NhbXBsZVJhdGUgPSB2YWx1ZTsgfQorCisgICAgYm9v
bCBzdXBwb3J0c1NhbXBsZVNpemUoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRzU2FtcGxlU2l6
ZTsgfQorICAgIHZvaWQgc2V0U3VwcG9ydHNTYW1wbGVTaXplKGJvb2wgdmFsdWUpIHsgbV9zdXBw
b3J0c1NhbXBsZVNpemUgPSB2YWx1ZTsgfQorCisgICAgYm9vbCBzdXBwb3J0c0VjaG9DYW5jZWxs
YXRpb24oKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRzRWNob0NhbmNlbGxhdGlvbjsgfQorICAg
IHZvaWQgc2V0U3VwcG9ydHNFY2hvQ2FuY2VsbGF0aW9uKGJvb2wgdmFsdWUpIHsgbV9zdXBwb3J0
c0VjaG9DYW5jZWxsYXRpb24gPSB2YWx1ZTsgfQorCisgICAgYm9vbCBzdXBwb3J0c0RldmljZUlk
KCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0c0RldmljZUlkOyB9CisgICAgdm9pZCBzZXRTdXBw
b3J0c0RldmljZUlkKGJvb2wgdmFsdWUpIHsgbV9zdXBwb3J0c0RldmljZUlkID0gdmFsdWU7IH0K
KworICAgIGJvb2wgc3VwcG9ydHNHcm91cElkKCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0c0dy
b3VwSWQ7IH0KKyAgICB2b2lkIHNldFN1cHBvcnRzR3JvdXBJZChib29sIHZhbHVlKSB7IG1fc3Vw
cG9ydHNHcm91cElkID0gdmFsdWU7IH0KKworcHJpdmF0ZToKKyAgICBib29sIG1fc3VwcG9ydHNX
aWR0aDsKKyAgICBib29sIG1fc3VwcG9ydHNIZWlnaHQ7CisgICAgYm9vbCBtX3N1cHBvcnRzQXNw
ZWN0UmF0aW87CisgICAgYm9vbCBtX3N1cHBvcnRzRnJhbWVSYXRlOworICAgIGJvb2wgbV9zdXBw
b3J0c0ZhY2luZ01vZGU7CisgICAgYm9vbCBtX3N1cHBvcnRzVm9sdW1lOworICAgIGJvb2wgbV9z
dXBwb3J0c1NhbXBsZVJhdGU7CisgICAgYm9vbCBtX3N1cHBvcnRzU2FtcGxlU2l6ZTsKKyAgICBi
b29sIG1fc3VwcG9ydHNFY2hvQ2FuY2VsbGF0aW9uOworICAgIGJvb2wgbV9zdXBwb3J0c0Rldmlj
ZUlkOworICAgIGJvb2wgbV9zdXBwb3J0c0dyb3VwSWQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gUmVh
bHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzX2gKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFj
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9t
YWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAJKHJldmlzaW9uIDE5MjQ4NikKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyTWFjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsMTcgQEAgUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlciYgUmVhbHRpbWVNZWRpYQogCiBSZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyTWFjOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjKCkKIHsKKyAgICBtX3N1cHBv
cnRlZENvbnN0cmFpbnRzLnNldFN1cHBvcnRzV2lkdGgodHJ1ZSk7CisgICAgbV9zdXBwb3J0ZWRD
b25zdHJhaW50cy5zZXRTdXBwb3J0c0hlaWdodCh0cnVlKTsKKyAgICBtX3N1cHBvcnRlZENvbnN0
cmFpbnRzLnNldFN1cHBvcnRzQXNwZWN0UmF0aW8odHJ1ZSk7CisgICAgbV9zdXBwb3J0ZWRDb25z
dHJhaW50cy5zZXRTdXBwb3J0c0ZyYW1lUmF0ZSh0cnVlKTsKKyAgICBtX3N1cHBvcnRlZENvbnN0
cmFpbnRzLnNldFN1cHBvcnRzRmFjaW5nTW9kZSh0cnVlKTsKKyAgICBtX3N1cHBvcnRlZENvbnN0
cmFpbnRzLnNldFN1cHBvcnRzVm9sdW1lKHRydWUpOworICAgIG1fc3VwcG9ydGVkQ29uc3RyYWlu
dHMuc2V0U3VwcG9ydHNTYW1wbGVSYXRlKGZhbHNlKTsKKyAgICBtX3N1cHBvcnRlZENvbnN0cmFp
bnRzLnNldFN1cHBvcnRzU2FtcGxlU2l6ZShmYWxzZSk7CisgICAgbV9zdXBwb3J0ZWRDb25zdHJh
aW50cy5zZXRTdXBwb3J0c0VjaG9DYW5jZWxsYXRpb24oZmFsc2UpOworICAgIG1fc3VwcG9ydGVk
Q29uc3RyYWludHMuc2V0U3VwcG9ydHNEZXZpY2VJZCh0cnVlKTsKKyAgICBtX3N1cHBvcnRlZENv
bnN0cmFpbnRzLnNldFN1cHBvcnRzR3JvdXBJZCh0cnVlKTsKIH0KIAogUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlck1hYzo6flJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMoKQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJNYWMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oCShyZXZpc2lvbiAxOTI0ODYp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlck1hYy5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMgZmluYWwg
OiBwdWJsaWMgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlciB7CiBwdWJsaWM6CiAgICAgUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlck1hYygpOworCitwcml2YXRlOgogICAgIH5SZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyTWFjKCk7CiAKICAgICB2b2lkIHZhbGlkYXRlUmVxdWVzdENvbnN0cmFpbnRz
KE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQqLCBSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4mIGF1
ZGlvQ29uc3RyYWludHMsIFJlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiYgdmlkZW9Db25zdHJhaW50
cykgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFs
dGltZU1lZGlhU291cmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlLmNwcAkocmV2aXNpb24gMTkyNDg2KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTgxLDEwICs4MSw2IEBAIFJlZlB0cjxUcmFja1NvdXJjZUluZm8+
IE1vY2tSZWFsdGltZU1lZGkKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotI2lmIDAKLQotI2Vu
ZGlmCi0KIE1vY2tSZWFsdGltZU1lZGlhU291cmNlOjpNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZShj
b25zdCBTdHJpbmcmIGlkLCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUsIGNvbnN0IFN0
cmluZyYgbmFtZSkKICAgICA6IFJlYWx0aW1lTWVkaWFTb3VyY2UoaWQsIHR5cGUsIG5hbWUpCiB7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcAkocmV2aXNpb24gMTkyNDg2KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDE3IEBAIHZvaWQgTW9ja1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXI6OnJlZ2kKICAgICB9CiB9CiAKK01vY2tSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyOjpNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcigpCit7CisgICAgbV9zdXBw
b3J0ZWRDb25zdHJhaW50cy5zZXRTdXBwb3J0c1dpZHRoKHRydWUpOworICAgIG1fc3VwcG9ydGVk
Q29uc3RyYWludHMuc2V0U3VwcG9ydHNIZWlnaHQodHJ1ZSk7CisgICAgbV9zdXBwb3J0ZWRDb25z
dHJhaW50cy5zZXRTdXBwb3J0c0FzcGVjdFJhdGlvKHRydWUpOworICAgIG1fc3VwcG9ydGVkQ29u
c3RyYWludHMuc2V0U3VwcG9ydHNGcmFtZVJhdGUodHJ1ZSk7CisgICAgbV9zdXBwb3J0ZWRDb25z
dHJhaW50cy5zZXRTdXBwb3J0c0ZhY2luZ01vZGUodHJ1ZSk7CisgICAgbV9zdXBwb3J0ZWRDb25z
dHJhaW50cy5zZXRTdXBwb3J0c1ZvbHVtZSh0cnVlKTsKKyAgICBtX3N1cHBvcnRlZENvbnN0cmFp
bnRzLnNldFN1cHBvcnRzRGV2aWNlSWQodHJ1ZSk7Cit9CisKIHZvaWQgTW9ja1JlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXI6OnZhbGlkYXRlUmVxdWVzdENvbnN0cmFpbnRzKE1lZGlhU3RyZWFtQ3Jl
YXRpb25DbGllbnQqIGNsaWVudCwgUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+JiBhdWRpb0NvbnN0
cmFpbnRzLCBSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4mIHZpZGVvQ29uc3RyYWludHMpCiB7CiAg
ICAgQVNTRVJUKGNsaWVudCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01v
Y2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oCShyZXZpc2lv
biAxOTI0ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDE0ICszOCwxMyBAQCBwdWJs
aWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgcmVnaXN0ZXJNb2NrUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlcigpOwogCiBwcml2YXRlOgorICAgIE1vY2tSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyKCk7CiAKICAgICB2b2lkIHZhbGlkYXRlUmVxdWVzdENvbnN0cmFpbnRzKE1lZGlh
U3RyZWFtQ3JlYXRpb25DbGllbnQqLCBSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4mIGF1ZGlvQ29u
c3RyYWludHMsIFJlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiYgdmlkZW9Db25zdHJhaW50cykgb3Zl
cnJpZGU7CiAgICAgdm9pZCBjcmVhdGVNZWRpYVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFt
Q3JlYXRpb25DbGllbnQ+LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29uc3Ry
YWludHMsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cykgb3Zl
cnJpZGU7CiAgICAgYm9vbCBnZXRNZWRpYVN0cmVhbVRyYWNrU291cmNlcyhQYXNzUmVmUHRyPE1l
ZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENsaWVudD4pIG92ZXJyaWRlOwogICAgIHZvaWQg
Y3JlYXRlTWVkaWFTdHJlYW0oTWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudCosIGNvbnN0IFN0cmlu
ZyYgYXVkaW9EZXZpY2VJRCwgY29uc3QgU3RyaW5nJiB2aWRlb0RldmljZUlEKSBvdmVycmlkZTsK
ICAgICBSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPiBzb3VyY2VXaXRoVUlEKGNvbnN0IFN0cmluZyYs
IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUsIE1lZGlhQ29uc3RyYWludHMqKSBvdmVycmlkZTsK
LQotICAgIE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyKCkgeyB9CiB9OwogCiB9CkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAxOTI0ODYpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxNS0xMS0xOCAgRXJpYyBDYXJsc29uICA8ZXJpYy5j
YXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVN0cmVhbTogSW1wbGVtZW50IE1lZGlh
RGV2aWNlcy5nZXRTdXBwb3J0ZWRDb25zdHJhaW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMzk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy1n
ZXRTdXBwb3J0ZWRDb25zdHJhaW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLWdldFN1cHBvcnRlZENvbnN0cmFpbnRzLmh0bWw6
IEFkZGVkLgorCiAyMDE1LTExLTE2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgogCiAgICAgICAgIEVuYWJsZSBwYXNzaW5nIHRlc3RzIGluIExheW91dFRlc3RzL2Zhc3Qv
bWVkaWFzdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vTWVkaWFEZXZp
Y2VzLWdldFN1cHBvcnRlZENvbnN0cmFpbnRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy1nZXRTdXBwb3J0ZWRDb25z
dHJhaW50cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L21l
ZGlhc3RyZWFtL01lZGlhRGV2aWNlcy1nZXRTdXBwb3J0ZWRDb25zdHJhaW50cy1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMiBAQAorVGVzdHMgTWVkaWFEZXZpY2VzLmdl
dFN1cHBvcnRlZENvbnN0cmFpbnRzKCkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1MgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcyBpcyBhbiBpbnN0YW5jZSBvZiBPYmplY3QKK1BB
U1MgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRTdXBwb3J0ZWRDb25zdHJhaW50cyBpcyBhbiBp
bnN0YW5jZSBvZiBGdW5jdGlvbgorCitzdXBwb3J0ZWRDb25zdHJhaW50cyA9IG5hdmlnYXRvci5t
ZWRpYURldmljZXMuZ2V0U3VwcG9ydGVkQ29uc3RyYWludHMoKQorCitQQVNTIHN1cHBvcnRlZENv
bnN0cmFpbnRzLndpZHRoIGlzIHRydWUKK1BBU1Mgc3VwcG9ydGVkQ29uc3RyYWludHMuaGVpZ2h0
IGlzIHRydWUKK1BBU1Mgc3VwcG9ydGVkQ29uc3RyYWludHMuYXNwZWN0UmF0aW8gaXMgdHJ1ZQor
UEFTUyBzdXBwb3J0ZWRDb25zdHJhaW50cy5mcmFtZVJhdGUgaXMgdHJ1ZQorUEFTUyBzdXBwb3J0
ZWRDb25zdHJhaW50cy5mYWNpbmdNb2RlIGlzIHRydWUKK1BBU1Mgc3VwcG9ydGVkQ29uc3RyYWlu
dHMudm9sdW1lIGlzIHRydWUKK1BBU1Mgc3VwcG9ydGVkQ29uc3RyYWludHMuZGV2aWNlSWQgaXMg
dHJ1ZQorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMtZ2V0U3Vw
cG9ydGVkQ29uc3RyYWludHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L21l
ZGlhc3RyZWFtL01lZGlhRGV2aWNlcy1nZXRTdXBwb3J0ZWRDb25zdHJhaW50cy5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMtZ2V0
U3VwcG9ydGVkQ29uc3RyYWludHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBA
Cis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZh
ciBzdXBwb3J0ZWRDb25zdHJhaW50czsKKworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRlc3Rz
IE1lZGlhRGV2aWNlcy5nZXRTdXBwb3J0ZWRDb25zdHJhaW50cygpIik7CisgICAgICAgICAgICB3
aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgICAgIHNob3VsZEJlVHlwZSgi
bmF2aWdhdG9yLm1lZGlhRGV2aWNlcyIsICJPYmplY3QiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
VHlwZSgibmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRTdXBwb3J0ZWRDb25zdHJhaW50cyIsICJG
dW5jdGlvbiIpOworCisgICAgICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgICAgICBldmFsQW5k
TG9nKCJzdXBwb3J0ZWRDb25zdHJhaW50cyA9IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0U3Vw
cG9ydGVkQ29uc3RyYWludHMoKSIpOworICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAg
ICAgZm9yICh2YXIgY29uc3RyYWludCBpbiBzdXBwb3J0ZWRDb25zdHJhaW50cykKKyAgICAgICAg
ICAgICAgICBzaG91bGRCZVRydWUoYHN1cHBvcnRlZENvbnN0cmFpbnRzLiR7Y29uc3RyYWludH1g
KTsKKyAgICAgICAgICAgIGRlYnVnKCIiKTsKKworCisgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKworICAgICAgICAgICAgd2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgICAg
ICAgIDwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265777</attachid>
            <date>2015-11-18 14:14:41 -0800</date>
            <delta_ts>2015-11-18 17:12:46 -0800</delta_ts>
            <desc>Another updated patch.</desc>
            <filename>track_supported_constraints_patch_7.txt</filename>
            <type>text/plain</type>
            <size>46096</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MjU4NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDg0IEBACisyMDE1LTExLTE4ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFtOiBJ
bXBsZW1lbnQgTWVkaWFEZXZpY2VzLmdldFN1cHBvcnRlZENvbnN0cmFpbnRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEzOTQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L21lZGlhc3Ry
ZWFtL01lZGlhRGV2aWNlcy1nZXRTdXBwb3J0ZWRDb25zdHJhaW50cy5odG1sCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDogQWRkIE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cyBhbmQg
SlNNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHNDdXN0b20uCisKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5tYWtlOiBEaXR0by4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFEZXZpY2VzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRGV2aWNlczo6Z2V0U3Vw
cG9ydGVkQ29uc3RyYWludHMpOiBOZXcuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYURldmljZXMuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNl
cy5pZGw6CisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tTdXBwb3J0
ZWRDb25zdHJhaW50cy5oOiBBZGRlZC4gV3JhcHBlciBhcm91bmQgYSAKKyAgICAgICAgICBSZWFs
dGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1cHBvcnRzV2lkdGgpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzOjpzdXBwb3J0c0hlaWdo
dCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1
cHBvcnRzQXNwZWN0UmF0aW8pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFUcmFja1N1cHBvcnRl
ZENvbnN0cmFpbnRzOjpzdXBwb3J0c0ZyYW1lUmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1cHBvcnRzRmFjaW5nTW9kZSk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1cHBvcnRzVm9sdW1l
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50czo6c3Vw
cG9ydHNTYW1wbGVSYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhVHJhY2tTdXBwb3J0ZWRD
b25zdHJhaW50czo6c3VwcG9ydHNTYW1wbGVTaXplKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
VHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50czo6c3VwcG9ydHNFY2hvQ2FuY2VsbGF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50czo6c3VwcG9ydHNE
ZXZpY2VJZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWlu
dHM6OnN1cHBvcnRzR3JvdXBJZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVRyYWNrU3VwcG9y
dGVkQ29uc3RyYWludHM6Ok1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cyk6CisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaWRs
OiBBZGRlZC4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajog
QWRkIEpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzQ3VzdG9tLmNwcCwgCisgICAgICAg
ICAgUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmgsIGFuZCBNZWRpYVRy
YWNrU3VwcG9ydGVkQ29uc3RyYWludHMuKi4KKworICAgICAgICBBIE1lZGlhVHJhY2tTdXBwb3J0
ZWRDb25zdHJhaW50cyBvbmx5IGNvbnRhaW5zIHRoZSBwcm9wZXJ0aWVzIHN1cHBvcnRlZCBieSB0
aGUgY3VycmVudGx5CisgICAgICAgIGF2YWlsYWJsZSBjYXB0dXJlIGRldmljZXMsIHNvIGltcGxl
bWVudCBnZXRPd25Qcm9wZXJ0eVNsb3QgYW5kIGdldE93blByb3BlcnR5TmFtZXMgc28KKyAgICAg
ICAgd2UgZG9uJ3QgaGF2ZSB0byBkZWNsYXJlIGFueSBhdHRyaWJ1dGVzIGluIHRoZSBpZGwgZmls
ZS4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50
c0N1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNNZWRpYVRyYWNrU3VwcG9y
dGVkQ29uc3RyYWludHM6OmdldE93blByb3BlcnR5U2xvdERlbGVnYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzOjpnZXRPd25Qcm9wZXJ0eU5h
bWVzKToKKworICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlh
U291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpS
ZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHM6OlJlYWx0aW1lTWVkaWFTb3Vy
Y2VTdXBwb3J0ZWRDb25zdHJhaW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlh
U291cmNlU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1cHBvcnRzV2lkdGgpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0
c1dpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRD
b25zdHJhaW50czo6c3VwcG9ydHNIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVN
ZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0c0hlaWdodCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1
cHBvcnRzQXNwZWN0UmF0aW8pOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJj
ZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0c0FzcGVjdFJhdGlvKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50czo6c3VwcG9y
dHNGcmFtZVJhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBv
cnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0c0ZyYW1lUmF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1cHBvcnRzRmFjaW5n
TW9kZSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29u
c3RyYWludHM6OnNldFN1cHBvcnRzRmFjaW5nTW9kZSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFs
dGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHM6OnN1cHBvcnRzVm9sdW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50czo6
c2V0U3VwcG9ydHNWb2x1bWUpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJj
ZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzdXBwb3J0c1NhbXBsZVJhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0
c1NhbXBsZVJhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBv
cnRlZENvbnN0cmFpbnRzOjpzdXBwb3J0c1NhbXBsZVNpemUpOgorICAgICAgICAoV2ViQ29yZTo6
UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0c1NhbXBs
ZVNpemUpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENv
bnN0cmFpbnRzOjpzdXBwb3J0c0VjaG9DYW5jZWxsYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzOjpzZXRTdXBwb3J0c0VjaG9D
YW5jZWxsYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBv
cnRlZENvbnN0cmFpbnRzOjpzdXBwb3J0c0RldmljZUlkKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
YWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50czo6c2V0U3VwcG9ydHNEZXZpY2VJ
ZCk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3Ry
YWludHM6OnN1cHBvcnRzR3JvdXBJZCk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlh
U291cmNlU3VwcG9ydGVkQ29uc3RyYWludHM6OnNldFN1cHBvcnRzR3JvdXBJZCk6CisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1h
Yy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjKTogSW5pdGlhbGl6ZSBzdXBwb3J0ZWQgY29uc3Ry
YWludHMuCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXJNYWMuaDoKKworICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1l
TWVkaWFTb3VyY2UuY3BwOiBEZWxldGUgc29tZSBkZWFkIGNvZGUuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpNb2NrUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlcik6IEluaXRpYWxpemUgc3VwcG9ydGVkIGNvbnN0cmFpbnRzLgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaDoKKwogMjAxNS0x
MS0xOCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IFRpbWVsaW5lIFJlY29yZGluZyBhY3Jvc3MgcGFnZSBuYXZpZ2F0aW9ucyBi
ZWhhdmVzIHBvb3JseQpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDE5MjU4NikK
KysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMzgs
NiArMjM4LDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50LmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYVRyYWNrQ29uc3RyYWludHMuaWRsCisgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRy
YWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZp
Z2F0b3JNZWRpYURldmljZXMuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JV
c2VyTWVkaWEuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvci5pZGwKQEAgLTEyMDUsNiArMTIwNiw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBi
aW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuY3BwCiAgICAgYmluZGluZ3MvanMvSlNN
ZWRpYVNvdXJjZVN0YXRlc0N1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU01lZGlhU3RyZWFt
Q2FwYWJpbGl0aWVzQ3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTTWVkaWFUcmFja1N1cHBv
cnRlZENvbnN0cmFpbnRzQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTWVzc2FnZUNoYW5u
ZWxDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwCiAg
ICAgYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3RvbS5jcHAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gMTkyNTg2KQorKysgU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTM0LDYgKzEzNCw3IEBAIE5PTl9T
VkdfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYVRyYWNrQ29uc3RyYWludC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludHMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQuaWRsIFwKKyAgICAkKFdlYkNvcmUp
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhRGV2aWNl
cy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2Vy
TWVkaWEuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3IuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNt
YWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCShyZXZp
c2lvbiAxOTI1ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQkod29ya2lu
ZyBjb3B5KQpAQCAtNjg0LDYgKzY4NCw3IEBAIGxpc3QoQVBQRU5EIEdPYmplY3RET01CaW5kaW5n
c1Vuc3RhYmxlX0kKIAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmlkbAog
ICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmlkbAorICAgIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmlkbAogCiAg
ICAgTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5pZGwKICAgICBNb2R1bGVzL3F1b3RhL1N0b3Jh
Z2VRdW90YS5pZGwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFEZXZpY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL01lZGlhRGV2aWNlcy5jcHAJKHJldmlzaW9uIDE5MjU4NikKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzcsNiArMzcsOCBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiTWVkaWFE
ZXZpY2VzUmVxdWVzdC5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtLmgiCisjaW5jbHVkZSAiTWVk
aWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmgiCisjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlci5oIgogI2luY2x1ZGUgIlVzZXJNZWRpYUNvbnRyb2xsZXIuaCIKICNpbmNsdWRl
ICJVc2VyTWVkaWFSZXF1ZXN0LmgiCiAKQEAgLTczLDYgKzc1LDExIEBAIHZvaWQgTWVkaWFEZXZp
Y2VzOjplbnVtZXJhdGVEZXZpY2VzKEVudW0KICAgICAgICAgcmVxdWVzdC0+c3RhcnQoKTsKIH0K
IAorUmVmUHRyPE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cz4gTWVkaWFEZXZpY2VzOjpn
ZXRTdXBwb3J0ZWRDb25zdHJhaW50cygpCit7CisgICAgcmV0dXJuIE1lZGlhVHJhY2tTdXBwb3J0
ZWRDb25zdHJhaW50czo6Y3JlYXRlKFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRv
bigpLnN1cHBvcnRlZENvbnN0cmFpbnRzKCkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oCShyZXZpc2lvbiAxOTI1
ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5o
CSh3b3JraW5nIGNvcHkpCkBAIC00Niw2ICs0Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIERpY3Rpb25hcnk7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIE1lZGlhU3RyZWFtOworY2xh
c3MgTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzOwogY2xhc3MgTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3I7CiAKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CkBAIC02Miw2ICs2Myw3IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgZ2V0VXNlck1lZGlhKGNvbnN0IERpY3Rpb25hcnkmLCBQcm9t
aXNlJiYsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKICAgICB2b2lkIGVudW1lcmF0ZURldmljZXMo
RW51bWVyYXRlRGV2aWNlc1Byb21pc2UmJiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIFJl
ZlB0cjxNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM+IGdldFN1cHBvcnRlZENvbnN0cmFp
bnRzKCk7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgTWVkaWFEZXZpY2VzKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFEZXZpY2VzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5pZGwJKHJldmlzaW9uIDE5MjU4NikKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMzIsNiArMzIsOCBAQAogICAgIE5vSW50ZXJmYWNlT2JqZWN0LAogICAgIENvbmRpdGlv
bmFsPU1FRElBX1NUUkVBTQogXSBpbnRlcmZhY2UgTWVkaWFEZXZpY2VzIHsKKyAgICBNZWRpYVRy
YWNrU3VwcG9ydGVkQ29uc3RyYWludHMgZ2V0U3VwcG9ydGVkQ29uc3RyYWludHMoKTsKKwogICAg
IFtKU0J1aWx0aW5dIFByb21pc2UgZ2V0VXNlck1lZGlhKERpY3Rpb25hcnkgb3B0aW9ucyk7CiAg
ICAgW1JhaXNlc0V4Y2VwdGlvbl0gUHJvbWlzZSBlbnVtZXJhdGVEZXZpY2VzKCk7CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja1N1cHBvcnRlZENv
bnN0cmFpbnRzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaAkocmV2aXNpb24gMCkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0
cmFpbnRzLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqICAgIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1
dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgRXJpY3Nzb24gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMKKyAqICAgIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBNZWRp
YVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHNfaAorI2RlZmluZSBNZWRpYVRyYWNrU3VwcG9ydGVk
Q29uc3RyYWludHNfaAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIlJl
YWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cy5oIgorI2luY2x1ZGUgIlNjcmlw
dFdyYXBwYWJsZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzIDogcHVibGlj
IFJlZkNvdW50ZWQ8TWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzPiwgcHVibGljIFNjcmlw
dFdyYXBwYWJsZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNZWRpYVRyYWNrU3VwcG9ydGVk
Q29uc3RyYWludHM+IGNyZWF0ZShjb25zdCBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29u
c3RyYWludHMmIHN1cHBvcnRlZENvbnN0cmFpbnRzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzKHN1cHBvcnRlZENvbnN0
cmFpbnRzKSk7CisgICAgfQorCisgICAgYm9vbCBzdXBwb3J0c1dpZHRoKCkgY29uc3QgeyByZXR1
cm4gbV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zdXBwb3J0c1dpZHRoKCk7IH0KKyAgICBib29sIHN1
cHBvcnRzSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zdXBw
b3J0c0hlaWdodCgpOyB9CisgICAgYm9vbCBzdXBwb3J0c0FzcGVjdFJhdGlvKCkgY29uc3QgeyBy
ZXR1cm4gbV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zdXBwb3J0c0FzcGVjdFJhdGlvKCk7IH0KKyAg
ICBib29sIHN1cHBvcnRzRnJhbWVSYXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0ZWRDb25z
dHJhaW50cy5zdXBwb3J0c0ZyYW1lUmF0ZSgpOyB9CisgICAgYm9vbCBzdXBwb3J0c0ZhY2luZ01v
ZGUoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRlZENvbnN0cmFpbnRzLnN1cHBvcnRzRmFjaW5n
TW9kZSgpOyB9CisgICAgYm9vbCBzdXBwb3J0c1ZvbHVtZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3Vw
cG9ydGVkQ29uc3RyYWludHMuc3VwcG9ydHNWb2x1bWUoKTsgfQorICAgIGJvb2wgc3VwcG9ydHNT
YW1wbGVSYXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zdXBwb3J0
c1NhbXBsZVJhdGUoKTsgfQorICAgIGJvb2wgc3VwcG9ydHNTYW1wbGVTaXplKCkgY29uc3QgeyBy
ZXR1cm4gbV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zdXBwb3J0c1NhbXBsZVNpemUoKTsgfQorICAg
IGJvb2wgc3VwcG9ydHNFY2hvQ2FuY2VsbGF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0
ZWRDb25zdHJhaW50cy5zdXBwb3J0c0VjaG9DYW5jZWxsYXRpb24oKTsgfQorICAgIGJvb2wgc3Vw
cG9ydHNEZXZpY2VJZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3VwcG9ydGVkQ29uc3RyYWludHMuc3Vw
cG9ydHNEZXZpY2VJZCgpOyB9CisgICAgYm9vbCBzdXBwb3J0c0dyb3VwSWQoKSBjb25zdCB7IHJl
dHVybiBtX3N1cHBvcnRlZENvbnN0cmFpbnRzLnN1cHBvcnRzR3JvdXBJZCgpOyB9CisKK3ByaXZh
dGU6CisgICAgZXhwbGljaXQgTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzKGNvbnN0IFJl
YWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cyYgc3VwcG9ydGVkQ29uc3RyYWlu
dHMpCisgICAgICAgIDogbV9zdXBwb3J0ZWRDb25zdHJhaW50cyhzdXBwb3J0ZWRDb25zdHJhaW50
cykKKyAgICB7CisgICAgfQorCisgICAgUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0
cmFpbnRzIG1fc3VwcG9ydGVkQ29uc3RyYWludHM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHNfaAorCisjZW5k
aWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja1N1
cHBvcnRlZENvbnN0cmFpbnRzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cy5pZGwJKHJldmlz
aW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tT
dXBwb3J0ZWRDb25zdHJhaW50cy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOSBAQAor
LyoKKyogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0OgorKgorKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorKiAgICBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisqICAgIGRpc3Ry
aWJ1dGlvbi4KKyogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBFcmljc3NvbiBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMKKyogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisqICAgIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCitbCisgICAgQ29uZGl0aW9uYWw9TUVESUFf
U1RSRUFNLAorICAgIE5vSW50ZXJmYWNlT2JqZWN0LAorICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUsCisgICAgSlNDdXN0b21HZXRPd25Qcm9wZXJ0eVNsb3RBbmREZXNjcmlwdG9yLAorICAg
IEN1c3RvbUVudW1lcmF0ZVByb3BlcnR5LAorXSBpbnRlcmZhY2UgTWVkaWFUcmFja1N1cHBvcnRl
ZENvbnN0cmFpbnRzIHsKK307CisKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE5MjU4NikKKysrIFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpA
QCAtMTMwLDYgKzEzMCw3IEBACiAJCTA3MUU0OTcwMUFENUFCNUUwMDhBNTBCNCAvKiBNZWRpYVBs
YXliYWNrVGFyZ2V0TWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwNzFFNDk2RjFBRDVBQjVFMDA4QTUwQjQgLyogTWVkaWFQbGF5YmFja1RhcmdldE1h
Yy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3
MjBCMEEwMTREMzMyMzUwMDY0Mjk1NSAvKiBHZW5lcmljRXZlbnRRdWV1ZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzIwQjA5RTE0RDMzMjM1MDA2
NDI5NTUgLyogR2VuZXJpY0V2ZW50UXVldWUuY3BwICovOyB9OwogCQkwNzIwQjBBMTE0RDMzMjM1
MDA2NDI5NTUgLyogR2VuZXJpY0V2ZW50UXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MjBCMDlGMTREMzMyMzUwMDY0Mjk1NSAvKiBHZW5lcmlj
RXZlbnRRdWV1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTA3MjU2MEZCMUJGQzI0ODIwMDRGOTM1OSAvKiBKU01lZGlhVHJhY2tTdXBwb3J0ZWRD
b25zdHJhaW50c0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwN0MxQzBFNjFCRkI5MEE3MDBCRDIyNTYgLyogSlNNZWRpYVRyYWNrU3VwcG9y
dGVkQ29uc3RyYWludHNDdXN0b20uY3BwICovOyBzZXR0aW5ncyA9IHtBU1NFVF9UQUdTID0gKCk7
IH07IH07CiAJCTA3Mjc3RTRDMTdEMDE4Q0MwMDE1NTM0RCAvKiBKU01lZGlhU3RyZWFtLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3Mjc3RTQwMTdE
MDE4Q0MwMDE1NTM0RCAvKiBKU01lZGlhU3RyZWFtLmNwcCAqLzsgfTsKIAkJMDcyNzdFNEQxN0Qw
MThDQzAwMTU1MzREIC8qIEpTTWVkaWFTdHJlYW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3Mjc3RTQxMTdEMDE4Q0MwMDE1NTM0RCAvKiBKU01lZGlh
U3RyZWFtLmggKi87IH07CiAJCTA3Mjc3RTRFMTdEMDE4Q0MwMDE1NTM0RCAvKiBKU01lZGlhU3Ry
ZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDcyNzdFNDIxN0QwMThDQzAwMTU1MzREIC8qIEpTTWVkaWFTdHJl
YW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgKi87IH07CkBAIC0yMTEsNiArMjEyLDggQEAKIAkJ
MDc4NDYzNDIxNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzg0NjM0MDE0NUIxNTFBMDBBNThE
RjEgLyogSlNUcmFja0V2ZW50LmNwcCAqLzsgfTsKIAkJMDc4NDYzNDMxNDVCMTUxQTAwQTU4REYx
IC8qIEpTVHJhY2tFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMDc4NDYzNDExNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5oICovOyB9
OwogCQkwNzg0NjM4NTE0NUIxQjhFMDBBNThERjEgLyogSlNUcmFja0N1c3RvbS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc4NDYzODQxNDVCMUI4RTAw
QTU4REYxIC8qIEpTVHJhY2tDdXN0b20uaCAqLzsgfTsKKwkJMDc4N0M0NjkxQkZCREY2RjAwNkRD
RDdGIC8qIEpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3ODdDNDY3MUJGQkRGNkYwMDZEQ0Q3
RiAvKiBKU01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cy5jcHAgKi87IHNldHRpbmdzID0g
e0FTU0VUX1RBR1MgPSAoKTsgfTsgfTsKKwkJMDc4N0M0NkExQkZCREY2RjAwNkRDRDdGIC8qIEpT
TWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzg3QzQ2ODFCRkJERjZGMDA2RENEN0YgLyogSlNNZWRp
YVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaCAqLzsgc2V0dGluZ3MgPSB7QVNTRVRfVEFHUyA9
ICgpOyB9OyB9OwogCQkwNzhFMDhGRTE3RDE0Q0VFMDA0MjBBQTEgLyogTWVkaWFDb25zdHJhaW50
c0ltcGwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MDcyMjFCNEExN0NFQzMyNzAwODQ4RTUxIC8qIE1lZGlhQ29uc3RyYWludHNJbXBsLmNwcCAqLzsg
fTsKIAkJMDc4RTA4RkYxN0QxNENFRTAwNDIwQUExIC8qIE1lZGlhU3RyZWFtLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MjIxQjRDMTdDRUMzMjcw
MDg0OEU1MSAvKiBNZWRpYVN0cmVhbS5jcHAgKi87IH07CiAJCTA3OEUwOTAwMTdEMTRDRUUwMDQy
MEFBMSAvKiBNZWRpYVN0cmVhbUV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA3MjIxQjRGMTdDRUMzMjcwMDg0OEU1MSAvKiBNZWRpYVN0cmVh
bUV2ZW50LmNwcCAqLzsgfTsKQEAgLTMxNCw2ICszMTcsOCBAQAogCQkwN0I1QTJEQzE0NjQzMjBB
MDBBODFFQ0UgLyogSlNUZXh0VHJhY2tMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwN0I1QTJEQTE0NjQzMjBBMDBBODFFQ0UgLyogSlNUZXh0VHJh
Y2tMaXN0LmggKi87IH07CiAJCTA3QjVBMzBEMTQ2ODdENzEwMEE4MUVDRSAvKiBKU1RleHRUcmFj
a0xpc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMDdCNUEzMEMxNDY4N0Q3MTAwQTgxRUNFIC8qIEpTVGV4dFRyYWNrTGlzdEN1c3RvbS5j
cHAgKi87IH07CiAJCTA3QkRENkVDMTQ2OUI0QzIwMDlDOUY4NSAvKiBKU1RyYWNrRXZlbnRDdXN0
b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdC
NUEzMEExNDY4N0I4NDAwQTgxRUNFIC8qIEpTVHJhY2tFdmVudEN1c3RvbS5jcHAgKi87IH07CisJ
CTA3QzFDMEUyMUJGQjYwMDEwMEJEMjI1NiAvKiBNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWlu
dHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3QzFD
MEUwMUJGQjYwMDEwMEJEMjI1NiAvKiBNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVNTRVRfVEFHUyA9ICgpOyB9OyB9OworCQkwN0MxQzBFNTFCRkI2MEVE
MDBCRDIyNTYgLyogUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0MxQzBFNDFCRkI2
MEVEMDBCRDIyNTYgLyogUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDdDNTlC
NjgxN0Y3ODRCQTAwMEZCQ0JCIC8qIE1lZGlhU291cmNlU3RhdGVzLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3QzU5QjY1MTdGNzg0QkEwMDBGQkNC
QiAvKiBNZWRpYVNvdXJjZVN0YXRlcy5jcHAgKi87IH07CiAJCTA3QzU5QjY5MTdGNzg0QkEwMDBG
QkNCQiAvKiBNZWRpYVNvdXJjZVN0YXRlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDdDNTlCNjYxN0Y3ODRCQTAwMEZCQ0JCIC8qIE1lZGlhU291cmNl
U3RhdGVzLmggKi87IH07CiAJCTA3QzU5QjZFMTdGNzk0RjYwMDBGQkNCQiAvKiBKU01lZGlhU291
cmNlU3RhdGVzQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA3QzU5QjZEMTdGNzk0RjYwMDBGQkNCQiAvKiBKU01lZGlhU291cmNlU3RhdGVz
Q3VzdG9tLmNwcCAqLzsgfTsKQEAgLTc1NDAsNiArNzU0NSw4IEBACiAJCTA3ODQ2MzQwMTQ1QjE1
MUEwMEE1OERGMSAvKiBKU1RyYWNrRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNUcmFja0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMDc4NDYzNDExNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU1RyYWNrRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMDc4NDYzODQxNDVCMUI4RTAwQTU4REYxIC8qIEpTVHJhY2tDdXN0b20uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNUcmFja0N1c3RvbS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwNzg3QzQ2NzFCRkJERjZGMDA2RENEN0YgLyogSlNNZWRp
YVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkwNzg3QzQ2ODFCRkJERjZGMDA2RENEN0YgLyogSlNNZWRp
YVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMDc4RTA5NDgxN0QxNzA5NjAwNDIwQUExIC8qIE1lZGlhU3RyZWFtQXVk
aW9EZXN0aW5hdGlvbk5vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTA3OEUwOTQ5MTdEMTcwOTYwMDQyMEFBMSAvKiBNZWRpYVN0cmVhbUF1ZGlv
RGVzdGluYXRpb25Ob2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlh
U3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMDc4RTA5NEExN0QxNzA5NjAwNDIwQUExIC8qIE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlv
bk5vZGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5h
dGlvbk5vZGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzU5NSw2ICs3NjAy
LDEwIEBACiAJCTA3QjVBMzA2MTQ2ODUzNzEwMEE4MUVDRSAvKiBUZXh0VHJhY2tMaXN0LmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBUZXh0VHJhY2tMaXN0LmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMDdCNUEzMEExNDY4N0I4NDAwQTgxRUNFIC8qIEpTVHJhY2tFdmVudEN1
c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1RyYWNrRXZl
bnRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwN0I1QTMwQzE0Njg3
RDcxMDBBODFFQ0UgLyogSlNUZXh0VHJhY2tMaXN0Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVGV4dFRyYWNrTGlzdEN1c3RvbS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTA3QzFDMEUwMUJGQjYwMDEwMEJEMjI1NiAvKiBNZWRpYVRy
YWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTA3QzFDMEUxMUJGQjYwMDEwMEJEMjI1NiAvKiBNZWRpYVRyYWNrU3VwcG9ydGVk
Q29uc3RyYWludHMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1lZGlhVHJhY2tTdXBwb3J0
ZWRDb25zdHJhaW50cy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA3QzFDMEU0
MUJGQjYwRUQwMEJEMjI1NiAvKiBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWlu
dHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhbHRpbWVNZWRpYVNvdXJj
ZVN1cHBvcnRlZENvbnN0cmFpbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA3
QzFDMEU2MUJGQjkwQTcwMEJEMjI1NiAvKiBKU01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50
c0N1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lZGlh
VHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50c0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTA3QzU5QjY1MTdGNzg0QkEwMDBGQkNCQiAvKiBNZWRpYVNvdXJjZVN0YXRlcy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVNvdXJjZVN0YXRl
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3QzU5QjY2MTdGNzg0QkEwMDBG
QkNCQiAvKiBNZWRpYVNvdXJjZVN0YXRlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBNZWRpYVNvdXJjZVN0YXRlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
N0M1OUI2NzE3Rjc4NEJBMDAwRkJDQkIgLyogTWVkaWFTb3VyY2VTdGF0ZXMuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IE1lZGlhU291cmNlU3RhdGVzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE1MTczLDYgKzE1MTg0LDggQEAKIAkJCQkwNzA1ODUzNzE3RkUwNDRGMDA1
RjJCQ0IgLyogTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQuY3BwICovLAogCQkJCTA3MDU4NTI2MTdG
REUwMkIwMDVGMkJDQiAvKiBNZWRpYVRyYWNrQ29uc3RyYWludFNldC5oICovLAogCQkJCTA3MDU4
NTI3MTdGREUwMkIwMDVGMkJDQiAvKiBNZWRpYVRyYWNrQ29uc3RyYWludFNldC5pZGwgKi8sCisJ
CQkJMDdDMUMwRTAxQkZCNjAwMTAwQkQyMjU2IC8qIE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJh
aW50cy5oICovLAorCQkJCTA3QzFDMEUxMUJGQjYwMDEwMEJEMjI1NiAvKiBNZWRpYVRyYWNrU3Vw
cG9ydGVkQ29uc3RyYWludHMuaWRsICovLAogCQkJCTVFQTcyNUNBMUFDQUJDQjUwMEVBRDE3QiAv
KiBOYXZpZ2F0b3JNZWRpYURldmljZXMuY3BwICovLAogCQkJCTVFQTcyNUNCMUFDQUJDQjUwMEVB
RDE3QiAvKiBOYXZpZ2F0b3JNZWRpYURldmljZXMuaCAqLywKIAkJCQk1RUE3MjVDQzFBQ0FCQ0I1
MDBFQUQxN0IgLyogTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmlkbCAqLywKQEAgLTE1MjU2LDYgKzE1
MjY5LDcgQEAKIAkJCQkwNzIyMUI5RDE3Q0YwQUQ0MDA4NDhFNTEgLyogTWVkaWFTdHJlYW1Qcml2
YXRlLmggKi8sCiAJCQkJMDdGRkRFNjYxODFBRUQ0MjAwNzJENDA5IC8qIE1lZGlhU3RyZWFtVHJh
Y2tQcml2YXRlLmNwcCAqLywKIAkJCQkwN0ZGREU2NzE4MUFFRDQyMDA3MkQ0MDkgLyogTWVkaWFT
dHJlYW1UcmFja1ByaXZhdGUuaCAqLywKKwkJCQkwN0MxQzBFNDFCRkI2MEVEMDBCRDIyNTYgLyog
UmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmggKi8sCiAJCQkJMDc2MzA2
RTIxN0UyMkE0MzAwNUE3QzRFIC8qIE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENsaWVu
dC5oICovLAogCQkJCTRBNEY2NTZCMUFBOTk3RjEwMEUzOENERCAvKiBSZWFsdGltZU1lZGlhU291
cmNlLmNwcCAqLywKIAkJCQk0QTRGNjU2QzFBQTk5N0YxMDBFMzhDREQgLyogUmVhbHRpbWVNZWRp
YVNvdXJjZS5oICovLApAQCAtMTUzODEsNiArMTUzOTUsOCBAQAogCQkJCTA3MDU4NTJFMTdGREU2
RDkwMDVGMkJDQiAvKiBKU01lZGlhVHJhY2tDb25zdHJhaW50cy5oICovLAogCQkJCTA3MDU4NTJG
MTdGREU2RDkwMDVGMkJDQiAvKiBKU01lZGlhVHJhY2tDb25zdHJhaW50U2V0LmNwcCAqLywKIAkJ
CQkwNzA1ODUzMDE3RkRFNkQ5MDA1RjJCQ0IgLyogSlNNZWRpYVRyYWNrQ29uc3RyYWludFNldC5o
ICovLAorCQkJCTA3ODdDNDY3MUJGQkRGNkYwMDZEQ0Q3RiAvKiBKU01lZGlhVHJhY2tTdXBwb3J0
ZWRDb25zdHJhaW50cy5jcHAgKi8sCisJCQkJMDc4N0M0NjgxQkZCREY2RjAwNkRDRDdGIC8qIEpT
TWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmggKi8sCiAJCQkJMDczQkUzM0UxN0QxN0Uw
MTAwMkJENDMxIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhLmNwcCAqLywKIAkJCQkwNzNCRTMzRjE3
RDE3RTAxMDAyQkQ0MzEgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWEuaCAqLywKIAkJCQkwNzNCRTM0
MjE3RDE3RTdBMDAyQkQ0MzEgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAgKi8sCkBA
IC0yMjEzNCw2ICsyMjE1MCw3IEBACiAJCQkJMDdDNTlCNkQxN0Y3OTRGNjAwMEZCQ0JCIC8qIEpT
TWVkaWFTb3VyY2VTdGF0ZXNDdXN0b20uY3BwICovLAogCQkJCTA3MDU4NTE2MTdGQjQwRTkwMDVG
MkJDQiAvKiBKU01lZGlhU3RyZWFtQ2FwYWJpbGl0aWVzQ3VzdG9tLmNwcCAqLywKIAkJCQlFMUE1
Rjk5QTBFN0VBQTI1MDBBRjg1RUEgLyogSlNNZXNzYWdlQ2hhbm5lbEN1c3RvbS5jcHAgKi8sCisJ
CQkJMDdDMUMwRTYxQkZCOTBBNzAwQkQyMjU2IC8qIEpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0
cmFpbnRzQ3VzdG9tLmNwcCAqLywKIAkJCQk0MTBCN0U3MTEwNDVGQUIwMDBEODIyNEYgLyogSlNN
ZXNzYWdlRXZlbnRDdXN0b20uY3BwICovLAogCQkJCUUxQURFRDQ2MEU3NkI4REQwMDRBMUE1RSAv
KiBKU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCAqLywKIAkJCQk0MUY1ODRDNjEwNDY1MkNCMDA5Q0FB
NjQgLyogSlNNZXNzYWdlUG9ydEN1c3RvbS5oICovLApAQCAtMjU2NjksNiArMjU2ODYsNyBAQAog
CQkJCTQ5OUIzRUQ3MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xheWVyQ0EuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGNTgwQjBFMEYxMkEyNjkwMDUxRDY4OSAvKiBHcmFwaGljc0xheWVyQ2xp
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUM2OTU5MzE2MUExRTUzMDAzNzMyQ0IgLyogR3Jh
cGhpY3NMYXllckZhY3RvcnkuaCBpbiBIZWFkZXJzICovLAorCQkJCTA3ODdDNDZBMUJGQkRGNkYw
MDZEQ0Q3RiAvKiBKU01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEZBMjREN0ExNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRUMzMzdBRjFBNDYwODZEMDA5Qjg1MjMgLyogR3JhcGhp
Y3NTZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJBMDE1QUIwQUY2Q0Q1MzAwNkJD
RTBFIC8qIEdyYXBoaWNzVHlwZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMjY3NjEsNiArMjY3Nzks
NyBAQAogCQkJCTA3MDU4NTIxMTdGREMxNDAwMDVGMkJDQiAvKiBNZWRpYVRyYWNrQ29uc3RyYWlu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcwNTg1MjQxN0ZEQzE0MDAwNUYyQkNCIC8qIE1lZGlh
VHJhY2tDb25zdHJhaW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcwNTg1MjkxN0ZERTAyQzAw
NUYyQkNCIC8qIE1lZGlhVHJhY2tDb25zdHJhaW50U2V0LmggaW4gSGVhZGVycyAqLywKKwkJCQkw
N0MxQzBFMjFCRkI2MDAxMDBCRDIyNTYgLyogTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRz
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5OUM3Q0NCMzE4QzY2M0U0MDAzMkU0MTMgLyogTWVtb2l6
ZWRET01SZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRTFCQUMzMUJEODA2NEUwMDU1RDgx
RiAvKiBNZW1vcnlCYWNraW5nU3RvcmVUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkNCMTZDMTgwOTc5QzNCRDAwNDY3NzQxIC8qIE1lbW9yeUNhY2hlLmggaW4gSGVhZGVycyAqLywK
QEAgLTI3MDYzLDYgKzI3MDgyLDcgQEAKIAkJCQk0QTBGRkFBMjFBQUY1RUEyMDA2MjgwM0IgLyog
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEEwRkZBQTYx
QUFGNUVGNjAwNjI4MDNCIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTRBNEY2NTc0MUFBOTk3RjEwMEUzOENERCAvKiBSZWFsdGltZU1lZGlhU291
cmNlU3RhdGVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwN0MxQzBFNTFCRkI2MEVEMDBCRDIyNTYg
LyogUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzQzNjhFODBDMjI2RTMyMDA1RUZCNUYgLyogUmVjdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRkQ0NUE5NTgxNzVENDE0QzAwQzIxRUM4IC8qIFJlY3RhbmdsZVNoYXBlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk5ODMxQUU0QTE1NDIyNUM5MDBGRTI2NDQgLyogUmVmZXJyZXJQb2xpY3ku
aCBpbiBIZWFkZXJzICovLApAQCAtMzEwMzcsNiArMzEwNTcsNyBAQAogCQkJCUJDNUVCNjdEMEU4
MUQ0MjAwMEIyNTk2NSAvKiBTdHlsZUJveERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODM4
NkE5NzAxOUY2MUU0RjAwRTFFQzRBIC8qIFN0eWxlQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQ0VGNDQ3QTBFNjc0N0QwMDAxQzEyODcgLyogU3R5bGVDYWNoZWRJbWFnZS5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkwNzg3QzQ2OTFCRkJERjZGMDA2RENEN0YgLyogSlNNZWRpYVRyYWNr
U3VwcG9ydGVkQ29uc3RyYWludHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM5M0U2MDQxNTFB
OUExODAwMDY2RjA2IC8qIFN0eWxlQ2FjaGVkSW1hZ2VTZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQThDNEE3RkUwOUQ1NjMyNzAwMDNBQzhEIC8qIFN0eWxlZEVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkM1RUI4QjgwRTgyMDFCRDAwQjI1OTY1IC8qIFN0eWxlRGVwcmVjYXRlZEZs
ZXhpYmxlQm94RGF0YS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMxMzU5LDYgKzMxMzgwLDcgQEAK
IAkJCQlGRDE3NjJERjE3NjY4NkQ5MDBEODM2QTggLyogVXBTYW1wbGVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTY1OTM5MjM3MDlBRTQzNDYwMDJDNTMxRiAvKiBVUkwuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUE5ODk1NkIwQUE3OEY4MDAwNUVGNUVGIC8qIFVSTENGLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTA3MjU2MEZCMUJGQzI0ODIwMDRGOTM1OSAvKiBKU01lZGlhVHJhY2tTdXBwb3J0
ZWRDb25zdHJhaW50c0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyNjc3MjYwNDFBNURG
NkYyMDAzQzI0REQgLyogVVJMRmlsdGVyUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY1
NUIzREREMTI1MUYxMkQwMDNFRjI2OSAvKiBVUkxJbnB1dFR5cGUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNjU5MzkyM0EwOUFFNDM1QzAwMkM1MzFGIC8qIFVSTE1hYy5tbSBpbiBTb3VyY2VzICov
LApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZWRpYVRyYWNrU3VwcG9ydGVk
Q29uc3RyYWludHNDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzQ3VzdG9tLmNwcAkocmV2aXNp
b24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFUcmFja1N1cHBvcnRl
ZENvbnN0cmFpbnRzQ3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDgxIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmgiCisK
KyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisj
aW5jbHVkZSAiSlNET01XcmFwcGVyLmgiCisjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlci5oIgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
KyNkZWZpbmUgRk9SX0VBQ0hfQ09OU1RSQUlOVF9QUk9QRVJUWShtYWNybykgXAorICAgIG1hY3Jv
KHdpZHRoLCBXaWR0aCkgXAorICAgIG1hY3JvKGhlaWdodCwgSGVpZ2h0KSBcCisgICAgbWFjcm8o
YXNwZWN0UmF0aW8sIEFzcGVjdFJhdGlvKSBcCisgICAgbWFjcm8oZnJhbWVSYXRlLCBGcmFtZVJh
dGUpIFwKKyAgICBtYWNybyhmYWNpbmdNb2RlLCBGYWNpbmdNb2RlKSBcCisgICAgbWFjcm8odm9s
dW1lLCBWb2x1bWUpIFwKKyAgICBtYWNybyhzYW1wbGVSYXRlLCBTYW1wbGVSYXRlKSBcCisgICAg
bWFjcm8oc2FtcGxlU2l6ZSwgU2FtcGxlU2l6ZSkgXAorICAgIG1hY3JvKGVjaG9DYW5jZWxsYXRp
b24sIEVjaG9DYW5jZWxsYXRpb24pIFwKKyAgICBtYWNybyhkZXZpY2VJZCwgRGV2aWNlSWQpIFwK
KyAgICBtYWNybyhncm91cElkLCBHcm91cElkKQorCitib29sIEpTTWVkaWFUcmFja1N1cHBvcnRl
ZENvbnN0cmFpbnRzOjpnZXRPd25Qcm9wZXJ0eVNsb3REZWxlZ2F0ZShFeGVjU3RhdGUqLCBQcm9w
ZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCit7CisjZGVmaW5lIENI
RUNLX1BST1BFUlRZKGxvd2VyTmFtZSwgY2FwaXRhbE5hbWUpIFwKKyAgICBpZiAoQXRvbWljU3Ry
aW5nKCNsb3dlck5hbWUsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpID09IHBy
b3BlcnR5TmFtZVRvQXRvbWljU3RyaW5nKHByb3BlcnR5TmFtZSkpIHsgXAorICAgICAgICBzbG90
LnNldFZhbHVlKHRoaXMsIERvbnREZWxldGUgfCBSZWFkT25seSwganNCb29sZWFuKHdyYXBwZWQo
KS5zdXBwb3J0cyMjY2FwaXRhbE5hbWUoKSkpOyBcCisgICAgICAgIHJldHVybiB0cnVlOyBcCisg
ICAgfQorCisgICAgRk9SX0VBQ0hfQ09OU1RSQUlOVF9QUk9QRVJUWShDSEVDS19QUk9QRVJUWSkK
KworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBKU01lZGlhVHJhY2tTdXBwb3J0ZWRDb25z
dHJhaW50czo6Z2V0T3duUHJvcGVydHlOYW1lcyhKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUq
IHN0YXRlLCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcywgRW51bWVyYXRpb25Nb2Rl
IG1vZGUpCit7CisjZGVmaW5lIE1BWUJFX0FERF9QUk9QRVJUWShsb3dlck5hbWUsIGNhcGl0YWxO
YW1lKSBcCisgICAgaWYgKHN1cHBvcnRlZENvbnN0cmFpbnRzLnN1cHBvcnRzIyNjYXBpdGFsTmFt
ZSgpKSBcCisgICAgICAgIHByb3BlcnR5TmFtZXMuYWRkKElkZW50aWZpZXI6OmZyb21TdHJpbmco
c3RhdGUsIEF0b21pY1N0cmluZygjbG93ZXJOYW1lLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZy
b21MaXRlcmFsKSkpOworCisgICAgc3RhdGljIGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBw
b3J0ZWRDb25zdHJhaW50cyYgc3VwcG9ydGVkQ29uc3RyYWludHMgPSBSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5zdXBwb3J0ZWRDb25zdHJhaW50cygpOworCisgICAgRk9S
X0VBQ0hfQ09OU1RSQUlOVF9QUk9QRVJUWShNQVlCRV9BRERfUFJPUEVSVFkpCisKKyAgICBhdXRv
KiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzKj4o
b2JqZWN0KTsKKyAgICBCYXNlOjpnZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXNPYmplY3QsIHN0YXRl
LCBwcm9wZXJ0eU5hbWVzLCBtb2RlKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgJKHJldmlzaW9uIDE5MjU4
NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzUsNiArMzUsNyBAQAogI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlLmgiCisjaW5j
bHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmgiCiAjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApA
QCAtNDIsOCArNDMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE1lZGlhQ29uc3Ry
YWludHM7CiBjbGFzcyBNZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50OwotY2xhc3MgUmVhbHRpbWVN
ZWRpYVNvdXJjZVN0YXRlczsKIGNsYXNzIE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENs
aWVudDsKK2NsYXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VTdGF0ZXM7CitjbGFzcyBSZWFsdGltZU1l
ZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHM7CiBjbGFzcyBUcmFja1NvdXJjZUluZm87CiAK
IGNsYXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIgewpAQCAtNjMsMTAgKzY1LDEzIEBAIHB1
YmxpYzoKICAgICAKICAgICB2aXJ0dWFsIFJlZlB0cjxUcmFja1NvdXJjZUluZm8+IHNvdXJjZVdp
dGhVSUQoY29uc3QgU3RyaW5nJiwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSwgTWVkaWFDb25z
dHJhaW50cyopID0gMDsKIAorICAgIHZpcnR1YWwgY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJjZVN1
cHBvcnRlZENvbnN0cmFpbnRzJiBzdXBwb3J0ZWRDb25zdHJhaW50cygpIHsgcmV0dXJuIG1fc3Vw
cG9ydGVkQ29uc3RyYWludHM7IH0KKwogcHJvdGVjdGVkOgogICAgIFJlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXIoKTsKIAogICAgIHN0YXRpYyBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyJiBwbGF0
Zm9ybUNlbnRlcigpOworICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50
cyBtX3N1cHBvcnRlZENvbnN0cmFpbnRzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNv
dXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFp
bnRzLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9SZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuaAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDEwNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqICAgIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3Jz
CisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tIHRoaXMKKyAqICAgIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBSZWFsdGltZU1lZGlhU291cmNlU3Vw
cG9ydGVkQ29uc3RyYWludHNfaAorI2RlZmluZSBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVk
Q29uc3RyYWludHNfaAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMg
eworcHVibGljOgorICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cygp
CisgICAgICAgIDogbV9zdXBwb3J0c1dpZHRoKGZhbHNlKQorICAgICAgICAsIG1fc3VwcG9ydHNI
ZWlnaHQoZmFsc2UpCisgICAgICAgICwgbV9zdXBwb3J0c0FzcGVjdFJhdGlvKGZhbHNlKQorICAg
ICAgICAsIG1fc3VwcG9ydHNGcmFtZVJhdGUoZmFsc2UpCisgICAgICAgICwgbV9zdXBwb3J0c0Zh
Y2luZ01vZGUoZmFsc2UpCisgICAgICAgICwgbV9zdXBwb3J0c1ZvbHVtZShmYWxzZSkKKyAgICAg
ICAgLCBtX3N1cHBvcnRzU2FtcGxlUmF0ZShmYWxzZSkKKyAgICAgICAgLCBtX3N1cHBvcnRzU2Ft
cGxlU2l6ZShmYWxzZSkKKyAgICAgICAgLCBtX3N1cHBvcnRzRWNob0NhbmNlbGxhdGlvbihmYWxz
ZSkKKyAgICAgICAgLCBtX3N1cHBvcnRzRGV2aWNlSWQoZmFsc2UpCisgICAgICAgICwgbV9zdXBw
b3J0c0dyb3VwSWQoZmFsc2UpCisgICAgeworICAgIH0KKworICAgIGJvb2wgc3VwcG9ydHNXaWR0
aCgpIGNvbnN0IHsgcmV0dXJuIG1fc3VwcG9ydHNXaWR0aDsgfQorICAgIHZvaWQgc2V0U3VwcG9y
dHNXaWR0aChib29sIHZhbHVlKSB7IG1fc3VwcG9ydHNXaWR0aCA9IHZhbHVlOyB9CisKKyAgICBi
b29sIHN1cHBvcnRzSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0c0hlaWdodDsgfQor
ICAgIHZvaWQgc2V0U3VwcG9ydHNIZWlnaHQoYm9vbCB2YWx1ZSkgeyBtX3N1cHBvcnRzSGVpZ2h0
ID0gdmFsdWU7IH0KKworICAgIGJvb2wgc3VwcG9ydHNBc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0
dXJuIG1fc3VwcG9ydHNBc3BlY3RSYXRpbzsgfQorICAgIHZvaWQgc2V0U3VwcG9ydHNBc3BlY3RS
YXRpbyhib29sIHZhbHVlKSB7IG1fc3VwcG9ydHNBc3BlY3RSYXRpbyA9IHZhbHVlOyB9CisKKyAg
ICBib29sIHN1cHBvcnRzRnJhbWVSYXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0c0ZyYW1l
UmF0ZTsgfQorICAgIHZvaWQgc2V0U3VwcG9ydHNGcmFtZVJhdGUoYm9vbCB2YWx1ZSkgeyBtX3N1
cHBvcnRzRnJhbWVSYXRlID0gdmFsdWU7IH0KKworICAgIGJvb2wgc3VwcG9ydHNGYWNpbmdNb2Rl
KCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0c0ZhY2luZ01vZGU7IH0KKyAgICB2b2lkIHNldFN1
cHBvcnRzRmFjaW5nTW9kZShib29sIHZhbHVlKSB7IG1fc3VwcG9ydHNGYWNpbmdNb2RlID0gdmFs
dWU7IH0KKworICAgIGJvb2wgc3VwcG9ydHNWb2x1bWUoKSBjb25zdCB7IHJldHVybiBtX3N1cHBv
cnRzVm9sdW1lOyB9CisgICAgdm9pZCBzZXRTdXBwb3J0c1ZvbHVtZShib29sIHZhbHVlKSB7IG1f
c3VwcG9ydHNWb2x1bWUgPSB2YWx1ZTsgfQorCisgICAgYm9vbCBzdXBwb3J0c1NhbXBsZVJhdGUo
KSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRzU2FtcGxlUmF0ZTsgfQorICAgIHZvaWQgc2V0U3Vw
cG9ydHNTYW1wbGVSYXRlKGJvb2wgdmFsdWUpIHsgbV9zdXBwb3J0c1NhbXBsZVJhdGUgPSB2YWx1
ZTsgfQorCisgICAgYm9vbCBzdXBwb3J0c1NhbXBsZVNpemUoKSBjb25zdCB7IHJldHVybiBtX3N1
cHBvcnRzU2FtcGxlU2l6ZTsgfQorICAgIHZvaWQgc2V0U3VwcG9ydHNTYW1wbGVTaXplKGJvb2wg
dmFsdWUpIHsgbV9zdXBwb3J0c1NhbXBsZVNpemUgPSB2YWx1ZTsgfQorCisgICAgYm9vbCBzdXBw
b3J0c0VjaG9DYW5jZWxsYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRzRWNob0NhbmNl
bGxhdGlvbjsgfQorICAgIHZvaWQgc2V0U3VwcG9ydHNFY2hvQ2FuY2VsbGF0aW9uKGJvb2wgdmFs
dWUpIHsgbV9zdXBwb3J0c0VjaG9DYW5jZWxsYXRpb24gPSB2YWx1ZTsgfQorCisgICAgYm9vbCBz
dXBwb3J0c0RldmljZUlkKCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0c0RldmljZUlkOyB9Cisg
ICAgdm9pZCBzZXRTdXBwb3J0c0RldmljZUlkKGJvb2wgdmFsdWUpIHsgbV9zdXBwb3J0c0Rldmlj
ZUlkID0gdmFsdWU7IH0KKworICAgIGJvb2wgc3VwcG9ydHNHcm91cElkKCkgY29uc3QgeyByZXR1
cm4gbV9zdXBwb3J0c0dyb3VwSWQ7IH0KKyAgICB2b2lkIHNldFN1cHBvcnRzR3JvdXBJZChib29s
IHZhbHVlKSB7IG1fc3VwcG9ydHNHcm91cElkID0gdmFsdWU7IH0KKworcHJpdmF0ZToKKyAgICBi
b29sIG1fc3VwcG9ydHNXaWR0aDsKKyAgICBib29sIG1fc3VwcG9ydHNIZWlnaHQ7CisgICAgYm9v
bCBtX3N1cHBvcnRzQXNwZWN0UmF0aW87CisgICAgYm9vbCBtX3N1cHBvcnRzRnJhbWVSYXRlOwor
ICAgIGJvb2wgbV9zdXBwb3J0c0ZhY2luZ01vZGU7CisgICAgYm9vbCBtX3N1cHBvcnRzVm9sdW1l
OworICAgIGJvb2wgbV9zdXBwb3J0c1NhbXBsZVJhdGU7CisgICAgYm9vbCBtX3N1cHBvcnRzU2Ft
cGxlU2l6ZTsKKyAgICBib29sIG1fc3VwcG9ydHNFY2hvQ2FuY2VsbGF0aW9uOworICAgIGJvb2wg
bV9zdXBwb3J0c0RldmljZUlkOworICAgIGJvb2wgbV9zdXBwb3J0c0dyb3VwSWQ7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQor
CisjZW5kaWYgLy8gUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzX2gKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyTWFjLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAJKHJldmlz
aW9uIDE5MjU4NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9S
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiAr
NTAsMTcgQEAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlciYgUmVhbHRpbWVNZWRpYQogCiBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjKCkK
IHsKKyAgICBtX3N1cHBvcnRlZENvbnN0cmFpbnRzLnNldFN1cHBvcnRzV2lkdGgodHJ1ZSk7Cisg
ICAgbV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zZXRTdXBwb3J0c0hlaWdodCh0cnVlKTsKKyAgICBt
X3N1cHBvcnRlZENvbnN0cmFpbnRzLnNldFN1cHBvcnRzQXNwZWN0UmF0aW8odHJ1ZSk7CisgICAg
bV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zZXRTdXBwb3J0c0ZyYW1lUmF0ZSh0cnVlKTsKKyAgICBt
X3N1cHBvcnRlZENvbnN0cmFpbnRzLnNldFN1cHBvcnRzRmFjaW5nTW9kZSh0cnVlKTsKKyAgICBt
X3N1cHBvcnRlZENvbnN0cmFpbnRzLnNldFN1cHBvcnRzVm9sdW1lKHRydWUpOworICAgIG1fc3Vw
cG9ydGVkQ29uc3RyYWludHMuc2V0U3VwcG9ydHNTYW1wbGVSYXRlKGZhbHNlKTsKKyAgICBtX3N1
cHBvcnRlZENvbnN0cmFpbnRzLnNldFN1cHBvcnRzU2FtcGxlU2l6ZShmYWxzZSk7CisgICAgbV9z
dXBwb3J0ZWRDb25zdHJhaW50cy5zZXRTdXBwb3J0c0VjaG9DYW5jZWxsYXRpb24oZmFsc2UpOwor
ICAgIG1fc3VwcG9ydGVkQ29uc3RyYWludHMuc2V0U3VwcG9ydHNEZXZpY2VJZCh0cnVlKTsKKyAg
ICBtX3N1cHBvcnRlZENvbnN0cmFpbnRzLnNldFN1cHBvcnRzR3JvdXBJZCh0cnVlKTsKIH0KIAog
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6flJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJN
YWMoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oCShy
ZXZpc2lvbiAxOTI1ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9t
YWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2
ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJNYWMgZmluYWwgOiBwdWJsaWMgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlciB7CiBwdWJs
aWM6CiAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYygpOworCitwcml2YXRlOgogICAg
IH5SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjKCk7CiAKICAgICB2b2lkIHZhbGlkYXRlUmVx
dWVzdENvbnN0cmFpbnRzKE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQqLCBSZWZQdHI8TWVkaWFD
b25zdHJhaW50cz4mIGF1ZGlvQ29uc3RyYWludHMsIFJlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiYg
dmlkZW9Db25zdHJhaW50cykgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlLmNwcAkocmV2aXNp
b24gMTkyNTg2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVN
ZWRpYVNvdXJjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgxLDEwICs4MSw2IEBAIFJlZlB0cjxU
cmFja1NvdXJjZUluZm8+IE1vY2tSZWFsdGltZU1lZGkKICAgICByZXR1cm4gbnVsbHB0cjsKIH0K
IAotI2lmIDAKLQotI2VuZGlmCi0KIE1vY2tSZWFsdGltZU1lZGlhU291cmNlOjpNb2NrUmVhbHRp
bWVNZWRpYVNvdXJjZShjb25zdCBTdHJpbmcmIGlkLCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBl
IHR5cGUsIGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICA6IFJlYWx0aW1lTWVkaWFTb3VyY2UoaWQs
IHR5cGUsIG5hbWUpCiB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcAkocmV2aXNp
b24gMTkyNTg2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDE3IEBAIHZv
aWQgTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnJlZ2kKICAgICB9CiB9CiAKK01vY2tS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcigp
Cit7CisgICAgbV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zZXRTdXBwb3J0c1dpZHRoKHRydWUpOwor
ICAgIG1fc3VwcG9ydGVkQ29uc3RyYWludHMuc2V0U3VwcG9ydHNIZWlnaHQodHJ1ZSk7CisgICAg
bV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zZXRTdXBwb3J0c0FzcGVjdFJhdGlvKHRydWUpOworICAg
IG1fc3VwcG9ydGVkQ29uc3RyYWludHMuc2V0U3VwcG9ydHNGcmFtZVJhdGUodHJ1ZSk7CisgICAg
bV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zZXRTdXBwb3J0c0ZhY2luZ01vZGUodHJ1ZSk7CisgICAg
bV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zZXRTdXBwb3J0c1ZvbHVtZSh0cnVlKTsKKyAgICBtX3N1
cHBvcnRlZENvbnN0cmFpbnRzLnNldFN1cHBvcnRzRGV2aWNlSWQodHJ1ZSk7Cit9CisKIHZvaWQg
TW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnZhbGlkYXRlUmVxdWVzdENvbnN0cmFpbnRz
KE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQqIGNsaWVudCwgUmVmUHRyPE1lZGlhQ29uc3RyYWlu
dHM+JiBhdWRpb0NvbnN0cmFpbnRzLCBSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4mIHZpZGVvQ29u
c3RyYWludHMpCiB7CiAgICAgQVNTRVJUKGNsaWVudCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlci5oCShyZXZpc2lvbiAxOTI1ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDE0
ICszOCwxMyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgcmVnaXN0
ZXJNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcigpOwogCiBwcml2YXRlOgorICAgIE1vY2tS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyKCk7CiAKICAgICB2b2lkIHZhbGlkYXRlUmVxdWVzdENv
bnN0cmFpbnRzKE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQqLCBSZWZQdHI8TWVkaWFDb25zdHJh
aW50cz4mIGF1ZGlvQ29uc3RyYWludHMsIFJlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiYgdmlkZW9D
b25zdHJhaW50cykgb3ZlcnJpZGU7CiAgICAgdm9pZCBjcmVhdGVNZWRpYVN0cmVhbShQYXNzUmVm
UHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ+LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWlu
dHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gdmlkZW9D
b25zdHJhaW50cykgb3ZlcnJpZGU7CiAgICAgYm9vbCBnZXRNZWRpYVN0cmVhbVRyYWNrU291cmNl
cyhQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENsaWVudD4pIG92ZXJy
aWRlOwogICAgIHZvaWQgY3JlYXRlTWVkaWFTdHJlYW0oTWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVu
dCosIGNvbnN0IFN0cmluZyYgYXVkaW9EZXZpY2VJRCwgY29uc3QgU3RyaW5nJiB2aWRlb0Rldmlj
ZUlEKSBvdmVycmlkZTsKICAgICBSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPiBzb3VyY2VXaXRoVUlE
KGNvbnN0IFN0cmluZyYsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUsIE1lZGlhQ29uc3RyYWlu
dHMqKSBvdmVycmlkZTsKLQotICAgIE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyKCkgeyB9
CiB9OwogCiB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxOTI1ODYpCisrKyBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxNS0xMS0xOCAgRXJpYyBD
YXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVN0cmVhbTog
SW1wbGVtZW50IE1lZGlhRGV2aWNlcy5nZXRTdXBwb3J0ZWRDb25zdHJhaW50cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMzk0CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFt
L01lZGlhRGV2aWNlcy1nZXRTdXBwb3J0ZWRDb25zdHJhaW50cy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLWdldFN1cHBvcnRlZENv
bnN0cmFpbnRzLmh0bWw6IEFkZGVkLgorCiAyMDE1LTExLTE4ICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHNraXAgcmVtYWluaW5n
IG1lZGlhc3RyZWFtIHRlc3RzIHRoYXQgY3Jhc2ggd2hlbiBwYWludGluZyBhIG1vY2sgdmlkZW8g
c291cmNlLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMt
Z2V0U3VwcG9ydGVkQ29uc3RyYWludHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLWdldFN1cHBvcnRlZENvbnN0cmFp
bnRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvbWVkaWFz
dHJlYW0vTWVkaWFEZXZpY2VzLWdldFN1cHBvcnRlZENvbnN0cmFpbnRzLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIyIEBACitUZXN0cyBNZWRpYURldmljZXMuZ2V0U3Vw
cG9ydGVkQ29uc3RyYWludHMoKQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzIGlzIGFuIGluc3RhbmNlIG9mIE9iamVjdAorUEFTUyBu
YXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFN1cHBvcnRlZENvbnN0cmFpbnRzIGlzIGFuIGluc3Rh
bmNlIG9mIEZ1bmN0aW9uCisKK3N1cHBvcnRlZENvbnN0cmFpbnRzID0gbmF2aWdhdG9yLm1lZGlh
RGV2aWNlcy5nZXRTdXBwb3J0ZWRDb25zdHJhaW50cygpCisKK1BBU1Mgc3VwcG9ydGVkQ29uc3Ry
YWludHMud2lkdGggaXMgdHJ1ZQorUEFTUyBzdXBwb3J0ZWRDb25zdHJhaW50cy5oZWlnaHQgaXMg
dHJ1ZQorUEFTUyBzdXBwb3J0ZWRDb25zdHJhaW50cy5hc3BlY3RSYXRpbyBpcyB0cnVlCitQQVNT
IHN1cHBvcnRlZENvbnN0cmFpbnRzLmZyYW1lUmF0ZSBpcyB0cnVlCitQQVNTIHN1cHBvcnRlZENv
bnN0cmFpbnRzLmZhY2luZ01vZGUgaXMgdHJ1ZQorUEFTUyBzdXBwb3J0ZWRDb25zdHJhaW50cy52
b2x1bWUgaXMgdHJ1ZQorUEFTUyBzdXBwb3J0ZWRDb25zdHJhaW50cy5kZXZpY2VJZCBpcyB0cnVl
CisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy1nZXRTdXBwb3J0
ZWRDb25zdHJhaW50cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvbWVkaWFz
dHJlYW0vTWVkaWFEZXZpY2VzLWdldFN1cHBvcnRlZENvbnN0cmFpbnRzLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy1nZXRTdXBw
b3J0ZWRDb25zdHJhaW50cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwh
RE9DVFlQRSBIVE1MPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CisgICAgICAgIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgdmFyIHN1
cHBvcnRlZENvbnN0cmFpbnRzOworCisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgTWVk
aWFEZXZpY2VzLmdldFN1cHBvcnRlZENvbnN0cmFpbnRzKCkiKTsKKyAgICAgICAgICAgIHdpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICAgICAgc2hvdWxkQmVUeXBlKCJuYXZp
Z2F0b3IubWVkaWFEZXZpY2VzIiwgIk9iamVjdCIpOworICAgICAgICAgICAgc2hvdWxkQmVUeXBl
KCJuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFN1cHBvcnRlZENvbnN0cmFpbnRzIiwgIkZ1bmN0
aW9uIik7CisKKyAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAgIGV2YWxBbmRMb2co
InN1cHBvcnRlZENvbnN0cmFpbnRzID0gbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRTdXBwb3J0
ZWRDb25zdHJhaW50cygpIik7CisgICAgICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgICAgICBm
b3IgKHZhciBjb25zdHJhaW50IGluIHN1cHBvcnRlZENvbnN0cmFpbnRzKQorICAgICAgICAgICAg
ICAgIHNob3VsZEJlVHJ1ZShgc3VwcG9ydGVkQ29uc3RyYWludHMuJHtjb25zdHJhaW50fWApOwor
ICAgICAgICAgICAgZGVidWcoIiIpOworCisKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
CisgICAgICAgICAgICB3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICAgICAg
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="290810"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
      

    </bug>

</bugzilla>