<?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>110496</bug_id>
          
          <creation_ts>2013-02-21 12:08:01 -0800</creation_ts>
          <short_desc>WEBGL_compressed_texture_atc needs implementation</short_desc>
          <delta_ts>2013-03-04 22:16:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_atc/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Remi Arnaud">Remi.Arnaud</reporter>
          <assigned_to name="Brandon Jones">bajones</assigned_to>
          <cc>abarth</cc>
    
    <cc>bajones</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gman</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>kbr</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>838666</commentid>
    <comment_count>0</comment_count>
    <who name="Remi Arnaud">Remi.Arnaud</who>
    <bug_when>2013-02-21 12:08:01 -0800</bug_when>
    <thetext>WEBGL_compressed_texture_atc (see URL) is in Draft stage, and is awaiting implementation to enable the community to review the extension.

WEBGL_compressed_texture_atc in necessary to take advantage of specific hardware texture compression, and is used to enable content to fit in the device GPU memory, as well as optimizing for speed (smaller transfer, zero decoding time). This extension is similar to WEBGL_compressed_texture_s3tc, already implemented, that covers a lot of devices, but unfortunately is not available on all devices.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838678</commentid>
    <comment_count>1</comment_count>
    <who name="Remi Arnaud">Remi.Arnaud</who>
    <bug_when>2013-02-21 12:12:58 -0800</bug_when>
    <thetext>See also bug https://bugs.webkit.org/show_bug.cgi?id=110497</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838853</commentid>
    <comment_count>2</comment_count>
    <who name="Brandon Jones">bajones</who>
    <bug_when>2013-02-21 14:38:08 -0800</bug_when>
    <thetext>I can take this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844464</commentid>
    <comment_count>3</comment_count>
      <attachid>190805</attachid>
    <who name="Brandon Jones">bajones</who>
    <bug_when>2013-02-28 14:10:36 -0800</bug_when>
    <thetext>Created attachment 190805
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844504</commentid>
    <comment_count>4</comment_count>
      <attachid>190805</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-02-28 14:53:31 -0800</bug_when>
    <thetext>Comment on attachment 190805
Patch

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

The code looks OK but the patch needs to be rebaselined to pass the EWS. Also there&apos;s a problem with the layout test.

&gt; LayoutTests/webgl/conformance/extensions/webgl-compressed-texture-atc.html:1
&gt; +ï»¿&lt;!--

This isn&apos;t right -- the real test should go under resources/webgl_test_files/ and this should just be a wrapper. Please use the webgl/generate-webgl-tests.py script to generate this (you&apos;ll need to ignore the other changes it makes to your tree). Also, watch out for those leading non-ASCII characters -- not sure where those are coming from.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845369</commentid>
    <comment_count>5</comment_count>
      <attachid>191000</attachid>
    <who name="Brandon Jones">bajones</who>
    <bug_when>2013-03-01 11:48:47 -0800</bug_when>
    <thetext>Created attachment 191000
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845372</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-01 11:52:47 -0800</bug_when>
    <thetext>Attachment 191000 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/webgl/conformance/extensions/webgl-compressed-texture-atc-expected.txt&apos;, u&apos;LayoutTests/webgl/conformance/extensions/webgl-compressed-texture-atc.html&apos;, u&apos;LayoutTests/webgl/resources/webgl_test_files/conformance/extensions/webgl-compressed-texture-atc.html&apos;, u&apos;Source/WebCore/CMakeLists.txt&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/DerivedSources.make&apos;, u&apos;Source/WebCore/DerivedSources.pri&apos;, u&apos;Source/WebCore/GNUmakefile.list.am&apos;, u&apos;Source/WebCore/Target.pri&apos;, u&apos;Source/WebCore/WebCore.gypi&apos;, u&apos;Source/WebCore/WebCore.xcodeproj/project.pbxproj&apos;, u&apos;Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp&apos;, u&apos;Source/WebCore/html/canvas/WebGLCompressedTextureATC.cpp&apos;, u&apos;Source/WebCore/html/canvas/WebGLCompressedTextureATC.h&apos;, u&apos;Source/WebCore/html/canvas/WebGLCompressedTextureATC.idl&apos;, u&apos;Source/WebCore/html/canvas/WebGLExtension.h&apos;, u&apos;Source/WebCore/html/canvas/WebGLRenderingContext.cpp&apos;, u&apos;Source/WebCore/html/canvas/WebGLRenderingContext.h&apos;, u&apos;Source/WebCore/platform/graphics/Extensions3D.h&apos;]&quot; exit_code: 1
Source/WebCore/platform/graphics/Extensions3D.h:146:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/platform/graphics/Extensions3D.h:147:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/platform/graphics/Extensions3D.h:148:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 3 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>845393</commentid>
    <comment_count>7</comment_count>
      <attachid>191000</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-01 12:16:38 -0800</bug_when>
    <thetext>Comment on attachment 191000
Patch

Attachment 191000 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/16662208</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845396</commentid>
    <comment_count>8</comment_count>
      <attachid>191000</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-01 12:19:48 -0800</bug_when>
    <thetext>Comment on attachment 191000
Patch

Attachment 191000 did not pass cr-linux-debug-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/16849278</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845447</commentid>
    <comment_count>9</comment_count>
      <attachid>191021</attachid>
    <who name="Brandon Jones">bajones</who>
    <bug_when>2013-03-01 13:11:37 -0800</bug_when>
    <thetext>Created attachment 191021
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845458</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-01 13:19:00 -0800</bug_when>
    <thetext>Attachment 191021 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/webgl/conformance/extensions/webgl-compressed-texture-atc-expected.txt&apos;, u&apos;LayoutTests/webgl/conformance/extensions/webgl-compressed-texture-atc.html&apos;, u&apos;LayoutTests/webgl/resources/webgl_test_files/conformance/extensions/webgl-compressed-texture-atc.html&apos;, u&apos;Source/WebCore/CMakeLists.txt&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/DerivedSources.make&apos;, u&apos;Source/WebCore/DerivedSources.pri&apos;, u&apos;Source/WebCore/GNUmakefile.list.am&apos;, u&apos;Source/WebCore/Target.pri&apos;, u&apos;Source/WebCore/WebCore.gypi&apos;, u&apos;Source/WebCore/WebCore.xcodeproj/project.pbxproj&apos;, u&apos;Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp&apos;, u&apos;Source/WebCore/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp&apos;, u&apos;Source/WebCore/html/canvas/WebGLCompressedTextureATC.cpp&apos;, u&apos;Source/WebCore/html/canvas/WebGLCompressedTextureATC.h&apos;, u&apos;Source/WebCore/html/canvas/WebGLCompressedTextureATC.idl&apos;, u&apos;Source/WebCore/html/canvas/WebGLExtension.h&apos;, u&apos;Source/WebCore/html/canvas/WebGLRenderingContext.cpp&apos;, u&apos;Source/WebCore/html/canvas/WebGLRenderingContext.h&apos;, u&apos;Source/WebCore/platform/graphics/Extensions3D.h&apos;]&quot; exit_code: 1
Source/WebCore/platform/graphics/Extensions3D.h:146:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/platform/graphics/Extensions3D.h:147:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/platform/graphics/Extensions3D.h:148:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 3 in 21 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>845584</commentid>
    <comment_count>11</comment_count>
      <attachid>191021</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-03-01 16:04:44 -0800</bug_when>
    <thetext>Comment on attachment 191021
Patch

Looks great. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845635</commentid>
    <comment_count>12</comment_count>
      <attachid>191021</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-01 16:57:26 -0800</bug_when>
    <thetext>Comment on attachment 191021
Patch

Rejecting attachment 191021 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-commit-queue.appspot.com&apos;, &apos;--bot-id=gce-cq-03&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 191021, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
rce/WebKit/chromium/webkit/media/crypto/ppapi/cdm --revision 181763 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
57&gt;At revision 181763.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://webkit-commit-queue.appspot.com/results/16867079</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846824</commentid>
    <comment_count>13</comment_count>
      <attachid>191305</attachid>
    <who name="Brandon Jones">bajones</who>
    <bug_when>2013-03-04 13:55:06 -0800</bug_when>
    <thetext>Created attachment 191305
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847272</commentid>
    <comment_count>14</comment_count>
      <attachid>191305</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-04 22:16:20 -0800</bug_when>
    <thetext>Comment on attachment 191305
Patch

Clearing flags on attachment: 191305

Committed r144723: &lt;http://trac.webkit.org/changeset/144723&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847273</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-04 22:16:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190805</attachid>
            <date>2013-02-28 14:10:36 -0800</date>
            <delta_ts>2013-03-01 11:48:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110496-20130228140648.patch</filename>
            <type>text/plain</type>
            <size>49833</size>
            <attacher name="Brandon Jones">bajones</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzNhNjI4M2QxODY4ODQ5
ZGIyN2FlNzhlMmQ3Yzc3ZTQ0ZGYxZWQ0ZS4uYTgxMjc0ZDIzYzg4NDkwNDA5YWEwMTkyYjIwZmYw
M2IzNzgwNTdlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEzLTAyLTI4ICBCcmFu
ZG9uIEpvbmVzICA8YmFqb25lc0Bnb29nbGUuY29tPgorCisgICAgICAgIFdFQkdMX2NvbXByZXNz
ZWRfdGV4dHVyZV9hdGMgbmVlZHMgaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDQ5NgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IHdlYmdsL2NvbmZvcm1hbmNlL2V4dGVu
c2lvbnMvd2ViZ2wtY29tcHJlc3NlZC10ZXh0dXJlLWF0Yy5odG1sCisKKyAgICAgICAgRXhwb3Nl
cyB0aGUgV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0YyBleHRlbnNpb24sIGJ1dCBpcyB1bnZl
cmlmaWVkIHNpbmNlIG5vIGRlc2t0b3AgaGFyZHdhcmUgc3VwcG9ydHMKKyAgICAgICAgdGhlIGZv
cm1hdCB0aGF0IEkgYW0gYXdhcmUgb2YuIFNob3VsZCBlbmFibGUgbW9iaWxlIHBvcnRzIHRvIGV4
cG9zZSB0aGUgZm9ybWF0LCBob3dldmVyLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6Cisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5w
cmk6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJp
OgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0Nv
bnRleHRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogaHRt
bC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHA6IENvcGllZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmguCisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEM6OldlYkdMQ29t
cHJlc3NlZFRleHR1cmVBVEMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xDb21wcmVzc2VkVGV4
dHVyZUFUQzo6fldlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQzo6Z2V0TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0xDb21wcmVzc2VkVGV4dHVyZUFUQzo6c3VwcG9ydGVkKToKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmguCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dl
YkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdM
RXh0ZW5zaW9uLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJp
bmdDb250ZXh0OjpwYWludFJlbmRlcmluZ1Jlc3VsdHNUb0NhbnZhcyk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEV4dGVuc2lvbik6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFN1cHBvcnRlZEV4dGVuc2lvbnMpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZUNvbXByZXNzZWRU
ZXhGdW5jRGF0YSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkdMUmVuZGVyaW5nQ29udGV4dCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmg6CisKIDIwMTMtMDIt
MjYgIFN0ZXBoZW4gQ2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KIAogICAgICAgICBm
ZURpc3BsYWNlbWVudE1hcCBmaWx0ZXIgZ2V0cyBjb2xvciBzcGFjZSB3cm9uZwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCA2NTJlODQ2ODNkM2Y4YTEwOTIzMWI2M2EzNjVkMTE0MGJmODJlOGU2Li5h
MTAxZTE2YWE4M2JiZWY0ZDZmOGFkYmNhMzdlNGQwMWQ4NjU4MjVkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtNTI5LDYgKzUyOSw3IEBAIHNldChXZWJDb3JlX0lETF9GSUxFUwogICAgIGh0bWwv
Y2FudmFzL1VpbnQ4Q2xhbXBlZEFycmF5LmlkbAogICAgIGh0bWwvY2FudmFzL1dlYkdMQWN0aXZl
SW5mby5pZGwKICAgICBodG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5pZGwKKyAgICBodG1sL2NhbnZh
cy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmlkbAogICAgIGh0bWwvY2FudmFzL1dlYkdMQ29t
cHJlc3NlZFRleHR1cmVTM1RDLmlkbAogICAgIGh0bWwvY2FudmFzL1dlYkdMQ29udGV4dEF0dHJp
YnV0ZXMuaWRsCiAgICAgaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZlbnQuaWRsCkBAIC0xNTEy
LDYgKzE1MTMsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9jYW52YXMvT0VTVmVy
dGV4QXJyYXlPYmplY3QuY3BwCiAgICAgaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5j
cHAKICAgICBodG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5jcHAKKyAgICBodG1sL2NhbnZhcy9XZWJH
TENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcAogICAgIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3Nl
ZFRleHR1cmVTM1RDLmNwcAogICAgIGh0bWwvY2FudmFzL1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMu
Y3BwCiAgICAgaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZlbnQuY3BwCkBAIC0yNjI1LDYgKzI2
MjcsNyBAQCBpZiAoRU5BQkxFX1dFQkdMKQogICAgICAgICBodG1sL2NhbnZhcy9PRVNWZXJ0ZXhB
cnJheU9iamVjdC5jcHAKICAgICAgICAgaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5j
cHAKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuY3BwCisgICAgICAgIGh0bWwvY2Fu
dmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL1dl
YkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmNwcAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTENv
bnRleHRBdHRyaWJ1dGVzLmNwcAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVu
dC5jcHAKQEAgLTI2NjEsNiArMjY2NCw3IEBAIGlmIChFTkFCTEVfV0VCR0wpCiAgICAgICAgIGh0
bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuaWRsCiAgICAgICAgIGh0bWwvY2FudmFzL1dl
YkdMQWN0aXZlSW5mby5pZGwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaWRsCisg
ICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaWRsCiAgICAgICAg
IGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmlkbAogICAgICAgICBodG1s
L2NhbnZhcy9XZWJHTENvbnRleHRBdHRyaWJ1dGVzLmlkbAogICAgICAgICBodG1sL2NhbnZhcy9X
ZWJHTENvbnRleHRFdmVudC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDQ3
NmFkOGViZWVhODc0ZDUxMzVmMWYyMTBmZGNlNjUyYTMyMThiM2IuLjgwYzdkNzkxMGFmNmVkMTli
MmE2MTc5YTA4MDM1ZDYwMDYyMTFkY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpA
QCAtNDA2LDYgKzQwNiw3IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2h0bWwv
Y2FudmFzL1VpbnQ4Q2xhbXBlZEFycmF5LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZh
cy9XZWJHTEFjdGl2ZUluZm8uaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdM
QnVmZmVyLmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRU
ZXh0dXJlQVRDLmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNz
ZWRUZXh0dXJlUzNUQy5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR0xDb250
ZXh0QXR0cmlidXRlcy5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR0xDb250
ZXh0RXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBkMTFiZTRkOWRi
YTUzOTdlYjljNDFjZmFjMzllZmQ3MjExNGFmZmE4Li5kZDUxZWNlODk0Y2YyMWFiNzUxOTZhNmVj
OWU2ODhlNzI5ZTcxZjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC0zMTYsNiAr
MzE2LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9PRVNFbGVt
ZW50SW5kZXhVaW50LmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvV2ViR0xBY3RpdmVJbmZv
LmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaWRsIFwKKyAgICAkJFBX
RC9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmlkbCBcCiAgICAgJCRQV0Qv
aHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaWRsIFwKICAgICAkJFBXRC9o
dG1sL2NhbnZhcy9XZWJHTENvbnRleHRBdHRyaWJ1dGVzLmlkbCBcCiAgICAgJCRQV0QvaHRtbC9j
YW52YXMvV2ViR0xDb250ZXh0RXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CmluZGV4IGRlMzVkYzFmNmVkOGJlZmZhN2E2ZGJhYWE4YzA1YTk0YmU0NTdjZGYuLjcyMGVjNmUw
MDllZGVkMTZhMzUwZjM2NGVhOWE1NTJkYWEzYzY5ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQpAQCAtNzc3LDYgKzc3Nyw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdMQWN0aXZlSW5mby5oIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTV2ViR0xCdWZmZXIuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTV2ViR0xCdWZmZXIuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdMQ29tcHJl
c3NlZFRleHR1cmVBVEMuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xDb21w
cmVzc2VkVGV4dHVyZUFUQy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xDb21w
cmVzc2VkVGV4dHVyZVMzVEMuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xD
b21wcmVzc2VkVGV4dHVyZVMzVEMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdM
Q29udGV4dEF0dHJpYnV0ZXMuY3BwIFwKQEAgLTE1NDksNiArMTU1MSw3IEBAIGRvbV9iaW5kaW5n
X2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvVWludDhDbGFtcGVkQXJyYXkuaWRs
IFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5mby5pZGwgXAogCSQoV2Vi
Q29yZSkvaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaWRsIFwKKwkkKFdlYkNvcmUpL2h0bWwvY2Fu
dmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvY2Fu
dmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2Nh
bnZhcy9XZWJHTENvbnRleHRBdHRyaWJ1dGVzLmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZh
cy9XZWJHTENvbnRleHRFdmVudC5pZGwgXApAQCAtMzI4Nyw2ICszMjkwLDggQEAgd2ViY29yZV9z
b3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8u
aCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCBcCisJU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQy5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmggXAogCVNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMuY3BwIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJn
ZXQucHJpCmluZGV4IGNhMjRiNjYwNDQ2YTMwZmMzZjI3NzdlNDgzODdkNWU4ODk2NzAzMmIuLmJi
ODI2NzA3ZDkxMTIyMDlkYWJhYmMzZjAyYTU0M2UyN2YzODkzNzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAt
NDAyMCw2ICs0MDIwLDcgQEAgZW5hYmxlPyhXRUJHTCkgewogICAgICAgICBodG1sL2NhbnZhcy9X
ZWJHTE9iamVjdC5oIFwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xBY3RpdmVJbmZvLmggXAog
ICAgICAgICBodG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5oIFwKKyAgICAgICAgaHRtbC9jYW52YXMv
V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oIFwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xD
b21wcmVzc2VkVGV4dHVyZVMzVEMuaCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29udGV4
dEF0dHJpYnV0ZXMuaCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29udGV4dEV2ZW50Lmgg
XApAQCAtNDA1NCw2ICs0MDU1LDcgQEAgZW5hYmxlPyhXRUJHTCkgewogICAgICAgICBodG1sL2Nh
bnZhcy9DYW52YXNDb250ZXh0QXR0cmlidXRlcy5jcHAgXAogICAgICAgICBodG1sL2NhbnZhcy9X
ZWJHTE9iamVjdC5jcHAgXAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5jcHAgXAor
ICAgICAgICBodG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCBcCiAgICAg
ICAgIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmNwcCBcCiAgICAgICAg
IGh0bWwvY2FudmFzL1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMuY3BwIFwKICAgICAgICAgaHRtbC9j
YW52YXMvV2ViR0xDb250ZXh0RXZlbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBlYjRmYWI5
OTkzMDAwM2I1YzRkY2E1MjQ2YWE0NDc0MDNmNTA4N2U3Li5jMzE5YjFiMjcxZWI2NGQ3MTM5ZmY0
OTRiOWMzYmU3MDFmYTcxZDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zODUsNiArMzg1LDcgQEAK
ICAgICAgICAgICAgICdodG1sL2NhbnZhcy9VaW50OENsYW1wZWRBcnJheS5pZGwnLAogICAgICAg
ICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5mby5pZGwnLAogICAgICAgICAgICAgJ2h0
bWwvY2FudmFzL1dlYkdMQnVmZmVyLmlkbCcsCisgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2Vi
R0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dl
YkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMv
V2ViR0xDb250ZXh0QXR0cmlidXRlcy5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dl
YkdMQ29udGV4dEV2ZW50LmlkbCcsCkBAIC0zMzQwLDYgKzMzNDEsOCBAQAogICAgICAgICAgICAg
J2h0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5mby5oJywKICAgICAgICAgICAgICdodG1sL2NhbnZh
cy9XZWJHTEJ1ZmZlci5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQnVmZmVy
LmgnLAorICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMu
Y3BwJywKKyAgICAgICAgICAgICdodG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRD
LmgnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RD
LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMz
VEMuaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0QXR0cmlidXRlcy5j
cHAnLApAQCAtNzE1Miw2ICs3MTU1LDggQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xBY3RpdmVJbmZvLmgnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHTEJ1ZmZlci5jcHAn
LAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNX
ZWJHTEJ1ZmZlci5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAnLAorICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHTENvbXByZXNzZWRU
ZXh0dXJlQVRDLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQy5jcHAnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHTENvbXByZXNzZWRU
ZXh0dXJlUzNUQy5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV2ViR0xDb250ZXh0QXR0cmlidXRlcy5jcHAnLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUzZmQyMTcyM2I5
NGQ5ZWIyZjk4Yzg2MjEzZjFkM2JiMDU0YjEyZGMuLjQ0ODVkODQxODBhYTRiZWFhYjZmYmNjOGUy
YzRmYTNhNzk0YjM4ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTIwNjAsOCArMjA2MCwxMiBAQAogCQk3RTQ2RjZGQjE2MjdB
MkNBMDAwNjIyMjMgLyogSlNPRVNFbGVtZW50SW5kZXhVaW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RTQ2RjZGOTE2MjdBMkM5MDAwNjIyMjMgLyog
SlNPRVNFbGVtZW50SW5kZXhVaW50LmggKi87IH07CiAJCTdFNUQ3QTc2MTYxRDNGOEYwMDg5NkMz
NCAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdFNUQ3QTczMTYxRDNGOEYwMDg5NkMzNCAvKiBPRVNFbGVtZW50
SW5kZXhVaW50LmNwcCAqLzsgfTsKIAkJN0U1RDdBNzcxNjFEM0Y4RjAwODk2QzM0IC8qIE9FU0Vs
ZW1lbnRJbmRleFVpbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdFNUQ3QTc0MTYxRDNGOEYwMDg5NkMzNCAvKiBPRVNFbGVtZW50SW5kZXhVaW50Lmgg
Ki87IH07CisJCTdFNjZFMjMzMTZENkVCNkMwMEY3RTdGRiAvKiBXZWJHTENvbXByZXNzZWRUZXh0
dXJlQVRDLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdFNjZFMjMxMTZENkVCNkMwMEY3RTdGRiAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNw
cCAqLzsgfTsKKwkJN0U2NkUyMzQxNkQ2RUI2QzAwRjdFN0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRl
eHR1cmVBVEMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdFNjZFMjMyMTZENkVCNkMwMEY3RTdGRiAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmgg
Ki87IH07CiAJCTdFOTlBRjUxMEIxMzg0NjQ2OEZCMDFBNSAvKiBXaW5kb3dGb2N1c0FsbG93ZWRJ
bmRpY2F0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0U5OUFGNTIwQjEzODQ2NDY4RkIwMUE1IC8qIFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRv
ci5jcHAgKi87IH07CiAJCTdFOTlBRjUzMEIxMzg0NjQ2OEZCMDFBNSAvKiBXaW5kb3dGb2N1c0Fs
bG93ZWRJbmRpY2F0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdFOTlBRjU0MEIxMzg0NjQ2OEZCMDFBNSAvKiBXaW5kb3dGb2N1c0FsbG93ZWRJbmRp
Y2F0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQk3RUEzMEY2OTE2REZGRTc1MDAyNTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRD
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFQTMw
RjY3MTZERkZFNzUwMDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwICov
OyB9OworCQk3RUEzMEY2QTE2REZGRTc1MDAyNTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0
dXJlQVRDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
RUEzMEY2ODE2REZGRTc1MDAyNTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmgg
Ki87IH07CiAJCTdFRTY4NDVGMTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50aWNhdGlvbkNGLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFRTY4NDRD
MTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50aWNhdGlvbkNGLmNwcCAqLzsgfTsKIAkJN0VFNjg0
NjAxMkQyNkUzODAwRTc5NDE1IC8qIEF1dGhlbnRpY2F0aW9uQ0YuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFRTY4NDREMTJEMjZFMzgwMEU3OTQxNSAv
KiBBdXRoZW50aWNhdGlvbkNGLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJN0VFNjg0NjExMkQyNkUzODAwRTc5NDE1IC8qIEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3RUU2ODQ0RTEyRDI2RTM4MDBFNzk0MTUgLyogQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTU0Nyw4
ICs5NTUxLDEzIEBACiAJCTdFNDZGNkY5MTYyN0EyQzkwMDA2MjIyMyAvKiBKU09FU0VsZW1lbnRJ
bmRleFVpbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNPRVNFbGVtZW50
SW5kZXhVaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdFNUQ3QTczMTYxRDNG
OEYwMDg5NkMzNCAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IE9FU0VsZW1lbnRJbmRleFVpbnQuY3BwOyBwYXRoID0gY2FudmFz
L09FU0VsZW1lbnRJbmRleFVpbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
RTVEN0E3NDE2MUQzRjhGMDA4OTZDMzQgLyogT0VTRWxlbWVudEluZGV4VWludC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBPRVNFbGVtZW50SW5kZXhVaW50Lmg7IHBhdGggPSBj
YW52YXMvT0VTRWxlbWVudEluZGV4VWludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk3RTY2RTIzMTE2RDZFQjZDMDBGN0U3RkYgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJHTENvbXByZXNzZWRU
ZXh0dXJlQVRDLmNwcDsgcGF0aCA9IGNhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0U2NkUyMzIxNkQ2RUI2QzAwRjdFN0ZG
IC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oOyBwYXRoID0gY2FudmFzL1dlYkdM
Q29tcHJlc3NlZFRleHR1cmVBVEMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0U5
OUFGNTIwQjEzODQ2NDY4RkIwMUE1IC8qIFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXaW5kb3dGb2N1c0FsbG93ZWRJ
bmRpY2F0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3RTk5QUY1NDBCMTM4
NDY0NjhGQjAxQTUgLyogV2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9yLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3RUEzMEY2MjE2REZENjI3MDAyNTdEMEIgLyogV2Vi
R0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gV2ViR0xD
b21wcmVzc2VkVGV4dHVyZUFUQy5pZGw7IHBhdGggPSBjYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4
dHVyZUFUQy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdFQTMwRjY3MTZERkZF
NzUwMDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNw
cDsgcGF0aCA9IEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTdFQTMwRjY4MTZERkZFNzUwMDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJl
c3NlZFRleHR1cmVBVEMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSlNXZWJH
TENvbXByZXNzZWRUZXh0dXJlQVRDLmg7IHBhdGggPSBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVB
VEMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0VFNjg0NEMxMkQyNkUzODAwRTc5
NDE1IC8qIEF1dGhlbnRpY2F0aW9uQ0YuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQXV0aGVudGljYXRpb25DRi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTdFRTY4NDREMTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50aWNhdGlvbkNGLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1dGhlbnRpY2F0aW9uQ0YuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0VFNjg0NEUxMkQyNkUzODAwRTc5NDE1IC8qIEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTcw
OSw2ICsxNTcxOCw5IEBACiAJCTQ5NDg0RkFFMTAyQ0YwMUUwMDE4N0REMyAvKiBjYW52YXMgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTdFQTMwRjYyMTZE
RkQ2MjcwMDI1N0QwQiAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmlkbCAqLywKKwkJCQk3
RTY2RTIzMTE2RDZFQjZDMDBGN0U3RkYgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAg
Ki8sCisJCQkJN0U2NkUyMzIxNkQ2RUI2QzAwRjdFN0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1
cmVBVEMuaCAqLywKIAkJCQk0OUVFQ0RDQzEwNTAzQzIzMDAwOTlGQUIgLyogQXJyYXlCdWZmZXIu
aWRsICovLAogCQkJCTQ5RUVDREM5MTA1MDNDMjMwMDA5OUZBQiAvKiBBcnJheUJ1ZmZlclZpZXcu
aWRsICovLAogCQkJCTZFNEU5MUE3MTBGN0ZCMzEwMEEyNzc5QyAvKiBDYW52YXNDb250ZXh0QXR0
cmlidXRlcy5jcHAgKi8sCkBAIC0xODk1Myw2ICsxODk2NSw4IEBACiAJCUE4M0I3OTA4MENDQUZG
MkIwMDBCMDgyNSAvKiBIVE1MICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKKwkJCQk3RUEzMEY2NzE2REZGRTc1MDAyNTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRU
ZXh0dXJlQVRDLmNwcCAqLywKKwkJCQk3RUEzMEY2ODE2REZGRTc1MDAyNTdEMEIgLyogSlNXZWJH
TENvbXByZXNzZWRUZXh0dXJlQVRDLmggKi8sCiAJCQkJNDlFRUNFRjIxMDUwNzBDNDAwMDk5RkFC
IC8qIEpTQXJyYXlCdWZmZXIuY3BwICovLAogCQkJCTQ5RUVDRUYzMTA1MDcwQzQwMDA5OUZBQiAv
KiBKU0FycmF5QnVmZmVyLmggKi8sCiAJCQkJNDlFRUNGMTkxMDUwNzJGMzAwMDk5RkFCIC8qIEpT
QXJyYXlCdWZmZXJWaWV3LmNwcCAqLywKQEAgLTI2NjIyLDYgKzI2NjM2LDggQEAKIAkJCQlGRDUz
NzM1MzEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQx
QjhDRDQ2MTZEMDQ1OTEwMDBFOENDMCAvKiBTZWxlY3RvckNoZWNrZXJGYXN0UGF0aC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDkxNDAyNTcxNjhFMDJFQzAwMkQ2QzZBIC8qIFRpbWVsaW5lVHJhY2VF
dmVudFByb2Nlc3Nvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0U2NkUyMzQxNkQ2RUI2QzAwRjdF
N0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCBpbiBIZWFkZXJzICovLAorCQkJCTdF
QTMwRjZBMTZERkZFNzUwMDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCBp
biBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpAQCAtMjk4MTcsNiArMjk4MzMsOCBAQAogCQkJCUZENTM3MzUyMTM3QjY1
MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUI4Q0Q0NTE2
RDA0NTkxMDAwRThDQzAgLyogU2VsZWN0b3JDaGVja2VyRmFzdFBhdGguY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDkxNDAyNTYxNjhFMDJFODAwMkQ2QzZBIC8qIFRpbWVsaW5lVHJhY2VFdmVudFBy
b2Nlc3Nvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3RTY2RTIzMzE2RDZFQjZDMDBGN0U3RkYg
LyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3RUEz
MEY2OTE2REZGRTc1MDAyNTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCBp
biBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
ZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCmluZGV4IDUyNzNiMzg4OTllOGUw
MThiMWZiZTM5ODUzYTBhYjc0NzYwYmVjYWUuLmFlNWI3N2EwZWZhOWQ5MDU2NzFmNDIyZDcxYTkx
YmVlNTYxMjRjMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKQEAgLTQ2LDYgKzQ2LDcgQEAK
ICNpbmNsdWRlICJKU1VpbnQzMkFycmF5LmgiCiAjaW5jbHVkZSAiSlNVaW50OEFycmF5LmgiCiAj
aW5jbHVkZSAiSlNXZWJHTEJ1ZmZlci5oIgorI2luY2x1ZGUgIkpTV2ViR0xDb21wcmVzc2VkVGV4
dHVyZUFUQy5oIgogI2luY2x1ZGUgIkpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCIKICNp
bmNsdWRlICJKU1dlYkdMRGVwdGhUZXh0dXJlLmgiCiAjaW5jbHVkZSAiSlNXZWJHTEZyYW1lYnVm
ZmVyLmgiCkBAIC02Myw2ICs2NCw3IEBACiAjaW5jbHVkZSAiT0VTVGV4dHVyZUZsb2F0LmgiCiAj
aW5jbHVkZSAiT0VTVmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJXZWJHTEJ1ZmZlci5o
IgorI2luY2x1ZGUgIldlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCIKICNpbmNsdWRlICJXZWJH
TENvbXByZXNzZWRUZXh0dXJlUzNUQy5oIgogI2luY2x1ZGUgIldlYkdMRGVidWdSZW5kZXJlcklu
Zm8uaCIKICNpbmNsdWRlICJXZWJHTERlYnVnU2hhZGVycy5oIgpAQCAtMjA4LDYgKzIxMCw4IEBA
IHN0YXRpYyBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBXZWJHTEV4dGVuCiAgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2Jh
bE9iamVjdCwgc3RhdGljX2Nhc3Q8V2ViR0xEZWJ1Z1JlbmRlcmVySW5mbyo+KGV4dGVuc2lvbikp
OwogICAgIGNhc2UgV2ViR0xFeHRlbnNpb246OldlYkdMRGVidWdTaGFkZXJzTmFtZToKICAgICAg
ICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxXZWJHTERlYnVn
U2hhZGVycyo+KGV4dGVuc2lvbikpOworICAgIGNhc2UgV2ViR0xFeHRlbnNpb246OldlYkdMQ29t
cHJlc3NlZFRleHR1cmVBVENOYW1lOgorICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxP
YmplY3QsIHN0YXRpY19jYXN0PFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMqPihleHRlbnNpb24p
KTsKICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpXZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQ05h
bWU6CiAgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8
V2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMqPihleHRlbnNpb24pKTsKICAgICBjYXNlIFdlYkdM
RXh0ZW5zaW9uOjpXZWJHTERlcHRoVGV4dHVyZU5hbWU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQ1NTg2MzYwNGUzZjYwMTNiMmViM2E5NDY5ZGQ3Mjk3YmY4MWYxNGQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJl
QVRDLmNwcApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisj
aWYgRU5BQkxFKFdFQkdMKQorCisjaW5jbHVkZSAiV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5o
IgorCisjaW5jbHVkZSAiRXh0ZW5zaW9uczNELmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQzo6V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQyhXZWJH
TFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQpCisgICAgOiBXZWJHTEV4dGVuc2lvbihjb250ZXh0
KQoreworICAgIGNvbnRleHQtPmFkZENvbXByZXNzZWRUZXh0dXJlRm9ybWF0KEV4dGVuc2lvbnMz
RDo6Q09NUFJFU1NFRF9BVENfUkdCX0FNRCk7CisgICAgY29udGV4dC0+YWRkQ29tcHJlc3NlZFRl
eHR1cmVGb3JtYXQoRXh0ZW5zaW9uczNEOjpDT01QUkVTU0VEX0FUQ19SR0JBX0VYUExJQ0lUX0FM
UEhBX0FNRCk7CisgICAgY29udGV4dC0+YWRkQ29tcHJlc3NlZFRleHR1cmVGb3JtYXQoRXh0ZW5z
aW9uczNEOjpDT01QUkVTU0VEX0FUQ19SR0JBX0lOVEVSUE9MQVRFRF9BTFBIQV9BTUQpOworfQor
CitXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDOjp+V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQygp
Cit7Cit9CisKK1dlYkdMRXh0ZW5zaW9uOjpFeHRlbnNpb25OYW1lIFdlYkdMQ29tcHJlc3NlZFRl
eHR1cmVBVEM6OmdldE5hbWUoKSBjb25zdAoreworICAgIHJldHVybiBXZWJHTENvbXByZXNzZWRU
ZXh0dXJlQVRDTmFtZTsKK30KKworUGFzc093blB0cjxXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRD
PiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDOjpjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0
KiBjb250ZXh0KQoreworICAgIHJldHVybiBhZG9wdFB0cihuZXcgV2ViR0xDb21wcmVzc2VkVGV4
dHVyZUFUQyhjb250ZXh0KSk7Cit9CisKK2Jvb2wgV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQzo6
c3VwcG9ydGVkKFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCkKK3sKKyAgICBFeHRlbnNp
b25zM0QqIGV4dGVuc2lvbnMgPSBjb250ZXh0LT5ncmFwaGljc0NvbnRleHQzRCgpLT5nZXRFeHRl
bnNpb25zKCk7CisgICAgcmV0dXJuIGV4dGVuc2lvbnMtPnN1cHBvcnRzKCJHTF9BTURfY29tcHJl
c3NlZF9BVENfdGV4dHVyZSIpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjI0ZTFmNWYzNDA5NDVj
MTVhMGI1ZDA1OTgzNGFhMTA0MjQ4NTRmMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaApAQCAtMCwwICsxLDUy
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDX2gKKyNkZWZpbmUg
V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQ19oCisKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgi
CisjaW5jbHVkZSAiV2ViR0xFeHRlbnNpb24uaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYkdMVGV4dHVyZTsKKworY2xhc3Mg
V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQyA6IHB1YmxpYyBXZWJHTEV4dGVuc2lvbiB7CitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQz4gY3Jl
YXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOworCisgICAgc3RhdGljIGJvb2wgc3VwcG9ydGVk
KFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOworCisgICAgdmlydHVhbCB+V2ViR0xDb21wcmVzc2Vk
VGV4dHVyZUFUQygpOworICAgIHZpcnR1YWwgRXh0ZW5zaW9uTmFtZSBnZXROYW1lKCkgY29uc3Q7
CisKK3ByaXZhdGU6CisgICAgV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQyhXZWJHTFJlbmRlcmlu
Z0NvbnRleHQqKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFdl
YkdMQ29tcHJlc3NlZFRleHR1cmVBVENfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTFi
MzJiMTIyOWNmNWQ5MDBlMWQwMjQ2MGE2MzRjNTdlOGU5YzA0Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGwK
QEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJHTCwKKyAgICBK
U0dlbmVyYXRlSXNSZWFjaGFibGU9SW1wbENvbnRleHQsCisgICAgT21pdENvbnN0cnVjdG9yLAor
ICAgIERvTm90Q2hlY2tDb25zdGFudHMKK10gaW50ZXJmYWNlIFdlYkdMQ29tcHJlc3NlZFRleHR1
cmVBVEMgeworICAgIC8qIENvbXByZXNzZWQgVGV4dHVyZSBGb3JtYXRzICovCisgICAgY29uc3Qg
dW5zaWduZWQgaW50IENPTVBSRVNTRURfUkdCX0FUQ19XRUJHTCAgICAgICAgICAgICAgICAgICAg
ID0gMHg4QzkyOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBDT01QUkVTU0VEX1JHQkFfQVRDX0VY
UExJQ0lUX0FMUEhBX1dFQkdMICAgICA9IDB4OEM5MzsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQg
Q09NUFJFU1NFRF9SR0JBX0FUQ19JTlRFUlBPTEFURURfQUxQSEFfV0VCR0wgPSAweDg3RUU7Cit9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKaW5kZXggNGI4
MzI4NGJhNjM1OWI0NTUzNzBhMGNlNTBmZWYwMDExMTE5MzMyMC4uN2M1ZDBlOGI4ODMzYjQ2ZTM3
ZTI3YjQyZDI4Y2NlMGRkZGU0NWUzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xFeHRlbnNpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTEV4dGVuc2lvbi5oCkBAIC00NSw2ICs0NSw3IEBAIHB1YmxpYzoKICAgICAgICAgV2ViR0xD
b21wcmVzc2VkVGV4dHVyZVMzVENOYW1lLAogICAgICAgICBXZWJHTERlcHRoVGV4dHVyZU5hbWUs
CiAgICAgICAgIE9FU0VsZW1lbnRJbmRleFVpbnROYW1lLAorICAgICAgICBXZWJHTENvbXByZXNz
ZWRUZXh0dXJlQVRDTmFtZSwKICAgICB9OwogCiAgICAgdm9pZCByZWYoKSB7IG1fY29udGV4dC0+
cmVmKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHQuY3BwCmluZGV4IDNmNTk4YzA2OTk4MWE0ZTcyZjY4MDc1MjgwZmI1Njk4NjFj
Mzc0Y2EuLmRiODkxOGFkYTg0NzE1MzgzOGYzM2RlYWEzZjdhOWQwMzI1Yzk0MmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNw
cApAQCAtNTQsNiArNTQsNyBAQAogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiV2Vi
R0xBY3RpdmVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViR0xCdWZmZXIuaCIKKyNpbmNsdWRlICJXZWJH
TENvbXByZXNzZWRUZXh0dXJlQVRDLmgiCiAjaW5jbHVkZSAiV2ViR0xDb21wcmVzc2VkVGV4dHVy
ZVMzVEMuaCIKICNpbmNsdWRlICJXZWJHTENvbnRleHRBdHRyaWJ1dGVzLmgiCiAjaW5jbHVkZSAi
V2ViR0xDb250ZXh0RXZlbnQuaCIKQEAgLTc1MSwxMCArNzUyLDEwIEBAIHZvaWQgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0OjpwYWludFJlbmRlcmluZ1Jlc3VsdHNUb0NhbnZhcygpCiAgICAgICAgIGlm
IChtX2RyYXdpbmdCdWZmZXIpCiAgICAgICAgICAgICBtX2RyYXdpbmdCdWZmZXItPnBhaW50Q29t
cG9zaXRlZFJlc3VsdHNUb0NhbnZhcyhjYW52YXMoKS0+YnVmZmVyKCkpOwogI2VuZGlmCi0KICAg
ICAgICAgY2FudmFzKCktPm1ha2VQcmVzZW50YXRpb25Db3B5KCk7CiAgICAgfSBlbHNlCiAgICAg
ICAgIGNhbnZhcygpLT5jbGVhclByZXNlbnRhdGlvbkNvcHkoKTsKKwogICAgIGNsZWFySWZDb21w
b3NpdGVkKCk7CiAKICAgICBpZiAoIW1fbWFya2VkQ2FudmFzRGlydHkgJiYgIW1fbGF5ZXJDbGVh
cmVkKQpAQCAtMjQwOCw2ICsyNDA5LDEyIEBAIFdlYkdMRXh0ZW5zaW9uKiBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OmdldEV4dGVuc2lvbihjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgICAgICBt
X3dlYmdsTG9zZUNvbnRleHQgPSBXZWJHTExvc2VDb250ZXh0OjpjcmVhdGUodGhpcyk7CiAgICAg
ICAgIHJldHVybiBtX3dlYmdsTG9zZUNvbnRleHQuZ2V0KCk7CiAgICAgfQorICAgIGlmICgoZXF1
YWxJZ25vcmluZ0Nhc2UobmFtZSwgIldFQktJVF9XRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfYXRj
IikpCisgICAgICAgICYmIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEM6OnN1cHBvcnRlZCh0aGlz
KSkgeworICAgICAgICBpZiAoIW1fd2ViZ2xDb21wcmVzc2VkVGV4dHVyZUFUQykKKyAgICAgICAg
ICAgIG1fd2ViZ2xDb21wcmVzc2VkVGV4dHVyZUFUQyA9IFdlYkdMQ29tcHJlc3NlZFRleHR1cmVB
VEM6OmNyZWF0ZSh0aGlzKTsKKyAgICAgICAgcmV0dXJuIG1fd2ViZ2xDb21wcmVzc2VkVGV4dHVy
ZUFUQy5nZXQoKTsKKyAgICB9CiAgICAgaWYgKChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAiV0VC
R0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMiKQogICAgICAgICAgLy8gRklYTUU6IHJlbW92ZSB0
aGlzIGFmdGVyIGEgY2VydGFpbiBncmFjZSBwZXJpb2QuCiAgICAgICAgICB8fCBlcXVhbElnbm9y
aW5nQ2FzZShuYW1lLCAiV0VCS0lUX1dFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjIikpCkBA
IC0yOTA5LDYgKzI5MTYsOCBAQCBWZWN0b3I8U3RyaW5nPiBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OmdldFN1cHBvcnRlZEV4dGVuc2lvbnMoKQogICAgIGlmIChtX2NvbnRleHQtPmdldEV4dGVuc2lv
bnMoKS0+c3VwcG9ydHMoIkdMX09FU19lbGVtZW50X2luZGV4X3VpbnQiKSkKICAgICAgICAgcmVz
dWx0LmFwcGVuZCgiT0VTX2VsZW1lbnRfaW5kZXhfdWludCIpOwogICAgIHJlc3VsdC5hcHBlbmQo
IldFQkdMX2xvc2VfY29udGV4dCIpOworICAgIGlmIChXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRD
OjpzdXBwb3J0ZWQodGhpcykpCisgICAgICAgIHJlc3VsdC5hcHBlbmQoIldFQktJVF9XRUJHTF9j
b21wcmVzc2VkX3RleHR1cmVfYXRjIik7CiAgICAgaWYgKFdlYkdMQ29tcHJlc3NlZFRleHR1cmVT
M1RDOjpzdXBwb3J0ZWQodGhpcykpCiAgICAgICAgIHJlc3VsdC5hcHBlbmQoIldFQktJVF9XRUJH
TF9jb21wcmVzc2VkX3RleHR1cmVfczN0YyIpOwogICAgIGlmIChXZWJHTERlcHRoVGV4dHVyZTo6
c3VwcG9ydGVkKGdyYXBoaWNzQ29udGV4dDNEKCkpKQpAQCAtNTE4Miw2ICs1MTkxLDE3IEBAIGJv
b2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZUNvbXByZXNzZWRUZXhGdW5jRGF0YShj
b25zdCBjaGFyKiBmdW5jdGlvbk5hCiAgICAgICAgICAgICBieXRlc1JlcXVpcmVkID0gbnVtQmxv
Y2tzICoga0Jsb2NrU2l6ZTsKICAgICAgICAgfQogICAgICAgICBicmVhazsKKyAgICBjYXNlIEV4
dGVuc2lvbnMzRDo6Q09NUFJFU1NFRF9BVENfUkdCX0FNRDoKKyAgICAgICAgeworICAgICAgICAg
ICAgYnl0ZXNSZXF1aXJlZCA9IGZsb29yKCh3aWR0aCArIDMpIC8gNCkgKiBmbG9vcigoaGVpZ2h0
ICsgMykgLyA0KSAqIDg7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBFeHRl
bnNpb25zM0Q6OkNPTVBSRVNTRURfQVRDX1JHQkFfRVhQTElDSVRfQUxQSEFfQU1EOgorICAgIGNh
c2UgRXh0ZW5zaW9uczNEOjpDT01QUkVTU0VEX0FUQ19SR0JBX0lOVEVSUE9MQVRFRF9BTFBIQV9B
TUQ6CisgICAgICAgIHsKKyAgICAgICAgICAgIGJ5dGVzUmVxdWlyZWQgPSBmbG9vcigod2lkdGgg
KyAzKSAvIDQpICogZmxvb3IoKGhlaWdodCArIDMpIC8gNCkgKiAxNjsKKyAgICAgICAgfQorICAg
ICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFw
aGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNLCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIGZvcm1h
dCIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IDc5M2IzZDQ0OTcxNzYyNWMzYzM3
ZGJlZjg3YTEzODlhOWQ3NDk2YTYuLjQxYTM3OWZlNGRhNWE2YmY3OWVmYzhmYzdlOWFlZjdkY2Zk
NmE1YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dC5oCkBAIC01Niw2ICs1Niw3IEBAIGNsYXNzIFdlYkdMQWN0aXZlSW5mbzsKIGNs
YXNzIFdlYkdMQnVmZmVyOwogY2xhc3MgV2ViR0xDb250ZXh0R3JvdXA7CiBjbGFzcyBXZWJHTENv
bnRleHRPYmplY3Q7CitjbGFzcyBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDOwogY2xhc3MgV2Vi
R0xDb21wcmVzc2VkVGV4dHVyZVMzVEM7CiBjbGFzcyBXZWJHTENvbnRleHRBdHRyaWJ1dGVzOwog
Y2xhc3MgV2ViR0xEZWJ1Z1JlbmRlcmVySW5mbzsKQEAgLTMyNyw2ICszMjgsNyBAQCBwdWJsaWM6
CiAgICAgZnJpZW5kIGNsYXNzIFdlYkdMT2JqZWN0OwogICAgIGZyaWVuZCBjbGFzcyBPRVNWZXJ0
ZXhBcnJheU9iamVjdDsKICAgICBmcmllbmQgY2xhc3MgV2ViR0xEZWJ1Z1NoYWRlcnM7CisgICAg
ZnJpZW5kIGNsYXNzIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEM7CiAgICAgZnJpZW5kIGNsYXNz
IFdlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDOwogICAgIGZyaWVuZCBjbGFzcyBXZWJHTFJlbmRl
cmluZ0NvbnRleHRFcnJvck1lc3NhZ2VDYWxsYmFjazsKICAgICBmcmllbmQgY2xhc3MgV2ViR0xW
ZXJ0ZXhBcnJheU9iamVjdE9FUzsKQEAgLTUxNyw2ICs1MTksNyBAQCBwdWJsaWM6CiAgICAgT3du
UHRyPFdlYkdMTG9zZUNvbnRleHQ+IG1fd2ViZ2xMb3NlQ29udGV4dDsKICAgICBPd25QdHI8V2Vi
R0xEZWJ1Z1JlbmRlcmVySW5mbz4gbV93ZWJnbERlYnVnUmVuZGVyZXJJbmZvOwogICAgIE93blB0
cjxXZWJHTERlYnVnU2hhZGVycz4gbV93ZWJnbERlYnVnU2hhZGVyczsKKyAgICBPd25QdHI8V2Vi
R0xDb21wcmVzc2VkVGV4dHVyZUFUQz4gbV93ZWJnbENvbXByZXNzZWRUZXh0dXJlQVRDOwogICAg
IE93blB0cjxXZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQz4gbV93ZWJnbENvbXByZXNzZWRUZXh0
dXJlUzNUQzsKICAgICBPd25QdHI8V2ViR0xEZXB0aFRleHR1cmU+IG1fd2ViZ2xEZXB0aFRleHR1
cmU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVu
c2lvbnMzRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNE
LmgKaW5kZXggMmY0YzEyYzAzOTk5OWJkODdhMjNhZDQ3YmNlZGZlYjNlYTA0YzFmMS4uYjgyMDEz
NzQ5NjAwMWM2Zjk3OGE3NDdlMWZkYzI3ODViYWVmYjMxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmgKQEAgLTE0MSw2ICsxNDEsMTEgQEAg
cHVibGljOgogICAgICAgICBDT01QUkVTU0VEX1JHQkFfUFZSVENfNEJQUFYxX0lNRyA9IDB4OEMw
MiwKICAgICAgICAgQ09NUFJFU1NFRF9SR0JBX1BWUlRDXzJCUFBWMV9JTUcgPSAweDhDMDMsCiAK
KyAgICAgICAgLy8gR0xfQU1EX2NvbXByZXNzZWRfQVRDX3RleHR1cmUKKyAgICAgICAgQ09NUFJF
U1NFRF9BVENfUkdCX0FNRCA9IDB4OEM5MiwKKyAgICAgICAgQ09NUFJFU1NFRF9BVENfUkdCQV9F
WFBMSUNJVF9BTFBIQV9BTUQgPSAweDhDOTMsCisgICAgICAgIENPTVBSRVNTRURfQVRDX1JHQkFf
SU5URVJQT0xBVEVEX0FMUEhBX0FNRCA9IDB4ODdFRSwKKwogICAgICAgICAvLyBHTF9FWFRfdGV4
dHVyZV9maWx0ZXJfYW5pc290cm9waWMKICAgICAgICAgVEVYVFVSRV9NQVhfQU5JU09UUk9QWV9F
WFQgPSAweDg0RkUsCiAgICAgICAgIE1BWF9URVhUVVJFX01BWF9BTklTT1RST1BZX0VYVCA9IDB4
ODRGRiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA3MzQ5NjAxODBkOGUxNmRiMGUyMWFkNmQ3MjBmNTlmNzc3NjE1ZDEwLi5j
YWVmNzk1NzljYWZjZTMyYjFkZjkzN2YwZGI5Y2Q1MmYyZmQyNDNmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTMtMDItMjggIEJyYW5kb24gSm9uZXMgIDxiYWpvbmVzQGdvb2dsZS5jb20+CisK
KyAgICAgICAgV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0YyBuZWVkcyBpbXBsZW1lbnRhdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwNDk2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWJn
bC9jb25mb3JtYW5jZS9leHRlbnNpb25zL3dlYmdsLWNvbXByZXNzZWQtdGV4dHVyZS1hdGMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9leHRlbnNpb25z
L3dlYmdsLWNvbXByZXNzZWQtdGV4dHVyZS1hdGMuaHRtbDogQWRkZWQuCisKIDIwMTMtMDItMjYg
IFN0ZXBoZW4gQ2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KIAogICAgICAgICBmZURp
c3BsYWNlbWVudE1hcCBmaWx0ZXIgZ2V0cyBjb2xvciBzcGFjZSB3cm9uZwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy93ZWJnbC1jb21wcmVzc2Vk
LXRleHR1cmUtYXRjLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L2V4dGVuc2lvbnMvd2ViZ2wtY29tcHJlc3NlZC10ZXh0dXJlLWF0Yy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDhjNzk2N2JiNDY5MTUyYzdjMzA0MGVhZjVhYzc3YWRhMGE2ZDcwNwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMvd2Vi
Z2wtY29tcHJlc3NlZC10ZXh0dXJlLWF0Yy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitU
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy93ZWJnbC1jb21wcmVzc2VkLXRleHR1cmUt
YXRjLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvZXh0ZW5zaW9ucy93ZWJnbC1jb21wcmVzc2VkLXRleHR1cmUtYXRjLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9leHRlbnNpb25zL3dlYmdsLWNvbXByZXNzZWQtdGV4dHVy
ZS1hdGMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYTRjNzBiYjJkYWJkYzM5MTM4ODI5ZjNiZGM4MDY0MjNi
ODMyZDE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
ZXh0ZW5zaW9ucy93ZWJnbC1jb21wcmVzc2VkLXRleHR1cmUtYXRjLmh0bWwKQEAgLTAsMCArMSw0
MjMgQEAKK++7vzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMyBUaGUgS2hyb25vcyBH
cm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj
aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy
ZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlh
bHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp
ZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNl
bGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8g
d2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoq
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4g
YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioK
KyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg
T0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ
TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1Ig
QU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g
QUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwg
T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNF
IE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
Lz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8
dGl0bGU+V2ViR0wgV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0YyBDb25mb3JtYW5jZSBUZXN0
czwvdGl0bGU+Cis8c3R5bGU+CitpbWcgeworIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworIG1h
cmdpbi1yaWdodDogMWVtOworfQorLnRlc3RpbWFnZXMgeworfQorCisudGVzdGltYWdlcyBiciB7
CisgIGNsZWFyOiBib3RoOworfQorCisudGVzdGltYWdlcyA+IGRpdiB7CisgIGZsb2F0OiBsZWZ0
OworICBtYXJnaW46IDFlbTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjgiIGhlaWdo
dD0iOCIgc3R5bGU9IndpZHRoOiA4cHg7IGhlaWdodDogOHB4OyI+PC9jYW52YXM+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSBXRUJHTF9jb21wcmVz
c2VkX3RleHR1cmVfYXRjIGV4dGVuc2lvbiwgaWYgaXQgaXMgYXZhaWxhYmxlLiIpOworCitkZWJ1
ZygiIik7CisKKy8vIENvbXByZXNzZWQgdGV4dHVyZXMgZ2VuZXJhdGVkIHdpdGggQU1EJ3MgQ29t
cHJlc3NvbmF0b3IgdG9vbAorLy8gaHR0cDovL2RldmVsb3Blci5hbWQuY29tL3Jlc291cmNlcy9h
cmNoaXZlL2FyY2hpdmVkLXRvb2xzL2dwdS10b29scy1hcmNoaXZlL3RoZS1jb21wcmVzc29uYXRv
ci8KK3ZhciBpbWdfNHg0X3JnYmFfcmF3ID0gbmV3IFVpbnQ4QXJyYXkoWworICAgIDB4ZmYsMHgw
MCwweDAwLDB4NjksMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4MDAsMHgwMCwweGZmLDB4MDAs
MHhmZiwweDAwLDB4ZmYsCisgICAgMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCww
eGZmLDB4ZmYsMHgwMCwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwKKyAgICAweGZmLDB4
MDAsMHgwMCwweGZmLDB4ZmYsMHgwMCwweDAwLDB4ZmYsMHhmZiwweDAwLDB4MDAsMHhmZiwweDAw
LDB4ZmYsMHgwMCwweGZmLAorICAgIDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAs
MHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsCitdKTsKK3ZhciBp
bWdfNHg0X3JnYl9hdGMgPSBuZXcgVWludDhBcnJheShbCisgICAgMHgwMCwweDdjLDB4ZTAsMHgw
NywweGNjLDB4Y2YsMHhjMCwweGZmLAorXSk7Cit2YXIgaW1nXzR4NF9yZ2JhX2F0Y19leHBsaWNp
dCA9IG5ldyBVaW50OEFycmF5KFsKKyAgICAweGY2LDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiww
eGZmLDB4ZmYsMHgwMCwweDdjLDB4ZTAsMHgwNywweGNjLDB4Y2YsMHhjMCwweGZmLAorXSk7Cit2
YXIgaW1nXzR4NF9yZ2JhX2F0Y19pbXBsaWNpdCA9IG5ldyBVaW50OEFycmF5KFsKKyAgICAweGZm
LDB4NmEsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDdjLDB4ZTAsMHgwNyww
eGNjLDB4Y2YsMHhjMCwweGZmLAorXSk7Cit2YXIgaW1nXzh4OF9yZ2JhX3JhdyA9IG5ldyBVaW50
OEFycmF5KFsKKyAgICAweGZmLDB4MDAsMHgwMCwweDY5LDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhm
ZiwweDAwLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLAorICAgIDB4ZmYsMHhmZiwweDAw
LDB4ZmYsMHgwMCwweDAwLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHgwMCww
eGZmLDB4ZmYsCisgICAgMHgwMCwweGZmLDB4MDAsMHg2OSwweDAwLDB4ZmYsMHgwMCwweGZmLDB4
ZmYsMHgwMCwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwKKyAgICAweDAwLDB4MDAsMHhm
ZiwweGZmLDB4MDAsMHgwMCwweGZmLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4MDAs
MHhmZiwweGZmLAorICAgIDB4ZmYsMHgwMCwweDAwLDB4ZmYsMHhmZiwweDAwLDB4MDAsMHhmZiww
eGZmLDB4MDAsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsCisgICAgMHhmZiwweGZmLDB4
MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweDAw
LDB4ZmYsMHhmZiwKKyAgICAweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYs
MHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLAorICAgIDB4MDAsMHgwMCww
eGZmLDB4ZmYsMHgwMCwweDAwLDB4ZmYsMHhmZiwweDAwLDB4MDAsMHhmZiwweGZmLDB4MDAsMHgw
MCwweGZmLDB4ZmYsCisgICAgMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4MDAsMHhmZiwweGZm
LDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmZiwKKyAgICAweDAwLDB4MDAs
MHhmZiwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweDAwLDB4ZmYsMHhmZiwweDAwLDB4
ZmYsMHhmZiwweGZmLAorICAgIDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhm
ZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ZmYsCisgICAgMHgwMCwweGZm
LDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHgwMCwweGZmLDB4ZmYsMHgwMCww
eGZmLDB4ZmYsMHhmZiwKKyAgICAweDAwLDB4ZmYsMHgwMCwweDY5LDB4MDAsMHhmZiwweDAwLDB4
ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4MDAsMHhmZiwweGZmLAorICAgIDB4MDAsMHgw
MCwweGZmLDB4ZmYsMHgwMCwweDAwLDB4ZmYsMHhmZiwweDAwLDB4MDAsMHhmZiwweGZmLDB4MDAs
MHhmZiwweGZmLDB4ZmYsCisgICAgMHhmZiwweDAwLDB4ZmYsMHg2OSwweGZmLDB4MDAsMHhmZiww
eGZmLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmZiwKKyAgICAweDAwLDB4
ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAw
LDB4ZmYsMHhmZiwweGZmLAorXSk7Cit2YXIgaW1nXzh4OF9yZ2JfYXRjID0gbmV3IFVpbnQ4QXJy
YXkoWworICAgIDB4MDAsMHg3YywweGUwLDB4MDcsMHhjYywweGNmLDB4YzAsMHhmZiwweDFmLDB4
MDAsMHhlMCwweGZmLDB4MzMsMHgzMCwweDNmLDB4MDAsCisgICAgMHgxZiwweDdjLDB4ZTAsMHgw
NywweDMzLDB4MzAsMHgzZiwweDAwLDB4MWYsMHgwMCwweGZmLDB4MDcsMHhjYywweGNmLDB4YzAs
MHhmZiwKK10pOwordmFyIGltZ184eDhfcmdiYV9hdGNfZXhwbGljaXQgPSBuZXcgVWludDhBcnJh
eShbCisgICAgMHhmNiwweGZmLDB4ZjYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHg3
YywweGUwLDB4MDcsMHhjYywweGNmLDB4YzAsMHhmZiwKKyAgICAweGZmLDB4ZmYsMHhmZiwweGZm
LDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgxZiwweDAwLDB4ZTAsMHhmZiwweDMzLDB4MzAsMHgzZiww
eDAwLAorICAgIDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmNiwweGZmLDB4ZjYsMHhmZiwweDFmLDB4
N2MsMHhlMCwweDA3LDB4MzMsMHgzMCwweDNmLDB4MDAsCisgICAgMHhmZiwweGZmLDB4ZmYsMHhm
ZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHgwMCwweGZmLDB4MDcsMHhjYywweGNmLDB4YzAs
MHhmZiwKK10pOwordmFyIGltZ184eDhfcmdiYV9hdGNfaW1wbGljaXQgPSBuZXcgVWludDhBcnJh
eShbCisgICAgMHhmZiwweDZhLDB4MDEsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg3
YywweGUwLDB4MDcsMHhjYywweGNmLDB4YzAsMHhmZiwKKyAgICAweDAwLDB4ZmYsMHg0OSwweDky
LDB4MjQsMHg0OSwweDkyLDB4MjQsMHgxZiwweDAwLDB4ZTAsMHhmZiwweDMzLDB4MzAsMHgzZiww
eDAwLAorICAgIDB4ZmYsMHg2OSwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHgwMCwweDFmLDB4
N2MsMHhlMCwweDA3LDB4MzMsMHgzMCwweDNmLDB4MDAsCisgICAgMHgwMCwweGZmLDB4NDksMHg5
MiwweDI0LDB4NDksMHg5MiwweDI0LDB4MWYsMHgwMCwweGZmLDB4MDcsMHhjYywweGNmLDB4YzAs
MHhmZiwKK10pOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgY2FudmFzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29u
dGV4dChjYW52YXMsIHthbnRpYWxpYXM6IGZhbHNlfSk7Cit2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1
cFRleHR1cmVkUXVhZChnbCk7Cit2YXIgZXh0ID0gbnVsbDsKK3ZhciB2YW8gPSBudWxsOwordmFy
IHZhbGlkRm9ybWF0cyA9IHsKKyAgICBDT01QUkVTU0VEX1JHQl9BVENfV0VCR0wgICAgICAgICAg
ICAgICAgICAgICAgICA6IDB4OEM5MiwKKyAgICBDT01QUkVTU0VEX1JHQkFfQVRDX0VYUExJQ0lU
X0FMUEhBX1dFQkdMICAgICAgICA6IDB4OEM5MywKKyAgICBDT01QUkVTU0VEX1JHQkFfQVRDX0lO
VEVSUE9MQVRFRF9BTFBIQV9XRUJHTCAgICA6IDB4ODdFRSwKK307Cit2YXIgbmFtZTsKK3ZhciBz
dXBwb3J0ZWRGb3JtYXRzOworCitpZiAoIWdsKSB7CisgICAgdGVzdEZhaWxlZCgiV2ViR0wgY29u
dGV4dCBkb2VzIG5vdCBleGlzdCIpOworfSBlbHNlIHsKKyAgICB0ZXN0UGFzc2VkKCJXZWJHTCBj
b250ZXh0IGV4aXN0cyIpOworCisgICAgLy8gUnVuIHRlc3RzIHdpdGggZXh0ZW5zaW9uIGRpc2Fi
bGVkCisgICAgcnVuVGVzdERpc2FibGVkKCk7CisKKyAgICAvLyBRdWVyeSB0aGUgZXh0ZW5zaW9u
IGFuZCBzdG9yZSBnbG9iYWxseSBzbyBzaG91bGRCZSBjYW4gYWNjZXNzIGl0CisgICAgZXh0ID0g
d3R1LmdldEV4dGVuc2lvbldpdGhLbm93blByZWZpeGVzKGdsLCAiV0VCR0xfY29tcHJlc3NlZF90
ZXh0dXJlX2F0YyIpOworICAgIGlmICghZXh0KSB7CisgICAgICAgIHRlc3RQYXNzZWQoIk5vIFdF
QkdMX2NvbXByZXNzZWRfdGV4dHVyZV9hdGMgc3VwcG9ydCAtLSB0aGlzIGlzIGxlZ2FsIik7Cisg
ICAgICAgIHJ1blN1cHBvcnRlZFRlc3QoZmFsc2UpOworICAgIH0gZWxzZSB7CisgICAgICAgIHRl
c3RQYXNzZWQoIlN1Y2Nlc3NmdWxseSBlbmFibGVkIFdFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9h
dGMgZXh0ZW5zaW9uIik7CisKKyAgICAgICAgcnVuU3VwcG9ydGVkVGVzdCh0cnVlKTsKKyAgICAg
ICAgcnVuVGVzdEV4dGVuc2lvbigpOworICAgIH0KK30KKworZnVuY3Rpb24gcnVuU3VwcG9ydGVk
VGVzdChleHRlbnNpb25FbmFibGVkKSB7CisgICAgdmFyIG5hbWUgPSB3dHUuZ2V0U3VwcG9ydGVk
RXh0ZW5zaW9uV2l0aEtub3duUHJlZml4ZXMoZ2wsICJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVf
YXRjIik7CisgICAgaWYgKG5hbWUgIT09IHVuZGVmaW5lZCkgeworICAgICAgICBpZiAoZXh0ZW5z
aW9uRW5hYmxlZCkgeworICAgICAgICAgICAgdGVzdFBhc3NlZCgiV0VCR0xfY29tcHJlc3NlZF90
ZXh0dXJlX2F0YyBsaXN0ZWQgYXMgc3VwcG9ydGVkIGFuZCBnZXRFeHRlbnNpb24gc3VjY2VlZGVk
Iik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJXRUJHTF9jb21w
cmVzc2VkX3RleHR1cmVfYXRjIGxpc3RlZCBhcyBzdXBwb3J0ZWQgYnV0IGdldEV4dGVuc2lvbiBm
YWlsZWQiKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChleHRlbnNpb25F
bmFibGVkKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJXRUJHTF9jb21wcmVzc2VkX3RleHR1
cmVfYXRjIG5vdCBsaXN0ZWQgYXMgc3VwcG9ydGVkIGJ1dCBnZXRFeHRlbnNpb24gc3VjY2VlZGVk
Iik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJXRUJHTF9jb21w
cmVzc2VkX3RleHR1cmVfYXRjIG5vdCBsaXN0ZWQgYXMgc3VwcG9ydGVkIGFuZCBnZXRFeHRlbnNp
b24gZmFpbGVkIC0tIHRoaXMgaXMgbGVnYWwiKTsKKyAgICAgICAgfQorICAgIH0KK30KKworCitm
dW5jdGlvbiBydW5UZXN0RGlzYWJsZWQoKSB7CisgICAgZGVidWcoIlRlc3RpbmcgYmluZGluZyBl
bnVtIHdpdGggZXh0ZW5zaW9uIGRpc2FibGVkIik7CisKKyAgICBzaG91bGRCZSgnZ2wuZ2V0UGFy
YW1ldGVyKGdsLkNPTVBSRVNTRURfVEVYVFVSRV9GT1JNQVRTKScsICdbXScpOworfQorCitmdW5j
dGlvbiBmb3JtYXRFeGlzdHMoZm9ybWF0LCBzdXBwb3J0ZWRGb3JtYXRzKSB7CisgICAgZm9yICh2
YXIgaWkgPSAwOyBpaSA8IHN1cHBvcnRlZEZvcm1hdHMubGVuZ3RoOyArK2lpKSB7CisgICAgICAg
IGlmIChmb3JtYXQgPT0gc3VwcG9ydGVkRm9ybWF0c1tpaV0pIHsKKyAgICAgICAgICAgIHRlc3RQ
YXNzZWQoInN1cHBvcnRlZCBmb3JtYXQgIiArIGZvcm1hdFRvU3RyaW5nKGZvcm1hdCkgKyAiIGlz
IGV4aXN0cyIpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorICAgIHRl
c3RGYWlsZWQoInN1cHBvcnRlZCBmb3JtYXQgIiArIGZvcm1hdFRvU3RyaW5nKGZvcm1hdCkgKyAi
IGRvZXMgbm90IGV4aXN0Iik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFRvU3RyaW5nKGZvcm1hdCkg
eworICAgIGZvciAodmFyIHAgaW4gZXh0KSB7CisgICAgICAgIGlmIChleHRbcF0gPT0gZm9ybWF0
KSB7CisgICAgICAgICAgICByZXR1cm4gcDsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4g
IjB4IiArIGZvcm1hdC50b1N0cmluZygxNik7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3RFeHRlbnNp
b24oKSB7CisgICAgZGVidWcoIlRlc3RpbmcgV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0YyIp
OworCisgICAgLy8gY2hlY2sgdGhhdCBhbGwgZm9ybWF0IGVudW1zIGV4aXN0LgorICAgIGZvciAo
bmFtZSBpbiB2YWxpZEZvcm1hdHMpIHsKKyAgICAgICAgdmFyIGV4cGVjdGVkID0gIjB4IiArIHZh
bGlkRm9ybWF0c1tuYW1lXS50b1N0cmluZygxNik7CisgICAgICAgIHZhciBhY3R1YWwgPSAiZXh0
WyciICsgbmFtZSArICInXSI7CisgICAgICAgIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpOwor
ICAgIH0KKworICAgIHN1cHBvcnRlZEZvcm1hdHMgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuQ09NUFJF
U1NFRF9URVhUVVJFX0ZPUk1BVFMpOworICAgIC8vIFRoZXJlIHNob3VsZCBiZSBleGFjdGx5IDMg
Zm9ybWF0cworICAgIHNob3VsZEJlKCJzdXBwb3J0ZWRGb3JtYXRzLmxlbmd0aCIsICIzIik7CisK
KyAgICAvLyBjaGVjayB0aGF0IGFsbCAzIGZvcm1hdHMgZXhpc3QKKyAgICBmb3IgKHZhciBuYW1l
IGluIHZhbGlkRm9ybWF0cy5sZW5ndGgpIHsKKyAgICAgICAgZm9ybWF0RXhpc3RzKHZhbGlkRm9y
bWF0c1tuYW1lXSwgc3VwcG9ydGVkRm9ybWF0cyk7CisgICAgfQorCisgICAgLy8gVGVzdCBlYWNo
IGZvcm1hdAorICAgIHRlc3RBVENfUkdCKCk7CisgICAgdGVzdEFUQ19SR0JBX0V4cGxpY2l0KCk7
CisgICAgdGVzdEFUQ19SR0JBX0ludGVycG9sYXRlZCgpOworfQorCitmdW5jdGlvbiB0ZXN0QVRD
X1JHQigpIHsKKyAgICB2YXIgdGVzdHMgPSBbCisgICAgICAgIHsgICB3aWR0aDogNCwKKyAgICAg
ICAgICAgIGhlaWdodDogNCwKKyAgICAgICAgICAgIGNoYW5uZWxzOiAzLAorICAgICAgICAgICAg
ZGF0YTogaW1nXzR4NF9yZ2JfYXRjLAorICAgICAgICAgICAgcmF3OiBpbWdfNHg0X3JnYmFfcmF3
LAorICAgICAgICAgICAgZm9ybWF0OiBleHQuQ09NUFJFU1NFRF9SR0JfQVRDX1dFQkdMCisgICAg
ICAgIH0sCisgICAgICAgIHsgICB3aWR0aDogOCwKKyAgICAgICAgICAgIGhlaWdodDogOCwKKyAg
ICAgICAgICAgIGNoYW5uZWxzOiAzLAorICAgICAgICAgICAgZGF0YTogaW1nXzh4OF9yZ2JfYXRj
LAorICAgICAgICAgICAgcmF3OiBpbWdfOHg4X3JnYmFfcmF3LAorICAgICAgICAgICAgZm9ybWF0
OiBleHQuQ09NUFJFU1NFRF9SR0JfQVRDX1dFQkdMCisgICAgICAgIH0KKyAgICBdOworICAgIHRl
c3RBQ1RUZXh0dXJlcyh0ZXN0cyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RBVENfUkdCQV9FeHBsaWNp
dCgpIHsKKyAgICB2YXIgdGVzdHMgPSBbCisgICAgICAgIHsgICB3aWR0aDogNCwKKyAgICAgICAg
ICAgIGhlaWdodDogNCwKKyAgICAgICAgICAgIGNoYW5uZWxzOiA0LAorICAgICAgICAgICAgZGF0
YTogaW1nXzR4NF9yZ2JhX2F0Y19leHBsaWNpdCwKKyAgICAgICAgICAgIHJhdzogaW1nXzR4NF9y
Z2JhX3JhdywKKyAgICAgICAgICAgIGZvcm1hdDogZXh0LkNPTVBSRVNTRURfUkdCQV9BVENfRVhQ
TElDSVRfQUxQSEFfV0VCR0wKKyAgICAgICAgfSwKKyAgICAgICAgeyAgIHdpZHRoOiA4LAorICAg
ICAgICAgICAgaGVpZ2h0OiA4LAorICAgICAgICAgICAgY2hhbm5lbHM6IDQsCisgICAgICAgICAg
ICBkYXRhOiBpbWdfOHg4X3JnYmFfYXRjX2V4cGxpY2l0LAorICAgICAgICAgICAgcmF3OiBpbWdf
OHg4X3JnYmFfcmF3LAorICAgICAgICAgICAgZm9ybWF0OiBleHQuQ09NUFJFU1NFRF9SR0JBX0FU
Q19FWFBMSUNJVF9BTFBIQV9XRUJHTAorICAgICAgICB9CisgICAgXTsKKyAgICB0ZXN0QUNUVGV4
dHVyZXModGVzdHMpOworfQorCitmdW5jdGlvbiB0ZXN0QVRDX1JHQkFfSW50ZXJwb2xhdGVkKCkg
eworICAgIHZhciB0ZXN0cyA9IFsKKyAgICAgICAgeyAgIHdpZHRoOiA0LAorICAgICAgICAgICAg
aGVpZ2h0OiA0LAorICAgICAgICAgICAgY2hhbm5lbHM6IDQsCisgICAgICAgICAgICBkYXRhOiBp
bWdfNHg0X3JnYmFfYXRjX2ludGVycG9sYXRlZCwKKyAgICAgICAgICAgIHJhdzogaW1nXzR4NF9y
Z2JhX3JhdywKKyAgICAgICAgICAgIGZvcm1hdDogZXh0LkNPTVBSRVNTRURfUkdCQV9BVENfSU5U
RVJQT0xBVEVEX0FMUEhBX1dFQkdMCisgICAgICAgIH0sCisgICAgICAgIHsgICB3aWR0aDogOCwK
KyAgICAgICAgICAgIGhlaWdodDogOCwKKyAgICAgICAgICAgIGNoYW5uZWxzOiA0LAorICAgICAg
ICAgICAgZGF0YTogaW1nXzh4OF9yZ2JhX2F0Y19pbnRlcnBvbGF0ZWQsCisgICAgICAgICAgICBy
YXc6IGltZ184eDhfcmdiYV9yYXcsCisgICAgICAgICAgICBmb3JtYXQ6IGV4dC5DT01QUkVTU0VE
X1JHQkFfQVRDX0lOVEVSUE9MQVRFRF9BTFBIQV9XRUJHTAorICAgICAgICB9CisgICAgXTsKKyAg
ICB0ZXN0QUNUVGV4dHVyZXModGVzdHMpOworfQorCitmdW5jdGlvbiB0ZXN0QUNUVGV4dHVyZXMo
dGVzdHMpIHsKKyAgICBkZWJ1ZygiPGhyLz4iKTsKKyAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwg
dGVzdHMubGVuZ3RoOyArK2lpKSB7CisgICAgICAgIHRlc3RBQ1RUZXh0dXJlKHRlc3RzW2lpXSk7
CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0QUNUVGV4dHVyZSh0ZXN0KSB7CisgICAgdmFyIGRh
dGEgPSBuZXcgVWludDhBcnJheSh0ZXN0LmRhdGEpOworICAgIHZhciB3aWR0aCA9IHRlc3Qud2lk
dGg7CisgICAgdmFyIGhlaWdodCA9IHRlc3QuaGVpZ2h0OworICAgIHZhciBmb3JtYXQgPSB0ZXN0
LmZvcm1hdDsKKyAgICB2YXIgdW5jb21wcmVzc2VkRGF0YSA9IHRlc3QucmF3OworCisgICAgY2Fu
dmFzLndpZHRoID0gd2lkdGg7CisgICAgY2FudmFzLmhlaWdodCA9IGhlaWdodDsKKyAgICBnbC52
aWV3cG9ydCgwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBkZWJ1ZygidGVzdGluZyAiICsgZm9y
bWF0VG9TdHJpbmcoZm9ybWF0KSArICIgIiArIHdpZHRoICsgIngiICsgaGVpZ2h0KTsKKworICAg
IHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVY
VFVSRV8yRCwgdGV4KTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRF
WFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGds
LlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICBn
bC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wu
TkVBUkVTVCk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJF
X01BR19GSUxURVIsIGdsLk5FQVJFU1QpOworICAgIGdsLmNvbXByZXNzZWRUZXhJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIGZvcm1hdCwgd2lkdGgsIGhlaWdodCwgMCwgZGF0YSk7CisgICAgZ2xF
cnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInVwbG9hZGluZyBjb21wcmVzc2VkIHRleHR1
cmUiKTsKKyAgICBnbC5nZW5lcmF0ZU1pcG1hcChnbC5URVhUVVJFXzJEKTsKKyAgICBnbEVycm9y
U2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAidHJ5aW5nIHRvIGdlbmVyYXRlIG1p
cG1hcHMgZnJvbSBjb21wcmVzc2VkIHRleHR1cmUiKTsKKyAgICB3dHUuY2xlYXJBbmREcmF3VW5p
dFF1YWQoZ2wpOworICAgIGNvbXBhcmVSZWN0KHdpZHRoLCBoZWlnaHQsIHRlc3QuY2hhbm5lbHMs
IHdpZHRoLCBoZWlnaHQsIHVuY29tcHJlc3NlZERhdGEsIGRhdGEsIGZvcm1hdCk7CisKKyAgICBn
bC5jb21wcmVzc2VkVGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBmb3JtYXQsIHdpZHRoICsg
NCwgaGVpZ2h0LCAwLCBkYXRhKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURf
VkFMVUUsICJkYXRhIHNpemUgZG9lcyBub3QgbWF0Y2ggZGltZW5zaW9ucyIpOworICAgIGdsLmNv
bXByZXNzZWRUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGZvcm1hdCwgd2lkdGgsIGhlaWdo
dCArIDQsIDAsIGRhdGEpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxV
RSwgImRhdGEgc2l6ZSBkb2VzIG5vdCBtYXRjaCBkaW1lbnNpb25zIik7CisgICAgZ2wuY29tcHJl
c3NlZFRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZm9ybWF0LCB3aWR0aCAtIDQsIGhlaWdo
dCwgMCwgZGF0YSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAi
ZGF0YSBzaXplIGRvZXMgbm90IG1hdGNoIGRpbWVuc2lvbnMiKTsKKyAgICBnbC5jb21wcmVzc2Vk
VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBmb3JtYXQsIHdpZHRoLCBoZWlnaHQgLSA0LCAw
LCBkYXRhKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJkYXRh
IHNpemUgZG9lcyBub3QgbWF0Y2ggZGltZW5zaW9ucyIpOworCisgICAgZ2wuY29tcHJlc3NlZFRl
eEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZm9ybWF0LCB3aWR0aCAtIDEsIGhlaWdodCwgMCwg
ZGF0YSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImlu
dmFsaWQgZGltZW5zaW9ucyIpOworICAgIGdsLmNvbXByZXNzZWRUZXhJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIGZvcm1hdCwgd2lkdGggLSAyLCBoZWlnaHQsIDAsIGRhdGEpOworICAgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJpbnZhbGlkIGRpbWVuc2lvbnMi
KTsKKyAgICBnbC5jb21wcmVzc2VkVGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBmb3JtYXQs
IHdpZHRoLCBoZWlnaHQgLSAxLCAwLCBkYXRhKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGds
LklOVkFMSURfT1BFUkFUSU9OLCAiaW52YWxpZCBkaW1lbnNpb25zIik7CisgICAgZ2wuY29tcHJl
c3NlZFRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZm9ybWF0LCB3aWR0aCwgaGVpZ2h0IC0g
MiwgMCwgZGF0YSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElP
TiwgImludmFsaWQgZGltZW5zaW9ucyIpOworCisgICAgZ2wuY29tcHJlc3NlZFRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgLTEsIGZvcm1hdCwgMSwgaGVpZ2h0LCAwLCBkYXRhKTsKKyAgICBnbEVy
cm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiY2Fubm90IHNwZWNpZnkgbmVnYXRpdmUgbWlw
IGxldmVsIik7CisKKyAgICAvLyBBVEMgRG9lcyBub3QgYWxsb3cgdXNlIG9mIENvbXByZXNzZWRU
ZXhTdWJJbWFnZQorICAgIGdsLmNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIDAsIDAsIHdpZHRoLCBoZWlnaHQsIGZvcm1hdCwgZGF0YSk7CisgICAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImNvbXByZXNzZWRUZXhTdWJJbWFnZTJEIG5v
dCBhbGxvd2VkIik7Cit9CisKK2Z1bmN0aW9uIGluc2VydEltZyhlbGVtZW50LCBjYXB0aW9uLCBp
bWcpIHsKKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAg
ZGl2LmFwcGVuZENoaWxkKGltZyk7CisgICAgdmFyIGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CisgICAgbGFiZWwuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5v
ZGUoY2FwdGlvbikpOworICAgIGRpdi5hcHBlbmRDaGlsZChsYWJlbCk7CisgICAgZWxlbWVudC5h
cHBlbmRDaGlsZChkaXYpOworfQorCitmdW5jdGlvbiBtYWtlSW1hZ2UoaW1hZ2VXaWR0aCwgaW1h
Z2VIZWlnaHQsIGRhdGFXaWR0aCwgZGF0YSwgYWxwaGEpIHsKKyAgICB2YXIgc2NhbGUgPSA4Owor
ICAgIHZhciBjID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7CisgICAgYy53aWR0
aCA9IGltYWdlV2lkdGggKiBzY2FsZTsKKyAgICBjLmhlaWdodCA9IGltYWdlSGVpZ2h0ICogc2Nh
bGU7CisgICAgdmFyIGN0eCA9IGMuZ2V0Q29udGV4dCgiMmQiKTsKKyAgICBmb3IgKHZhciB5eSA9
IDA7IHl5IDwgaW1hZ2VIZWlnaHQ7ICsreXkpIHsKKyAgICAgICAgZm9yICh2YXIgeHggPSAwOyB4
eCA8IGltYWdlV2lkdGg7ICsreHgpIHsKKyAgICAgICAgICAgIHZhciBvZmZzZXQgPSAoeXkgKiBk
YXRhV2lkdGggKyB4eCkgKiA0OworICAgICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICJyZ2JhKCIg
KworICAgICAgICAgICAgICAgICAgICBkYXRhW29mZnNldCArIDBdICsgIiwiICsKKyAgICAgICAg
ICAgICAgICAgICAgZGF0YVtvZmZzZXQgKyAxXSArICIsIiArCisgICAgICAgICAgICAgICAgICAg
IGRhdGFbb2Zmc2V0ICsgMl0gKyAiLCIgKworICAgICAgICAgICAgICAgICAgICAoYWxwaGEgPyBk
YXRhW29mZnNldCArIDNdIC8gMjU1IDogMSkgKyAiKSI7CisgICAgICAgICAgICBjdHguZmlsbFJl
Y3QoeHggKiBzY2FsZSwgeXkgKiBzY2FsZSwgc2NhbGUsIHNjYWxlKTsKKyAgICAgICAgfQorICAg
IH0KKyAgICB2YXIgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7CisgICAgaW1n
LnNyYyA9IGMudG9EYXRhVVJMKCk7CisgICAgcmV0dXJuIGltZzsKK30KK2Z1bmN0aW9uIGNvbXBh
cmVSZWN0KAorICAgICAgICBhY3R1YWxXaWR0aCwgYWN0dWFsSGVpZ2h0LCBhY3R1YWxDaGFubmVs
cywKKyAgICAgICAgZGF0YVdpZHRoLCBkYXRhSGVpZ2h0LCBleHBlY3RlZERhdGEsCisgICAgICAg
IHRlc3REYXRhLCB0ZXN0Rm9ybWF0LCB0b2xlcmFuY2UpIHsKKyAgICBpZih0eXBlb2YodG9sZXJh
bmNlKSA9PSAndW5kZWZpbmVkJykgeyB0b2xlcmFuY2UgPSA1OyB9CisgICAgdmFyIGFjdHVhbCA9
IG5ldyBVaW50OEFycmF5KGFjdHVhbFdpZHRoICogYWN0dWFsSGVpZ2h0ICogNCk7CisgICAgZ2wu
cmVhZFBpeGVscygKKyAgICAgICAgICAgIDAsIDAsIGFjdHVhbFdpZHRoLCBhY3R1YWxIZWlnaHQs
IGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGFjdHVhbCk7CisKKyAgICB2YXIgZGl2ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZGl2LmNsYXNzTmFtZSA9ICJ0ZXN0aW1h
Z2VzIjsKKyAgICBpbnNlcnRJbWcoZGl2LCAiZXhwZWN0ZWQiLCBtYWtlSW1hZ2UoCisgICAgICAg
ICAgICBhY3R1YWxXaWR0aCwgYWN0dWFsSGVpZ2h0LCBkYXRhV2lkdGgsIGV4cGVjdGVkRGF0YSwK
KyAgICAgICAgICAgIGFjdHVhbENoYW5uZWxzID09IDQpKTsKKyAgICBpbnNlcnRJbWcoZGl2LCAi
YWN0dWFsIiwgbWFrZUltYWdlKAorICAgICAgICAgICAgYWN0dWFsV2lkdGgsIGFjdHVhbEhlaWdo
dCwgYWN0dWFsV2lkdGgsIGFjdHVhbCwKKyAgICAgICAgICAgIGFjdHVhbENoYW5uZWxzID09IDQp
KTsKKyAgICBkaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnInKSk7Cisg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5hcHBlbmRDaGlsZChkaXYpOwor
CisgICAgdmFyIGZhaWxlZCA9IGZhbHNlOworICAgIGZvciAodmFyIHl5ID0gMDsgeXkgPCBhY3R1
YWxIZWlnaHQ7ICsreXkpIHsKKyAgICAgICAgZm9yICh2YXIgeHggPSAwOyB4eCA8IGFjdHVhbFdp
ZHRoOyArK3h4KSB7CisgICAgICAgICAgICB2YXIgYWN0dWFsT2Zmc2V0ID0gKHl5ICogYWN0dWFs
V2lkdGggKyB4eCkgKiA0OworICAgICAgICAgICAgdmFyIGV4cGVjdGVkT2Zmc2V0ID0gKHl5ICog
ZGF0YVdpZHRoICsgeHgpICogNDsKKyAgICAgICAgICAgIHZhciBleHBlY3RlZCA9IFsKKyAgICAg
ICAgICAgICAgICAgICAgZXhwZWN0ZWREYXRhW2V4cGVjdGVkT2Zmc2V0ICsgMF0sCisgICAgICAg
ICAgICAgICAgICAgIGV4cGVjdGVkRGF0YVtleHBlY3RlZE9mZnNldCArIDFdLAorICAgICAgICAg
ICAgICAgICAgICBleHBlY3RlZERhdGFbZXhwZWN0ZWRPZmZzZXQgKyAyXSwKKyAgICAgICAgICAg
ICAgICAgICAgKGFjdHVhbENoYW5uZWxzID09IDMgPyAyNTUgOiBleHBlY3RlZERhdGFbZXhwZWN0
ZWRPZmZzZXQgKyAzXSkKKyAgICAgICAgICAgIF07CisgICAgICAgICAgICBmb3IgKHZhciBqaiA9
IDA7IGpqIDwgNDsgKytqaikgeworICAgICAgICAgICAgICAgIGlmIChNYXRoLmFicyhhY3R1YWxb
YWN0dWFsT2Zmc2V0ICsgampdIC0gZXhwZWN0ZWRbampdKSA+IHRvbGVyYW5jZSkgeworICAgICAg
ICAgICAgICAgICAgICBmYWlsZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICB2YXIgd2Fz
ID0gYWN0dWFsW2FjdHVhbE9mZnNldCArIDBdLnRvU3RyaW5nKCk7CisgICAgICAgICAgICAgICAg
ICAgIGZvciAoaiA9IDE7IGogPCA0OyArK2opIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHdh
cyArPSAiLCIgKyBhY3R1YWxbYWN0dWFsT2Zmc2V0ICsgal07CisgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgnYXQgKCcgKyB4eCArICcsICcgKyB5
eSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcpIGV4cGVjdGVk
OiAnICsgZXhwZWN0ZWQgKyAnIHdhcyAnICsgd2FzKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKCFmYWlsZWQpIHsKKyAgICAgICAg
dGVzdFBhc3NlZCgidGV4dHVyZSByZW5kZXJlZCBjb3JyZWN0bHkiKTsKKyAgICB9Cit9CisKK2Rl
YnVnKCIiKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwv
Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191000</attachid>
            <date>2013-03-01 11:48:47 -0800</date>
            <delta_ts>2013-03-01 13:11:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110496-20130301114458.patch</filename>
            <type>text/plain</type>
            <size>51799</size>
            <attacher name="Brandon Jones">bajones</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWMyODhlOWVjYThhMWM5
NGI0YWY5ZjlmMjQ2ZmE5ZWE0MTdkNjkxYi4uNjRkYjczNzUxNWNlODI4MjQ2YWU3NjUyNTI0OGE2
YzA3ZmMwZTFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEzLTAzLTAxICBCcmFu
ZG9uIEpvbmVzICA8YmFqb25lc0Bnb29nbGUuY29tPgorCisgICAgICAgIFdFQkdMX2NvbXByZXNz
ZWRfdGV4dHVyZV9hdGMgaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDQ5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IHdlYmdsL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMv
d2ViZ2wtY29tcHJlc3NlZC10ZXh0dXJlLWF0Yy5odG1sCisKKyAgICAgICAgRXhwb3NlcyB0aGUg
V0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0YyBleHRlbnNpb24sIGJ1dCBpcyB1bnZlcmlmaWVk
IHNpbmNlIG5vIGRlc2t0b3AgaGFyZHdhcmUgc3VwcG9ydHMKKyAgICAgICAgdGhlIGZvcm1hdCB0
aGF0IEkgYW0gYXdhcmUgb2YuIFNob3VsZCBlbmFibGUgbW9iaWxlIHBvcnRzIHRvIGV4cG9zZSB0
aGUgZm9ybWF0LCBob3dldmVyLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5wcmk6Cisg
ICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRD
dXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmguCisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEM6OldlYkdMQ29tcHJlc3Nl
ZFRleHR1cmVBVEMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFU
Qzo6fldlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xD
b21wcmVzc2VkVGV4dHVyZUFUQzo6Z2V0TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTENv
bXByZXNzZWRUZXh0dXJlQVRDOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xDb21w
cmVzc2VkVGV4dHVyZUFUQzo6c3VwcG9ydGVkKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJH
TENvbXByZXNzZWRUZXh0dXJlQVRDLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMRXh0ZW5zaW9uLmguCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkdMQ29tcHJlc3NlZFRleHR1cmVBVEMpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQ29t
cHJlc3NlZFRleHR1cmVBVEMuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTEV4dGVuc2lvbi5oLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMRXh0ZW5z
aW9uLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250
ZXh0OjpwYWludFJlbmRlcmluZ1Jlc3VsdHNUb0NhbnZhcyk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEV4dGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFN1cHBvcnRlZEV4dGVuc2lvbnMpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZUNvbXByZXNzZWRUZXhGdW5j
RGF0YSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmg6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkdMUmVuZGVyaW5nQ29udGV4dCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmg6CisKIDIwMTMtMDMtMDEgIFZz
ZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogTmF2aWdhdG9yIHNob3VsZCBzaG93IHRyZWUgZWxlbWVudCBmb3IgZWFjaCBmb2xkZXIg
aW4gdGhlIHNvdXJjZSBwYXRoLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBmNjcwY2YwZWU5ZDJj
OTFjYjBmNGM1MDIyZTcxOTA1Nzk3OTQ5NTdmLi45YjNlMmVmMDA5NmUwM2RlOWFhMjFkZGMzNTNl
OWNjMjExNzk0YmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNTMwLDYgKzUzMCw3IEBAIHNl
dChXZWJDb3JlX0lETF9GSUxFUwogICAgIGh0bWwvY2FudmFzL1VpbnQ4Q2xhbXBlZEFycmF5Lmlk
bAogICAgIGh0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5mby5pZGwKICAgICBodG1sL2NhbnZhcy9X
ZWJHTEJ1ZmZlci5pZGwKKyAgICBodG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRD
LmlkbAogICAgIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmlkbAogICAg
IGh0bWwvY2FudmFzL1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMuaWRsCiAgICAgaHRtbC9jYW52YXMv
V2ViR0xDb250ZXh0RXZlbnQuaWRsCkBAIC0xNTE0LDYgKzE1MTUsNyBAQCBzZXQoV2ViQ29yZV9T
T1VSQ0VTCiAgICAgaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuY3BwCiAgICAgaHRt
bC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5jcHAKICAgICBodG1sL2NhbnZhcy9XZWJHTEJ1
ZmZlci5jcHAKKyAgICBodG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcAog
ICAgIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmNwcAogICAgIGh0bWwv
Y2FudmFzL1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMuY3BwCiAgICAgaHRtbC9jYW52YXMvV2ViR0xD
b250ZXh0RXZlbnQuY3BwCkBAIC0yNjI4LDYgKzI2MzAsNyBAQCBpZiAoRU5BQkxFX1dFQkdMKQog
ICAgICAgICBodG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5jcHAKICAgICAgICAgaHRt
bC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5jcHAKICAgICAgICAgaHRtbC9jYW52YXMvV2Vi
R0xCdWZmZXIuY3BwCisgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVB
VEMuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmNw
cAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTENvbnRleHRBdHRyaWJ1dGVzLmNwcAogICAgICAg
ICBodG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5jcHAKQEAgLTI2NjYsNiArMjY2OSw3IEBA
IGlmIChFTkFCTEVfV0VCR0wpCiAgICAgICAgIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVp
bnQuaWRsCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5mby5pZGwKICAgICAgICAg
aHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaWRsCisgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29t
cHJlc3NlZFRleHR1cmVBVEMuaWRsCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3Nl
ZFRleHR1cmVTM1RDLmlkbAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTENvbnRleHRBdHRyaWJ1
dGVzLmlkbAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5pZGwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRlZDBlNzkwNDFhM2I1MGI0Y2YwYTFjNzRjNTY5
OTYwZDA2NjRlODUuLmE5YWM0MTJkZGZjYjI5YmMxYTdhNjQyZjkwNTlkM2RmMDYzZDVkODUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNDA3LDYgKzQwNyw3IEBAIEJJTkRJTkdf
SURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1VpbnQ4Q2xhbXBlZEFycmF5Lmlk
bCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8uaWRsIFwKICAg
ICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmlkbCBcCisgICAgJChXZWJDb3Jl
KS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQy5pZGwgXAogICAgICQo
V2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0QXR0cmlidXRlcy5pZGwgXAogICAgICQo
V2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLnByaQppbmRleCAwYzU5MDAyYjE1NGJiZDRiMGU3Mjg3ZDVjODA3OGI2ZDAyYzE2
MmZiLi5mZjJmNGQ3MzdkNWJkNDliYmYwODk0MmZhZTg4NTQzYTI5YzdlNTAwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMucHJpCkBAIC0zMTcsNiArMzE3LDcgQEAgSURMX0JJTkRJTkdTICs9IFwK
ICAgICAkJFBXRC9odG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmlkbCBcCiAgICAgJCRQ
V0QvaHRtbC9jYW52YXMvV2ViR0xBY3RpdmVJbmZvLmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52
YXMvV2ViR0xCdWZmZXIuaWRsIFwKKyAgICAkJFBXRC9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNz
ZWRUZXh0dXJlQVRDLmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2Vk
VGV4dHVyZVMzVEMuaWRsIFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRBdHRy
aWJ1dGVzLmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZlbnQuaWRs
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDM2NWM0YWU2MGVlOTRhMzk0MmRj
YjhhNGY4MzdkNTM5NTY2ODc3OWMuLmJkNDMwZmE3NzZkNGY3YmRlMTM5OGY4MTNhNzA0NGJjZTc1
NzJiZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysr
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNzc5LDYgKzc3OSw4IEBA
IHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dl
YkdMQWN0aXZlSW5mby5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xCdWZmZXIu
Y3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xCdWZmZXIuaCBcCisJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwIFwKKwlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuY3BwIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMuY3BwIFwKQEAg
LTE1NTIsNiArMTU1NCw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvaHRt
bC9jYW52YXMvVWludDhDbGFtcGVkQXJyYXkuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFz
L1dlYkdMQWN0aXZlSW5mby5pZGwgXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR0xCdWZm
ZXIuaWRsIFwKKwkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVB
VEMuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVT
M1RDLmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRBdHRyaWJ1dGVz
LmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5pZGwgXApA
QCAtMzI5MSw2ICszMjk0LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8uaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xCdWZmZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TEJ1ZmZlci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRU
ZXh0dXJlQVRDLmNwcCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVz
c2VkVGV4dHVyZUFUQy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXBy
ZXNzZWRUZXh0dXJlUzNUQy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
Q29tcHJlc3NlZFRleHR1cmVTM1RDLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMQ29udGV4dEF0dHJpYnV0ZXMuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDk2MzZkYThlNjcxMWQ4
YzY0Y2NkOTc5ODlkZTkwNTY3OWFjOTIxOTcuLmU4MTZhYjE3NjFmMmU2YzliYjk0NDZlZDM1OGQ2
MTYxMjBhNzc0MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtNDAxNyw2ICs0MDE3LDcgQEAgZW5hYmxlPyhX
RUJHTCkgewogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTE9iamVjdC5oIFwKICAgICAgICAgaHRt
bC9jYW52YXMvV2ViR0xBY3RpdmVJbmZvLmggXAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTEJ1
ZmZlci5oIFwKKyAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5o
IFwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCBcCiAg
ICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMuaCBcCiAgICAgICAgIGh0
bWwvY2FudmFzL1dlYkdMQ29udGV4dEV2ZW50LmggXApAQCAtNDA1Miw2ICs0MDUzLDcgQEAgZW5h
YmxlPyhXRUJHTCkgewogICAgICAgICBodG1sL2NhbnZhcy9DYW52YXNDb250ZXh0QXR0cmlidXRl
cy5jcHAgXAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTE9iamVjdC5jcHAgXAogICAgICAgICBo
dG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5jcHAgXAorICAgICAgICBodG1sL2NhbnZhcy9XZWJHTENv
bXByZXNzZWRUZXh0dXJlQVRDLmNwcCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJl
c3NlZFRleHR1cmVTM1RDLmNwcCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29udGV4dEF0
dHJpYnV0ZXMuY3BwIFwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZlbnQuY3Bw
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQppbmRleCBlODA1MDNiMDVmZWI5NDc2NTZlNWZjYjc2YmQ4ZGZmZGQ5
ZjRlY2JmLi41OWIxZGJjNDQ0NmRiZjYxODBhNWFiNDI3ZmM1MjAwNGVlNzg3NmNlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCkBAIC0zODYsNiArMzg2LDcgQEAKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9V
aW50OENsYW1wZWRBcnJheS5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQWN0
aXZlSW5mby5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmlkbCcs
CisgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGwn
LAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmlk
bCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0QXR0cmlidXRlcy5pZGwn
LAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQ29udGV4dEV2ZW50LmlkbCcsCkBAIC0z
MzQzLDYgKzMzNDQsOCBAQAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5m
by5oJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5jcHAnLAogICAgICAg
ICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmgnLAorICAgICAgICAgICAgJ2h0bWwvY2Fu
dmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwJywKKyAgICAgICAgICAgICdodG1sL2Nh
bnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmgnLAogICAgICAgICAgICAgJ2h0bWwvY2Fu
dmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9j
YW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCcsCiAgICAgICAgICAgICAnaHRtbC9j
YW52YXMvV2ViR0xDb250ZXh0QXR0cmlidXRlcy5jcHAnLApAQCAtNzE1OSw2ICs3MTYyLDggQEAK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2Vi
R0xBY3RpdmVJbmZvLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXZWJHTEJ1ZmZlci5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHTEJ1ZmZlci5oJywKKyAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xDb21wcmVzc2Vk
VGV4dHVyZUFUQy5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmgnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHTENvbXByZXNzZWRU
ZXh0dXJlUzNUQy5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQy5oJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xDb250ZXh0QXR0
cmlidXRlcy5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IGQ2N2Q1Njk2OWUwMGZiOTlhMGVmMmQxYmQyYmIwMDFlZDgzMGE3
OWEuLmEwNDA1NDVhYWIyNjkxODExN2MyNjZjZmMwZDNkY2Q2NTRhMDA2ZWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIwNjAs
OCArMjA2MCwxMiBAQAogCQk3RTQ2RjZGQjE2MjdBMkNBMDAwNjIyMjMgLyogSlNPRVNFbGVtZW50
SW5kZXhVaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3RTQ2RjZGOTE2MjdBMkM5MDAwNjIyMjMgLyogSlNPRVNFbGVtZW50SW5kZXhVaW50LmggKi87
IH07CiAJCTdFNUQ3QTc2MTYxRDNGOEYwMDg5NkMzNCAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNUQ3QTcz
MTYxRDNGOEYwMDg5NkMzNCAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmNwcCAqLzsgfTsKIAkJN0U1
RDdBNzcxNjFEM0Y4RjAwODk2QzM0IC8qIE9FU0VsZW1lbnRJbmRleFVpbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNUQ3QTc0MTYxRDNGOEYwMDg5
NkMzNCAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmggKi87IH07CisJCTdFNjZFMjMzMTZENkVCNkMw
MEY3RTdGRiAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNjZFMjMxMTZENkVCNkMwMEY3RTdGRiAv
KiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCAqLzsgfTsKKwkJN0U2NkUyMzQxNkQ2RUI2
QzAwRjdFN0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNjZFMjMyMTZENkVCNkMwMEY3RTdGRiAv
KiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmggKi87IH07CiAJCTdFOTlBRjUxMEIxMzg0NjQ2
OEZCMDFBNSAvKiBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0U5OUFGNTIwQjEzODQ2NDY4RkIwMUE1
IC8qIFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5jcHAgKi87IH07CiAJCTdFOTlBRjUzMEIx
Mzg0NjQ2OEZCMDFBNSAvKiBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFOTlBRjU0MEIxMzg0NjQ2OEZC
MDFBNSAvKiBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3RUEzMEY2OTE2REZGRTc1MDAyNTdEMEIg
LyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFQTMwRjY3MTZERkZFNzUwMDI1N0QwQiAvKiBKU1dl
YkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwICovOyB9OworCQk3RUEzMEY2QTE2REZGRTc1MDAy
NTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RUEzMEY2ODE2REZGRTc1MDAyNTdEMEIgLyog
SlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmggKi87IH07CiAJCTdFRTY4NDVGMTJEMjZFMzgw
MEU3OTQxNSAvKiBBdXRoZW50aWNhdGlvbkNGLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFRTY4NDRDMTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50
aWNhdGlvbkNGLmNwcCAqLzsgfTsKIAkJN0VFNjg0NjAxMkQyNkUzODAwRTc5NDE1IC8qIEF1dGhl
bnRpY2F0aW9uQ0YuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDdFRTY4NDREMTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50aWNhdGlvbkNGLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0VFNjg0NjExMkQy
NkUzODAwRTc5NDE1IC8qIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RUU2ODQ0RTEyRDI2RTM4MDBFNzk0MTUg
LyogQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTU1MSw4ICs5NTU1LDEzIEBACiAJCTdFNDZGNkY5MTYy
N0EyQzkwMDA2MjIyMyAvKiBKU09FU0VsZW1lbnRJbmRleFVpbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNPRVNFbGVtZW50SW5kZXhVaW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTdFNUQ3QTczMTYxRDNGOEYwMDg5NkMzNCAvKiBPRVNFbGVtZW50SW5k
ZXhVaW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE9FU0VsZW1l
bnRJbmRleFVpbnQuY3BwOyBwYXRoID0gY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3RTVEN0E3NDE2MUQzRjhGMDA4OTZDMzQgLyog
T0VTRWxlbWVudEluZGV4VWludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBP
RVNFbGVtZW50SW5kZXhVaW50Lmg7IHBhdGggPSBjYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3RTY2RTIzMTE2RDZFQjZDMDBGN0U3RkYg
LyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcDsgcGF0aCA9IGNhbnZh
cy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJN0U2NkUyMzIxNkQ2RUI2QzAwRjdFN0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVB
VEMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViR0xDb21wcmVzc2VkVGV4
dHVyZUFUQy5oOyBwYXRoID0gY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0U5OUFGNTIwQjEzODQ2NDY4RkIwMUE1IC8qIFdp
bmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3RTk5QUY1NDBCMTM4NDY0NjhGQjAxQTUgLyogV2luZG93Rm9jdXNB
bGxvd2VkSW5kaWNhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdpbmRv
d0ZvY3VzQWxsb3dlZEluZGljYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3
RUEzMEY2MjE2REZENjI3MDAyNTdEMEIgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGw7IHBh
dGggPSBjYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTdFQTMwRjY3MTZERkZFNzUwMDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJl
c3NlZFRleHR1cmVBVEMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
SlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcDsgcGF0aCA9IEpTV2ViR0xDb21wcmVzc2Vk
VGV4dHVyZUFUQy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdFQTMwRjY4MTZE
RkZFNzUwMDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmg7IHBh
dGggPSBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJN0VFNjg0NEMxMkQyNkUzODAwRTc5NDE1IC8qIEF1dGhlbnRpY2F0aW9uQ0YuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXV0aGVudGljYXRpb25DRi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdFRTY4NDREMTJEMjZFMzgwMEU3OTQx
NSAvKiBBdXRoZW50aWNhdGlvbkNGLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEF1dGhlbnRpY2F0aW9uQ0YuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0VFNjg0
NEUxMkQyNkUzODAwRTc5NDE1IC8qIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTcyMCw2ICsxNTcyOSw5IEBACiAJCQkJQTAyNDU3
NEUxNkNFQUEyNzAwMEU1NjcxIC8qIEVYVERyYXdCdWZmZXJzLmNwcCAqLywKIAkJCQlBMDI0NTc0
RjE2Q0VBQTI3MDAwRTU2NzEgLyogRVhURHJhd0J1ZmZlcnMuaCAqLywKIAkJCQlBMDI0NTc1MDE2
Q0VBQTI3MDAwRTU2NzEgLyogRVhURHJhd0J1ZmZlcnMuaWRsICovLAorCQkJCTdFQTMwRjYyMTZE
RkQ2MjcwMDI1N0QwQiAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmlkbCAqLywKKwkJCQk3
RTY2RTIzMTE2RDZFQjZDMDBGN0U3RkYgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAg
Ki8sCisJCQkJN0U2NkUyMzIxNkQ2RUI2QzAwRjdFN0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1
cmVBVEMuaCAqLywKIAkJCQk0OUVFQ0RDQzEwNTAzQzIzMDAwOTlGQUIgLyogQXJyYXlCdWZmZXIu
aWRsICovLAogCQkJCTQ5RUVDREM5MTA1MDNDMjMwMDA5OUZBQiAvKiBBcnJheUJ1ZmZlclZpZXcu
aWRsICovLAogCQkJCTZFNEU5MUE3MTBGN0ZCMzEwMEEyNzc5QyAvKiBDYW52YXNDb250ZXh0QXR0
cmlidXRlcy5jcHAgKi8sCkBAIC0xODk2NSw2ICsxODk3Nyw4IEBACiAJCUE4M0I3OTA4MENDQUZG
MkIwMDBCMDgyNSAvKiBIVE1MICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKKwkJCQk3RUEzMEY2NzE2REZGRTc1MDAyNTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRU
ZXh0dXJlQVRDLmNwcCAqLywKKwkJCQk3RUEzMEY2ODE2REZGRTc1MDAyNTdEMEIgLyogSlNXZWJH
TENvbXByZXNzZWRUZXh0dXJlQVRDLmggKi8sCiAJCQkJNDlFRUNFRjIxMDUwNzBDNDAwMDk5RkFC
IC8qIEpTQXJyYXlCdWZmZXIuY3BwICovLAogCQkJCTQ5RUVDRUYzMTA1MDcwQzQwMDA5OUZBQiAv
KiBKU0FycmF5QnVmZmVyLmggKi8sCiAJCQkJNDlFRUNGMTkxMDUwNzJGMzAwMDk5RkFCIC8qIEpT
QXJyYXlCdWZmZXJWaWV3LmNwcCAqLywKQEAgLTI2NjM1LDcgKzI2NjQ5LDkgQEAKIAkJCQlGRDUz
NzM1MzEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQx
QjhDRDQ2MTZEMDQ1OTEwMDBFOENDMCAvKiBTZWxlY3RvckNoZWNrZXJGYXN0UGF0aC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDkxNDAyNTcxNjhFMDJFQzAwMkQ2QzZBIC8qIFRpbWVsaW5lVHJhY2VF
dmVudFByb2Nlc3Nvci5oIGluIEhlYWRlcnMgKi8sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEEwMjQ1NzUyMTZDRUFBMjcwMDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTAyNDU3NTIxNkNFQUEyNzAwMEU1NjcxIC8qIEVYVERyYXdCdWZmZXJz
LmggaW4gSGVhZGVycyAqLywKKwkJCQk3RTY2RTIzNDE2RDZFQjZDMDBGN0U3RkYgLyogV2ViR0xD
b21wcmVzc2VkVGV4dHVyZUFUQy5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0VBMzBGNkExNkRGRkU3
NTAwMjU3RDBCIC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07
CkBAIC0yOTgzMSw3ICsyOTg0Nyw5IEBACiAJCQkJNDFCOENENDUxNkQwNDU5MTAwMEU4Q0MwIC8q
IFNlbGVjdG9yQ2hlY2tlckZhc3RQYXRoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5MTQwMjU2
MTY4RTAyRTgwMDJENkM2QSAvKiBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRTE0QTk0RDcxNkRGREY5NTAwNjhERTgyIC8qIEJsb2JSZWdpc3RyeS5j
cHAgaW4gU291cmNlcyAqLywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQTAyNDU3
NTExNkNFQUEyNzAwMEU1NjcxIC8qIEVYVERyYXdCdWZmZXJzLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUEwMjQ1NzUxMTZDRUFBMjcwMDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk3RTY2RTIzMzE2RDZFQjZDMDBGN0U3RkYgLyogV2ViR0xDb21wcmVzc2Vk
VGV4dHVyZUFUQy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3RUEzMEY2OTE2REZGRTc1MDAyNTdE
MEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRl
eHRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmlu
Z0NvbnRleHRDdXN0b20uY3BwCmluZGV4IDhhMzUwM2ExNDJkYmJmNDJmOGJiN2ZhODVlZWMxNmFh
NzhkYjZkMzEuLmFiMzQ5NDcxNDMyODUwMmZjMDc5NGZjYWU5MDllNzMyMzAxNDI0MTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0
Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVy
aW5nQ29udGV4dEN1c3RvbS5jcHAKQEAgLTQ4LDYgKzQ4LDcgQEAKICNpbmNsdWRlICJKU1VpbnQz
MkFycmF5LmgiCiAjaW5jbHVkZSAiSlNVaW50OEFycmF5LmgiCiAjaW5jbHVkZSAiSlNXZWJHTEJ1
ZmZlci5oIgorI2luY2x1ZGUgIkpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oIgogI2luY2x1
ZGUgIkpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCIKICNpbmNsdWRlICJKU1dlYkdMRGVw
dGhUZXh0dXJlLmgiCiAjaW5jbHVkZSAiSlNXZWJHTEZyYW1lYnVmZmVyLmgiCkBAIC02NSw2ICs2
Niw3IEBACiAjaW5jbHVkZSAiT0VTVGV4dHVyZUZsb2F0LmgiCiAjaW5jbHVkZSAiT0VTVmVydGV4
QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJXZWJHTEJ1ZmZlci5oIgorI2luY2x1ZGUgIldlYkdM
Q29tcHJlc3NlZFRleHR1cmVBVEMuaCIKICNpbmNsdWRlICJXZWJHTENvbXByZXNzZWRUZXh0dXJl
UzNUQy5oIgogI2luY2x1ZGUgIldlYkdMRGVidWdSZW5kZXJlckluZm8uaCIKICNpbmNsdWRlICJX
ZWJHTERlYnVnU2hhZGVycy5oIgpAQCAtMjEyLDYgKzIxNCw4IEBAIHN0YXRpYyBKU1ZhbHVlIHRv
SlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBXZWJH
TEV4dGVuCiAgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nh
c3Q8V2ViR0xEZWJ1Z1JlbmRlcmVySW5mbyo+KGV4dGVuc2lvbikpOwogICAgIGNhc2UgV2ViR0xF
eHRlbnNpb246OldlYkdMRGVidWdTaGFkZXJzTmFtZToKICAgICAgICAgcmV0dXJuIHRvSlMoZXhl
YywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxXZWJHTERlYnVnU2hhZGVycyo+KGV4dGVuc2lv
bikpOworICAgIGNhc2UgV2ViR0xFeHRlbnNpb246OldlYkdMQ29tcHJlc3NlZFRleHR1cmVBVENO
YW1lOgorICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0
PFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMqPihleHRlbnNpb24pKTsKICAgICBjYXNlIFdlYkdM
RXh0ZW5zaW9uOjpXZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQ05hbWU6CiAgICAgICAgIHJldHVy
biB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8V2ViR0xDb21wcmVzc2VkVGV4
dHVyZVMzVEMqPihleHRlbnNpb24pKTsKICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpXZWJHTERl
cHRoVGV4dHVyZU5hbWU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1NTg2MzYwNGUzZjYw
MTNiMmViM2E5NDY5ZGQ3Mjk3YmY4MWYxNGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcApAQCAtMCwwICsx
LDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFdFQkdMKQor
CisjaW5jbHVkZSAiV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oIgorCisjaW5jbHVkZSAiRXh0
ZW5zaW9uczNELmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV2ViR0xDb21wcmVzc2VkVGV4
dHVyZUFUQzo6V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQyhXZWJHTFJlbmRlcmluZ0NvbnRleHQq
IGNvbnRleHQpCisgICAgOiBXZWJHTEV4dGVuc2lvbihjb250ZXh0KQoreworICAgIGNvbnRleHQt
PmFkZENvbXByZXNzZWRUZXh0dXJlRm9ybWF0KEV4dGVuc2lvbnMzRDo6Q09NUFJFU1NFRF9BVENf
UkdCX0FNRCk7CisgICAgY29udGV4dC0+YWRkQ29tcHJlc3NlZFRleHR1cmVGb3JtYXQoRXh0ZW5z
aW9uczNEOjpDT01QUkVTU0VEX0FUQ19SR0JBX0VYUExJQ0lUX0FMUEhBX0FNRCk7CisgICAgY29u
dGV4dC0+YWRkQ29tcHJlc3NlZFRleHR1cmVGb3JtYXQoRXh0ZW5zaW9uczNEOjpDT01QUkVTU0VE
X0FUQ19SR0JBX0lOVEVSUE9MQVRFRF9BTFBIQV9BTUQpOworfQorCitXZWJHTENvbXByZXNzZWRU
ZXh0dXJlQVRDOjp+V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQygpCit7Cit9CisKK1dlYkdMRXh0
ZW5zaW9uOjpFeHRlbnNpb25OYW1lIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEM6OmdldE5hbWUo
KSBjb25zdAoreworICAgIHJldHVybiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDTmFtZTsKK30K
KworUGFzc093blB0cjxXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDPiBXZWJHTENvbXByZXNzZWRU
ZXh0dXJlQVRDOjpjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0KQoreworICAg
IHJldHVybiBhZG9wdFB0cihuZXcgV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQyhjb250ZXh0KSk7
Cit9CisKK2Jvb2wgV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQzo6c3VwcG9ydGVkKFdlYkdMUmVu
ZGVyaW5nQ29udGV4dCogY29udGV4dCkKK3sKKyAgICBFeHRlbnNpb25zM0QqIGV4dGVuc2lvbnMg
PSBjb250ZXh0LT5ncmFwaGljc0NvbnRleHQzRCgpLT5nZXRFeHRlbnNpb25zKCk7CisgICAgcmV0
dXJuIGV4dGVuc2lvbnMtPnN1cHBvcnRzKCJHTF9BTURfY29tcHJlc3NlZF9BVENfdGV4dHVyZSIp
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRU
ZXh0dXJlQVRDLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRU
ZXh0dXJlQVRDLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjI0ZTFmNWYzNDA5NDVjMTVhMGI1ZDA1OTgzNGFhMTA0
MjQ4NTRmMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRT
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisg
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDX2gKKyNkZWZpbmUgV2ViR0xDb21wcmVzc2VkVGV4
dHVyZUFUQ19oCisKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiV2ViR0xF
eHRlbnNpb24uaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFdlYkdMVGV4dHVyZTsKKworY2xhc3MgV2ViR0xDb21wcmVzc2VkVGV4
dHVyZUFUQyA6IHB1YmxpYyBXZWJHTEV4dGVuc2lvbiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBh
c3NPd25QdHI8V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQz4gY3JlYXRlKFdlYkdMUmVuZGVyaW5n
Q29udGV4dCopOworCisgICAgc3RhdGljIGJvb2wgc3VwcG9ydGVkKFdlYkdMUmVuZGVyaW5nQ29u
dGV4dCopOworCisgICAgdmlydHVhbCB+V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQygpOworICAg
IHZpcnR1YWwgRXh0ZW5zaW9uTmFtZSBnZXROYW1lKCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAg
V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQyhXZWJHTFJlbmRlcmluZ0NvbnRleHQqKTsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFdlYkdMQ29tcHJlc3NlZFRleHR1
cmVBVENfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb21w
cmVzc2VkVGV4dHVyZUFUQy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENv
bXByZXNzZWRUZXh0dXJlQVRDLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTFiMzJiMTIyOWNmNWQ5MDBlMWQw
MjQ2MGE2MzRjNTdlOGU5YzA0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGwKQEAgLTAsMCArMSwzNiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
CisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJHTCwKKyAgICBKU0dlbmVyYXRlSXNSZWFjaGFi
bGU9SW1wbENvbnRleHQsCisgICAgT21pdENvbnN0cnVjdG9yLAorICAgIERvTm90Q2hlY2tDb25z
dGFudHMKK10gaW50ZXJmYWNlIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMgeworICAgIC8qIENv
bXByZXNzZWQgVGV4dHVyZSBGb3JtYXRzICovCisgICAgY29uc3QgdW5zaWduZWQgaW50IENPTVBS
RVNTRURfUkdCX0FUQ19XRUJHTCAgICAgICAgICAgICAgICAgICAgID0gMHg4QzkyOworICAgIGNv
bnN0IHVuc2lnbmVkIGludCBDT01QUkVTU0VEX1JHQkFfQVRDX0VYUExJQ0lUX0FMUEhBX1dFQkdM
ICAgICA9IDB4OEM5MzsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgQ09NUFJFU1NFRF9SR0JBX0FU
Q19JTlRFUlBPTEFURURfQUxQSEFfV0VCR0wgPSAweDg3RUU7Cit9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKaW5kZXggMDNjODM2YWM0NmI3MTJmNWM1NTAy
OTA2NWRmZDYxZTA2MzU1OTVjOS4uZjFmMWJjNmFkN2Q4MGY1ZTRlZWQ1YjBmODRkYWFlZDAwZDlh
MGYwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCkBA
IC00Niw2ICs0Niw3IEBAIHB1YmxpYzoKICAgICAgICAgV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMz
VENOYW1lLAogICAgICAgICBXZWJHTERlcHRoVGV4dHVyZU5hbWUsCiAgICAgICAgIE9FU0VsZW1l
bnRJbmRleFVpbnROYW1lLAorICAgICAgICBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDTmFtZSwK
ICAgICB9OwogCiAgICAgdm9pZCByZWYoKSB7IG1fY29udGV4dC0+cmVmKCk7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCmlu
ZGV4IGRlYjY0YjEwMjQxYTE0ZTg3ZjdlZTJiNDNhMTMwYTZmNjBhMTFkNTUuLmY0MTYwNTUzMzc0
NjgzMGU4MDcwYzUxZjlmZWJiYzg5ZTdjYTEyMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtNTUsNiArNTUsNyBA
QAogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiV2ViR0xBY3RpdmVJbmZvLmgiCiAj
aW5jbHVkZSAiV2ViR0xCdWZmZXIuaCIKKyNpbmNsdWRlICJXZWJHTENvbXByZXNzZWRUZXh0dXJl
QVRDLmgiCiAjaW5jbHVkZSAiV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCIKICNpbmNsdWRl
ICJXZWJHTENvbnRleHRBdHRyaWJ1dGVzLmgiCiAjaW5jbHVkZSAiV2ViR0xDb250ZXh0RXZlbnQu
aCIKQEAgLTc1NiwxMCArNzU3LDEwIEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpwYWlu
dFJlbmRlcmluZ1Jlc3VsdHNUb0NhbnZhcygpCiAgICAgICAgIGlmIChtX2RyYXdpbmdCdWZmZXIp
CiAgICAgICAgICAgICBtX2RyYXdpbmdCdWZmZXItPnBhaW50Q29tcG9zaXRlZFJlc3VsdHNUb0Nh
bnZhcyhjYW52YXMoKS0+YnVmZmVyKCkpOwogI2VuZGlmCi0KICAgICAgICAgY2FudmFzKCktPm1h
a2VQcmVzZW50YXRpb25Db3B5KCk7CiAgICAgfSBlbHNlCiAgICAgICAgIGNhbnZhcygpLT5jbGVh
clByZXNlbnRhdGlvbkNvcHkoKTsKKwogICAgIGNsZWFySWZDb21wb3NpdGVkKCk7CiAKICAgICBp
ZiAoIW1fbWFya2VkQ2FudmFzRGlydHkgJiYgIW1fbGF5ZXJDbGVhcmVkKQpAQCAtMjQwNyw2ICsy
NDA4LDEyIEBAIFdlYkdMRXh0ZW5zaW9uKiBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEV4dGVu
c2lvbihjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgICAgICBtX3dlYmdsTG9zZUNvbnRleHQg
PSBXZWJHTExvc2VDb250ZXh0OjpjcmVhdGUodGhpcyk7CiAgICAgICAgIHJldHVybiBtX3dlYmds
TG9zZUNvbnRleHQuZ2V0KCk7CiAgICAgfQorICAgIGlmICgoZXF1YWxJZ25vcmluZ0Nhc2UobmFt
ZSwgIldFQktJVF9XRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfYXRjIikpCisgICAgICAgICYmIFdl
YkdMQ29tcHJlc3NlZFRleHR1cmVBVEM6OnN1cHBvcnRlZCh0aGlzKSkgeworICAgICAgICBpZiAo
IW1fd2ViZ2xDb21wcmVzc2VkVGV4dHVyZUFUQykKKyAgICAgICAgICAgIG1fd2ViZ2xDb21wcmVz
c2VkVGV4dHVyZUFUQyA9IFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEM6OmNyZWF0ZSh0aGlzKTsK
KyAgICAgICAgcmV0dXJuIG1fd2ViZ2xDb21wcmVzc2VkVGV4dHVyZUFUQy5nZXQoKTsKKyAgICB9
CiAgICAgaWYgKChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAiV0VCR0xfY29tcHJlc3NlZF90ZXh0
dXJlX3MzdGMiKQogICAgICAgICAgLy8gRklYTUU6IHJlbW92ZSB0aGlzIGFmdGVyIGEgY2VydGFp
biBncmFjZSBwZXJpb2QuCiAgICAgICAgICB8fCBlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAiV0VC
S0lUX1dFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjIikpCkBAIC0yOTU5LDYgKzI5NjYsOCBA
QCBWZWN0b3I8U3RyaW5nPiBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFN1cHBvcnRlZEV4dGVu
c2lvbnMoKQogICAgIGlmIChtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS0+c3VwcG9ydHMoIkdM
X09FU19lbGVtZW50X2luZGV4X3VpbnQiKSkKICAgICAgICAgcmVzdWx0LmFwcGVuZCgiT0VTX2Vs
ZW1lbnRfaW5kZXhfdWludCIpOwogICAgIHJlc3VsdC5hcHBlbmQoIldFQkdMX2xvc2VfY29udGV4
dCIpOworICAgIGlmIChXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDOjpzdXBwb3J0ZWQodGhpcykp
CisgICAgICAgIHJlc3VsdC5hcHBlbmQoIldFQktJVF9XRUJHTF9jb21wcmVzc2VkX3RleHR1cmVf
YXRjIik7CiAgICAgaWYgKFdlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDOjpzdXBwb3J0ZWQodGhp
cykpCiAgICAgICAgIHJlc3VsdC5hcHBlbmQoIldFQktJVF9XRUJHTF9jb21wcmVzc2VkX3RleHR1
cmVfczN0YyIpOwogICAgIGlmIChXZWJHTERlcHRoVGV4dHVyZTo6c3VwcG9ydGVkKGdyYXBoaWNz
Q29udGV4dDNEKCkpKQpAQCAtNTI1NCw2ICs1MjYzLDE3IEBAIGJvb2wgV2ViR0xSZW5kZXJpbmdD
b250ZXh0Ojp2YWxpZGF0ZUNvbXByZXNzZWRUZXhGdW5jRGF0YShjb25zdCBjaGFyKiBmdW5jdGlv
bk5hCiAgICAgICAgICAgICBieXRlc1JlcXVpcmVkID0gbnVtQmxvY2tzICoga0Jsb2NrU2l6ZTsK
ICAgICAgICAgfQogICAgICAgICBicmVhazsKKyAgICBjYXNlIEV4dGVuc2lvbnMzRDo6Q09NUFJF
U1NFRF9BVENfUkdCX0FNRDoKKyAgICAgICAgeworICAgICAgICAgICAgYnl0ZXNSZXF1aXJlZCA9
IGZsb29yKCh3aWR0aCArIDMpIC8gNCkgKiBmbG9vcigoaGVpZ2h0ICsgMykgLyA0KSAqIDg7Cisg
ICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBFeHRlbnNpb25zM0Q6OkNPTVBSRVNT
RURfQVRDX1JHQkFfRVhQTElDSVRfQUxQSEFfQU1EOgorICAgIGNhc2UgRXh0ZW5zaW9uczNEOjpD
T01QUkVTU0VEX0FUQ19SR0JBX0lOVEVSUE9MQVRFRF9BTFBIQV9BTUQ6CisgICAgICAgIHsKKyAg
ICAgICAgICAgIGJ5dGVzUmVxdWlyZWQgPSBmbG9vcigod2lkdGggKyAzKSAvIDQpICogZmxvb3Io
KGhlaWdodCArIDMpIC8gNCkgKiAxNjsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKICAgICBk
ZWZhdWx0OgogICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5W
QUxJRF9FTlVNLCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIGZvcm1hdCIpOwogICAgICAgICByZXR1
cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dC5oCmluZGV4IDNiY2U1MzQ0ZDRlMDBiMDJjODEzYTM4NDA0ODFlY2ZlODZhMmVk
MGQuLmZkMTJlNDVjZjk4ODdlOGU4NTA5YTc4NmM4NDQwZjNkNDkzYWQ5ZjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCkBAIC01
Nyw2ICs1Nyw3IEBAIGNsYXNzIFdlYkdMQWN0aXZlSW5mbzsKIGNsYXNzIFdlYkdMQnVmZmVyOwog
Y2xhc3MgV2ViR0xDb250ZXh0R3JvdXA7CiBjbGFzcyBXZWJHTENvbnRleHRPYmplY3Q7CitjbGFz
cyBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDOwogY2xhc3MgV2ViR0xDb21wcmVzc2VkVGV4dHVy
ZVMzVEM7CiBjbGFzcyBXZWJHTENvbnRleHRBdHRyaWJ1dGVzOwogY2xhc3MgV2ViR0xEZWJ1Z1Jl
bmRlcmVySW5mbzsKQEAgLTMyOSw2ICszMzAsNyBAQCBwdWJsaWM6CiAgICAgZnJpZW5kIGNsYXNz
IFdlYkdMT2JqZWN0OwogICAgIGZyaWVuZCBjbGFzcyBPRVNWZXJ0ZXhBcnJheU9iamVjdDsKICAg
ICBmcmllbmQgY2xhc3MgV2ViR0xEZWJ1Z1NoYWRlcnM7CisgICAgZnJpZW5kIGNsYXNzIFdlYkdM
Q29tcHJlc3NlZFRleHR1cmVBVEM7CiAgICAgZnJpZW5kIGNsYXNzIFdlYkdMQ29tcHJlc3NlZFRl
eHR1cmVTM1RDOwogICAgIGZyaWVuZCBjbGFzcyBXZWJHTFJlbmRlcmluZ0NvbnRleHRFcnJvck1l
c3NhZ2VDYWxsYmFjazsKICAgICBmcmllbmQgY2xhc3MgV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9F
UzsKQEAgLTUyMyw2ICs1MjUsNyBAQCBwdWJsaWM6CiAgICAgT3duUHRyPFdlYkdMTG9zZUNvbnRl
eHQ+IG1fd2ViZ2xMb3NlQ29udGV4dDsKICAgICBPd25QdHI8V2ViR0xEZWJ1Z1JlbmRlcmVySW5m
bz4gbV93ZWJnbERlYnVnUmVuZGVyZXJJbmZvOwogICAgIE93blB0cjxXZWJHTERlYnVnU2hhZGVy
cz4gbV93ZWJnbERlYnVnU2hhZGVyczsKKyAgICBPd25QdHI8V2ViR0xDb21wcmVzc2VkVGV4dHVy
ZUFUQz4gbV93ZWJnbENvbXByZXNzZWRUZXh0dXJlQVRDOwogICAgIE93blB0cjxXZWJHTENvbXBy
ZXNzZWRUZXh0dXJlUzNUQz4gbV93ZWJnbENvbXByZXNzZWRUZXh0dXJlUzNUQzsKICAgICBPd25Q
dHI8V2ViR0xEZXB0aFRleHR1cmU+IG1fd2ViZ2xEZXB0aFRleHR1cmU7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmgKaW5kZXggYjAzM2JjZDcz
OTU2ZTI3MzgzYTVmNzQ1ZWJjODJjYThhNWQ2YWYyMy4uMWZiZGViMTVmZWM0ZTY0NWIwY2FlNjc2
NTdlZmMwOGViYzIyMDhjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRXh0ZW5zaW9uczNELmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRXh0ZW5zaW9uczNELmgKQEAgLTE0Miw2ICsxNDIsMTEgQEAgcHVibGljOgogICAgICAgICBD
T01QUkVTU0VEX1JHQkFfUFZSVENfNEJQUFYxX0lNRyA9IDB4OEMwMiwKICAgICAgICAgQ09NUFJF
U1NFRF9SR0JBX1BWUlRDXzJCUFBWMV9JTUcgPSAweDhDMDMsCiAKKyAgICAgICAgLy8gR0xfQU1E
X2NvbXByZXNzZWRfQVRDX3RleHR1cmUKKyAgICAgICAgQ09NUFJFU1NFRF9BVENfUkdCX0FNRCA9
IDB4OEM5MiwKKyAgICAgICAgQ09NUFJFU1NFRF9BVENfUkdCQV9FWFBMSUNJVF9BTFBIQV9BTUQg
PSAweDhDOTMsCisgICAgICAgIENPTVBSRVNTRURfQVRDX1JHQkFfSU5URVJQT0xBVEVEX0FMUEhB
X0FNRCA9IDB4ODdFRSwKKwogICAgICAgICAvLyBHTF9FWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290
cm9waWMKICAgICAgICAgVEVYVFVSRV9NQVhfQU5JU09UUk9QWV9FWFQgPSAweDg0RkUsCiAgICAg
ICAgIE1BWF9URVhUVVJFX01BWF9BTklTT1RST1BZX0VYVCA9IDB4ODRGRiwKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkOGQy
MTk1M2ZhMGNiOGVlZGM0MGNiNWM3ZTAxYzIxODk4OGEzZjg4Li41OTEzODM3NmU0MDMxOTYyZjI4
MGM2Y2QyYTY2N2U2ZGFkZjMzOWNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMDMtMDEg
IEJyYW5kb24gSm9uZXMgIDxiYWpvbmVzQGdvb2dsZS5jb20+CisKKyAgICAgICAgV0VCR0xfY29t
cHJlc3NlZF90ZXh0dXJlX2F0YyBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwNDk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9leHRlbnNpb25z
L3dlYmdsLWNvbXByZXNzZWQtdGV4dHVyZS1hdGMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9leHRlbnNpb25zL3dlYmdsLWNvbXByZXNzZWQtdGV4dHVy
ZS1hdGMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy93ZWJnbC1jb21wcmVzc2VkLXRleHR1cmUtYXRj
Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTAzLTAxICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5hdmlnYXRvciBzaG91bGQgc2hv
dyB0cmVlIGVsZW1lbnQgZm9yIGVhY2ggZm9sZGVyIGluIHRoZSBzb3VyY2UgcGF0aC4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMvd2ViZ2wtY29t
cHJlc3NlZC10ZXh0dXJlLWF0Yy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9leHRlbnNpb25zL3dlYmdsLWNvbXByZXNzZWQtdGV4dHVyZS1hdGMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQ4Yzc5NjdiYjQ2OTE1MmM3YzMwNDBlYWY1YWM3N2FkYTBhNmQ3MDcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9leHRlbnNp
b25zL3dlYmdsLWNvbXByZXNzZWQtdGV4dHVyZS1hdGMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMvd2ViZ2wtY29tcHJlc3NlZC10
ZXh0dXJlLWF0Yy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL2V4dGVuc2lvbnMvd2ViZ2wtY29tcHJlc3NlZC10ZXh0dXJlLWF0Yy5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy93ZWJnbC1jb21wcmVzc2Vk
LXRleHR1cmUtYXRjLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjI3YmQyNTY5MTE5MzY2YTRlZDFkMTYzMGE1
ZjQwODJlYzk1NTIzZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL2V4dGVuc2lvbnMvd2ViZ2wtY29tcHJlc3NlZC10ZXh0dXJlLWF0Yy5odG1sCkBAIC0w
LDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRl
LXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5j
ZSBUZXN0IFdyYXBwZXIgZm9yIHdlYmdsLWNvbXByZXNzZWQtdGV4dHVyZS1hdGMuaHRtbDwvdGl0
bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMvd2ViZ2wtY29tcHJlc3NlZC10ZXh0dXJlLWF0Yy5odG1s
Ij4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9leHRlbnNpb25z
L3dlYmdsLWNvbXByZXNzZWQtdGV4dHVyZS1hdGMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+
PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMvd2ViZ2wtY29tcHJlc3NlZC10
ZXh0dXJlLWF0Yy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMvd2ViZ2wtY29tcHJl
c3NlZC10ZXh0dXJlLWF0Yy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy93ZWJnbC1jb21wcmVzc2VkLXRleHR1
cmUtYXRjLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWE0YzcwYmIyZGFiZGMzOTEzODgyOWYzYmRjODA2NDIz
YjgzMmQxOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMvd2ViZ2wtY29tcHJlc3NlZC10
ZXh0dXJlLWF0Yy5odG1sCkBAIC0wLDAgKzEsNDIzIEBACivvu788IS0tCisKKy8qCisqKiBDb3B5
cmlnaHQgKGMpIDIwMTMgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24g
aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu
ZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFs
cyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBh
bmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisq
KgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURF
RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisq
KiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO
T05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZ
UklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFU
RVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
d2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHRpdGxlPldlYkdMIFdFQkdMX2NvbXByZXNzZWRf
dGV4dHVyZV9hdGMgQ29uZm9ybWFuY2UgVGVzdHM8L3RpdGxlPgorPHN0eWxlPgoraW1nIHsKKyBi
b3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyBtYXJnaW4tcmlnaHQ6IDFlbTsKK30KKy50ZXN0aW1h
Z2VzIHsKK30KKworLnRlc3RpbWFnZXMgYnIgeworICBjbGVhcjogYm90aDsKK30KKworLnRlc3Rp
bWFnZXMgPiBkaXYgeworICBmbG9hdDogbGVmdDsKKyAgbWFyZ2luOiAxZW07Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8Y2FudmFz
IGlkPSJjYW52YXMiIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHN0eWxlPSJ3aWR0aDogOHB4OyBoZWln
aHQ6IDhweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
InVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgZnVuY3Rp
b25hbGl0eSBvZiB0aGUgV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0YyBleHRlbnNpb24sIGlm
IGl0IGlzIGF2YWlsYWJsZS4iKTsKKworZGVidWcoIiIpOworCisvLyBDb21wcmVzc2VkIHRleHR1
cmVzIGdlbmVyYXRlZCB3aXRoIEFNRCdzIENvbXByZXNzb25hdG9yIHRvb2wKKy8vIGh0dHA6Ly9k
ZXZlbG9wZXIuYW1kLmNvbS9yZXNvdXJjZXMvYXJjaGl2ZS9hcmNoaXZlZC10b29scy9ncHUtdG9v
bHMtYXJjaGl2ZS90aGUtY29tcHJlc3NvbmF0b3IvCit2YXIgaW1nXzR4NF9yZ2JhX3JhdyA9IG5l
dyBVaW50OEFycmF5KFsKKyAgICAweGZmLDB4MDAsMHgwMCwweDY5LDB4MDAsMHhmZiwweDAwLDB4
ZmYsMHhmZiwweDAwLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLAorICAgIDB4MDAsMHhm
ZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4MDAsMHgwMCwweGZmLDB4MDAs
MHhmZiwweDAwLDB4ZmYsCisgICAgMHhmZiwweDAwLDB4MDAsMHhmZiwweGZmLDB4MDAsMHgwMCww
eGZmLDB4ZmYsMHgwMCwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwKKyAgICAweDAwLDB4
ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAw
LDB4ZmYsMHgwMCwweGZmLAorXSk7Cit2YXIgaW1nXzR4NF9yZ2JfYXRjID0gbmV3IFVpbnQ4QXJy
YXkoWworICAgIDB4MDAsMHg3YywweGUwLDB4MDcsMHhjYywweGNmLDB4YzAsMHhmZiwKK10pOwor
dmFyIGltZ180eDRfcmdiYV9hdGNfZXhwbGljaXQgPSBuZXcgVWludDhBcnJheShbCisgICAgMHhm
NiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHg3YywweGUwLDB4MDcs
MHhjYywweGNmLDB4YzAsMHhmZiwKK10pOwordmFyIGltZ180eDRfcmdiYV9hdGNfaW1wbGljaXQg
PSBuZXcgVWludDhBcnJheShbCisgICAgMHhmZiwweDZhLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgw
MCwweDAwLDB4MDAsMHg3YywweGUwLDB4MDcsMHhjYywweGNmLDB4YzAsMHhmZiwKK10pOwordmFy
IGltZ184eDhfcmdiYV9yYXcgPSBuZXcgVWludDhBcnJheShbCisgICAgMHhmZiwweDAwLDB4MDAs
MHg2OSwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHgwMCwweDAwLDB4ZmYsMHgwMCwweGZmLDB4
MDAsMHhmZiwKKyAgICAweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHgwMCwweGZmLDB4ZmYsMHhm
ZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4MDAsMHhmZiwweGZmLAorICAgIDB4MDAsMHhmZiwweDAw
LDB4NjksMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4MDAsMHgwMCwweGZmLDB4MDAsMHhmZiww
eDAwLDB4ZmYsCisgICAgMHgwMCwweDAwLDB4ZmYsMHhmZiwweDAwLDB4MDAsMHhmZiwweGZmLDB4
ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweDAwLDB4ZmYsMHhmZiwKKyAgICAweGZmLDB4MDAsMHgw
MCwweGZmLDB4ZmYsMHgwMCwweDAwLDB4ZmYsMHhmZiwweDAwLDB4MDAsMHhmZiwweDAwLDB4ZmYs
MHgwMCwweGZmLAorICAgIDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiww
eGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHgwMCwweGZmLDB4ZmYsCisgICAgMHgwMCwweGZmLDB4
MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZm
LDB4MDAsMHhmZiwKKyAgICAweDAwLDB4MDAsMHhmZiwweGZmLDB4MDAsMHgwMCwweGZmLDB4ZmYs
MHgwMCwweDAwLDB4ZmYsMHhmZiwweDAwLDB4MDAsMHhmZiwweGZmLAorICAgIDB4MDAsMHhmZiww
eDAwLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHgw
MCwweGZmLDB4ZmYsCisgICAgMHgwMCwweDAwLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZm
LDB4MDAsMHgwMCwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwKKyAgICAweGZmLDB4MDAs
MHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4
MDAsMHhmZiwweGZmLAorICAgIDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhm
ZiwweDAwLDB4MDAsMHhmZiwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsCisgICAgMHgwMCwweGZm
LDB4MDAsMHg2OSwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiww
eDAwLDB4ZmYsMHhmZiwKKyAgICAweDAwLDB4MDAsMHhmZiwweGZmLDB4MDAsMHgwMCwweGZmLDB4
ZmYsMHgwMCwweDAwLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLAorICAgIDB4ZmYsMHgw
MCwweGZmLDB4NjksMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYs
MHgwMCwweGZmLDB4ZmYsCisgICAgMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmZiww
eGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwKK10pOwordmFyIGlt
Z184eDhfcmdiX2F0YyA9IG5ldyBVaW50OEFycmF5KFsKKyAgICAweDAwLDB4N2MsMHhlMCwweDA3
LDB4Y2MsMHhjZiwweGMwLDB4ZmYsMHgxZiwweDAwLDB4ZTAsMHhmZiwweDMzLDB4MzAsMHgzZiww
eDAwLAorICAgIDB4MWYsMHg3YywweGUwLDB4MDcsMHgzMywweDMwLDB4M2YsMHgwMCwweDFmLDB4
MDAsMHhmZiwweDA3LDB4Y2MsMHhjZiwweGMwLDB4ZmYsCitdKTsKK3ZhciBpbWdfOHg4X3JnYmFf
YXRjX2V4cGxpY2l0ID0gbmV3IFVpbnQ4QXJyYXkoWworICAgIDB4ZjYsMHhmZiwweGY2LDB4ZmYs
MHhmZiwweGZmLDB4ZmYsMHhmZiwweDAwLDB4N2MsMHhlMCwweDA3LDB4Y2MsMHhjZiwweGMwLDB4
ZmYsCisgICAgMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHgw
MCwweGUwLDB4ZmYsMHgzMywweDMwLDB4M2YsMHgwMCwKKyAgICAweGZmLDB4ZmYsMHhmZiwweGZm
LDB4ZjYsMHhmZiwweGY2LDB4ZmYsMHgxZiwweDdjLDB4ZTAsMHgwNywweDMzLDB4MzAsMHgzZiww
eDAwLAorICAgIDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDFmLDB4
MDAsMHhmZiwweDA3LDB4Y2MsMHhjZiwweGMwLDB4ZmYsCitdKTsKK3ZhciBpbWdfOHg4X3JnYmFf
YXRjX2ltcGxpY2l0ID0gbmV3IFVpbnQ4QXJyYXkoWworICAgIDB4ZmYsMHg2YSwweDAxLDB4MTAs
MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4N2MsMHhlMCwweDA3LDB4Y2MsMHhjZiwweGMwLDB4
ZmYsCisgICAgMHgwMCwweGZmLDB4NDksMHg5MiwweDI0LDB4NDksMHg5MiwweDI0LDB4MWYsMHgw
MCwweGUwLDB4ZmYsMHgzMywweDMwLDB4M2YsMHgwMCwKKyAgICAweGZmLDB4NjksMHgwMCwweDAw
LDB4MDAsMHgwMSwweDEwLDB4MDAsMHgxZiwweDdjLDB4ZTAsMHgwNywweDMzLDB4MzAsMHgzZiww
eDAwLAorICAgIDB4MDAsMHhmZiwweDQ5LDB4OTIsMHgyNCwweDQ5LDB4OTIsMHgyNCwweDFmLDB4
MDAsMHhmZiwweDA3LDB4Y2MsMHhjZiwweGMwLDB4ZmYsCitdKTsKKwordmFyIHd0dSA9IFdlYkdM
VGVzdFV0aWxzOwordmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMi
KTsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzLCB7YW50aWFsaWFzOiBmYWxz
ZX0pOwordmFyIHByb2dyYW0gPSB3dHUuc2V0dXBUZXh0dXJlZFF1YWQoZ2wpOwordmFyIGV4dCA9
IG51bGw7Cit2YXIgdmFvID0gbnVsbDsKK3ZhciB2YWxpZEZvcm1hdHMgPSB7CisgICAgQ09NUFJF
U1NFRF9SR0JfQVRDX1dFQkdMICAgICAgICAgICAgICAgICAgICAgICAgOiAweDhDOTIsCisgICAg
Q09NUFJFU1NFRF9SR0JBX0FUQ19FWFBMSUNJVF9BTFBIQV9XRUJHTCAgICAgICAgOiAweDhDOTMs
CisgICAgQ09NUFJFU1NFRF9SR0JBX0FUQ19JTlRFUlBPTEFURURfQUxQSEFfV0VCR0wgICAgOiAw
eDg3RUUsCit9OwordmFyIG5hbWU7Cit2YXIgc3VwcG9ydGVkRm9ybWF0czsKKworaWYgKCFnbCkg
eworICAgIHRlc3RGYWlsZWQoIldlYkdMIGNvbnRleHQgZG9lcyBub3QgZXhpc3QiKTsKK30gZWxz
ZSB7CisgICAgdGVzdFBhc3NlZCgiV2ViR0wgY29udGV4dCBleGlzdHMiKTsKKworICAgIC8vIFJ1
biB0ZXN0cyB3aXRoIGV4dGVuc2lvbiBkaXNhYmxlZAorICAgIHJ1blRlc3REaXNhYmxlZCgpOwor
CisgICAgLy8gUXVlcnkgdGhlIGV4dGVuc2lvbiBhbmQgc3RvcmUgZ2xvYmFsbHkgc28gc2hvdWxk
QmUgY2FuIGFjY2VzcyBpdAorICAgIGV4dCA9IHd0dS5nZXRFeHRlbnNpb25XaXRoS25vd25QcmVm
aXhlcyhnbCwgIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9hdGMiKTsKKyAgICBpZiAoIWV4dCkg
eworICAgICAgICB0ZXN0UGFzc2VkKCJObyBXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfYXRjIHN1
cHBvcnQgLS0gdGhpcyBpcyBsZWdhbCIpOworICAgICAgICBydW5TdXBwb3J0ZWRUZXN0KGZhbHNl
KTsKKyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0UGFzc2VkKCJTdWNjZXNzZnVsbHkgZW5hYmxl
ZCBXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfYXRjIGV4dGVuc2lvbiIpOworCisgICAgICAgIHJ1
blN1cHBvcnRlZFRlc3QodHJ1ZSk7CisgICAgICAgIHJ1blRlc3RFeHRlbnNpb24oKTsKKyAgICB9
Cit9CisKK2Z1bmN0aW9uIHJ1blN1cHBvcnRlZFRlc3QoZXh0ZW5zaW9uRW5hYmxlZCkgeworICAg
IHZhciBuYW1lID0gd3R1LmdldFN1cHBvcnRlZEV4dGVuc2lvbldpdGhLbm93blByZWZpeGVzKGds
LCAiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0YyIpOworICAgIGlmIChuYW1lICE9PSB1bmRl
ZmluZWQpIHsKKyAgICAgICAgaWYgKGV4dGVuc2lvbkVuYWJsZWQpIHsKKyAgICAgICAgICAgIHRl
c3RQYXNzZWQoIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9hdGMgbGlzdGVkIGFzIHN1cHBvcnRl
ZCBhbmQgZ2V0RXh0ZW5zaW9uIHN1Y2NlZWRlZCIpOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0YyBsaXN0ZWQgYXMg
c3VwcG9ydGVkIGJ1dCBnZXRFeHRlbnNpb24gZmFpbGVkIik7CisgICAgICAgIH0KKyAgICB9IGVs
c2UgeworICAgICAgICBpZiAoZXh0ZW5zaW9uRW5hYmxlZCkgeworICAgICAgICAgICAgdGVzdEZh
aWxlZCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0YyBub3QgbGlzdGVkIGFzIHN1cHBvcnRl
ZCBidXQgZ2V0RXh0ZW5zaW9uIHN1Y2NlZWRlZCIpOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgdGVzdFBhc3NlZCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0YyBub3QgbGlzdGVk
IGFzIHN1cHBvcnRlZCBhbmQgZ2V0RXh0ZW5zaW9uIGZhaWxlZCAtLSB0aGlzIGlzIGxlZ2FsIik7
CisgICAgICAgIH0KKyAgICB9Cit9CisKKworZnVuY3Rpb24gcnVuVGVzdERpc2FibGVkKCkgewor
ICAgIGRlYnVnKCJUZXN0aW5nIGJpbmRpbmcgZW51bSB3aXRoIGV4dGVuc2lvbiBkaXNhYmxlZCIp
OworCisgICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFtZXRlcihnbC5DT01QUkVTU0VEX1RFWFRVUkVf
Rk9STUFUUyknLCAnW10nKTsKK30KKworZnVuY3Rpb24gZm9ybWF0RXhpc3RzKGZvcm1hdCwgc3Vw
cG9ydGVkRm9ybWF0cykgeworICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCBzdXBwb3J0ZWRGb3Jt
YXRzLmxlbmd0aDsgKytpaSkgeworICAgICAgICBpZiAoZm9ybWF0ID09IHN1cHBvcnRlZEZvcm1h
dHNbaWldKSB7CisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJzdXBwb3J0ZWQgZm9ybWF0ICIgKyBm
b3JtYXRUb1N0cmluZyhmb3JtYXQpICsgIiBpcyBleGlzdHMiKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorICAgIH0KKyAgICB0ZXN0RmFpbGVkKCJzdXBwb3J0ZWQgZm9ybWF0ICIg
KyBmb3JtYXRUb1N0cmluZyhmb3JtYXQpICsgIiBkb2VzIG5vdCBleGlzdCIpOworfQorCitmdW5j
dGlvbiBmb3JtYXRUb1N0cmluZyhmb3JtYXQpIHsKKyAgICBmb3IgKHZhciBwIGluIGV4dCkgewor
ICAgICAgICBpZiAoZXh0W3BdID09IGZvcm1hdCkgeworICAgICAgICAgICAgcmV0dXJuIHA7Cisg
ICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuICIweCIgKyBmb3JtYXQudG9TdHJpbmcoMTYpOwor
fQorCitmdW5jdGlvbiBydW5UZXN0RXh0ZW5zaW9uKCkgeworICAgIGRlYnVnKCJUZXN0aW5nIFdF
QkdMX2NvbXByZXNzZWRfdGV4dHVyZV9hdGMiKTsKKworICAgIC8vIGNoZWNrIHRoYXQgYWxsIGZv
cm1hdCBlbnVtcyBleGlzdC4KKyAgICBmb3IgKG5hbWUgaW4gdmFsaWRGb3JtYXRzKSB7CisgICAg
ICAgIHZhciBleHBlY3RlZCA9ICIweCIgKyB2YWxpZEZvcm1hdHNbbmFtZV0udG9TdHJpbmcoMTYp
OworICAgICAgICB2YXIgYWN0dWFsID0gImV4dFsnIiArIG5hbWUgKyAiJ10iOworICAgICAgICBz
aG91bGRCZShhY3R1YWwsIGV4cGVjdGVkKTsKKyAgICB9CisKKyAgICBzdXBwb3J0ZWRGb3JtYXRz
ID0gZ2wuZ2V0UGFyYW1ldGVyKGdsLkNPTVBSRVNTRURfVEVYVFVSRV9GT1JNQVRTKTsKKyAgICAv
LyBUaGVyZSBzaG91bGQgYmUgZXhhY3RseSAzIGZvcm1hdHMKKyAgICBzaG91bGRCZSgic3VwcG9y
dGVkRm9ybWF0cy5sZW5ndGgiLCAiMyIpOworCisgICAgLy8gY2hlY2sgdGhhdCBhbGwgMyBmb3Jt
YXRzIGV4aXN0CisgICAgZm9yICh2YXIgbmFtZSBpbiB2YWxpZEZvcm1hdHMubGVuZ3RoKSB7Cisg
ICAgICAgIGZvcm1hdEV4aXN0cyh2YWxpZEZvcm1hdHNbbmFtZV0sIHN1cHBvcnRlZEZvcm1hdHMp
OworICAgIH0KKworICAgIC8vIFRlc3QgZWFjaCBmb3JtYXQKKyAgICB0ZXN0QVRDX1JHQigpOwor
ICAgIHRlc3RBVENfUkdCQV9FeHBsaWNpdCgpOworICAgIHRlc3RBVENfUkdCQV9JbnRlcnBvbGF0
ZWQoKTsKK30KKworZnVuY3Rpb24gdGVzdEFUQ19SR0IoKSB7CisgICAgdmFyIHRlc3RzID0gWwor
ICAgICAgICB7ICAgd2lkdGg6IDQsCisgICAgICAgICAgICBoZWlnaHQ6IDQsCisgICAgICAgICAg
ICBjaGFubmVsczogMywKKyAgICAgICAgICAgIGRhdGE6IGltZ180eDRfcmdiX2F0YywKKyAgICAg
ICAgICAgIHJhdzogaW1nXzR4NF9yZ2JhX3JhdywKKyAgICAgICAgICAgIGZvcm1hdDogZXh0LkNP
TVBSRVNTRURfUkdCX0FUQ19XRUJHTAorICAgICAgICB9LAorICAgICAgICB7ICAgd2lkdGg6IDgs
CisgICAgICAgICAgICBoZWlnaHQ6IDgsCisgICAgICAgICAgICBjaGFubmVsczogMywKKyAgICAg
ICAgICAgIGRhdGE6IGltZ184eDhfcmdiX2F0YywKKyAgICAgICAgICAgIHJhdzogaW1nXzh4OF9y
Z2JhX3JhdywKKyAgICAgICAgICAgIGZvcm1hdDogZXh0LkNPTVBSRVNTRURfUkdCX0FUQ19XRUJH
TAorICAgICAgICB9CisgICAgXTsKKyAgICB0ZXN0QUNUVGV4dHVyZXModGVzdHMpOworfQorCitm
dW5jdGlvbiB0ZXN0QVRDX1JHQkFfRXhwbGljaXQoKSB7CisgICAgdmFyIHRlc3RzID0gWworICAg
ICAgICB7ICAgd2lkdGg6IDQsCisgICAgICAgICAgICBoZWlnaHQ6IDQsCisgICAgICAgICAgICBj
aGFubmVsczogNCwKKyAgICAgICAgICAgIGRhdGE6IGltZ180eDRfcmdiYV9hdGNfZXhwbGljaXQs
CisgICAgICAgICAgICByYXc6IGltZ180eDRfcmdiYV9yYXcsCisgICAgICAgICAgICBmb3JtYXQ6
IGV4dC5DT01QUkVTU0VEX1JHQkFfQVRDX0VYUExJQ0lUX0FMUEhBX1dFQkdMCisgICAgICAgIH0s
CisgICAgICAgIHsgICB3aWR0aDogOCwKKyAgICAgICAgICAgIGhlaWdodDogOCwKKyAgICAgICAg
ICAgIGNoYW5uZWxzOiA0LAorICAgICAgICAgICAgZGF0YTogaW1nXzh4OF9yZ2JhX2F0Y19leHBs
aWNpdCwKKyAgICAgICAgICAgIHJhdzogaW1nXzh4OF9yZ2JhX3JhdywKKyAgICAgICAgICAgIGZv
cm1hdDogZXh0LkNPTVBSRVNTRURfUkdCQV9BVENfRVhQTElDSVRfQUxQSEFfV0VCR0wKKyAgICAg
ICAgfQorICAgIF07CisgICAgdGVzdEFDVFRleHR1cmVzKHRlc3RzKTsKK30KKworZnVuY3Rpb24g
dGVzdEFUQ19SR0JBX0ludGVycG9sYXRlZCgpIHsKKyAgICB2YXIgdGVzdHMgPSBbCisgICAgICAg
IHsgICB3aWR0aDogNCwKKyAgICAgICAgICAgIGhlaWdodDogNCwKKyAgICAgICAgICAgIGNoYW5u
ZWxzOiA0LAorICAgICAgICAgICAgZGF0YTogaW1nXzR4NF9yZ2JhX2F0Y19pbnRlcnBvbGF0ZWQs
CisgICAgICAgICAgICByYXc6IGltZ180eDRfcmdiYV9yYXcsCisgICAgICAgICAgICBmb3JtYXQ6
IGV4dC5DT01QUkVTU0VEX1JHQkFfQVRDX0lOVEVSUE9MQVRFRF9BTFBIQV9XRUJHTAorICAgICAg
ICB9LAorICAgICAgICB7ICAgd2lkdGg6IDgsCisgICAgICAgICAgICBoZWlnaHQ6IDgsCisgICAg
ICAgICAgICBjaGFubmVsczogNCwKKyAgICAgICAgICAgIGRhdGE6IGltZ184eDhfcmdiYV9hdGNf
aW50ZXJwb2xhdGVkLAorICAgICAgICAgICAgcmF3OiBpbWdfOHg4X3JnYmFfcmF3LAorICAgICAg
ICAgICAgZm9ybWF0OiBleHQuQ09NUFJFU1NFRF9SR0JBX0FUQ19JTlRFUlBPTEFURURfQUxQSEFf
V0VCR0wKKyAgICAgICAgfQorICAgIF07CisgICAgdGVzdEFDVFRleHR1cmVzKHRlc3RzKTsKK30K
KworZnVuY3Rpb24gdGVzdEFDVFRleHR1cmVzKHRlc3RzKSB7CisgICAgZGVidWcoIjxoci8+Iik7
CisgICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRlc3RzLmxlbmd0aDsgKytpaSkgeworICAgICAg
ICB0ZXN0QUNUVGV4dHVyZSh0ZXN0c1tpaV0pOworICAgIH0KK30KKworZnVuY3Rpb24gdGVzdEFD
VFRleHR1cmUodGVzdCkgeworICAgIHZhciBkYXRhID0gbmV3IFVpbnQ4QXJyYXkodGVzdC5kYXRh
KTsKKyAgICB2YXIgd2lkdGggPSB0ZXN0LndpZHRoOworICAgIHZhciBoZWlnaHQgPSB0ZXN0Lmhl
aWdodDsKKyAgICB2YXIgZm9ybWF0ID0gdGVzdC5mb3JtYXQ7CisgICAgdmFyIHVuY29tcHJlc3Nl
ZERhdGEgPSB0ZXN0LnJhdzsKKworICAgIGNhbnZhcy53aWR0aCA9IHdpZHRoOworICAgIGNhbnZh
cy5oZWlnaHQgPSBoZWlnaHQ7CisgICAgZ2wudmlld3BvcnQoMCwgMCwgd2lkdGgsIGhlaWdodCk7
CisgICAgZGVidWcoInRlc3RpbmcgIiArIGZvcm1hdFRvU3RyaW5nKGZvcm1hdCkgKyAiICIgKyB3
aWR0aCArICJ4IiArIGhlaWdodCk7CisKKyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgp
OworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgICAgZ2wudGV4UGFy
YW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUywgZ2wuQ0xBTVBfVE9fRURH
RSk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBf
VCwgZ2wuQ0xBTVBfVE9fRURHRSk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJE
LCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpOworICAgIGdsLnRleFBhcmFtZXRl
cmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5ORUFSRVNUKTsKKyAg
ICBnbC5jb21wcmVzc2VkVGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBmb3JtYXQsIHdpZHRo
LCBoZWlnaHQsIDAsIGRhdGEpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Is
ICJ1cGxvYWRpbmcgY29tcHJlc3NlZCB0ZXh0dXJlIik7CisgICAgZ2wuZ2VuZXJhdGVNaXBtYXAo
Z2wuVEVYVFVSRV8yRCk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJB
VElPTiwgInRyeWluZyB0byBnZW5lcmF0ZSBtaXBtYXBzIGZyb20gY29tcHJlc3NlZCB0ZXh0dXJl
Iik7CisgICAgd3R1LmNsZWFyQW5kRHJhd1VuaXRRdWFkKGdsKTsKKyAgICBjb21wYXJlUmVjdCh3
aWR0aCwgaGVpZ2h0LCB0ZXN0LmNoYW5uZWxzLCB3aWR0aCwgaGVpZ2h0LCB1bmNvbXByZXNzZWRE
YXRhLCBkYXRhLCBmb3JtYXQpOworCisgICAgZ2wuY29tcHJlc3NlZFRleEltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgZm9ybWF0LCB3aWR0aCArIDQsIGhlaWdodCwgMCwgZGF0YSk7CisgICAgZ2xF
cnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiZGF0YSBzaXplIGRvZXMgbm90IG1h
dGNoIGRpbWVuc2lvbnMiKTsKKyAgICBnbC5jb21wcmVzc2VkVGV4SW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLCBmb3JtYXQsIHdpZHRoLCBoZWlnaHQgKyA0LCAwLCBkYXRhKTsKKyAgICBnbEVycm9y
U2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJkYXRhIHNpemUgZG9lcyBub3QgbWF0Y2gg
ZGltZW5zaW9ucyIpOworICAgIGdsLmNvbXByZXNzZWRUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGZvcm1hdCwgd2lkdGggLSA0LCBoZWlnaHQsIDAsIGRhdGEpOworICAgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgImRhdGEgc2l6ZSBkb2VzIG5vdCBtYXRjaCBkaW1l
bnNpb25zIik7CisgICAgZ2wuY29tcHJlc3NlZFRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
Zm9ybWF0LCB3aWR0aCwgaGVpZ2h0IC0gNCwgMCwgZGF0YSk7CisgICAgZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiZGF0YSBzaXplIGRvZXMgbm90IG1hdGNoIGRpbWVuc2lv
bnMiKTsKKworICAgIGdsLmNvbXByZXNzZWRUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGZv
cm1hdCwgd2lkdGggLSAxLCBoZWlnaHQsIDAsIGRhdGEpOworICAgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJpbnZhbGlkIGRpbWVuc2lvbnMiKTsKKyAgICBnbC5j
b21wcmVzc2VkVGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBmb3JtYXQsIHdpZHRoIC0gMiwg
aGVpZ2h0LCAwLCBkYXRhKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BF
UkFUSU9OLCAiaW52YWxpZCBkaW1lbnNpb25zIik7CisgICAgZ2wuY29tcHJlc3NlZFRleEltYWdl
MkQoZ2wuVEVYVFVSRV8yRCwgMCwgZm9ybWF0LCB3aWR0aCwgaGVpZ2h0IC0gMSwgMCwgZGF0YSk7
CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImludmFsaWQg
ZGltZW5zaW9ucyIpOworICAgIGdsLmNvbXByZXNzZWRUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGZvcm1hdCwgd2lkdGgsIGhlaWdodCAtIDIsIDAsIGRhdGEpOworICAgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJpbnZhbGlkIGRpbWVuc2lvbnMiKTsKKwor
ICAgIGdsLmNvbXByZXNzZWRUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIC0xLCBmb3JtYXQsIDEs
IGhlaWdodCwgMCwgZGF0YSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwg
ImNhbm5vdCBzcGVjaWZ5IG5lZ2F0aXZlIG1pcCBsZXZlbCIpOworCisgICAgLy8gQVRDIERvZXMg
bm90IGFsbG93IHVzZSBvZiBDb21wcmVzc2VkVGV4U3ViSW1hZ2UKKyAgICBnbC5jb21wcmVzc2Vk
VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCB3aWR0aCwgaGVpZ2h0LCBmb3Jt
YXQsIGRhdGEpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04s
ICJjb21wcmVzc2VkVGV4U3ViSW1hZ2UyRCBub3QgYWxsb3dlZCIpOworfQorCitmdW5jdGlvbiBp
bnNlcnRJbWcoZWxlbWVudCwgY2FwdGlvbiwgaW1nKSB7CisgICAgdmFyIGRpdiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIGRpdi5hcHBlbmRDaGlsZChpbWcpOworICAgIHZh
ciBsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIGxhYmVsLmFwcGVu
ZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNhcHRpb24pKTsKKyAgICBkaXYuYXBwZW5k
Q2hpbGQobGFiZWwpOworICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoZGl2KTsKK30KKworZnVuY3Rp
b24gbWFrZUltYWdlKGltYWdlV2lkdGgsIGltYWdlSGVpZ2h0LCBkYXRhV2lkdGgsIGRhdGEsIGFs
cGhhKSB7CisgICAgdmFyIHNjYWxlID0gODsKKyAgICB2YXIgYyA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImNhbnZhcyIpOworICAgIGMud2lkdGggPSBpbWFnZVdpZHRoICogc2NhbGU7CisgICAg
Yy5oZWlnaHQgPSBpbWFnZUhlaWdodCAqIHNjYWxlOworICAgIHZhciBjdHggPSBjLmdldENvbnRl
eHQoIjJkIik7CisgICAgZm9yICh2YXIgeXkgPSAwOyB5eSA8IGltYWdlSGVpZ2h0OyArK3l5KSB7
CisgICAgICAgIGZvciAodmFyIHh4ID0gMDsgeHggPCBpbWFnZVdpZHRoOyArK3h4KSB7CisgICAg
ICAgICAgICB2YXIgb2Zmc2V0ID0gKHl5ICogZGF0YVdpZHRoICsgeHgpICogNDsKKyAgICAgICAg
ICAgIGN0eC5maWxsU3R5bGUgPSAicmdiYSgiICsKKyAgICAgICAgICAgICAgICAgICAgZGF0YVtv
ZmZzZXQgKyAwXSArICIsIiArCisgICAgICAgICAgICAgICAgICAgIGRhdGFbb2Zmc2V0ICsgMV0g
KyAiLCIgKworICAgICAgICAgICAgICAgICAgICBkYXRhW29mZnNldCArIDJdICsgIiwiICsKKyAg
ICAgICAgICAgICAgICAgICAgKGFscGhhID8gZGF0YVtvZmZzZXQgKyAzXSAvIDI1NSA6IDEpICsg
IikiOworICAgICAgICAgICAgY3R4LmZpbGxSZWN0KHh4ICogc2NhbGUsIHl5ICogc2NhbGUsIHNj
YWxlLCBzY2FsZSk7CisgICAgICAgIH0KKyAgICB9CisgICAgdmFyIGltZyA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImltZyIpOworICAgIGltZy5zcmMgPSBjLnRvRGF0YVVSTCgpOworICAgIHJl
dHVybiBpbWc7Cit9CitmdW5jdGlvbiBjb21wYXJlUmVjdCgKKyAgICAgICAgYWN0dWFsV2lkdGgs
IGFjdHVhbEhlaWdodCwgYWN0dWFsQ2hhbm5lbHMsCisgICAgICAgIGRhdGFXaWR0aCwgZGF0YUhl
aWdodCwgZXhwZWN0ZWREYXRhLAorICAgICAgICB0ZXN0RGF0YSwgdGVzdEZvcm1hdCwgdG9sZXJh
bmNlKSB7CisgICAgaWYodHlwZW9mKHRvbGVyYW5jZSkgPT0gJ3VuZGVmaW5lZCcpIHsgdG9sZXJh
bmNlID0gNTsgfQorICAgIHZhciBhY3R1YWwgPSBuZXcgVWludDhBcnJheShhY3R1YWxXaWR0aCAq
IGFjdHVhbEhlaWdodCAqIDQpOworICAgIGdsLnJlYWRQaXhlbHMoCisgICAgICAgICAgICAwLCAw
LCBhY3R1YWxXaWR0aCwgYWN0dWFsSGVpZ2h0LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBh
Y3R1YWwpOworCisgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwor
ICAgIGRpdi5jbGFzc05hbWUgPSAidGVzdGltYWdlcyI7CisgICAgaW5zZXJ0SW1nKGRpdiwgImV4
cGVjdGVkIiwgbWFrZUltYWdlKAorICAgICAgICAgICAgYWN0dWFsV2lkdGgsIGFjdHVhbEhlaWdo
dCwgZGF0YVdpZHRoLCBleHBlY3RlZERhdGEsCisgICAgICAgICAgICBhY3R1YWxDaGFubmVscyA9
PSA0KSk7CisgICAgaW5zZXJ0SW1nKGRpdiwgImFjdHVhbCIsIG1ha2VJbWFnZSgKKyAgICAgICAg
ICAgIGFjdHVhbFdpZHRoLCBhY3R1YWxIZWlnaHQsIGFjdHVhbFdpZHRoLCBhY3R1YWwsCisgICAg
ICAgICAgICBhY3R1YWxDaGFubmVscyA9PSA0KSk7CisgICAgZGl2LmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2JyJykpOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b25zb2xlIikuYXBwZW5kQ2hpbGQoZGl2KTsKKworICAgIHZhciBmYWlsZWQgPSBmYWxzZTsKKyAg
ICBmb3IgKHZhciB5eSA9IDA7IHl5IDwgYWN0dWFsSGVpZ2h0OyArK3l5KSB7CisgICAgICAgIGZv
ciAodmFyIHh4ID0gMDsgeHggPCBhY3R1YWxXaWR0aDsgKyt4eCkgeworICAgICAgICAgICAgdmFy
IGFjdHVhbE9mZnNldCA9ICh5eSAqIGFjdHVhbFdpZHRoICsgeHgpICogNDsKKyAgICAgICAgICAg
IHZhciBleHBlY3RlZE9mZnNldCA9ICh5eSAqIGRhdGFXaWR0aCArIHh4KSAqIDQ7CisgICAgICAg
ICAgICB2YXIgZXhwZWN0ZWQgPSBbCisgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkRGF0YVtl
eHBlY3RlZE9mZnNldCArIDBdLAorICAgICAgICAgICAgICAgICAgICBleHBlY3RlZERhdGFbZXhw
ZWN0ZWRPZmZzZXQgKyAxXSwKKyAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWREYXRhW2V4cGVj
dGVkT2Zmc2V0ICsgMl0sCisgICAgICAgICAgICAgICAgICAgIChhY3R1YWxDaGFubmVscyA9PSAz
ID8gMjU1IDogZXhwZWN0ZWREYXRhW2V4cGVjdGVkT2Zmc2V0ICsgM10pCisgICAgICAgICAgICBd
OworICAgICAgICAgICAgZm9yICh2YXIgamogPSAwOyBqaiA8IDQ7ICsramopIHsKKyAgICAgICAg
ICAgICAgICBpZiAoTWF0aC5hYnMoYWN0dWFsW2FjdHVhbE9mZnNldCArIGpqXSAtIGV4cGVjdGVk
W2pqXSkgPiB0b2xlcmFuY2UpIHsKKyAgICAgICAgICAgICAgICAgICAgZmFpbGVkID0gdHJ1ZTsK
KyAgICAgICAgICAgICAgICAgICAgdmFyIHdhcyA9IGFjdHVhbFthY3R1YWxPZmZzZXQgKyAwXS50
b1N0cmluZygpOworICAgICAgICAgICAgICAgICAgICBmb3IgKGogPSAxOyBqIDwgNDsgKytqKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICB3YXMgKz0gIiwiICsgYWN0dWFsW2FjdHVhbE9mZnNl
dCArIGpdOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoJ2F0ICgnICsgeHggKyAnLCAnICsgeXkgKworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnKSBleHBlY3RlZDogJyArIGV4cGVjdGVkICsgJyB3YXMgJyArIHdh
cyk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQor
ICAgIGlmICghZmFpbGVkKSB7CisgICAgICAgIHRlc3RQYXNzZWQoInRleHR1cmUgcmVuZGVyZWQg
Y29ycmVjdGx5Iik7CisgICAgfQorfQorCitkZWJ1ZygiIik7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191021</attachid>
            <date>2013-03-01 13:11:37 -0800</date>
            <delta_ts>2013-03-04 13:55:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110496-20130301130748.patch</filename>
            <type>text/plain</type>
            <size>53189</size>
            <attacher name="Brandon Jones">bajones</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWMyODhlOWVjYThhMWM5
NGI0YWY5ZjlmMjQ2ZmE5ZWE0MTdkNjkxYi4uNjRkYjczNzUxNWNlODI4MjQ2YWU3NjUyNTI0OGE2
YzA3ZmMwZTFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEzLTAzLTAxICBCcmFu
ZG9uIEpvbmVzICA8YmFqb25lc0Bnb29nbGUuY29tPgorCisgICAgICAgIFdFQkdMX2NvbXByZXNz
ZWRfdGV4dHVyZV9hdGMgaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDQ5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IHdlYmdsL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMv
d2ViZ2wtY29tcHJlc3NlZC10ZXh0dXJlLWF0Yy5odG1sCisKKyAgICAgICAgRXhwb3NlcyB0aGUg
V0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0YyBleHRlbnNpb24sIGJ1dCBpcyB1bnZlcmlmaWVk
IHNpbmNlIG5vIGRlc2t0b3AgaGFyZHdhcmUgc3VwcG9ydHMKKyAgICAgICAgdGhlIGZvcm1hdCB0
aGF0IEkgYW0gYXdhcmUgb2YuIFNob3VsZCBlbmFibGUgbW9iaWxlIHBvcnRzIHRvIGV4cG9zZSB0
aGUgZm9ybWF0LCBob3dldmVyLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5wcmk6Cisg
ICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRD
dXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmguCisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEM6OldlYkdMQ29tcHJlc3Nl
ZFRleHR1cmVBVEMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFU
Qzo6fldlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xD
b21wcmVzc2VkVGV4dHVyZUFUQzo6Z2V0TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTENv
bXByZXNzZWRUZXh0dXJlQVRDOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xDb21w
cmVzc2VkVGV4dHVyZUFUQzo6c3VwcG9ydGVkKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJH
TENvbXByZXNzZWRUZXh0dXJlQVRDLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMRXh0ZW5zaW9uLmguCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkdMQ29tcHJlc3NlZFRleHR1cmVBVEMpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQ29t
cHJlc3NlZFRleHR1cmVBVEMuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTEV4dGVuc2lvbi5oLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMRXh0ZW5z
aW9uLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250
ZXh0OjpwYWludFJlbmRlcmluZ1Jlc3VsdHNUb0NhbnZhcyk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEV4dGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFN1cHBvcnRlZEV4dGVuc2lvbnMpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZUNvbXByZXNzZWRUZXhGdW5j
RGF0YSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmg6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkdMUmVuZGVyaW5nQ29udGV4dCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmg6CisKIDIwMTMtMDMtMDEgIFZz
ZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogTmF2aWdhdG9yIHNob3VsZCBzaG93IHRyZWUgZWxlbWVudCBmb3IgZWFjaCBmb2xkZXIg
aW4gdGhlIHNvdXJjZSBwYXRoLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBmNjcwY2YwZWU5ZDJj
OTFjYjBmNGM1MDIyZTcxOTA1Nzk3OTQ5NTdmLi45YjNlMmVmMDA5NmUwM2RlOWFhMjFkZGMzNTNl
OWNjMjExNzk0YmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNTMwLDYgKzUzMCw3IEBAIHNl
dChXZWJDb3JlX0lETF9GSUxFUwogICAgIGh0bWwvY2FudmFzL1VpbnQ4Q2xhbXBlZEFycmF5Lmlk
bAogICAgIGh0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5mby5pZGwKICAgICBodG1sL2NhbnZhcy9X
ZWJHTEJ1ZmZlci5pZGwKKyAgICBodG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRD
LmlkbAogICAgIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmlkbAogICAg
IGh0bWwvY2FudmFzL1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMuaWRsCiAgICAgaHRtbC9jYW52YXMv
V2ViR0xDb250ZXh0RXZlbnQuaWRsCkBAIC0xNTE0LDYgKzE1MTUsNyBAQCBzZXQoV2ViQ29yZV9T
T1VSQ0VTCiAgICAgaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuY3BwCiAgICAgaHRt
bC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5jcHAKICAgICBodG1sL2NhbnZhcy9XZWJHTEJ1
ZmZlci5jcHAKKyAgICBodG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcAog
ICAgIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmNwcAogICAgIGh0bWwv
Y2FudmFzL1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMuY3BwCiAgICAgaHRtbC9jYW52YXMvV2ViR0xD
b250ZXh0RXZlbnQuY3BwCkBAIC0yNjI4LDYgKzI2MzAsNyBAQCBpZiAoRU5BQkxFX1dFQkdMKQog
ICAgICAgICBodG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5jcHAKICAgICAgICAgaHRt
bC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5jcHAKICAgICAgICAgaHRtbC9jYW52YXMvV2Vi
R0xCdWZmZXIuY3BwCisgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVB
VEMuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmNw
cAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTENvbnRleHRBdHRyaWJ1dGVzLmNwcAogICAgICAg
ICBodG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5jcHAKQEAgLTI2NjYsNiArMjY2OSw3IEBA
IGlmIChFTkFCTEVfV0VCR0wpCiAgICAgICAgIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVp
bnQuaWRsCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5mby5pZGwKICAgICAgICAg
aHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaWRsCisgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29t
cHJlc3NlZFRleHR1cmVBVEMuaWRsCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3Nl
ZFRleHR1cmVTM1RDLmlkbAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTENvbnRleHRBdHRyaWJ1
dGVzLmlkbAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5pZGwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRlZDBlNzkwNDFhM2I1MGI0Y2YwYTFjNzRjNTY5
OTYwZDA2NjRlODUuLmE5YWM0MTJkZGZjYjI5YmMxYTdhNjQyZjkwNTlkM2RmMDYzZDVkODUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNDA3LDYgKzQwNyw3IEBAIEJJTkRJTkdf
SURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1VpbnQ4Q2xhbXBlZEFycmF5Lmlk
bCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8uaWRsIFwKICAg
ICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmlkbCBcCisgICAgJChXZWJDb3Jl
KS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQy5pZGwgXAogICAgICQo
V2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0QXR0cmlidXRlcy5pZGwgXAogICAgICQo
V2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLnByaQppbmRleCAwYzU5MDAyYjE1NGJiZDRiMGU3Mjg3ZDVjODA3OGI2ZDAyYzE2
MmZiLi5mZjJmNGQ3MzdkNWJkNDliYmYwODk0MmZhZTg4NTQzYTI5YzdlNTAwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMucHJpCkBAIC0zMTcsNiArMzE3LDcgQEAgSURMX0JJTkRJTkdTICs9IFwK
ICAgICAkJFBXRC9odG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmlkbCBcCiAgICAgJCRQ
V0QvaHRtbC9jYW52YXMvV2ViR0xBY3RpdmVJbmZvLmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52
YXMvV2ViR0xCdWZmZXIuaWRsIFwKKyAgICAkJFBXRC9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNz
ZWRUZXh0dXJlQVRDLmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2Vk
VGV4dHVyZVMzVEMuaWRsIFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRBdHRy
aWJ1dGVzLmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZlbnQuaWRs
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDM2NWM0YWU2MGVlOTRhMzk0MmRj
YjhhNGY4MzdkNTM5NTY2ODc3OWMuLmJkNDMwZmE3NzZkNGY3YmRlMTM5OGY4MTNhNzA0NGJjZTc1
NzJiZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysr
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNzc5LDYgKzc3OSw4IEBA
IHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dl
YkdMQWN0aXZlSW5mby5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xCdWZmZXIu
Y3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xCdWZmZXIuaCBcCisJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwIFwKKwlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuY3BwIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMuY3BwIFwKQEAg
LTE1NTIsNiArMTU1NCw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvaHRt
bC9jYW52YXMvVWludDhDbGFtcGVkQXJyYXkuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFz
L1dlYkdMQWN0aXZlSW5mby5pZGwgXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR0xCdWZm
ZXIuaWRsIFwKKwkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVB
VEMuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVT
M1RDLmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRBdHRyaWJ1dGVz
LmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5pZGwgXApA
QCAtMzI5MSw2ICszMjk0LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8uaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xCdWZmZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TEJ1ZmZlci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRU
ZXh0dXJlQVRDLmNwcCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVz
c2VkVGV4dHVyZUFUQy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXBy
ZXNzZWRUZXh0dXJlUzNUQy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
Q29tcHJlc3NlZFRleHR1cmVTM1RDLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMQ29udGV4dEF0dHJpYnV0ZXMuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDk2MzZkYThlNjcxMWQ4
YzY0Y2NkOTc5ODlkZTkwNTY3OWFjOTIxOTcuLmU4MTZhYjE3NjFmMmU2YzliYjk0NDZlZDM1OGQ2
MTYxMjBhNzc0MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtNDAxNyw2ICs0MDE3LDcgQEAgZW5hYmxlPyhX
RUJHTCkgewogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTE9iamVjdC5oIFwKICAgICAgICAgaHRt
bC9jYW52YXMvV2ViR0xBY3RpdmVJbmZvLmggXAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTEJ1
ZmZlci5oIFwKKyAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5o
IFwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCBcCiAg
ICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMuaCBcCiAgICAgICAgIGh0
bWwvY2FudmFzL1dlYkdMQ29udGV4dEV2ZW50LmggXApAQCAtNDA1Miw2ICs0MDUzLDcgQEAgZW5h
YmxlPyhXRUJHTCkgewogICAgICAgICBodG1sL2NhbnZhcy9DYW52YXNDb250ZXh0QXR0cmlidXRl
cy5jcHAgXAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTE9iamVjdC5jcHAgXAogICAgICAgICBo
dG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5jcHAgXAorICAgICAgICBodG1sL2NhbnZhcy9XZWJHTENv
bXByZXNzZWRUZXh0dXJlQVRDLmNwcCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJl
c3NlZFRleHR1cmVTM1RDLmNwcCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29udGV4dEF0
dHJpYnV0ZXMuY3BwIFwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZlbnQuY3Bw
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQppbmRleCBlODA1MDNiMDVmZWI5NDc2NTZlNWZjYjc2YmQ4ZGZmZGQ5
ZjRlY2JmLi41OWIxZGJjNDQ0NmRiZjYxODBhNWFiNDI3ZmM1MjAwNGVlNzg3NmNlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCkBAIC0zODYsNiArMzg2LDcgQEAKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9V
aW50OENsYW1wZWRBcnJheS5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQWN0
aXZlSW5mby5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmlkbCcs
CisgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGwn
LAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmlk
bCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0QXR0cmlidXRlcy5pZGwn
LAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQ29udGV4dEV2ZW50LmlkbCcsCkBAIC0z
MzQzLDYgKzMzNDQsOCBAQAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5m
by5oJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5jcHAnLAogICAgICAg
ICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmgnLAorICAgICAgICAgICAgJ2h0bWwvY2Fu
dmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwJywKKyAgICAgICAgICAgICdodG1sL2Nh
bnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmgnLAogICAgICAgICAgICAgJ2h0bWwvY2Fu
dmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9j
YW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCcsCiAgICAgICAgICAgICAnaHRtbC9j
YW52YXMvV2ViR0xDb250ZXh0QXR0cmlidXRlcy5jcHAnLApAQCAtNzE1OSw2ICs3MTYyLDggQEAK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2Vi
R0xBY3RpdmVJbmZvLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXZWJHTEJ1ZmZlci5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHTEJ1ZmZlci5oJywKKyAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xDb21wcmVzc2Vk
VGV4dHVyZUFUQy5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmgnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHTENvbXByZXNzZWRU
ZXh0dXJlUzNUQy5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQy5oJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xDb250ZXh0QXR0
cmlidXRlcy5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IGQ2N2Q1Njk2OWUwMGZiOTlhMGVmMmQxYmQyYmIwMDFlZDgzMGE3
OWEuLmEwNDA1NDVhYWIyNjkxODExN2MyNjZjZmMwZDNkY2Q2NTRhMDA2ZWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIwNjAs
OCArMjA2MCwxMiBAQAogCQk3RTQ2RjZGQjE2MjdBMkNBMDAwNjIyMjMgLyogSlNPRVNFbGVtZW50
SW5kZXhVaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3RTQ2RjZGOTE2MjdBMkM5MDAwNjIyMjMgLyogSlNPRVNFbGVtZW50SW5kZXhVaW50LmggKi87
IH07CiAJCTdFNUQ3QTc2MTYxRDNGOEYwMDg5NkMzNCAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNUQ3QTcz
MTYxRDNGOEYwMDg5NkMzNCAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmNwcCAqLzsgfTsKIAkJN0U1
RDdBNzcxNjFEM0Y4RjAwODk2QzM0IC8qIE9FU0VsZW1lbnRJbmRleFVpbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNUQ3QTc0MTYxRDNGOEYwMDg5
NkMzNCAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmggKi87IH07CisJCTdFNjZFMjMzMTZENkVCNkMw
MEY3RTdGRiAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNjZFMjMxMTZENkVCNkMwMEY3RTdGRiAv
KiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCAqLzsgfTsKKwkJN0U2NkUyMzQxNkQ2RUI2
QzAwRjdFN0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNjZFMjMyMTZENkVCNkMwMEY3RTdGRiAv
KiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmggKi87IH07CiAJCTdFOTlBRjUxMEIxMzg0NjQ2
OEZCMDFBNSAvKiBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0U5OUFGNTIwQjEzODQ2NDY4RkIwMUE1
IC8qIFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5jcHAgKi87IH07CiAJCTdFOTlBRjUzMEIx
Mzg0NjQ2OEZCMDFBNSAvKiBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFOTlBRjU0MEIxMzg0NjQ2OEZC
MDFBNSAvKiBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3RUEzMEY2OTE2REZGRTc1MDAyNTdEMEIg
LyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFQTMwRjY3MTZERkZFNzUwMDI1N0QwQiAvKiBKU1dl
YkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwICovOyB9OworCQk3RUEzMEY2QTE2REZGRTc1MDAy
NTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RUEzMEY2ODE2REZGRTc1MDAyNTdEMEIgLyog
SlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmggKi87IH07CiAJCTdFRTY4NDVGMTJEMjZFMzgw
MEU3OTQxNSAvKiBBdXRoZW50aWNhdGlvbkNGLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFRTY4NDRDMTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50
aWNhdGlvbkNGLmNwcCAqLzsgfTsKIAkJN0VFNjg0NjAxMkQyNkUzODAwRTc5NDE1IC8qIEF1dGhl
bnRpY2F0aW9uQ0YuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDdFRTY4NDREMTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50aWNhdGlvbkNGLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0VFNjg0NjExMkQy
NkUzODAwRTc5NDE1IC8qIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RUU2ODQ0RTEyRDI2RTM4MDBFNzk0MTUg
LyogQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTU1MSw4ICs5NTU1LDEzIEBACiAJCTdFNDZGNkY5MTYy
N0EyQzkwMDA2MjIyMyAvKiBKU09FU0VsZW1lbnRJbmRleFVpbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNPRVNFbGVtZW50SW5kZXhVaW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTdFNUQ3QTczMTYxRDNGOEYwMDg5NkMzNCAvKiBPRVNFbGVtZW50SW5k
ZXhVaW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE9FU0VsZW1l
bnRJbmRleFVpbnQuY3BwOyBwYXRoID0gY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3RTVEN0E3NDE2MUQzRjhGMDA4OTZDMzQgLyog
T0VTRWxlbWVudEluZGV4VWludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBP
RVNFbGVtZW50SW5kZXhVaW50Lmg7IHBhdGggPSBjYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3RTY2RTIzMTE2RDZFQjZDMDBGN0U3RkYg
LyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcDsgcGF0aCA9IGNhbnZh
cy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJN0U2NkUyMzIxNkQ2RUI2QzAwRjdFN0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVB
VEMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViR0xDb21wcmVzc2VkVGV4
dHVyZUFUQy5oOyBwYXRoID0gY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0U5OUFGNTIwQjEzODQ2NDY4RkIwMUE1IC8qIFdp
bmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3RTk5QUY1NDBCMTM4NDY0NjhGQjAxQTUgLyogV2luZG93Rm9jdXNB
bGxvd2VkSW5kaWNhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdpbmRv
d0ZvY3VzQWxsb3dlZEluZGljYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3
RUEzMEY2MjE2REZENjI3MDAyNTdEMEIgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGw7IHBh
dGggPSBjYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTdFQTMwRjY3MTZERkZFNzUwMDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJl
c3NlZFRleHR1cmVBVEMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
SlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcDsgcGF0aCA9IEpTV2ViR0xDb21wcmVzc2Vk
VGV4dHVyZUFUQy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdFQTMwRjY4MTZE
RkZFNzUwMDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmg7IHBh
dGggPSBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJN0VFNjg0NEMxMkQyNkUzODAwRTc5NDE1IC8qIEF1dGhlbnRpY2F0aW9uQ0YuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXV0aGVudGljYXRpb25DRi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdFRTY4NDREMTJEMjZFMzgwMEU3OTQx
NSAvKiBBdXRoZW50aWNhdGlvbkNGLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEF1dGhlbnRpY2F0aW9uQ0YuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0VFNjg0
NEUxMkQyNkUzODAwRTc5NDE1IC8qIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTcyMCw2ICsxNTcyOSw5IEBACiAJCQkJQTAyNDU3
NEUxNkNFQUEyNzAwMEU1NjcxIC8qIEVYVERyYXdCdWZmZXJzLmNwcCAqLywKIAkJCQlBMDI0NTc0
RjE2Q0VBQTI3MDAwRTU2NzEgLyogRVhURHJhd0J1ZmZlcnMuaCAqLywKIAkJCQlBMDI0NTc1MDE2
Q0VBQTI3MDAwRTU2NzEgLyogRVhURHJhd0J1ZmZlcnMuaWRsICovLAorCQkJCTdFQTMwRjYyMTZE
RkQ2MjcwMDI1N0QwQiAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmlkbCAqLywKKwkJCQk3
RTY2RTIzMTE2RDZFQjZDMDBGN0U3RkYgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAg
Ki8sCisJCQkJN0U2NkUyMzIxNkQ2RUI2QzAwRjdFN0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1
cmVBVEMuaCAqLywKIAkJCQk0OUVFQ0RDQzEwNTAzQzIzMDAwOTlGQUIgLyogQXJyYXlCdWZmZXIu
aWRsICovLAogCQkJCTQ5RUVDREM5MTA1MDNDMjMwMDA5OUZBQiAvKiBBcnJheUJ1ZmZlclZpZXcu
aWRsICovLAogCQkJCTZFNEU5MUE3MTBGN0ZCMzEwMEEyNzc5QyAvKiBDYW52YXNDb250ZXh0QXR0
cmlidXRlcy5jcHAgKi8sCkBAIC0xODk2NSw2ICsxODk3Nyw4IEBACiAJCUE4M0I3OTA4MENDQUZG
MkIwMDBCMDgyNSAvKiBIVE1MICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKKwkJCQk3RUEzMEY2NzE2REZGRTc1MDAyNTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRU
ZXh0dXJlQVRDLmNwcCAqLywKKwkJCQk3RUEzMEY2ODE2REZGRTc1MDAyNTdEMEIgLyogSlNXZWJH
TENvbXByZXNzZWRUZXh0dXJlQVRDLmggKi8sCiAJCQkJNDlFRUNFRjIxMDUwNzBDNDAwMDk5RkFC
IC8qIEpTQXJyYXlCdWZmZXIuY3BwICovLAogCQkJCTQ5RUVDRUYzMTA1MDcwQzQwMDA5OUZBQiAv
KiBKU0FycmF5QnVmZmVyLmggKi8sCiAJCQkJNDlFRUNGMTkxMDUwNzJGMzAwMDk5RkFCIC8qIEpT
QXJyYXlCdWZmZXJWaWV3LmNwcCAqLywKQEAgLTI2NjM1LDcgKzI2NjQ5LDkgQEAKIAkJCQlGRDUz
NzM1MzEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQx
QjhDRDQ2MTZEMDQ1OTEwMDBFOENDMCAvKiBTZWxlY3RvckNoZWNrZXJGYXN0UGF0aC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDkxNDAyNTcxNjhFMDJFQzAwMkQ2QzZBIC8qIFRpbWVsaW5lVHJhY2VF
dmVudFByb2Nlc3Nvci5oIGluIEhlYWRlcnMgKi8sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEEwMjQ1NzUyMTZDRUFBMjcwMDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTAyNDU3NTIxNkNFQUEyNzAwMEU1NjcxIC8qIEVYVERyYXdCdWZmZXJz
LmggaW4gSGVhZGVycyAqLywKKwkJCQk3RTY2RTIzNDE2RDZFQjZDMDBGN0U3RkYgLyogV2ViR0xD
b21wcmVzc2VkVGV4dHVyZUFUQy5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0VBMzBGNkExNkRGRkU3
NTAwMjU3RDBCIC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07
CkBAIC0yOTgzMSw3ICsyOTg0Nyw5IEBACiAJCQkJNDFCOENENDUxNkQwNDU5MTAwMEU4Q0MwIC8q
IFNlbGVjdG9yQ2hlY2tlckZhc3RQYXRoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5MTQwMjU2
MTY4RTAyRTgwMDJENkM2QSAvKiBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRTE0QTk0RDcxNkRGREY5NTAwNjhERTgyIC8qIEJsb2JSZWdpc3RyeS5j
cHAgaW4gU291cmNlcyAqLywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQTAyNDU3
NTExNkNFQUEyNzAwMEU1NjcxIC8qIEVYVERyYXdCdWZmZXJzLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUEwMjQ1NzUxMTZDRUFBMjcwMDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk3RTY2RTIzMzE2RDZFQjZDMDBGN0U3RkYgLyogV2ViR0xDb21wcmVzc2Vk
VGV4dHVyZUFUQy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3RUEzMEY2OTE2REZGRTc1MDAyNTdE
MEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRl
eHRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmlu
Z0NvbnRleHRDdXN0b20uY3BwCmluZGV4IDhhMzUwM2ExNDJkYmJmNDJmOGJiN2ZhODVlZWMxNmFh
NzhkYjZkMzEuLmFiMzQ5NDcxNDMyODUwMmZjMDc5NGZjYWU5MDllNzMyMzAxNDI0MTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0
Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVy
aW5nQ29udGV4dEN1c3RvbS5jcHAKQEAgLTQ4LDYgKzQ4LDcgQEAKICNpbmNsdWRlICJKU1VpbnQz
MkFycmF5LmgiCiAjaW5jbHVkZSAiSlNVaW50OEFycmF5LmgiCiAjaW5jbHVkZSAiSlNXZWJHTEJ1
ZmZlci5oIgorI2luY2x1ZGUgIkpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oIgogI2luY2x1
ZGUgIkpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCIKICNpbmNsdWRlICJKU1dlYkdMRGVw
dGhUZXh0dXJlLmgiCiAjaW5jbHVkZSAiSlNXZWJHTEZyYW1lYnVmZmVyLmgiCkBAIC02NSw2ICs2
Niw3IEBACiAjaW5jbHVkZSAiT0VTVGV4dHVyZUZsb2F0LmgiCiAjaW5jbHVkZSAiT0VTVmVydGV4
QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJXZWJHTEJ1ZmZlci5oIgorI2luY2x1ZGUgIldlYkdM
Q29tcHJlc3NlZFRleHR1cmVBVEMuaCIKICNpbmNsdWRlICJXZWJHTENvbXByZXNzZWRUZXh0dXJl
UzNUQy5oIgogI2luY2x1ZGUgIldlYkdMRGVidWdSZW5kZXJlckluZm8uaCIKICNpbmNsdWRlICJX
ZWJHTERlYnVnU2hhZGVycy5oIgpAQCAtMjEyLDYgKzIxNCw4IEBAIHN0YXRpYyBKU1ZhbHVlIHRv
SlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBXZWJH
TEV4dGVuCiAgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nh
c3Q8V2ViR0xEZWJ1Z1JlbmRlcmVySW5mbyo+KGV4dGVuc2lvbikpOwogICAgIGNhc2UgV2ViR0xF
eHRlbnNpb246OldlYkdMRGVidWdTaGFkZXJzTmFtZToKICAgICAgICAgcmV0dXJuIHRvSlMoZXhl
YywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxXZWJHTERlYnVnU2hhZGVycyo+KGV4dGVuc2lv
bikpOworICAgIGNhc2UgV2ViR0xFeHRlbnNpb246OldlYkdMQ29tcHJlc3NlZFRleHR1cmVBVENO
YW1lOgorICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0
PFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMqPihleHRlbnNpb24pKTsKICAgICBjYXNlIFdlYkdM
RXh0ZW5zaW9uOjpXZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQ05hbWU6CiAgICAgICAgIHJldHVy
biB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8V2ViR0xDb21wcmVzc2VkVGV4
dHVyZVMzVEMqPihleHRlbnNpb24pKTsKICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpXZWJHTERl
cHRoVGV4dHVyZU5hbWU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAppbmRl
eCBhMjY5OTRjZTBmMTA5ZTI0YmE1OGZmMTU4MjlhYzkxYTczNGQ5YmI5Li41YmFiMzEzMmM4M2Rl
YzI1NTYxY2FmODYwNWUzNjdhNjU4MTBlMTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4
dEN1c3RvbS5jcHAKQEAgLTU2LDYgKzU2LDcgQEAKICNpbmNsdWRlICJWOFVpbnQzMkFycmF5Lmgi
CiAjaW5jbHVkZSAiVjhVaW50OEFycmF5LmgiCiAjaW5jbHVkZSAiVjhXZWJHTEJ1ZmZlci5oIgor
I2luY2x1ZGUgIlY4V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oIgogI2luY2x1ZGUgIlY4V2Vi
R0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCIKICNpbmNsdWRlICJWOFdlYkdMRGVidWdSZW5kZXJl
ckluZm8uaCIKICNpbmNsdWRlICJWOFdlYkdMRGVidWdTaGFkZXJzLmgiCkBAIC0yMDksNiArMjEw
LDEwIEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOE9iamVjdChXZWJHTEV4dGVu
c2lvbiogZXh0ZW5zaW9uLCB2ODo6SGFuZGxlPHY4CiAgICAgICAgIGV4dGVuc2lvbk9iamVjdCA9
IHRvVjgoc3RhdGljX2Nhc3Q8V2ViR0xEZWJ1Z1NoYWRlcnMqPihleHRlbnNpb24pLCBjb250ZXh0
T2JqZWN0LCBpc29sYXRlKTsKICAgICAgICAgcmVmZXJlbmNlTmFtZSA9ICJ3ZWJHTERlYnVnU2hh
ZGVyc05hbWUiOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpXZWJH
TENvbXByZXNzZWRUZXh0dXJlQVRDTmFtZToKKyAgICAgICAgZXh0ZW5zaW9uT2JqZWN0ID0gdG9W
OChzdGF0aWNfY2FzdDxXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDKj4oZXh0ZW5zaW9uKSwgY29u
dGV4dE9iamVjdCwgaXNvbGF0ZSk7CisgICAgICAgIHJlZmVyZW5jZU5hbWUgPSAid2ViR0xDb21w
cmVzc2VkVGV4dHVyZUFUQ05hbWUiOworICAgICAgICBicmVhazsKICAgICBjYXNlIFdlYkdMRXh0
ZW5zaW9uOjpXZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQ05hbWU6CiAgICAgICAgIGV4dGVuc2lv
bk9iamVjdCA9IHRvVjgoc3RhdGljX2Nhc3Q8V2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMqPihl
eHRlbnNpb24pLCBjb250ZXh0T2JqZWN0LCBpc29sYXRlKTsKICAgICAgICAgcmVmZXJlbmNlTmFt
ZSA9ICJ3ZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQ05hbWUiOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kNTU4NjM2MDRlM2Y2MDEzYjJlYjNhOTQ2OWRkNzI5N2JmODFmMTRkCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4
dHVyZUFUQy5jcHAKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisg
KiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KworI2lmIEVOQUJMRShXRUJHTCkKKworI2luY2x1ZGUgIldlYkdMQ29tcHJlc3NlZFRleHR1cmVB
VEMuaCIKKworI2luY2x1ZGUgIkV4dGVuc2lvbnMzRC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEM6OldlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMo
V2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0KQorICAgIDogV2ViR0xFeHRlbnNpb24oY29u
dGV4dCkKK3sKKyAgICBjb250ZXh0LT5hZGRDb21wcmVzc2VkVGV4dHVyZUZvcm1hdChFeHRlbnNp
b25zM0Q6OkNPTVBSRVNTRURfQVRDX1JHQl9BTUQpOworICAgIGNvbnRleHQtPmFkZENvbXByZXNz
ZWRUZXh0dXJlRm9ybWF0KEV4dGVuc2lvbnMzRDo6Q09NUFJFU1NFRF9BVENfUkdCQV9FWFBMSUNJ
VF9BTFBIQV9BTUQpOworICAgIGNvbnRleHQtPmFkZENvbXByZXNzZWRUZXh0dXJlRm9ybWF0KEV4
dGVuc2lvbnMzRDo6Q09NUFJFU1NFRF9BVENfUkdCQV9JTlRFUlBPTEFURURfQUxQSEFfQU1EKTsK
K30KKworV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQzo6fldlYkdMQ29tcHJlc3NlZFRleHR1cmVB
VEMoKQoreworfQorCitXZWJHTEV4dGVuc2lvbjo6RXh0ZW5zaW9uTmFtZSBXZWJHTENvbXByZXNz
ZWRUZXh0dXJlQVRDOjpnZXROYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gV2ViR0xDb21wcmVz
c2VkVGV4dHVyZUFUQ05hbWU7Cit9CisKK1Bhc3NPd25QdHI8V2ViR0xDb21wcmVzc2VkVGV4dHVy
ZUFUQz4gV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQzo6Y3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29u
dGV4dCogY29udGV4dCkKK3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IFdlYkdMQ29tcHJlc3Nl
ZFRleHR1cmVBVEMoY29udGV4dCkpOworfQorCitib29sIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVB
VEM6OnN1cHBvcnRlZChXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQpCit7CisgICAgRXh0
ZW5zaW9uczNEKiBleHRlbnNpb25zID0gY29udGV4dC0+Z3JhcGhpY3NDb250ZXh0M0QoKS0+Z2V0
RXh0ZW5zaW9ucygpOworICAgIHJldHVybiBleHRlbnNpb25zLT5zdXBwb3J0cygiR0xfQU1EX2Nv
bXByZXNzZWRfQVRDX3RleHR1cmUiKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIyNGUxZjVmMzQw
OTQ1YzE1YTBiNWQwNTk4MzRhYTEwNDI0ODU0ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmgKQEAgLTAsMCAr
MSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisg
KiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQ19oCisjZGVm
aW5lIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVENfaAorCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29k
ZS5oIgorI2luY2x1ZGUgIldlYkdMRXh0ZW5zaW9uLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXZWJHTFRleHR1cmU7CisKK2Ns
YXNzIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMgOiBwdWJsaWMgV2ViR0xFeHRlbnNpb24gewor
cHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEM+
IGNyZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqKTsKKworICAgIHN0YXRpYyBib29sIHN1cHBv
cnRlZChXZWJHTFJlbmRlcmluZ0NvbnRleHQqKTsKKworICAgIHZpcnR1YWwgfldlYkdMQ29tcHJl
c3NlZFRleHR1cmVBVEMoKTsKKyAgICB2aXJ0dWFsIEV4dGVuc2lvbk5hbWUgZ2V0TmFtZSgpIGNv
bnN0OworCitwcml2YXRlOgorICAgIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMoV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Kik7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaWRsIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTExYjMyYjEyMjljZjVkOTAwZTFkMDI0NjBhNjM0YzU3ZThlOWMwNAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMu
aWRsCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
KyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCR0wsCisg
ICAgSlNHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxDb250ZXh0LAorICAgIE9taXRDb25zdHJ1Y3Rv
ciwKKyAgICBEb05vdENoZWNrQ29uc3RhbnRzCitdIGludGVyZmFjZSBXZWJHTENvbXByZXNzZWRU
ZXh0dXJlQVRDIHsKKyAgICAvKiBDb21wcmVzc2VkIFRleHR1cmUgRm9ybWF0cyAqLworICAgIGNv
bnN0IHVuc2lnbmVkIGludCBDT01QUkVTU0VEX1JHQl9BVENfV0VCR0wgICAgICAgICAgICAgICAg
ICAgICA9IDB4OEM5MjsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgQ09NUFJFU1NFRF9SR0JBX0FU
Q19FWFBMSUNJVF9BTFBIQV9XRUJHTCAgICAgPSAweDhDOTM7CisgICAgY29uc3QgdW5zaWduZWQg
aW50IENPTVBSRVNTRURfUkdCQV9BVENfSU5URVJQT0xBVEVEX0FMUEhBX1dFQkdMID0gMHg4N0VF
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5z
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCmluZGV4
IDAzYzgzNmFjNDZiNzEyZjVjNTUwMjkwNjVkZmQ2MWUwNjM1NTk1YzkuLmYxZjFiYzZhZDdkODBm
NWU0ZWVkNWIwZjg0ZGFhZWQwMGQ5YTBmMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xFeHRlbnNpb24uaApAQCAtNDYsNiArNDYsNyBAQCBwdWJsaWM6CiAgICAgICAgIFdl
YkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDTmFtZSwKICAgICAgICAgV2ViR0xEZXB0aFRleHR1cmVO
YW1lLAogICAgICAgICBPRVNFbGVtZW50SW5kZXhVaW50TmFtZSwKKyAgICAgICAgV2ViR0xDb21w
cmVzc2VkVGV4dHVyZUFUQ05hbWUsCiAgICAgfTsKIAogICAgIHZvaWQgcmVmKCkgeyBtX2NvbnRl
eHQtPnJlZigpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCBkZWI2NGIxMDI0MWExNGU4N2Y3ZWUyYjQzYTEzMGE2
ZjYwYTExZDU1Li5mNDE2MDU1MzM3NDY4MzBlODA3MGM1MWY5ZmViYmM4OWU3Y2ExMjJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4
dC5jcHAKQEAgLTU1LDYgKzU1LDcgQEAKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUg
IldlYkdMQWN0aXZlSW5mby5oIgogI2luY2x1ZGUgIldlYkdMQnVmZmVyLmgiCisjaW5jbHVkZSAi
V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oIgogI2luY2x1ZGUgIldlYkdMQ29tcHJlc3NlZFRl
eHR1cmVTM1RDLmgiCiAjaW5jbHVkZSAiV2ViR0xDb250ZXh0QXR0cmlidXRlcy5oIgogI2luY2x1
ZGUgIldlYkdMQ29udGV4dEV2ZW50LmgiCkBAIC03NTYsMTAgKzc1NywxMCBAQCB2b2lkIFdlYkdM
UmVuZGVyaW5nQ29udGV4dDo6cGFpbnRSZW5kZXJpbmdSZXN1bHRzVG9DYW52YXMoKQogICAgICAg
ICBpZiAobV9kcmF3aW5nQnVmZmVyKQogICAgICAgICAgICAgbV9kcmF3aW5nQnVmZmVyLT5wYWlu
dENvbXBvc2l0ZWRSZXN1bHRzVG9DYW52YXMoY2FudmFzKCktPmJ1ZmZlcigpKTsKICNlbmRpZgot
CiAgICAgICAgIGNhbnZhcygpLT5tYWtlUHJlc2VudGF0aW9uQ29weSgpOwogICAgIH0gZWxzZQog
ICAgICAgICBjYW52YXMoKS0+Y2xlYXJQcmVzZW50YXRpb25Db3B5KCk7CisKICAgICBjbGVhcklm
Q29tcG9zaXRlZCgpOwogCiAgICAgaWYgKCFtX21hcmtlZENhbnZhc0RpcnR5ICYmICFtX2xheWVy
Q2xlYXJlZCkKQEAgLTI0MDcsNiArMjQwOCwxMiBAQCBXZWJHTEV4dGVuc2lvbiogV2ViR0xSZW5k
ZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICAg
ICAgbV93ZWJnbExvc2VDb250ZXh0ID0gV2ViR0xMb3NlQ29udGV4dDo6Y3JlYXRlKHRoaXMpOwog
ICAgICAgICByZXR1cm4gbV93ZWJnbExvc2VDb250ZXh0LmdldCgpOwogICAgIH0KKyAgICBpZiAo
KGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJXRUJLSVRfV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJl
X2F0YyIpKQorICAgICAgICAmJiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDOjpzdXBwb3J0ZWQo
dGhpcykpIHsKKyAgICAgICAgaWYgKCFtX3dlYmdsQ29tcHJlc3NlZFRleHR1cmVBVEMpCisgICAg
ICAgICAgICBtX3dlYmdsQ29tcHJlc3NlZFRleHR1cmVBVEMgPSBXZWJHTENvbXByZXNzZWRUZXh0
dXJlQVRDOjpjcmVhdGUodGhpcyk7CisgICAgICAgIHJldHVybiBtX3dlYmdsQ29tcHJlc3NlZFRl
eHR1cmVBVEMuZ2V0KCk7CisgICAgfQogICAgIGlmICgoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwg
IldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjIikKICAgICAgICAgIC8vIEZJWE1FOiByZW1v
dmUgdGhpcyBhZnRlciBhIGNlcnRhaW4gZ3JhY2UgcGVyaW9kLgogICAgICAgICAgfHwgZXF1YWxJ
Z25vcmluZ0Nhc2UobmFtZSwgIldFQktJVF9XRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YyIp
KQpAQCAtMjk1OSw2ICsyOTY2LDggQEAgVmVjdG9yPFN0cmluZz4gV2ViR0xSZW5kZXJpbmdDb250
ZXh0OjpnZXRTdXBwb3J0ZWRFeHRlbnNpb25zKCkKICAgICBpZiAobV9jb250ZXh0LT5nZXRFeHRl
bnNpb25zKCktPnN1cHBvcnRzKCJHTF9PRVNfZWxlbWVudF9pbmRleF91aW50IikpCiAgICAgICAg
IHJlc3VsdC5hcHBlbmQoIk9FU19lbGVtZW50X2luZGV4X3VpbnQiKTsKICAgICByZXN1bHQuYXBw
ZW5kKCJXRUJHTF9sb3NlX2NvbnRleHQiKTsKKyAgICBpZiAoV2ViR0xDb21wcmVzc2VkVGV4dHVy
ZUFUQzo6c3VwcG9ydGVkKHRoaXMpKQorICAgICAgICByZXN1bHQuYXBwZW5kKCJXRUJLSVRfV0VC
R0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0YyIpOwogICAgIGlmIChXZWJHTENvbXByZXNzZWRUZXh0
dXJlUzNUQzo6c3VwcG9ydGVkKHRoaXMpKQogICAgICAgICByZXN1bHQuYXBwZW5kKCJXRUJLSVRf
V0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMiKTsKICAgICBpZiAoV2ViR0xEZXB0aFRleHR1
cmU6OnN1cHBvcnRlZChncmFwaGljc0NvbnRleHQzRCgpKSkKQEAgLTUyNTQsNiArNTI2MywxNyBA
QCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVDb21wcmVzc2VkVGV4RnVuY0Rh
dGEoY29uc3QgY2hhciogZnVuY3Rpb25OYQogICAgICAgICAgICAgYnl0ZXNSZXF1aXJlZCA9IG51
bUJsb2NrcyAqIGtCbG9ja1NpemU7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBFeHRlbnNpb25zM0Q6OkNPTVBSRVNTRURfQVRDX1JHQl9BTUQ6CisgICAgICAgIHsKKyAgICAg
ICAgICAgIGJ5dGVzUmVxdWlyZWQgPSBmbG9vcigod2lkdGggKyAzKSAvIDQpICogZmxvb3IoKGhl
aWdodCArIDMpIC8gNCkgKiA4OworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
RXh0ZW5zaW9uczNEOjpDT01QUkVTU0VEX0FUQ19SR0JBX0VYUExJQ0lUX0FMUEhBX0FNRDoKKyAg
ICBjYXNlIEV4dGVuc2lvbnMzRDo6Q09NUFJFU1NFRF9BVENfUkdCQV9JTlRFUlBPTEFURURfQUxQ
SEFfQU1EOgorICAgICAgICB7CisgICAgICAgICAgICBieXRlc1JlcXVpcmVkID0gZmxvb3IoKHdp
ZHRoICsgMykgLyA0KSAqIGZsb29yKChoZWlnaHQgKyAzKSAvIDQpICogMTY7CisgICAgICAgIH0K
KyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3Io
R3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSwgZnVuY3Rpb25OYW1lLCAiaW52YWxpZCBm
b3JtYXQiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAppbmRleCAzYmNlNTM0NGQ0ZTAwYjAy
YzgxM2EzODQwNDgxZWNmZTg2YTJlZDBkLi5mZDEyZTQ1Y2Y5ODg3ZThlODUwOWE3ODZjODQ0MGYz
ZDQ5M2FkOWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuaApAQCAtNTcsNiArNTcsNyBAQCBjbGFzcyBXZWJHTEFjdGl2ZUluZm87
CiBjbGFzcyBXZWJHTEJ1ZmZlcjsKIGNsYXNzIFdlYkdMQ29udGV4dEdyb3VwOwogY2xhc3MgV2Vi
R0xDb250ZXh0T2JqZWN0OworY2xhc3MgV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQzsKIGNsYXNz
IFdlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDOwogY2xhc3MgV2ViR0xDb250ZXh0QXR0cmlidXRl
czsKIGNsYXNzIFdlYkdMRGVidWdSZW5kZXJlckluZm87CkBAIC0zMjksNiArMzMwLDcgQEAgcHVi
bGljOgogICAgIGZyaWVuZCBjbGFzcyBXZWJHTE9iamVjdDsKICAgICBmcmllbmQgY2xhc3MgT0VT
VmVydGV4QXJyYXlPYmplY3Q7CiAgICAgZnJpZW5kIGNsYXNzIFdlYkdMRGVidWdTaGFkZXJzOwor
ICAgIGZyaWVuZCBjbGFzcyBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDOwogICAgIGZyaWVuZCBj
bGFzcyBXZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQzsKICAgICBmcmllbmQgY2xhc3MgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0RXJyb3JNZXNzYWdlQ2FsbGJhY2s7CiAgICAgZnJpZW5kIGNsYXNzIFdl
YkdMVmVydGV4QXJyYXlPYmplY3RPRVM7CkBAIC01MjMsNiArNTI1LDcgQEAgcHVibGljOgogICAg
IE93blB0cjxXZWJHTExvc2VDb250ZXh0PiBtX3dlYmdsTG9zZUNvbnRleHQ7CiAgICAgT3duUHRy
PFdlYkdMRGVidWdSZW5kZXJlckluZm8+IG1fd2ViZ2xEZWJ1Z1JlbmRlcmVySW5mbzsKICAgICBP
d25QdHI8V2ViR0xEZWJ1Z1NoYWRlcnM+IG1fd2ViZ2xEZWJ1Z1NoYWRlcnM7CisgICAgT3duUHRy
PFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEM+IG1fd2ViZ2xDb21wcmVzc2VkVGV4dHVyZUFUQzsK
ICAgICBPd25QdHI8V2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEM+IG1fd2ViZ2xDb21wcmVzc2Vk
VGV4dHVyZVMzVEM7CiAgICAgT3duUHRyPFdlYkdMRGVwdGhUZXh0dXJlPiBtX3dlYmdsRGVwdGhU
ZXh0dXJlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9F
eHRlbnNpb25zM0QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lv
bnMzRC5oCmluZGV4IGIwMzNiY2Q3Mzk1NmUyNzM4M2E1Zjc0NWViYzgyY2E4YTVkNmFmMjMuLjFm
YmRlYjE1ZmVjNGU2NDViMGNhZTY3NjU3ZWZjMDhlYmMyMjA4YzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oCkBAIC0xNDIsNiArMTQyLDEx
IEBAIHB1YmxpYzoKICAgICAgICAgQ09NUFJFU1NFRF9SR0JBX1BWUlRDXzRCUFBWMV9JTUcgPSAw
eDhDMDIsCiAgICAgICAgIENPTVBSRVNTRURfUkdCQV9QVlJUQ18yQlBQVjFfSU1HID0gMHg4QzAz
LAogCisgICAgICAgIC8vIEdMX0FNRF9jb21wcmVzc2VkX0FUQ190ZXh0dXJlCisgICAgICAgIENP
TVBSRVNTRURfQVRDX1JHQl9BTUQgPSAweDhDOTIsCisgICAgICAgIENPTVBSRVNTRURfQVRDX1JH
QkFfRVhQTElDSVRfQUxQSEFfQU1EID0gMHg4QzkzLAorICAgICAgICBDT01QUkVTU0VEX0FUQ19S
R0JBX0lOVEVSUE9MQVRFRF9BTFBIQV9BTUQgPSAweDg3RUUsCisKICAgICAgICAgLy8gR0xfRVhU
X3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljCiAgICAgICAgIFRFWFRVUkVfTUFYX0FOSVNPVFJP
UFlfRVhUID0gMHg4NEZFLAogICAgICAgICBNQVhfVEVYVFVSRV9NQVhfQU5JU09UUk9QWV9FWFQg
PSAweDg0RkYsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggZDhkMjE5NTNmYTBjYjhlZWRjNDBjYjVjN2UwMWMyMTg5ODhhM2Y4
OC4uNTkxMzgzNzZlNDAzMTk2MmYyODBjNmNkMmE2NjdlNmRhZGYzMzljYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDEzLTAzLTAxICBCcmFuZG9uIEpvbmVzICA8YmFqb25lc0Bnb29nbGUuY29t
PgorCisgICAgICAgIFdFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9hdGMgaW1wbGVtZW50YXRpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDQ5Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViZ2wv
Y29uZm9ybWFuY2UvZXh0ZW5zaW9ucy93ZWJnbC1jb21wcmVzc2VkLXRleHR1cmUtYXRjLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy93
ZWJnbC1jb21wcmVzc2VkLXRleHR1cmUtYXRjLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMvd2ViZ2wt
Y29tcHJlc3NlZC10ZXh0dXJlLWF0Yy5odG1sOiBBZGRlZC4KKwogMjAxMy0wMy0wMSAgVnNldm9s
b2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBOYXZpZ2F0b3Igc2hvdWxkIHNob3cgdHJlZSBlbGVtZW50IGZvciBlYWNoIGZvbGRlciBpbiB0
aGUgc291cmNlIHBhdGguCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9leHRlbnNpb25zL3dlYmdsLWNvbXByZXNzZWQtdGV4dHVyZS1hdGMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy93ZWJnbC1jb21wcmVzc2Vk
LXRleHR1cmUtYXRjLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OGM3OTY3YmI0NjkxNTJjN2Mz
MDQwZWFmNWFjNzdhZGEwYTZkNzA3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy93ZWJnbC1jb21wcmVzc2VkLXRleHR1cmUtYXRjLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9leHRlbnNp
b25zL3dlYmdsLWNvbXByZXNzZWQtdGV4dHVyZS1hdGMuaHRtbAorUEFTUworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9leHRlbnNpb25zL3dlYmdsLWNvbXByZXNz
ZWQtdGV4dHVyZS1hdGMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2V4dGVu
c2lvbnMvd2ViZ2wtY29tcHJlc3NlZC10ZXh0dXJlLWF0Yy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYyN2Jk
MjU2OTExOTM2NmE0ZWQxZDE2MzBhNWY0MDgyZWM5NTUyM2YKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9leHRlbnNpb25zL3dlYmdsLWNvbXByZXNzZWQt
dGV4dHVyZS1hdGMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRv
LWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB3ZWJnbC1jb21wcmVzc2Vk
LXRleHR1cmUtYXRjLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dl
YmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9leHRlbnNpb25zL3dlYmdsLWNvbXBy
ZXNzZWQtdGV4dHVyZS1hdGMuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZXh0ZW5zaW9ucy93ZWJnbC1jb21wcmVzc2VkLXRleHR1cmUtYXRjLmh0bWw8
L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9leHRlbnNp
b25zL3dlYmdsLWNvbXByZXNzZWQtdGV4dHVyZS1hdGMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0
PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9l
eHRlbnNpb25zL3dlYmdsLWNvbXByZXNzZWQtdGV4dHVyZS1hdGMuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMv
d2ViZ2wtY29tcHJlc3NlZC10ZXh0dXJlLWF0Yy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhNGM3MGJiMmRh
YmRjMzkxMzg4MjlmM2JkYzgwNjQyM2I4MzJkMTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9leHRlbnNp
b25zL3dlYmdsLWNvbXByZXNzZWQtdGV4dHVyZS1hdGMuaHRtbApAQCAtMCwwICsxLDQyMyBAQAor
77u/PCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEzIFRoZSBLaHJvbm9zIEdyb3VwIElu
Yy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg
dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9v
ciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0
byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisq
KiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVy
Z2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3Bp
ZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo
ZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu
ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29w
aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhF
IE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg
S0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU
TyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoq
IENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04g
T0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0Yg
T1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RI
RVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzx0aXRsZT5X
ZWJHTCBXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfYXRjIENvbmZvcm1hbmNlIFRlc3RzPC90aXRs
ZT4KKzxzdHlsZT4KK2ltZyB7CisgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgbWFyZ2luLXJp
Z2h0OiAxZW07Cit9CisudGVzdGltYWdlcyB7Cit9CisKKy50ZXN0aW1hZ2VzIGJyIHsKKyAgY2xl
YXI6IGJvdGg7Cit9CisKKy50ZXN0aW1hZ2VzID4gZGl2IHsKKyAgZmxvYXQ6IGxlZnQ7CisgIG1h
cmdpbjogMWVtOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iOCIgaGVpZ2h0PSI4IiBz
dHlsZT0id2lkdGg6IDhweDsgaGVpZ2h0OiA4cHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgdmVyaWZpZXMgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIFdFQkdMX2NvbXByZXNzZWRfdGV4
dHVyZV9hdGMgZXh0ZW5zaW9uLCBpZiBpdCBpcyBhdmFpbGFibGUuIik7CisKK2RlYnVnKCIiKTsK
KworLy8gQ29tcHJlc3NlZCB0ZXh0dXJlcyBnZW5lcmF0ZWQgd2l0aCBBTUQncyBDb21wcmVzc29u
YXRvciB0b29sCisvLyBodHRwOi8vZGV2ZWxvcGVyLmFtZC5jb20vcmVzb3VyY2VzL2FyY2hpdmUv
YXJjaGl2ZWQtdG9vbHMvZ3B1LXRvb2xzLWFyY2hpdmUvdGhlLWNvbXByZXNzb25hdG9yLwordmFy
IGltZ180eDRfcmdiYV9yYXcgPSBuZXcgVWludDhBcnJheShbCisgICAgMHhmZiwweDAwLDB4MDAs
MHg2OSwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHgwMCwweDAwLDB4ZmYsMHgwMCwweGZmLDB4
MDAsMHhmZiwKKyAgICAweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhm
ZiwweDAwLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLAorICAgIDB4ZmYsMHgwMCwweDAw
LDB4ZmYsMHhmZiwweDAwLDB4MDAsMHhmZiwweGZmLDB4MDAsMHgwMCwweGZmLDB4MDAsMHhmZiww
eDAwLDB4ZmYsCisgICAgMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4
MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwKK10pOwordmFyIGltZ180eDRf
cmdiX2F0YyA9IG5ldyBVaW50OEFycmF5KFsKKyAgICAweDAwLDB4N2MsMHhlMCwweDA3LDB4Y2Ms
MHhjZiwweGMwLDB4ZmYsCitdKTsKK3ZhciBpbWdfNHg0X3JnYmFfYXRjX2V4cGxpY2l0ID0gbmV3
IFVpbnQ4QXJyYXkoWworICAgIDB4ZjYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhm
ZiwweDAwLDB4N2MsMHhlMCwweDA3LDB4Y2MsMHhjZiwweGMwLDB4ZmYsCitdKTsKK3ZhciBpbWdf
NHg0X3JnYmFfYXRjX2ltcGxpY2l0ID0gbmV3IFVpbnQ4QXJyYXkoWworICAgIDB4ZmYsMHg2YSww
eDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4N2MsMHhlMCwweDA3LDB4Y2MsMHhj
ZiwweGMwLDB4ZmYsCitdKTsKK3ZhciBpbWdfOHg4X3JnYmFfcmF3ID0gbmV3IFVpbnQ4QXJyYXko
WworICAgIDB4ZmYsMHgwMCwweDAwLDB4NjksMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4MDAs
MHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsCisgICAgMHhmZiwweGZmLDB4MDAsMHhmZiww
eDAwLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweDAwLDB4ZmYsMHhm
ZiwKKyAgICAweDAwLDB4ZmYsMHgwMCwweDY5LDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweDAw
LDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLAorICAgIDB4MDAsMHgwMCwweGZmLDB4ZmYs
MHgwMCwweDAwLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHgwMCwweGZmLDB4
ZmYsCisgICAgMHhmZiwweDAwLDB4MDAsMHhmZiwweGZmLDB4MDAsMHgwMCwweGZmLDB4ZmYsMHgw
MCwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwKKyAgICAweGZmLDB4ZmYsMHgwMCwweGZm
LDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4MDAsMHhmZiww
eGZmLAorICAgIDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4
ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsCisgICAgMHgwMCwweDAwLDB4ZmYsMHhm
ZiwweDAwLDB4MDAsMHhmZiwweGZmLDB4MDAsMHgwMCwweGZmLDB4ZmYsMHgwMCwweDAwLDB4ZmYs
MHhmZiwKKyAgICAweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHgwMCww
eGZmLDB4MDAsMHhmZiwweGZmLDB4MDAsMHhmZiwweGZmLAorICAgIDB4MDAsMHgwMCwweGZmLDB4
ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4MDAsMHhmZiwweGZmLDB4MDAsMHhmZiwweGZm
LDB4ZmYsCisgICAgMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweGZmLDB4MDAs
MHhmZiwweDAwLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmZiwKKyAgICAweDAwLDB4ZmYsMHhmZiww
eGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweDAwLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhm
ZiwweGZmLAorICAgIDB4MDAsMHhmZiwweDAwLDB4NjksMHgwMCwweGZmLDB4MDAsMHhmZiwweDAw
LDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ZmYsCisgICAgMHgwMCwweDAwLDB4ZmYs
MHhmZiwweDAwLDB4MDAsMHhmZiwweGZmLDB4MDAsMHgwMCwweGZmLDB4ZmYsMHgwMCwweGZmLDB4
ZmYsMHhmZiwKKyAgICAweGZmLDB4MDAsMHhmZiwweDY5LDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhm
ZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweGZmLAorICAgIDB4MDAsMHhmZiwweGZm
LDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiww
eGZmLDB4ZmYsCitdKTsKK3ZhciBpbWdfOHg4X3JnYl9hdGMgPSBuZXcgVWludDhBcnJheShbCisg
ICAgMHgwMCwweDdjLDB4ZTAsMHgwNywweGNjLDB4Y2YsMHhjMCwweGZmLDB4MWYsMHgwMCwweGUw
LDB4ZmYsMHgzMywweDMwLDB4M2YsMHgwMCwKKyAgICAweDFmLDB4N2MsMHhlMCwweDA3LDB4MzMs
MHgzMCwweDNmLDB4MDAsMHgxZiwweDAwLDB4ZmYsMHgwNywweGNjLDB4Y2YsMHhjMCwweGZmLAor
XSk7Cit2YXIgaW1nXzh4OF9yZ2JhX2F0Y19leHBsaWNpdCA9IG5ldyBVaW50OEFycmF5KFsKKyAg
ICAweGY2LDB4ZmYsMHhmNiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgwMCwweDdjLDB4ZTAs
MHgwNywweGNjLDB4Y2YsMHhjMCwweGZmLAorICAgIDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiww
eGZmLDB4ZmYsMHhmZiwweDFmLDB4MDAsMHhlMCwweGZmLDB4MzMsMHgzMCwweDNmLDB4MDAsCisg
ICAgMHhmZiwweGZmLDB4ZmYsMHhmZiwweGY2LDB4ZmYsMHhmNiwweGZmLDB4MWYsMHg3YywweGUw
LDB4MDcsMHgzMywweDMwLDB4M2YsMHgwMCwKKyAgICAweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYs
MHhmZiwweGZmLDB4ZmYsMHgxZiwweDAwLDB4ZmYsMHgwNywweGNjLDB4Y2YsMHhjMCwweGZmLAor
XSk7Cit2YXIgaW1nXzh4OF9yZ2JhX2F0Y19pbXBsaWNpdCA9IG5ldyBVaW50OEFycmF5KFsKKyAg
ICAweGZmLDB4NmEsMHgwMSwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDdjLDB4ZTAs
MHgwNywweGNjLDB4Y2YsMHhjMCwweGZmLAorICAgIDB4MDAsMHhmZiwweDQ5LDB4OTIsMHgyNCww
eDQ5LDB4OTIsMHgyNCwweDFmLDB4MDAsMHhlMCwweGZmLDB4MzMsMHgzMCwweDNmLDB4MDAsCisg
ICAgMHhmZiwweDY5LDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweDAwLDB4MWYsMHg3YywweGUw
LDB4MDcsMHgzMywweDMwLDB4M2YsMHgwMCwKKyAgICAweDAwLDB4ZmYsMHg0OSwweDkyLDB4MjQs
MHg0OSwweDkyLDB4MjQsMHgxZiwweDAwLDB4ZmYsMHgwNywweGNjLDB4Y2YsMHhjMCwweGZmLAor
XSk7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBjYW52YXMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNh
bnZhcywge2FudGlhbGlhczogZmFsc2V9KTsKK3ZhciBwcm9ncmFtID0gd3R1LnNldHVwVGV4dHVy
ZWRRdWFkKGdsKTsKK3ZhciBleHQgPSBudWxsOwordmFyIHZhbyA9IG51bGw7Cit2YXIgdmFsaWRG
b3JtYXRzID0geworICAgIENPTVBSRVNTRURfUkdCX0FUQ19XRUJHTCAgICAgICAgICAgICAgICAg
ICAgICAgIDogMHg4QzkyLAorICAgIENPTVBSRVNTRURfUkdCQV9BVENfRVhQTElDSVRfQUxQSEFf
V0VCR0wgICAgICAgIDogMHg4QzkzLAorICAgIENPTVBSRVNTRURfUkdCQV9BVENfSU5URVJQT0xB
VEVEX0FMUEhBX1dFQkdMICAgIDogMHg4N0VFLAorfTsKK3ZhciBuYW1lOwordmFyIHN1cHBvcnRl
ZEZvcm1hdHM7CisKK2lmICghZ2wpIHsKKyAgICB0ZXN0RmFpbGVkKCJXZWJHTCBjb250ZXh0IGRv
ZXMgbm90IGV4aXN0Iik7Cit9IGVsc2UgeworICAgIHRlc3RQYXNzZWQoIldlYkdMIGNvbnRleHQg
ZXhpc3RzIik7CisKKyAgICAvLyBSdW4gdGVzdHMgd2l0aCBleHRlbnNpb24gZGlzYWJsZWQKKyAg
ICBydW5UZXN0RGlzYWJsZWQoKTsKKworICAgIC8vIFF1ZXJ5IHRoZSBleHRlbnNpb24gYW5kIHN0
b3JlIGdsb2JhbGx5IHNvIHNob3VsZEJlIGNhbiBhY2Nlc3MgaXQKKyAgICBleHQgPSB3dHUuZ2V0
RXh0ZW5zaW9uV2l0aEtub3duUHJlZml4ZXMoZ2wsICJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVf
YXRjIik7CisgICAgaWYgKCFleHQpIHsKKyAgICAgICAgdGVzdFBhc3NlZCgiTm8gV0VCR0xfY29t
cHJlc3NlZF90ZXh0dXJlX2F0YyBzdXBwb3J0IC0tIHRoaXMgaXMgbGVnYWwiKTsKKyAgICAgICAg
cnVuU3VwcG9ydGVkVGVzdChmYWxzZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgdGVzdFBhc3Nl
ZCgiU3VjY2Vzc2Z1bGx5IGVuYWJsZWQgV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0YyBleHRl
bnNpb24iKTsKKworICAgICAgICBydW5TdXBwb3J0ZWRUZXN0KHRydWUpOworICAgICAgICBydW5U
ZXN0RXh0ZW5zaW9uKCk7CisgICAgfQorfQorCitmdW5jdGlvbiBydW5TdXBwb3J0ZWRUZXN0KGV4
dGVuc2lvbkVuYWJsZWQpIHsKKyAgICB2YXIgbmFtZSA9IHd0dS5nZXRTdXBwb3J0ZWRFeHRlbnNp
b25XaXRoS25vd25QcmVmaXhlcyhnbCwgIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9hdGMiKTsK
KyAgICBpZiAobmFtZSAhPT0gdW5kZWZpbmVkKSB7CisgICAgICAgIGlmIChleHRlbnNpb25FbmFi
bGVkKSB7CisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVf
YXRjIGxpc3RlZCBhcyBzdXBwb3J0ZWQgYW5kIGdldEV4dGVuc2lvbiBzdWNjZWVkZWQiKTsKKyAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIldFQkdMX2NvbXByZXNzZWRf
dGV4dHVyZV9hdGMgbGlzdGVkIGFzIHN1cHBvcnRlZCBidXQgZ2V0RXh0ZW5zaW9uIGZhaWxlZCIp
OworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKGV4dGVuc2lvbkVuYWJsZWQp
IHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9hdGMg
bm90IGxpc3RlZCBhcyBzdXBwb3J0ZWQgYnV0IGdldEV4dGVuc2lvbiBzdWNjZWVkZWQiKTsKKyAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIldFQkdMX2NvbXByZXNzZWRf
dGV4dHVyZV9hdGMgbm90IGxpc3RlZCBhcyBzdXBwb3J0ZWQgYW5kIGdldEV4dGVuc2lvbiBmYWls
ZWQgLS0gdGhpcyBpcyBsZWdhbCIpOworICAgICAgICB9CisgICAgfQorfQorCisKK2Z1bmN0aW9u
IHJ1blRlc3REaXNhYmxlZCgpIHsKKyAgICBkZWJ1ZygiVGVzdGluZyBiaW5kaW5nIGVudW0gd2l0
aCBleHRlbnNpb24gZGlzYWJsZWQiKTsKKworICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIo
Z2wuQ09NUFJFU1NFRF9URVhUVVJFX0ZPUk1BVFMpJywgJ1tdJyk7Cit9CisKK2Z1bmN0aW9uIGZv
cm1hdEV4aXN0cyhmb3JtYXQsIHN1cHBvcnRlZEZvcm1hdHMpIHsKKyAgICBmb3IgKHZhciBpaSA9
IDA7IGlpIDwgc3VwcG9ydGVkRm9ybWF0cy5sZW5ndGg7ICsraWkpIHsKKyAgICAgICAgaWYgKGZv
cm1hdCA9PSBzdXBwb3J0ZWRGb3JtYXRzW2lpXSkgeworICAgICAgICAgICAgdGVzdFBhc3NlZCgi
c3VwcG9ydGVkIGZvcm1hdCAiICsgZm9ybWF0VG9TdHJpbmcoZm9ybWF0KSArICIgaXMgZXhpc3Rz
Iik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CisgICAgdGVzdEZhaWxl
ZCgic3VwcG9ydGVkIGZvcm1hdCAiICsgZm9ybWF0VG9TdHJpbmcoZm9ybWF0KSArICIgZG9lcyBu
b3QgZXhpc3QiKTsKK30KKworZnVuY3Rpb24gZm9ybWF0VG9TdHJpbmcoZm9ybWF0KSB7CisgICAg
Zm9yICh2YXIgcCBpbiBleHQpIHsKKyAgICAgICAgaWYgKGV4dFtwXSA9PSBmb3JtYXQpIHsKKyAg
ICAgICAgICAgIHJldHVybiBwOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAiMHgiICsg
Zm9ybWF0LnRvU3RyaW5nKDE2KTsKK30KKworZnVuY3Rpb24gcnVuVGVzdEV4dGVuc2lvbigpIHsK
KyAgICBkZWJ1ZygiVGVzdGluZyBXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfYXRjIik7CisKKyAg
ICAvLyBjaGVjayB0aGF0IGFsbCBmb3JtYXQgZW51bXMgZXhpc3QuCisgICAgZm9yIChuYW1lIGlu
IHZhbGlkRm9ybWF0cykgeworICAgICAgICB2YXIgZXhwZWN0ZWQgPSAiMHgiICsgdmFsaWRGb3Jt
YXRzW25hbWVdLnRvU3RyaW5nKDE2KTsKKyAgICAgICAgdmFyIGFjdHVhbCA9ICJleHRbJyIgKyBu
YW1lICsgIiddIjsKKyAgICAgICAgc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCk7CisgICAgfQor
CisgICAgc3VwcG9ydGVkRm9ybWF0cyA9IGdsLmdldFBhcmFtZXRlcihnbC5DT01QUkVTU0VEX1RF
WFRVUkVfRk9STUFUUyk7CisgICAgLy8gVGhlcmUgc2hvdWxkIGJlIGV4YWN0bHkgMyBmb3JtYXRz
CisgICAgc2hvdWxkQmUoInN1cHBvcnRlZEZvcm1hdHMubGVuZ3RoIiwgIjMiKTsKKworICAgIC8v
IGNoZWNrIHRoYXQgYWxsIDMgZm9ybWF0cyBleGlzdAorICAgIGZvciAodmFyIG5hbWUgaW4gdmFs
aWRGb3JtYXRzLmxlbmd0aCkgeworICAgICAgICBmb3JtYXRFeGlzdHModmFsaWRGb3JtYXRzW25h
bWVdLCBzdXBwb3J0ZWRGb3JtYXRzKTsKKyAgICB9CisKKyAgICAvLyBUZXN0IGVhY2ggZm9ybWF0
CisgICAgdGVzdEFUQ19SR0IoKTsKKyAgICB0ZXN0QVRDX1JHQkFfRXhwbGljaXQoKTsKKyAgICB0
ZXN0QVRDX1JHQkFfSW50ZXJwb2xhdGVkKCk7Cit9CisKK2Z1bmN0aW9uIHRlc3RBVENfUkdCKCkg
eworICAgIHZhciB0ZXN0cyA9IFsKKyAgICAgICAgeyAgIHdpZHRoOiA0LAorICAgICAgICAgICAg
aGVpZ2h0OiA0LAorICAgICAgICAgICAgY2hhbm5lbHM6IDMsCisgICAgICAgICAgICBkYXRhOiBp
bWdfNHg0X3JnYl9hdGMsCisgICAgICAgICAgICByYXc6IGltZ180eDRfcmdiYV9yYXcsCisgICAg
ICAgICAgICBmb3JtYXQ6IGV4dC5DT01QUkVTU0VEX1JHQl9BVENfV0VCR0wKKyAgICAgICAgfSwK
KyAgICAgICAgeyAgIHdpZHRoOiA4LAorICAgICAgICAgICAgaGVpZ2h0OiA4LAorICAgICAgICAg
ICAgY2hhbm5lbHM6IDMsCisgICAgICAgICAgICBkYXRhOiBpbWdfOHg4X3JnYl9hdGMsCisgICAg
ICAgICAgICByYXc6IGltZ184eDhfcmdiYV9yYXcsCisgICAgICAgICAgICBmb3JtYXQ6IGV4dC5D
T01QUkVTU0VEX1JHQl9BVENfV0VCR0wKKyAgICAgICAgfQorICAgIF07CisgICAgdGVzdEFDVFRl
eHR1cmVzKHRlc3RzKTsKK30KKworZnVuY3Rpb24gdGVzdEFUQ19SR0JBX0V4cGxpY2l0KCkgewor
ICAgIHZhciB0ZXN0cyA9IFsKKyAgICAgICAgeyAgIHdpZHRoOiA0LAorICAgICAgICAgICAgaGVp
Z2h0OiA0LAorICAgICAgICAgICAgY2hhbm5lbHM6IDQsCisgICAgICAgICAgICBkYXRhOiBpbWdf
NHg0X3JnYmFfYXRjX2V4cGxpY2l0LAorICAgICAgICAgICAgcmF3OiBpbWdfNHg0X3JnYmFfcmF3
LAorICAgICAgICAgICAgZm9ybWF0OiBleHQuQ09NUFJFU1NFRF9SR0JBX0FUQ19FWFBMSUNJVF9B
TFBIQV9XRUJHTAorICAgICAgICB9LAorICAgICAgICB7ICAgd2lkdGg6IDgsCisgICAgICAgICAg
ICBoZWlnaHQ6IDgsCisgICAgICAgICAgICBjaGFubmVsczogNCwKKyAgICAgICAgICAgIGRhdGE6
IGltZ184eDhfcmdiYV9hdGNfZXhwbGljaXQsCisgICAgICAgICAgICByYXc6IGltZ184eDhfcmdi
YV9yYXcsCisgICAgICAgICAgICBmb3JtYXQ6IGV4dC5DT01QUkVTU0VEX1JHQkFfQVRDX0VYUExJ
Q0lUX0FMUEhBX1dFQkdMCisgICAgICAgIH0KKyAgICBdOworICAgIHRlc3RBQ1RUZXh0dXJlcyh0
ZXN0cyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RBVENfUkdCQV9JbnRlcnBvbGF0ZWQoKSB7CisgICAg
dmFyIHRlc3RzID0gWworICAgICAgICB7ICAgd2lkdGg6IDQsCisgICAgICAgICAgICBoZWlnaHQ6
IDQsCisgICAgICAgICAgICBjaGFubmVsczogNCwKKyAgICAgICAgICAgIGRhdGE6IGltZ180eDRf
cmdiYV9hdGNfaW50ZXJwb2xhdGVkLAorICAgICAgICAgICAgcmF3OiBpbWdfNHg0X3JnYmFfcmF3
LAorICAgICAgICAgICAgZm9ybWF0OiBleHQuQ09NUFJFU1NFRF9SR0JBX0FUQ19JTlRFUlBPTEFU
RURfQUxQSEFfV0VCR0wKKyAgICAgICAgfSwKKyAgICAgICAgeyAgIHdpZHRoOiA4LAorICAgICAg
ICAgICAgaGVpZ2h0OiA4LAorICAgICAgICAgICAgY2hhbm5lbHM6IDQsCisgICAgICAgICAgICBk
YXRhOiBpbWdfOHg4X3JnYmFfYXRjX2ludGVycG9sYXRlZCwKKyAgICAgICAgICAgIHJhdzogaW1n
Xzh4OF9yZ2JhX3JhdywKKyAgICAgICAgICAgIGZvcm1hdDogZXh0LkNPTVBSRVNTRURfUkdCQV9B
VENfSU5URVJQT0xBVEVEX0FMUEhBX1dFQkdMCisgICAgICAgIH0KKyAgICBdOworICAgIHRlc3RB
Q1RUZXh0dXJlcyh0ZXN0cyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RBQ1RUZXh0dXJlcyh0ZXN0cykg
eworICAgIGRlYnVnKCI8aHIvPiIpOworICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXN0cy5s
ZW5ndGg7ICsraWkpIHsKKyAgICAgICAgdGVzdEFDVFRleHR1cmUodGVzdHNbaWldKTsKKyAgICB9
Cit9CisKK2Z1bmN0aW9uIHRlc3RBQ1RUZXh0dXJlKHRlc3QpIHsKKyAgICB2YXIgZGF0YSA9IG5l
dyBVaW50OEFycmF5KHRlc3QuZGF0YSk7CisgICAgdmFyIHdpZHRoID0gdGVzdC53aWR0aDsKKyAg
ICB2YXIgaGVpZ2h0ID0gdGVzdC5oZWlnaHQ7CisgICAgdmFyIGZvcm1hdCA9IHRlc3QuZm9ybWF0
OworICAgIHZhciB1bmNvbXByZXNzZWREYXRhID0gdGVzdC5yYXc7CisKKyAgICBjYW52YXMud2lk
dGggPSB3aWR0aDsKKyAgICBjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0OworICAgIGdsLnZpZXdwb3J0
KDAsIDAsIHdpZHRoLCBoZWlnaHQpOworICAgIGRlYnVnKCJ0ZXN0aW5nICIgKyBmb3JtYXRUb1N0
cmluZyhmb3JtYXQpICsgIiAiICsgd2lkdGggKyAieCIgKyBoZWlnaHQpOworCisgICAgdmFyIHRl
eCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJE
LCB0ZXgpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9X
UkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVS
RV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRleFBh
cmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5ORUFSRVNU
KTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJ
TFRFUiwgZ2wuTkVBUkVTVCk7CisgICAgZ2wuY29tcHJlc3NlZFRleEltYWdlMkQoZ2wuVEVYVFVS
RV8yRCwgMCwgZm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCAwLCBkYXRhKTsKKyAgICBnbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidXBsb2FkaW5nIGNvbXByZXNzZWQgdGV4dHVyZSIpOwor
ICAgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfMkQpOworICAgIGdsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJ0cnlpbmcgdG8gZ2VuZXJhdGUgbWlwbWFwcyBm
cm9tIGNvbXByZXNzZWQgdGV4dHVyZSIpOworICAgIHd0dS5jbGVhckFuZERyYXdVbml0UXVhZChn
bCk7CisgICAgY29tcGFyZVJlY3Qod2lkdGgsIGhlaWdodCwgdGVzdC5jaGFubmVscywgd2lkdGgs
IGhlaWdodCwgdW5jb21wcmVzc2VkRGF0YSwgZGF0YSwgZm9ybWF0KTsKKworICAgIGdsLmNvbXBy
ZXNzZWRUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGZvcm1hdCwgd2lkdGggKyA0LCBoZWln
aHQsIDAsIGRhdGEpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxVRSwg
ImRhdGEgc2l6ZSBkb2VzIG5vdCBtYXRjaCBkaW1lbnNpb25zIik7CisgICAgZ2wuY29tcHJlc3Nl
ZFRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZm9ybWF0LCB3aWR0aCwgaGVpZ2h0ICsgNCwg
MCwgZGF0YSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiZGF0
YSBzaXplIGRvZXMgbm90IG1hdGNoIGRpbWVuc2lvbnMiKTsKKyAgICBnbC5jb21wcmVzc2VkVGV4
SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBmb3JtYXQsIHdpZHRoIC0gNCwgaGVpZ2h0LCAwLCBk
YXRhKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJkYXRhIHNp
emUgZG9lcyBub3QgbWF0Y2ggZGltZW5zaW9ucyIpOworICAgIGdsLmNvbXByZXNzZWRUZXhJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGZvcm1hdCwgd2lkdGgsIGhlaWdodCAtIDQsIDAsIGRhdGEp
OworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgImRhdGEgc2l6ZSBk
b2VzIG5vdCBtYXRjaCBkaW1lbnNpb25zIik7CisKKyAgICBnbC5jb21wcmVzc2VkVGV4SW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCBmb3JtYXQsIHdpZHRoIC0gMSwgaGVpZ2h0LCAwLCBkYXRhKTsK
KyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiaW52YWxpZCBk
aW1lbnNpb25zIik7CisgICAgZ2wuY29tcHJlc3NlZFRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZm9ybWF0LCB3aWR0aCAtIDIsIGhlaWdodCwgMCwgZGF0YSk7CisgICAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImludmFsaWQgZGltZW5zaW9ucyIpOworICAg
IGdsLmNvbXByZXNzZWRUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGZvcm1hdCwgd2lkdGgs
IGhlaWdodCAtIDEsIDAsIGRhdGEpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJ
RF9PUEVSQVRJT04sICJpbnZhbGlkIGRpbWVuc2lvbnMiKTsKKyAgICBnbC5jb21wcmVzc2VkVGV4
SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBmb3JtYXQsIHdpZHRoLCBoZWlnaHQgLSAyLCAwLCBk
YXRhKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiaW52
YWxpZCBkaW1lbnNpb25zIik7CisKKyAgICBnbC5jb21wcmVzc2VkVGV4SW1hZ2UyRChnbC5URVhU
VVJFXzJELCAtMSwgZm9ybWF0LCAxLCBoZWlnaHQsIDAsIGRhdGEpOworICAgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuTk9fRVJST1IsICJjYW5ub3Qgc3BlY2lmeSBuZWdhdGl2ZSBtaXAgbGV2ZWwi
KTsKKworICAgIC8vIEFUQyBEb2VzIG5vdCBhbGxvdyB1c2Ugb2YgQ29tcHJlc3NlZFRleFN1Yklt
YWdlCisgICAgZ2wuY29tcHJlc3NlZFRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwg
MCwgd2lkdGgsIGhlaWdodCwgZm9ybWF0LCBkYXRhKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLklOVkFMSURfT1BFUkFUSU9OLCAiY29tcHJlc3NlZFRleFN1YkltYWdlMkQgbm90IGFsbG93
ZWQiKTsKK30KKworZnVuY3Rpb24gaW5zZXJ0SW1nKGVsZW1lbnQsIGNhcHRpb24sIGltZykgewor
ICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBkaXYuYXBw
ZW5kQ2hpbGQoaW1nKTsKKyAgICB2YXIgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsKKyAgICBsYWJlbC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjYXB0
aW9uKSk7CisgICAgZGl2LmFwcGVuZENoaWxkKGxhYmVsKTsKKyAgICBlbGVtZW50LmFwcGVuZENo
aWxkKGRpdik7Cit9CisKK2Z1bmN0aW9uIG1ha2VJbWFnZShpbWFnZVdpZHRoLCBpbWFnZUhlaWdo
dCwgZGF0YVdpZHRoLCBkYXRhLCBhbHBoYSkgeworICAgIHZhciBzY2FsZSA9IDg7CisgICAgdmFy
IGMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsKKyAgICBjLndpZHRoID0gaW1h
Z2VXaWR0aCAqIHNjYWxlOworICAgIGMuaGVpZ2h0ID0gaW1hZ2VIZWlnaHQgKiBzY2FsZTsKKyAg
ICB2YXIgY3R4ID0gYy5nZXRDb250ZXh0KCIyZCIpOworICAgIGZvciAodmFyIHl5ID0gMDsgeXkg
PCBpbWFnZUhlaWdodDsgKyt5eSkgeworICAgICAgICBmb3IgKHZhciB4eCA9IDA7IHh4IDwgaW1h
Z2VXaWR0aDsgKyt4eCkgeworICAgICAgICAgICAgdmFyIG9mZnNldCA9ICh5eSAqIGRhdGFXaWR0
aCArIHh4KSAqIDQ7CisgICAgICAgICAgICBjdHguZmlsbFN0eWxlID0gInJnYmEoIiArCisgICAg
ICAgICAgICAgICAgICAgIGRhdGFbb2Zmc2V0ICsgMF0gKyAiLCIgKworICAgICAgICAgICAgICAg
ICAgICBkYXRhW29mZnNldCArIDFdICsgIiwiICsKKyAgICAgICAgICAgICAgICAgICAgZGF0YVtv
ZmZzZXQgKyAyXSArICIsIiArCisgICAgICAgICAgICAgICAgICAgIChhbHBoYSA/IGRhdGFbb2Zm
c2V0ICsgM10gLyAyNTUgOiAxKSArICIpIjsKKyAgICAgICAgICAgIGN0eC5maWxsUmVjdCh4eCAq
IHNjYWxlLCB5eSAqIHNjYWxlLCBzY2FsZSwgc2NhbGUpOworICAgICAgICB9CisgICAgfQorICAg
IHZhciBpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKKyAgICBpbWcuc3JjID0g
Yy50b0RhdGFVUkwoKTsKKyAgICByZXR1cm4gaW1nOworfQorZnVuY3Rpb24gY29tcGFyZVJlY3Qo
CisgICAgICAgIGFjdHVhbFdpZHRoLCBhY3R1YWxIZWlnaHQsIGFjdHVhbENoYW5uZWxzLAorICAg
ICAgICBkYXRhV2lkdGgsIGRhdGFIZWlnaHQsIGV4cGVjdGVkRGF0YSwKKyAgICAgICAgdGVzdERh
dGEsIHRlc3RGb3JtYXQsIHRvbGVyYW5jZSkgeworICAgIGlmKHR5cGVvZih0b2xlcmFuY2UpID09
ICd1bmRlZmluZWQnKSB7IHRvbGVyYW5jZSA9IDU7IH0KKyAgICB2YXIgYWN0dWFsID0gbmV3IFVp
bnQ4QXJyYXkoYWN0dWFsV2lkdGggKiBhY3R1YWxIZWlnaHQgKiA0KTsKKyAgICBnbC5yZWFkUGl4
ZWxzKAorICAgICAgICAgICAgMCwgMCwgYWN0dWFsV2lkdGgsIGFjdHVhbEhlaWdodCwgZ2wuUkdC
QSwgZ2wuVU5TSUdORURfQllURSwgYWN0dWFsKTsKKworICAgIHZhciBkaXYgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBkaXYuY2xhc3NOYW1lID0gInRlc3RpbWFnZXMiOwor
ICAgIGluc2VydEltZyhkaXYsICJleHBlY3RlZCIsIG1ha2VJbWFnZSgKKyAgICAgICAgICAgIGFj
dHVhbFdpZHRoLCBhY3R1YWxIZWlnaHQsIGRhdGFXaWR0aCwgZXhwZWN0ZWREYXRhLAorICAgICAg
ICAgICAgYWN0dWFsQ2hhbm5lbHMgPT0gNCkpOworICAgIGluc2VydEltZyhkaXYsICJhY3R1YWwi
LCBtYWtlSW1hZ2UoCisgICAgICAgICAgICBhY3R1YWxXaWR0aCwgYWN0dWFsSGVpZ2h0LCBhY3R1
YWxXaWR0aCwgYWN0dWFsLAorICAgICAgICAgICAgYWN0dWFsQ2hhbm5lbHMgPT0gNCkpOworICAg
IGRpdi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdicicpKTsKKyAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmFwcGVuZENoaWxkKGRpdik7CisKKyAgICB2
YXIgZmFpbGVkID0gZmFsc2U7CisgICAgZm9yICh2YXIgeXkgPSAwOyB5eSA8IGFjdHVhbEhlaWdo
dDsgKyt5eSkgeworICAgICAgICBmb3IgKHZhciB4eCA9IDA7IHh4IDwgYWN0dWFsV2lkdGg7ICsr
eHgpIHsKKyAgICAgICAgICAgIHZhciBhY3R1YWxPZmZzZXQgPSAoeXkgKiBhY3R1YWxXaWR0aCAr
IHh4KSAqIDQ7CisgICAgICAgICAgICB2YXIgZXhwZWN0ZWRPZmZzZXQgPSAoeXkgKiBkYXRhV2lk
dGggKyB4eCkgKiA0OworICAgICAgICAgICAgdmFyIGV4cGVjdGVkID0gWworICAgICAgICAgICAg
ICAgICAgICBleHBlY3RlZERhdGFbZXhwZWN0ZWRPZmZzZXQgKyAwXSwKKyAgICAgICAgICAgICAg
ICAgICAgZXhwZWN0ZWREYXRhW2V4cGVjdGVkT2Zmc2V0ICsgMV0sCisgICAgICAgICAgICAgICAg
ICAgIGV4cGVjdGVkRGF0YVtleHBlY3RlZE9mZnNldCArIDJdLAorICAgICAgICAgICAgICAgICAg
ICAoYWN0dWFsQ2hhbm5lbHMgPT0gMyA/IDI1NSA6IGV4cGVjdGVkRGF0YVtleHBlY3RlZE9mZnNl
dCArIDNdKQorICAgICAgICAgICAgXTsKKyAgICAgICAgICAgIGZvciAodmFyIGpqID0gMDsgamog
PCA0OyArK2pqKSB7CisgICAgICAgICAgICAgICAgaWYgKE1hdGguYWJzKGFjdHVhbFthY3R1YWxP
ZmZzZXQgKyBqal0gLSBleHBlY3RlZFtqal0pID4gdG9sZXJhbmNlKSB7CisgICAgICAgICAgICAg
ICAgICAgIGZhaWxlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIHZhciB3YXMgPSBhY3R1
YWxbYWN0dWFsT2Zmc2V0ICsgMF0udG9TdHJpbmcoKTsKKyAgICAgICAgICAgICAgICAgICAgZm9y
IChqID0gMTsgaiA8IDQ7ICsraikgeworICAgICAgICAgICAgICAgICAgICAgICAgd2FzICs9ICIs
IiArIGFjdHVhbFthY3R1YWxPZmZzZXQgKyBqXTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdhdCAoJyArIHh4ICsgJywgJyArIHl5ICsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJykgZXhwZWN0ZWQ6ICcgKyBl
eHBlY3RlZCArICcgd2FzICcgKyB3YXMpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoIWZhaWxlZCkgeworICAgICAgICB0ZXN0UGFz
c2VkKCJ0ZXh0dXJlIHJlbmRlcmVkIGNvcnJlY3RseSIpOworICAgIH0KK30KKworZGVidWcoIiIp
OwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5Pgor
PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191305</attachid>
            <date>2013-03-04 13:55:06 -0800</date>
            <delta_ts>2013-03-04 22:16:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110496-20130304135113.patch</filename>
            <type>text/plain</type>
            <size>52902</size>
            <attacher name="Brandon Jones">bajones</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDAxMDU5MzU5NGNlOTg4
ODhjNmExMjBhNGJlNTczNmQxNjExZTZmNy4uNTUxYWMxNWJlOGMzYmE2ZWFmODQ1YTliNTBhZmIx
Mzg3NWI1MjE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEzLTAzLTA0ICBCcmFu
ZG9uIEpvbmVzICA8YmFqb25lc0Bnb29nbGUuY29tPgorCisgICAgICAgIFdFQkdMX2NvbXByZXNz
ZWRfdGV4dHVyZV9hdGMgaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDQ5NgorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5l
dGggUnVzc2VsbC4KKworICAgICAgICBUZXN0OiB3ZWJnbC9jb25mb3JtYW5jZS9leHRlbnNpb25z
L3dlYmdsLWNvbXByZXNzZWQtdGV4dHVyZS1hdGMuaHRtbAorCisgICAgICAgIEV4cG9zZXMgdGhl
IFdFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9hdGMgZXh0ZW5zaW9uLCBidXQgaXMgdW52ZXJpZmll
ZCBzaW5jZSBubyBkZXNrdG9wIGhhcmR3YXJlIHN1cHBvcnRzCisgICAgICAgIHRoZSBmb3JtYXQg
dGhhdCBJIGFtIGF3YXJlIG9mLiBTaG91bGQgZW5hYmxlIG1vYmlsZSBwb3J0cyB0byBleHBvc2Ug
dGhlIGZvcm1hdCwgaG93ZXZlci4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgor
ICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjp0b1Y4T2JqZWN0KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTENvbXByZXNz
ZWRUZXh0dXJlQVRDLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xFeHRlbnNpb24uaC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQzo6V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQyk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDOjp+V2ViR0xDb21wcmVz
c2VkVGV4dHVyZUFUQyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTENvbXByZXNzZWRUZXh0dXJl
QVRDOjpnZXROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMQ29tcHJlc3NlZFRleHR1cmVB
VEM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRD
OjpzdXBwb3J0ZWQpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1
cmVBVEMuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRl
bnNpb24uaC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViR0xDb21wcmVzc2VkVGV4
dHVyZUFUQyk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFU
Qy5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5z
aW9uLmguCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaDoKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnBhaW50UmVuZGVy
aW5nUmVzdWx0c1RvQ2FudmFzKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29u
dGV4dDo6Z2V0RXh0ZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29u
dGV4dDo6Z2V0U3VwcG9ydGVkRXh0ZW5zaW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlQ29tcHJlc3NlZFRleEZ1bmNEYXRhKToKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViR0xSZW5kZXJpbmdDb250ZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9FeHRlbnNpb25zM0QuaDoKKworCiAyMDEzLTAzLTA0ICBSb2dlciBGb25nICA8cm9n
ZXJfZm9uZ0BhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gQXBwbGVXaW4gYnVpbGQg
Zml4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlMTk3MzIxNjczNDM0ODUwMjliZWYyMDRmYTg5
NGVhZDUwOWRlNTI4Li5jMDE0MTFmY2QwYmI2ODQ2NTE1NDk1NWFjYzkxYzk3NTY0NmU4MmJhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNTMxLDYgKzUzMSw3IEBAIHNldChXZWJDb3JlX0lETF9G
SUxFUwogICAgIGh0bWwvY2FudmFzL1VpbnQ4Q2xhbXBlZEFycmF5LmlkbAogICAgIGh0bWwvY2Fu
dmFzL1dlYkdMQWN0aXZlSW5mby5pZGwKICAgICBodG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5pZGwK
KyAgICBodG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmlkbAogICAgIGh0bWwv
Y2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmlkbAogICAgIGh0bWwvY2FudmFzL1dl
YkdMQ29udGV4dEF0dHJpYnV0ZXMuaWRsCiAgICAgaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZl
bnQuaWRsCkBAIC0xNTE2LDYgKzE1MTcsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRt
bC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuY3BwCiAgICAgaHRtbC9jYW52YXMvT0VTRWxl
bWVudEluZGV4VWludC5jcHAKICAgICBodG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5jcHAKKyAgICBo
dG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcAogICAgIGh0bWwvY2FudmFz
L1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmNwcAogICAgIGh0bWwvY2FudmFzL1dlYkdMQ29u
dGV4dEF0dHJpYnV0ZXMuY3BwCiAgICAgaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZlbnQuY3Bw
CkBAIC0yNjMxLDYgKzI2MzMsNyBAQCBpZiAoRU5BQkxFX1dFQkdMKQogICAgICAgICBodG1sL2Nh
bnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5jcHAKICAgICAgICAgaHRtbC9jYW52YXMvT0VTRWxl
bWVudEluZGV4VWludC5jcHAKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuY3BwCisg
ICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwCiAgICAgICAg
IGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmNwcAogICAgICAgICBodG1s
L2NhbnZhcy9XZWJHTENvbnRleHRBdHRyaWJ1dGVzLmNwcAogICAgICAgICBodG1sL2NhbnZhcy9X
ZWJHTENvbnRleHRFdmVudC5jcHAKQEAgLTI2NzEsNiArMjY3NCw3IEBAIGlmIChFTkFCTEVfV0VC
R0wpCiAgICAgICAgIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuaWRsCiAgICAgICAg
IGh0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5mby5pZGwKICAgICAgICAgaHRtbC9jYW52YXMvV2Vi
R0xCdWZmZXIuaWRsCisgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVB
VEMuaWRsCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmlk
bAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTENvbnRleHRBdHRyaWJ1dGVzLmlkbAogICAgICAg
ICBodG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCmluZGV4IGI1MmU1MDhmN2E0NDJlYzgzNTg5NjIxMzNlNzJiMzYzMGE4MmJjNTMuLmVm
MTUzY2I4N2E5Y2ViMGRkMTIzYWMxNjhiZWMxZTcyYzEyYjI2NjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQpAQCAtNDA4LDYgKzQwOCw3IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAk
KFdlYkNvcmUpL2h0bWwvY2FudmFzL1VpbnQ4Q2xhbXBlZEFycmF5LmlkbCBcCiAgICAgJChXZWJD
b3JlKS9odG1sL2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8uaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0
bWwvY2FudmFzL1dlYkdMQnVmZmVyLmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9X
ZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZh
cy9XZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQy5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9j
YW52YXMvV2ViR0xDb250ZXh0QXR0cmlidXRlcy5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9j
YW52YXMvV2ViR0xDb250ZXh0RXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpp
bmRleCBjZDQ5MTMxOTk0NmYzYjRjYjI2YzEyYjc1ZmRjNDMxY2UyMjQ2ZWI4Li4yNzljYzBlMGMw
OTI3NzRkNTA4YmFiNzNjYTgxZDI0N2IxYzViNDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
cHJpCkBAIC0zMTgsNiArMzE4LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICAkJFBXRC9odG1s
L2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMv
V2ViR0xBY3RpdmVJbmZvLmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIu
aWRsIFwKKyAgICAkJFBXRC9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmlk
bCBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaWRs
IFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRBdHRyaWJ1dGVzLmlkbCBcCiAg
ICAgJCRQV0QvaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IDU4MjViMWY4YWQxNWE0ZmVlMTc2YTkyYWQwZmYwZGRiNGNi
NWY3OGMuLmEyOGViMWVmMDBiMTY0ODFjYjI2Zjg2MTgxNDEzNWFkMzdlOTk3ZjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNzgxLDYgKzc4MSw4IEBAIHdlYmNvcmVfYnVpbHRf
c291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdMQWN0aXZlSW5mby5o
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xCdWZmZXIuY3BwIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTV2ViR0xCdWZmZXIuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMuY3BwIFwKQEAgLTE1NTUsNiArMTU1Nyw3
IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvVWludDhD
bGFtcGVkQXJyYXkuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5m
by5pZGwgXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaWRsIFwKKwkkKFdl
YkNvcmUpL2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaWRsIFwKIAkkKFdl
YkNvcmUpL2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmlkbCBcCiAJJChX
ZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRBdHRyaWJ1dGVzLmlkbCBcCiAJJChXZWJD
b3JlKS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5pZGwgXApAQCAtMzI5Niw2ICszMjk5
LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTEFjdGl2ZUluZm8uaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xCdWZm
ZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5oIFwKKwlT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCBc
CisJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlUzNU
Qy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1
cmVTM1RDLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29udGV4dEF0dHJp
YnV0ZXMuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDYwM2NkYmRiMjc4NzQwNzVkZDRmYjExNmVjNDg1
NjIyMWZiMmFlZTUuLmI5Y2Y4YmNiNmEyOTMwMjA2MjYxNTI1NDVkOTU0ZjUzNDA5OTlmZTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUv
VGFyZ2V0LnByaQpAQCAtNDAxNyw2ICs0MDE3LDcgQEAgZW5hYmxlPyhXRUJHTCkgewogICAgICAg
ICBodG1sL2NhbnZhcy9XZWJHTE9iamVjdC5oIFwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xB
Y3RpdmVJbmZvLmggXAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5oIFwKKyAgICAg
ICAgaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oIFwKICAgICAgICAgaHRt
bC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCBcCiAgICAgICAgIGh0bWwvY2Fu
dmFzL1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMuaCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdM
Q29udGV4dEV2ZW50LmggXApAQCAtNDA1Myw2ICs0MDU0LDcgQEAgZW5hYmxlPyhXRUJHTCkgewog
ICAgICAgICBodG1sL2NhbnZhcy9DYW52YXNDb250ZXh0QXR0cmlidXRlcy5jcHAgXAogICAgICAg
ICBodG1sL2NhbnZhcy9XZWJHTE9iamVjdC5jcHAgXAogICAgICAgICBodG1sL2NhbnZhcy9XZWJH
TEJ1ZmZlci5jcHAgXAorICAgICAgICBodG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJl
QVRDLmNwcCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RD
LmNwcCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMuY3BwIFwK
ICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZlbnQuY3BwIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQppbmRleCA5MTM5ZTdiZmIxNTEzMjVjNzhhOGNhMTE1YjBjNmZiOGNjZjM3YWFlLi40MTFiYjcx
MzA1ZGEyMzExYjRiYzg5MmU0NDc0M2IzNzA4NzQ5ZmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC00
NzQsNiArNDc0LDcgQEAKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9VaW50OENsYW1wZWRBcnJh
eS5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5mby5pZGwnLAog
ICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmlkbCcsCisgICAgICAgICAgICAn
aHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGwnLAogICAgICAgICAgICAg
J2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmlkbCcsCiAgICAgICAgICAg
ICAnaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0QXR0cmlidXRlcy5pZGwnLAogICAgICAgICAgICAg
J2h0bWwvY2FudmFzL1dlYkdMQ29udGV4dEV2ZW50LmlkbCcsCkBAIC0zNDMzLDYgKzM0MzQsOCBA
QAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5mby5oJywKICAgICAgICAg
ICAgICdodG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvY2Fu
dmFzL1dlYkdMQnVmZmVyLmgnLAorICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQ29tcHJl
c3NlZFRleHR1cmVBVEMuY3BwJywKKyAgICAgICAgICAgICdodG1sL2NhbnZhcy9XZWJHTENvbXBy
ZXNzZWRUZXh0dXJlQVRDLmgnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMQ29tcHJl
c3NlZFRleHR1cmVTM1RDLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2ViR0xDb21w
cmVzc2VkVGV4dHVyZVMzVEMuaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2ViR0xDb250
ZXh0QXR0cmlidXRlcy5jcHAnLApAQCAtNzI2Myw2ICs3MjY2LDggQEAKICAgICAgICAgICAgICc8
KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xBY3RpdmVJbmZvLmgn
LAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNX
ZWJHTEJ1ZmZlci5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXZWJHTEJ1ZmZlci5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAn
LAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNX
ZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQy5jcHAn
LAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNX
ZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQy5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR0xDb250ZXh0QXR0cmlidXRlcy5jcHAnLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDQzODYxNTU4N2Y4YzJhNTdmYmM4NTEwMjAwNDhmYzQyYTdkOTFlMWEuLjQ4MzE2OGZjNWNl
MTZiN2ZmM2UzNDllNThmZDFiZGE3ZDA0OWNlZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIwNjAsOCArMjA2MCwxMiBAQAog
CQk3RTQ2RjZGQjE2MjdBMkNBMDAwNjIyMjMgLyogSlNPRVNFbGVtZW50SW5kZXhVaW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RTQ2RjZGOTE2MjdB
MkM5MDAwNjIyMjMgLyogSlNPRVNFbGVtZW50SW5kZXhVaW50LmggKi87IH07CiAJCTdFNUQ3QTc2
MTYxRDNGOEYwMDg5NkMzNCAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNUQ3QTczMTYxRDNGOEYwMDg5NkMz
NCAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmNwcCAqLzsgfTsKIAkJN0U1RDdBNzcxNjFEM0Y4RjAw
ODk2QzM0IC8qIE9FU0VsZW1lbnRJbmRleFVpbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNUQ3QTc0MTYxRDNGOEYwMDg5NkMzNCAvKiBPRVNFbGVt
ZW50SW5kZXhVaW50LmggKi87IH07CisJCTdFNjZFMjMzMTZENkVCNkMwMEY3RTdGRiAvKiBXZWJH
TENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdFNjZFMjMxMTZENkVCNkMwMEY3RTdGRiAvKiBXZWJHTENvbXByZXNz
ZWRUZXh0dXJlQVRDLmNwcCAqLzsgfTsKKwkJN0U2NkUyMzQxNkQ2RUI2QzAwRjdFN0ZGIC8qIFdl
YkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdFNjZFMjMyMTZENkVCNkMwMEY3RTdGRiAvKiBXZWJHTENvbXByZXNz
ZWRUZXh0dXJlQVRDLmggKi87IH07CiAJCTdFOTlBRjUxMEIxMzg0NjQ2OEZCMDFBNSAvKiBXaW5k
b3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0U5OUFGNTIwQjEzODQ2NDY4RkIwMUE1IC8qIFdpbmRvd0ZvY3Vz
QWxsb3dlZEluZGljYXRvci5jcHAgKi87IH07CiAJCTdFOTlBRjUzMEIxMzg0NjQ2OEZCMDFBNSAv
KiBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFOTlBRjU0MEIxMzg0NjQ2OEZCMDFBNSAvKiBXaW5kb3dG
b2N1c0FsbG93ZWRJbmRpY2F0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQk3RUEzMEY2OTE2REZGRTc1MDAyNTdEMEIgLyogSlNXZWJHTENvbXBy
ZXNzZWRUZXh0dXJlQVRDLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdFQTMwRjY3MTZERkZFNzUwMDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRl
eHR1cmVBVEMuY3BwICovOyB9OworCQk3RUEzMEY2QTE2REZGRTc1MDAyNTdEMEIgLyogSlNXZWJH
TENvbXByZXNzZWRUZXh0dXJlQVRDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3RUEzMEY2ODE2REZGRTc1MDAyNTdEMEIgLyogSlNXZWJHTENvbXByZXNz
ZWRUZXh0dXJlQVRDLmggKi87IH07CiAJCTdFRTY4NDVGMTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRo
ZW50aWNhdGlvbkNGLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdFRTY4NDRDMTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50aWNhdGlvbkNGLmNwcCAq
LzsgfTsKIAkJN0VFNjg0NjAxMkQyNkUzODAwRTc5NDE1IC8qIEF1dGhlbnRpY2F0aW9uQ0YuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFRTY4NDREMTJE
MjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50aWNhdGlvbkNGLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0VFNjg0NjExMkQyNkUzODAwRTc5NDE1IC8q
IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3RUU2ODQ0RTEyRDI2RTM4MDBFNzk0MTUgLyogQXV0aGVudGljYXRp
b25DaGFsbGVuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtOTU1NCw4ICs5NTU4LDEzIEBACiAJCTdFNDZGNkY5MTYyN0EyQzkwMDA2MjIyMyAv
KiBKU09FU0VsZW1lbnRJbmRleFVpbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNPRVNFbGVtZW50SW5kZXhVaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTdFNUQ3QTczMTYxRDNGOEYwMDg5NkMzNCAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE9FU0VsZW1lbnRJbmRleFVpbnQuY3Bw
OyBwYXRoID0gY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3RTVEN0E3NDE2MUQzRjhGMDA4OTZDMzQgLyogT0VTRWxlbWVudEluZGV4
VWludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBPRVNFbGVtZW50SW5kZXhV
aW50Lmg7IHBhdGggPSBjYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk3RTY2RTIzMTE2RDZFQjZDMDBGN0U3RkYgLyogV2ViR0xDb21wcmVz
c2VkVGV4dHVyZUFUQy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBX
ZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcDsgcGF0aCA9IGNhbnZhcy9XZWJHTENvbXByZXNz
ZWRUZXh0dXJlQVRDLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0U2NkUyMzIx
NkQ2RUI2QzAwRjdFN0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oOyBwYXRo
ID0gY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJN0U5OUFGNTIwQjEzODQ2NDY4RkIwMUE1IC8qIFdpbmRvd0ZvY3VzQWxsb3dl
ZEluZGljYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXaW5k
b3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk3RTk5QUY1NDBCMTM4NDY0NjhGQjAxQTUgLyogV2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9y
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdpbmRvd0ZvY3VzQWxsb3dlZElu
ZGljYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3RUEzMEY2MjE2REZENjI3
MDAyNTdEMEIgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBuYW1lID0gV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGw7IHBhdGggPSBjYW52YXMvV2Vi
R0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTdFQTMwRjY3MTZERkZFNzUwMDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSlNXZWJHTENvbXByZXNz
ZWRUZXh0dXJlQVRDLmNwcDsgcGF0aCA9IEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdFQTMwRjY4MTZERkZFNzUwMDI1N0QwQiAv
KiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmg7IHBhdGggPSBKU1dlYkdMQ29t
cHJlc3NlZFRleHR1cmVBVEMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0VFNjg0
NEMxMkQyNkUzODAwRTc5NDE1IC8qIEF1dGhlbnRpY2F0aW9uQ0YuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXV0aGVudGljYXRpb25DRi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTdFRTY4NDREMTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50aWNh
dGlvbkNGLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1dGhlbnRpY2F0aW9u
Q0YuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0VFNjg0NEUxMkQyNkUzODAwRTc5
NDE1IC8qIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xNTcyOCw2ICsxNTczNyw5IEBACiAJCQkJQTAyNDU3NEUxNkNFQUEyNzAwMEU1
NjcxIC8qIEVYVERyYXdCdWZmZXJzLmNwcCAqLywKIAkJCQlBMDI0NTc0RjE2Q0VBQTI3MDAwRTU2
NzEgLyogRVhURHJhd0J1ZmZlcnMuaCAqLywKIAkJCQlBMDI0NTc1MDE2Q0VBQTI3MDAwRTU2NzEg
LyogRVhURHJhd0J1ZmZlcnMuaWRsICovLAorCQkJCTdFQTMwRjYyMTZERkQ2MjcwMDI1N0QwQiAv
KiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmlkbCAqLywKKwkJCQk3RTY2RTIzMTE2RDZFQjZD
MDBGN0U3RkYgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAgKi8sCisJCQkJN0U2NkUy
MzIxNkQ2RUI2QzAwRjdFN0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCAqLywKIAkJ
CQk0OUVFQ0RDQzEwNTAzQzIzMDAwOTlGQUIgLyogQXJyYXlCdWZmZXIuaWRsICovLAogCQkJCTQ5
RUVDREM5MTA1MDNDMjMwMDA5OUZBQiAvKiBBcnJheUJ1ZmZlclZpZXcuaWRsICovLAogCQkJCTZF
NEU5MUE3MTBGN0ZCMzEwMEEyNzc5QyAvKiBDYW52YXNDb250ZXh0QXR0cmlidXRlcy5jcHAgKi8s
CkBAIC0xODk3Niw2ICsxODk4OCw4IEBACiAJCUE4M0I3OTA4MENDQUZGMkIwMDBCMDgyNSAvKiBI
VE1MICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk3RUEz
MEY2NzE2REZGRTc1MDAyNTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCAq
LywKKwkJCQk3RUEzMEY2ODE2REZGRTc1MDAyNTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0
dXJlQVRDLmggKi8sCiAJCQkJNDlFRUNFRjIxMDUwNzBDNDAwMDk5RkFCIC8qIEpTQXJyYXlCdWZm
ZXIuY3BwICovLAogCQkJCTQ5RUVDRUYzMTA1MDcwQzQwMDA5OUZBQiAvKiBKU0FycmF5QnVmZmVy
LmggKi8sCiAJCQkJNDlFRUNGMTkxMDUwNzJGMzAwMDk5RkFCIC8qIEpTQXJyYXlCdWZmZXJWaWV3
LmNwcCAqLywKQEAgLTI2NjUxLDYgKzI2NjY1LDggQEAKIAkJCQlBMDI0NTc1MjE2Q0VBQTI3MDAw
RTU2NzEgLyogRVhURHJhd0J1ZmZlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUEzMUM0RTRGMTZF
MDJBQjQwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBMzFDNEU1NDE2RTAyQjQwMDAyRjc5NTcgLyogSlNPRVNUZXh0dXJlSGFsZkZsb2F0LmggaW4g
SGVhZGVycyAqLywKKwkJCQk3RTY2RTIzNDE2RDZFQjZDMDBGN0U3RkYgLyogV2ViR0xDb21wcmVz
c2VkVGV4dHVyZUFUQy5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0VBMzBGNkExNkRGRkU3NTAwMjU3
RDBCIC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0y
OTg0OSw2ICsyOTg2NSw4IEBACiAJCQkJQTAyNDU3NTExNkNFQUEyNzAwMEU1NjcxIC8qIEVYVERy
YXdCdWZmZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEzMUM0RTREMTZFMDJBQTYwMDJGNzk1
NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEzMUM0RTUy
MTZFMDJCMDgwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXQuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJN0U2NkUyMzMxNkQ2RUI2QzAwRjdFN0ZGIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1
cmVBVEMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJN0VBMzBGNjkxNkRGRkU3NTAwMjU3RDBCIC8q
IEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3Vz
dG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250
ZXh0Q3VzdG9tLmNwcAppbmRleCBiMjdmMmIxMTZlM2YzMWExODIzNmQ4YzA3MWQxMmJkOGJhZjM2
ZmRhLi45MzgwZjc3Y2Q1MGYwNWNhM2ZlMzQxMjU4ODA2ODM2YzY4NTAwMmJlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3Rv
bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0Nv
bnRleHRDdXN0b20uY3BwCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSAiSlNVaW50MzJBcnJh
eS5oIgogI2luY2x1ZGUgIkpTVWludDhBcnJheS5oIgogI2luY2x1ZGUgIkpTV2ViR0xCdWZmZXIu
aCIKKyNpbmNsdWRlICJKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCIKICNpbmNsdWRlICJK
U1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmgiCiAjaW5jbHVkZSAiSlNXZWJHTERlcHRoVGV4
dHVyZS5oIgogI2luY2x1ZGUgIkpTV2ViR0xGcmFtZWJ1ZmZlci5oIgpAQCAtNjcsNiArNjgsNyBA
QAogI2luY2x1ZGUgIk9FU1RleHR1cmVIYWxmRmxvYXQuaCIKICNpbmNsdWRlICJPRVNWZXJ0ZXhB
cnJheU9iamVjdC5oIgogI2luY2x1ZGUgIldlYkdMQnVmZmVyLmgiCisjaW5jbHVkZSAiV2ViR0xD
b21wcmVzc2VkVGV4dHVyZUFUQy5oIgogI2luY2x1ZGUgIldlYkdMQ29tcHJlc3NlZFRleHR1cmVT
M1RDLmgiCiAjaW5jbHVkZSAiV2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5oIgogI2luY2x1ZGUgIldl
YkdMRGVidWdTaGFkZXJzLmgiCkBAIC0yMTYsNiArMjE4LDggQEAgc3RhdGljIEpTVmFsdWUgdG9K
UyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFdlYkdM
RXh0ZW4KICAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2Fz
dDxXZWJHTERlYnVnUmVuZGVyZXJJbmZvKj4oZXh0ZW5zaW9uKSk7CiAgICAgY2FzZSBXZWJHTEV4
dGVuc2lvbjo6V2ViR0xEZWJ1Z1NoYWRlcnNOYW1lOgogICAgICAgICByZXR1cm4gdG9KUyhleGVj
LCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PFdlYkdMRGVidWdTaGFkZXJzKj4oZXh0ZW5zaW9u
KSk7CisgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQ05h
bWU6CisgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8
V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQyo+KGV4dGVuc2lvbikpOwogICAgIGNhc2UgV2ViR0xF
eHRlbnNpb246OldlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDTmFtZToKICAgICAgICAgcmV0dXJu
IHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxXZWJHTENvbXByZXNzZWRUZXh0
dXJlUzNUQyo+KGV4dGVuc2lvbikpOwogICAgIGNhc2UgV2ViR0xFeHRlbnNpb246OldlYkdMRGVw
dGhUZXh0dXJlTmFtZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCmluZGV4
IDVhN2NiYTY5MjE3NzUzZGY5NWIxYzI4MWVjNjVhMDgwMmIyODJhZjcuLmRiNDk5MzkwNDAzZDVl
NTc3N2FlNTVjYTViYjFmNDY0NjkzMmFmOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0
Q3VzdG9tLmNwcApAQCAtNTcsNiArNTcsNyBAQAogI2luY2x1ZGUgIlY4VWludDMyQXJyYXkuaCIK
ICNpbmNsdWRlICJWOFVpbnQ4QXJyYXkuaCIKICNpbmNsdWRlICJWOFdlYkdMQnVmZmVyLmgiCisj
aW5jbHVkZSAiVjhXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmgiCiAjaW5jbHVkZSAiVjhXZWJH
TENvbXByZXNzZWRUZXh0dXJlUzNUQy5oIgogI2luY2x1ZGUgIlY4V2ViR0xEZWJ1Z1JlbmRlcmVy
SW5mby5oIgogI2luY2x1ZGUgIlY4V2ViR0xEZWJ1Z1NoYWRlcnMuaCIKQEAgLTIxNCw2ICsyMTUs
MTAgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4T2JqZWN0KFdlYkdMRXh0ZW5z
aW9uKiBleHRlbnNpb24sIHY4OjpIYW5kbGU8djgKICAgICAgICAgZXh0ZW5zaW9uT2JqZWN0ID0g
dG9WOChzdGF0aWNfY2FzdDxXZWJHTERlYnVnU2hhZGVycyo+KGV4dGVuc2lvbiksIGNvbnRleHRP
YmplY3QsIGlzb2xhdGUpOwogICAgICAgICByZWZlcmVuY2VOYW1lID0gIndlYkdMRGVidWdTaGFk
ZXJzTmFtZSI7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgV2ViR0xFeHRlbnNpb246OldlYkdM
Q29tcHJlc3NlZFRleHR1cmVBVENOYW1lOgorICAgICAgICBleHRlbnNpb25PYmplY3QgPSB0b1Y4
KHN0YXRpY19jYXN0PFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMqPihleHRlbnNpb24pLCBjb250
ZXh0T2JqZWN0LCBpc29sYXRlKTsKKyAgICAgICAgcmVmZXJlbmNlTmFtZSA9ICJ3ZWJHTENvbXBy
ZXNzZWRUZXh0dXJlQVRDTmFtZSI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgV2ViR0xFeHRl
bnNpb246OldlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDTmFtZToKICAgICAgICAgZXh0ZW5zaW9u
T2JqZWN0ID0gdG9WOChzdGF0aWNfY2FzdDxXZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQyo+KGV4
dGVuc2lvbiksIGNvbnRleHRPYmplY3QsIGlzb2xhdGUpOwogICAgICAgICByZWZlcmVuY2VOYW1l
ID0gIndlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDTmFtZSI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmQ1NTg2MzYwNGUzZjYwMTNiMmViM2E5NDY5ZGQ3Mjk3YmY4MWYxNGQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0
dXJlQVRDLmNwcApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAq
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
CisjaWYgRU5BQkxFKFdFQkdMKQorCisjaW5jbHVkZSAiV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFU
Qy5oIgorCisjaW5jbHVkZSAiRXh0ZW5zaW9uczNELmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQzo6V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQyhX
ZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQpCisgICAgOiBXZWJHTEV4dGVuc2lvbihjb250
ZXh0KQoreworICAgIGNvbnRleHQtPmFkZENvbXByZXNzZWRUZXh0dXJlRm9ybWF0KEV4dGVuc2lv
bnMzRDo6Q09NUFJFU1NFRF9BVENfUkdCX0FNRCk7CisgICAgY29udGV4dC0+YWRkQ29tcHJlc3Nl
ZFRleHR1cmVGb3JtYXQoRXh0ZW5zaW9uczNEOjpDT01QUkVTU0VEX0FUQ19SR0JBX0VYUExJQ0lU
X0FMUEhBX0FNRCk7CisgICAgY29udGV4dC0+YWRkQ29tcHJlc3NlZFRleHR1cmVGb3JtYXQoRXh0
ZW5zaW9uczNEOjpDT01QUkVTU0VEX0FUQ19SR0JBX0lOVEVSUE9MQVRFRF9BTFBIQV9BTUQpOwor
fQorCitXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDOjp+V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFU
QygpCit7Cit9CisKK1dlYkdMRXh0ZW5zaW9uOjpFeHRlbnNpb25OYW1lIFdlYkdMQ29tcHJlc3Nl
ZFRleHR1cmVBVEM6OmdldE5hbWUoKSBjb25zdAoreworICAgIHJldHVybiBXZWJHTENvbXByZXNz
ZWRUZXh0dXJlQVRDTmFtZTsKK30KKworUGFzc093blB0cjxXZWJHTENvbXByZXNzZWRUZXh0dXJl
QVRDPiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDOjpjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250
ZXh0KiBjb250ZXh0KQoreworICAgIHJldHVybiBhZG9wdFB0cihuZXcgV2ViR0xDb21wcmVzc2Vk
VGV4dHVyZUFUQyhjb250ZXh0KSk7Cit9CisKK2Jvb2wgV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFU
Qzo6c3VwcG9ydGVkKFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCkKK3sKKyAgICBFeHRl
bnNpb25zM0QqIGV4dGVuc2lvbnMgPSBjb250ZXh0LT5ncmFwaGljc0NvbnRleHQzRCgpLT5nZXRF
eHRlbnNpb25zKCk7CisgICAgcmV0dXJuIGV4dGVuc2lvbnMtPnN1cHBvcnRzKCJHTF9BTURfY29t
cHJlc3NlZF9BVENfdGV4dHVyZSIpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjI0ZTFmNWYzNDA5
NDVjMTVhMGI1ZDA1OTgzNGFhMTA0MjQ4NTRmMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaApAQCAtMCwwICsx
LDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDX2gKKyNkZWZp
bmUgV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQ19oCisKKyNpbmNsdWRlICJFeGNlcHRpb25Db2Rl
LmgiCisjaW5jbHVkZSAiV2ViR0xFeHRlbnNpb24uaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYkdMVGV4dHVyZTsKKworY2xh
c3MgV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQyA6IHB1YmxpYyBXZWJHTEV4dGVuc2lvbiB7Citw
dWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQz4g
Y3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOworCisgICAgc3RhdGljIGJvb2wgc3VwcG9y
dGVkKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOworCisgICAgdmlydHVhbCB+V2ViR0xDb21wcmVz
c2VkVGV4dHVyZUFUQygpOworICAgIHZpcnR1YWwgRXh0ZW5zaW9uTmFtZSBnZXROYW1lKCkgY29u
c3Q7CisKK3ByaXZhdGU6CisgICAgV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQyhXZWJHTFJlbmRl
cmluZ0NvbnRleHQqKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVENfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmlkbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
MTFiMzJiMTIyOWNmNWQ5MDBlMWQwMjQ2MGE2MzRjNTdlOGU5YzA0Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5p
ZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwor
ICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJHTCwKKyAg
ICBKU0dlbmVyYXRlSXNSZWFjaGFibGU9SW1wbENvbnRleHQsCisgICAgT21pdENvbnN0cnVjdG9y
LAorICAgIERvTm90Q2hlY2tDb25zdGFudHMKK10gaW50ZXJmYWNlIFdlYkdMQ29tcHJlc3NlZFRl
eHR1cmVBVEMgeworICAgIC8qIENvbXByZXNzZWQgVGV4dHVyZSBGb3JtYXRzICovCisgICAgY29u
c3QgdW5zaWduZWQgaW50IENPTVBSRVNTRURfUkdCX0FUQ19XRUJHTCAgICAgICAgICAgICAgICAg
ICAgID0gMHg4QzkyOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBDT01QUkVTU0VEX1JHQkFfQVRD
X0VYUExJQ0lUX0FMUEhBX1dFQkdMICAgICA9IDB4OEM5MzsKKyAgICBjb25zdCB1bnNpZ25lZCBp
bnQgQ09NUFJFU1NFRF9SR0JBX0FUQ19JTlRFUlBPTEFURURfQUxQSEFfV0VCR0wgPSAweDg3RUU7
Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKaW5kZXgg
YWZjNGU2YWViMzlkYzUzNDM0MGEyNjNkYjU2M2I0YzE5YTRiMmRkYS4uMjRhMWU2MTQyZGE0ZmY2
ZGY4MDgzYzZhOTNkYTIwNDIzMzZiMjY2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTEV4dGVuc2lvbi5oCkBAIC00Nyw2ICs0Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgV2Vi
R0xDb21wcmVzc2VkVGV4dHVyZVMzVENOYW1lLAogICAgICAgICBXZWJHTERlcHRoVGV4dHVyZU5h
bWUsCiAgICAgICAgIE9FU0VsZW1lbnRJbmRleFVpbnROYW1lLAorICAgICAgICBXZWJHTENvbXBy
ZXNzZWRUZXh0dXJlQVRDTmFtZSwKICAgICB9OwogCiAgICAgdm9pZCByZWYoKSB7IG1fY29udGV4
dC0+cmVmKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDJjZDExMjg3OTg2MzQ3YzRmNjQyZDA0ZGE1Yzk5NjAz
NWZhZjdiOTEuLjUyNGZhNjE5N2NlZWRmNjM2NWE5MTU5NjBjNjgwZmM5MmU3MzRjNGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmNwcApAQCAtNTcsNiArNTcsNyBAQAogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAi
V2ViR0xBY3RpdmVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViR0xCdWZmZXIuaCIKKyNpbmNsdWRlICJX
ZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmgiCiAjaW5jbHVkZSAiV2ViR0xDb21wcmVzc2VkVGV4
dHVyZVMzVEMuaCIKICNpbmNsdWRlICJXZWJHTENvbnRleHRBdHRyaWJ1dGVzLmgiCiAjaW5jbHVk
ZSAiV2ViR0xDb250ZXh0RXZlbnQuaCIKQEAgLTc1OCwxMCArNzU5LDEwIEBAIHZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0OjpwYWludFJlbmRlcmluZ1Jlc3VsdHNUb0NhbnZhcygpCiAgICAgICAg
IGlmIChtX2RyYXdpbmdCdWZmZXIpCiAgICAgICAgICAgICBtX2RyYXdpbmdCdWZmZXItPnBhaW50
Q29tcG9zaXRlZFJlc3VsdHNUb0NhbnZhcyhjYW52YXMoKS0+YnVmZmVyKCkpOwogI2VuZGlmCi0K
ICAgICAgICAgY2FudmFzKCktPm1ha2VQcmVzZW50YXRpb25Db3B5KCk7CiAgICAgfSBlbHNlCiAg
ICAgICAgIGNhbnZhcygpLT5jbGVhclByZXNlbnRhdGlvbkNvcHkoKTsKKwogICAgIGNsZWFySWZD
b21wb3NpdGVkKCk7CiAKICAgICBpZiAoIW1fbWFya2VkQ2FudmFzRGlydHkgJiYgIW1fbGF5ZXJD
bGVhcmVkKQpAQCAtMjQxNyw2ICsyNDE4LDEyIEBAIFdlYkdMRXh0ZW5zaW9uKiBXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OmdldEV4dGVuc2lvbihjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgICAg
ICBtX3dlYmdsTG9zZUNvbnRleHQgPSBXZWJHTExvc2VDb250ZXh0OjpjcmVhdGUodGhpcyk7CiAg
ICAgICAgIHJldHVybiBtX3dlYmdsTG9zZUNvbnRleHQuZ2V0KCk7CiAgICAgfQorICAgIGlmICgo
ZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIldFQktJVF9XRUJHTF9jb21wcmVzc2VkX3RleHR1cmVf
YXRjIikpCisgICAgICAgICYmIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEM6OnN1cHBvcnRlZCh0
aGlzKSkgeworICAgICAgICBpZiAoIW1fd2ViZ2xDb21wcmVzc2VkVGV4dHVyZUFUQykKKyAgICAg
ICAgICAgIG1fd2ViZ2xDb21wcmVzc2VkVGV4dHVyZUFUQyA9IFdlYkdMQ29tcHJlc3NlZFRleHR1
cmVBVEM6OmNyZWF0ZSh0aGlzKTsKKyAgICAgICAgcmV0dXJuIG1fd2ViZ2xDb21wcmVzc2VkVGV4
dHVyZUFUQy5nZXQoKTsKKyAgICB9CiAgICAgaWYgKChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAi
V0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMiKQogICAgICAgICAgLy8gRklYTUU6IHJlbW92
ZSB0aGlzIGFmdGVyIGEgY2VydGFpbiBncmFjZSBwZXJpb2QuCiAgICAgICAgICB8fCBlcXVhbEln
bm9yaW5nQ2FzZShuYW1lLCAiV0VCS0lUX1dFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjIikp
CkBAIC0yOTY5LDYgKzI5NzYsOCBAQCBWZWN0b3I8U3RyaW5nPiBXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OmdldFN1cHBvcnRlZEV4dGVuc2lvbnMoKQogICAgIGlmIChtX2NvbnRleHQtPmdldEV4dGVu
c2lvbnMoKS0+c3VwcG9ydHMoIkdMX09FU19lbGVtZW50X2luZGV4X3VpbnQiKSkKICAgICAgICAg
cmVzdWx0LmFwcGVuZCgiT0VTX2VsZW1lbnRfaW5kZXhfdWludCIpOwogICAgIHJlc3VsdC5hcHBl
bmQoIldFQkdMX2xvc2VfY29udGV4dCIpOworICAgIGlmIChXZWJHTENvbXByZXNzZWRUZXh0dXJl
QVRDOjpzdXBwb3J0ZWQodGhpcykpCisgICAgICAgIHJlc3VsdC5hcHBlbmQoIldFQktJVF9XRUJH
TF9jb21wcmVzc2VkX3RleHR1cmVfYXRjIik7CiAgICAgaWYgKFdlYkdMQ29tcHJlc3NlZFRleHR1
cmVTM1RDOjpzdXBwb3J0ZWQodGhpcykpCiAgICAgICAgIHJlc3VsdC5hcHBlbmQoIldFQktJVF9X
RUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YyIpOwogICAgIGlmIChXZWJHTERlcHRoVGV4dHVy
ZTo6c3VwcG9ydGVkKGdyYXBoaWNzQ29udGV4dDNEKCkpKQpAQCAtNTMzNCw2ICs1MzQzLDE3IEBA
IGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZUNvbXByZXNzZWRUZXhGdW5jRGF0
YShjb25zdCBjaGFyKiBmdW5jdGlvbk5hCiAgICAgICAgICAgICBieXRlc1JlcXVpcmVkID0gbnVt
QmxvY2tzICoga0Jsb2NrU2l6ZTsKICAgICAgICAgfQogICAgICAgICBicmVhazsKKyAgICBjYXNl
IEV4dGVuc2lvbnMzRDo6Q09NUFJFU1NFRF9BVENfUkdCX0FNRDoKKyAgICAgICAgeworICAgICAg
ICAgICAgYnl0ZXNSZXF1aXJlZCA9IGZsb29yKCh3aWR0aCArIDMpIC8gNCkgKiBmbG9vcigoaGVp
Z2h0ICsgMykgLyA0KSAqIDg7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBF
eHRlbnNpb25zM0Q6OkNPTVBSRVNTRURfQVRDX1JHQkFfRVhQTElDSVRfQUxQSEFfQU1EOgorICAg
IGNhc2UgRXh0ZW5zaW9uczNEOjpDT01QUkVTU0VEX0FUQ19SR0JBX0lOVEVSUE9MQVRFRF9BTFBI
QV9BTUQ6CisgICAgICAgIHsKKyAgICAgICAgICAgIGJ5dGVzUmVxdWlyZWQgPSBmbG9vcigod2lk
dGggKyAzKSAvIDQpICogZmxvb3IoKGhlaWdodCArIDMpIC8gNCkgKiAxNjsKKyAgICAgICAgfQor
ICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBzeW50aGVzaXplR0xFcnJvcihH
cmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNLCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIGZv
cm1hdCIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IGVjZjhjZmZmOTlhYWRjYjRm
ZmY3ZDdmYjFjNWU1MzkwYjMyYzJjZjcuLmFiNjQyYjRiZTIyYmY4MmU1NjRjNmQwODY3MGYxMjE0
NjE5NTI0Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5oCkBAIC01OCw2ICs1OCw3IEBAIGNsYXNzIFdlYkdMQWN0aXZlSW5mbzsK
IGNsYXNzIFdlYkdMQnVmZmVyOwogY2xhc3MgV2ViR0xDb250ZXh0R3JvdXA7CiBjbGFzcyBXZWJH
TENvbnRleHRPYmplY3Q7CitjbGFzcyBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDOwogY2xhc3Mg
V2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEM7CiBjbGFzcyBXZWJHTENvbnRleHRBdHRyaWJ1dGVz
OwogY2xhc3MgV2ViR0xEZWJ1Z1JlbmRlcmVySW5mbzsKQEAgLTMzMCw2ICszMzEsNyBAQCBwdWJs
aWM6CiAgICAgZnJpZW5kIGNsYXNzIFdlYkdMT2JqZWN0OwogICAgIGZyaWVuZCBjbGFzcyBPRVNW
ZXJ0ZXhBcnJheU9iamVjdDsKICAgICBmcmllbmQgY2xhc3MgV2ViR0xEZWJ1Z1NoYWRlcnM7Cisg
ICAgZnJpZW5kIGNsYXNzIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEM7CiAgICAgZnJpZW5kIGNs
YXNzIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDOwogICAgIGZyaWVuZCBjbGFzcyBXZWJHTFJl
bmRlcmluZ0NvbnRleHRFcnJvck1lc3NhZ2VDYWxsYmFjazsKICAgICBmcmllbmQgY2xhc3MgV2Vi
R0xWZXJ0ZXhBcnJheU9iamVjdE9FUzsKQEAgLTUyNSw2ICs1MjcsNyBAQCBwdWJsaWM6CiAgICAg
T3duUHRyPFdlYkdMTG9zZUNvbnRleHQ+IG1fd2ViZ2xMb3NlQ29udGV4dDsKICAgICBPd25QdHI8
V2ViR0xEZWJ1Z1JlbmRlcmVySW5mbz4gbV93ZWJnbERlYnVnUmVuZGVyZXJJbmZvOwogICAgIE93
blB0cjxXZWJHTERlYnVnU2hhZGVycz4gbV93ZWJnbERlYnVnU2hhZGVyczsKKyAgICBPd25QdHI8
V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQz4gbV93ZWJnbENvbXByZXNzZWRUZXh0dXJlQVRDOwog
ICAgIE93blB0cjxXZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQz4gbV93ZWJnbENvbXByZXNzZWRU
ZXh0dXJlUzNUQzsKICAgICBPd25QdHI8V2ViR0xEZXB0aFRleHR1cmU+IG1fd2ViZ2xEZXB0aFRl
eHR1cmU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4
dGVuc2lvbnMzRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9u
czNELmgKaW5kZXggZDhkNzdhOTI3ZWVlOGM0NzE3NzMwMzIxMTdmZDQ2NDEyZWQ2NzZmOS4uM2Jl
ZDQ2ZmQyZjY0MzRlNWQ2YTExOGViY2VkZDA2YWUwZDZiZDljMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmgKQEAgLTE0Myw2ICsxNDMsMTEg
QEAgcHVibGljOgogICAgICAgICBDT01QUkVTU0VEX1JHQkFfUFZSVENfNEJQUFYxX0lNRyA9IDB4
OEMwMiwKICAgICAgICAgQ09NUFJFU1NFRF9SR0JBX1BWUlRDXzJCUFBWMV9JTUcgPSAweDhDMDMs
CiAKKyAgICAgICAgLy8gR0xfQU1EX2NvbXByZXNzZWRfQVRDX3RleHR1cmUKKyAgICAgICAgQ09N
UFJFU1NFRF9BVENfUkdCX0FNRCA9IDB4OEM5MiwKKyAgICAgICAgQ09NUFJFU1NFRF9BVENfUkdC
QV9FWFBMSUNJVF9BTFBIQV9BTUQgPSAweDhDOTMsCisgICAgICAgIENPTVBSRVNTRURfQVRDX1JH
QkFfSU5URVJQT0xBVEVEX0FMUEhBX0FNRCA9IDB4ODdFRSwKKwogICAgICAgICAvLyBHTF9FWFRf
dGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMKICAgICAgICAgVEVYVFVSRV9NQVhfQU5JU09UUk9Q
WV9FWFQgPSAweDg0RkUsCiAgICAgICAgIE1BWF9URVhUVVJFX01BWF9BTklTT1RST1BZX0VYVCA9
IDB4ODRGRiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBhMjY3NmViYzYwODI4M2YyNTQzZGY1ZTE4M2Y1M2RiZWQ3YTg3ODc0
Li40NDc2NGNiNDFiODQ2NmM2MGZkZTQwNDdhNWZmZjMwMjBmMGE4OWEzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTMtMDMtMDQgIEJyYW5kb24gSm9uZXMgIDxiYWpvbmVzQGdvb2dsZS5jb20+
CisKKyAgICAgICAgV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0YyBpbXBsZW1lbnRhdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwNDk2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgorCisgICAgICAgICogd2ViZ2wv
Y29uZm9ybWFuY2UvZXh0ZW5zaW9ucy93ZWJnbC1jb21wcmVzc2VkLXRleHR1cmUtYXRjLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy93
ZWJnbC1jb21wcmVzc2VkLXRleHR1cmUtYXRjLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMvd2ViZ2wt
Y29tcHJlc3NlZC10ZXh0dXJlLWF0Yy5odG1sOiBBZGRlZC4KKwogMjAxMy0wMy0wNCAgQ2hyaXN0
aWFuIEJpZXNpbmdlciAgPGNiaWVzaW5nZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgICh0ZXN0
cykgZmxleGJveC9yZXNvdXJjZXMuY3NzIHNob3VsZCB1c2UgdW5wcmVmaXhlZCBwcm9wZXJ0aWVz
LCBmb3IgZmlyZWZveApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
ZXh0ZW5zaW9ucy93ZWJnbC1jb21wcmVzc2VkLXRleHR1cmUtYXRjLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMvd2ViZ2wtY29tcHJlc3NlZC10
ZXh0dXJlLWF0Yy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDhjNzk2N2JiNDY5MTUyYzdjMzA0
MGVhZjVhYzc3YWRhMGE2ZDcwNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMvd2ViZ2wtY29tcHJlc3NlZC10ZXh0dXJlLWF0Yy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVz
dDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9u
cy93ZWJnbC1jb21wcmVzc2VkLXRleHR1cmUtYXRjLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy93ZWJnbC1jb21wcmVzc2Vk
LXRleHR1cmUtYXRjLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9leHRlbnNp
b25zL3dlYmdsLWNvbXByZXNzZWQtdGV4dHVyZS1hdGMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjdiZDI1
NjkxMTkzNjZhNGVkMWQxNjMwYTVmNDA4MmVjOTU1MjNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy93ZWJnbC1jb21wcmVzc2VkLXRl
eHR1cmUtYXRjLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Igd2ViZ2wtY29tcHJlc3NlZC10
ZXh0dXJlLWF0Yy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJr
aXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+
VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBh
bmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy93ZWJnbC1jb21wcmVz
c2VkLXRleHR1cmUtYXRjLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2V4dGVuc2lvbnMvd2ViZ2wtY29tcHJlc3NlZC10ZXh0dXJlLWF0Yy5odG1sPC9h
PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9u
cy93ZWJnbC1jb21wcmVzc2VkLXRleHR1cmUtYXRjLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0i
NjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0
ZW5zaW9ucy93ZWJnbC1jb21wcmVzc2VkLXRleHR1cmUtYXRjLmh0bWwgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9leHRlbnNpb25zL3dl
YmdsLWNvbXByZXNzZWQtdGV4dHVyZS1hdGMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYTRjNzBiYjJkYWJk
YzM5MTM4ODI5ZjNiZGM4MDY0MjNiODMyZDE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9u
cy93ZWJnbC1jb21wcmVzc2VkLXRleHR1cmUtYXRjLmh0bWwKQEAgLTAsMCArMSw0MjMgQEAKK++7
vzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMyBUaGUgS2hyb25vcyBHcm91cCBJbmMu
CisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv
IGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3Ig
YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8g
ZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiog
d2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVz
IG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUg
TWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg
dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGll
cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBN
QVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ
TkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g
VEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBD
TEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9S
IElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVS
IERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8dGl0bGU+V2Vi
R0wgV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0YyBDb25mb3JtYW5jZSBUZXN0czwvdGl0bGU+
Cis8c3R5bGU+CitpbWcgeworIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworIG1hcmdpbi1yaWdo
dDogMWVtOworfQorLnRlc3RpbWFnZXMgeworfQorCisudGVzdGltYWdlcyBiciB7CisgIGNsZWFy
OiBib3RoOworfQorCisudGVzdGltYWdlcyA+IGRpdiB7CisgIGZsb2F0OiBsZWZ0OworICBtYXJn
aW46IDFlbTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjgiIGhlaWdodD0iOCIgc3R5
bGU9IndpZHRoOiA4cHg7IGhlaWdodDogOHB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSBXRUJHTF9jb21wcmVzc2VkX3RleHR1
cmVfYXRjIGV4dGVuc2lvbiwgaWYgaXQgaXMgYXZhaWxhYmxlLiIpOworCitkZWJ1ZygiIik7CisK
Ky8vIENvbXByZXNzZWQgdGV4dHVyZXMgZ2VuZXJhdGVkIHdpdGggQU1EJ3MgQ29tcHJlc3NvbmF0
b3IgdG9vbAorLy8gaHR0cDovL2RldmVsb3Blci5hbWQuY29tL3Jlc291cmNlcy9hcmNoaXZlL2Fy
Y2hpdmVkLXRvb2xzL2dwdS10b29scy1hcmNoaXZlL3RoZS1jb21wcmVzc29uYXRvci8KK3ZhciBp
bWdfNHg0X3JnYmFfcmF3ID0gbmV3IFVpbnQ4QXJyYXkoWworICAgIDB4ZmYsMHgwMCwweDAwLDB4
NjksMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4MDAsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAw
LDB4ZmYsCisgICAgMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYs
MHgwMCwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwKKyAgICAweGZmLDB4MDAsMHgwMCww
eGZmLDB4ZmYsMHgwMCwweDAwLDB4ZmYsMHhmZiwweDAwLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgw
MCwweGZmLAorICAgIDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAw
LDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsCitdKTsKK3ZhciBpbWdfNHg0X3Jn
Yl9hdGMgPSBuZXcgVWludDhBcnJheShbCisgICAgMHgwMCwweDdjLDB4ZTAsMHgwNywweGNjLDB4
Y2YsMHhjMCwweGZmLAorXSk7Cit2YXIgaW1nXzR4NF9yZ2JhX2F0Y19leHBsaWNpdCA9IG5ldyBV
aW50OEFycmF5KFsKKyAgICAweGY2LDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYs
MHgwMCwweDdjLDB4ZTAsMHgwNywweGNjLDB4Y2YsMHhjMCwweGZmLAorXSk7Cit2YXIgaW1nXzR4
NF9yZ2JhX2F0Y19pbXBsaWNpdCA9IG5ldyBVaW50OEFycmF5KFsKKyAgICAweGZmLDB4NmEsMHgw
MSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDdjLDB4ZTAsMHgwNywweGNjLDB4Y2Ys
MHhjMCwweGZmLAorXSk7Cit2YXIgaW1nXzh4OF9yZ2JhX3JhdyA9IG5ldyBVaW50OEFycmF5KFsK
KyAgICAweGZmLDB4MDAsMHgwMCwweDY5LDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweDAwLDB4
MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLAorICAgIDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgw
MCwweDAwLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHgwMCwweGZmLDB4ZmYs
CisgICAgMHgwMCwweGZmLDB4MDAsMHg2OSwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHgwMCww
eDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwKKyAgICAweDAwLDB4MDAsMHhmZiwweGZmLDB4
MDAsMHgwMCwweGZmLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4MDAsMHhmZiwweGZm
LAorICAgIDB4ZmYsMHgwMCwweDAwLDB4ZmYsMHhmZiwweDAwLDB4MDAsMHhmZiwweGZmLDB4MDAs
MHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsCisgICAgMHhmZiwweGZmLDB4MDAsMHhmZiww
eGZmLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweDAwLDB4ZmYsMHhm
ZiwKKyAgICAweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZm
LDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLAorICAgIDB4MDAsMHgwMCwweGZmLDB4ZmYs
MHgwMCwweDAwLDB4ZmYsMHhmZiwweDAwLDB4MDAsMHhmZiwweGZmLDB4MDAsMHgwMCwweGZmLDB4
ZmYsCisgICAgMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4MDAsMHhmZiwweGZmLDB4MDAsMHhm
ZiwweDAwLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmZiwKKyAgICAweDAwLDB4MDAsMHhmZiwweGZm
LDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweDAwLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmZiww
eGZmLAorICAgIDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmZiwweDAwLDB4
ZmYsMHgwMCwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ZmYsCisgICAgMHgwMCwweGZmLDB4ZmYsMHhm
ZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHgwMCwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ZmYs
MHhmZiwKKyAgICAweDAwLDB4ZmYsMHgwMCwweDY5LDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCww
eGZmLDB4MDAsMHhmZiwweGZmLDB4MDAsMHhmZiwweGZmLAorICAgIDB4MDAsMHgwMCwweGZmLDB4
ZmYsMHgwMCwweDAwLDB4ZmYsMHhmZiwweDAwLDB4MDAsMHhmZiwweGZmLDB4MDAsMHhmZiwweGZm
LDB4ZmYsCisgICAgMHhmZiwweDAwLDB4ZmYsMHg2OSwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYs
MHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmZiwKKyAgICAweDAwLDB4ZmYsMHhmZiww
eGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhm
ZiwweGZmLAorXSk7Cit2YXIgaW1nXzh4OF9yZ2JfYXRjID0gbmV3IFVpbnQ4QXJyYXkoWworICAg
IDB4MDAsMHg3YywweGUwLDB4MDcsMHhjYywweGNmLDB4YzAsMHhmZiwweDFmLDB4MDAsMHhlMCww
eGZmLDB4MzMsMHgzMCwweDNmLDB4MDAsCisgICAgMHgxZiwweDdjLDB4ZTAsMHgwNywweDMzLDB4
MzAsMHgzZiwweDAwLDB4MWYsMHgwMCwweGZmLDB4MDcsMHhjYywweGNmLDB4YzAsMHhmZiwKK10p
OwordmFyIGltZ184eDhfcmdiYV9hdGNfZXhwbGljaXQgPSBuZXcgVWludDhBcnJheShbCisgICAg
MHhmNiwweGZmLDB4ZjYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHg3YywweGUwLDB4
MDcsMHhjYywweGNmLDB4YzAsMHhmZiwKKyAgICAweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhm
ZiwweGZmLDB4ZmYsMHgxZiwweDAwLDB4ZTAsMHhmZiwweDMzLDB4MzAsMHgzZiwweDAwLAorICAg
IDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmNiwweGZmLDB4ZjYsMHhmZiwweDFmLDB4N2MsMHhlMCww
eDA3LDB4MzMsMHgzMCwweDNmLDB4MDAsCisgICAgMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4
ZmYsMHhmZiwweGZmLDB4MWYsMHgwMCwweGZmLDB4MDcsMHhjYywweGNmLDB4YzAsMHhmZiwKK10p
OwordmFyIGltZ184eDhfcmdiYV9hdGNfaW1wbGljaXQgPSBuZXcgVWludDhBcnJheShbCisgICAg
MHhmZiwweDZhLDB4MDEsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg3YywweGUwLDB4
MDcsMHhjYywweGNmLDB4YzAsMHhmZiwKKyAgICAweDAwLDB4ZmYsMHg0OSwweDkyLDB4MjQsMHg0
OSwweDkyLDB4MjQsMHgxZiwweDAwLDB4ZTAsMHhmZiwweDMzLDB4MzAsMHgzZiwweDAwLAorICAg
IDB4ZmYsMHg2OSwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHgwMCwweDFmLDB4N2MsMHhlMCww
eDA3LDB4MzMsMHgzMCwweDNmLDB4MDAsCisgICAgMHgwMCwweGZmLDB4NDksMHg5MiwweDI0LDB4
NDksMHg5MiwweDI0LDB4MWYsMHgwMCwweGZmLDB4MDcsMHhjYywweGNmLDB4YzAsMHhmZiwKK10p
OworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNhbnZhcyIpOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52
YXMsIHthbnRpYWxpYXM6IGZhbHNlfSk7Cit2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFRleHR1cmVk
UXVhZChnbCk7Cit2YXIgZXh0ID0gbnVsbDsKK3ZhciB2YW8gPSBudWxsOwordmFyIHZhbGlkRm9y
bWF0cyA9IHsKKyAgICBDT01QUkVTU0VEX1JHQl9BVENfV0VCR0wgICAgICAgICAgICAgICAgICAg
ICAgICA6IDB4OEM5MiwKKyAgICBDT01QUkVTU0VEX1JHQkFfQVRDX0VYUExJQ0lUX0FMUEhBX1dF
QkdMICAgICAgICA6IDB4OEM5MywKKyAgICBDT01QUkVTU0VEX1JHQkFfQVRDX0lOVEVSUE9MQVRF
RF9BTFBIQV9XRUJHTCAgICA6IDB4ODdFRSwKK307Cit2YXIgbmFtZTsKK3ZhciBzdXBwb3J0ZWRG
b3JtYXRzOworCitpZiAoIWdsKSB7CisgICAgdGVzdEZhaWxlZCgiV2ViR0wgY29udGV4dCBkb2Vz
IG5vdCBleGlzdCIpOworfSBlbHNlIHsKKyAgICB0ZXN0UGFzc2VkKCJXZWJHTCBjb250ZXh0IGV4
aXN0cyIpOworCisgICAgLy8gUnVuIHRlc3RzIHdpdGggZXh0ZW5zaW9uIGRpc2FibGVkCisgICAg
cnVuVGVzdERpc2FibGVkKCk7CisKKyAgICAvLyBRdWVyeSB0aGUgZXh0ZW5zaW9uIGFuZCBzdG9y
ZSBnbG9iYWxseSBzbyBzaG91bGRCZSBjYW4gYWNjZXNzIGl0CisgICAgZXh0ID0gd3R1LmdldEV4
dGVuc2lvbldpdGhLbm93blByZWZpeGVzKGdsLCAiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0
YyIpOworICAgIGlmICghZXh0KSB7CisgICAgICAgIHRlc3RQYXNzZWQoIk5vIFdFQkdMX2NvbXBy
ZXNzZWRfdGV4dHVyZV9hdGMgc3VwcG9ydCAtLSB0aGlzIGlzIGxlZ2FsIik7CisgICAgICAgIHJ1
blN1cHBvcnRlZFRlc3QoZmFsc2UpOworICAgIH0gZWxzZSB7CisgICAgICAgIHRlc3RQYXNzZWQo
IlN1Y2Nlc3NmdWxseSBlbmFibGVkIFdFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9hdGMgZXh0ZW5z
aW9uIik7CisKKyAgICAgICAgcnVuU3VwcG9ydGVkVGVzdCh0cnVlKTsKKyAgICAgICAgcnVuVGVz
dEV4dGVuc2lvbigpOworICAgIH0KK30KKworZnVuY3Rpb24gcnVuU3VwcG9ydGVkVGVzdChleHRl
bnNpb25FbmFibGVkKSB7CisgICAgdmFyIG5hbWUgPSB3dHUuZ2V0U3VwcG9ydGVkRXh0ZW5zaW9u
V2l0aEtub3duUHJlZml4ZXMoZ2wsICJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfYXRjIik7Cisg
ICAgaWYgKG5hbWUgIT09IHVuZGVmaW5lZCkgeworICAgICAgICBpZiAoZXh0ZW5zaW9uRW5hYmxl
ZCkgeworICAgICAgICAgICAgdGVzdFBhc3NlZCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0
YyBsaXN0ZWQgYXMgc3VwcG9ydGVkIGFuZCBnZXRFeHRlbnNpb24gc3VjY2VlZGVkIik7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJXRUJHTF9jb21wcmVzc2VkX3Rl
eHR1cmVfYXRjIGxpc3RlZCBhcyBzdXBwb3J0ZWQgYnV0IGdldEV4dGVuc2lvbiBmYWlsZWQiKTsK
KyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChleHRlbnNpb25FbmFibGVkKSB7
CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfYXRjIG5v
dCBsaXN0ZWQgYXMgc3VwcG9ydGVkIGJ1dCBnZXRFeHRlbnNpb24gc3VjY2VlZGVkIik7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJXRUJHTF9jb21wcmVzc2VkX3Rl
eHR1cmVfYXRjIG5vdCBsaXN0ZWQgYXMgc3VwcG9ydGVkIGFuZCBnZXRFeHRlbnNpb24gZmFpbGVk
IC0tIHRoaXMgaXMgbGVnYWwiKTsKKyAgICAgICAgfQorICAgIH0KK30KKworCitmdW5jdGlvbiBy
dW5UZXN0RGlzYWJsZWQoKSB7CisgICAgZGVidWcoIlRlc3RpbmcgYmluZGluZyBlbnVtIHdpdGgg
ZXh0ZW5zaW9uIGRpc2FibGVkIik7CisKKyAgICBzaG91bGRCZSgnZ2wuZ2V0UGFyYW1ldGVyKGds
LkNPTVBSRVNTRURfVEVYVFVSRV9GT1JNQVRTKScsICdbXScpOworfQorCitmdW5jdGlvbiBmb3Jt
YXRFeGlzdHMoZm9ybWF0LCBzdXBwb3J0ZWRGb3JtYXRzKSB7CisgICAgZm9yICh2YXIgaWkgPSAw
OyBpaSA8IHN1cHBvcnRlZEZvcm1hdHMubGVuZ3RoOyArK2lpKSB7CisgICAgICAgIGlmIChmb3Jt
YXQgPT0gc3VwcG9ydGVkRm9ybWF0c1tpaV0pIHsKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoInN1
cHBvcnRlZCBmb3JtYXQgIiArIGZvcm1hdFRvU3RyaW5nKGZvcm1hdCkgKyAiIGlzIGV4aXN0cyIp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorICAgIHRlc3RGYWlsZWQo
InN1cHBvcnRlZCBmb3JtYXQgIiArIGZvcm1hdFRvU3RyaW5nKGZvcm1hdCkgKyAiIGRvZXMgbm90
IGV4aXN0Iik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFRvU3RyaW5nKGZvcm1hdCkgeworICAgIGZv
ciAodmFyIHAgaW4gZXh0KSB7CisgICAgICAgIGlmIChleHRbcF0gPT0gZm9ybWF0KSB7CisgICAg
ICAgICAgICByZXR1cm4gcDsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gIjB4IiArIGZv
cm1hdC50b1N0cmluZygxNik7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3RFeHRlbnNpb24oKSB7Cisg
ICAgZGVidWcoIlRlc3RpbmcgV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0YyIpOworCisgICAg
Ly8gY2hlY2sgdGhhdCBhbGwgZm9ybWF0IGVudW1zIGV4aXN0LgorICAgIGZvciAobmFtZSBpbiB2
YWxpZEZvcm1hdHMpIHsKKyAgICAgICAgdmFyIGV4cGVjdGVkID0gIjB4IiArIHZhbGlkRm9ybWF0
c1tuYW1lXS50b1N0cmluZygxNik7CisgICAgICAgIHZhciBhY3R1YWwgPSAiZXh0WyciICsgbmFt
ZSArICInXSI7CisgICAgICAgIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpOworICAgIH0KKwor
ICAgIHN1cHBvcnRlZEZvcm1hdHMgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuQ09NUFJFU1NFRF9URVhU
VVJFX0ZPUk1BVFMpOworICAgIC8vIFRoZXJlIHNob3VsZCBiZSBleGFjdGx5IDMgZm9ybWF0cwor
ICAgIHNob3VsZEJlKCJzdXBwb3J0ZWRGb3JtYXRzLmxlbmd0aCIsICIzIik7CisKKyAgICAvLyBj
aGVjayB0aGF0IGFsbCAzIGZvcm1hdHMgZXhpc3QKKyAgICBmb3IgKHZhciBuYW1lIGluIHZhbGlk
Rm9ybWF0cy5sZW5ndGgpIHsKKyAgICAgICAgZm9ybWF0RXhpc3RzKHZhbGlkRm9ybWF0c1tuYW1l
XSwgc3VwcG9ydGVkRm9ybWF0cyk7CisgICAgfQorCisgICAgLy8gVGVzdCBlYWNoIGZvcm1hdAor
ICAgIHRlc3RBVENfUkdCKCk7CisgICAgdGVzdEFUQ19SR0JBX0V4cGxpY2l0KCk7CisgICAgdGVz
dEFUQ19SR0JBX0ludGVycG9sYXRlZCgpOworfQorCitmdW5jdGlvbiB0ZXN0QVRDX1JHQigpIHsK
KyAgICB2YXIgdGVzdHMgPSBbCisgICAgICAgIHsgICB3aWR0aDogNCwKKyAgICAgICAgICAgIGhl
aWdodDogNCwKKyAgICAgICAgICAgIGNoYW5uZWxzOiAzLAorICAgICAgICAgICAgZGF0YTogaW1n
XzR4NF9yZ2JfYXRjLAorICAgICAgICAgICAgcmF3OiBpbWdfNHg0X3JnYmFfcmF3LAorICAgICAg
ICAgICAgZm9ybWF0OiBleHQuQ09NUFJFU1NFRF9SR0JfQVRDX1dFQkdMCisgICAgICAgIH0sCisg
ICAgICAgIHsgICB3aWR0aDogOCwKKyAgICAgICAgICAgIGhlaWdodDogOCwKKyAgICAgICAgICAg
IGNoYW5uZWxzOiAzLAorICAgICAgICAgICAgZGF0YTogaW1nXzh4OF9yZ2JfYXRjLAorICAgICAg
ICAgICAgcmF3OiBpbWdfOHg4X3JnYmFfcmF3LAorICAgICAgICAgICAgZm9ybWF0OiBleHQuQ09N
UFJFU1NFRF9SR0JfQVRDX1dFQkdMCisgICAgICAgIH0KKyAgICBdOworICAgIHRlc3RBQ1RUZXh0
dXJlcyh0ZXN0cyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RBVENfUkdCQV9FeHBsaWNpdCgpIHsKKyAg
ICB2YXIgdGVzdHMgPSBbCisgICAgICAgIHsgICB3aWR0aDogNCwKKyAgICAgICAgICAgIGhlaWdo
dDogNCwKKyAgICAgICAgICAgIGNoYW5uZWxzOiA0LAorICAgICAgICAgICAgZGF0YTogaW1nXzR4
NF9yZ2JhX2F0Y19leHBsaWNpdCwKKyAgICAgICAgICAgIHJhdzogaW1nXzR4NF9yZ2JhX3JhdywK
KyAgICAgICAgICAgIGZvcm1hdDogZXh0LkNPTVBSRVNTRURfUkdCQV9BVENfRVhQTElDSVRfQUxQ
SEFfV0VCR0wKKyAgICAgICAgfSwKKyAgICAgICAgeyAgIHdpZHRoOiA4LAorICAgICAgICAgICAg
aGVpZ2h0OiA4LAorICAgICAgICAgICAgY2hhbm5lbHM6IDQsCisgICAgICAgICAgICBkYXRhOiBp
bWdfOHg4X3JnYmFfYXRjX2V4cGxpY2l0LAorICAgICAgICAgICAgcmF3OiBpbWdfOHg4X3JnYmFf
cmF3LAorICAgICAgICAgICAgZm9ybWF0OiBleHQuQ09NUFJFU1NFRF9SR0JBX0FUQ19FWFBMSUNJ
VF9BTFBIQV9XRUJHTAorICAgICAgICB9CisgICAgXTsKKyAgICB0ZXN0QUNUVGV4dHVyZXModGVz
dHMpOworfQorCitmdW5jdGlvbiB0ZXN0QVRDX1JHQkFfSW50ZXJwb2xhdGVkKCkgeworICAgIHZh
ciB0ZXN0cyA9IFsKKyAgICAgICAgeyAgIHdpZHRoOiA0LAorICAgICAgICAgICAgaGVpZ2h0OiA0
LAorICAgICAgICAgICAgY2hhbm5lbHM6IDQsCisgICAgICAgICAgICBkYXRhOiBpbWdfNHg0X3Jn
YmFfYXRjX2ludGVycG9sYXRlZCwKKyAgICAgICAgICAgIHJhdzogaW1nXzR4NF9yZ2JhX3JhdywK
KyAgICAgICAgICAgIGZvcm1hdDogZXh0LkNPTVBSRVNTRURfUkdCQV9BVENfSU5URVJQT0xBVEVE
X0FMUEhBX1dFQkdMCisgICAgICAgIH0sCisgICAgICAgIHsgICB3aWR0aDogOCwKKyAgICAgICAg
ICAgIGhlaWdodDogOCwKKyAgICAgICAgICAgIGNoYW5uZWxzOiA0LAorICAgICAgICAgICAgZGF0
YTogaW1nXzh4OF9yZ2JhX2F0Y19pbnRlcnBvbGF0ZWQsCisgICAgICAgICAgICByYXc6IGltZ184
eDhfcmdiYV9yYXcsCisgICAgICAgICAgICBmb3JtYXQ6IGV4dC5DT01QUkVTU0VEX1JHQkFfQVRD
X0lOVEVSUE9MQVRFRF9BTFBIQV9XRUJHTAorICAgICAgICB9CisgICAgXTsKKyAgICB0ZXN0QUNU
VGV4dHVyZXModGVzdHMpOworfQorCitmdW5jdGlvbiB0ZXN0QUNUVGV4dHVyZXModGVzdHMpIHsK
KyAgICBkZWJ1ZygiPGhyLz4iKTsKKyAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGVzdHMubGVu
Z3RoOyArK2lpKSB7CisgICAgICAgIHRlc3RBQ1RUZXh0dXJlKHRlc3RzW2lpXSk7CisgICAgfQor
fQorCitmdW5jdGlvbiB0ZXN0QUNUVGV4dHVyZSh0ZXN0KSB7CisgICAgdmFyIGRhdGEgPSBuZXcg
VWludDhBcnJheSh0ZXN0LmRhdGEpOworICAgIHZhciB3aWR0aCA9IHRlc3Qud2lkdGg7CisgICAg
dmFyIGhlaWdodCA9IHRlc3QuaGVpZ2h0OworICAgIHZhciBmb3JtYXQgPSB0ZXN0LmZvcm1hdDsK
KyAgICB2YXIgdW5jb21wcmVzc2VkRGF0YSA9IHRlc3QucmF3OworCisgICAgY2FudmFzLndpZHRo
ID0gd2lkdGg7CisgICAgY2FudmFzLmhlaWdodCA9IGhlaWdodDsKKyAgICBnbC52aWV3cG9ydCgw
LCAwLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBkZWJ1ZygidGVzdGluZyAiICsgZm9ybWF0VG9TdHJp
bmcoZm9ybWF0KSArICIgIiArIHdpZHRoICsgIngiICsgaGVpZ2h0KTsKKworICAgIHZhciB0ZXgg
PSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwg
dGV4KTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JB
UF9TLCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVf
MkQsIGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJh
bWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7
CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01BR19GSUxU
RVIsIGdsLk5FQVJFU1QpOworICAgIGdsLmNvbXByZXNzZWRUZXhJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIGZvcm1hdCwgd2lkdGgsIGhlaWdodCwgMCwgZGF0YSk7CisgICAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5OT19FUlJPUiwgInVwbG9hZGluZyBjb21wcmVzc2VkIHRleHR1cmUiKTsKKyAg
ICBnbC5nZW5lcmF0ZU1pcG1hcChnbC5URVhUVVJFXzJEKTsKKyAgICBnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAidHJ5aW5nIHRvIGdlbmVyYXRlIG1pcG1hcHMgZnJv
bSBjb21wcmVzc2VkIHRleHR1cmUiKTsKKyAgICB3dHUuY2xlYXJBbmREcmF3VW5pdFF1YWQoZ2wp
OworICAgIGNvbXBhcmVSZWN0KHdpZHRoLCBoZWlnaHQsIHRlc3QuY2hhbm5lbHMsIHdpZHRoLCBo
ZWlnaHQsIHVuY29tcHJlc3NlZERhdGEsIGRhdGEsIGZvcm1hdCk7CisKKyAgICBnbC5jb21wcmVz
c2VkVGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBmb3JtYXQsIHdpZHRoICsgNCwgaGVpZ2h0
LCAwLCBkYXRhKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJk
YXRhIHNpemUgZG9lcyBub3QgbWF0Y2ggZGltZW5zaW9ucyIpOworICAgIGdsLmNvbXByZXNzZWRU
ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGZvcm1hdCwgd2lkdGgsIGhlaWdodCArIDQsIDAs
IGRhdGEpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgImRhdGEg
c2l6ZSBkb2VzIG5vdCBtYXRjaCBkaW1lbnNpb25zIik7CisgICAgZ2wuY29tcHJlc3NlZFRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZm9ybWF0LCB3aWR0aCAtIDQsIGhlaWdodCwgMCwgZGF0
YSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiZGF0YSBzaXpl
IGRvZXMgbm90IG1hdGNoIGRpbWVuc2lvbnMiKTsKKyAgICBnbC5jb21wcmVzc2VkVGV4SW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCBmb3JtYXQsIHdpZHRoLCBoZWlnaHQgLSA0LCAwLCBkYXRhKTsK
KyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJkYXRhIHNpemUgZG9l
cyBub3QgbWF0Y2ggZGltZW5zaW9ucyIpOworCisgICAgZ2wuY29tcHJlc3NlZFRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZm9ybWF0LCB3aWR0aCAtIDEsIGhlaWdodCwgMCwgZGF0YSk7Cisg
ICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImludmFsaWQgZGlt
ZW5zaW9ucyIpOworICAgIGdsLmNvbXByZXNzZWRUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAs
IGZvcm1hdCwgd2lkdGggLSAyLCBoZWlnaHQsIDAsIGRhdGEpOworICAgIGdsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJpbnZhbGlkIGRpbWVuc2lvbnMiKTsKKyAgICBn
bC5jb21wcmVzc2VkVGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBmb3JtYXQsIHdpZHRoLCBo
ZWlnaHQgLSAxLCAwLCBkYXRhKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURf
T1BFUkFUSU9OLCAiaW52YWxpZCBkaW1lbnNpb25zIik7CisgICAgZ2wuY29tcHJlc3NlZFRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZm9ybWF0LCB3aWR0aCwgaGVpZ2h0IC0gMiwgMCwgZGF0
YSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImludmFs
aWQgZGltZW5zaW9ucyIpOworCisgICAgZ2wuY29tcHJlc3NlZFRleEltYWdlMkQoZ2wuVEVYVFVS
RV8yRCwgLTEsIGZvcm1hdCwgMSwgaGVpZ2h0LCAwLCBkYXRhKTsKKyAgICBnbEVycm9yU2hvdWxk
QmUoZ2wsIGdsLk5PX0VSUk9SLCAiY2Fubm90IHNwZWNpZnkgbmVnYXRpdmUgbWlwIGxldmVsIik7
CisKKyAgICAvLyBBVEMgRG9lcyBub3QgYWxsb3cgdXNlIG9mIENvbXByZXNzZWRUZXhTdWJJbWFn
ZQorICAgIGdsLmNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAs
IHdpZHRoLCBoZWlnaHQsIGZvcm1hdCwgZGF0YSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5JTlZBTElEX09QRVJBVElPTiwgImNvbXByZXNzZWRUZXhTdWJJbWFnZTJEIG5vdCBhbGxvd2Vk
Iik7Cit9CisKK2Z1bmN0aW9uIGluc2VydEltZyhlbGVtZW50LCBjYXB0aW9uLCBpbWcpIHsKKyAg
ICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZGl2LmFwcGVu
ZENoaWxkKGltZyk7CisgICAgdmFyIGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7CisgICAgbGFiZWwuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY2FwdGlv
bikpOworICAgIGRpdi5hcHBlbmRDaGlsZChsYWJlbCk7CisgICAgZWxlbWVudC5hcHBlbmRDaGls
ZChkaXYpOworfQorCitmdW5jdGlvbiBtYWtlSW1hZ2UoaW1hZ2VXaWR0aCwgaW1hZ2VIZWlnaHQs
IGRhdGFXaWR0aCwgZGF0YSwgYWxwaGEpIHsKKyAgICB2YXIgc2NhbGUgPSA4OworICAgIHZhciBj
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7CisgICAgYy53aWR0aCA9IGltYWdl
V2lkdGggKiBzY2FsZTsKKyAgICBjLmhlaWdodCA9IGltYWdlSGVpZ2h0ICogc2NhbGU7CisgICAg
dmFyIGN0eCA9IGMuZ2V0Q29udGV4dCgiMmQiKTsKKyAgICBmb3IgKHZhciB5eSA9IDA7IHl5IDwg
aW1hZ2VIZWlnaHQ7ICsreXkpIHsKKyAgICAgICAgZm9yICh2YXIgeHggPSAwOyB4eCA8IGltYWdl
V2lkdGg7ICsreHgpIHsKKyAgICAgICAgICAgIHZhciBvZmZzZXQgPSAoeXkgKiBkYXRhV2lkdGgg
KyB4eCkgKiA0OworICAgICAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICJyZ2JhKCIgKworICAgICAg
ICAgICAgICAgICAgICBkYXRhW29mZnNldCArIDBdICsgIiwiICsKKyAgICAgICAgICAgICAgICAg
ICAgZGF0YVtvZmZzZXQgKyAxXSArICIsIiArCisgICAgICAgICAgICAgICAgICAgIGRhdGFbb2Zm
c2V0ICsgMl0gKyAiLCIgKworICAgICAgICAgICAgICAgICAgICAoYWxwaGEgPyBkYXRhW29mZnNl
dCArIDNdIC8gMjU1IDogMSkgKyAiKSI7CisgICAgICAgICAgICBjdHguZmlsbFJlY3QoeHggKiBz
Y2FsZSwgeXkgKiBzY2FsZSwgc2NhbGUsIHNjYWxlKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB2
YXIgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7CisgICAgaW1nLnNyYyA9IGMu
dG9EYXRhVVJMKCk7CisgICAgcmV0dXJuIGltZzsKK30KK2Z1bmN0aW9uIGNvbXBhcmVSZWN0KAor
ICAgICAgICBhY3R1YWxXaWR0aCwgYWN0dWFsSGVpZ2h0LCBhY3R1YWxDaGFubmVscywKKyAgICAg
ICAgZGF0YVdpZHRoLCBkYXRhSGVpZ2h0LCBleHBlY3RlZERhdGEsCisgICAgICAgIHRlc3REYXRh
LCB0ZXN0Rm9ybWF0LCB0b2xlcmFuY2UpIHsKKyAgICBpZih0eXBlb2YodG9sZXJhbmNlKSA9PSAn
dW5kZWZpbmVkJykgeyB0b2xlcmFuY2UgPSA1OyB9CisgICAgdmFyIGFjdHVhbCA9IG5ldyBVaW50
OEFycmF5KGFjdHVhbFdpZHRoICogYWN0dWFsSGVpZ2h0ICogNCk7CisgICAgZ2wucmVhZFBpeGVs
cygKKyAgICAgICAgICAgIDAsIDAsIGFjdHVhbFdpZHRoLCBhY3R1YWxIZWlnaHQsIGdsLlJHQkEs
IGdsLlVOU0lHTkVEX0JZVEUsIGFjdHVhbCk7CisKKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiZGl2Iik7CisgICAgZGl2LmNsYXNzTmFtZSA9ICJ0ZXN0aW1hZ2VzIjsKKyAg
ICBpbnNlcnRJbWcoZGl2LCAiZXhwZWN0ZWQiLCBtYWtlSW1hZ2UoCisgICAgICAgICAgICBhY3R1
YWxXaWR0aCwgYWN0dWFsSGVpZ2h0LCBkYXRhV2lkdGgsIGV4cGVjdGVkRGF0YSwKKyAgICAgICAg
ICAgIGFjdHVhbENoYW5uZWxzID09IDQpKTsKKyAgICBpbnNlcnRJbWcoZGl2LCAiYWN0dWFsIiwg
bWFrZUltYWdlKAorICAgICAgICAgICAgYWN0dWFsV2lkdGgsIGFjdHVhbEhlaWdodCwgYWN0dWFs
V2lkdGgsIGFjdHVhbCwKKyAgICAgICAgICAgIGFjdHVhbENoYW5uZWxzID09IDQpKTsKKyAgICBk
aXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnInKSk7CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5hcHBlbmRDaGlsZChkaXYpOworCisgICAgdmFy
IGZhaWxlZCA9IGZhbHNlOworICAgIGZvciAodmFyIHl5ID0gMDsgeXkgPCBhY3R1YWxIZWlnaHQ7
ICsreXkpIHsKKyAgICAgICAgZm9yICh2YXIgeHggPSAwOyB4eCA8IGFjdHVhbFdpZHRoOyArK3h4
KSB7CisgICAgICAgICAgICB2YXIgYWN0dWFsT2Zmc2V0ID0gKHl5ICogYWN0dWFsV2lkdGggKyB4
eCkgKiA0OworICAgICAgICAgICAgdmFyIGV4cGVjdGVkT2Zmc2V0ID0gKHl5ICogZGF0YVdpZHRo
ICsgeHgpICogNDsKKyAgICAgICAgICAgIHZhciBleHBlY3RlZCA9IFsKKyAgICAgICAgICAgICAg
ICAgICAgZXhwZWN0ZWREYXRhW2V4cGVjdGVkT2Zmc2V0ICsgMF0sCisgICAgICAgICAgICAgICAg
ICAgIGV4cGVjdGVkRGF0YVtleHBlY3RlZE9mZnNldCArIDFdLAorICAgICAgICAgICAgICAgICAg
ICBleHBlY3RlZERhdGFbZXhwZWN0ZWRPZmZzZXQgKyAyXSwKKyAgICAgICAgICAgICAgICAgICAg
KGFjdHVhbENoYW5uZWxzID09IDMgPyAyNTUgOiBleHBlY3RlZERhdGFbZXhwZWN0ZWRPZmZzZXQg
KyAzXSkKKyAgICAgICAgICAgIF07CisgICAgICAgICAgICBmb3IgKHZhciBqaiA9IDA7IGpqIDwg
NDsgKytqaikgeworICAgICAgICAgICAgICAgIGlmIChNYXRoLmFicyhhY3R1YWxbYWN0dWFsT2Zm
c2V0ICsgampdIC0gZXhwZWN0ZWRbampdKSA+IHRvbGVyYW5jZSkgeworICAgICAgICAgICAgICAg
ICAgICBmYWlsZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICB2YXIgd2FzID0gYWN0dWFs
W2FjdHVhbE9mZnNldCArIDBdLnRvU3RyaW5nKCk7CisgICAgICAgICAgICAgICAgICAgIGZvciAo
aiA9IDE7IGogPCA0OyArK2opIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHdhcyArPSAiLCIg
KyBhY3R1YWxbYWN0dWFsT2Zmc2V0ICsgal07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgnYXQgKCcgKyB4eCArICcsICcgKyB5eSArCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcpIGV4cGVjdGVkOiAnICsgZXhw
ZWN0ZWQgKyAnIHdhcyAnICsgd2FzKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKCFmYWlsZWQpIHsKKyAgICAgICAgdGVzdFBhc3Nl
ZCgidGV4dHVyZSByZW5kZXJlZCBjb3JyZWN0bHkiKTsKKyAgICB9Cit9CisKK2RlYnVnKCIiKTsK
K3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwv
aHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>