<?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>110818</bug_id>
          
          <creation_ts>2013-02-25 16:12:12 -0800</creation_ts>
          <short_desc>[WebGL] Support for texImage2D of type HALF_FLOAT_OES with ArrayBufferView.</short_desc>
          <delta_ts>2013-03-04 18:01:11 -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></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>109853</blocked>
    
    <blocked>111267</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nayan Kumar K">nayankk</reporter>
          <assigned_to name="Nayan Kumar K">nayankk</assigned_to>
          <cc>abarth</cc>
    
    <cc>bajones</cc>
    
    <cc>buildbot</cc>
    
    <cc>cmarrin</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>noam</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>841383</commentid>
    <comment_count>0</comment_count>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2013-02-25 16:12:12 -0800</bug_when>
    <thetext>As per OES_texture_half_float specification (http://www.khronos.org/registry/webgl/extensions/OES_texture_half_float/), texImage2D and texSubImage2D entry points taking ArrayBufferView should extended to accept null with the pixel type HALF_FLOAT_OES.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842230</commentid>
    <comment_count>1</comment_count>
      <attachid>190335</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2013-02-26 11:43:04 -0800</bug_when>
    <thetext>Created attachment 190335
oes_texture_half_float</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842234</commentid>
    <comment_count>2</comment_count>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2013-02-26 11:47:58 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=190335) [details]
&gt; oes_texture_half_float

Uploaded first patch towards implementing support for OES_texture_half_float in WebKit. With this patch, texImage2D and texSubImage2D will return failure when called with HALF_FLOAT_OES with non-null ArrayBufferView. Subsequent patches will add support for null ArrayBufferView.

I am unable to get the test run properly with DumpRenderTree. For some reason DumpRenderTree doesn&apos;t advertise GL_OES_texture_half_float as one of the supported extension, whereas chromium/content_shell advertises this string on the same platform!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842613</commentid>
    <comment_count>3</comment_count>
      <attachid>190335</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-02-26 19:20:04 -0800</bug_when>
    <thetext>Comment on attachment 190335
oes_texture_half_float

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

Thanks for continuing to push this patch forward. Before it is committed I think you should get it running in the Mac port of DRT. You probably need to check for the GL_ARB_half_float_pixel OpenGL extension, and if it&apos;s present, then have GraphicsContext3D claim that it supports GL_OES_texture_half_float. Also, the patch needs to be rebaselined and pass the EWS bots.

&gt; Source/WebCore/html/canvas/OESTextureHalfFloat.cpp:2
&gt; + * Copyright (C) 2013 Google Inc. All rights reserved.

You might want to change the attribution to Motorola.

&gt; Source/WebCore/html/canvas/WebGLRenderingContext.cpp:5140
&gt; +        break;

In addition to these checks, please add validation to the texImage2D and texSubImage2D entry points making sure that you can&apos;t upload ImageData, HTMLImageElement, HTMLCanvasElement, or HTMLVideoElement as HALF_FLOAT textures yet. Also, add tests verifying this.

&gt; LayoutTests/fast/canvas/webgl/oes-texture-half-float-expected.txt:1
&gt; +CONSOLE MESSAGE: WebGL: INVALID_ENUM: texImage2D: invalid texture type

Is this console message coming from the Chromium port of DRT? If so, you should not check in this result into fast/canvas/webgl/ , but into platform/chromium/ instead.

&gt; LayoutTests/fast/canvas/webgl/oes-texture-half-float.html:16
&gt; +&lt;!-- Shaders for testing half-floating-point textures --&gt;

If you aren&apos;t going to add tests verifying rendering to HALF_FLOAT_OES textures yet, then remove these unused shaders and associated code for now.

&gt; LayoutTests/fast/canvas/webgl/oes-texture-half-float.html:131
&gt; +    gl.texImage2D(gl.TEXTURE_2D, 0, format, width, height, 0, format, gl.HALF_FLOAT_OES, data);

You should also verify that allocation with null data succeeds.

&gt; LayoutTests/fast/canvas/webgl/oes-texture-half-float.html:138
&gt; +    }

Please either add a test verifying that you can render to a HALF_FLOAT_OES texture, similar to the oes-texture-float test, or add a FIXME indicating that such a test is needed.

&gt; LayoutTests/fast/canvas/webgl/oes-texture-half-float.html:139
&gt; +}

Please add missing negative tests ensuring that you can&apos;t upload ImageData, HTMLImageElement, HTMLCanvasElement, or HTMLVideoElement into HALF_FLOAT_OES textures yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844650</commentid>
    <comment_count>4</comment_count>
      <attachid>190856</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2013-02-28 17:26:29 -0800</bug_when>
    <thetext>Created attachment 190856
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844655</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-28 17:31:28 -0800</bug_when>
    <thetext>Attachment 190856 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/fast/canvas/webgl/constants.html&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-half-float-expected.txt&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-half-float-not-supported-expected.txt&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-half-float-not-supported.html&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-half-float.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/OESTextureHalfFloat.cpp&apos;, u&apos;Source/WebCore/html/canvas/OESTextureHalfFloat.h&apos;, u&apos;Source/WebCore/html/canvas/OESTextureHalfFloat.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/html/canvas/WebGLRenderingContext.idl&apos;, u&apos;Source/WebCore/platform/graphics/Extensions3D.h&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsContext3D.cpp&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsContext3D.h&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsTypes3D.h&apos;, u&apos;Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp&apos;]&quot; exit_code: 1
Source/WebCore/platform/graphics/GraphicsContext3D.h:254:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 1 in 28 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844661</commentid>
    <comment_count>6</comment_count>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2013-02-28 17:38:47 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 190335 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=190335&amp;action=review
&gt; 
&gt; Thanks for continuing to push this patch forward. Before it is committed I think you should get it running in the Mac port of DRT. You probably need to check for the GL_ARB_half_float_pixel OpenGL extension, and if it&apos;s present, then have GraphicsContext3D claim that it supports GL_OES_texture_half_float. Also, the patch needs to be rebaselined and pass the EWS bots.

Seem like availability of GL_ARB_texture_float (http://www.opengl.org/registry/specs/ARB/texture_float.txt) is enough to implement support for half float texture in dekstop gl. Specification defines the format to be used for half floating point texture. Also, Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp already has the check to determine whether GL_ARB_texture_float is available before reporting GL_OES_texture_half_float as one of the supported extensions.

I have incorporated rest of the comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844696</commentid>
    <comment_count>7</comment_count>
      <attachid>190856</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-28 18:15:41 -0800</bug_when>
    <thetext>Comment on attachment 190856
Patch

Attachment 190856 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/16789372

New failing tests:
fast/canvas/webgl/oes-texture-half-float-not-supported.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844701</commentid>
    <comment_count>8</comment_count>
      <attachid>190856</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-28 18:26:39 -0800</bug_when>
    <thetext>Comment on attachment 190856
Patch

Attachment 190856 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/16863138

New failing tests:
fast/canvas/webgl/oes-texture-half-float-not-supported.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844723</commentid>
    <comment_count>9</comment_count>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2013-02-28 19:17:23 -0800</bug_when>
    <thetext>
&gt; New failing tests:
&gt; fast/canvas/webgl/oes-texture-half-float-not-supported.html

Test passes in my local mac machine, but fails in mac-ews. Is there a way to get the test result from mac-ews?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844754</commentid>
    <comment_count>10</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-02-28 20:30:28 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; &gt; New failing tests:
&gt; &gt; fast/canvas/webgl/oes-texture-half-float-not-supported.html
&gt; 
&gt; Test passes in my local mac machine, but fails in mac-ews. Is there a way to get the test result from mac-ews?

I think abarth knows how to get results off the EWS bots. I suggest trying to find him on IRC tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844767</commentid>
    <comment_count>11</comment_count>
      <attachid>190856</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-02-28 20:44:48 -0800</bug_when>
    <thetext>Comment on attachment 190856
Patch

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

Looking good. Please make one more code change and incorporate the layout test in the new location for the WebGL tests.

&gt; Source/WebCore/html/canvas/WebGLRenderingContext.cpp:3769
&gt; +    // Uploading ImageData to half floating point texture is not supported yet

Here and in the other places in this patch, add &quot;FIXME:&quot; at the start of the comment, and also file a bug about fixing this and link to that bug. Also, move this check down after the call to if (!validateSettableTexFormat(...)) in all these places. That way INVALID_ENUM will still be generated (by validateTexFuncFormatAndType) if the extension hasn&apos;t been enabled yet.

&gt; LayoutTests/fast/canvas/webgl/oes-texture-half-float.html:1
&gt; +&lt;!DOCTYPE html&gt;

The new location for these tests is LayoutTests/webgl/ and you can use the script LayoutTests/webgl/generate-webgl-tests.py script to pull in the script verbatim from the one you just contributed to Khronos. Unfortunately, the webgl/ folder isn&apos;t yet enabled on any port, so it might be worthwhile to add the test in this location temporarily. However, please also add it in the new location using that script. Also, in order to get this patch landed, you may want to mark the test as having text differences temporarily for the failing platforms (e.g. in LayoutTests/platform/mac/TestExpectations). Don&apos;t skip the test, just mark it as failing. Then you can get the results off the bots and see why it&apos;s failing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845539</commentid>
    <comment_count>12</comment_count>
      <attachid>191045</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2013-03-01 15:00:03 -0800</bug_when>
    <thetext>Created attachment 191045
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845543</commentid>
    <comment_count>13</comment_count>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2013-03-01 15:03:57 -0800</bug_when>
    <thetext>
&gt; The new location for these tests is LayoutTests/webgl/ and you can use the script LayoutTests/webgl/generate-webgl-tests.py script to pull in the script verbatim from the one you just contributed to Khronos. Unfortunately, the webgl/ folder isn&apos;t yet enabled on any port, so it might be worthwhile to add the test in this location temporarily. However, please also add it in the new location using that script. 
Currently generation-webgl-tests.py script generates test only for 1.0.2 version of webgl test suite. Test case submitted to Khronos was for 1.0.3. May be we should pull in all 1.0.3 version of test cases at once?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845546</commentid>
    <comment_count>14</comment_count>
    <who name="Brandon Jones">bajones</who>
    <bug_when>2013-03-01 15:08:01 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; Currently generation-webgl-tests.py script generates test only for 1.0.2 version of webgl test suite. Test case submitted to Khronos was for 1.0.3. May be we should pull in all 1.0.3 version of test cases at once?

You can use a command line flag to specify where it pulls from. In my case I point it at my local repo&apos;s skd/tests. Run &quot;generation-webgl-tests.py -w &lt;path-to-source&gt;&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845573</commentid>
    <comment_count>15</comment_count>
      <attachid>191045</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-03-01 15:54:11 -0800</bug_when>
    <thetext>Comment on attachment 191045
Patch

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

Thanks for the updates. I suppose it&apos;s OK to add the webgl/ copies of the layout tests later. Please make the few corrections above before landing, and make sure it passes the EWS. r=me

&gt; Source/WebCore/html/canvas/WebGLRenderingContext.cpp:3816
&gt; +    // Uploading ImageElement to half floating point texture is not supported yet

FIXME:

&gt; Source/WebCore/html/canvas/WebGLRenderingContext.cpp:3817
&gt; +    // https://bugs.webkit.org/show_bug.cgi?id=111194

Is it really worth having all of these bugs for all of these different types? I suspect that once you have the core data packing support in place that supporting each of them will be a few lines of code each.

&gt; Source/WebCore/html/canvas/WebGLRenderingContext.cpp:3844
&gt; +    // Uploading HTMLCanvasElement to half floating point texture is not supported yet

FIXME:

&gt; Source/WebCore/html/canvas/WebGLRenderingContext.cpp:3906
&gt; +    // Uploading HTMLVideoElement to half floating point texture is not supported yet

FIXME:

&gt; Source/WebCore/html/canvas/WebGLRenderingContext.cpp:4067
&gt; +    // Uploading ImageData to half floating point texture is not supported yet

FIXME:

&gt; Source/WebCore/html/canvas/WebGLRenderingContext.cpp:4105
&gt; +    // Uploading HTMLImageElement to half floating point texture is not supported yet

FIXME:

&gt; Source/WebCore/html/canvas/WebGLRenderingContext.cpp:4133
&gt; +    // Uploading HTMLCanvasElement to half floating point texture is not supported yet

FIXME:

&gt; Source/WebCore/html/canvas/WebGLRenderingContext.cpp:4157
&gt; +    // Uploading HTMLVideoElement to half floating point texture is not supported yet

FIXME:

&gt; Source/WebCore/html/canvas/WebGLRenderingContext.idl:1
&gt; + /*

Undo this change please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845585</commentid>
    <comment_count>16</comment_count>
      <attachid>191045</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-01 16:05:26 -0800</bug_when>
    <thetext>Comment on attachment 191045
Patch

Attachment 191045 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/16803325

New failing tests:
fast/css/hover-update.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845620</commentid>
    <comment_count>17</comment_count>
      <attachid>191068</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2013-03-01 16:43:46 -0800</bug_when>
    <thetext>Created attachment 191068
Implement HALF_FLOAT_OES</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845626</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-01 16:48:15 -0800</bug_when>
    <thetext>Attachment 191068 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/fast/canvas/webgl/constants.html&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-half-float-expected.txt&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-half-float-not-supported-expected.txt&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-half-float-not-supported.html&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-half-float.html&apos;, u&apos;LayoutTests/platform/chromium/TestExpectations&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/OESTextureHalfFloat.cpp&apos;, u&apos;Source/WebCore/html/canvas/OESTextureHalfFloat.h&apos;, u&apos;Source/WebCore/html/canvas/OESTextureHalfFloat.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/html/canvas/WebGLRenderingContext.idl&apos;, u&apos;Source/WebCore/platform/graphics/Extensions3D.h&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsContext3D.cpp&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsContext3D.h&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsTypes3D.h&apos;, u&apos;Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp&apos;]&quot; exit_code: 1
Source/WebCore/platform/graphics/GraphicsContext3D.h:254:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 1 in 29 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>845627</commentid>
    <comment_count>19</comment_count>
      <attachid>191068</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-03-01 16:49:40 -0800</bug_when>
    <thetext>Comment on attachment 191068
Implement HALF_FLOAT_OES

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

Looks good again. One thing I missed earlier.

&gt; Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:270
&gt; +        type = FLOAT;

I just realized -- this should almost certainly be &quot;type = GL_HALF_FLOAT_ARB&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845632</commentid>
    <comment_count>20</comment_count>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2013-03-01 16:52:51 -0800</bug_when>
    <thetext>
&gt; 
&gt; You can use a command line flag to specify where it pulls from. In my case I point it at my local repo&apos;s skd/tests. Run &quot;generation-webgl-tests.py -w &lt;path-to-source&gt;&quot;

generate-webgl-tests.py filters out the tests marked 1.0.3 or above. Below is a snippet of generate-webgl-tests.py

GLOBAL_OPTIONS = {
  # version use. Tests at or below this will be included.
  &quot;version&quot;: &quot;1.0.2&quot;,

If I change this version to 1.0.3, it generates newly included test. Since other tests of version 1.0.2 is not yet checked-in to LayoutTests, I feel we should checkin all 1.0.3 tests at once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845638</commentid>
    <comment_count>21</comment_count>
      <attachid>191073</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2013-03-01 17:01:56 -0800</bug_when>
    <thetext>Created attachment 191073
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845645</commentid>
    <comment_count>22</comment_count>
      <attachid>191073</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-03-01 17:04:11 -0800</bug_when>
    <thetext>Comment on attachment 191073
Patch

FYI, for this bug at this point, you could just change the &quot;Reviewed by NOBODY (OOPS!).&quot; to &quot;Reviewed by Kenneth Russell.&quot; by hand, and not set the r? bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845647</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-01 17:05:20 -0800</bug_when>
    <thetext>Attachment 191073 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/fast/canvas/webgl/constants.html&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-half-float-expected.txt&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-half-float-not-supported-expected.txt&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-half-float-not-supported.html&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-half-float.html&apos;, u&apos;LayoutTests/platform/chromium/TestExpectations&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/OESTextureHalfFloat.cpp&apos;, u&apos;Source/WebCore/html/canvas/OESTextureHalfFloat.h&apos;, u&apos;Source/WebCore/html/canvas/OESTextureHalfFloat.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/html/canvas/WebGLRenderingContext.idl&apos;, u&apos;Source/WebCore/platform/graphics/Extensions3D.h&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsContext3D.cpp&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsContext3D.h&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsTypes3D.h&apos;, u&apos;Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp&apos;]&quot; exit_code: 1
Source/WebCore/platform/graphics/GraphicsContext3D.h:254:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 1 in 29 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>845684</commentid>
    <comment_count>24</comment_count>
      <attachid>191073</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-01 18:05:18 -0800</bug_when>
    <thetext>Comment on attachment 191073
Patch

Attachment 191073 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/16884013

New failing tests:
platform/chromium/virtual/gpu/fast/canvas/webgl/oes-texture-half-float.html
platform/chromium/virtual/gpu/fast/canvas/webgl/oes-texture-half-float-not-supported.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845752</commentid>
    <comment_count>25</comment_count>
      <attachid>191097</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2013-03-01 23:53:56 -0800</bug_when>
    <thetext>Created attachment 191097
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845753</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-01 23:58:31 -0800</bug_when>
    <thetext>Attachment 191097 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/fast/canvas/webgl/constants.html&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-half-float-expected.txt&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-half-float-not-supported-expected.txt&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-half-float-not-supported.html&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-half-float.html&apos;, u&apos;LayoutTests/platform/chromium/TestExpectations&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/OESTextureHalfFloat.cpp&apos;, u&apos;Source/WebCore/html/canvas/OESTextureHalfFloat.h&apos;, u&apos;Source/WebCore/html/canvas/OESTextureHalfFloat.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/html/canvas/WebGLRenderingContext.idl&apos;, u&apos;Source/WebCore/platform/graphics/Extensions3D.h&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsContext3D.cpp&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsContext3D.h&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsTypes3D.h&apos;, u&apos;Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp&apos;]&quot; exit_code: 1
Source/WebCore/platform/graphics/GraphicsContext3D.h:254:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 1 in 29 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>845767</commentid>
    <comment_count>27</comment_count>
      <attachid>191097</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-02 01:04:33 -0800</bug_when>
    <thetext>Comment on attachment 191097
Patch

Clearing flags on attachment: 191097

Committed r144535: &lt;http://trac.webkit.org/changeset/144535&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845768</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-02 01:04:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846061</commentid>
    <comment_count>29</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-03 13:25:22 -0800</bug_when>
    <thetext>Why was this feature never announced on webkit-dev? FWIW, IDL with an empty definition makes very little senes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846064</commentid>
    <comment_count>30</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-03 13:27:01 -0800</bug_when>
    <thetext>Note that this patch acausezd a build fialure on Windows: https://bugs.webkit.org/show_bug.cgi?id=111267</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847081</commentid>
    <comment_count>31</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-03-04 17:32:58 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; Why was this feature never announced on webkit-dev? FWIW, IDL with an empty definition makes very little senes.

Sorry about that. WebGL extensions are so narrowly focused that I never considered that their addition needed to be announced on webkit-dev. Do they need to be in the future?

WebGL extensions are specified as instances of interfaces, and are defined so that the same object is guaranteed to be returned across multiple calls to WebGLRenderingContext.getExtension. For this reason they have been defined with IDL files, even if those IDL files are empty, so that we can return objects of distinct type for different extensions. Do you have a suggestion on how to implement these semantics more simply?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847135</commentid>
    <comment_count>32</comment_count>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2013-03-04 18:01:11 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; Note that this patch acausezd a build fialure on Windows: https://bugs.webkit.org/show_bug.cgi?id=111267

Sorry for breaking windows build. I missed this failure as it was not caught by EWS.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190335</attachid>
            <date>2013-02-26 11:43:04 -0800</date>
            <delta_ts>2013-02-28 17:26:28 -0800</delta_ts>
            <desc>oes_texture_half_float</desc>
            <filename>bug-110818-20130226113917.patch</filename>
            <type>text/plain</type>
            <size>41012</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzOTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzZkNmY5NTRjYWE0OTM2
ODlmYjE2NDUwMThhMWM3YzY1YzFiNzA3Yy4uODdiY2UyNmYwMjk2OWU2OGViMzRhZDU4ZGRkNTBh
MTY1ZGQzOThjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEzLTAyLTI1ICBOYXlh
biBLdW1hciBLICA8bmF5YW5ra0Btb3Rvcm9sYS5jb20+CisKKyAgICAgICAgW1dlYkdMXSBTdXBw
b3J0IGZvciB0ZXhJbWFnZTJEIG9mIHR5cGUgSEFMRl9GTE9BVF9PRVMgd2l0aCBudWxsIHBpeGVs
cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDgx
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFzIHBl
ciBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IHNwZWNpZmljYXRpb24sIHRleEltYWdlMkQgYW5kIHRl
eFN1YkltYWdlMkQKKyAgICAgICAgZW50cnkgcG9pbnRzIHRha2luZyBBcnJheUJ1ZmZlclZpZXcg
c2hvdWxkIGV4dGVuZGVkIHRvIGFjY2VwdCBudWxsIHdpdGgKKyAgICAgICAgdGhlIHBpeGVsIHR5
cGUgSEFMRl9GTE9BVF9PRVMuCisKKyAgICAgICAgVGVzdDogZmFzdC9jYW52YXMvd2ViZ2wvb2Vz
LXRleHR1cmUtaGFsZi1mbG9hdC5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnBy
aToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6
CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dG9WOE9iamVjdCk6CisgICAgICAgICogaHRtbC9jYW52YXMvT0VTVGV4dHVy
ZUhhbGZGbG9hdC5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMRXh0ZW5zaW9uLmguCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ok9F
U1RleHR1cmVIYWxmRmxvYXQ6Ok9FU1RleHR1cmVIYWxmRmxvYXQpOgorICAgICAgICAoV2ViQ29y
ZTo6T0VTVGV4dHVyZUhhbGZGbG9hdDo6fk9FU1RleHR1cmVIYWxmRmxvYXQpOgorICAgICAgICAo
V2ViQ29yZTo6T0VTVGV4dHVyZUhhbGZGbG9hdDo6Z2V0TmFtZSk6CisgICAgICAgIChXZWJDb3Jl
OjpPRVNUZXh0dXJlSGFsZkZsb2F0OjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvY2FudmFzL09F
U1RleHR1cmVIYWxmRmxvYXQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xFeHRlbnNpb24uaC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoT0VTVGV4
dHVyZUhhbGZGbG9hdCk6CisgICAgICAgICogaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9h
dC5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5z
aW9uLmguCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaDoKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEV4dGVuc2lv
bik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlVGV4
RnVuY0Zvcm1hdEFuZFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250
ZXh0Ojp2YWxpZGF0ZVRleEZ1bmNEYXRhKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViR0xSZW5k
ZXJpbmdDb250ZXh0KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oOgorICAg
ICAgICAoRXh0ZW5zaW9uczNEKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0NvbnRleHQzRC5oOgorCiAyMDEzLTAyLTIzICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBOYXRpdmUgTWVtb3J5IEluc3Ry
dW1lbnRhdGlvbjogcmVwbGFjZSBTdHJpbmcgd2l0aCBjb25zdCBjaGFyKiBpbiBNZW1vcnlPYmpl
Y3RJbmZvCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDZjM2U1NzRhYjdhM2Q0YzQxOTRiYTA5ODZi
NTRmNDNjNjYwODgxYjkuLjI5ZjFhZWQyMDY4MGM0YzU5ZDhjZWQ5ODQ3Y2E3OTcxNzNjNDA0NjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC01MjEsNiArNTIxLDcgQEAgc2V0KFdlYkNvcmVfSURM
X0ZJTEVTCiAgICAgaHRtbC9jYW52YXMvSW50OEFycmF5LmlkbAogICAgIGh0bWwvY2FudmFzL09F
U1N0YW5kYXJkRGVyaXZhdGl2ZXMuaWRsCiAgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0
LmlkbAorICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsCiAgICAgaHRtbC9j
YW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuaWRsCiAgICAgaHRtbC9jYW52YXMvT0VTRWxlbWVu
dEluZGV4VWludC5pZGwKICAgICBodG1sL2NhbnZhcy9VaW50MTZBcnJheS5pZGwKQEAgLTE1MTEs
NiArMTUxMiw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBodG1sL2NhbnZhcy9FWFRUZXh0
dXJlRmlsdGVyQW5pc290cm9waWMuY3BwCiAgICAgaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJp
dmF0aXZlcy5jcHAKICAgICBodG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuY3BwCisgICAgaHRt
bC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAKICAgICBodG1sL2NhbnZhcy9PRVNWZXJ0
ZXhBcnJheU9iamVjdC5jcHAKICAgICBodG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmNw
cAogICAgIGh0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmNwcApAQCAtMjYyMyw2ICsyNjI1LDcgQEAg
aWYgKEVOQUJMRV9XRUJHTCkKICAgICBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICAg
ICAgaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAKICAgICAgICAgaHRtbC9j
YW52YXMvT0VTVGV4dHVyZUZsb2F0LmNwcAorICAgICAgICBodG1sL2NhbnZhcy9PRVNUZXh0dXJl
SGFsZkZsb2F0LmNwcAogICAgICAgICBodG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5j
cHAKICAgICAgICAgaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5jcHAKICAgICAgICAg
aHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuY3BwCkBAIC0yNjUxLDYgKzI2NTQsNyBAQCBpZiAoRU5B
QkxFX1dFQkdMKQogICAgICAgICBodG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9w
aWMuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwCiAg
ICAgICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5jcHAKKyAgICAgICAgaHRtbC9jYW52
YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAKICAgICAgICAgaHRtbC9jYW52YXMvT0VTVmVydGV4
QXJyYXlPYmplY3QuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQu
Y3BwCiAgICAgKQpAQCAtMjY1OCw2ICsyNjYyLDcgQEAgaWYgKEVOQUJMRV9XRUJHTCkKICAgICAg
ICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmlkbAogICAgICAgICBo
dG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlkbAogICAgICAgICBodG1sL2NhbnZh
cy9PRVNUZXh0dXJlRmxvYXQuaWRsCisgICAgICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVIYWxm
RmxvYXQuaWRsCiAgICAgICAgIGh0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmlkbAog
ICAgICAgICBodG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmlkbAogICAgICAgICBodG1s
L2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8uaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpp
bmRleCA0NzZhZDhlYmVlYTg3NGQ1MTM1ZjFmMjEwZmRjZTY1MmEzMjE4YjNiLi5kNDlkOWZmZWZi
MjlmNDAxZTNiYjg4YjUwMjE2Y2Y1NWRlNDViZDAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKQEAgLTM5OSw2ICszOTksNyBAQCBCSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3Jl
KS9odG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9o
dG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9o
dG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2h0bWwvY2Fu
dmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFz
L09FU1ZlcnRleEFycmF5T2JqZWN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9V
aW50MTZBcnJheS5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvVWludDMyQXJyYXku
aWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBkMTFiZTRkOWRiYTUzOTdlYjlj
NDFjZmFjMzllZmQ3MjExNGFmZmE4Li5lNjkyOGFmNjQ3YTI2NGUzMjViZWZkNGVlN2E0MzdkY2Ez
YjgyMGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysr
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC0zMTIsNiArMzEyLDcgQEAg
SURMX0JJTkRJTkdTICs9IFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVy
QW5pc290cm9waWMuaWRsIFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2
YXRpdmVzLmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmlkbCBc
CisgICAgJCRQV0QvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5pZGwgXAogICAgICQk
UFdEL2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmlkbCBcCiAgICAgJCRQV0QvaHRt
bC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5pZGwgXAogICAgICQkUFdEL2h0bWwvY2FudmFz
L1dlYkdMQWN0aXZlSW5mby5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXgg
NGRhYzU4ZWIwNmFkZTBjNWQ4MjFmNmZlMzYwOGYyM2EwNGI3NzkxOS4uNWM4MWI4YmNiZGNlMjBl
OGQwMGI0MjI0ZGU0MGIzYzkxMWVjNWFmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CkBAIC01NzcsNiArNTc3LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5oIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTT0VTVGV4dHVyZUZsb2F0LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU09FU1RleHR1cmVGbG9hdC5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VT
VGV4dHVyZUhhbGZGbG9hdC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNUZXh0
dXJlSGFsZkZsb2F0LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNWZXJ0ZXhBcnJh
eU9iamVjdC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNWZXJ0ZXhBcnJheU9i
amVjdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTRWxlbWVudEluZGV4VWludC5j
cHAgXApAQCAtMTU0MSw2ICsxNTQzLDcgQEAgZG9tX2JpbmRpbmdfaWRscyArPSBcCiAJJChXZWJD
b3JlKS9odG1sL2NhbnZhcy9JbnQ4QXJyYXkuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFz
L09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09F
U1RleHR1cmVGbG9hdC5pZGwgXAorCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhh
bGZGbG9hdC5pZGwgXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmpl
Y3QuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuaWRs
IFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1VpbnQxNkFycmF5LmlkbCBcCkBAIC0zMjg0LDYg
KzMyODcsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvT0VTVGV4dHVyZUZsb2F0LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VT
VGV4dHVyZUZsb2F0LmggXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVI
YWxmRmxvYXQuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFs
ZkZsb2F0LmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2Jq
ZWN0LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmpl
Y3QuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5j
cHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJD
b3JlL1RhcmdldC5wcmkKaW5kZXggMzIwNDliNmI1YWQyZTA4NWUxNzAyNTdiOTM2ZTJkNzFmYTAx
MGZhOS4uY2M4OTVlZmZkODQyZjUxMzczZWNjMTk0ODY3MGE1NTMwMjU1YWM2OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCkBAIC00MDQ0LDYgKzQwNDQsNyBAQCBlbmFibGU/KFdFQkdMKSB7CiAgICAgICAgIGh0bWwv
Y2FudmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5oIFwKICAgICAgICAgaHRtbC9jYW52
YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5oIFwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTVGV4
dHVyZUZsb2F0LmggXAorICAgICAgICBodG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0Lmgg
XAogICAgICAgICBodG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5oIFwKICAgICAgICAg
aHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5oIFwKICAgICAgICAgaHRtbC9jYW52YXMv
V2ViR0xUZXh0dXJlLmggXApAQCAtNDA3OCw2ICs0MDc5LDcgQEAgZW5hYmxlPyhXRUJHTCkgewog
ICAgICAgICBodG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuY3BwIFwKICAg
ICAgICAgaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAgXAogICAgICAgICBo
dG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuY3BwIFwKKyAgICAgICAgaHRtbC9jYW52YXMvT0VT
VGV4dHVyZUhhbGZGbG9hdC5jcHAgXAogICAgICAgICBodG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJh
eU9iamVjdC5jcHAgXAogICAgICAgICBodG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmNw
cCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5jcHAgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CmluZGV4IGZiNjkwNzE2M2Y2YTliMzI3MzEzMTc1ZmU4NTAyZTA0ZDRkMjhjMTUuLmQ5MGMxZjE5
ZTQ1NGNkYTQ1OTlhMTczMjhhNzIyZmI1Mzk0Mjc4ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTM3
Nyw2ICszNzcsNyBAQAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0ludDhBcnJheS5pZGwnLAog
ICAgICAgICAgICAgJ2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaWRsJywKICAg
ICAgICAgICAgICdodG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaWRsJywKKyAgICAgICAgICAg
ICdodG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbCcsCiAgICAgICAgICAgICAnaHRt
bC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuaWRsJywKICAgICAgICAgICAgICdodG1sL2Nh
bnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMv
VWludDE2QXJyYXkuaWRsJywKQEAgLTMzMzUsNiArMzMzNiw4IEBACiAgICAgICAgICAgICAnaHRt
bC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5oJywKICAgICAgICAgICAgICdodG1sL2Nh
bnZhcy9PRVNUZXh0dXJlRmxvYXQuY3BwJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9PRVNU
ZXh0dXJlRmxvYXQuaCcsCisgICAgICAgICAgICAnaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZG
bG9hdC5jcHAnLAorICAgICAgICAgICAgJ2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQu
aCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuY3BwJywK
ICAgICAgICAgICAgICdodG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5oJywKICAgICAg
ICAgICAgICdodG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmNwcCcsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTBhMzY5
NGY5ZTQwNDk0MmRhYTgyOGIyZWM5NDMxMzBiY2Q5NzkyYi4uYzNiY2RlMGIzYzk5OWViN2UzN2Zl
MTgyOWU4YTljNGZhNmQyZTIwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzg4MCw2ICszODgwLDEwIEBACiAJCUEyRThBRTQw
MTZBNDk4Q0YwMDZCQjNBQSAvKiBET01XZWJLaXRDU1NGaWx0ZXJSdWxlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMkU4QUUzRDE2QTQ5OENGMDA2QkIz
QUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZS5oICovOyB9OwogCQlBMkU4QUU0MTE2QTQ5OENG
MDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyRThBRTNFMTZBNDk4Q0YwMDZCQjNBQSAvKiBE
T01XZWJLaXRDU1NGaWx0ZXJSdWxlLm1tICovOyB9OwogCQlBMkU4QUU0MjE2QTQ5OENGMDA2QkIz
QUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMkU4QUUzRjE2QTQ5OENGMDA2QkIzQUEgLyog
RE9NV2ViS2l0Q1NTRmlsdGVyUnVsZUludGVybmFsLmggKi87IH07CisJCUEzMUY3OERBMTZEQzFE
QTQwMDBGNzU2OSAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzMUY3OEQ5MTZEQzFEQTQwMDBGNzU2OSAvKiBP
RVNUZXh0dXJlSGFsZkZsb2F0LmNwcCAqLzsgfTsKKwkJQTMxRjc4REMxNkRDMURCNDAwMEY3NTY5
IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEEzMUY3OERCMTZEQzFEQjQwMDBGNzU2OSAvKiBPRVNUZXh0dXJlSGFs
ZkZsb2F0LmggKi87IH07CisJCUEzMUY3OERGMTZEQzFGRjgwMDBGNzU2OSAvKiBKU09FU1RleHR1
cmVIYWxmRmxvYXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTMxRjc4REUxNkRDMUZGODAwMEY3NTY5IC8qIEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5j
cHAgKi87IH07CisJCUEzMUY3OEUxMTZEQzIwMzYwMDBGNzU2OSAvKiBKU09FU1RleHR1cmVIYWxm
RmxvYXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEz
MUY3OEUwMTZEQzIwMzYwMDBGNzU2OSAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXQuaCAqLzsgfTsK
IAkJQTNCQjU5RjMxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBM0JCNTlGMTE0NTdB
NDBEMDBBQzU2RkUgLyogRG9jdW1lbnRFdmVudFF1ZXVlLmNwcCAqLzsgfTsKIAkJQTNCQjU5RjQx
NDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNCQjU5RjIxNDU3QTQwRDAwQUM1NkZFIC8q
IERvY3VtZW50RXZlbnRRdWV1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUEzRTI2NDMwMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVudFF1
ZXVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEz
RTI2NDJFMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmNwcCAqLzsgfTsKQEAg
LTExMzg1LDYgKzExMzg5LDExIEBACiAJCUEyRThBRTNEMTZBNDk4Q0YwMDZCQjNBQSAvKiBET01X
ZWJLaXRDU1NGaWx0ZXJSdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERP
TVdlYktpdENTU0ZpbHRlclJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTJF
OEFFM0UxNkE0OThDRjAwNkJCM0FBIC8qIERPTVdlYktpdENTU0ZpbHRlclJ1bGUubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01XZWJLaXRDU1NGaWx0ZXJSdWxl
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMkU4QUUzRjE2QTQ5OENGMDA2QkIz
QUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZUludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERPTVdlYktpdENTU0ZpbHRlclJ1bGVJbnRlcm5hbC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBMzFGNzhEOTE2REMxREE0MDAwRjc1NjkgLyogT0VTVGV4
dHVyZUhhbGZGbG9hdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBP
RVNUZXh0dXJlSGFsZkZsb2F0LmNwcDsgcGF0aCA9IGNhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTMxRjc4REIxNkRDMURCNDAwMEY3
NTY5IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gT0VTVGV4dHVyZUhhbGZGbG9hdC5oOyBwYXRoID0gY2FudmFzL09FU1RleHR1cmVIYWxm
RmxvYXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTMxRjc4REQxNkRDMURDRDAw
MEY3NTY5IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE9FU1RleHR1cmVIYWxmRmxv
YXQuaWRsOyBwYXRoID0gY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBMzFGNzhERTE2REMxRkY4MDAwRjc1NjkgLyogSlNPRVNUZXh0
dXJlSGFsZkZsb2F0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEpT
T0VTVGV4dHVyZUhhbGZGbG9hdC5jcHA7IHBhdGggPSBjYW52YXMvSlNPRVNUZXh0dXJlSGFsZkZs
b2F0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTMxRjc4RTAxNkRDMjAzNjAw
MEY3NTY5IC8qIEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBKU09FU1RleHR1cmVIYWxmRmxvYXQuaDsgcGF0aCA9IGNhbnZhcy9KU09FU1Rl
eHR1cmVIYWxmRmxvYXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNCQjU5RjEx
NDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEb2N1bWVudEV2ZW50UXVldWUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBM0JCNTlGMjE0NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1lbnRF
dmVudFF1ZXVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERvY3VtZW50RXZl
bnRRdWV1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBM0UyNjQyRTE0NzQ4OTkx
MDA1QTg1ODggLyogV29ya2VyRXZlbnRRdWV1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBXb3JrZXJFdmVudFF1ZXVlLmNwcDsgcGF0aCA9IHdvcmtlcnMvV29ya2Vy
RXZlbnRRdWV1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTc1Miw2ICsx
NTc2MSw5IEBACiAJCQkJNkVCRjBFNDUxMkE4OTI2MTAwREIxNzA5IC8qIE9FU1RleHR1cmVGbG9h
dC5jcHAgKi8sCiAJCQkJNkVCRjBFNDYxMkE4OTI2MTAwREIxNzA5IC8qIE9FU1RleHR1cmVGbG9h
dC5oICovLAogCQkJCTZFQkYwRTQ3MTJBODkyNjEwMERCMTcwOSAvKiBPRVNUZXh0dXJlRmxvYXQu
aWRsICovLAorCQkJCUEzMUY3OEQ5MTZEQzFEQTQwMDBGNzU2OSAvKiBPRVNUZXh0dXJlSGFsZkZs
b2F0LmNwcCAqLywKKwkJCQlBMzFGNzhEQjE2REMxREI0MDAwRjc1NjkgLyogT0VTVGV4dHVyZUhh
bGZGbG9hdC5oICovLAorCQkJCUEzMUY3OEREMTZEQzFEQ0QwMDBGNzU2OSAvKiBPRVNUZXh0dXJl
SGFsZkZsb2F0LmlkbCAqLywKIAkJCQk3N0ExN0E2RTEyRjI4MTgyMDA0RTAyRjYgLyogT0VTVmVy
dGV4QXJyYXlPYmplY3QuY3BwICovLAogCQkJCTc3QTE3QTZGMTJGMjgxODIwMDRFMDJGNiAvKiBP
RVNWZXJ0ZXhBcnJheU9iamVjdC5oICovLAogCQkJCTc3QTE3QTcwMTJGMjgxODIwMDRFMDJGNiAv
KiBPRVNWZXJ0ZXhBcnJheU9iamVjdC5pZGwgKi8sCkBAIC0xOTE2NCw2ICsxOTE3Niw4IEBACiAJ
CQkJOTAwMTc4N0YxMkUwMzcwNzAwNjQ4NDYyIC8qIEpTT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5o
ICovLAogCQkJCTZFQkYwRTc0MTJBOTg2ODgwMERCMTcwOSAvKiBKU09FU1RleHR1cmVGbG9hdC5j
cHAgKi8sCiAJCQkJNkVCRjBFNzUxMkE5ODY4ODAwREIxNzA5IC8qIEpTT0VTVGV4dHVyZUZsb2F0
LmggKi8sCisJCQkJQTMxRjc4REUxNkRDMUZGODAwMEY3NTY5IC8qIEpTT0VTVGV4dHVyZUhhbGZG
bG9hdC5jcHAgKi8sCisJCQkJQTMxRjc4RTAxNkRDMjAzNjAwMEY3NTY5IC8qIEpTT0VTVGV4dHVy
ZUhhbGZGbG9hdC5oICovLAogCQkJCTc3QTE3QUEyMTJGMjhCMkEwMDRFMDJGNiAvKiBKU09FU1Zl
cnRleEFycmF5T2JqZWN0LmNwcCAqLywKIAkJCQk3N0ExN0FBMzEyRjI4QjJBMDA0RTAyRjYgLyog
SlNPRVNWZXJ0ZXhBcnJheU9iamVjdC5oICovLAogCQkJCUI2NThGRjlGMTUyMkVGM0EwMERENTU5
NSAvKiBKU1JhZGlvTm9kZUxpc3QuY3BwICovLApAQCAtMjY2MjIsNiArMjY2MzYsOCBAQAogCQkJ
CTk3N0UyRTBGMTJGMEZDOUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9yRGVsZWdhdGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUZENTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDFCOENENDYxNkQwNDU5MTAwMEU4Q0MwIC8qIFNlbGVjdG9yQ2hlY2tl
ckZhc3RQYXRoLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMzFGNzhEQzE2REMxREI0MDAwRjc1Njkg
LyogT0VTVGV4dHVyZUhhbGZGbG9hdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTMxRjc4RTExNkRD
MjAzNjAwMEY3NTY5IC8qIEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBA
IC0yOTgxNyw2ICsyOTgzMyw4IEBACiAJCQkJOTc3RTJFMEUxMkYwRkM5QzAwQzEzMzgwIC8qIFhT
U0F1ZGl0b3JEZWxlZ2F0ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDUzNzM1MjEzN0I2NTE4
MDAwMDhEQ0UgLyogWmVyb1BvbGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFCOENENDUxNkQw
NDU5MTAwMEU4Q0MwIC8qIFNlbGVjdG9yQ2hlY2tlckZhc3RQYXRoLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCUEzMUY3OERBMTZEQzFEQTQwMDBGNzU2OSAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUEzMUY3OERGMTZEQzFGRjgwMDBGNzU2OSAvKiBKU09FU1Rl
eHR1cmVIYWxmRmxvYXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAK
aW5kZXggNTI3M2IzODg5OWU4ZTAxOGIxZmJlMzk4NTNhMGFiNzQ3NjBiZWNhZS4uMjM5YzEwZjI2
OTU1M2RjM2ZkZGNhNmFmYmM0N2VjMjg5Yjg2YjQxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNw
cApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIkpTT0VTRWxlbWVudEluZGV4VWludC5oIgog
I2luY2x1ZGUgIkpTT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5oIgogI2luY2x1ZGUgIkpTT0VTVGV4
dHVyZUZsb2F0LmgiCisjaW5jbHVkZSAiSlNPRVNUZXh0dXJlSGFsZkZsb2F0LmgiCiAjaW5jbHVk
ZSAiSlNPRVNWZXJ0ZXhBcnJheU9iamVjdC5oIgogI2luY2x1ZGUgIkpTVWludDMyQXJyYXkuaCIK
ICNpbmNsdWRlICJKU1VpbnQ4QXJyYXkuaCIKQEAgLTYxLDYgKzYyLDcgQEAKICNpbmNsdWRlICJP
RVNFbGVtZW50SW5kZXhVaW50LmgiCiAjaW5jbHVkZSAiT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5o
IgogI2luY2x1ZGUgIk9FU1RleHR1cmVGbG9hdC5oIgorI2luY2x1ZGUgIk9FU1RleHR1cmVIYWxm
RmxvYXQuaCIKICNpbmNsdWRlICJPRVNWZXJ0ZXhBcnJheU9iamVjdC5oIgogI2luY2x1ZGUgIldl
YkdMQnVmZmVyLmgiCiAjaW5jbHVkZSAiV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuaCIKQEAg
LTIwMCw2ICsyMDIsOCBAQCBzdGF0aWMgSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNE
T01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgV2ViR0xFeHRlbgogICAgICAgICByZXR1cm4g
dG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PE9FU1N0YW5kYXJkRGVyaXZhdGl2
ZXMqPihleHRlbnNpb24pKTsKICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNUZXh0dXJlRmxv
YXROYW1lOgogICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19j
YXN0PE9FU1RleHR1cmVGbG9hdCo+KGV4dGVuc2lvbikpOworICAgIGNhc2UgV2ViR0xFeHRlbnNp
b246Ok9FU1RleHR1cmVIYWxmRmxvYXROYW1lOgorICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBn
bG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PE9FU1RleHR1cmVIYWxmRmxvYXQqPihleHRlbnNpb24p
KTsKICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNWZXJ0ZXhBcnJheU9iamVjdE5hbWU6CiAg
ICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8T0VTVmVy
dGV4QXJyYXlPYmplY3QqPihleHRlbnNpb24pKTsKICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpP
RVNFbGVtZW50SW5kZXhVaW50TmFtZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20u
Y3BwCmluZGV4IGQ0MzQyM2YxN2Y3MzMxNmIzMzkwYTQ5ZGY5OWQ4OGFkNzk4N2MzYjQuLjc3ZDFi
OWFlNjVlMmJiNjEwYTgxNGVkZjhmMDI3MzU1NGE4MzIzMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJp
bmdDb250ZXh0Q3VzdG9tLmNwcApAQCAtNTAsNiArNTAsNyBAQAogI2luY2x1ZGUgIlY4T0VTRWxl
bWVudEluZGV4VWludC5oIgogI2luY2x1ZGUgIlY4T0VTU3RhbmRhcmREZXJpdmF0aXZlcy5oIgog
I2luY2x1ZGUgIlY4T0VTVGV4dHVyZUZsb2F0LmgiCisjaW5jbHVkZSAiVjhPRVNUZXh0dXJlSGFs
ZkZsb2F0LmgiCiAjaW5jbHVkZSAiVjhPRVNWZXJ0ZXhBcnJheU9iamVjdC5oIgogI2luY2x1ZGUg
IlY4VWludDE2QXJyYXkuaCIKICNpbmNsdWRlICJWOFVpbnQzMkFycmF5LmgiCkBAIC0xODgsNiAr
MTg5LDEwIEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOE9iamVjdChXZWJHTEV4
dGVuc2lvbiogZXh0ZW5zaW9uLCB2ODo6SGFuZGxlPHY4CiAgICAgICAgIGV4dGVuc2lvbk9iamVj
dCA9IHRvVjgoc3RhdGljX2Nhc3Q8T0VTVGV4dHVyZUZsb2F0Kj4oZXh0ZW5zaW9uKSwgY29udGV4
dE9iamVjdCwgaXNvbGF0ZSk7CiAgICAgICAgIHJlZmVyZW5jZU5hbWUgPSAib2VzVGV4dHVyZUZs
b2F0TmFtZSI7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1Rl
eHR1cmVIYWxmRmxvYXROYW1lOgorICAgICAgICBleHRlbnNpb25PYmplY3QgPSB0b1Y4KHN0YXRp
Y19jYXN0PE9FU1RleHR1cmVIYWxmRmxvYXQqPihleHRlbnNpb24pLCBjb250ZXh0T2JqZWN0LCBp
c29sYXRlKTsKKyAgICAgICAgcmVmZXJlbmNlTmFtZSA9ICJvZXNUZXh0dXJlSGFsZkZsb2F0TmFt
ZSI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1ZlcnRleEFy
cmF5T2JqZWN0TmFtZToKICAgICAgICAgZXh0ZW5zaW9uT2JqZWN0ID0gdG9WOChzdGF0aWNfY2Fz
dDxPRVNWZXJ0ZXhBcnJheU9iamVjdCo+KGV4dGVuc2lvbiksIGNvbnRleHRPYmplY3QsIGlzb2xh
dGUpOwogICAgICAgICByZWZlcmVuY2VOYW1lID0gIm9lc1ZlcnRleEFycmF5T2JqZWN0TmFtZSI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZs
b2F0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjUyYWVjZDM0MmZmYzMxMjkxNThkMTJmYjM3MmQ4MzI0YWRlOWEyMTgK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJl
SGFsZkZsb2F0LmNwcApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEz
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
KyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorCisjaWYgRU5BQkxFKFdFQkdMKQorCisjaW5jbHVkZSAiT0VTVGV4dHVyZUhhbGZGbG9hdC5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK09FU1RleHR1cmVIYWxmRmxvYXQ6Ok9FU1RleHR1
cmVIYWxmRmxvYXQoV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0KQorICAgIDogV2ViR0xF
eHRlbnNpb24oY29udGV4dCkKK3sKK30KKworT0VTVGV4dHVyZUhhbGZGbG9hdDo6fk9FU1RleHR1
cmVIYWxmRmxvYXQoKQoreworfQorCitXZWJHTEV4dGVuc2lvbjo6RXh0ZW5zaW9uTmFtZSBPRVNU
ZXh0dXJlSGFsZkZsb2F0OjpnZXROYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gT0VTVGV4dHVy
ZUhhbGZGbG9hdE5hbWU7Cit9CisKK1Bhc3NPd25QdHI8T0VTVGV4dHVyZUhhbGZGbG9hdD4gT0VT
VGV4dHVyZUhhbGZGbG9hdDo6Y3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCkK
K3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IE9FU1RleHR1cmVIYWxmRmxvYXQoY29udGV4dCkp
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZs
b2F0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZGYyNDNiMjYwNDA0NTc5MTc5NzNjZGMyZjQ3YTM3NzYzNDNlMWU1ZgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxm
RmxvYXQuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBPRVNUZXh0dXJlSGFsZkZs
b2F0X2gKKyNkZWZpbmUgT0VTVGV4dHVyZUhhbGZGbG9hdF9oCisKKyNpbmNsdWRlICJXZWJHTEV4
dGVuc2lvbi5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgT0VTVGV4dHVyZUhhbGZGbG9hdCA6IHB1YmxpYyBXZWJHTEV4dGVuc2lv
biB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8T0VTVGV4dHVyZUhhbGZGbG9hdD4g
Y3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOworCisgICAgdmlydHVhbCB+T0VTVGV4dHVy
ZUhhbGZGbG9hdCgpOworICAgIHZpcnR1YWwgRXh0ZW5zaW9uTmFtZSBnZXROYW1lKCkgY29uc3Q7
CisKK3ByaXZhdGU6CisgICAgT0VTVGV4dHVyZUhhbGZGbG9hdChXZWJHTFJlbmRlcmluZ0NvbnRl
eHQqKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIE9FU1RleHR1
cmVIYWxmRmxvYXRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VT
VGV4dHVyZUhhbGZGbG9hdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0
dXJlSGFsZkZsb2F0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZWYyZmIxYWJiYmZjNjhlMGM4MTk3ZDJlM2Y1
YjAyNmViYmI1MWM0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5pZGwKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElU
UyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJ
VFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwor
ICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAg
ICBDb25kaXRpb25hbD1XRUJHTCwKKyAgICBKU0dlbmVyYXRlSXNSZWFjaGFibGU9SW1wbENvbnRl
eHQsCisgICAgT21pdENvbnN0cnVjdG9yCitdIGludGVyZmFjZSBPRVNUZXh0dXJlSGFsZkZsb2F0
IHsKK307ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKaW5kZXggNGI4MzI4NGJhNjM1OWI0NTUzNzBhMGNlNTBm
ZWYwMDExMTE5MzMyMC4uZmFiZGZjOTM5ZDk2Y2FmNjU1MjlmNzA2ODBjMGVjYjcyOWU1NjZmMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCkBAIC0zOCw2
ICszOCw3IEBAIHB1YmxpYzoKICAgICAgICAgV2ViR0xMb3NlQ29udGV4dE5hbWUsCiAgICAgICAg
IEVYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpY05hbWUsCiAgICAgICAgIE9FU1RleHR1cmVGbG9h
dE5hbWUsCisgICAgICAgIE9FU1RleHR1cmVIYWxmRmxvYXROYW1lLAogICAgICAgICBPRVNTdGFu
ZGFyZERlcml2YXRpdmVzTmFtZSwKICAgICAgICAgT0VTVmVydGV4QXJyYXlPYmplY3ROYW1lLAog
ICAgICAgICBXZWJHTERlYnVnUmVuZGVyZXJJbmZvTmFtZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDNmNTk4YzA2
OTk4MWE0ZTcyZjY4MDc1MjgwZmI1Njk4NjFjMzc0Y2EuLjcwOWViNWUzMzcwNGI5YjNmMjg0NDA4
MjdiNzU1ZTM0ODNmNDQyNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtNDgsNiArNDgsNyBAQAogI2luY2x1ZGUg
Ik9FU0VsZW1lbnRJbmRleFVpbnQuaCIKICNpbmNsdWRlICJPRVNTdGFuZGFyZERlcml2YXRpdmVz
LmgiCiAjaW5jbHVkZSAiT0VTVGV4dHVyZUZsb2F0LmgiCisjaW5jbHVkZSAiT0VTVGV4dHVyZUhh
bGZGbG9hdC5oIgogI2luY2x1ZGUgIk9FU1ZlcnRleEFycmF5T2JqZWN0LmgiCiAjaW5jbHVkZSAi
UGFnZS5oIgogI2luY2x1ZGUgIlJlbmRlckJveC5oIgpAQCAtMjM4Myw2ICsyMzg0LDE0IEBAIFdl
YkdMRXh0ZW5zaW9uKiBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEV4dGVuc2lvbihjb25zdCBT
dHJpbmcmIG5hbWUpCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIG1fb2VzVGV4dHVyZUZsb2F0
LmdldCgpOwogICAgIH0KKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIk9FU190ZXh0
dXJlX2hhbGZfZmxvYXQiKQorICAgICAgICAmJiBtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS0+
c3VwcG9ydHMoIkdMX09FU190ZXh0dXJlX2hhbGZfZmxvYXQiKSkgeworICAgICAgICBpZiAoIW1f
b2VzVGV4dHVyZUhhbGZGbG9hdCkgeworICAgICAgICAgICAgbV9jb250ZXh0LT5nZXRFeHRlbnNp
b25zKCktPmVuc3VyZUVuYWJsZWQoIkdMX09FU190ZXh0dXJlX2hhbGZfZmxvYXQiKTsKKyAgICAg
ICAgICAgIG1fb2VzVGV4dHVyZUhhbGZGbG9hdCA9IE9FU1RleHR1cmVIYWxmRmxvYXQ6OmNyZWF0
ZSh0aGlzKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gbV9vZXNUZXh0dXJlSGFsZkZsb2F0
LmdldCgpOworICAgIH0KICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIk9FU192ZXJ0
ZXhfYXJyYXlfb2JqZWN0IikKICAgICAgICAgJiYgbV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCkt
PnN1cHBvcnRzKCJHTF9PRVNfdmVydGV4X2FycmF5X29iamVjdCIpKSB7CiAgICAgICAgIGlmICgh
bV9vZXNWZXJ0ZXhBcnJheU9iamVjdCkgewpAQCAtNDkwOCw2ICs0OTE3LDExIEBAIGJvb2wgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZVRleEZ1bmNGb3JtYXRBbmRUeXBlKGNvbnN0IGNo
YXIqIGZ1bmN0aW9uTmFtCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgc3ludGhlc2l6ZUdM
RXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSwgZnVuY3Rpb25OYW1lLCAiaW52
YWxpZCB0ZXh0dXJlIHR5cGUiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0M0Q6OkhBTEZfRkxPQVRfT0VTOgorICAgICAgICBpZiAobV9vZXNUZXh0dXJl
SGFsZkZsb2F0KQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9y
KEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX0VOVU0sIGZ1bmN0aW9uTmFtZSwgImludmFsaWQg
dGV4dHVyZSB0eXBlIik7CisgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dDNEOjpVTlNJR05FRF9JTlQ6CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VU5T
SUdORURfSU5UXzI0Xzg6CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfU0hP
UlQ6CkBAIC00OTI2LDcgKzQ5NDAsOCBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFs
aWRhdGVUZXhGdW5jRm9ybWF0QW5kVHlwZShjb25zdCBjaGFyKiBmdW5jdGlvbk5hbQogICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0M0Q6OkxVTUlOQU5DRToKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dDNEOjpMVU1JTkFOQ0VfQUxQSEE6CiAgICAgICAgIGlmICh0eXBlICE9IEdyYXBoaWNzQ29udGV4
dDNEOjpVTlNJR05FRF9CWVRFCi0gICAgICAgICAgICAmJiB0eXBlICE9IEdyYXBoaWNzQ29udGV4
dDNEOjpGTE9BVCkgeworICAgICAgICAgICAgJiYgdHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6
RkxPQVQKKyAgICAgICAgICAgICYmIHR5cGUgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OkhBTEZfRkxP
QVRfT0VTKSB7CiAgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQz
RDo6SU5WQUxJRF9PUEVSQVRJT04sIGZ1bmN0aW9uTmFtZSwgImludmFsaWQgdHlwZSBmb3IgZm9y
bWF0Iik7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KQEAgLTQ5MzQsNyAr
NDk0OSw4IEBAIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZVRleEZ1bmNGb3Jt
YXRBbmRUeXBlKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtCiAgICAgY2FzZSBHcmFwaGljc0NvbnRl
eHQzRDo6UkdCOgogICAgICAgICBpZiAodHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdO
RURfQllURQogICAgICAgICAgICAgJiYgdHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdO
RURfU0hPUlRfNV82XzUKLSAgICAgICAgICAgICYmIHR5cGUgIT0gR3JhcGhpY3NDb250ZXh0M0Q6
OkZMT0FUKSB7CisgICAgICAgICAgICAmJiB0eXBlICE9IEdyYXBoaWNzQ29udGV4dDNEOjpGTE9B
VAorICAgICAgICAgICAgJiYgdHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6SEFMRl9GTE9BVF9P
RVMpIHsKICAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJ
TlZBTElEX09QRVJBVElPTiwgZnVuY3Rpb25OYW1lLCAiaW52YWxpZCB0eXBlIGZvciBSR0IgZm9y
bWF0Iik7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KQEAgLTQ5NDMsNyAr
NDk1OSw4IEBAIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZVRleEZ1bmNGb3Jt
YXRBbmRUeXBlKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtCiAgICAgICAgIGlmICh0eXBlICE9IEdy
YXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9CWVRFCiAgICAgICAgICAgICAmJiB0eXBlICE9IEdy
YXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9TSE9SVF80XzRfNF80CiAgICAgICAgICAgICAmJiB0
eXBlICE9IEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9TSE9SVF81XzVfNV8xCi0gICAgICAg
ICAgICAmJiB0eXBlICE9IEdyYXBoaWNzQ29udGV4dDNEOjpGTE9BVCkgeworICAgICAgICAgICAg
JiYgdHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6RkxPQVQKKyAgICAgICAgICAgICYmIHR5cGUg
IT0gR3JhcGhpY3NDb250ZXh0M0Q6OkhBTEZfRkxPQVRfT0VTKSB7CiAgICAgICAgICAgICBzeW50
aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sIGZ1bmN0
aW9uTmFtZSwgImludmFsaWQgdHlwZSBmb3IgUkdCQSBmb3JtYXQiKTsKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAgICAgfQpAQCAtNTExMyw2ICs1MTMwLDE0IEBAIGJvb2wgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZVRleEZ1bmNEYXRhKGNvbnN0IGNoYXIqIGZ1bmN0aW9u
TmFtZSwgR0MzRGluCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KICAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6SEFMRl9GTE9BVF9PRVM6IC8v
IE9FU190ZXh0dXJlX2hhbGZfZmxvYXQKKyAgICAgICAgLy8gQXMgcGVyIHRoZSBzcGVjaWZpY2F0
aW9uLCBBcnJheUJ1ZmZlclZpZXcgc2hvdWxkIGJlIG51bGwgd2hlbgorICAgICAgICAvLyBPRVNf
dGV4dHVyZV9oYWxmX2Zsb2F0IGlzIGVuYWJsZWQuCisgICAgICAgIGlmIChwaXhlbHMpIHsKKyAg
ICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09Q
RVJBVElPTiwgZnVuY3Rpb25OYW1lLCAidHlwZSBIQUxGX0ZMT0FUX09FUyBidXQgQXJyYXlCdWZm
ZXJWaWV3IGlzIG5vdCBOVUxMIik7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IH0KKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuaAppbmRleCA3OTNiM2Q0NDk3MTc2MjVjM2MzN2RiZWY4N2ExMzg5YTlk
NzQ5NmE2Li45MzU2YTVmZjhkYjAxYzViZDQ4OGYzNzE0YTFiYTcyMGJkNWIwMDFiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaApA
QCAtNTAsNiArNTAsNyBAQCBjbGFzcyBJbWFnZURhdGE7CiBjbGFzcyBJbnRTaXplOwogY2xhc3Mg
T0VTU3RhbmRhcmREZXJpdmF0aXZlczsKIGNsYXNzIE9FU1RleHR1cmVGbG9hdDsKK2NsYXNzIE9F
U1RleHR1cmVIYWxmRmxvYXQ7CiBjbGFzcyBPRVNWZXJ0ZXhBcnJheU9iamVjdDsKIGNsYXNzIE9F
U0VsZW1lbnRJbmRleFVpbnQ7CiBjbGFzcyBXZWJHTEFjdGl2ZUluZm87CkBAIC01MTEsNiArNTEy
LDcgQEAgcHVibGljOgogICAgIC8vIEVuYWJsZWQgZXh0ZW5zaW9uIG9iamVjdHMuCiAgICAgT3du
UHRyPEVYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYz4gbV9leHRUZXh0dXJlRmlsdGVyQW5pc290
cm9waWM7CiAgICAgT3duUHRyPE9FU1RleHR1cmVGbG9hdD4gbV9vZXNUZXh0dXJlRmxvYXQ7Cisg
ICAgT3duUHRyPE9FU1RleHR1cmVIYWxmRmxvYXQ+IG1fb2VzVGV4dHVyZUhhbGZGbG9hdDsKICAg
ICBPd25QdHI8T0VTU3RhbmRhcmREZXJpdmF0aXZlcz4gbV9vZXNTdGFuZGFyZERlcml2YXRpdmVz
OwogICAgIE93blB0cjxPRVNWZXJ0ZXhBcnJheU9iamVjdD4gbV9vZXNWZXJ0ZXhBcnJheU9iamVj
dDsKICAgICBPd25QdHI8T0VTRWxlbWVudEluZGV4VWludD4gbV9vZXNFbGVtZW50SW5kZXhVaW50
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5pZGwKaW5kZXggYjRkNDg5ZGRlYzZkZGE0ZWM2NjE1NjQyZGM0ZGU0MmI3NTI5Y2MyNi4u
YzdhYzZmMWE0MDY0ZmMzMmEzYWUzOWY3ODA1MmE4NzkzYzRiMmI4NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRsCkBAIC0x
LDQgKzEsNCBAQAotLyoKKyAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTIzNyw2ICsyMzcsNyBAQCB0
eXBlZGVmIC8qdW5yZXN0cmljdGVkKi8gZmxvYXQgR0xjbGFtcGY7CiAgICAgY29uc3QgR0xlbnVt
IElOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MTQwNDsKICAgICBjb25zdCBHTGVu
dW0gVU5TSUdORURfSU5UICAgICAgICAgICAgICAgICAgID0gMHgxNDA1OwogICAgIGNvbnN0IEdM
ZW51bSBGTE9BVCAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDE0MDY7CisgICAgY29uc3Qg
R0xlbnVtIEhBTEZfRkxPQVRfT0VTICAgICAgICAgICAgICAgICA9IDB4OEQ2MTsKIAogICAgIC8q
IFBpeGVsRm9ybWF0ICovCiAgICAgY29uc3QgR0xlbnVtIERFUFRIX0NPTVBPTkVOVCAgICAgICAg
ICAgICAgICA9IDB4MTkwMjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0V4dGVuc2lvbnMzRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
RXh0ZW5zaW9uczNELmgKaW5kZXggMmY0YzEyYzAzOTk5OWJkODdhMjNhZDQ3YmNlZGZlYjNlYTA0
YzFmMS4uMDI3MmJjMDU2MTBhZGY0OTVhZWY1YWJkZTAzZjRmMmRmNzY1YmM4YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmgKQEAgLTUzLDYg
KzUzLDcgQEAgcHVibGljOgogICAgIC8vICAgR0xfRVhUX3BhY2tlZF9kZXB0aF9zdGVuY2lsIC8g
R0xfT0VTX3BhY2tlZF9kZXB0aF9zdGVuY2lsCiAgICAgLy8gICBHTF9BTkdMRV9mcmFtZWJ1ZmZl
cl9ibGl0IC8gR0xfQU5HTEVfZnJhbWVidWZmZXJfbXVsdGlzYW1wbGUKICAgICAvLyAgIEdMX09F
U190ZXh0dXJlX2Zsb2F0CisgICAgLy8gICBHTF9PRVNfdGV4dHVyZV9oYWxmX2Zsb2F0CiAgICAg
Ly8gICBHTF9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMKICAgICAvLyAgIEdMX09FU19yZ2I4X3Jn
YmE4CiAgICAgLy8gICBHTF9PRVNfdmVydGV4X2FycmF5X29iamVjdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKaW5kZXggYWVk
ZTRmZDg1NWZjNmM0YzQ2Zjg2NmJiMDg5ZGM0NDJiMmVhYzU1ZS4uNjcxNTk0OWNmMGU2MjM1YjIy
ODA1NWMyZDZjOTBjMzdiMjM5MWIyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCkBAIC0yNTEsNiArMjUxLDcgQEAgcHVi
bGljOgogICAgICAgICBJTlQgPSAweDE0MDQsCiAgICAgICAgIFVOU0lHTkVEX0lOVCA9IDB4MTQw
NSwKICAgICAgICAgRkxPQVQgPSAweDE0MDYsCisgICAgICAgIEhBTEZfRkxPQVRfT0VTID0gMHg4
RDYxLAogICAgICAgICBGSVhFRCA9IDB4MTQwQywKICAgICAgICAgREVQVEhfQ09NUE9ORU5UID0g
MHgxOTAyLAogICAgICAgICBBTFBIQSA9IDB4MTkwNiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1YmM3YTZlMmMzMjNkMzI3
YjJkMzI1MGI1YjRmOWRkNDA1NjBiMTk4Li4wNjdiNWRkNjEyYWU4ZmVhNTcwMGE4MGE4NTRmODNm
YTg3M2ExYzY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTMtMDItMjUgIE5heWFuIEt1bWFy
IEsgIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBbV2ViR0xdIFN1cHBvcnQgZm9y
IHRleEltYWdlMkQgb2YgdHlwZSBIQUxGX0ZMT0FUX09FUyB3aXRoIG51bGwgcGl4ZWxzLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwODE4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXMgcGVyIE9FU190
ZXh0dXJlX2hhbGZfZmxvYXQgc3BlY2lmaWNhdGlvbiwgdGV4SW1hZ2UyRCBhbmQgdGV4U3ViSW1h
Z2UyRAorICAgICAgICBlbnRyeSBwb2ludHMgdGFraW5nIEFycmF5QnVmZmVyVmlldyBzaG91bGQg
ZXh0ZW5kZWQgdG8gYWNjZXB0IG51bGwgd2l0aAorICAgICAgICB0aGUgcGl4ZWwgdHlwZSBIQUxG
X0ZMT0FUX09FUy4KKworICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL2NvbnN0YW50cy5odG1s
OgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVy
ZS1oYWxmLWZsb2F0Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTAyLTI1ICBWc2V2b2xvZCBWbGFzb3Yg
IDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgY2hyb21pdW0gdGVz
dCBleHBlY3RhdGlvbnMgdXBkYXRlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvY29uc3RhbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9j
b25zdGFudHMuaHRtbAppbmRleCA3NWMwOTAzMWZhZDllYjRmNjJlMzIyNTRjNTE3NDYyNTYzMDM0
YzFjLi44YjZiYzk0YmY2NDU2ODEzZjFhYTNjMDg1Mzc3YjkyOGI3ZjYzNDA1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb25zdGFudHMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb25zdGFudHMuaHRtbApAQCAtMjEyLDYgKzIxMiw3
IEBAIFVOU0lHTkVEX1NIT1JUICAgICAgICAgICAgICAgICA6IDB4MTQwMywKIElOVCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA6IDB4MTQwNCwKIFVOU0lHTkVEX0lOVCAgICAgICAgICAgICAg
ICAgICA6IDB4MTQwNSwKIEZMT0FUICAgICAgICAgICAgICAgICAgICAgICAgICA6IDB4MTQwNiwK
K0hBTEZfRkxPQVRfT0VTICAgICAgICAgICAgICAgICA6IDB4OEQ2MSwKICAgICAKICAgICAvKiBQ
aXhlbEZvcm1hdCAqLwogREVQVEhfQ09NUE9ORU5UICAgICAgICAgICAgICAgIDogMHgxOTAyLApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtaGFs
Zi1mbG9hdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMt
dGV4dHVyZS1oYWxmLWZsb2F0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzJkYTk4OWIxMjAw
NjM0ODA2MzgxZWVlYjVkM2EzZjQwMjcwMzllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtaGFsZi1mbG9hdC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxNyBAQAorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogSU5WQUxJRF9FTlVNOiB0
ZXhJbWFnZTJEOiBpbnZhbGlkIHRleHR1cmUgdHlwZQorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBm
dW5jdGlvbmFsaXR5IG9mIHRoZSBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGV4dGVuc2lvbiwgaWYg
aXQgaXMgYXZhaWxhYmxlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBX
ZWJHTCBjb250ZXh0IGV4aXN0cworUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2NlZWQKKwordGVzdGlu
ZyBmb3JtYXQ6IFJHQkEgZXhwZWN0OiBmYWlsdXJlCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogSU5WQUxJRF9FTlVNIDogaGFsZi1mbG9hdGluZy1wb2ludCB0ZXh0dXJlIGFsbG9j
YXRpb24gbXVzdCBiZSBkaXNhbGxvd2VkIGlmIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQgaXNuJ3Qg
ZW5hYmxlZAorUEFTUyBObyBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IHN1cHBvcnQgLS0gdGhpcyBp
cyBsZWdhbAorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1
cmUtaGFsZi1mbG9hdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRl
eHR1cmUtaGFsZi1mbG9hdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFiY2YzNjY3MGIyZWQ1NjJkYWZiMzkw
NDY3MTc4YTZlZTUwY2RhN2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0Lmh0bWwKQEAgLTAsMCArMSwxNTYgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IENvbmZvcm1hbmNlIFRlc3RzPC90
aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29u
c3RhbnRzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFzIiBzdHlsZT0id2lk
dGg6IDUwcHg7IGhlaWdodDogNTBweDsiPiA8L2NhbnZhcz4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPCEtLSBTaGFkZXJzIGZvciB0ZXN0aW5nIGhhbGYtZmxvYXRpbmctcG9pbnQgdGV4dHVy
ZXMgLS0+Cis8c2NyaXB0IGlkPSJ0ZXN0RnJhZ21lbnRTaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gt
ZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHNhbXBsZXIyRCB0
ZXg7Cit1bmlmb3JtIHZlYzQgc3VidHJhY3RvcjsKK3ZhcnlpbmcgdmVjMiB0ZXhDb29yZDsKK3Zv
aWQgbWFpbigpCit7CisgICAgdmVjNCBjb2xvciA9IHRleHR1cmUyRCh0ZXgsIHRleENvb3JkKTsK
KyAgICBpZiAoYWJzKGNvbG9yLnIgLSBzdWJ0cmFjdG9yLnIpICsKKyAgICAgICAgYWJzKGNvbG9y
LmcgLSBzdWJ0cmFjdG9yLmcpICsKKyAgICAgICAgYWJzKGNvbG9yLmIgLSBzdWJ0cmFjdG9yLmIp
ICsKKyAgICAgICAgYWJzKGNvbG9yLmEgLSBzdWJ0cmFjdG9yLmEpIDwgOC4wKSB7CisgICAgICAg
IGdsX0ZyYWdDb2xvciA9IHZlYzQoMC4wLCAxLjAsIDAuMCwgMS4wKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDEuMCwgMC4wLCAwLjAsIDEuMCk7CisgICAgfQor
fQorPC9zY3JpcHQ+Cis8IS0tIFNoYWRlcnMgZm9yIHRlc3RpbmcgaGFsZi1mbG9hdGluZy1wb2lu
dCByZW5kZXIgdGFyZ2V0cyAtLT4KKzxzY3JpcHQgaWQ9InBvc2l0aW9uVmVydGV4U2hhZGVyIiB0
eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247Cit2b2lk
IG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworfQorPC9zY3JpcHQ+Cis8
c2NyaXB0IGlkPSJoYWxmRmxvYXRpbmdQb2ludEZyYWdtZW50U2hhZGVyIiB0eXBlPSJ4LXNoYWRl
ci94LWZyYWdtZW50Ij4KK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgx
MDAwMC4wLCAxMDAwMC4wLCAxMDAwMC4wLCAxMDAwMC4wKTsKK30KKzwvc2NyaXB0PgorPHNjcmlw
dD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhlIGZ1
bmN0aW9uYWxpdHkgb2YgdGhlIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQgZXh0ZW5zaW9uLCBpZiBp
dCBpcyBhdmFpbGFibGUuIik7CisKK2RlYnVnKCIiKTsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0
aWxzOwordmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKK3Zh
ciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzKTsKKworaWYgKCFnbCkgeworICB0ZXN0
RmFpbGVkKCJXZWJHTCBjb250ZXh0IGRvZXMgbm90IGV4aXN0Iik7Cit9IGVsc2UgeworICB0ZXN0
UGFzc2VkKCJXZWJHTCBjb250ZXh0IGV4aXN0cyIpOworCisgIHZhciB0ZXh0dXJlZFNoYWRlcnMg
PSBbCisgICAgICB3dHUuc2V0dXBTaW1wbGVUZXh0dXJlVmVydGV4U2hhZGVyKGdsKSwKKyAgICAg
ICJ0ZXN0RnJhZ21lbnRTaGFkZXIiCisgIF07CisgIHZhciB0ZXN0UHJvZ3JhbSA9CisgICAgICB3
dHUuc2V0dXBQcm9ncmFtKGdsLAorICAgICAgICAgICAgICAgICAgICAgICB0ZXh0dXJlZFNoYWRl
cnMsCisgICAgICAgICAgICAgICAgICAgICAgIFsndlBvc2l0aW9uJywgJ3RleENvb3JkMCddLAor
ICAgICAgICAgICAgICAgICAgICAgICBbMCwgMV0pOworICB2YXIgcXVhZFBhcmFtZXRlcnMgPSB3
dHUuc2V0dXBVbml0UXVhZChnbCwgMCwgMSk7CisKKyAgLy8gRmlyc3QgdmVyaWZ5IHRoYXQgYWxs
b2NhdGlvbiBvZiBmbG9hdGluZy1wb2ludCB0ZXh0dXJlcyBmYWlscyBpZgorICAvLyB0aGUgZXh0
ZW5zaW9uIGhhcyBub3QgYmVlbiBlbmFibGVkIHlldC4KKyAgcnVuVGV4dHVyZUNyZWF0aW9uVGVz
dCh0ZXN0UHJvZ3JhbSwgZmFsc2UpOworCisgIGlmICghZ2wuZ2V0RXh0ZW5zaW9uKCJPRVNfdGV4
dHVyZV9oYWxmX2Zsb2F0IikpIHsKKyAgICAgIHRlc3RQYXNzZWQoIk5vIE9FU190ZXh0dXJlX2hh
bGZfZmxvYXQgc3VwcG9ydCAtLSB0aGlzIGlzIGxlZ2FsIik7CisgIH0gZWxzZSB7CisgICAgICB0
ZXN0UGFzc2VkKCJTdWNjZXNzZnVsbHkgZW5hYmxlZCBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGV4
dGVuc2lvbiIpOworICAgICAgcnVuVGV4dHVyZUNyZWF0aW9uVGVzdCh0ZXN0UHJvZ3JhbSwgdHJ1
ZSwgZ2wuUkdCQSwgNCwgWzEwMDAwLCAxMDAwMCwgMTAwMDAsIDEwMDAwXSk7CisgICAgICBydW5U
ZXh0dXJlQ3JlYXRpb25UZXN0KHRlc3RQcm9ncmFtLCB0cnVlLCBnbC5SR0IsIDMsIFsxMDAwMCwg
MTAwMDAsIDEwMDAwLCAwXSk7CisgICAgICBydW5UZXh0dXJlQ3JlYXRpb25UZXN0KHRlc3RQcm9n
cmFtLCB0cnVlLCBnbC5MVU1JTkFOQ0UsIDEsIFsxMDAwMCwgMTAwMDAsIDEwMDAwLCAwXSk7Cisg
ICAgICBydW5UZXh0dXJlQ3JlYXRpb25UZXN0KHRlc3RQcm9ncmFtLCB0cnVlLCBnbC5BTFBIQSwg
MSwgWzAsIDAsIDAsIDEwMDAwXSk7CisgICAgICBydW5UZXh0dXJlQ3JlYXRpb25UZXN0KHRlc3RQ
cm9ncmFtLCB0cnVlLCBnbC5MVU1JTkFOQ0VfQUxQSEEsIDIsIFsxMDAwMCwgMTAwMDAsIDEwMDAw
LCAxMDAwMF0pOworICAgICAgcnVuVW5pcXVlT2JqZWN0VGVzdCgpOworICB9Cit9CisKKy8vIE5l
ZWRzIHRvIGJlIGdsb2JhbCBmb3Igc2hvdWxkQmUgdG8gc2VlIGl0LgordmFyIHBpeGVsczsKKwor
ZnVuY3Rpb24gYWxsb2NhdGVUZXh0dXJlKCkKK3sKKyAgICB2YXIgdGV4dHVyZSA9IGdsLmNyZWF0
ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsK
KyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRF
UiwgZ2wuTkVBUkVTVCk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5U
RVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wu
VEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGds
LnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1Q
X1RPX0VER0UpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0ZXh0dXJl
IHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZCIpOworICAgIHJldHVybiB0ZXh0dXJlOwor
fQorCitmdW5jdGlvbiBjaGVja1JlbmRlcmluZ1Jlc3VsdHMoKQoreworICAgIHd0dS5jaGVja0Nh
bnZhcyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIpOworfQorCitmdW5j
dGlvbiBydW5UZXh0dXJlQ3JlYXRpb25UZXN0KHRlc3RQcm9ncmFtLCBleHRlbnNpb25FbmFibGVk
LCBvcHRfZm9ybWF0LCBvcHRfbnVtQ2hhbm5lbHMsIG9wdF9zdWJ0cmFjdG9yKQoreworICAgIHZh
ciBmb3JtYXQgPSBvcHRfZm9ybWF0IHx8IGdsLlJHQkE7CisgICAgdmFyIG51bWJlck9mQ2hhbm5l
bHMgPSBvcHRfbnVtQ2hhbm5lbHMgfHwgNDsKKyAgICB2YXIgc3VidHJhY3RvciA9IG9wdF9zdWJ0
cmFjdG9yIHx8IFsxMDAwMCwgMTAwMDAsIDEwMDAwLCAxMDAwMF07CisKKyAgICB2YXIgdGV4dHVy
ZSA9IGFsbG9jYXRlVGV4dHVyZSgpOworICAgIC8vIEdlbmVyYXRlIGRhdGEuCisgICAgdmFyIHdp
ZHRoID0gMjsKKyAgICB2YXIgaGVpZ2h0ID0gMjsKKyAgICB2YXIgZGF0YSA9IG5ldyBGbG9hdDMy
QXJyYXkod2lkdGggKiBoZWlnaHQgKiBudW1iZXJPZkNoYW5uZWxzKTsKKyAgICBmb3IgKHZhciBp
aSA9IDA7IGlpIDwgZGF0YS5sZW5ndGg7ICsraWkpIHsKKyAgICAgICAgZGF0YVtpaV0gPSAxMDAw
MDsKKyAgICB9CisKKyAgICBkZWJ1ZygiIik7CisgICAgLy8gVGhlc2UgdGVzdHMgc2hvdWxkIGZh
aWwgc2luY2UgaGFsZi1mbG9hdCB0ZXh0dXJlIGFyZW4ndCBhbGxvd2VkIGZvciBub24tbnVsbCBk
YXRhCisgICAgZGVidWcoInRlc3RpbmcgZm9ybWF0OiAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGds
LCBmb3JtYXQpICsgIiBleHBlY3Q6IGZhaWx1cmUiKTsKKworICAgIGdsLnRleEltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgZm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCAwLCBmb3JtYXQsIGdsLkhBTEZf
RkxPQVRfT0VTLCBkYXRhKTsKKyAgICBpZiAoIWV4dGVuc2lvbkVuYWJsZWQpIHsKKyAgICAgICAg
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0VOVU0sICJoYWxmLWZsb2F0aW5nLXBvaW50
IHRleHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJlIGRpc2FsbG93ZWQgaWYgT0VTX3RleHR1cmVfaGFs
Zl9mbG9hdCBpc24ndCBlbmFibGVkIik7CisgICAgICAgIHJldHVybjsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiSGFsZi1m
bG9hdCB0ZXh0dXJlIHdpdGggQXJyYXlCdWZmZXJWaWV3IGlzIG5vdCBhbGxvd2VkIik7CisgICAg
ICAgIHJldHVybjsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHJ1blVuaXF1ZU9iamVjdFRlc3QoKQor
eworICAgIGRlYnVnKCJUZXN0aW5nIHRoYXQgZ2V0RXh0ZW5zaW9uKCkgcmV0dXJucyB0aGUgc2Ft
ZSBvYmplY3QgZWFjaCB0aW1lIik7CisgICAgZ2wuZ2V0RXh0ZW5zaW9uKCJPRVNfdGV4dHVyZV9o
YWxmX2Zsb2F0IikubXlQcm9wZXJ0eSA9IDI7CisgICAgZ2MoKTsKKyAgICBzaG91bGRCZSgnZ2wu
Z2V0RXh0ZW5zaW9uKCJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IikubXlQcm9wZXJ0eScsICcyJyk7
Cit9CisKKworZGVidWcoIiIpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190856</attachid>
            <date>2013-02-28 17:26:29 -0800</date>
            <delta_ts>2013-03-01 15:00:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110818-20130228172257.patch</filename>
            <type>text/plain</type>
            <size>74019</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MzkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTU3ZGIxM2M5OTU4ZGVk
NDg4YjMxNWMyNTZjOGEyNGE1YmE4NWE4Ni4uODM2Mjg0ZGNjMWU4MzJmYWUzODA3ZTEzNGVhM2M0
MTJhMjlkMTU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEzLTAyLTI4ICBOYXlh
biBLdW1hciBLICA8bmF5YW5ra0Btb3Rvcm9sYS5jb20+CisKKyAgICAgICAgW1dlYkdMXSBTdXBw
b3J0IGZvciB0ZXhJbWFnZTJEIG9mIHR5cGUgSEFMRl9GTE9BVF9PRVMgd2l0aCBBcnJheUJ1ZmZl
clZpZXcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTA4MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
cyBwZXIgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBzcGVjaWZpY2F0aW9uIHRleEltYWdlMkQgYW5k
IHRleFN1YkltYWdlMkQgZW50cnkKKyAgICAgICAgcG9pbnRzIHRha2luZyBBcnJheUJ1ZmZlclZp
ZXcgc2hvdWxkIGV4dGVuZGVkIHRvIGFjY2VwdCBudWxsIHdpdGggdGhlIHBpeGVsIHR5cGUKKyAg
ICAgICAgSEFMRl9GTE9BVF9PRVMuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvY2FudmFzL3dlYmds
L29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtbm90LXN1cHBvcnRlZC5odG1sCisgICAgICAgICAgICAg
ICBmYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0Lmh0bWwKKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06
CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4T2JqZWN0KToKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmNwcDogQ29waWVkIGZyb20gU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaC4KKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6T0VTVGV4dHVyZUhhbGZGbG9hdDo6T0VTVGV4dHVyZUhhbGZG
bG9hdCk6CisgICAgICAgIChXZWJDb3JlOjpPRVNUZXh0dXJlSGFsZkZsb2F0Ojp+T0VTVGV4dHVy
ZUhhbGZGbG9hdCk6CisgICAgICAgIChXZWJDb3JlOjpPRVNUZXh0dXJlSGFsZkZsb2F0OjpnZXRO
YW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ok9FU1RleHR1cmVIYWxmRmxvYXQ6OmNyZWF0ZSk6Cisg
ICAgICAgICogaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5oOiBDb3BpZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oLgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChPRVNUZXh0dXJlSGFsZkZsb2F0KToKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJH
TEV4dGVuc2lvbi5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dDo6Z2V0RXh0ZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dDo6dGV4SW1hZ2UyRCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OnRleFN1YkltYWdlMkQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJp
bmdDb250ZXh0Ojp2YWxpZGF0ZVRleEZ1bmNGb3JtYXRBbmRUeXBlKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVUZXhGdW5jRGF0YSk6CisgICAgICAg
ICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmg6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkdMUmVuZGVyaW5nQ29udGV4dCk6CisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9FeHRlbnNpb25zM0QuaDoKKyAgICAgICAgKEV4dGVuc2lvbnMzRCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0M0Q6OmNvbXB1dGVGb3JtYXRBbmRUeXBlUGFyYW1ldGVycyk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzM0QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnRleEltYWdlMkQpOgorCiAyMDEzLTAyLTI4ICAgVmlu
ZWV0IENoYXVkaGFyeSAgPHJnZjc0OEBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZC4gQmluZGluZ3MgdGVzdCByZXN1bHRzIHVwZGF0ZSBhZnRlciByMTQ0Mzc2LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCBmNjcwY2YwZWU5ZDJjOTFjYjBmNGM1MDIyZTcxOTA1Nzk3OTQ5NTdmLi5l
MTk3MzIxNjczNDM0ODUwMjliZWYyMDRmYTg5NGVhZDUwOWRlNTI4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtNTIyLDYgKzUyMiw3IEBAIHNldChXZWJDb3JlX0lETF9GSUxFUwogICAgIGh0bWwv
Y2FudmFzL0ludDhBcnJheS5pZGwKICAgICBodG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRp
dmVzLmlkbAogICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5pZGwKKyAgICBodG1sL2Nh
bnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbAogICAgIGh0bWwvY2FudmFzL09FU1ZlcnRleEFy
cmF5T2JqZWN0LmlkbAogICAgIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuaWRsCiAg
ICAgaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaWRsCkBAIC0xNTExLDYgKzE1MTIsNyBAQCBzZXQo
V2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJv
cGljLmNwcAogICAgIGh0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwCiAgICAg
aHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmNwcAorICAgIGh0bWwvY2FudmFzL09FU1RleHR1
cmVIYWxmRmxvYXQuY3BwCiAgICAgaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuY3Bw
CiAgICAgaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5jcHAKICAgICBodG1sL2NhbnZh
cy9XZWJHTEJ1ZmZlci5jcHAKQEAgLTI2MjUsNiArMjYyNyw3IEBAIGlmIChFTkFCTEVfV0VCR0wp
CiAgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgICAgIGh0bWwvY2FudmFzL09F
U1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVG
bG9hdC5jcHAKKyAgICAgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAKICAg
ICAgICAgaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuY3BwCiAgICAgICAgIGh0bWwv
Y2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdM
QnVmZmVyLmNwcApAQCAtMjY1NCw2ICsyNjU3LDcgQEAgaWYgKEVOQUJMRV9XRUJHTCkKICAgICAg
ICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcAogICAgICAgICBo
dG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcAogICAgICAgICBodG1sL2NhbnZh
cy9PRVNUZXh0dXJlRmxvYXQuY3BwCisgICAgICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVIYWxm
RmxvYXQuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmNwcAog
ICAgICAgICBodG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmNwcAogICAgICkKQEAgLTI2
NjIsNiArMjY2Niw3IEBAIGlmIChFTkFCTEVfV0VCR0wpCiAgICAgICAgIGh0bWwvY2FudmFzL0VY
VFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5pZGwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTU3Rh
bmRhcmREZXJpdmF0aXZlcy5pZGwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0
LmlkbAorICAgICAgICBodG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbAogICAgICAg
ICBodG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5pZGwKICAgICAgICAgaHRtbC9jYW52
YXMvT0VTRWxlbWVudEluZGV4VWludC5pZGwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xBY3Rp
dmVJbmZvLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZGVkMGU3OTA0MWEz
YjUwYjRjZjBhMWM3NGM1Njk5NjBkMDY2NGU4NS4uYjUyZTUwOGY3YTQ0MmVjODM1ODk2MjEzM2U3
MmIzNjMwYTgyYmM1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC00MDAsNiAr
NDAwLDcgQEAgQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvT0VT
RWxlbWVudEluZGV4VWludC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvT0VTU3Rh
bmRhcmREZXJpdmF0aXZlcy5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvT0VTVGV4
dHVyZUZsb2F0LmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFs
ZkZsb2F0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9i
amVjdC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1VpbnQzMkFycmF5LmlkbCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5wcmkKaW5kZXggMGM1OTAwMmIxNTRiYmQ0YjBlNzI4N2Q1YzgwNzhiNmQwMmMx
NjJmYi4uY2Q0OTEzMTk5NDZmM2I0Y2IyNmMxMmI3NWZkYzQzMWNlMjI0NmViOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtMzEzLDYgKzMxMyw3IEBAIElETF9CSU5ESU5HUyArPSBc
CiAgICAgJCRQV0QvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmlkbCBc
CiAgICAgJCRQV0QvaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwgXAogICAg
ICQkUFdEL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5pZGwgXAorICAgICQkUFdEL2h0bWwv
Y2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsIFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9P
RVNWZXJ0ZXhBcnJheU9iamVjdC5pZGwgXAogICAgICQkUFdEL2h0bWwvY2FudmFzL09FU0VsZW1l
bnRJbmRleFVpbnQuaWRsIFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8u
aWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDM2NWM0YWU2MGVlOTRhMzk0
MmRjYjhhNGY4MzdkNTM5NTY2ODc3OWMuLjU4MjViMWY4YWQxNWE0ZmVlMTc2YTkyYWQwZmYwZGRi
NGNiNWY3OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
KysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTc5LDYgKzU3OSw4
IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09F
U1RleHR1cmVGbG9hdC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNUZXh0dXJl
RmxvYXQuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1RleHR1cmVIYWxmRmxvYXQu
Y3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTVGV4dHVyZUhhbGZGbG9hdC5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTVmVydGV4QXJyYXlPYmplY3QuY3BwIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTVmVydGV4QXJyYXlPYmplY3QuaCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU09FU0VsZW1lbnRJbmRleFVpbnQuY3BwIFwKQEAgLTE1NDQsNiAr
MTU0Niw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMv
SW50OEFycmF5LmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2
YXRpdmVzLmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaWRs
IFwKKwkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsIFwKIAkk
KFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmlkbCBcCiAJJChXZWJD
b3JlKS9odG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmlkbCBcCiAJJChXZWJDb3JlKS9o
dG1sL2NhbnZhcy9VaW50MTZBcnJheS5pZGwgXApAQCAtMzI4NCw2ICszMjg3LDggQEAgd2ViY29y
ZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNTdGFuZGFyZERl
cml2YXRpdmVzLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9h
dC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5oIFwK
KwlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCBcCisJ
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmggXAogCVNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuY3BwIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmlu
ZGV4IGRhMDI3MDBmZmJlYjQ5MDAwYWZmZTNiNmQ0ZmY1NDk3NWY0YzhmZDkuLjc2MzAxM2FiN2My
YWI5ZGE5Yzc2YTZhOWRmNjA0NWEyNDZhOTljODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtNDA0MSw2ICs0
MDQxLDcgQEAgZW5hYmxlPyhXRUJHTCkgewogICAgICAgICBodG1sL2NhbnZhcy9FWFRUZXh0dXJl
RmlsdGVyQW5pc290cm9waWMuaCBcCiAgICAgICAgIGh0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVy
aXZhdGl2ZXMuaCBcCiAgICAgICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5oIFwKKyAg
ICAgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5oIFwKICAgICAgICAgaHRtbC9j
YW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuaCBcCiAgICAgICAgIGh0bWwvY2FudmFzL09FU0Vs
ZW1lbnRJbmRleFVpbnQuaCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5oIFwK
QEAgLTQwNzYsNiArNDA3Nyw3IEBAIGVuYWJsZT8oV0VCR0wpIHsKICAgICAgICAgaHRtbC9jYW52
YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcCBcCiAgICAgICAgIGh0bWwvY2FudmFz
L09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwIFwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTVGV4
dHVyZUZsb2F0LmNwcCBcCisgICAgICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQu
Y3BwIFwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuY3BwIFwKICAg
ICAgICAgaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5jcHAgXAogICAgICAgICBodG1s
L2NhbnZhcy9XZWJHTFRleHR1cmUuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA1NGZkMzMyZjEx
YTk3NWJhNjNjNDM5OGRhMTcyZDE1MmY3YmE4MTJiLi5kZWRmOGM3MDNlYTk3NGQzZWRiMTAwZWM2
YWM4MWNjYzhkMmU5N2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zNzgsNiArMzc4LDcgQEAKICAg
ICAgICAgICAgICdodG1sL2NhbnZhcy9JbnQ4QXJyYXkuaWRsJywKICAgICAgICAgICAgICdodG1s
L2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9j
YW52YXMvT0VTVGV4dHVyZUZsb2F0LmlkbCcsCisgICAgICAgICAgICAnaHRtbC9jYW52YXMvT0VT
VGV4dHVyZUhhbGZGbG9hdC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL09FU1ZlcnRl
eEFycmF5T2JqZWN0LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvT0VTRWxlbWVudElu
ZGV4VWludC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1VpbnQxNkFycmF5LmlkbCcs
CkBAIC0zMzM1LDYgKzMzMzYsOCBAQAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL09FU1N0YW5k
YXJkRGVyaXZhdGl2ZXMuaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZs
b2F0LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmgnLAor
ICAgICAgICAgICAgJ2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuY3BwJywKKyAgICAg
ICAgICAgICdodG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmgnLAogICAgICAgICAgICAg
J2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmNwcCcsCiAgICAgICAgICAgICAnaHRt
bC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52
YXMvT0VTRWxlbWVudEluZGV4VWludC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQ2N2Q1Njk2OWUwMGZiOTlhMGVmMmQx
YmQyYmIwMDFlZDgzMGE3OWEuLjQxMzRmNmEzYTRhMThiZTExN2Y5YTBhZjdiODg5MGQ5ZDE0NTFm
YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTE5MTgsOCArMTkxOCw4IEBACiAJCTZFQkYwRTU0MTJBODkyOTgwMERCMTcwOSAv
KiBXZWJHTEV4dGVuc2lvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2RUJGMEU1MjEyQTg5Mjk4MDBEQjE3MDkgLyogV2ViR0xFeHRlbnNpb24uY3Bw
ICovOyB9OwogCQk2RUJGMEU1NTEyQTg5Mjk4MDBEQjE3MDkgLyogV2ViR0xFeHRlbnNpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZFQkYwRTUzMTJB
ODkyOTgwMERCMTcwOSAvKiBXZWJHTEV4dGVuc2lvbi5oICovOyB9OwogCQk2RUJGMEU3NjEyQTk4
Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkVCRjBFNzQxMkE5ODY4ODAwREIxNzA5IC8qIEpT
T0VTVGV4dHVyZUZsb2F0LmNwcCAqLzsgfTsKLQkJNkVCRjBFNzcxMkE5ODY4ODAwREIxNzA5IC8q
IEpTT0VTVGV4dHVyZUZsb2F0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2RUJGMEU3NTEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQu
aCAqLzsgfTsKIAkJNkVCRjBFNzYxMkE5ODY4ODAwREIxNzBBIC8qIEpTRVhURHJhd0J1ZmZlcnMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkVCRjBF
NzQxMkE5ODY4ODAwREIxNzBBIC8qIEpTRVhURHJhd0J1ZmZlcnMuY3BwICovOyB9OworCQk2RUJG
MEU3NzEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZFQkYwRTc1MTJBOTg2ODgwMERCMTcw
OSAvKiBKU09FU1RleHR1cmVGbG9hdC5oICovOyB9OwogCQk2RUJGMEU3NzEyQTk4Njg4MDBEQjE3
MEEgLyogSlNFWFREcmF3QnVmZmVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNkVCRjBFNzUxMkE5ODY4ODAwREIxNzBBIC8qIEpTRVhURHJhd0J1ZmZl
cnMuaCAqLzsgfTsKIAkJNkVEODc4QzQxNDc0OTNGNDAwNEMzNTk3IC8qIFJlbmRlclRhYmxlQ2Fw
dGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
RUQ4NzhDMjE0NzQ5M0Y0MDA0QzM1OTcgLyogUmVuZGVyVGFibGVDYXB0aW9uLmNwcCAqLzsgfTsK
IAkJNkVEODc4QzUxNDc0OTNGNDAwNEMzNTk3IC8qIFJlbmRlclRhYmxlQ2FwdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkVEODc4QzMxNDc0OTNG
NDAwNEMzNTk3IC8qIFJlbmRlclRhYmxlQ2FwdGlvbi5oICovOyB9OwpAQCAtMzg0MSw3ICszODQx
LDYgQEAKIAkJQTAwQjcyMUExMURFNjQyODAwOEFCOUZGIC8qIENoZWNrZWRJbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEwMEI3MjE5MTFERTY0Mjcw
MDhBQjlGRiAvKiBDaGVja2VkSW50LmggKi87IH07CiAJCUEwMjQ1NzUxMTZDRUFBMjcwMDBFNTY3
MSAvKiBFWFREcmF3QnVmZmVycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBMDI0NTc0RTE2Q0VBQTI3MDAwRTU2NzEgLyogRVhURHJhd0J1ZmZlcnMu
Y3BwICovOyB9OwogCQlBMDI0NTc1MjE2Q0VBQTI3MDAwRTU2NzEgLyogRVhURHJhd0J1ZmZlcnMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEwMjQ1NzRG
MTZDRUFBMjcwMDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5oICovOyB9OwotCQlBMDI0NTc1MzE2
Q0VBQTI3MDAwRTU2NzEgLyogRVhURHJhd0J1ZmZlcnMuaWRsIGluIFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMDI0NTc1MDE2Q0VBQTI3MDAwRTU2NzEgLyog
RVhURHJhd0J1ZmZlcnMuaWRsICovOyB9OwogCQlBMDdEMzM1NTE1MkI2MzBFMDAxQjYzOTMgLyog
SlNXZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMDdEMzM1MzE1MkI2MzBFMDAxQjYzOTMgLyogSlNXZWJH
TFNoYWRlclByZWNpc2lvbkZvcm1hdC5jcHAgKi87IH07CiAJCUEwN0QzMzU2MTUyQjYzMEUwMDFC
NjM5MyAvKiBKU1dlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMDdEMzM1NDE1MkI2MzBFMDAxQjYzOTMgLyog
SlNXZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5oICovOyB9OwogCQlBMDdEMzM1ODE1MkI2MzJE
MDAxQjYzOTMgLyogV2ViR0xTaGFkZXJQcmVjaXNpb25Gb3JtYXQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEwN0QzMzU3MTUyQjYzMkQwMDFCNjM5MyAv
KiBXZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5oICovOyB9OwpAQCAtMzg4Myw2ICszODgyLDEw
IEBACiAJCUEyRThBRTQwMTZBNDk4Q0YwMDZCQjNBQSAvKiBET01XZWJLaXRDU1NGaWx0ZXJSdWxl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMkU4QUUz
RDE2QTQ5OENGMDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZS5oICovOyB9OwogCQlB
MkU4QUU0MTE2QTQ5OENGMDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZS5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyRThBRTNFMTZBNDk4
Q0YwMDZCQjNBQSAvKiBET01XZWJLaXRDU1NGaWx0ZXJSdWxlLm1tICovOyB9OwogCQlBMkU4QUU0
MjE2QTQ5OENGMDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZUludGVybmFsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMkU4QUUzRjE2QTQ5
OENGMDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZUludGVybmFsLmggKi87IH07CisJ
CUEzMUM0RTREMTZFMDJBQTYwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzMUM0RTRDMTZFMDJB
QTYwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCAqLzsgfTsKKwkJQTMxQzRFNEYx
NkUwMkFCNDAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzMUM0RTRFMTZFMDJBQjQwMDJGNzk1NyAv
KiBPRVNUZXh0dXJlSGFsZkZsb2F0LmggKi87IH07CisJCUEzMUM0RTUyMTZFMDJCMDgwMDJGNzk1
NyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTMxQzRFNTExNkUwMkIwODAwMkY3OTU3IC8qIEpTT0VTVGV4
dHVyZUhhbGZGbG9hdC5jcHAgKi87IH07CisJCUEzMUM0RTU0MTZFMDJCNDAwMDJGNzk1NyAvKiBK
U09FU1RleHR1cmVIYWxmRmxvYXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEEzMUM0RTUzMTZFMDJCNDAwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxm
RmxvYXQuaCAqLzsgfTsKIAkJQTNCQjU5RjMxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZl
bnRRdWV1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBM0JCNTlGMTE0NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1lbnRFdmVudFF1ZXVlLmNwcCAqLzsg
fTsKIAkJQTNCQjU5RjQxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNCQjU5RjIxNDU3
QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUEzRTI2NDMwMTQ3NDg5OTEwMDVBODU4OCAv
KiBXb3JrZXJFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEEzRTI2NDJFMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVl
LmNwcCAqLzsgfTsKQEAgLTkzODksOCArOTM5Miw4IEBACiAJCTZFQkYwRTUyMTJBODkyOTgwMERC
MTcwOSAvKiBXZWJHTEV4dGVuc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBXZWJHTEV4dGVuc2lvbi5jcHA7IHBhdGggPSBjYW52YXMvV2ViR0xFeHRlbnNpb24u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RUJGMEU1MzEyQTg5Mjk4MDBEQjE3
MDkgLyogV2ViR0xFeHRlbnNpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
V2ViR0xFeHRlbnNpb24uaDsgcGF0aCA9IGNhbnZhcy9XZWJHTEV4dGVuc2lvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk2RUJGMEU3NDEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNU
ZXh0dXJlRmxvYXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNP
RVNUZXh0dXJlRmxvYXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk2RUJGMEU3
NTEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNPRVNUZXh0dXJlRmxvYXQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNkVCRjBFNzQxMkE5ODY4ODAwREIxNzBBIC8qIEpTRVhURHJhd0J1ZmZlcnMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFWFREcmF3QnVmZmVy
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZFQkYwRTc1MTJBOTg2ODgwMERC
MTcwOSAvKiBKU09FU1RleHR1cmVGbG9hdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU09FU1RleHR1cmVGbG9hdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2
RUJGMEU3NTEyQTk4Njg4MDBEQjE3MEEgLyogSlNFWFREcmF3QnVmZmVycy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0VYVERyYXdCdWZmZXJzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTZFRDg3OEMyMTQ3NDkzRjQwMDRDMzU5NyAvKiBSZW5kZXJUYWJsZUNh
cHRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyVGFi
bGVDYXB0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkVEODc4QzMxNDc0
OTNGNDAwNEMzNTk3IC8qIFJlbmRlclRhYmxlQ2FwdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBSZW5kZXJUYWJsZUNhcHRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTExMzkyLDYgKzExMzk1LDExIEBACiAJCUEyRThBRTNEMTZBNDk4Q0YwMDZCQjNB
QSAvKiBET01XZWJLaXRDU1NGaWx0ZXJSdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERPTVdlYktpdENTU0ZpbHRlclJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTJFOEFFM0UxNkE0OThDRjAwNkJCM0FBIC8qIERPTVdlYktpdENTU0ZpbHRlclJ1bGUu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01XZWJLaXRDU1NG
aWx0ZXJSdWxlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMkU4QUUzRjE2QTQ5
OENGMDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZUludGVybmFsLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdlYktpdENTU0ZpbHRlclJ1bGVJbnRlcm5hbC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMzFDNEU0QzE2RTAyQUE2MDAyRjc5NTcg
LyogT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcDsgcGF0aCA9IGNhbnZhcy9PRVNUZXh0dXJl
SGFsZkZsb2F0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTMxQzRFNEUxNkUw
MkFCNDAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gT0VTVGV4dHVyZUhhbGZGbG9hdC5oOyBwYXRoID0gY2FudmFzL09FU1Rl
eHR1cmVIYWxmRmxvYXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTMxQzRFNTAx
NkUwMkFDNTAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE9FU1RleHR1
cmVIYWxmRmxvYXQuaWRsOyBwYXRoID0gY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMzFDNEU1MTE2RTAyQjA4MDAyRjc5NTcgLyog
SlNPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHA7IHBhdGggPSBKU09FU1RleHR1cmVIYWxm
RmxvYXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMzFDNEU1MzE2RTAyQjQw
MDAyRjc5NTcgLyogSlNPRVNUZXh0dXJlSGFsZkZsb2F0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5oOyBwYXRoID0gSlNPRVNUZXh0dXJl
SGFsZkZsb2F0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzQkI1OUYxMTQ1N0E0
MEQwMEFDNTZGRSAvKiBEb2N1bWVudEV2ZW50UXVldWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRG9jdW1lbnRFdmVudFF1ZXVlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTNCQjU5RjIxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRR
dWV1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEb2N1bWVudEV2ZW50UXVl
dWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNFMjY0MkUxNDc0ODk5MTAwNUE4
NTg4IC8qIFdvcmtlckV2ZW50UXVldWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gV29ya2VyRXZlbnRRdWV1ZS5jcHA7IHBhdGggPSB3b3JrZXJzL1dvcmtlckV2ZW50
UXVldWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTU3NjUsNiArMTU3NzMs
OSBAQAogCQkJCTZFQkYwRTQ1MTJBODkyNjEwMERCMTcwOSAvKiBPRVNUZXh0dXJlRmxvYXQuY3Bw
ICovLAogCQkJCTZFQkYwRTQ2MTJBODkyNjEwMERCMTcwOSAvKiBPRVNUZXh0dXJlRmxvYXQuaCAq
LywKIAkJCQk2RUJGMEU0NzEyQTg5MjYxMDBEQjE3MDkgLyogT0VTVGV4dHVyZUZsb2F0LmlkbCAq
LywKKwkJCQlBMzFDNEU0QzE2RTAyQUE2MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZGbG9hdC5j
cHAgKi8sCisJCQkJQTMxQzRFNEUxNkUwMkFCNDAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxv
YXQuaCAqLywKKwkJCQlBMzFDNEU1MDE2RTAyQUM1MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZG
bG9hdC5pZGwgKi8sCiAJCQkJNzdBMTdBNkUxMkYyODE4MjAwNEUwMkY2IC8qIE9FU1ZlcnRleEFy
cmF5T2JqZWN0LmNwcCAqLywKIAkJCQk3N0ExN0E2RjEyRjI4MTgyMDA0RTAyRjYgLyogT0VTVmVy
dGV4QXJyYXlPYmplY3QuaCAqLywKIAkJCQk3N0ExN0E3MDEyRjI4MTgyMDA0RTAyRjYgLyogT0VT
VmVydGV4QXJyYXlPYmplY3QuaWRsICovLApAQCAtMTkxNzcsNiArMTkxODgsOCBAQAogCQkJCTkw
MDE3ODdGMTJFMDM3MDcwMDY0ODQ2MiAvKiBKU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCAqLywK
IAkJCQk2RUJGMEU3NDEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuY3BwICov
LAogCQkJCTZFQkYwRTc1MTJBOTg2ODgwMERCMTcwOSAvKiBKU09FU1RleHR1cmVGbG9hdC5oICov
LAorCQkJCUEzMUM0RTUxMTZFMDJCMDgwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXQu
Y3BwICovLAorCQkJCUEzMUM0RTUzMTZFMDJCNDAwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxm
RmxvYXQuaCAqLywKIAkJCQk3N0ExN0FBMjEyRjI4QjJBMDA0RTAyRjYgLyogSlNPRVNWZXJ0ZXhB
cnJheU9iamVjdC5jcHAgKi8sCiAJCQkJNzdBMTdBQTMxMkYyOEIyQTAwNEUwMkY2IC8qIEpTT0VT
VmVydGV4QXJyYXlPYmplY3QuaCAqLywKIAkJCQlCNjU4RkY5RjE1MjJFRjNBMDBERDU1OTUgLyog
SlNSYWRpb05vZGVMaXN0LmNwcCAqLywKQEAgLTI2NjM1LDcgKzI2NjQ4LDkgQEAKIAkJCQlGRDUz
NzM1MzEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQx
QjhDRDQ2MTZEMDQ1OTEwMDBFOENDMCAvKiBTZWxlY3RvckNoZWNrZXJGYXN0UGF0aC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDkxNDAyNTcxNjhFMDJFQzAwMkQ2QzZBIC8qIFRpbWVsaW5lVHJhY2VF
dmVudFByb2Nlc3Nvci5oIGluIEhlYWRlcnMgKi8sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEEwMjQ1NzUyMTZDRUFBMjcwMDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTAyNDU3NTIxNkNFQUEyNzAwMEU1NjcxIC8qIEVYVERyYXdCdWZmZXJz
LmggaW4gSGVhZGVycyAqLywKKwkJCQlBMzFDNEU0RjE2RTAyQUI0MDAyRjc5NTcgLyogT0VTVGV4
dHVyZUhhbGZGbG9hdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTMxQzRFNTQxNkUwMkI0MDAwMkY3
OTU3IC8qIEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yOTgzMSw3
ICsyOTg0Niw5IEBACiAJCQkJNDFCOENENDUxNkQwNDU5MTAwMEU4Q0MwIC8qIFNlbGVjdG9yQ2hl
Y2tlckZhc3RQYXRoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5MTQwMjU2MTY4RTAyRTgwMDJE
NkM2QSAvKiBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRTE0QTk0RDcxNkRGREY5NTAwNjhERTgyIC8qIEJsb2JSZWdpc3RyeS5jcHAgaW4gU291cmNl
cyAqLywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQTAyNDU3NTExNkNFQUEyNzAw
MEU1NjcxIC8qIEVYVERyYXdCdWZmZXJzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUEwMjQ1NzUx
MTZDRUFBMjcwMDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlBMzFDNEU0RDE2RTAyQUE2MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlBMzFDNEU1MjE2RTAyQjA4MDAyRjc5NTcgLyogSlNPRVNUZXh0dXJl
SGFsZkZsb2F0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3lt
ZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCmluZGV4
IDhhMzUwM2ExNDJkYmJmNDJmOGJiN2ZhODVlZWMxNmFhNzhkYjZkMzEuLmIyN2YyYjExNmUzZjMx
YTE4MjM2ZDhjMDcxZDEyYmQ4YmFmMzZmZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKQEAg
LTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJKU09FU0VsZW1lbnRJbmRleFVpbnQuaCIKICNpbmNs
dWRlICJKU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIKICNpbmNsdWRlICJKU09FU1RleHR1cmVG
bG9hdC5oIgorI2luY2x1ZGUgIkpTT0VTVGV4dHVyZUhhbGZGbG9hdC5oIgogI2luY2x1ZGUgIkpT
T0VTVmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJKU1VpbnQzMkFycmF5LmgiCiAjaW5j
bHVkZSAiSlNVaW50OEFycmF5LmgiCkBAIC02Myw2ICs2NCw3IEBACiAjaW5jbHVkZSAiT0VTRWxl
bWVudEluZGV4VWludC5oIgogI2luY2x1ZGUgIk9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIKICNp
bmNsdWRlICJPRVNUZXh0dXJlRmxvYXQuaCIKKyNpbmNsdWRlICJPRVNUZXh0dXJlSGFsZkZsb2F0
LmgiCiAjaW5jbHVkZSAiT0VTVmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJXZWJHTEJ1
ZmZlci5oIgogI2luY2x1ZGUgIldlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmgiCkBAIC0yMDQs
NiArMjA2LDggQEAgc3RhdGljIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFdlYkdMRXh0ZW4KICAgICAgICAgcmV0dXJuIHRvSlMo
ZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxPRVNTdGFuZGFyZERlcml2YXRpdmVzKj4o
ZXh0ZW5zaW9uKSk7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVGV4dHVyZUZsb2F0TmFt
ZToKICAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxP
RVNUZXh0dXJlRmxvYXQqPihleHRlbnNpb24pKTsKKyAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpP
RVNUZXh0dXJlSGFsZkZsb2F0TmFtZToKKyAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFs
T2JqZWN0LCBzdGF0aWNfY2FzdDxPRVNUZXh0dXJlSGFsZkZsb2F0Kj4oZXh0ZW5zaW9uKSk7CiAg
ICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVmVydGV4QXJyYXlPYmplY3ROYW1lOgogICAgICAg
ICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PE9FU1ZlcnRleEFy
cmF5T2JqZWN0Kj4oZXh0ZW5zaW9uKSk7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTRWxl
bWVudEluZGV4VWludE5hbWU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcApp
bmRleCBhMjY5OTRjZTBmMTA5ZTI0YmE1OGZmMTU4MjlhYzkxYTczNGQ5YmI5Li41YTdjYmE2OTIx
Nzc1M2RmOTViMWMyODFlYzY1YTA4MDJiMjgyYWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEN1c3RvbS5jcHAKQEAgLTUxLDYgKzUxLDcgQEAKICNpbmNsdWRlICJWOE9FU0VsZW1lbnRJ
bmRleFVpbnQuaCIKICNpbmNsdWRlICJWOE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIKICNpbmNs
dWRlICJWOE9FU1RleHR1cmVGbG9hdC5oIgorI2luY2x1ZGUgIlY4T0VTVGV4dHVyZUhhbGZGbG9h
dC5oIgogI2luY2x1ZGUgIlY4T0VTVmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJWOFVp
bnQxNkFycmF5LmgiCiAjaW5jbHVkZSAiVjhVaW50MzJBcnJheS5oIgpAQCAtMTkzLDYgKzE5NCwx
MCBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjhPYmplY3QoV2ViR0xFeHRlbnNp
b24qIGV4dGVuc2lvbiwgdjg6OkhhbmRsZTx2OAogICAgICAgICBleHRlbnNpb25PYmplY3QgPSB0
b1Y4KHN0YXRpY19jYXN0PE9FU1RleHR1cmVGbG9hdCo+KGV4dGVuc2lvbiksIGNvbnRleHRPYmpl
Y3QsIGlzb2xhdGUpOwogICAgICAgICByZWZlcmVuY2VOYW1lID0gIm9lc1RleHR1cmVGbG9hdE5h
bWUiOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNUZXh0dXJl
SGFsZkZsb2F0TmFtZToKKyAgICAgICAgZXh0ZW5zaW9uT2JqZWN0ID0gdG9WOChzdGF0aWNfY2Fz
dDxPRVNUZXh0dXJlSGFsZkZsb2F0Kj4oZXh0ZW5zaW9uKSwgY29udGV4dE9iamVjdCwgaXNvbGF0
ZSk7CisgICAgICAgIHJlZmVyZW5jZU5hbWUgPSAib2VzVGV4dHVyZUhhbGZGbG9hdE5hbWUiOwor
ICAgICAgICBicmVhazsKICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNWZXJ0ZXhBcnJheU9i
amVjdE5hbWU6CiAgICAgICAgIGV4dGVuc2lvbk9iamVjdCA9IHRvVjgoc3RhdGljX2Nhc3Q8T0VT
VmVydGV4QXJyYXlPYmplY3QqPihleHRlbnNpb24pLCBjb250ZXh0T2JqZWN0LCBpc29sYXRlKTsK
ICAgICAgICAgcmVmZXJlbmNlTmFtZSA9ICJvZXNWZXJ0ZXhBcnJheU9iamVjdE5hbWUiOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wYmRmMDE2ZjljMTBiOTFkZWM5NzI2MDM0YzU3ODQ1MWE2ZWUzODM4Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZG
bG9hdC5jcHAKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBNb3Rv
cm9sYSBNb2JpbGl0eSBMTEMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorCisjaWYgRU5BQkxFKFdFQkdMKQorCisjaW5jbHVkZSAiT0VTVGV4dHVyZUhhbGZG
bG9hdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK09FU1RleHR1cmVIYWxmRmxvYXQ6Ok9F
U1RleHR1cmVIYWxmRmxvYXQoV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0KQorICAgIDog
V2ViR0xFeHRlbnNpb24oY29udGV4dCkKK3sKK30KKworT0VTVGV4dHVyZUhhbGZGbG9hdDo6fk9F
U1RleHR1cmVIYWxmRmxvYXQoKQoreworfQorCitXZWJHTEV4dGVuc2lvbjo6RXh0ZW5zaW9uTmFt
ZSBPRVNUZXh0dXJlSGFsZkZsb2F0OjpnZXROYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gT0VT
VGV4dHVyZUhhbGZGbG9hdE5hbWU7Cit9CisKK1Bhc3NPd25QdHI8T0VTVGV4dHVyZUhhbGZGbG9h
dD4gT0VTVGV4dHVyZUhhbGZGbG9hdDo6Y3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29u
dGV4dCkKK3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IE9FU1RleHR1cmVIYWxmRmxvYXQoY29u
dGV4dCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
V0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJl
SGFsZkZsb2F0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZs
b2F0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDA5NzgxOTkwNThhZDkyN2FkMGI4MmJlYjAxY2Q1MjNkMDczNjkw
NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1
cmVIYWxmRmxvYXQuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEz
IE1vdG9yb2xhIE1vYmlsaXR5IExMQy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IE9FU1RleHR1cmVIYWxmRmxvYXRfaAorI2RlZmluZSBPRVNUZXh0dXJlSGFsZkZsb2F0X2gKKwor
I2luY2x1ZGUgIldlYkdMRXh0ZW5zaW9uLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBPRVNUZXh0dXJlSGFsZkZsb2F0IDogcHVi
bGljIFdlYkdMRXh0ZW5zaW9uIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxPRVNU
ZXh0dXJlSGFsZkZsb2F0PiBjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CisKKyAgICB2
aXJ0dWFsIH5PRVNUZXh0dXJlSGFsZkZsb2F0KCk7CisgICAgdmlydHVhbCBFeHRlbnNpb25OYW1l
IGdldE5hbWUoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBPRVNUZXh0dXJlSGFsZkZsb2F0KFdl
YkdMUmVuZGVyaW5nQ29udGV4dCopOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gT0VTVGV4dHVyZUhhbGZGbG9hdF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAzYTY3MjM0ZjA3
MjQ2ZjY3NWE0MGEzYjEzMWRhYzkxZmUyOTdhZTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbApAQCAtMCwwICsxLDMx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIE1vdG9yb2xhIE1vYmlsaXR5IExMQy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCR0wsCisgICAgSlNH
ZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxDb250ZXh0LAorICAgIE9taXRDb25zdHJ1Y3RvcgorXSBp
bnRlcmZhY2UgT0VTVGV4dHVyZUhhbGZGbG9hdCB7Cit9OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5z
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCmluZGV4
IDAzYzgzNmFjNDZiNzEyZjVjNTUwMjkwNjVkZmQ2MWUwNjM1NTk1YzkuLmFmYzRlNmFlYjM5ZGM1
MzQzNDBhMjYzZGI1NjNiNGMxOWE0YjJkZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xFeHRlbnNpb24uaApAQCAtMzksNiArMzksNyBAQCBwdWJsaWM6CiAgICAgICAgIEVY
VERyYXdCdWZmZXJzTmFtZSwKICAgICAgICAgRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljTmFt
ZSwKICAgICAgICAgT0VTVGV4dHVyZUZsb2F0TmFtZSwKKyAgICAgICAgT0VTVGV4dHVyZUhhbGZG
bG9hdE5hbWUsCiAgICAgICAgIE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXNOYW1lLAogICAgICAgICBP
RVNWZXJ0ZXhBcnJheU9iamVjdE5hbWUsCiAgICAgICAgIFdlYkdMRGVidWdSZW5kZXJlckluZm9O
YW1lLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5n
Q29udGV4dC5jcHAKaW5kZXggZGViNjRiMTAyNDFhMTRlODdmN2VlMmI0M2ExMzBhNmY2MGExMWQ1
NS4uNTk4OWNhMmUyN2IwZTIxYWI1NTE1NDQzODMyMTcxMGI0YTcxZjRjNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCkBA
IC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSAiT0VTRWxlbWVudEluZGV4VWludC5oIgogI2luY2x1
ZGUgIk9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIKICNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXQu
aCIKKyNpbmNsdWRlICJPRVNUZXh0dXJlSGFsZkZsb2F0LmgiCiAjaW5jbHVkZSAiT0VTVmVydGV4
QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94Lmgi
CkBAIC0yMzgyLDYgKzIzODMsMTQgQEAgV2ViR0xFeHRlbnNpb24qIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dDo6Z2V0RXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgfQogICAgICAg
ICByZXR1cm4gbV9vZXNUZXh0dXJlRmxvYXQuZ2V0KCk7CiAgICAgfQorICAgIGlmIChlcXVhbEln
bm9yaW5nQ2FzZShuYW1lLCAiT0VTX3RleHR1cmVfaGFsZl9mbG9hdCIpCisgICAgICAgICYmIG1f
Y29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLT5zdXBwb3J0cygiR0xfT0VTX3RleHR1cmVfaGFsZl9m
bG9hdCIpKSB7CisgICAgICAgIGlmICghbV9vZXNUZXh0dXJlSGFsZkZsb2F0KSB7CisgICAgICAg
ICAgICBtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS0+ZW5zdXJlRW5hYmxlZCgiR0xfT0VTX3Rl
eHR1cmVfaGFsZl9mbG9hdCIpOworICAgICAgICAgICAgbV9vZXNUZXh0dXJlSGFsZkZsb2F0ID0g
T0VTVGV4dHVyZUhhbGZGbG9hdDo6Y3JlYXRlKHRoaXMpOworICAgICAgICB9CisgICAgICAgIHJl
dHVybiBtX29lc1RleHR1cmVIYWxmRmxvYXQuZ2V0KCk7CisgICAgfQogICAgIGlmIChlcXVhbEln
bm9yaW5nQ2FzZShuYW1lLCAiT0VTX3ZlcnRleF9hcnJheV9vYmplY3QiKQogICAgICAgICAmJiBt
X2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS0+c3VwcG9ydHMoIkdMX09FU192ZXJ0ZXhfYXJyYXlf
b2JqZWN0IikpIHsKICAgICAgICAgaWYgKCFtX29lc1ZlcnRleEFycmF5T2JqZWN0KSB7CkBAIC0z
NzU3LDYgKzM3NjYsMTEgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleEltYWdlMkQo
R0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEZW51bQogdm9pZCBXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OnRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBH
QzNEZW51bSBpbnRlcm5hbGZvcm1hdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgSW1hZ2VEYXRhKiBwaXhlbHMs
IEV4Y2VwdGlvbkNvZGUmIGVjKQogeworICAgIC8vIFVwbG9hZGluZyBJbWFnZURhdGEgdG8gaGFs
ZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGlzIG5vdCBzdXBwb3J0ZWQgeWV0CisgICAgaWYgKHR5
cGUgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkhBTEZfRkxPQVRfT0VTKSB7CisgICAgICAgIHN5bnRo
ZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgInRleElt
YWdlMkQiLCAiT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQgeWV0Iik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CiAgICAgZWMgPSAwOwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkpCiAgICAgICAgIHJl
dHVybjsKQEAgLTM3ODgsNiArMzgwMiwxMiBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6
dGV4SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVtCiB2b2lk
IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0Rp
bnQgbGV2ZWwsIEdDM0RlbnVtIGludGVybmFsZm9ybWF0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBIVE1MSW1h
Z2VFbGVtZW50KiBpbWFnZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CisgICAgLy8gVXBsb2FkaW5n
IEltYWdlRWxlbWVudCB0byBoYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgaXMgbm90IHN1cHBv
cnRlZCB5ZXQKKyAgICBpZiAodHlwZSA9PSBHcmFwaGljc0NvbnRleHQzRDo6SEFMRl9GTE9BVF9P
RVMpIHsKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFM
SURfT1BFUkFUSU9OLCAidGV4SW1hZ2UyRCIsICJPcGVyYXRpb24gbm90IHN1cHBvcnRlZCB5ZXQi
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGVjID0gMDsKICAgICBpZiAoaXNDb250
ZXh0TG9zdCgpKQogICAgICAgICByZXR1cm47CkBAIC0zODA0LDYgKzM4MjQsMTIgQEAgdm9pZCBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50
IGxldmVsLCBHQzNEZW51bQogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleEltYWdlMkQo
R0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDM0RlbnVtIGZvcm1hdCwg
R0MzRGVudW0gdHlwZSwgSFRNTENhbnZhc0VsZW1lbnQqIGNhbnZhcywgRXhjZXB0aW9uQ29kZSYg
ZWMpCiB7CisgICAgLy8gVXBsb2FkaW5nIEhUTUxDYW52YXNFbGVtZW50IHRvIGhhbGYgZmxvYXRp
bmcgcG9pbnQgdGV4dHVyZSBpcyBub3Qgc3VwcG9ydGVkIHlldAorICAgIGlmICh0eXBlID09IEdy
YXBoaWNzQ29udGV4dDNEOjpIQUxGX0ZMT0FUX09FUykgeworICAgICAgICBzeW50aGVzaXplR0xF
cnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICJ0ZXhJbWFnZTJEIiwg
Ik9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIHlldCIpOworICAgICAgICByZXR1cm47CisgICAgfQor
CiAgICAgZWMgPSAwOwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkpCiAgICAgICAgIHJldHVybjsK
QEAgLTM4NjksNiArMzg5NSwxMiBAQCBQYXNzUmVmUHRyPEltYWdlPiBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OnZpZGVvRnJhbWVUb0ltYWdlKEhUTUxWaWRlb0VsZW1lbnQqIHZpZAogdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHQ6OnRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxl
dmVsLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgSFRNTFZpZGVvRWxl
bWVudCogdmlkZW8sIEV4Y2VwdGlvbkNvZGUmIGVjKQogeworICAgIC8vIFVwbG9hZGluZyBIVE1M
VmlkZW9FbGVtZW50IHRvIGhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBpcyBub3Qgc3VwcG9y
dGVkIHlldAorICAgIGlmICh0eXBlID09IEdyYXBoaWNzQ29udGV4dDNEOjpIQUxGX0ZMT0FUX09F
UykgeworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJ
RF9PUEVSQVRJT04sICJ0ZXhJbWFnZTJEIiwgIk9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIHlldCIp
OworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgZWMgPSAwOwogICAgIGlmIChpc0NvbnRl
eHRMb3N0KCkpCiAgICAgICAgIHJldHVybjsKQEAgLTQwMjAsNiArNDA1MiwxMiBAQCB2b2lkIFdl
YkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0Rp
bnQgbGV2ZWwsIEdDM0Rpbgogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdl
MkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IHhvZmZzZXQsIEdDM0Rp
bnQgeW9mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdD
M0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgSW1hZ2VEYXRhKiBwaXhlbHMsIEV4Y2VwdGlv
bkNvZGUmIGVjKQogeworICAgIC8vIFVwbG9hZGluZyBJbWFnZURhdGEgdG8gaGFsZiBmbG9hdGlu
ZyBwb2ludCB0ZXh0dXJlIGlzIG5vdCBzdXBwb3J0ZWQgeWV0CisgICAgaWYgKHR5cGUgPT0gR3Jh
cGhpY3NDb250ZXh0M0Q6OkhBTEZfRkxPQVRfT0VTKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVy
cm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgInRleFN1YkltYWdlMkQi
LCAiT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQgeWV0Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKICAgICBlYyA9IDA7CiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSkKICAgICAgICAgcmV0dXJu
OwpAQCAtNDA1MSw2ICs0MDg5LDExIEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhT
dWJJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGluCiB2b2lkIFdl
YkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0Rp
bnQgbGV2ZWwsIEdDM0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0
eXBlLCBIVE1MSW1hZ2VFbGVtZW50KiBpbWFnZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CisgICAg
Ly8gVXBsb2FkaW5nIEhUTUxJbWFnZUVsZW1lbnQgdG8gaGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0
dXJlIGlzIG5vdCBzdXBwb3J0ZWQgeWV0CisgICAgaWYgKHR5cGUgPT0gR3JhcGhpY3NDb250ZXh0
M0Q6OkhBTEZfRkxPQVRfT0VTKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNz
Q29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgInRleFN1YkltYWdlMkQiLCAiT3BlcmF0aW9u
IG5vdCBzdXBwb3J0ZWQgeWV0Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAgICAgZWMgPSAw
OwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkpCiAgICAgICAgIHJldHVybjsKQEAgLTQwNjYsNiAr
NDEwOSwxMiBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4U3ViSW1hZ2UyRChHQzNE
ZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0Rpbgogdm9pZCBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OnRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNE
aW50IHhvZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgSFRNTENhbnZh
c0VsZW1lbnQqIGNhbnZhcywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CisgICAgLy8gVXBsb2FkaW5n
IEhUTUxDYW52YXNFbGVtZW50IHRvIGhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBpcyBub3Qg
c3VwcG9ydGVkIHlldAorICAgIGlmICh0eXBlID09IEdyYXBoaWNzQ29udGV4dDNEOjpIQUxGX0ZM
T0FUX09FUykgeworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6
SU5WQUxJRF9PUEVSQVRJT04sICJ0ZXhTdWJJbWFnZTJEIiwgIk9wZXJhdGlvbiBub3Qgc3VwcG9y
dGVkIHlldCIpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgZWMgPSAwOwogICAgIGlm
IChpc0NvbnRleHRMb3N0KCkpCiAgICAgICAgIHJldHVybjsKQEAgLTQwOTIsNiArNDE0MSwxMiBA
QCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJn
ZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0Rpbgogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRl
eFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IHhvZmZz
ZXQsIEdDM0RpbnQgeW9mZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgSFRNTFZpZGVvRWxlbWVudCog
dmlkZW8sIEV4Y2VwdGlvbkNvZGUmIGVjKQogeworICAgIC8vIFVwbG9hZGluZyBIVE1MVmlkZW9F
bGVtZW50IHRvIGhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBpcyBub3Qgc3VwcG9ydGVkIHll
dAorICAgIGlmICh0eXBlID09IEdyYXBoaWNzQ29udGV4dDNEOjpIQUxGX0ZMT0FUX09FUykgewor
ICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVS
QVRJT04sICJ0ZXhTdWJJbWFnZTJEIiwgIk9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIHlldCIpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgZWMgPSAwOwogICAgIGlmIChpc0NvbnRleHRM
b3N0KCkpCiAgICAgICAgIHJldHVybjsKQEAgLTQ5ODAsNiArNTAzNSwxMSBAQCBib29sIFdlYkdM
UmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVUZXhGdW5jRm9ybWF0QW5kVHlwZShjb25zdCBjaGFy
KiBmdW5jdGlvbk5hbQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN5bnRoZXNpemVHTEVy
cm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX0VOVU0sIGZ1bmN0aW9uTmFtZSwgImludmFs
aWQgdGV4dHVyZSB0eXBlIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dDNEOjpIQUxGX0ZMT0FUX09FUzoKKyAgICAgICAgaWYgKG1fb2VzVGV4dHVyZUhh
bGZGbG9hdCkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihH
cmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNLCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIHRl
eHR1cmUgdHlwZSIpOworICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgY2FzZSBHcmFwaGljc0Nv
bnRleHQzRDo6VU5TSUdORURfSU5UOgogICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlVOU0lH
TkVEX0lOVF8yNF84OgogICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlVOU0lHTkVEX1NIT1JU
OgpAQCAtNDk5OCw3ICs1MDU4LDggQEAgYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlk
YXRlVGV4RnVuY0Zvcm1hdEFuZFR5cGUoY29uc3QgY2hhciogZnVuY3Rpb25OYW0KICAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpMVU1JTkFOQ0U6CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6TFVNSU5BTkNFX0FMUEhBOgogICAgICAgICBpZiAodHlwZSAhPSBHcmFwaGljc0NvbnRleHQz
RDo6VU5TSUdORURfQllURQotICAgICAgICAgICAgJiYgdHlwZSAhPSBHcmFwaGljc0NvbnRleHQz
RDo6RkxPQVQpIHsKKyAgICAgICAgICAgICYmIHR5cGUgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OkZM
T0FUCisgICAgICAgICAgICAmJiB0eXBlICE9IEdyYXBoaWNzQ29udGV4dDNEOjpIQUxGX0ZMT0FU
X09FUykgewogICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6
OklOVkFMSURfT1BFUkFUSU9OLCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIHR5cGUgZm9yIGZvcm1h
dCIpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CkBAIC01MDA2LDcgKzUw
NjcsOCBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVUZXhGdW5jRm9ybWF0
QW5kVHlwZShjb25zdCBjaGFyKiBmdW5jdGlvbk5hbQogICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
M0Q6OlJHQjoKICAgICAgICAgaWYgKHR5cGUgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OlVOU0lHTkVE
X0JZVEUKICAgICAgICAgICAgICYmIHR5cGUgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OlVOU0lHTkVE
X1NIT1JUXzVfNl81Ci0gICAgICAgICAgICAmJiB0eXBlICE9IEdyYXBoaWNzQ29udGV4dDNEOjpG
TE9BVCkgeworICAgICAgICAgICAgJiYgdHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6RkxPQVQK
KyAgICAgICAgICAgICYmIHR5cGUgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OkhBTEZfRkxPQVRfT0VT
KSB7CiAgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5W
QUxJRF9PUEVSQVRJT04sIGZ1bmN0aW9uTmFtZSwgImludmFsaWQgdHlwZSBmb3IgUkdCIGZvcm1h
dCIpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CkBAIC01MDE1LDcgKzUw
NzcsOCBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVUZXhGdW5jRm9ybWF0
QW5kVHlwZShjb25zdCBjaGFyKiBmdW5jdGlvbk5hbQogICAgICAgICBpZiAodHlwZSAhPSBHcmFw
aGljc0NvbnRleHQzRDo6VU5TSUdORURfQllURQogICAgICAgICAgICAgJiYgdHlwZSAhPSBHcmFw
aGljc0NvbnRleHQzRDo6VU5TSUdORURfU0hPUlRfNF80XzRfNAogICAgICAgICAgICAgJiYgdHlw
ZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfU0hPUlRfNV81XzVfMQotICAgICAgICAg
ICAgJiYgdHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6RkxPQVQpIHsKKyAgICAgICAgICAgICYm
IHR5cGUgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OkZMT0FUCisgICAgICAgICAgICAmJiB0eXBlICE9
IEdyYXBoaWNzQ29udGV4dDNEOjpIQUxGX0ZMT0FUX09FUykgewogICAgICAgICAgICAgc3ludGhl
c2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCBmdW5jdGlv
bk5hbWUsICJpbnZhbGlkIHR5cGUgZm9yIFJHQkEgZm9ybWF0Iik7CiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgIH0KQEAgLTUxODUsNiArNTI0OCwxNCBAQCBib29sIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVUZXhGdW5jRGF0YShjb25zdCBjaGFyKiBmdW5jdGlvbk5h
bWUsIEdDM0RpbgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAgICAg
IGJyZWFrOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkhBTEZfRkxPQVRfT0VTOiAvLyBP
RVNfdGV4dHVyZV9oYWxmX2Zsb2F0CisgICAgICAgIC8vIEFzIHBlciB0aGUgc3BlY2lmaWNhdGlv
biwgQXJyYXlCdWZmZXJWaWV3IHNob3VsZCBiZSBudWxsIHdoZW4KKyAgICAgICAgLy8gT0VTX3Rl
eHR1cmVfaGFsZl9mbG9hdCBpcyBlbmFibGVkLgorICAgICAgICBpZiAocGl4ZWxzKSB7CisgICAg
ICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVS
QVRJT04sIGZ1bmN0aW9uTmFtZSwgInR5cGUgSEFMRl9GTE9BVF9PRVMgYnV0IEFycmF5QnVmZmVy
VmlldyBpcyBub3QgTlVMTCIpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9
CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJpbmdDb250ZXh0LmgKaW5kZXggM2JjZTUzNDRkNGUwMGIwMmM4MTNhMzg0MDQ4MWVjZmU4NmEy
ZWQwZC4uZWNmOGNmZmY5OWFhZGNiNGZmZjdkN2ZiMWM1ZTUzOTBiMzJjMmNmNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgKQEAg
LTUxLDYgKzUxLDcgQEAgY2xhc3MgSW1hZ2VEYXRhOwogY2xhc3MgSW50U2l6ZTsKIGNsYXNzIE9F
U1N0YW5kYXJkRGVyaXZhdGl2ZXM7CiBjbGFzcyBPRVNUZXh0dXJlRmxvYXQ7CitjbGFzcyBPRVNU
ZXh0dXJlSGFsZkZsb2F0OwogY2xhc3MgT0VTVmVydGV4QXJyYXlPYmplY3Q7CiBjbGFzcyBPRVNF
bGVtZW50SW5kZXhVaW50OwogY2xhc3MgV2ViR0xBY3RpdmVJbmZvOwpAQCAtNTE3LDYgKzUxOCw3
IEBAIHB1YmxpYzoKICAgICBPd25QdHI8RVhURHJhd0J1ZmZlcnM+IG1fZXh0RHJhd0J1ZmZlcnM7
CiAgICAgT3duUHRyPEVYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYz4gbV9leHRUZXh0dXJlRmls
dGVyQW5pc290cm9waWM7CiAgICAgT3duUHRyPE9FU1RleHR1cmVGbG9hdD4gbV9vZXNUZXh0dXJl
RmxvYXQ7CisgICAgT3duUHRyPE9FU1RleHR1cmVIYWxmRmxvYXQ+IG1fb2VzVGV4dHVyZUhhbGZG
bG9hdDsKICAgICBPd25QdHI8T0VTU3RhbmRhcmREZXJpdmF0aXZlcz4gbV9vZXNTdGFuZGFyZERl
cml2YXRpdmVzOwogICAgIE93blB0cjxPRVNWZXJ0ZXhBcnJheU9iamVjdD4gbV9vZXNWZXJ0ZXhB
cnJheU9iamVjdDsKICAgICBPd25QdHI8T0VTRWxlbWVudEluZGV4VWludD4gbV9vZXNFbGVtZW50
SW5kZXhVaW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5pZGwKaW5kZXggYjRkNDg5ZGRlYzZkZGE0ZWM2NjE1NjQyZGM0ZGU0MmI3
NTI5Y2MyNi4uYzdhYzZmMWE0MDY0ZmMzMmEzYWUzOWY3ODA1MmE4NzkzYzRiMmI4NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQu
aWRsCkBAIC0xLDQgKzEsNCBAQAotLyoKKyAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTIzNyw2ICsy
MzcsNyBAQCB0eXBlZGVmIC8qdW5yZXN0cmljdGVkKi8gZmxvYXQgR0xjbGFtcGY7CiAgICAgY29u
c3QgR0xlbnVtIElOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MTQwNDsKICAgICBj
b25zdCBHTGVudW0gVU5TSUdORURfSU5UICAgICAgICAgICAgICAgICAgID0gMHgxNDA1OwogICAg
IGNvbnN0IEdMZW51bSBGTE9BVCAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDE0MDY7Cisg
ICAgY29uc3QgR0xlbnVtIEhBTEZfRkxPQVRfT0VTICAgICAgICAgICAgICAgICA9IDB4OEQ2MTsK
IAogICAgIC8qIFBpeGVsRm9ybWF0ICovCiAgICAgY29uc3QgR0xlbnVtIERFUFRIX0NPTVBPTkVO
VCAgICAgICAgICAgICAgICA9IDB4MTkwMjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRXh0ZW5zaW9uczNELmgKaW5kZXggYjAzM2JjZDczOTU2ZTI3MzgzYTVmNzQ1ZWJj
ODJjYThhNWQ2YWYyMy4uZDhkNzdhOTI3ZWVlOGM0NzE3NzMwMzIxMTdmZDQ2NDEyZWQ2NzZmOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNE
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmgK
QEAgLTUzLDYgKzUzLDcgQEAgcHVibGljOgogICAgIC8vICAgR0xfRVhUX3BhY2tlZF9kZXB0aF9z
dGVuY2lsIC8gR0xfT0VTX3BhY2tlZF9kZXB0aF9zdGVuY2lsCiAgICAgLy8gICBHTF9BTkdMRV9m
cmFtZWJ1ZmZlcl9ibGl0IC8gR0xfQU5HTEVfZnJhbWVidWZmZXJfbXVsdGlzYW1wbGUKICAgICAv
LyAgIEdMX09FU190ZXh0dXJlX2Zsb2F0CisgICAgLy8gICBHTF9PRVNfdGV4dHVyZV9oYWxmX2Zs
b2F0CiAgICAgLy8gICBHTF9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMKICAgICAvLyAgIEdMX09F
U19yZ2I4X3JnYmE4CiAgICAgLy8gICBHTF9PRVNfdmVydGV4X2FycmF5X29iamVjdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0Qu
Y3BwCmluZGV4IDRlMmU0MGQwZDZkZThhNDhmMWVjZmFkYjIxMWE0YzMyYjhmOGFhYzIuLjRiNWI5
ZmQ0ZTI2NzE4NDg3NmFhNjI5YjI2MDVkYzBkZTM1YzU0NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5jcHAKQEAgLTE3
Niw2ICsxNzYsOSBAQCBib29sIEdyYXBoaWNzQ29udGV4dDNEOjpjb21wdXRlRm9ybWF0QW5kVHlw
ZVBhcmFtZXRlcnMoR0MzRGVudW0gZm9ybWF0LAogICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OkZMT0FUOiAvLyBPRVNfdGV4dHVyZV9mbG9hdAogICAgICAgICAqYnl0ZXNQZXJDb21wb25lbnQg
PSBzaXplb2YoR0MzRGZsb2F0KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBHcmFwaGljc0Nv
bnRleHQzRDo6SEFMRl9GTE9BVF9PRVM6IC8vIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQKKyAgICAg
ICAgKmJ5dGVzUGVyQ29tcG9uZW50ID0gc2l6ZW9mKEdDM0RoYWxmZmxvYXQpOworICAgICAgICBi
cmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0Qu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgK
aW5kZXggNjQ5ZDUwNDE4MzkzN2Q0ZDNjODhhZWJlMjY5ZGMwOTQxZDYwZTg1ZS4uZTEyMjhlZmE5
Zjg5Y2QxM2QyOTUwNTg2ZDlkMTEyYWNmMGJlNGVjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCkBAIC0yNTEsNiArMjUx
LDcgQEAgcHVibGljOgogICAgICAgICBJTlQgPSAweDE0MDQsCiAgICAgICAgIFVOU0lHTkVEX0lO
VCA9IDB4MTQwNSwKICAgICAgICAgRkxPQVQgPSAweDE0MDYsCisgICAgICAgIEhBTEZfRkxPQVRf
T0VTID0gMHg4RDYxLAogICAgICAgICBGSVhFRCA9IDB4MTQwQywKICAgICAgICAgREVQVEhfQ09N
UE9ORU5UID0gMHgxOTAyLAogICAgICAgICBBTFBIQSA9IDB4MTkwNiwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMzRC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlczNELmgKaW5kZXggMjAzYTNm
ZDhhYWI0NWMyNjEwZWM1OGIwNzVlNjVjOWViY2RmMjk3My4uMWZhOGVhYWIxN2UwNWMzMWRkOTFm
ZjhlNTVlNGI2YjA4NGUxNjA0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NUeXBlczNELmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NUeXBlczNELmgKQEAgLTQxLDYgKzQxLDcgQEAgdHlwZWRlZiBpbnQg
R0MzRGludDsKIHR5cGVkZWYgaW50IEdDM0RzaXplaTsKIHR5cGVkZWYgdW5zaWduZWQgaW50IEdD
M0R1aW50OwogdHlwZWRlZiBmbG9hdCBHQzNEZmxvYXQ7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0
IEdDM0RoYWxmZmxvYXQ7CiB0eXBlZGVmIGZsb2F0IEdDM0RjbGFtcGY7CiB0eXBlZGVmIGludHB0
cl90IEdDM0RpbnRwdHI7CiB0eXBlZGVmIGludHB0cl90IEdDM0RzaXplaXB0cjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRl
eHQzRE9wZW5HTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wv
R3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwCmluZGV4IDVjMmZhYmMxY2I5MjQyYTBjMjBiYzc1
YTdlMDAyMGM3NmE3NjU2NWMuLjYwNWM0ZGFlZWVlZDJhNTNlNzhhNjllMThhZjEwODA0OGQ5ZGVi
ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9H
cmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcApAQCAtMjU2LDggKzI1
NiwxOSBAQCBib29sIEdyYXBoaWNzQ29udGV4dDNEOjp0ZXhJbWFnZTJEKEdDM0RlbnVtIHRhcmdl
dCwgR0MzRGludCBsZXZlbCwgR0MzRGVudW0gaW50ZQogICAgICAgICAgICAgb3BlbkdMSW50ZXJu
YWxGb3JtYXQgPSBHTF9SR0JBMzJGX0FSQjsKICAgICAgICAgZWxzZSBpZiAoZm9ybWF0ID09IEdM
X1JHQikKICAgICAgICAgICAgIG9wZW5HTEludGVybmFsRm9ybWF0ID0gR0xfUkdCMzJGX0FSQjsK
KyAgICB9IGVsc2UgaWYgKHR5cGUgPT0gSEFMRl9GTE9BVF9PRVMpIHsKKyAgICAgICAgaWYgKGZv
cm1hdCA9PSBHTF9SR0JBKQorICAgICAgICAgICAgb3BlbkdMSW50ZXJuYWxGb3JtYXQgPSBHTF9S
R0JBMTZGX0FSQjsKKyAgICAgICAgZWxzZSBpZiAoZm9ybWF0ID09IEdMX1JHQikKKyAgICAgICAg
ICAgIG9wZW5HTEludGVybmFsRm9ybWF0ID0gR0xfUkdCMTZGX0FSQjsKKyAgICAgICAgZWxzZSBp
ZiAoZm9ybWF0ID09IEdMX0xVTUlOQU5DRSkKKyAgICAgICAgICAgIG9wZW5HTEludGVybmFsRm9y
bWF0ID0gR0xfTFVNSU5BTkNFMTZGX0FSQjsKKyAgICAgICAgZWxzZSBpZiAoZm9ybWF0ID09IEdM
X0FMUEhBKQorICAgICAgICAgICAgb3BlbkdMSW50ZXJuYWxGb3JtYXQgPSBHTF9BTFBIQTE2Rl9B
UkI7CisgICAgICAgIGVsc2UgaWYgKGZvcm1hdCA9PSBHTF9MVU1JTkFOQ0VfQUxQSEEpCisgICAg
ICAgICAgICBvcGVuR0xJbnRlcm5hbEZvcm1hdCA9IEdMX0xVTUlOQU5DRV9BTFBIQTE2Rl9BUkI7
CisgICAgICAgIHR5cGUgPSBGTE9BVDsKICAgICB9Ci0KICAgICB0ZXhJbWFnZTJERGlyZWN0KHRh
cmdldCwgbGV2ZWwsIG9wZW5HTEludGVybmFsRm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBib3JkZXIs
IGZvcm1hdCwgdHlwZSwgcGl4ZWxzKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NTRl
N2Q3NjZkZTIzNTBlOTY0YWY2MWQ2Y2YxNjYwYWJiYjczMDY0Li5lZjA4YmEzYTFkMTM2YTdhMmZm
NWFlOGE0ZGU5ODE3MGNhZTk3MWRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTMtMDItMjgg
IE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBbV2ViR0xd
IFN1cHBvcnQgZm9yIHRleEltYWdlMkQgb2YgdHlwZSBIQUxGX0ZMT0FUX09FUyB3aXRoIEFycmF5
QnVmZmVyVmlldy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExMDgxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFzIHBlciBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IHNwZWNpZmljYXRpb24gdGV4SW1hZ2Uy
RCBhbmQgdGV4U3ViSW1hZ2UyRCBlbnRyeQorICAgICAgICBwb2ludHMgdGFraW5nIEFycmF5QnVm
ZmVyVmlldyBzaG91bGQgZXh0ZW5kZWQgdG8gYWNjZXB0IG51bGwgd2l0aCB0aGUgcGl4ZWwgdHlw
ZQorICAgICAgICBIQUxGX0ZMT0FUX09FUy4KKworICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmds
L2NvbnN0YW50cy5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJl
LWhhbGYtZmxvYXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93
ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LW5vdC1zdXBwb3J0ZWQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0
LW5vdC1zdXBwb3J0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wv
b2VzLXRleHR1cmUtaGFsZi1mbG9hdC5odG1sOiBBZGRlZC4KKwogMjAxMy0wMi0yOCAgUnlvc3Vr
ZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgYSBmbGFreSBmYWlsdXJl
IGV4cGVjdGF0aW9uIHRvIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2UtcmVxdWVzdC1jb250ZW50LXdoaWxlLWxvYWRpbmcuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY29uc3RhbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9jb25zdGFudHMuaHRtbAppbmRleCA3NWMwOTAzMWZhZDllYjRmNjJlMzIy
NTRjNTE3NDYyNTYzMDM0YzFjLi44YjZiYzk0YmY2NDU2ODEzZjFhYTNjMDg1Mzc3YjkyOGI3ZjYz
NDA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb25zdGFudHMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb25zdGFudHMuaHRtbApA
QCAtMjEyLDYgKzIxMiw3IEBAIFVOU0lHTkVEX1NIT1JUICAgICAgICAgICAgICAgICA6IDB4MTQw
MywKIElOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDB4MTQwNCwKIFVOU0lHTkVEX0lO
VCAgICAgICAgICAgICAgICAgICA6IDB4MTQwNSwKIEZMT0FUICAgICAgICAgICAgICAgICAgICAg
ICAgICA6IDB4MTQwNiwKK0hBTEZfRkxPQVRfT0VTICAgICAgICAgICAgICAgICA6IDB4OEQ2MSwK
ICAgICAKICAgICAvKiBQaXhlbEZvcm1hdCAqLwogREVQVEhfQ09NUE9ORU5UICAgICAgICAgICAg
ICAgIDogMHgxOTAyLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
b2VzLXRleHR1cmUtaGFsZi1mbG9hdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iZmM5NjVmZDg0NjVlYmJhMzlkZGQzYmNhOTYyMzcwNjYwZTE2MjU0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtaGFsZi1mbG9h
dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4NCBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBm
dW5jdGlvbmFsaXR5IG9mIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQgd2l0aCBudWxsL25vbi1udWxs
IEFycmF5QnVmZmVyVmlldworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBX
ZWJHTCBjb250ZXh0IGV4aXN0cworVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5z
aW9uIGRpc2FibGVkLCBmb3JtYXQgUkdCQSwgYW5kIGRhdGEgbnVsbC4gRXhwZWN0IEZhaWx1cmUK
K1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFy
YW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogSU5WQUxJRF9FTlVNIDogSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIG11c3QgYmUg
ZGlhbGxvd2VkIGlmIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQgaXNuJ3QgZW5hYmxlZAorUEFTUyBT
dWNjZXNzZnVsbHkgZW5hYmxlZCBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGV4dGVuc2lvbgorVGVz
dGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBSR0JB
LCBhbmQgZGF0YSBudWxsLiBFeHBlY3QgU3VjY2VzcworUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2Nl
ZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IEhhbGYgZmxv
YXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIHNob3VsZCBzdWNjZWVkIGlmIE9FU190ZXh0
dXJlX2hhbGZfZmxvYXQgaXMgZW5hYmxlZAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGgg
ZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBSR0IsIGFuZCBkYXRhIG51bGwuIEV4cGVjdCBTdWNj
ZXNzCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJl
IHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRp
b24gc2hvdWxkIHN1Y2NlZWQgaWYgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBpcyBlbmFibGVkCitU
ZXN0aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IExV
TUlOQU5DRSwgYW5kIGRhdGEgbnVsbC4gRXhwZWN0IFN1Y2Nlc3MKK1BBU1MgZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3Vs
ZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBI
YWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBzaG91bGQgc3VjY2VlZCBpZiBP
RVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGlzIGVuYWJsZWQKK1Rlc3RpbmcgdGV4dHVyZSBjcmVhdGlv
biB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQgQUxQSEEsIGFuZCBkYXRhIG51bGwuIEV4
cGVjdCBTdWNjZXNzCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJl
IGFsbG9jYXRpb24gc2hvdWxkIHN1Y2NlZWQgaWYgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBpcyBl
bmFibGVkCitUZXN0aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwg
Zm9ybWF0IExVTUlOQU5DRV9BTFBIQSwgYW5kIGRhdGEgbnVsbC4gRXhwZWN0IFN1Y2Nlc3MKK1BB
U1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1l
dGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBzaG91
bGQgc3VjY2VlZCBpZiBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGlzIGVuYWJsZWQKK1Rlc3Rpbmcg
dGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQgUkdCQSwgYW5k
IGRhdGEgbm9uLW51bGwuIEV4cGVjdCBGYWlsdXJlCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2Vl
ZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDog
SGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gbXVzdCBiZSBkaWFsbG93ZWQg
d2hlbiBBcnJheUJ1ZmZlclZpZXcgaXMgbm90LW51bGwKK1Rlc3RpbmcgdGV4dHVyZSBjcmVhdGlv
biB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQgUkdCQSwgYW5kIGRhdGEgbm9uLW51bGwu
IEV4cGVjdCBGYWlsdXJlCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogSGFsZiBmbG9hdGluZyBw
b2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gbXVzdCBiZSBkaWFsbG93ZWQgd2hlbiBBcnJheUJ1ZmZl
clZpZXcgaXMgbm90LW51bGwKK1Rlc3RpbmcgdGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lv
biBlbmFibGVkLCBmb3JtYXQgUkdCQSwgYW5kIGRhdGEgbm9uLW51bGwuIEV4cGVjdCBGYWlsdXJl
CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBh
cmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGFs
bG9jYXRpb24gbXVzdCBiZSBkaWFsbG93ZWQgd2hlbiBBcnJheUJ1ZmZlclZpZXcgaXMgbm90LW51
bGwKK1Rlc3RpbmcgdGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3Jt
YXQgUkdCLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNo
b3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9P
UEVSQVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJl
IGRpYWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAorVGVzdGluZyB0ZXh0
dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBSR0IsIGFuZCBkYXRh
IG5vbi1udWxsLiBFeHBlY3QgRmFpbHVyZQorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BB
U1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IEhhbGYg
ZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIG11c3QgYmUgZGlhbGxvd2VkIHdoZW4g
QXJyYXlCdWZmZXJWaWV3IGlzIG5vdC1udWxsCitUZXN0aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0
aCBleHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IFJHQiwgYW5kIGRhdGEgbm9uLW51bGwuIEV4cGVj
dCBGYWlsdXJlCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0
ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogSGFsZiBmbG9hdGluZyBwb2ludCB0
ZXh0dXJlIGFsbG9jYXRpb24gbXVzdCBiZSBkaWFsbG93ZWQgd2hlbiBBcnJheUJ1ZmZlclZpZXcg
aXMgbm90LW51bGwKK1Rlc3RpbmcgdGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFi
bGVkLCBmb3JtYXQgTFVNSU5BTkNFLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1cmUK
K1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFy
YW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxs
b2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3QtbnVs
bAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1h
dCBMVU1JTkFOQ0UsIGFuZCBkYXRhIG5vbi1udWxsLiBFeHBlY3QgRmFpbHVyZQorUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0
dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZB
TElEX09QRVJBVElPTiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIG11
c3QgYmUgZGlhbGxvd2VkIHdoZW4gQXJyYXlCdWZmZXJWaWV3IGlzIG5vdC1udWxsCitUZXN0aW5n
IHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IExVTUlOQU5D
RSwgYW5kIGRhdGEgbm9uLW51bGwuIEV4cGVjdCBGYWlsdXJlCitQQVNTIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQg
c3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFU
SU9OIDogSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gbXVzdCBiZSBkaWFs
bG93ZWQgd2hlbiBBcnJheUJ1ZmZlclZpZXcgaXMgbm90LW51bGwKK1Rlc3RpbmcgdGV4dHVyZSBj
cmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQgQUxQSEEsIGFuZCBkYXRhIG5v
bi1udWxsLiBFeHBlY3QgRmFpbHVyZQorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1Mg
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IEhhbGYgZmxv
YXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIG11c3QgYmUgZGlhbGxvd2VkIHdoZW4gQXJy
YXlCdWZmZXJWaWV3IGlzIG5vdC1udWxsCitUZXN0aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBl
eHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IEFMUEhBLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0
IEZhaWx1cmUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRl
eHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRl
eHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBp
cyBub3QtbnVsbAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJs
ZWQsIGZvcm1hdCBBTFBIQSwgYW5kIGRhdGEgbm9uLW51bGwuIEV4cGVjdCBGYWlsdXJlCitQQVNT
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRl
ciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IElOVkFMSURfT1BFUkFUSU9OIDogSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRp
b24gbXVzdCBiZSBkaWFsbG93ZWQgd2hlbiBBcnJheUJ1ZmZlclZpZXcgaXMgbm90LW51bGwKK1Rl
c3RpbmcgdGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQgTFVN
SU5BTkNFX0FMUEhBLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNl
dHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5W
QUxJRF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBt
dXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAorVGVzdGlu
ZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBMVU1JTkFO
Q0VfQUxQSEEsIGFuZCBkYXRhIG5vbi1udWxsLiBFeHBlY3QgRmFpbHVyZQorUEFTUyBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAg
c2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElE
X09QRVJBVElPTiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIG11c3Qg
YmUgZGlhbGxvd2VkIHdoZW4gQXJyYXlCdWZmZXJWaWV3IGlzIG5vdC1udWxsCitUZXN0aW5nIHRl
eHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IExVTUlOQU5DRV9B
TFBIQSwgYW5kIGRhdGEgbm9uLW51bGwuIEV4cGVjdCBGYWlsdXJlCitQQVNTIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91
bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BF
UkFUSU9OIDogSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gbXVzdCBiZSBk
aWFsbG93ZWQgd2hlbiBBcnJheUJ1ZmZlclZpZXcgaXMgbm90LW51bGwKKworVGVzdGluZyBoYWxm
IGZsb2F0aW5nIHBvaW50IHJlbmRlciB0YXJnZXQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVk
CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBIYWxmIGZsb2F0
aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBzaG91bGQgc3VjY2VlZCBpZiBPRVNfdGV4dHVy
ZV9oYWxmX2Zsb2F0IGlzIGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IFJlbmRlcmluZyB0byBoYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgc2hv
dWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IHJlbmRlcmluZyBmcm9tIGhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBzaG91bGQgc3VjY2Vl
ZAorUEFTUyBzaG91bGQgYmUgZ3JlZW4KK1Rlc3RpbmcgdGhhdCBnZXRFeHRlbnNpb24oKSByZXR1
cm5zIHRoZSBzYW1lIG9iamVjdCBlYWNoIHRpbWUKK1BBU1MgZ2wuZ2V0RXh0ZW5zaW9uKCJPRVNf
dGV4dHVyZV9oYWxmX2Zsb2F0IikubXlQcm9wZXJ0eSBpcyAyCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LW5vdC1zdXBwb3J0ZWQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUt
aGFsZi1mbG9hdC1ub3Qtc3VwcG9ydGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ODhhYzZl
OWQxMmE3YjJlMjhjMDQ3Y2U2YjA4NDFmNzZhZmE1OTY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtaGFsZi1mbG9hdC1ub3Qtc3Vw
cG9ydGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQxIEBACitUZXN0aW5nIG5vdCB5ZXQgc3Vw
cG9ydGVkIHRleHR1cmUgdXBsb2FkcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
CitOb3QgaW5pdGluZworUEFTUyBXZWJHTCBjb250ZXh0IGV4aXN0cworUEFTUyBTdWNjZXNzZnVs
bHkgZW5hYmxlZCBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGV4dGVuc2lvbgorCitWZXJpZnkgd2hl
dGhlciB1cGxvYWRpbmcgSW1hZ2VEYXRhIHZpYSB0ZXhJbWFnZTJEL3RleFN1YkltYWdlMkQgaXMg
c3VwcG9ydGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0
ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogVXBsb2FkaW5nIHRvIGhhbGYgZmxv
YXQgdGV4dHVyZSBpcyBub3QgeWV0IHN1cHBvcnRlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogVXBsb2FkaW5nIG51bGwgQXJyYXlCdWZmZXJWaWV3IHRvIGhh
bGYgZmxvYXQgdGV4dHVyZSBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogVXBsb2FkaW5nIHRvIGhhbGYgZmxvYXQgdGV4
dHVyZSB1c2luZyB0ZXhTdWJJbWFnZTJEIGlzIG5vdCBzdXBwb3J0ZWQgeWV0CisKK1ZlcmlmeSB3
aGV0aGVyIHVwbG9hZGluZyBIVE1MSW1hZ2VFbGVtZW50IHZpYSB0ZXhJbWFnZTJEL3RleFN1Yklt
YWdlMkQgaXMgc3VwcG9ydGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogVXBsb2FkaW5nIHRv
IGhhbGYgZmxvYXQgdGV4dHVyZSBpcyBub3QgeWV0IHN1cHBvcnRlZAorUEFTUyBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogVXBsb2FkaW5nIG51bGwgQXJyYXlCdWZmZXJW
aWV3IHRvIGhhbGYgZmxvYXQgdGV4dHVyZSBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogVXBsb2FkaW5nIHRvIGhhbGYg
ZmxvYXQgdGV4dHVyZSB1c2luZyB0ZXhTdWJJbWFnZTJEIGlzIG5vdCBzdXBwb3J0ZWQgeWV0CisK
K1ZlcmlmeSB3aGV0aGVyIHVwbG9hZGluZyBIVE1MQ2FudmFzRWxlbWVudCB2aWEgdGV4SW1hZ2Uy
RC90ZXhTdWJJbWFnZTJEIGlzIHN1cHBvcnRlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2NlZWQK
K1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IFVw
bG9hZGluZyB0byBoYWxmIGZsb2F0IHRleHR1cmUgaXMgbm90IHlldCBzdXBwb3J0ZWQKK1BBU1Mg
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFVwbG9hZGluZyBudWxsIEFy
cmF5QnVmZmVyVmlldyB0byBoYWxmIGZsb2F0IHRleHR1cmUgc2hvdWxkIHN1Y2NlZWQKK1BBU1Mg
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IFVwbG9hZGlu
ZyB0byBoYWxmIGZsb2F0IHRleHR1cmUgdXNpbmcgdGV4U3ViSW1hZ2UyRCBpcyBub3Qgc3VwcG9y
dGVkIHlldAorCitWZXJpZnkgd2hldGhlciB1cGxvYWRpbmcgSFRNTFZpZGVvRWxlbWVudCB2aWEg
dGV4SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1cHBvcnRlZAorCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNj
ZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04g
OiBVcGxvYWRpbmcgdG8gaGFsZiBmbG9hdCB0ZXh0dXJlIGlzIG5vdCB5ZXQgc3VwcG9ydGVkCitQ
QVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBVcGxvYWRpbmcgbnVs
bCBBcnJheUJ1ZmZlclZpZXcgdG8gaGFsZiBmbG9hdCB0ZXh0dXJlIHNob3VsZCBzdWNjZWVkCitQ
QVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBVcGxv
YWRpbmcgdG8gaGFsZiBmbG9hdCB0ZXh0dXJlIHVzaW5nIHRleFN1YkltYWdlMkQgaXMgbm90IHN1
cHBvcnRlZCB5ZXQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRl
eHR1cmUtaGFsZi1mbG9hdC1ub3Qtc3VwcG9ydGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LW5vdC1zdXBwb3J0ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43ZTliODAyYzRkODBiNTJhODY1NDQ3NmNiMTEyZTlmNjEyYWI2YmFkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtaGFs
Zi1mbG9hdC1ub3Qtc3VwcG9ydGVkLmh0bWwKQEAgLTAsMCArMSwxNjkgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IG5vdCB5ZXQgaW1wbGVtZW50ZWQgQ29uZm9ybWFuY2Ug
VGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGVza3Rv
cC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8Y2FudmFzIGlkPSJ0ZXhjYW52YXMiIHdpZHRoPSIxIiBoZWlnaHQ9IjIiPjwvY2FudmFz
PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0aW5nIG5vdCB5ZXQgc3VwcG9ydGVkIHRleHR1
cmUgdXBsb2FkcyIpOworZGVidWcoIiIpOworCitpZiAod2luZG93LmluaXROb25LaHJvbm9zRnJh
bWV3b3JrKSB7CisgICAgd2luZG93LmluaXROb25LaHJvbm9zRnJhbWV3b3JrKHRydWUpOworfQor
CitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7CisKK3ZhciB3dHUgPSBXZWJHTFRl
c3RVdGlsczsKK3ZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7
Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7Cit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gZmFsc2U7CisKK2lmICghZ2wpIHsKKyAgICB0ZXN0RmFpbGVkKCJXZWJHTCBjb250
ZXh0IGRvZXMgbm90IGV4aXN0cyIpOworfSBlbHNlIHsKKyAgICB0ZXN0UGFzc2VkKCJXZWJHTCBj
b250ZXh0IGV4aXN0cyIpOworCisgICAgaWYoIWdsLmdldEV4dGVuc2lvbigiT0VTX3RleHR1cmVf
aGFsZl9mbG9hdCIpKSB7CisgICAgICAgIHRlc3RQYXNzZWQoIk5vIE9FU190ZXh0dXJlX2hhbGZf
ZmxvYXQgc3VwcG9ydC4gVGhpcyBpcyBsZWdhbCIpOworICAgIH0gZWxzZSB7CisgICAgICAgIHRl
c3RQYXNzZWQoIlN1Y2Nlc3NmdWxseSBlbmFibGVkIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQgZXh0
ZW5zaW9uIik7CisgICAgICAgIAorICAgICAgICB2YXIgY2FudmFzMmQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGV4Y2FudmFzIik7CisgICAgICAgIHZhciBjb250ZXh0MmQgPSBjYW52YXMy
ZC5nZXRDb250ZXh0KCIyZCIpOworCisgICAgICAgIHJ1bkltYWdlRGF0YVVuc3VwcG9ydGVkVGVz
dChjYW52YXMyZCwgY29udGV4dDJkKTsKKyAgICAgICAgcnVuSFRNTEltYWdlRWxlbWVudFVuc3Vw
cG9ydGVkVGVzdChjYW52YXMyZCwgY29udGV4dDJkKTsKKyAgICAgICAgcnVuSFRNTENhbnZhc0Vs
ZW1lbnRVbnN1cHBvcnRlZFRlc3QoY2FudmFzMmQsIGNvbnRleHQyZCk7CisgICAgICAgIHJ1bkhU
TUxWaWRlb0VsZW1lbnRVbnN1cHBvcnRlZFRlc3QoY2FudmFzMmQsIGNvbnRleHQyZCk7CisgICAg
fQorfQorCitmdW5jdGlvbiBhbGxvY2F0ZVRleHR1cmUoKQoreworICAgIHZhciB0ZXh0dXJlID0g
Z2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRl
eHR1cmUpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9N
SU5fRklMVEVSLCBnbC5ORUFSRVNUKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVf
MkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CisgICAgZ2wudGV4UGFyYW1l
dGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUywgZ2wuQ0xBTVBfVE9fRURHRSk7
CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfVCwg
Z2wuQ0xBTVBfVE9fRURHRSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwg
InRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkIik7CisgICAgcmV0dXJuIHRl
eHR1cmU7Cit9CisKK2Z1bmN0aW9uIHJ1blRleHR1cmVVcGxvYWRUZXN0KGltYWdlKQoreworICAg
IHZhciB0ZXh0dXJlID0gYWxsb2NhdGVUZXh0dXJlKCk7CisgICAgZ2wudGV4SW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5IQUxGX0ZMT0FUX09FUywgaW1hZ2Up
OworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJVcGxvYWRp
bmcgdG8gaGFsZiBmbG9hdCB0ZXh0dXJlIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIik7CisKKyAgICAv
LyBDaGVjayBpZiB1cGxvYWRpbmcgSW1hZ2VEYXRhIHZpYSB0ZXhTdWJJbWFnZTJEIGlzIHN1cHBv
cnRlZAorICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMSwgMiwg
MCwgZ2wuUkdCQSwgZ2wuSEFMRl9GTE9BVF9PRVMsIG51bGwpOworICAgIGdsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuTk9fRVJST1IsICJVcGxvYWRpbmcgbnVsbCBBcnJheUJ1ZmZlclZpZXcgdG8gaGFs
ZiBmbG9hdCB0ZXh0dXJlIHNob3VsZCBzdWNjZWVkIik7CisgICAgZ2wudGV4U3ViSW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5IQUxGX0ZMT0FUX09FUywgaW1hZ2Up
OworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJVcGxvYWRp
bmcgdG8gaGFsZiBmbG9hdCB0ZXh0dXJlIHVzaW5nIHRleFN1YkltYWdlMkQgaXMgbm90IHN1cHBv
cnRlZCB5ZXQiKTsKK30KKworZnVuY3Rpb24gcnVuSW1hZ2VEYXRhVW5zdXBwb3J0ZWRUZXN0KGNh
bnZhczJkLCBjb250ZXh0MmQpCit7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJWZXJpZnkg
d2hldGhlciB1cGxvYWRpbmcgSW1hZ2VEYXRhIHZpYSB0ZXhJbWFnZTJEL3RleFN1YkltYWdlMkQg
aXMgc3VwcG9ydGVkIik7CisgICAgCisgICAgLy8gQ2hlY2sgaWYgdXBsb2FkaW5nIEltYWdlRGF0
YSB2aWEgdGV4SW1hZ2UyRCBpcyBzdXBwb3J0ZWQKKyAgICB2YXIgaW1hZ2VEYXRhID0gY29udGV4
dDJkLmNyZWF0ZUltYWdlRGF0YSgxLCAyKTsKKyAgICB2YXIgZGF0YSA9IGltYWdlRGF0YS5kYXRh
OworICAgIGRhdGFbMF0gPSAyNTU7CisgICAgZGF0YVsxXSA9IDA7CisgICAgZGF0YVsyXSA9IDA7
CisgICAgZGF0YVszXSA9IDI1NTsKKyAgICBkYXRhWzRdID0gMDsKKyAgICBkYXRhWzVdID0gMjU1
OworICAgIGRhdGFbNl0gPSAwOworICAgIGRhdGFbN10gPSAwOworCisgICAgcnVuVGV4dHVyZVVw
bG9hZFRlc3QoaW1hZ2VEYXRhKTsgICAgCit9CisKK2Z1bmN0aW9uIHJ1bkhUTUxJbWFnZUVsZW1l
bnRVbnN1cHBvcnRlZFRlc3QoY2FudmFzMmQsIGNvbnRleHQyZCkKK3sKKyAgICBkZWJ1ZygiIik7
CisgICAgZGVidWcoIlZlcmlmeSB3aGV0aGVyIHVwbG9hZGluZyBIVE1MSW1hZ2VFbGVtZW50IHZp
YSB0ZXhJbWFnZTJEL3RleFN1YkltYWdlMkQgaXMgc3VwcG9ydGVkIik7CisKKyAgICB2YXIgaW1h
Z2VEYXRhID0gY29udGV4dDJkLmNyZWF0ZUltYWdlRGF0YSgxLCAyKTsKKyAgICB2YXIgZGF0YSA9
IGltYWdlRGF0YS5kYXRhOworICAgIGRhdGFbMF0gPSAyNTU7CisgICAgZGF0YVsxXSA9IDA7Cisg
ICAgZGF0YVsyXSA9IDA7CisgICAgZGF0YVszXSA9IDI1NTsKKyAgICBkYXRhWzRdID0gMDsKKyAg
ICBkYXRhWzVdID0gMjU1OworICAgIGRhdGFbNl0gPSAwOworICAgIGRhdGFbN10gPSAwOworICAg
IGNvbnRleHQyZC5wdXRJbWFnZURhdGEoaW1hZ2VEYXRhLCAwLCAwKTsKKworICAgIHZhciBuZXdJ
bWFnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOworICAgIG5ld0ltYWdlLnNyYyA9
IGNhbnZhczJkLnRvRGF0YVVSTCgpOworICAgIHJ1blRleHR1cmVVcGxvYWRUZXN0KG5ld0ltYWdl
KTsKK30KKworZnVuY3Rpb24gc2V0Q2FudmFzVG9SZWRHcmVlbihjdHgpIHsKKyAgICB2YXIgd2lk
dGggPSBjdHguY2FudmFzLndpZHRoOworICAgIHZhciBoZWlnaHQgPSBjdHguY2FudmFzLmhlaWdo
dDsKKyAgICB2YXIgaGFsZkhlaWdodCA9IE1hdGguZmxvb3IoaGVpZ2h0IC8gMik7CisgICAgY3R4
LmZpbGxTdHlsZSA9ICIjZmYwMDAwIjsKKyAgICBjdHguZmlsbFJlY3QoMCwgMCwgd2lkdGgsIGhh
bGZIZWlnaHQpOworICAgIGN0eC5maWxsU3R5bGUgPSAiIzAwZmYwMCI7CisgICAgY3R4LmZpbGxS
ZWN0KDAsIGhhbGZIZWlnaHQsIHdpZHRoLCBoZWlnaHQgLSBoYWxmSGVpZ2h0KTsKK30KKworZnVu
Y3Rpb24gcnVuSFRNTENhbnZhc0VsZW1lbnRVbnN1cHBvcnRlZFRlc3QoY2FudmFzMmQsIGNvbnRl
eHQyZCkKK3sKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIlZlcmlmeSB3aGV0aGVyIHVwbG9h
ZGluZyBIVE1MQ2FudmFzRWxlbWVudCB2aWEgdGV4SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1
cHBvcnRlZCIpOworICAgIAorICAgIGNvbnRleHQyZC53aWR0aCA9IDE7CisgICAgY29udGV4dDJk
LmhlaWdodCA9IDI7CisgICAgc2V0Q2FudmFzVG9SZWRHcmVlbihjb250ZXh0MmQpOworCisgICAg
cnVuVGV4dHVyZVVwbG9hZFRlc3QoY2FudmFzMmQpOworfQorCitmdW5jdGlvbiBydW5IVE1MVmlk
ZW9FbGVtZW50VW5zdXBwb3J0ZWRUZXN0KGNhbnZhczJkLCBjb250ZXh0MmQpCit7CisgICAgZGVi
dWcoIiIpOworICAgIGRlYnVnKCJWZXJpZnkgd2hldGhlciB1cGxvYWRpbmcgSFRNTFZpZGVvRWxl
bWVudCB2aWEgdGV4SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1cHBvcnRlZCIpOworCisgICAg
dmFyIGluZm8gPSB7IHNyYzogInJlc291cmNlcy9yZWQtZ3JlZW4ubXA0IiwgdHlwZTogJ3ZpZGVv
L21wNDsgY29kZWNzPSJhdmMxLjQyRTAxRSwgbXA0YS40MC4yIid9OworICAgIHZhciB2aWRlbyA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInZpZGVvIik7CisgICAgaWYgKCF2aWRlby5jYW5QbGF5
VHlwZSkgeworICAgICAgICB0ZXN0RmFpbGVkKCJ2aWRlby5jYW5QbGF5VHlwZSByZXF1aXJlZCBt
ZXRob2QgaXMgbWlzc2luZyIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8pOworICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoCisg
ICAgICAgICJwbGF5aW5nIiwgZnVuY3Rpb24oKSB7IHJ1blRleHR1cmVVcGxvYWRUZXN0KHZpZGVv
KTsgZmluaXNoVGVzdCgpOyB9LCB0cnVlKTsKKyAgICB2aWRlby50eXBlID0gaW5mby50eXBlOwor
ICAgIHZpZGVvLnNyYyA9IGluZm8uc3JjOworICAgIHZpZGVvLmxvb3AgPSB0cnVlOworICAgIHZp
ZGVvLndpZHRoID0gMTsKKyAgICB2aWRlby5oZWlnaHQgPSAyOworICAgIHZpZGVvLnBsYXkoKTsK
KworfQorCitkZWJ1ZygiIik7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li45NmQ0ZDEwMDYxZjUwZGQyNjViZWMxMzhkN2M2ZjFmNDg0OWIwOWQzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtaGFsZi1mbG9h
dC5odG1sCkBAIC0wLDAgKzEsMjQ5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgT0VTX3RleHR1cmVfaGFsZl9m
bG9hdCBDb25mb3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxjYW52
YXMgaWQ9ImNhbnZhcyIgc3R5bGU9IndpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7Ij4gPC9jYW52
YXM+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9InRlc3RGcmFnbWVudFNo
YWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9h
dDsKK3VuaWZvcm0gc2FtcGxlcjJEIHRleDsKK3VuaWZvcm0gdmVjNCBzdWJ0cmFjdG9yOwordmFy
eWluZyB2ZWMyIHRleENvb3JkOwordm9pZCBtYWluKCkKK3sKKyAgICB2ZWM0IGNvbG9yID0gdGV4
dHVyZTJEKHRleCwgdGV4Q29vcmQpOworICAgIGlmIChhYnMoY29sb3IuciAtIHN1YnRyYWN0b3Iu
cikgKworICAgICAgICBhYnMoY29sb3IuZyAtIHN1YnRyYWN0b3IuZykgKworICAgICAgICBhYnMo
Y29sb3IuYiAtIHN1YnRyYWN0b3IuYikgKworICAgICAgICBhYnMoY29sb3IuYSAtIHN1YnRyYWN0
b3IuYSkgPCA4LjApIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgwLjAsIDEuMCwgMC4w
LCAxLjApOworICAgIH0gZWxzZSB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMS4wLCAw
LjAsIDAuMCwgMS4wKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwhLS0gU2hhZGVycyBmb3IgdGVz
dGluZyBoYWxmIGZsb2F0aW5nLXBvaW50IHJlbmRlciB0YXJnZXRzIC0tPgorPHNjcmlwdCBpZD0i
cG9zaXRpb25WZXJ0ZXhTaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0
ZSB2ZWM0IHZQb3NpdGlvbjsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB2UG9z
aXRpb247Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZsb2F0aW5nUG9pbnRGcmFnbWVudFNo
YWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+Cit2b2lkIG1haW4oKQoreworICAgIGds
X0ZyYWdDb2xvciA9IHZlYzQoMTAwMDAuMCwgMTAwMDAuMCwgMTAwMDAuMCwgMTAwMDAuMCk7Cit9
Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
ZSBmdW5jdGlvbmFsaXR5IG9mIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQgd2l0aCBudWxsL25vbi1u
dWxsIEFycmF5QnVmZmVyVmlldyIpOworZGVidWcoIiIpOworCitpZiAod2luZG93LmludGVybmFs
cykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xl
RW5hYmxlZChmYWxzZSk7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBjYW52YXMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Cit2YXIgZ2wgPSB3dHUuY3JlYXRl
M0RDb250ZXh0KGNhbnZhcyk7CisKK2lmICghZ2wpIHsKKyAgICB0ZXN0RmFpbGVkKCJXZWJHTCBj
b250ZXh0IGRvZXMgbm90IGV4aXN0cyIpOworfSBlbHNlIHsKKyAgICB0ZXN0UGFzc2VkKCJXZWJH
TCBjb250ZXh0IGV4aXN0cyIpOworCisgICAgLy8gVmVyaWZ5IHRoYXQgYWxsb2NhdGlvbiBvZiB0
ZXh0dXJlIGZhaWxzIGlmIGV4dGVuc2lvbiBpcyBub3QgZW5hYmxlZAorICAgIHJ1blRleHR1cmVD
cmVhdGlvblRlc3QoZmFsc2UpOworCisgICAgaWYoIWdsLmdldEV4dGVuc2lvbigiT0VTX3RleHR1
cmVfaGFsZl9mbG9hdCIpKSB7CisgICAgICAgIHRlc3RQYXNzZWQoIk5vIE9FU190ZXh0dXJlX2hh
bGZfZmxvYXQgc3VwcG9ydC4gVGhpcyBpcyBsZWdhbCIpOworICAgIH0gZWxzZSB7CisgICAgICAg
IHRlc3RQYXNzZWQoIlN1Y2Nlc3NmdWxseSBlbmFibGVkIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQg
ZXh0ZW5zaW9uIik7CisKKyAgICAgICAgLy8gQ2hlY2sgaWYgY3JlYXRpb24gb2YgdGV4dHVyZSBz
dWNjZWVkJ3Mgd2l0aCB2YXJpb3VzIGZvcm1hdHMgYW5kIG51bGwgQXJyYXlCdWZmZXJWaWV3Cisg
ICAgICAgIHZhciBmb3JtYXRzID0gW2dsLlJHQkEsIGdsLlJHQiwgZ2wuTFVNSU5BTkNFLCBnbC5B
TFBIQSwgZ2wuTFVNSU5BTkNFX0FMUEhBXTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBm
b3JtYXRzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICBydW5UZXh0dXJlQ3JlYXRpb25UZXN0
KHRydWUsIGZvcm1hdHNbaV0sIG51bGwpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICAv
LyBUZXh0dXJlIGNyZWF0aW9uIHNob3VsZCBmYWlsIHdoZW4gcGFzc2VkIHdpdGggbm9uLW51bGwg
QXJyYXlCdWZmZXJWaWV3CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZm9ybWF0cy5sZW5n
dGg7IGkrKykgeworICAgICAgICAgICAgdmFyIHdpZHRoID0gMjsKKyAgICAgICAgICAgIHZhciBo
ZWlnaHQgPSAyOworICAgICAgICAgICAgCisgICAgICAgICAgICAvLyBGbG9hdDMyQXJyYXkKKyAg
ICAgICAgICAgIHZhciBmbG9hdDMyRGF0YSA9IG5ldyBGbG9hdDMyQXJyYXkod2lkdGggKiBoZWln
aHQgKiBnZXROdW1iZXJPZkNoYW5uZWxzKGZvcm1hdHNbaV0pKTsKKyAgICAgICAgICAgIGZvciAo
dmFyIGlpID0gMDsgaWkgPCBmbG9hdDMyRGF0YS5sZW5ndGg7IGlpKyspIHsKKyAgICAgICAgICAg
ICAgICBmbG9hdDMyRGF0YVtpaV0gPSAxMDAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
cnVuVGV4dHVyZUNyZWF0aW9uVGVzdCh0cnVlLCBmb3JtYXRzW2ldLCBmbG9hdDMyRGF0YSk7CisK
KyAgICAgICAgICAgIC8vIEludDE2QXJyYXkKKyAgICAgICAgICAgIHZhciBpbnQxNkRhdGEgPSBu
ZXcgSW50MTZBcnJheSh3aWR0aCAqIGhlaWdodCAqIGdldE51bWJlck9mQ2hhbm5lbHMoZm9ybWF0
c1tpXSkpOworICAgICAgICAgICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8ICBpbnQxNkRhdGEubGVu
Z3RoOyBpaSsrKSB7CisgICAgICAgICAgICAgICAgaW50MTZEYXRhW2lpXSA9IDEwMDA7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICBydW5UZXh0dXJlQ3JlYXRpb25UZXN0KHRydWUsIGZvcm1h
dHNbaV0sIGludDE2RGF0YSk7CisKKyAgICAgICAgICAgIC8vIFVpbnQxNkFycmF5CisgICAgICAg
ICAgICB2YXIgdWludDE2RGF0YSA9IG5ldyBVaW50MTZBcnJheSh3aWR0aCAqIGhlaWdodCAqIGdl
dE51bWJlck9mQ2hhbm5lbHMoZm9ybWF0c1tpXSkpOworICAgICAgICAgICAgZm9yICh2YXIgaWkg
PSAwOyBpaSA8ICB1aW50MTZEYXRhLmxlbmd0aDsgaWkrKykgeworICAgICAgICAgICAgICAgIHVp
bnQxNkRhdGFbaWldID0gMTAwMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJ1blRleHR1
cmVDcmVhdGlvblRlc3QodHJ1ZSwgZm9ybWF0c1tpXSwgdWludDE2RGF0YSk7ICAgICAgICAgICAg
CisgICAgICAgIH0KKworICAgICAgICAvLyBDaGVjayBpZiBhdHRhY2hpbmcgdGV4dHVyZSBhcyBG
Qk8gdGFyZ2V0IHN1Y2NlZWRzIChOb3QgbWFuZGF0b3J5KQorICAgICAgICBydW5SZW5kZXJUYXJn
ZXRUZXN0KCk7CisgICAgICAgIC8vIENoZWNrIG9mIGdldEV4dGVuc2lvbigpIHJldHVybnMgc2Ft
ZSBvYmplY3QKKyAgICAgICAgcnVuVW5pcXVlT2JqZWN0VGVzdCgpOworICAgIH0KK30KKworZnVu
Y3Rpb24gZ2V0TnVtYmVyT2ZDaGFubmVscyhmb3JtYXQpCit7CisgICAgaWYgKGZvcm1hdCA9PSBn
bC5SR0JBKQorICAgICAgICByZXR1cm4gNDsKKyAgICBlbHNlIGlmIChmb3JtYXQgPT0gZ2wuUkdC
KQorICAgICAgICByZXR1cm4gMzsKKyAgICBlbHNlIGlmIChmb3JtYXQgPT0gZ2wuTFVNSU5BTkNF
IHx8IGZvcm1hdCA9PSBnbC5BTFBIQSkKKyAgICAgICAgcmV0dXJuIDE7CisgICAgZWxzZSBpZiAo
Zm9ybWF0ID09IGdsLkxVTUlOQU5DRV9BTFBIQSkKKyAgICAgICAgcmV0dXJuIDI7Cit9CisKK2Z1
bmN0aW9uIGdldEZvcm1hdE5hbWUoZm9ybWF0KQoreworICAgIGlmIChmb3JtYXQgPT0gZ2wuUkdC
QSkKKyAgICAgICAgcmV0dXJuICJSR0JBIjsKKyAgICBlbHNlIGlmIChmb3JtYXQgPT0gZ2wuUkdC
KQorICAgICAgICByZXR1cm4gIlJHQiI7CisgICAgZWxzZSBpZiAoZm9ybWF0ID09IGdsLkxVTUlO
QU5DRSkKKyAgICAgICAgcmV0dXJuICJMVU1JTkFOQ0UiOworICAgIGVsc2UgaWYgKGZvcm1hdCA9
PSBnbC5BTFBIQSkKKyAgICAgICAgcmV0dXJuICJBTFBIQSI7CisgICAgZWxzZSBpZiAoZm9ybWF0
ID09IGdsLkxVTUlOQU5DRV9BTFBIQSkKKyAgICAgICAgcmV0dXJuICJMVU1JTkFOQ0VfQUxQSEEi
OworfQorCitmdW5jdGlvbiBhbGxvY2F0ZVRleHR1cmUoKQoreworICAgIHZhciB0ZXh0dXJlID0g
Z2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRl
eHR1cmUpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9N
SU5fRklMVEVSLCBnbC5ORUFSRVNUKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVf
MkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CisgICAgZ2wudGV4UGFyYW1l
dGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUywgZ2wuQ0xBTVBfVE9fRURHRSk7
CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfVCwg
Z2wuQ0xBTVBfVE9fRURHRSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwg
InRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkIik7CisgICAgcmV0dXJuIHRl
eHR1cmU7Cit9CisKK2Z1bmN0aW9uIHJ1blRleHR1cmVDcmVhdGlvblRlc3QoZXh0ZW5zaW9uRW5h
YmxlZCwgb3B0X2Zvcm1hdCwgb3B0X2RhdGEpCit7CisgICAgdmFyIGZvcm1hdCA9IG9wdF9mb3Jt
YXQgfHwgZ2wuUkdCQTsKKyAgICB2YXIgZGF0YSA9IG9wdF9kYXRhIHx8IG51bGw7CisgICAgdmFy
IGV4cGVjdFN1Y2Nlc3MgPSB0cnVlOworICAgIAorICAgIGlmICghZXh0ZW5zaW9uRW5hYmxlZCB8
fCBkYXRhKQorICAgICAgICBleHBlY3RTdWNjZXNzID0gZmFsc2U7CisgICAgZGVidWcoIlRlc3Rp
bmcgdGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lvbiAiICsgKGV4dGVuc2lvbkVuYWJsZWQg
PyAiZW5hYmxlZCIgOiAiZGlzYWJsZWQiKSArCisgICAgICAgICAgIiwgZm9ybWF0ICIgKyBnZXRG
b3JtYXROYW1lKGZvcm1hdCkgKyAiLCBhbmQgZGF0YSAiICsgKGRhdGEgPyAibm9uLW51bGwiIDog
Im51bGwiKSArCisgICAgICAgICAgIi4gRXhwZWN0ICIgKyAoZXhwZWN0U3VjY2VzcyA/ICJTdWNj
ZXNzIiA6ICJGYWlsdXJlIikpOyAgIAorCisgICAgdmFyIHRleHR1cmUgPSBhbGxvY2F0ZVRleHR1
cmUoKTsKKyAgICB2YXIgd2lkdGggPSAyOworICAgIHZhciBoZWlnaHQgPSAyOworICAgIGdsLnRl
eEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCAwLCBmb3Jt
YXQsIGdsLkhBTEZfRkxPQVRfT0VTLCBkYXRhKTsKKyAgICBpZighZXh0ZW5zaW9uRW5hYmxlZCkg
eworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRU5VTSwgIkhhbGYgZmxv
YXRpbmcgcG9pbnQgdGV4dHVyZSBtdXN0IGJlIGRpYWxsb3dlZCBpZiBPRVNfdGV4dHVyZV9oYWxm
X2Zsb2F0IGlzbid0IGVuYWJsZWQiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0gZWxzZSBpZiAo
ZGF0YSkgeworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9O
LCAiSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gbXVzdCBiZSBkaWFsbG93
ZWQgd2hlbiBBcnJheUJ1ZmZlclZpZXcgaXMgbm90LW51bGwiKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0gZWxzZSB7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJI
YWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBzaG91bGQgc3VjY2VlZCBpZiBP
RVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGlzIGVuYWJsZWQiKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9u
IGNoZWNrUmVuZGVyaW5nUmVzdWx0cygpCit7CisgICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwg
MjU1LCAwLCAyNTVdLCAic2hvdWxkIGJlIGdyZWVuIik7Cit9CisKK2Z1bmN0aW9uIHJ1blJlbmRl
clRhcmdldFRlc3QodGVzdFByb2dyYW0pCit7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJU
ZXN0aW5nIGhhbGYgZmxvYXRpbmcgcG9pbnQgcmVuZGVyIHRhcmdldCIpOworCisgICAgdmFyIHRl
eHR1cmUgPSBhbGxvY2F0ZVRleHR1cmUoKTsKKyAgICB2YXIgd2lkdGggPSAyOworICAgIHZhciBo
ZWlnaHQgPSAyOworICAgIAorICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wu
UkdCQSwgd2lkdGgsIGhlaWdodCwgMCwgZ2wuUkdCQSwgZ2wuSEFMRl9GTE9BVF9PRVMsIG51bGwp
OworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJIYWxmIGZsb2F0aW5nIHBv
aW50IHRleHR1cmUgYWxsb2NhdGlvbiBzaG91bGQgc3VjY2VlZCBpZiBPRVNfdGV4dHVyZV9oYWxm
X2Zsb2F0IGlzIGVuYWJsZWQiKTsKKworICAgIC8vIFRyeSB0byB1c2UgdGhpcyB0ZXh0dXJlIGFz
IHJlbmRlciB0YXJnZXQKKyAgICB2YXIgZmJvID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKTsKKyAg
ICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibyk7CisgICAgZ2wuZnJhbWVi
dWZmZXJUZXh0dXJlMkQoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5U
RVhUVVJFXzJELCB0ZXh0dXJlLCAwKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJE
LCBudWxsKTsKKworICAgIC8vIEl0IGlzIGxlZ2FsIGZvciBhIFdlYkdMIGltcGxlbWVudGF0aW9u
IGV4cG9zaW5nIHRoZSBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGV4dGVuc2lvbiB0bworICAgIC8v
IHN1cHBvcnQgaGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlcyBidXQgbm90IGFzIGF0dGFjaG1l
bnRzIHRvIGZyYW1lYnVmZmVyIG9iamVjdHMuCisgICAgaWYgKGdsLmNoZWNrRnJhbWVidWZmZXJT
dGF0dXMoZ2wuRlJBTUVCVUZGRVIpICE9IGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKSB7CisgICAg
ICAgIGRlYnVnKCJIYWxmIGZsb2F0aW5nIHBvaW50IHJlbmRlciB0YXJnZXRzIG5vdCBzdXBwb3J0
ZWQgLS0gdGhpcyBpcyBsZWdhbCIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgdmFy
IHJlbmRlclByb2dyYW0gPQorICAgICAgICB3dHUuc2V0dXBQcm9ncmFtKGdsLAorICAgICAgICAg
ICAgICAgICAgICAgICAgIFsicG9zaXRpb25WZXJ0ZXhTaGFkZXIiLCAiZmxvYXRpbmdQb2ludEZy
YWdtZW50U2hhZGVyIl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgWyd2UG9zaXRpb24nXSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICBbMF0pOworICAgIHd0dS5kcmF3UXVhZChnbCk7Cisg
ICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgIlJlbmRlcmluZyB0byBoYWxmIGZs
b2F0aW5nIHBvaW50IHRleHR1cmUgc2hvdWxkIHN1Y2NlZWQiKTsKKworICAgIC8vIE5vdyBzYW1w
bGUgZnJvbSB0aGUgaGFsZiBmbG9hdGluZy1wb2ludCB0ZXh0dXJlIGFuZCB2ZXJpZnkgd2UgZ290
IHRoZSBjb3JyZWN0IHZhbHVlcy4KKyAgICB2YXIgdGV4dHVyZWRTaGFkZXJzID0gWworICAgICAg
d3R1LnNldHVwU2ltcGxlVGV4dHVyZVZlcnRleFNoYWRlcihnbCksCisgICAgICAgICAgInRlc3RG
cmFnbWVudFNoYWRlciIKKyAgICAgIF07CisgICAgdmFyIHRlc3RQcm9ncmFtID0KKyAgICAgICAg
d3R1LnNldHVwUHJvZ3JhbShnbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIFt3dHUuc2V0dXBT
aW1wbGVUZXh0dXJlVmVydGV4U2hhZGVyKGdsKSwgInRlc3RGcmFnbWVudFNoYWRlciJdLAorICAg
ICAgICAgICAgICAgICAgICAgICAgWyd2UG9zaXRpb24nLCAndGV4Q29vcmQwJ10sCisgICAgICAg
ICAgICAgICAgICAgICAgICBbMCwgMV0pOworICAgIHZhciBxdWFkUGFyYW1ldGVycyA9IHd0dS5z
ZXR1cFVuaXRRdWFkKGdsLCAwLCAxKTsKKyAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVC
VUZGRVIsIG51bGwpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUp
OworICAgIGdsLnVzZVByb2dyYW0odGVzdFByb2dyYW0pOworICAgIGdsLnVuaWZvcm0xaShnbC5n
ZXRVbmlmb3JtTG9jYXRpb24odGVzdFByb2dyYW0sICJ0ZXgiKSwgMCk7CisgICAgd3R1LmRyYXdR
dWFkKGdsKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAicmVuZGVyaW5n
IGZyb20gaGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIHNob3VsZCBzdWNjZWVkIik7CisgICAg
Y2hlY2tSZW5kZXJpbmdSZXN1bHRzKCk7Cit9CisKK2Z1bmN0aW9uIHJ1blVuaXF1ZU9iamVjdFRl
c3QoKQoreworICAgIGRlYnVnKCJUZXN0aW5nIHRoYXQgZ2V0RXh0ZW5zaW9uKCkgcmV0dXJucyB0
aGUgc2FtZSBvYmplY3QgZWFjaCB0aW1lIik7CisgICAgZ2wuZ2V0RXh0ZW5zaW9uKCJPRVNfdGV4
dHVyZV9oYWxmX2Zsb2F0IikubXlQcm9wZXJ0eSA9IDI7CisgICAgZ2MoKTsKKyAgICBzaG91bGRC
ZSgnZ2wuZ2V0RXh0ZW5zaW9uKCJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IikubXlQcm9wZXJ0eScs
ICcyJyk7Cit9CisKK2RlYnVnKCIiKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191045</attachid>
            <date>2013-03-01 15:00:03 -0800</date>
            <delta_ts>2013-03-01 16:43:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110818-20130301145632.patch</filename>
            <type>text/plain</type>
            <size>76226</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWQ3NTVlNDRmZjI1Zjgz
ZjI4MzBlZTlhYWU3MmI1YjVmM2RhNTE2Zi4uNzczYTNkNmFlMjhiMGI4MGQ5OTZiNTBlNTM4MDE0
NjQ5MDI3OGVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEzLTAyLTI4ICBOYXlh
biBLdW1hciBLICA8bmF5YW5ra0Btb3Rvcm9sYS5jb20+CisKKyAgICAgICAgW1dlYkdMXSBTdXBw
b3J0IGZvciB0ZXhJbWFnZTJEIG9mIHR5cGUgSEFMRl9GTE9BVF9PRVMgd2l0aCBBcnJheUJ1ZmZl
clZpZXcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTA4MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
cyBwZXIgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBzcGVjaWZpY2F0aW9uIHRleEltYWdlMkQgYW5k
IHRleFN1YkltYWdlMkQgZW50cnkKKyAgICAgICAgcG9pbnRzIHRha2luZyBBcnJheUJ1ZmZlclZp
ZXcgc2hvdWxkIGV4dGVuZGVkIHRvIGFjY2VwdCBudWxsIHdpdGggdGhlIHBpeGVsIHR5cGUKKyAg
ICAgICAgSEFMRl9GTE9BVF9PRVMuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvY2FudmFzL3dlYmds
L29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtbm90LXN1cHBvcnRlZC5odG1sCisgICAgICAgICAgICAg
ICBmYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0Lmh0bWwKKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06
CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4T2JqZWN0KToKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmNwcDogQ29waWVkIGZyb20gU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaC4KKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6T0VTVGV4dHVyZUhhbGZGbG9hdDo6T0VTVGV4dHVyZUhhbGZG
bG9hdCk6CisgICAgICAgIChXZWJDb3JlOjpPRVNUZXh0dXJlSGFsZkZsb2F0Ojp+T0VTVGV4dHVy
ZUhhbGZGbG9hdCk6CisgICAgICAgIChXZWJDb3JlOjpPRVNUZXh0dXJlSGFsZkZsb2F0OjpnZXRO
YW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ok9FU1RleHR1cmVIYWxmRmxvYXQ6OmNyZWF0ZSk6Cisg
ICAgICAgICogaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5oOiBDb3BpZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oLgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChPRVNUZXh0dXJlSGFsZkZsb2F0KToKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJH
TEV4dGVuc2lvbi5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dDo6Z2V0RXh0ZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dDo6dGV4SW1hZ2UyRCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OnRleFN1YkltYWdlMkQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJp
bmdDb250ZXh0Ojp2YWxpZGF0ZVRleEZ1bmNGb3JtYXRBbmRUeXBlKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVUZXhGdW5jRGF0YSk6CisgICAgICAg
ICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmg6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkdMUmVuZGVyaW5nQ29udGV4dCk6CisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9FeHRlbnNpb25zM0QuaDoKKyAgICAgICAgKEV4dGVuc2lvbnMzRCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0M0Q6OmNvbXB1dGVGb3JtYXRBbmRUeXBlUGFyYW1ldGVycyk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzM0QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnRleEltYWdlMkQpOgorCiAyMDEzLTAzLTAxICBSb2dl
ciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBBcHBs
ZVdpbiBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGY2NzBjZjBlZTlkMmM5MWNi
MGY0YzUwMjJlNzE5MDU3OTc5NDk1N2YuLmUxOTczMjE2NzM0MzQ4NTAyOWJlZjIwNGZhODk0ZWFk
NTA5ZGU1MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC01MjIsNiArNTIyLDcgQEAgc2V0KFdl
YkNvcmVfSURMX0ZJTEVTCiAgICAgaHRtbC9jYW52YXMvSW50OEFycmF5LmlkbAogICAgIGh0bWwv
Y2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaWRsCiAgICAgaHRtbC9jYW52YXMvT0VTVGV4
dHVyZUZsb2F0LmlkbAorICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsCiAg
ICAgaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuaWRsCiAgICAgaHRtbC9jYW52YXMv
T0VTRWxlbWVudEluZGV4VWludC5pZGwKICAgICBodG1sL2NhbnZhcy9VaW50MTZBcnJheS5pZGwK
QEAgLTE1MTEsNiArMTUxMiw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBodG1sL2NhbnZh
cy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuY3BwCiAgICAgaHRtbC9jYW52YXMvT0VTU3Rh
bmRhcmREZXJpdmF0aXZlcy5jcHAKICAgICBodG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuY3Bw
CisgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAKICAgICBodG1sL2NhbnZh
cy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5jcHAKICAgICBodG1sL2NhbnZhcy9PRVNFbGVtZW50SW5k
ZXhVaW50LmNwcAogICAgIGh0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmNwcApAQCAtMjYyNSw2ICsy
NjI3LDcgQEAgaWYgKEVOQUJMRV9XRUJHTCkKICAgICBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJD
RVMKICAgICAgICAgaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAKICAgICAg
ICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmNwcAorICAgICAgICBodG1sL2NhbnZhcy9P
RVNUZXh0dXJlSGFsZkZsb2F0LmNwcAogICAgICAgICBodG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJh
eU9iamVjdC5jcHAKICAgICAgICAgaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5jcHAK
ICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuY3BwCkBAIC0yNjU0LDYgKzI2NTcsNyBA
QCBpZiAoRU5BQkxFX1dFQkdMKQogICAgICAgICBodG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVy
QW5pc290cm9waWMuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2
ZXMuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5jcHAKKyAgICAgICAg
aHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAKICAgICAgICAgaHRtbC9jYW52YXMv
T0VTVmVydGV4QXJyYXlPYmplY3QuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJ
bmRleFVpbnQuY3BwCiAgICAgKQpAQCAtMjY2Miw2ICsyNjY2LDcgQEAgaWYgKEVOQUJMRV9XRUJH
TCkKICAgICAgICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmlkbAog
ICAgICAgICBodG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlkbAogICAgICAgICBo
dG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaWRsCisgICAgICAgIGh0bWwvY2FudmFzL09FU1Rl
eHR1cmVIYWxmRmxvYXQuaWRsCiAgICAgICAgIGh0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2Jq
ZWN0LmlkbAogICAgICAgICBodG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmlkbAogICAg
ICAgICBodG1sL2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8uaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQppbmRleCBkZWQwZTc5MDQxYTNiNTBiNGNmMGExYzc0YzU2OTk2MGQwNjY0ZTg1Li5i
NTJlNTA4ZjdhNDQyZWM4MzU4OTYyMTMzZTcyYjM2MzBhODJiYzUzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKQEAgLTQwMCw2ICs0MDAsNyBAQCBCSU5ESU5HX0lETFMgPSBcCiAgICAg
JChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaWRsIFwKKyAgICAkKFdlYkNvcmUp
L2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0
bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1s
L2NhbnZhcy9VaW50MTZBcnJheS5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvVWlu
dDMyQXJyYXkuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCAwYzU5MDAyYjE1
NGJiZDRiMGU3Mjg3ZDVjODA3OGI2ZDAyYzE2MmZiLi5jZDQ5MTMxOTk0NmYzYjRjYjI2YzEyYjc1
ZmRjNDMxY2UyMjQ2ZWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC0zMTMsNiAr
MzEzLDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9FWFRUZXh0
dXJlRmlsdGVyQW5pc290cm9waWMuaWRsIFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9PRVNTdGFu
ZGFyZERlcml2YXRpdmVzLmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZs
b2F0LmlkbCBcCisgICAgJCRQV0QvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5pZGwg
XAogICAgICQkUFdEL2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmlkbCBcCiAgICAg
JCRQV0QvaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5pZGwgXAogICAgICQkUFdEL2h0
bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5mby5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KaW5kZXggMzY1YzRhZTYwZWU5NGEzOTQyZGNiOGE0ZjgzN2Q1Mzk1NjY4Nzc5Yy4uNTgyNWIx
ZjhhZDE1YTRmZWUxNzZhOTJhZDBmZjBkZGI0Y2I1Zjc4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCkBAIC01NzksNiArNTc5LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5oIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTVGV4dHVyZUZsb2F0LmNwcCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU09FU1RleHR1cmVGbG9hdC5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNPRVNUZXh0dXJlSGFsZkZsb2F0LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNW
ZXJ0ZXhBcnJheU9iamVjdC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNWZXJ0
ZXhBcnJheU9iamVjdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTRWxlbWVudElu
ZGV4VWludC5jcHAgXApAQCAtMTU0NCw2ICsxNTQ2LDcgQEAgZG9tX2JpbmRpbmdfaWRscyArPSBc
CiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9JbnQ4QXJyYXkuaWRsIFwKIAkkKFdlYkNvcmUpL2h0
bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwv
Y2FudmFzL09FU1RleHR1cmVGbG9hdC5pZGwgXAorCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvT0VT
VGV4dHVyZUhhbGZGbG9hdC5pZGwgXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvT0VTVmVydGV4
QXJyYXlPYmplY3QuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRl
eFVpbnQuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1VpbnQxNkFycmF5LmlkbCBcCkBA
IC0zMjg0LDYgKzMyODcsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCBcCiAJU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvT0VTVGV4dHVyZUZsb2F0LmggXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09F
U1RleHR1cmVIYWxmRmxvYXQuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNU
ZXh0dXJlSGFsZkZsb2F0LmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1ZlcnRl
eEFycmF5T2JqZWN0LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVmVydGV4
QXJyYXlPYmplY3QuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTRWxlbWVudElu
ZGV4VWludC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggOTYzNmRhOGU2NzExZDhjNjRjY2Q5Nzk4OWRl
OTA1Njc5YWM5MjE5Ny4uNjAzY2RiZGIyNzg3NDA3NWRkNGZiMTE2ZWM0ODU2MjIxZmIyYWVlNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpCkBAIC00MDM5LDYgKzQwMzksNyBAQCBlbmFibGU/KFdFQkdMKSB7CiAgICAg
ICAgIGh0bWwvY2FudmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5oIFwKICAgICAgICAg
aHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5oIFwKICAgICAgICAgaHRtbC9jYW52
YXMvT0VTVGV4dHVyZUZsb2F0LmggXAorICAgICAgICBodG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFs
ZkZsb2F0LmggXAogICAgICAgICBodG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5oIFwK
ICAgICAgICAgaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5oIFwKICAgICAgICAgaHRt
bC9jYW52YXMvV2ViR0xUZXh0dXJlLmggXApAQCAtNDA3NCw2ICs0MDc1LDcgQEAgZW5hYmxlPyhX
RUJHTCkgewogICAgICAgICBodG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMu
Y3BwIFwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAgXAog
ICAgICAgICBodG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuY3BwIFwKKyAgICAgICAgaHRtbC9j
YW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAgXAogICAgICAgICBodG1sL2NhbnZhcy9PRVNW
ZXJ0ZXhBcnJheU9iamVjdC5jcHAgXAogICAgICAgICBodG1sL2NhbnZhcy9PRVNFbGVtZW50SW5k
ZXhVaW50LmNwcCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5jcHAgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCmluZGV4IGE5Zjc3ZDI0OWZiY2FmOTdmNmJhYTMzMDE3NWU5ODE2NjRhMWYyNzgu
LjcxM2ZiOGQ5OTJhMmY0ZjM5MmQxNWZlNzllMWFhYjVjZTE4YjU0MTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKQEAgLTQ2NSw2ICs0NjUsNyBAQAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0ludDhBcnJh
eS5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMu
aWRsJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaWRsJywKKyAg
ICAgICAgICAgICdodG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbCcsCiAgICAgICAg
ICAgICAnaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuaWRsJywKICAgICAgICAgICAg
ICdodG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmlkbCcsCiAgICAgICAgICAgICAnaHRt
bC9jYW52YXMvVWludDE2QXJyYXkuaWRsJywKQEAgLTM0MjMsNiArMzQyNCw4IEBACiAgICAgICAg
ICAgICAnaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5oJywKICAgICAgICAgICAg
ICdodG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuY3BwJywKICAgICAgICAgICAgICdodG1sL2Nh
bnZhcy9PRVNUZXh0dXJlRmxvYXQuaCcsCisgICAgICAgICAgICAnaHRtbC9jYW52YXMvT0VTVGV4
dHVyZUhhbGZGbG9hdC5jcHAnLAorICAgICAgICAgICAgJ2h0bWwvY2FudmFzL09FU1RleHR1cmVI
YWxmRmxvYXQuaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmpl
Y3QuY3BwJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5o
JywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmNwcCcsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggYTcwOTg0Yjc3MzA4YjFiNWY5NWY0MzMxNjFjZDAwMDM4ZGNkYWM4OS4uNDM4NjE1NTg3Zjhj
MmE1N2ZiYzg1MTAyMDA0OGZjNDJhN2Q5MWUxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTkxOCw4ICsxOTE4LDggQEAKIAkJ
NkVCRjBFNTQxMkE4OTI5ODAwREIxNzA5IC8qIFdlYkdMRXh0ZW5zaW9uLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZFQkYwRTUyMTJBODkyOTgwMERC
MTcwOSAvKiBXZWJHTEV4dGVuc2lvbi5jcHAgKi87IH07CiAJCTZFQkYwRTU1MTJBODkyOTgwMERC
MTcwOSAvKiBXZWJHTEV4dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNkVCRjBFNTMxMkE4OTI5ODAwREIxNzA5IC8qIFdlYkdMRXh0ZW5zaW9u
LmggKi87IH07CiAJCTZFQkYwRTc2MTJBOTg2ODgwMERCMTcwOSAvKiBKU09FU1RleHR1cmVGbG9h
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RUJG
MEU3NDEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuY3BwICovOyB9OwotCQk2
RUJGMEU3NzEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZFQkYwRTc1MTJBOTg2ODgwMERC
MTcwOSAvKiBKU09FU1RleHR1cmVGbG9hdC5oICovOyB9OwogCQk2RUJGMEU3NjEyQTk4Njg4MDBE
QjE3MEEgLyogSlNFWFREcmF3QnVmZmVycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2RUJGMEU3NDEyQTk4Njg4MDBEQjE3MEEgLyogSlNFWFREcmF3
QnVmZmVycy5jcHAgKi87IH07CisJCTZFQkYwRTc3MTJBOTg2ODgwMERCMTcwOSAvKiBKU09FU1Rl
eHR1cmVGbG9hdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNkVCRjBFNzUxMkE5ODY4ODAwREIxNzA5IC8qIEpTT0VTVGV4dHVyZUZsb2F0LmggKi87IH07
CiAJCTZFQkYwRTc3MTJBOTg2ODgwMERCMTcwQSAvKiBKU0VYVERyYXdCdWZmZXJzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RUJGMEU3NTEyQTk4Njg4
MDBEQjE3MEEgLyogSlNFWFREcmF3QnVmZmVycy5oICovOyB9OwogCQk2RUQ4NzhDNDE0NzQ5M0Y0
MDA0QzM1OTcgLyogUmVuZGVyVGFibGVDYXB0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZFRDg3OEMyMTQ3NDkzRjQwMDRDMzU5NyAvKiBSZW5k
ZXJUYWJsZUNhcHRpb24uY3BwICovOyB9OwogCQk2RUQ4NzhDNTE0NzQ5M0Y0MDA0QzM1OTcgLyog
UmVuZGVyVGFibGVDYXB0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2RUQ4NzhDMzE0NzQ5M0Y0MDA0QzM1OTcgLyogUmVuZGVyVGFibGVDYXB0aW9u
LmggKi87IH07CkBAIC0zODQxLDcgKzM4NDEsNiBAQAogCQlBMDBCNzIxQTExREU2NDI4MDA4QUI5
RkYgLyogQ2hlY2tlZEludC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTAwQjcyMTkxMURFNjQyNzAwOEFCOUZGIC8qIENoZWNrZWRJbnQuaCAqLzsgfTsK
IAkJQTAyNDU3NTExNkNFQUEyNzAwMEU1NjcxIC8qIEVYVERyYXdCdWZmZXJzLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEwMjQ1NzRFMTZDRUFBMjcw
MDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5jcHAgKi87IH07CiAJCUEwMjQ1NzUyMTZDRUFBMjcw
MDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTAyNDU3NEYxNkNFQUEyNzAwMEU1NjcxIC8qIEVYVERyYXdCdWZm
ZXJzLmggKi87IH07Ci0JCUEwMjQ1NzUzMTZDRUFBMjcwMDBFNTY3MSAvKiBFWFREcmF3QnVmZmVy
cy5pZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEw
MjQ1NzUwMTZDRUFBMjcwMDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5pZGwgKi87IH07CiAJCUEw
N0QzMzU1MTUyQjYzMEUwMDFCNjM5MyAvKiBKU1dlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEwN0QzMzUz
MTUyQjYzMEUwMDFCNjM5MyAvKiBKU1dlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0LmNwcCAqLzsg
fTsKIAkJQTA3RDMzNTYxNTJCNjMwRTAwMUI2MzkzIC8qIEpTV2ViR0xTaGFkZXJQcmVjaXNpb25G
b3JtYXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEw
N0QzMzU0MTUyQjYzMEUwMDFCNjM5MyAvKiBKU1dlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0Lmgg
Ki87IH07CiAJCUEwN0QzMzU4MTUyQjYzMkQwMDFCNjM5MyAvKiBXZWJHTFNoYWRlclByZWNpc2lv
bkZvcm1hdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTA3RDMzNTcxNTJCNjMyRDAwMUI2MzkzIC8qIFdlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0Lmgg
Ki87IH07CkBAIC0zODgzLDYgKzM4ODIsMTAgQEAKIAkJQTJFOEFFNDAxNkE0OThDRjAwNkJCM0FB
IC8qIERPTVdlYktpdENTU0ZpbHRlclJ1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEEyRThBRTNEMTZBNDk4Q0YwMDZCQjNBQSAvKiBET01XZWJLaXRD
U1NGaWx0ZXJSdWxlLmggKi87IH07CiAJCUEyRThBRTQxMTZBNDk4Q0YwMDZCQjNBQSAvKiBET01X
ZWJLaXRDU1NGaWx0ZXJSdWxlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTJFOEFFM0UxNkE0OThDRjAwNkJCM0FBIC8qIERPTVdlYktpdENTU0ZpbHRl
clJ1bGUubW0gKi87IH07CiAJCUEyRThBRTQyMTZBNDk4Q0YwMDZCQjNBQSAvKiBET01XZWJLaXRD
U1NGaWx0ZXJSdWxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEEyRThBRTNGMTZBNDk4Q0YwMDZCQjNBQSAvKiBET01XZWJLaXRDU1NGaWx0
ZXJSdWxlSW50ZXJuYWwuaCAqLzsgfTsKKwkJQTMxQzRFNEQxNkUwMkFBNjAwMkY3OTU3IC8qIE9F
U1RleHR1cmVIYWxmRmxvYXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTMxQzRFNEMxNkUwMkFBNjAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxv
YXQuY3BwICovOyB9OworCQlBMzFDNEU0RjE2RTAyQUI0MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhh
bGZGbG9hdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTMxQzRFNEUxNkUwMkFCNDAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuaCAqLzsgfTsK
KwkJQTMxQzRFNTIxNkUwMkIwODAwMkY3OTU3IC8qIEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMzFDNEU1MTE2
RTAyQjA4MDAyRjc5NTcgLyogSlNPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCAqLzsgfTsKKwkJQTMx
QzRFNTQxNkUwMkI0MDAwMkY3OTU3IC8qIEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTMxQzRFNTMxNkUwMkI0MDAw
MkY3OTU3IC8qIEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5oICovOyB9OwogCQlBM0JCNTlGMzE0NTdB
NDBEMDBBQzU2RkUgLyogRG9jdW1lbnRFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzQkI1OUYxMTQ1N0E0MEQwMEFDNTZGRSAvKiBE
b2N1bWVudEV2ZW50UXVldWUuY3BwICovOyB9OwogCQlBM0JCNTlGNDE0NTdBNDBEMDBBQzU2RkUg
LyogRG9jdW1lbnRFdmVudFF1ZXVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBM0JCNTlGMjE0NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1lbnRFdmVudFF1
ZXVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
QTNFMjY0MzAxNDc0ODk5MTAwNUE4NTg4IC8qIFdvcmtlckV2ZW50UXVldWUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNFMjY0MkUxNDc0ODk5MTAw
NUE4NTg4IC8qIFdvcmtlckV2ZW50UXVldWUuY3BwICovOyB9OwpAQCAtOTM4OSw4ICs5MzkyLDgg
QEAKIAkJNkVCRjBFNTIxMkE4OTI5ODAwREIxNzA5IC8qIFdlYkdMRXh0ZW5zaW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYkdMRXh0ZW5zaW9uLmNwcDsgcGF0
aCA9IGNhbnZhcy9XZWJHTEV4dGVuc2lvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTZFQkYwRTUzMTJBODkyOTgwMERCMTcwOSAvKiBXZWJHTEV4dGVuc2lvbi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJHTEV4dGVuc2lvbi5oOyBwYXRoID0gY2FudmFz
L1dlYkdMRXh0ZW5zaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZFQkYwRTc0
MTJBOTg2ODgwMERCMTcwOSAvKiBKU09FU1RleHR1cmVGbG9hdC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU09FU1RleHR1cmVGbG9hdC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTZFQkYwRTc1MTJBOTg2ODgwMERCMTcwOSAvKiBKU09FU1RleHR1
cmVGbG9hdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU09FU1RleHR1cmVG
bG9hdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RUJGMEU3NDEyQTk4Njg4MDBE
QjE3MEEgLyogSlNFWFREcmF3QnVmZmVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU0VYVERyYXdCdWZmZXJzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNkVCRjBFNzUxMkE5ODY4ODAwREIxNzA5IC8qIEpTT0VTVGV4dHVyZUZsb2F0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTT0VTVGV4dHVyZUZsb2F0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZFQkYwRTc1MTJBOTg2ODgwMERCMTcwQSAvKiBKU0VY
VERyYXdCdWZmZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRVhURHJh
d0J1ZmZlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkVEODc4QzIxNDc0OTNG
NDAwNEMzNTk3IC8qIFJlbmRlclRhYmxlQ2FwdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBSZW5kZXJUYWJsZUNhcHRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk2RUQ4NzhDMzE0NzQ5M0Y0MDA0QzM1OTcgLyogUmVuZGVyVGFibGVDYXB0
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclRhYmxlQ2FwdGlv
bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTEzOTIsNiArMTEzOTUsMTEgQEAK
IAkJQTJFOEFFM0QxNkE0OThDRjAwNkJCM0FBIC8qIERPTVdlYktpdENTU0ZpbHRlclJ1bGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMkU4QUUzRTE2QTQ5OENGMDA2QkIzQUEg
LyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IERPTVdlYktpdENTU0ZpbHRlclJ1bGUubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUEyRThBRTNGMTZBNDk4Q0YwMDZCQjNBQSAvKiBET01XZWJLaXRDU1NGaWx0
ZXJSdWxlSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2Vi
S2l0Q1NTRmlsdGVyUnVsZUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUEzMUM0RTRDMTZFMDJBQTYwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE9FU1RleHR1cmVIYWxmRmxvYXQuY3Bw
OyBwYXRoID0gY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBMzFDNEU0RTE2RTAyQUI0MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZG
bG9hdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBPRVNUZXh0dXJlSGFsZkZs
b2F0Lmg7IHBhdGggPSBjYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBMzFDNEU1MDE2RTAyQUM1MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhh
bGZGbG9hdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBuYW1lID0gT0VTVGV4dHVyZUhhbGZGbG9hdC5pZGw7IHBhdGggPSBjYW52YXMv
T0VTVGV4dHVyZUhhbGZGbG9hdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUEz
MUM0RTUxMTZFMDJCMDgwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSlNPRVNUZXh0dXJlSGFsZkZsb2F0LmNw
cDsgcGF0aCA9IEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUEzMUM0RTUzMTZFMDJCNDAwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxv
YXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSlNPRVNUZXh0dXJlSGFsZkZs
b2F0Lmg7IHBhdGggPSBKU09FU1RleHR1cmVIYWxmRmxvYXQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTNCQjU5RjExNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEb2N1bWVudEV2ZW50
UXVldWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBM0JCNTlGMjE0NTdBNDBE
MDBBQzU2RkUgLyogRG9jdW1lbnRFdmVudFF1ZXVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERvY3VtZW50RXZlbnRRdWV1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBM0UyNjQyRTE0NzQ4OTkxMDA1QTg1ODggLyogV29ya2VyRXZlbnRRdWV1ZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXb3JrZXJFdmVudFF1ZXVlLmNwcDsg
cGF0aCA9IHdvcmtlcnMvV29ya2VyRXZlbnRRdWV1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xNTc2NSw2ICsxNTc3Myw5IEBACiAJCQkJNkVCRjBFNDUxMkE4OTI2MTAwREIx
NzA5IC8qIE9FU1RleHR1cmVGbG9hdC5jcHAgKi8sCiAJCQkJNkVCRjBFNDYxMkE4OTI2MTAwREIx
NzA5IC8qIE9FU1RleHR1cmVGbG9hdC5oICovLAogCQkJCTZFQkYwRTQ3MTJBODkyNjEwMERCMTcw
OSAvKiBPRVNUZXh0dXJlRmxvYXQuaWRsICovLAorCQkJCUEzMUM0RTRDMTZFMDJBQTYwMDJGNzk1
NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCAqLywKKwkJCQlBMzFDNEU0RTE2RTAyQUI0MDAy
Rjc5NTcgLyogT0VTVGV4dHVyZUhhbGZGbG9hdC5oICovLAorCQkJCUEzMUM0RTUwMTZFMDJBQzUw
MDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmlkbCAqLywKIAkJCQk3N0ExN0E2RTEyRjI4
MTgyMDA0RTAyRjYgLyogT0VTVmVydGV4QXJyYXlPYmplY3QuY3BwICovLAogCQkJCTc3QTE3QTZG
MTJGMjgxODIwMDRFMDJGNiAvKiBPRVNWZXJ0ZXhBcnJheU9iamVjdC5oICovLAogCQkJCTc3QTE3
QTcwMTJGMjgxODIwMDRFMDJGNiAvKiBPRVNWZXJ0ZXhBcnJheU9iamVjdC5pZGwgKi8sCkBAIC0x
OTE3Nyw2ICsxOTE4OCw4IEBACiAJCQkJOTAwMTc4N0YxMkUwMzcwNzAwNjQ4NDYyIC8qIEpTT0VT
U3RhbmRhcmREZXJpdmF0aXZlcy5oICovLAogCQkJCTZFQkYwRTc0MTJBOTg2ODgwMERCMTcwOSAv
KiBKU09FU1RleHR1cmVGbG9hdC5jcHAgKi8sCiAJCQkJNkVCRjBFNzUxMkE5ODY4ODAwREIxNzA5
IC8qIEpTT0VTVGV4dHVyZUZsb2F0LmggKi8sCisJCQkJQTMxQzRFNTExNkUwMkIwODAwMkY3OTU3
IC8qIEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAgKi8sCisJCQkJQTMxQzRFNTMxNkUwMkI0MDAw
MkY3OTU3IC8qIEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5oICovLAogCQkJCTc3QTE3QUEyMTJGMjhC
MkEwMDRFMDJGNiAvKiBKU09FU1ZlcnRleEFycmF5T2JqZWN0LmNwcCAqLywKIAkJCQk3N0ExN0FB
MzEyRjI4QjJBMDA0RTAyRjYgLyogSlNPRVNWZXJ0ZXhBcnJheU9iamVjdC5oICovLAogCQkJCUI2
NThGRjlGMTUyMkVGM0EwMERENTU5NSAvKiBKU1JhZGlvTm9kZUxpc3QuY3BwICovLApAQCAtMjY2
MzUsNyArMjY2NDgsOSBAQAogCQkJCUZENTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9s
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFCOENENDYxNkQwNDU5MTAwMEU4Q0MwIC8qIFNlbGVj
dG9yQ2hlY2tlckZhc3RQYXRoLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTE0MDI1NzE2OEUwMkVD
MDAyRDZDNkEgLyogVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQTAyNDU3NTIxNkNFQUEyNzAwMEU1Njcx
IC8qIEVYVERyYXdCdWZmZXJzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMDI0NTc1MjE2Q0VBQTI3
MDAwRTU2NzEgLyogRVhURHJhd0J1ZmZlcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUEzMUM0RTRG
MTZFMDJBQjQwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmggaW4gSGVhZGVycyAqLywK
KwkJCQlBMzFDNEU1NDE2RTAyQjQwMDAyRjc5NTcgLyogSlNPRVNUZXh0dXJlSGFsZkZsb2F0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKQEAgLTI5ODMxLDcgKzI5ODQ2LDkgQEAKIAkJCQk0MUI4Q0Q0NTE2RDA0
NTkxMDAwRThDQzAgLyogU2VsZWN0b3JDaGVja2VyRmFzdFBhdGguY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNDkxNDAyNTYxNjhFMDJFODAwMkQ2QzZBIC8qIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTRBOTRENzE2REZERjk1MDA2OERFODIgLyog
QmxvYlJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBBMDI0NTc1MTE2Q0VBQTI3MDAwRTU2NzEgLyogRVhURHJhd0J1ZmZlcnMuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQTAyNDU3NTExNkNFQUEyNzAwMEU1NjcxIC8qIEVYVERyYXdCdWZm
ZXJzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUEzMUM0RTREMTZFMDJBQTYwMDJGNzk1NyAvKiBP
RVNUZXh0dXJlSGFsZkZsb2F0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUEzMUM0RTUyMTZFMDJC
MDgwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVy
aW5nQ29udGV4dEN1c3RvbS5jcHAKaW5kZXggOGEzNTAzYTE0MmRiYmY0MmY4YmI3ZmE4NWVlYzE2
YWE3OGRiNmQzMS4uYjI3ZjJiMTE2ZTNmMzFhMTgyMzZkOGMwNzFkMTJiZDhiYWYzNmZkYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRl
eHRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Q3VzdG9tLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIkpTT0VT
RWxlbWVudEluZGV4VWludC5oIgogI2luY2x1ZGUgIkpTT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5o
IgogI2luY2x1ZGUgIkpTT0VTVGV4dHVyZUZsb2F0LmgiCisjaW5jbHVkZSAiSlNPRVNUZXh0dXJl
SGFsZkZsb2F0LmgiCiAjaW5jbHVkZSAiSlNPRVNWZXJ0ZXhBcnJheU9iamVjdC5oIgogI2luY2x1
ZGUgIkpTVWludDMyQXJyYXkuaCIKICNpbmNsdWRlICJKU1VpbnQ4QXJyYXkuaCIKQEAgLTYzLDYg
KzY0LDcgQEAKICNpbmNsdWRlICJPRVNFbGVtZW50SW5kZXhVaW50LmgiCiAjaW5jbHVkZSAiT0VT
U3RhbmRhcmREZXJpdmF0aXZlcy5oIgogI2luY2x1ZGUgIk9FU1RleHR1cmVGbG9hdC5oIgorI2lu
Y2x1ZGUgIk9FU1RleHR1cmVIYWxmRmxvYXQuaCIKICNpbmNsdWRlICJPRVNWZXJ0ZXhBcnJheU9i
amVjdC5oIgogI2luY2x1ZGUgIldlYkdMQnVmZmVyLmgiCiAjaW5jbHVkZSAiV2ViR0xDb21wcmVz
c2VkVGV4dHVyZVMzVEMuaCIKQEAgLTIwNCw2ICsyMDYsOCBAQCBzdGF0aWMgSlNWYWx1ZSB0b0pT
KEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgV2ViR0xF
eHRlbgogICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0
PE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMqPihleHRlbnNpb24pKTsKICAgICBjYXNlIFdlYkdMRXh0
ZW5zaW9uOjpPRVNUZXh0dXJlRmxvYXROYW1lOgogICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBn
bG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PE9FU1RleHR1cmVGbG9hdCo+KGV4dGVuc2lvbikpOwor
ICAgIGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1RleHR1cmVIYWxmRmxvYXROYW1lOgorICAgICAg
ICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PE9FU1RleHR1cmVI
YWxmRmxvYXQqPihleHRlbnNpb24pKTsKICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNWZXJ0
ZXhBcnJheU9iamVjdE5hbWU6CiAgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVj
dCwgc3RhdGljX2Nhc3Q8T0VTVmVydGV4QXJyYXlPYmplY3QqPihleHRlbnNpb24pKTsKICAgICBj
YXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNFbGVtZW50SW5kZXhVaW50TmFtZToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4
dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJl
bmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCmluZGV4IGEyNjk5NGNlMGYxMDllMjRiYTU4ZmYxNTgy
OWFjOTFhNzM0ZDliYjkuLjVhN2NiYTY5MjE3NzUzZGY5NWIxYzI4MWVjNjVhMDgwMmIyODJhZjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVu
ZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcApAQCAtNTEsNiArNTEsNyBA
QAogI2luY2x1ZGUgIlY4T0VTRWxlbWVudEluZGV4VWludC5oIgogI2luY2x1ZGUgIlY4T0VTU3Rh
bmRhcmREZXJpdmF0aXZlcy5oIgogI2luY2x1ZGUgIlY4T0VTVGV4dHVyZUZsb2F0LmgiCisjaW5j
bHVkZSAiVjhPRVNUZXh0dXJlSGFsZkZsb2F0LmgiCiAjaW5jbHVkZSAiVjhPRVNWZXJ0ZXhBcnJh
eU9iamVjdC5oIgogI2luY2x1ZGUgIlY4VWludDE2QXJyYXkuaCIKICNpbmNsdWRlICJWOFVpbnQz
MkFycmF5LmgiCkBAIC0xOTMsNiArMTk0LDEwIEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdG9WOE9iamVjdChXZWJHTEV4dGVuc2lvbiogZXh0ZW5zaW9uLCB2ODo6SGFuZGxlPHY4CiAg
ICAgICAgIGV4dGVuc2lvbk9iamVjdCA9IHRvVjgoc3RhdGljX2Nhc3Q8T0VTVGV4dHVyZUZsb2F0
Kj4oZXh0ZW5zaW9uKSwgY29udGV4dE9iamVjdCwgaXNvbGF0ZSk7CiAgICAgICAgIHJlZmVyZW5j
ZU5hbWUgPSAib2VzVGV4dHVyZUZsb2F0TmFtZSI7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
V2ViR0xFeHRlbnNpb246Ok9FU1RleHR1cmVIYWxmRmxvYXROYW1lOgorICAgICAgICBleHRlbnNp
b25PYmplY3QgPSB0b1Y4KHN0YXRpY19jYXN0PE9FU1RleHR1cmVIYWxmRmxvYXQqPihleHRlbnNp
b24pLCBjb250ZXh0T2JqZWN0LCBpc29sYXRlKTsKKyAgICAgICAgcmVmZXJlbmNlTmFtZSA9ICJv
ZXNUZXh0dXJlSGFsZkZsb2F0TmFtZSI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgV2ViR0xF
eHRlbnNpb246Ok9FU1ZlcnRleEFycmF5T2JqZWN0TmFtZToKICAgICAgICAgZXh0ZW5zaW9uT2Jq
ZWN0ID0gdG9WOChzdGF0aWNfY2FzdDxPRVNWZXJ0ZXhBcnJheU9iamVjdCo+KGV4dGVuc2lvbiks
IGNvbnRleHRPYmplY3QsIGlzb2xhdGUpOwogICAgICAgICByZWZlcmVuY2VOYW1lID0gIm9lc1Zl
cnRleEFycmF5T2JqZWN0TmFtZSI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L09FU1RleHR1cmVIYWxmRmxvYXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiZGYwMTZmOWMxMGI5MWRlYzk3
MjYwMzRjNTc4NDUxYTZlZTM4MzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmNwcApAQCAtMCwwICsxLDU1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIE1vdG9yb2xhIE1vYmlsaXR5IExMQy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICog
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoV0VCR0wpCisK
KyNpbmNsdWRlICJPRVNUZXh0dXJlSGFsZkZsb2F0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworT0VTVGV4dHVyZUhhbGZGbG9hdDo6T0VTVGV4dHVyZUhhbGZGbG9hdChXZWJHTFJlbmRlcmlu
Z0NvbnRleHQqIGNvbnRleHQpCisgICAgOiBXZWJHTEV4dGVuc2lvbihjb250ZXh0KQoreworfQor
CitPRVNUZXh0dXJlSGFsZkZsb2F0Ojp+T0VTVGV4dHVyZUhhbGZGbG9hdCgpCit7Cit9CisKK1dl
YkdMRXh0ZW5zaW9uOjpFeHRlbnNpb25OYW1lIE9FU1RleHR1cmVIYWxmRmxvYXQ6OmdldE5hbWUo
KSBjb25zdAoreworICAgIHJldHVybiBPRVNUZXh0dXJlSGFsZkZsb2F0TmFtZTsKK30KKworUGFz
c093blB0cjxPRVNUZXh0dXJlSGFsZkZsb2F0PiBPRVNUZXh0dXJlSGFsZkZsb2F0OjpjcmVhdGUo
V2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0KQoreworICAgIHJldHVybiBhZG9wdFB0cihu
ZXcgT0VTVGV4dHVyZUhhbGZGbG9hdChjb250ZXh0KSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MDk3ODE5OTA1OGFk
OTI3YWQwYjgyYmViMDFjZDUyM2QwNzM2OTA3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5oCkBAIC0wLDAgKzEsNDcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgTW90b3JvbGEgTW9iaWxpdHkgTExDLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
CisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisg
KiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgT0VTVGV4dHVyZUhhbGZGbG9hdF9oCisjZGVmaW5l
IE9FU1RleHR1cmVIYWxmRmxvYXRfaAorCisjaW5jbHVkZSAiV2ViR0xFeHRlbnNpb24uaCIKKyNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IE9FU1RleHR1cmVIYWxmRmxvYXQgOiBwdWJsaWMgV2ViR0xFeHRlbnNpb24geworcHVibGljOgor
ICAgIHN0YXRpYyBQYXNzT3duUHRyPE9FU1RleHR1cmVIYWxmRmxvYXQ+IGNyZWF0ZShXZWJHTFJl
bmRlcmluZ0NvbnRleHQqKTsKKworICAgIHZpcnR1YWwgfk9FU1RleHR1cmVIYWxmRmxvYXQoKTsK
KyAgICB2aXJ0dWFsIEV4dGVuc2lvbk5hbWUgZ2V0TmFtZSgpIGNvbnN0OworCitwcml2YXRlOgor
ICAgIE9FU1RleHR1cmVIYWxmRmxvYXQoV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBPRVNUZXh0dXJlSGFsZkZsb2F0X2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxv
YXQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5p
ZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDNhNjcyMzRmMDcyNDZmNjc1YTQwYTNiMTMxZGFjOTFmZTI5N2FlNwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVI
YWxmRmxvYXQuaWRsCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMg
TW90b3JvbGEgTW9iaWxpdHkgTExDLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICog
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBD
b25kaXRpb25hbD1XRUJHTCwKKyAgICBKU0dlbmVyYXRlSXNSZWFjaGFibGU9SW1wbENvbnRleHQs
CisgICAgT21pdENvbnN0cnVjdG9yCitdIGludGVyZmFjZSBPRVNUZXh0dXJlSGFsZkZsb2F0IHsK
K307ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMRXh0ZW5zaW9uLmgKaW5kZXggMDNjODM2YWM0NmI3MTJmNWM1NTAyOTA2NWRmZDYx
ZTA2MzU1OTVjOS4uYWZjNGU2YWViMzlkYzUzNDM0MGEyNjNkYjU2M2I0YzE5YTRiMmRkYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCkBAIC0zOSw2ICsz
OSw3IEBAIHB1YmxpYzoKICAgICAgICAgRVhURHJhd0J1ZmZlcnNOYW1lLAogICAgICAgICBFWFRU
ZXh0dXJlRmlsdGVyQW5pc290cm9waWNOYW1lLAogICAgICAgICBPRVNUZXh0dXJlRmxvYXROYW1l
LAorICAgICAgICBPRVNUZXh0dXJlSGFsZkZsb2F0TmFtZSwKICAgICAgICAgT0VTU3RhbmRhcmRE
ZXJpdmF0aXZlc05hbWUsCiAgICAgICAgIE9FU1ZlcnRleEFycmF5T2JqZWN0TmFtZSwKICAgICAg
ICAgV2ViR0xEZWJ1Z1JlbmRlcmVySW5mb05hbWUsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCBkZWI2NGIxMDI0MWEx
NGU4N2Y3ZWUyYjQzYTEzMGE2ZjYwYTExZDU1Li5iYzExYmJkOTNiZTQ0YThiNmZjNmM4NWFmNDI3
ZTdkMjhlZDYyZDUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlICJPRVNF
bGVtZW50SW5kZXhVaW50LmgiCiAjaW5jbHVkZSAiT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5oIgog
I2luY2x1ZGUgIk9FU1RleHR1cmVGbG9hdC5oIgorI2luY2x1ZGUgIk9FU1RleHR1cmVIYWxmRmxv
YXQuaCIKICNpbmNsdWRlICJPRVNWZXJ0ZXhBcnJheU9iamVjdC5oIgogI2luY2x1ZGUgIlBhZ2Uu
aCIKICNpbmNsdWRlICJSZW5kZXJCb3guaCIKQEAgLTIzODIsNiArMjM4MywxNCBAQCBXZWJHTEV4
dGVuc2lvbiogV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24oY29uc3QgU3RyaW5n
JiBuYW1lKQogICAgICAgICB9CiAgICAgICAgIHJldHVybiBtX29lc1RleHR1cmVGbG9hdC5nZXQo
KTsKICAgICB9CisgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJPRVNfdGV4dHVyZV9o
YWxmX2Zsb2F0IikKKyAgICAgICAgJiYgbV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCktPnN1cHBv
cnRzKCJHTF9PRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IikpIHsKKyAgICAgICAgaWYgKCFtX29lc1Rl
eHR1cmVIYWxmRmxvYXQpIHsKKyAgICAgICAgICAgIG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygp
LT5lbnN1cmVFbmFibGVkKCJHTF9PRVNfdGV4dHVyZV9oYWxmX2Zsb2F0Iik7CisgICAgICAgICAg
ICBtX29lc1RleHR1cmVIYWxmRmxvYXQgPSBPRVNUZXh0dXJlSGFsZkZsb2F0OjpjcmVhdGUodGhp
cyk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG1fb2VzVGV4dHVyZUhhbGZGbG9hdC5nZXQo
KTsKKyAgICB9CiAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJPRVNfdmVydGV4X2Fy
cmF5X29iamVjdCIpCiAgICAgICAgICYmIG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLT5zdXBw
b3J0cygiR0xfT0VTX3ZlcnRleF9hcnJheV9vYmplY3QiKSkgewogICAgICAgICBpZiAoIW1fb2Vz
VmVydGV4QXJyYXlPYmplY3QpIHsKQEAgLTM3NjcsNiArMzc3NiwxMyBAQCB2b2lkIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6dGV4SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWws
IEdDM0RlbnVtCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoIXZhbGlkYXRlU2V0dGFibGVUZXhG
b3JtYXQoInRleEltYWdlMkQiLCBmb3JtYXQpKQogICAgICAgICByZXR1cm47CisgICAgLy8gRklY
TUU6IFVwbG9hZGluZyBJbWFnZURhdGEgdG8gaGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGlz
IG5vdCBzdXBwb3J0ZWQgeWV0CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExMDkzNgorICAgIGlmICh0eXBlID09IEdyYXBoaWNzQ29udGV4dDNEOjpIQUxG
X0ZMT0FUX09FUykgeworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQz
RDo6SU5WQUxJRF9PUEVSQVRJT04sICJ0ZXhJbWFnZTJEIiwgIk9wZXJhdGlvbiBub3Qgc3VwcG9y
dGVkIHlldCIpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgYm9vbCBuZWVkQ29udmVy
c2lvbiA9IHRydWU7CiAgICAgLy8gVGhlIGRhdGEgZnJvbSBJbWFnZURhdGEgaXMgYWx3YXlzIG9m
IGZvcm1hdCBSR0JBOC4KICAgICAvLyBObyBjb252ZXJzaW9uIGlzIG5lZWRlZCBpZiBkZXN0aW5h
dGlvbiBmb3JtYXQgaXMgUkdCQSBhbmQgdHlwZSBpcyBVU0lHTkVEX0JZVEUgYW5kIG5vIEZsaXAg
b3IgUHJlbXVsdGlwbHkgb3BlcmF0aW9uIGlzIHJlcXVpcmVkLgpAQCAtMzc5Nyw2ICszODEzLDEy
IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJEKEdDM0RlbnVtIHRhcmdl
dCwgR0MzRGludCBsZXZlbCwgR0MzRGVudW0KICAgICAgICAgZWMgPSBTRUNVUklUWV9FUlI7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CisgICAgLy8gVXBsb2FkaW5nIEltYWdlRWxlbWVudCB0byBo
YWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgaXMgbm90IHN1cHBvcnRlZCB5ZXQKKyAgICAvLyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExMTk0CisgICAgaWYgKHR5
cGUgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkhBTEZfRkxPQVRfT0VTKSB7CisgICAgICAgIHN5bnRo
ZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgInRleElt
YWdlMkQiLCAiT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQgeWV0Iik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CiAKICAgICB0ZXhJbWFnZTJESW1wbCh0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1h
dCwgZm9ybWF0LCB0eXBlLCBpbWFnZS0+Y2FjaGVkSW1hZ2UoKS0+aW1hZ2VGb3JSZW5kZXJlcihp
bWFnZS0+cmVuZGVyZXIoKSksIEdyYXBoaWNzQ29udGV4dDNEOjpIdG1sRG9tSW1hZ2UsIG1fdW5w
YWNrRmxpcFksIG1fdW5wYWNrUHJlbXVsdGlwbHlBbHBoYSwgZWMpOwogfQpAQCAtMzgxOSw2ICsz
ODQxLDEyIEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJEKEdDM0RlbnVt
IHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGVudW0KICAgICAgICAgcmV0dXJuOwogICAgIGlm
ICghdmFsaWRhdGVTZXR0YWJsZVRleEZvcm1hdCgidGV4SW1hZ2UyRCIsIGZvcm1hdCkpCiAgICAg
ICAgIHJldHVybjsKKyAgICAvLyBVcGxvYWRpbmcgSFRNTENhbnZhc0VsZW1lbnQgdG8gaGFsZiBm
bG9hdGluZyBwb2ludCB0ZXh0dXJlIGlzIG5vdCBzdXBwb3J0ZWQgeWV0CisgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTE5NgorICAgIGlmICh0eXBlID09
IEdyYXBoaWNzQ29udGV4dDNEOjpIQUxGX0ZMT0FUX09FUykgeworICAgICAgICBzeW50aGVzaXpl
R0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICJ0ZXhJbWFnZTJE
IiwgIk9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIHlldCIpOworICAgICAgICByZXR1cm47CisgICAg
fQogCiAgICAgV2ViR0xUZXh0dXJlKiB0ZXh0dXJlID0gdmFsaWRhdGVUZXh0dXJlQmluZGluZygi
dGV4SW1hZ2UyRCIsIHRhcmdldCwgdHJ1ZSk7CiAgICAgLy8gSWYgcG9zc2libGUsIGNvcHkgZnJv
bSB0aGUgY2FudmFzIGVsZW1lbnQgZGlyZWN0bHkgdG8gdGhlIHRleHR1cmUKQEAgLTM4NzUsNiAr
MzkwMywxMyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4SW1hZ2UyRChHQzNEZW51
bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVtCiAgICAgUmVmUHRyPEltYWdlPiBpbWFn
ZSA9IHZpZGVvRnJhbWVUb0ltYWdlKHZpZGVvLCBJbWFnZUJ1ZmZlcjo6ZmFzdENvcHlJbWFnZU1v
ZGUoKSwgZWMpOwogICAgIGlmICghaW1hZ2UpCiAgICAgICAgIHJldHVybjsKKyAgICAvLyBVcGxv
YWRpbmcgSFRNTFZpZGVvRWxlbWVudCB0byBoYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgaXMg
bm90IHN1cHBvcnRlZCB5ZXQKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTExMTk3CisgICAgaWYgKHR5cGUgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkhBTEZf
RkxPQVRfT0VTKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNE
OjpJTlZBTElEX09QRVJBVElPTiwgInRleEltYWdlMkQiLCAiT3BlcmF0aW9uIG5vdCBzdXBwb3J0
ZWQgeWV0Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICB0ZXhJbWFnZTJESW1wbCh0
YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgZm9ybWF0LCB0eXBlLCBpbWFnZS5nZXQoKSwg
R3JhcGhpY3NDb250ZXh0M0Q6Okh0bWxEb21WaWRlbywgbV91bnBhY2tGbGlwWSwgbV91bnBhY2tQ
cmVtdWx0aXBseUFscGhhLCBlYyk7CiB9CiAjZW5kaWYKQEAgLTQwMjksNiArNDA2NCwxMyBAQCB2
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJnZXQs
IEdDM0RpbnQgbGV2ZWwsIEdDM0RpbgogICAgICAgICByZXR1cm47CiAgICAgaWYgKCF2YWxpZGF0
ZVNldHRhYmxlVGV4Rm9ybWF0KCJ0ZXhTdWJJbWFnZTJEIiwgZm9ybWF0KSkKICAgICAgICAgcmV0
dXJuOworICAgIC8vIFVwbG9hZGluZyBJbWFnZURhdGEgdG8gaGFsZiBmbG9hdGluZyBwb2ludCB0
ZXh0dXJlIGlzIG5vdCBzdXBwb3J0ZWQgeWV0CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExMDkzNgorICAgIGlmICh0eXBlID09IEdyYXBoaWNzQ29udGV4
dDNEOjpIQUxGX0ZMT0FUX09FUykgeworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGlj
c0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICJ0ZXhTdWJJbWFnZTJEIiwgIk9wZXJhdGlv
biBub3Qgc3VwcG9ydGVkIHlldCIpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgVmVj
dG9yPHVpbnQ4X3Q+IGRhdGE7CiAgICAgYm9vbCBuZWVkQ29udmVyc2lvbiA9IHRydWU7CiAgICAg
Ly8gVGhlIGRhdGEgZnJvbSBJbWFnZURhdGEgaXMgYWx3YXlzIG9mIGZvcm1hdCBSR0JBOC4KQEAg
LTQwNjAsNiArNDEwMiwxMyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4U3ViSW1h
Z2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbgogICAgICAgICBlYyA9
IFNFQ1VSSVRZX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyAgICAvLyBVcGxvYWRpbmcg
SFRNTEltYWdlRWxlbWVudCB0byBoYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgaXMgbm90IHN1
cHBvcnRlZCB5ZXQKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTExMTk0CisgICAgaWYgKHR5cGUgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkhBTEZfRkxPQVRf
T0VTKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZB
TElEX09QRVJBVElPTiwgInRleFN1YkltYWdlMkQiLCAiT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQg
eWV0Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICB0ZXhTdWJJbWFnZTJESW1wbCh0
YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCBmb3JtYXQsIHR5cGUsIGltYWdlLT5jYWNo
ZWRJbWFnZSgpLT5pbWFnZUZvclJlbmRlcmVyKGltYWdlLT5yZW5kZXJlcigpKSwgR3JhcGhpY3ND
b250ZXh0M0Q6Okh0bWxEb21JbWFnZSwgbV91bnBhY2tGbGlwWSwgbV91bnBhY2tQcmVtdWx0aXBs
eUFscGhhLCBlYyk7CiB9CiAKQEAgLTQwODEsNiArNDEzMCwxMyBAQCB2b2lkIFdlYkdMUmVuZGVy
aW5nQ29udGV4dDo6dGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWws
IEdDM0RpbgogICAgICAgICByZXR1cm47CiAgICAgaWYgKCF2YWxpZGF0ZVNldHRhYmxlVGV4Rm9y
bWF0KCJ0ZXhTdWJJbWFnZTJEIiwgZm9ybWF0KSkKICAgICAgICAgcmV0dXJuOworICAgIC8vIFVw
bG9hZGluZyBIVE1MQ2FudmFzRWxlbWVudCB0byBoYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUg
aXMgbm90IHN1cHBvcnRlZCB5ZXQKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTExMTk2CisgICAgaWYgKHR5cGUgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkhB
TEZfRkxPQVRfT0VTKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4
dDNEOjpJTlZBTElEX09QRVJBVElPTiwgInRleFN1YkltYWdlMkQiLCAiT3BlcmF0aW9uIG5vdCBz
dXBwb3J0ZWQgeWV0Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBSZWZQdHI8SW1h
Z2VEYXRhPiBpbWFnZURhdGEgPSBjYW52YXMtPmdldEltYWdlRGF0YSgpOwogICAgIGlmIChpbWFn
ZURhdGEpCiAgICAgICAgIHRleFN1YkltYWdlMkQodGFyZ2V0LCBsZXZlbCwgeG9mZnNldCwgeW9m
ZnNldCwgZm9ybWF0LCB0eXBlLCBpbWFnZURhdGEuZ2V0KCksIGVjKTsKQEAgLTQwOTgsNiArNDE1
NCwxMyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4U3ViSW1hZ2UyRChHQzNEZW51
bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbgogICAgIFJlZlB0cjxJbWFnZT4gaW1hZ2Ug
PSB2aWRlb0ZyYW1lVG9JbWFnZSh2aWRlbywgSW1hZ2VCdWZmZXI6OmZhc3RDb3B5SW1hZ2VNb2Rl
KCksIGVjKTsKICAgICBpZiAoIWltYWdlKQogICAgICAgICByZXR1cm47CisgICAgLy8gVXBsb2Fk
aW5nIEhUTUxWaWRlb0VsZW1lbnQgdG8gaGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGlzIG5v
dCBzdXBwb3J0ZWQgeWV0CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMTE5NworICAgIGlmICh0eXBlID09IEdyYXBoaWNzQ29udGV4dDNEOjpIQUxGX0ZM
T0FUX09FUykgeworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6
SU5WQUxJRF9PUEVSQVRJT04sICJ0ZXhTdWJJbWFnZTJEIiwgIk9wZXJhdGlvbiBub3Qgc3VwcG9y
dGVkIHlldCIpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgdGV4U3ViSW1hZ2UyRElt
cGwodGFyZ2V0LCBsZXZlbCwgeG9mZnNldCwgeW9mZnNldCwgZm9ybWF0LCB0eXBlLCBpbWFnZS5n
ZXQoKSwgR3JhcGhpY3NDb250ZXh0M0Q6Okh0bWxEb21WaWRlbywgbV91bnBhY2tGbGlwWSwgbV91
bnBhY2tQcmVtdWx0aXBseUFscGhhLCBlYyk7CiB9CiAjZW5kaWYKQEAgLTQ5ODAsNiArNTA0Mywx
MSBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVUZXhGdW5jRm9ybWF0QW5k
VHlwZShjb25zdCBjaGFyKiBmdW5jdGlvbk5hbQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX0VOVU0sIGZ1bmN0
aW9uTmFtZSwgImludmFsaWQgdGV4dHVyZSB0eXBlIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpIQUxGX0ZMT0FUX09FUzoKKyAgICAgICAgaWYg
KG1fb2VzVGV4dHVyZUhhbGZGbG9hdCkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBzeW50
aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNLCBmdW5jdGlvbk5h
bWUsICJpbnZhbGlkIHRleHR1cmUgdHlwZSIpOworICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfSU5UOgogICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OlVOU0lHTkVEX0lOVF8yNF84OgogICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OlVOU0lHTkVEX1NIT1JUOgpAQCAtNDk5OCw3ICs1MDY2LDggQEAgYm9vbCBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OnZhbGlkYXRlVGV4RnVuY0Zvcm1hdEFuZFR5cGUoY29uc3QgY2hhciogZnVuY3Rp
b25OYW0KICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpMVU1JTkFOQ0U6CiAgICAgY2FzZSBH
cmFwaGljc0NvbnRleHQzRDo6TFVNSU5BTkNFX0FMUEhBOgogICAgICAgICBpZiAodHlwZSAhPSBH
cmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfQllURQotICAgICAgICAgICAgJiYgdHlwZSAhPSBH
cmFwaGljc0NvbnRleHQzRDo6RkxPQVQpIHsKKyAgICAgICAgICAgICYmIHR5cGUgIT0gR3JhcGhp
Y3NDb250ZXh0M0Q6OkZMT0FUCisgICAgICAgICAgICAmJiB0eXBlICE9IEdyYXBoaWNzQ29udGV4
dDNEOjpIQUxGX0ZMT0FUX09FUykgewogICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3Jh
cGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCBmdW5jdGlvbk5hbWUsICJpbnZhbGlk
IHR5cGUgZm9yIGZvcm1hdCIpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9
CkBAIC01MDA2LDcgKzUwNzUsOCBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRh
dGVUZXhGdW5jRm9ybWF0QW5kVHlwZShjb25zdCBjaGFyKiBmdW5jdGlvbk5hbQogICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0M0Q6OlJHQjoKICAgICAgICAgaWYgKHR5cGUgIT0gR3JhcGhpY3NDb250
ZXh0M0Q6OlVOU0lHTkVEX0JZVEUKICAgICAgICAgICAgICYmIHR5cGUgIT0gR3JhcGhpY3NDb250
ZXh0M0Q6OlVOU0lHTkVEX1NIT1JUXzVfNl81Ci0gICAgICAgICAgICAmJiB0eXBlICE9IEdyYXBo
aWNzQ29udGV4dDNEOjpGTE9BVCkgeworICAgICAgICAgICAgJiYgdHlwZSAhPSBHcmFwaGljc0Nv
bnRleHQzRDo6RkxPQVQKKyAgICAgICAgICAgICYmIHR5cGUgIT0gR3JhcGhpY3NDb250ZXh0M0Q6
OkhBTEZfRkxPQVRfT0VTKSB7CiAgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGlj
c0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sIGZ1bmN0aW9uTmFtZSwgImludmFsaWQgdHlw
ZSBmb3IgUkdCIGZvcm1hdCIpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9
CkBAIC01MDE1LDcgKzUwODUsOCBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRh
dGVUZXhGdW5jRm9ybWF0QW5kVHlwZShjb25zdCBjaGFyKiBmdW5jdGlvbk5hbQogICAgICAgICBp
ZiAodHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfQllURQogICAgICAgICAgICAg
JiYgdHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfU0hPUlRfNF80XzRfNAogICAg
ICAgICAgICAgJiYgdHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfU0hPUlRfNV81
XzVfMQotICAgICAgICAgICAgJiYgdHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6RkxPQVQpIHsK
KyAgICAgICAgICAgICYmIHR5cGUgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OkZMT0FUCisgICAgICAg
ICAgICAmJiB0eXBlICE9IEdyYXBoaWNzQ29udGV4dDNEOjpIQUxGX0ZMT0FUX09FUykgewogICAg
ICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BF
UkFUSU9OLCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIHR5cGUgZm9yIFJHQkEgZm9ybWF0Iik7CiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KQEAgLTUxODUsNiArNTI1NiwxNCBA
QCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVUZXhGdW5jRGF0YShjb25zdCBj
aGFyKiBmdW5jdGlvbk5hbWUsIEdDM0RpbgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
ICAgICB9CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkhBTEZf
RkxPQVRfT0VTOiAvLyBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0CisgICAgICAgIC8vIEFzIHBlciB0
aGUgc3BlY2lmaWNhdGlvbiwgQXJyYXlCdWZmZXJWaWV3IHNob3VsZCBiZSBudWxsIHdoZW4KKyAg
ICAgICAgLy8gT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBpcyBlbmFibGVkLgorICAgICAgICBpZiAo
cGl4ZWxzKSB7CisgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQz
RDo6SU5WQUxJRF9PUEVSQVRJT04sIGZ1bmN0aW9uTmFtZSwgInR5cGUgSEFMRl9GTE9BVF9PRVMg
YnV0IEFycmF5QnVmZmVyVmlldyBpcyBub3QgTlVMTCIpOworICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICB9CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgKaW5kZXggM2JjZTUzNDRkNGUwMGIwMmM4MTNh
Mzg0MDQ4MWVjZmU4NmEyZWQwZC4uZWNmOGNmZmY5OWFhZGNiNGZmZjdkN2ZiMWM1ZTUzOTBiMzJj
MmNmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmgKQEAgLTUxLDYgKzUxLDcgQEAgY2xhc3MgSW1hZ2VEYXRhOwogY2xhc3MgSW50
U2l6ZTsKIGNsYXNzIE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXM7CiBjbGFzcyBPRVNUZXh0dXJlRmxv
YXQ7CitjbGFzcyBPRVNUZXh0dXJlSGFsZkZsb2F0OwogY2xhc3MgT0VTVmVydGV4QXJyYXlPYmpl
Y3Q7CiBjbGFzcyBPRVNFbGVtZW50SW5kZXhVaW50OwogY2xhc3MgV2ViR0xBY3RpdmVJbmZvOwpA
QCAtNTE3LDYgKzUxOCw3IEBAIHB1YmxpYzoKICAgICBPd25QdHI8RVhURHJhd0J1ZmZlcnM+IG1f
ZXh0RHJhd0J1ZmZlcnM7CiAgICAgT3duUHRyPEVYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYz4g
bV9leHRUZXh0dXJlRmlsdGVyQW5pc290cm9waWM7CiAgICAgT3duUHRyPE9FU1RleHR1cmVGbG9h
dD4gbV9vZXNUZXh0dXJlRmxvYXQ7CisgICAgT3duUHRyPE9FU1RleHR1cmVIYWxmRmxvYXQ+IG1f
b2VzVGV4dHVyZUhhbGZGbG9hdDsKICAgICBPd25QdHI8T0VTU3RhbmRhcmREZXJpdmF0aXZlcz4g
bV9vZXNTdGFuZGFyZERlcml2YXRpdmVzOwogICAgIE93blB0cjxPRVNWZXJ0ZXhBcnJheU9iamVj
dD4gbV9vZXNWZXJ0ZXhBcnJheU9iamVjdDsKICAgICBPd25QdHI8T0VTRWxlbWVudEluZGV4VWlu
dD4gbV9vZXNFbGVtZW50SW5kZXhVaW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5pZGwKaW5kZXggYjRkNDg5ZGRlYzZkZGE0ZWM2
NjE1NjQyZGM0ZGU0MmI3NTI5Y2MyNi4uYzdhYzZmMWE0MDY0ZmMzMmEzYWUzOWY3ODA1MmE4Nzkz
YzRiMmI4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJpbmdDb250ZXh0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuaWRsCkBAIC0xLDQgKzEsNCBAQAotLyoKKyAvKgogICogQ29weXJpZ2h0
IChDKSAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKQEAgLTIzNyw2ICsyMzcsNyBAQCB0eXBlZGVmIC8qdW5yZXN0cmljdGVkKi8gZmxvYXQgR0xj
bGFtcGY7CiAgICAgY29uc3QgR0xlbnVtIElOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9
IDB4MTQwNDsKICAgICBjb25zdCBHTGVudW0gVU5TSUdORURfSU5UICAgICAgICAgICAgICAgICAg
ID0gMHgxNDA1OwogICAgIGNvbnN0IEdMZW51bSBGTE9BVCAgICAgICAgICAgICAgICAgICAgICAg
ICAgPSAweDE0MDY7CisgICAgY29uc3QgR0xlbnVtIEhBTEZfRkxPQVRfT0VTICAgICAgICAgICAg
ICAgICA9IDB4OEQ2MTsKIAogICAgIC8qIFBpeGVsRm9ybWF0ICovCiAgICAgY29uc3QgR0xlbnVt
IERFUFRIX0NPTVBPTkVOVCAgICAgICAgICAgICAgICA9IDB4MTkwMjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmgKaW5kZXggYjAzM2JjZDczOTU2
ZTI3MzgzYTVmNzQ1ZWJjODJjYThhNWQ2YWYyMy4uZDhkNzdhOTI3ZWVlOGM0NzE3NzMwMzIxMTdm
ZDQ2NDEyZWQ2NzZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRXh0ZW5zaW9uczNELmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
RXh0ZW5zaW9uczNELmgKQEAgLTUzLDYgKzUzLDcgQEAgcHVibGljOgogICAgIC8vICAgR0xfRVhU
X3BhY2tlZF9kZXB0aF9zdGVuY2lsIC8gR0xfT0VTX3BhY2tlZF9kZXB0aF9zdGVuY2lsCiAgICAg
Ly8gICBHTF9BTkdMRV9mcmFtZWJ1ZmZlcl9ibGl0IC8gR0xfQU5HTEVfZnJhbWVidWZmZXJfbXVs
dGlzYW1wbGUKICAgICAvLyAgIEdMX09FU190ZXh0dXJlX2Zsb2F0CisgICAgLy8gICBHTF9PRVNf
dGV4dHVyZV9oYWxmX2Zsb2F0CiAgICAgLy8gICBHTF9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMK
ICAgICAvLyAgIEdMX09FU19yZ2I4X3JnYmE4CiAgICAgLy8gICBHTF9PRVNfdmVydGV4X2FycmF5
X29iamVjdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0M0QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0M0QuY3BwCmluZGV4IDRlMmU0MGQwZDZkZThhNDhmMWVjZmFkYjIxMWE0YzMy
YjhmOGFhYzIuLjRiNWI5ZmQ0ZTI2NzE4NDg3NmFhNjI5YjI2MDVkYzBkZTM1YzU0NzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNE
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQzRC5jcHAKQEAgLTE3Niw2ICsxNzYsOSBAQCBib29sIEdyYXBoaWNzQ29udGV4dDNEOjpjb21w
dXRlRm9ybWF0QW5kVHlwZVBhcmFtZXRlcnMoR0MzRGVudW0gZm9ybWF0LAogICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0M0Q6OkZMT0FUOiAvLyBPRVNfdGV4dHVyZV9mbG9hdAogICAgICAgICAqYnl0
ZXNQZXJDb21wb25lbnQgPSBzaXplb2YoR0MzRGZsb2F0KTsKICAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6SEFMRl9GTE9BVF9PRVM6IC8vIE9FU190ZXh0dXJlX2hh
bGZfZmxvYXQKKyAgICAgICAgKmJ5dGVzUGVyQ29tcG9uZW50ID0gc2l6ZW9mKEdDM0RoYWxmZmxv
YXQpOworICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0M0QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dDNELmgKaW5kZXggNjQ5ZDUwNDE4MzkzN2Q0ZDNjODhhZWJlMjY5ZGMwOTQxZDYw
ZTg1ZS4uZTEyMjhlZmE5Zjg5Y2QxM2QyOTUwNTg2ZDlkMTEyYWNmMGJlNGVjOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5o
CkBAIC0yNTEsNiArMjUxLDcgQEAgcHVibGljOgogICAgICAgICBJTlQgPSAweDE0MDQsCiAgICAg
ICAgIFVOU0lHTkVEX0lOVCA9IDB4MTQwNSwKICAgICAgICAgRkxPQVQgPSAweDE0MDYsCisgICAg
ICAgIEhBTEZfRkxPQVRfT0VTID0gMHg4RDYxLAogICAgICAgICBGSVhFRCA9IDB4MTQwQywKICAg
ICAgICAgREVQVEhfQ09NUE9ORU5UID0gMHgxOTAyLAogICAgICAgICBBTFBIQSA9IDB4MTkwNiwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlw
ZXMzRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlczNE
LmgKaW5kZXggMjAzYTNmZDhhYWI0NWMyNjEwZWM1OGIwNzVlNjVjOWViY2RmMjk3My4uMWZhOGVh
YWIxN2UwNWMzMWRkOTFmZjhlNTVlNGI2YjA4NGUxNjA0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlczNELmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlczNELmgKQEAgLTQxLDYgKzQxLDcg
QEAgdHlwZWRlZiBpbnQgR0MzRGludDsKIHR5cGVkZWYgaW50IEdDM0RzaXplaTsKIHR5cGVkZWYg
dW5zaWduZWQgaW50IEdDM0R1aW50OwogdHlwZWRlZiBmbG9hdCBHQzNEZmxvYXQ7Cit0eXBlZGVm
IHVuc2lnbmVkIHNob3J0IEdDM0RoYWxmZmxvYXQ7CiB0eXBlZGVmIGZsb2F0IEdDM0RjbGFtcGY7
CiB0eXBlZGVmIGludHB0cl90IEdDM0RpbnRwdHI7CiB0eXBlZGVmIGludHB0cl90IEdDM0RzaXpl
aXB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5n
bC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwCmluZGV4IDVjMmZhYmMx
Y2I5MjQyYTBjMjBiYzc1YTdlMDAyMGM3NmE3NjU2NWMuLjYwNWM0ZGFlZWVlZDJhNTNlNzhhNjll
MThhZjEwODA0OGQ5ZGViODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNw
cApAQCAtMjU2LDggKzI1NiwxOSBAQCBib29sIEdyYXBoaWNzQ29udGV4dDNEOjp0ZXhJbWFnZTJE
KEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGVudW0gaW50ZQogICAgICAgICAg
ICAgb3BlbkdMSW50ZXJuYWxGb3JtYXQgPSBHTF9SR0JBMzJGX0FSQjsKICAgICAgICAgZWxzZSBp
ZiAoZm9ybWF0ID09IEdMX1JHQikKICAgICAgICAgICAgIG9wZW5HTEludGVybmFsRm9ybWF0ID0g
R0xfUkdCMzJGX0FSQjsKKyAgICB9IGVsc2UgaWYgKHR5cGUgPT0gSEFMRl9GTE9BVF9PRVMpIHsK
KyAgICAgICAgaWYgKGZvcm1hdCA9PSBHTF9SR0JBKQorICAgICAgICAgICAgb3BlbkdMSW50ZXJu
YWxGb3JtYXQgPSBHTF9SR0JBMTZGX0FSQjsKKyAgICAgICAgZWxzZSBpZiAoZm9ybWF0ID09IEdM
X1JHQikKKyAgICAgICAgICAgIG9wZW5HTEludGVybmFsRm9ybWF0ID0gR0xfUkdCMTZGX0FSQjsK
KyAgICAgICAgZWxzZSBpZiAoZm9ybWF0ID09IEdMX0xVTUlOQU5DRSkKKyAgICAgICAgICAgIG9w
ZW5HTEludGVybmFsRm9ybWF0ID0gR0xfTFVNSU5BTkNFMTZGX0FSQjsKKyAgICAgICAgZWxzZSBp
ZiAoZm9ybWF0ID09IEdMX0FMUEhBKQorICAgICAgICAgICAgb3BlbkdMSW50ZXJuYWxGb3JtYXQg
PSBHTF9BTFBIQTE2Rl9BUkI7CisgICAgICAgIGVsc2UgaWYgKGZvcm1hdCA9PSBHTF9MVU1JTkFO
Q0VfQUxQSEEpCisgICAgICAgICAgICBvcGVuR0xJbnRlcm5hbEZvcm1hdCA9IEdMX0xVTUlOQU5D
RV9BTFBIQTE2Rl9BUkI7CisgICAgICAgIHR5cGUgPSBGTE9BVDsKICAgICB9Ci0KICAgICB0ZXhJ
bWFnZTJERGlyZWN0KHRhcmdldCwgbGV2ZWwsIG9wZW5HTEludGVybmFsRm9ybWF0LCB3aWR0aCwg
aGVpZ2h0LCBib3JkZXIsIGZvcm1hdCwgdHlwZSwgcGl4ZWxzKTsKICAgICByZXR1cm4gdHJ1ZTsK
IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBjMjZmMDQ4ZGViMGMxM2QzYTUwMzg3NjYyNzRjYTE5MWExNDA0ZDE2Li4xMWY0
ZjY1YzgzNjI5ZWI4NDZhN2M0ODI0YWUwZWQxYmZiYzY1MjU3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTMtMDItMjggIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4KKwor
ICAgICAgICBbV2ViR0xdIFN1cHBvcnQgZm9yIHRleEltYWdlMkQgb2YgdHlwZSBIQUxGX0ZMT0FU
X09FUyB3aXRoIEFycmF5QnVmZmVyVmlldy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExMDgxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFzIHBlciBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IHNwZWNpZmlj
YXRpb24gdGV4SW1hZ2UyRCBhbmQgdGV4U3ViSW1hZ2UyRCBlbnRyeQorICAgICAgICBwb2ludHMg
dGFraW5nIEFycmF5QnVmZmVyVmlldyBzaG91bGQgZXh0ZW5kZWQgdG8gYWNjZXB0IG51bGwgd2l0
aCB0aGUgcGl4ZWwgdHlwZQorICAgICAgICBIQUxGX0ZMT0FUX09FUy4KKworICAgICAgICAqIGZh
c3QvY2FudmFzL3dlYmdsL2NvbnN0YW50cy5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dl
YmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LW5vdC1zdXBwb3J0ZWQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4
dHVyZS1oYWxmLWZsb2F0LW5vdC1zdXBwb3J0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtaGFsZi1mbG9hdC5odG1sOiBBZGRlZC4KKwogMjAx
My0wMy0wMSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAg
IEFYOiBVcHN0cmVhbSBpT1MgQWNjZXNzaWJpbGl0eSBsYXlvdXQgdGVzdHMKQEAgLTEyMCw2ICsx
MzcsMjMgQEAKIAogICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6
CiAKKzIwMTMtMDItMjggIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4KKwor
ICAgICAgICBbV2ViR0xdIFN1cHBvcnQgZm9yIHRleEltYWdlMkQgb2YgdHlwZSBIQUxGX0ZMT0FU
X09FUyB3aXRoIEFycmF5QnVmZmVyVmlldy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExMDgxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFzIHBlciBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IHNwZWNpZmlj
YXRpb24gdGV4SW1hZ2UyRCBhbmQgdGV4U3ViSW1hZ2UyRCBlbnRyeQorICAgICAgICBwb2ludHMg
dGFraW5nIEFycmF5QnVmZmVyVmlldyBzaG91bGQgZXh0ZW5kZWQgdG8gYWNjZXB0IG51bGwgd2l0
aCB0aGUgcGl4ZWwgdHlwZQorICAgICAgICBIQUxGX0ZMT0FUX09FUy4KKworICAgICAgICAqIGZh
c3QvY2FudmFzL3dlYmdsL2NvbnN0YW50cy5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dl
YmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LW5vdC1zdXBwb3J0ZWQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4
dHVyZS1oYWxmLWZsb2F0LW5vdC1zdXBwb3J0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtaGFsZi1mbG9hdC5odG1sOiBBZGRlZC4KKwogMjAx
My0wMy0wMSAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBOYXZpZ2F0b3Igc2hvdWxkIHNob3cgdHJlZSBlbGVtZW50IGZvciBl
YWNoIGZvbGRlciBpbiB0aGUgc291cmNlIHBhdGguCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy93ZWJnbC9jb25zdGFudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2NvbnN0YW50cy5odG1sCmluZGV4IDc1YzA5MDMxZmFkOWViNGY2MmUzMjI1NGM1MTc0
NjI1NjMwMzRjMWMuLjhiNmJjOTRiZjY0NTY4MTNmMWFhM2MwODUzNzdiOTI4YjdmNjM0MDUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnN0YW50cy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnN0YW50cy5odG1sCkBAIC0yMTIs
NiArMjEyLDcgQEAgVU5TSUdORURfU0hPUlQgICAgICAgICAgICAgICAgIDogMHgxNDAzLAogSU5U
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMHgxNDA0LAogVU5TSUdORURfSU5UICAgICAg
ICAgICAgICAgICAgIDogMHgxNDA1LAogRkxPQVQgICAgICAgICAgICAgICAgICAgICAgICAgIDog
MHgxNDA2LAorSEFMRl9GTE9BVF9PRVMgICAgICAgICAgICAgICAgIDogMHg4RDYxLAogICAgIAog
ICAgIC8qIFBpeGVsRm9ybWF0ICovCiBERVBUSF9DT01QT05FTlQgICAgICAgICAgICAgICAgOiAw
eDE5MDIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4
dHVyZS1oYWxmLWZsb2F0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmYzk2
NWZkODQ2NWViYmEzOWRkZDNiY2E5NjIzNzA2NjBlMTYyNTQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDg0IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhlIGZ1bmN0aW9u
YWxpdHkgb2YgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCB3aXRoIG51bGwvbm9uLW51bGwgQXJyYXlC
dWZmZXJWaWV3CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFdlYkdMIGNv
bnRleHQgZXhpc3RzCitUZXN0aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZGlz
YWJsZWQsIGZvcm1hdCBSR0JBLCBhbmQgZGF0YSBudWxsLiBFeHBlY3QgRmFpbHVyZQorUEFTUyBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIg
c2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJ
TlZBTElEX0VOVU0gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgbXVzdCBiZSBkaWFsbG93
ZWQgaWYgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBpc24ndCBlbmFibGVkCitQQVNTIFN1Y2Nlc3Nm
dWxseSBlbmFibGVkIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQgZXh0ZW5zaW9uCitUZXN0aW5nIHRl
eHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IFJHQkEsIGFuZCBk
YXRhIG51bGwuIEV4cGVjdCBTdWNjZXNzCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFT
UyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogSGFsZiBmbG9hdGluZyBw
b2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gc2hvdWxkIHN1Y2NlZWQgaWYgT0VTX3RleHR1cmVfaGFs
Zl9mbG9hdCBpcyBlbmFibGVkCitUZXN0aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNp
b24gZW5hYmxlZCwgZm9ybWF0IFJHQiwgYW5kIGRhdGEgbnVsbC4gRXhwZWN0IFN1Y2Nlc3MKK1BB
U1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1l
dGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBzaG91
bGQgc3VjY2VlZCBpZiBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGlzIGVuYWJsZWQKK1Rlc3Rpbmcg
dGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQgTFVNSU5BTkNF
LCBhbmQgZGF0YSBudWxsLiBFeHBlY3QgU3VjY2VzcworUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2Nl
ZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IEhhbGYgZmxv
YXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIHNob3VsZCBzdWNjZWVkIGlmIE9FU190ZXh0
dXJlX2hhbGZfZmxvYXQgaXMgZW5hYmxlZAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGgg
ZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBBTFBIQSwgYW5kIGRhdGEgbnVsbC4gRXhwZWN0IFN1
Y2Nlc3MKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1
cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2Nh
dGlvbiBzaG91bGQgc3VjY2VlZCBpZiBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGlzIGVuYWJsZWQK
K1Rlc3RpbmcgdGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQg
TFVNSU5BTkNFX0FMUEhBLCBhbmQgZGF0YSBudWxsLiBFeHBlY3QgU3VjY2VzcworUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0
dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIHNob3VsZCBzdWNj
ZWVkIGlmIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQgaXMgZW5hYmxlZAorVGVzdGluZyB0ZXh0dXJl
IGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBSR0JBLCBhbmQgZGF0YSBu
b24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNT
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBIYWxmIGZs
b2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFy
cmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGgg
ZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBSR0JBLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0
IEZhaWx1cmUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRl
eHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRl
eHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBp
cyBub3QtbnVsbAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJs
ZWQsIGZvcm1hdCBSR0JBLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1Mg
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVy
IHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
SU5WQUxJRF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlv
biBtdXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAorVGVz
dGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBSR0Is
IGFuZCBkYXRhIG5vbi1udWxsLiBFeHBlY3QgRmFpbHVyZQorUEFTUyBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1
Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElP
TiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIG11c3QgYmUgZGlhbGxv
d2VkIHdoZW4gQXJyYXlCdWZmZXJWaWV3IGlzIG5vdC1udWxsCitUZXN0aW5nIHRleHR1cmUgY3Jl
YXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IFJHQiwgYW5kIGRhdGEgbm9uLW51
bGwuIEV4cGVjdCBGYWlsdXJlCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogSGFsZiBmbG9hdGlu
ZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gbXVzdCBiZSBkaWFsbG93ZWQgd2hlbiBBcnJheUJ1
ZmZlclZpZXcgaXMgbm90LW51bGwKK1Rlc3RpbmcgdGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVu
c2lvbiBlbmFibGVkLCBmb3JtYXQgUkdCLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1
cmUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUg
cGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUg
YWxsb2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3Qt
bnVsbAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZv
cm1hdCBMVU1JTkFOQ0UsIGFuZCBkYXRhIG5vbi1udWxsLiBFeHBlY3QgRmFpbHVyZQorUEFTUyBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIg
c2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJ
TlZBTElEX09QRVJBVElPTiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9u
IG11c3QgYmUgZGlhbGxvd2VkIHdoZW4gQXJyYXlCdWZmZXJWaWV3IGlzIG5vdC1udWxsCitUZXN0
aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IExVTUlO
QU5DRSwgYW5kIGRhdGEgbm9uLW51bGwuIEV4cGVjdCBGYWlsdXJlCitQQVNTIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91
bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BF
UkFUSU9OIDogSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gbXVzdCBiZSBk
aWFsbG93ZWQgd2hlbiBBcnJheUJ1ZmZlclZpZXcgaXMgbm90LW51bGwKK1Rlc3RpbmcgdGV4dHVy
ZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQgTFVNSU5BTkNFLCBhbmQg
ZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVk
CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBI
YWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dlZCB3
aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9u
IHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBBTFBIQSwgYW5kIGRhdGEgbm9uLW51bGwu
IEV4cGVjdCBGYWlsdXJlCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogSGFsZiBmbG9hdGluZyBw
b2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gbXVzdCBiZSBkaWFsbG93ZWQgd2hlbiBBcnJheUJ1ZmZl
clZpZXcgaXMgbm90LW51bGwKK1Rlc3RpbmcgdGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lv
biBlbmFibGVkLCBmb3JtYXQgQUxQSEEsIGFuZCBkYXRhIG5vbi1udWxsLiBFeHBlY3QgRmFpbHVy
ZQorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBw
YXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBh
bGxvY2F0aW9uIG11c3QgYmUgZGlhbGxvd2VkIHdoZW4gQXJyYXlCdWZmZXJWaWV3IGlzIG5vdC1u
dWxsCitUZXN0aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9y
bWF0IEFMUEhBLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVw
IHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJ
RF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBtdXN0
IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAorVGVzdGluZyB0
ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBMVU1JTkFOQ0Vf
QUxQSEEsIGFuZCBkYXRhIG5vbi1udWxsLiBFeHBlY3QgRmFpbHVyZQorUEFTUyBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hv
dWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09Q
RVJBVElPTiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIG11c3QgYmUg
ZGlhbGxvd2VkIHdoZW4gQXJyYXlCdWZmZXJWaWV3IGlzIG5vdC1udWxsCitUZXN0aW5nIHRleHR1
cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IExVTUlOQU5DRV9BTFBI
QSwgYW5kIGRhdGEgbm9uLW51bGwuIEV4cGVjdCBGYWlsdXJlCitQQVNTIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQg
c3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFU
SU9OIDogSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gbXVzdCBiZSBkaWFs
bG93ZWQgd2hlbiBBcnJheUJ1ZmZlclZpZXcgaXMgbm90LW51bGwKK1Rlc3RpbmcgdGV4dHVyZSBj
cmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQgTFVNSU5BTkNFX0FMUEhBLCBh
bmQgZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNj
ZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04g
OiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dl
ZCB3aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAorCitUZXN0aW5nIGhhbGYgZmxvYXRp
bmcgcG9pbnQgcmVuZGVyIHRhcmdldAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1Mg
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IEhhbGYgZmxvYXRpbmcgcG9p
bnQgdGV4dHVyZSBhbGxvY2F0aW9uIHNob3VsZCBzdWNjZWVkIGlmIE9FU190ZXh0dXJlX2hhbGZf
ZmxvYXQgaXMgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SIDogUmVuZGVyaW5nIHRvIGhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBzaG91bGQgc3Vj
Y2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVuZGVy
aW5nIGZyb20gaGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIHNob3VsZCBzdWNjZWVkCitQQVNT
IHNob3VsZCBiZSBncmVlbgorVGVzdGluZyB0aGF0IGdldEV4dGVuc2lvbigpIHJldHVybnMgdGhl
IHNhbWUgb2JqZWN0IGVhY2ggdGltZQorUEFTUyBnbC5nZXRFeHRlbnNpb24oIk9FU190ZXh0dXJl
X2hhbGZfZmxvYXQiKS5teVByb3BlcnR5IGlzIDIKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtbm90LXN1cHBvcnRlZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZs
b2F0LW5vdC1zdXBwb3J0ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmMWIzNTAyYThhYjgz
MTgzOWJhYjg0ZWE3Mjc5MjU2Y2Q0YWUyNzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LW5vdC1zdXBwb3J0ZWQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDAgQEAKK1Rlc3Rpbmcgbm90IHlldCBzdXBwb3J0ZWQg
dGV4dHVyZSB1cGxvYWRzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKK1BBU1Mg
V2ViR0wgY29udGV4dCBleGlzdHMKK1BBU1MgU3VjY2Vzc2Z1bGx5IGVuYWJsZWQgT0VTX3RleHR1
cmVfaGFsZl9mbG9hdCBleHRlbnNpb24KKworVmVyaWZ5IHdoZXRoZXIgdXBsb2FkaW5nIEltYWdl
RGF0YSB2aWEgdGV4SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1cHBvcnRlZAorUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0
dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZB
TElEX09QRVJBVElPTiA6IFVwbG9hZGluZyB0byBoYWxmIGZsb2F0IHRleHR1cmUgaXMgbm90IHll
dCBzdXBwb3J0ZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IFVwbG9hZGluZyBudWxsIEFycmF5QnVmZmVyVmlldyB0byBoYWxmIGZsb2F0IHRleHR1cmUgc2hv
dWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09Q
RVJBVElPTiA6IFVwbG9hZGluZyB0byBoYWxmIGZsb2F0IHRleHR1cmUgdXNpbmcgdGV4U3ViSW1h
Z2UyRCBpcyBub3Qgc3VwcG9ydGVkIHlldAorCitWZXJpZnkgd2hldGhlciB1cGxvYWRpbmcgSFRN
TEltYWdlRWxlbWVudCB2aWEgdGV4SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1cHBvcnRlZAor
CitWZXJpZnkgd2hldGhlciB1cGxvYWRpbmcgSFRNTENhbnZhc0VsZW1lbnQgdmlhIHRleEltYWdl
MkQvdGV4U3ViSW1hZ2UyRCBpcyBzdXBwb3J0ZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVk
CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBV
cGxvYWRpbmcgdG8gaGFsZiBmbG9hdCB0ZXh0dXJlIGlzIG5vdCB5ZXQgc3VwcG9ydGVkCitQQVNT
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBVcGxvYWRpbmcgbnVsbCBB
cnJheUJ1ZmZlclZpZXcgdG8gaGFsZiBmbG9hdCB0ZXh0dXJlIHNob3VsZCBzdWNjZWVkCitQQVNT
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBVcGxvYWRp
bmcgdG8gaGFsZiBmbG9hdCB0ZXh0dXJlIHVzaW5nIHRleFN1YkltYWdlMkQgaXMgbm90IHN1cHBv
cnRlZCB5ZXQKKworVmVyaWZ5IHdoZXRoZXIgdXBsb2FkaW5nIEhUTUxWaWRlb0VsZW1lbnQgdmlh
IHRleEltYWdlMkQvdGV4U3ViSW1hZ2UyRCBpcyBzdXBwb3J0ZWQKKworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitQQVNTIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3Vj
Y2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9O
IDogVXBsb2FkaW5nIHRvIGhhbGYgZmxvYXQgdGV4dHVyZSBpcyBub3QgeWV0IHN1cHBvcnRlZAor
UEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogVXBsb2FkaW5nIG51
bGwgQXJyYXlCdWZmZXJWaWV3IHRvIGhhbGYgZmxvYXQgdGV4dHVyZSBzaG91bGQgc3VjY2VlZAor
UEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogVXBs
b2FkaW5nIHRvIGhhbGYgZmxvYXQgdGV4dHVyZSB1c2luZyB0ZXhTdWJJbWFnZTJEIGlzIG5vdCBz
dXBwb3J0ZWQgeWV0CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogVXBsb2FkaW5nIHRvIGhhbGYg
ZmxvYXQgdGV4dHVyZSBpcyBub3QgeWV0IHN1cHBvcnRlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogVXBsb2FkaW5nIG51bGwgQXJyYXlCdWZmZXJWaWV3IHRv
IGhhbGYgZmxvYXQgdGV4dHVyZSBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogVXBsb2FkaW5nIHRvIGhhbGYgZmxvYXQg
dGV4dHVyZSB1c2luZyB0ZXhTdWJJbWFnZTJEIGlzIG5vdCBzdXBwb3J0ZWQgeWV0CitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtbm90
LXN1cHBvcnRlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1
cmUtaGFsZi1mbG9hdC1ub3Qtc3VwcG9ydGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTA4ZTk0N2Q0ODUy
Y2JlNjliNmFjODUxNGFlNGNlNDkyNzBkZmU4NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtbm90LXN1cHBvcnRl
ZC5odG1sCkBAIC0wLDAgKzEsMTcwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgT0VTX3RleHR1cmVfaGFsZl9m
bG9hdCBub3QgeWV0IGltcGxlbWVudGVkIENvbmZvcm1hbmNlIFRlc3RzPC90aXRsZT4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIi8+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29uc3RhbnRzLmpzIiB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJnbC10
ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0idGV4
Y2FudmFzIiB3aWR0aD0iMSIgaGVpZ2h0PSIyIj48L2NhbnZhcz4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbigiVGVzdGluZyBub3QgeWV0IHN1cHBvcnRlZCB0ZXh0dXJlIHVwbG9hZHMiKTsKK2RlYnVn
KCIiKTsKKworaWYgKHdpbmRvdy5pbml0Tm9uS2hyb25vc0ZyYW1ld29yaykgeworICAgIHdpbmRv
dy5pbml0Tm9uS2hyb25vc0ZyYW1ld29yayh0cnVlKTsKK30KKworaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29s
ZUVuYWJsZWQoZmFsc2UpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgY2FudmFz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwordmFyIGdsID0gd3R1LmNyZWF0
ZTNEQ29udGV4dChjYW52YXMpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOworCitp
ZiAoIWdsKSB7CisgICAgdGVzdEZhaWxlZCgiV2ViR0wgY29udGV4dCBkb2VzIG5vdCBleGlzdHMi
KTsKK30gZWxzZSB7CisgICAgdGVzdFBhc3NlZCgiV2ViR0wgY29udGV4dCBleGlzdHMiKTsKKwor
ICAgIGlmKCFnbC5nZXRFeHRlbnNpb24oIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKSkgeworICAg
ICAgICB0ZXN0UGFzc2VkKCJObyBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IHN1cHBvcnQuIFRoaXMg
aXMgbGVnYWwiKTsKKyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0UGFzc2VkKCJTdWNjZXNzZnVs
bHkgZW5hYmxlZCBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGV4dGVuc2lvbiIpOworICAgICAgICAK
KyAgICAgICAgdmFyIGNhbnZhczJkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleGNhbnZh
cyIpOworICAgICAgICB2YXIgY29udGV4dDJkID0gY2FudmFzMmQuZ2V0Q29udGV4dCgiMmQiKTsK
KworICAgICAgICBydW5JbWFnZURhdGFVbnN1cHBvcnRlZFRlc3QoY2FudmFzMmQsIGNvbnRleHQy
ZCk7CisgICAgICAgIHJ1bkhUTUxJbWFnZUVsZW1lbnRVbnN1cHBvcnRlZFRlc3QoY2FudmFzMmQs
IGNvbnRleHQyZCk7CisgICAgICAgIHJ1bkhUTUxDYW52YXNFbGVtZW50VW5zdXBwb3J0ZWRUZXN0
KGNhbnZhczJkLCBjb250ZXh0MmQpOworICAgICAgICBydW5IVE1MVmlkZW9FbGVtZW50VW5zdXBw
b3J0ZWRUZXN0KGNhbnZhczJkLCBjb250ZXh0MmQpOworICAgIH0KK30KKworZnVuY3Rpb24gYWxs
b2NhdGVUZXh0dXJlKCkKK3sKKyAgICB2YXIgdGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsK
KyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKKyAgICBnbC50ZXhQ
YXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVT
VCk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01BR19G
SUxURVIsIGdsLk5FQVJFU1QpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwg
Z2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRl
cmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOwor
ICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0ZXh0dXJlIHBhcmFtZXRlciBz
ZXR1cCBzaG91bGQgc3VjY2VlZCIpOworICAgIHJldHVybiB0ZXh0dXJlOworfQorCitmdW5jdGlv
biBydW5UZXh0dXJlVXBsb2FkVGVzdChpbWFnZSkKK3sKKyAgICB2YXIgdGV4dHVyZSA9IGFsbG9j
YXRlVGV4dHVyZSgpOworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdC
QSwgZ2wuUkdCQSwgZ2wuSEFMRl9GTE9BVF9PRVMsIGltYWdlKTsKKyAgICBnbEVycm9yU2hvdWxk
QmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiVXBsb2FkaW5nIHRvIGhhbGYgZmxvYXQgdGV4
dHVyZSBpcyBub3QgeWV0IHN1cHBvcnRlZCIpOworCisgICAgLy8gQ2hlY2sgaWYgdXBsb2FkaW5n
IEltYWdlRGF0YSB2aWEgdGV4U3ViSW1hZ2UyRCBpcyBzdXBwb3J0ZWQKKyAgICBnbC50ZXhJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDEsIDIsIDAsIGdsLlJHQkEsIGdsLkhBTEZf
RkxPQVRfT0VTLCBudWxsKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAi
VXBsb2FkaW5nIG51bGwgQXJyYXlCdWZmZXJWaWV3IHRvIGhhbGYgZmxvYXQgdGV4dHVyZSBzaG91
bGQgc3VjY2VlZCIpOworICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwg
MCwgZ2wuUkdCQSwgZ2wuSEFMRl9GTE9BVF9PRVMsIGltYWdlKTsKKyAgICBnbEVycm9yU2hvdWxk
QmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiVXBsb2FkaW5nIHRvIGhhbGYgZmxvYXQgdGV4
dHVyZSB1c2luZyB0ZXhTdWJJbWFnZTJEIGlzIG5vdCBzdXBwb3J0ZWQgeWV0Iik7Cit9CisKK2Z1
bmN0aW9uIHJ1bkltYWdlRGF0YVVuc3VwcG9ydGVkVGVzdChjYW52YXMyZCwgY29udGV4dDJkKQor
eworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiVmVyaWZ5IHdoZXRoZXIgdXBsb2FkaW5nIElt
YWdlRGF0YSB2aWEgdGV4SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1cHBvcnRlZCIpOworICAg
IAorICAgIC8vIENoZWNrIGlmIHVwbG9hZGluZyBJbWFnZURhdGEgdmlhIHRleEltYWdlMkQgaXMg
c3VwcG9ydGVkCisgICAgdmFyIGltYWdlRGF0YSA9IGNvbnRleHQyZC5jcmVhdGVJbWFnZURhdGEo
MSwgMik7CisgICAgdmFyIGRhdGEgPSBpbWFnZURhdGEuZGF0YTsKKyAgICBkYXRhWzBdID0gMjU1
OworICAgIGRhdGFbMV0gPSAwOworICAgIGRhdGFbMl0gPSAwOworICAgIGRhdGFbM10gPSAyNTU7
CisgICAgZGF0YVs0XSA9IDA7CisgICAgZGF0YVs1XSA9IDI1NTsKKyAgICBkYXRhWzZdID0gMDsK
KyAgICBkYXRhWzddID0gMDsKKworICAgIHJ1blRleHR1cmVVcGxvYWRUZXN0KGltYWdlRGF0YSk7
ICAgIAorfQorCitmdW5jdGlvbiBydW5IVE1MSW1hZ2VFbGVtZW50VW5zdXBwb3J0ZWRUZXN0KGNh
bnZhczJkLCBjb250ZXh0MmQpCit7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJWZXJpZnkg
d2hldGhlciB1cGxvYWRpbmcgSFRNTEltYWdlRWxlbWVudCB2aWEgdGV4SW1hZ2UyRC90ZXhTdWJJ
bWFnZTJEIGlzIHN1cHBvcnRlZCIpOworCisgICAgdmFyIGltYWdlRGF0YSA9IGNvbnRleHQyZC5j
cmVhdGVJbWFnZURhdGEoMSwgMik7CisgICAgdmFyIGRhdGEgPSBpbWFnZURhdGEuZGF0YTsKKyAg
ICBkYXRhWzBdID0gMjU1OworICAgIGRhdGFbMV0gPSAwOworICAgIGRhdGFbMl0gPSAwOworICAg
IGRhdGFbM10gPSAyNTU7CisgICAgZGF0YVs0XSA9IDA7CisgICAgZGF0YVs1XSA9IDI1NTsKKyAg
ICBkYXRhWzZdID0gMDsKKyAgICBkYXRhWzddID0gMDsKKyAgICBjb250ZXh0MmQucHV0SW1hZ2VE
YXRhKGltYWdlRGF0YSwgMCwgMCk7CisKKyAgICB2YXIgbmV3SW1hZ2UgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJpbWciKTsKKyAgICBuZXdJbWFnZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAg
ICAgICAgcnVuVGV4dHVyZVVwbG9hZFRlc3QobmV3SW1hZ2UpOworICAgIH0KKyAgICBuZXdJbWFn
ZS5zcmMgPSBjYW52YXMyZC50b0RhdGFVUkwoKTsKK30KKworZnVuY3Rpb24gc2V0Q2FudmFzVG9S
ZWRHcmVlbihjdHgpIHsKKyAgICB2YXIgd2lkdGggPSBjdHguY2FudmFzLndpZHRoOworICAgIHZh
ciBoZWlnaHQgPSBjdHguY2FudmFzLmhlaWdodDsKKyAgICB2YXIgaGFsZkhlaWdodCA9IE1hdGgu
Zmxvb3IoaGVpZ2h0IC8gMik7CisgICAgY3R4LmZpbGxTdHlsZSA9ICIjZmYwMDAwIjsKKyAgICBj
dHguZmlsbFJlY3QoMCwgMCwgd2lkdGgsIGhhbGZIZWlnaHQpOworICAgIGN0eC5maWxsU3R5bGUg
PSAiIzAwZmYwMCI7CisgICAgY3R4LmZpbGxSZWN0KDAsIGhhbGZIZWlnaHQsIHdpZHRoLCBoZWln
aHQgLSBoYWxmSGVpZ2h0KTsKK30KKworZnVuY3Rpb24gcnVuSFRNTENhbnZhc0VsZW1lbnRVbnN1
cHBvcnRlZFRlc3QoY2FudmFzMmQsIGNvbnRleHQyZCkKK3sKKyAgICBkZWJ1ZygiIik7CisgICAg
ZGVidWcoIlZlcmlmeSB3aGV0aGVyIHVwbG9hZGluZyBIVE1MQ2FudmFzRWxlbWVudCB2aWEgdGV4
SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1cHBvcnRlZCIpOworICAgIAorICAgIGNvbnRleHQy
ZC53aWR0aCA9IDE7CisgICAgY29udGV4dDJkLmhlaWdodCA9IDI7CisgICAgc2V0Q2FudmFzVG9S
ZWRHcmVlbihjb250ZXh0MmQpOworCisgICAgcnVuVGV4dHVyZVVwbG9hZFRlc3QoY2FudmFzMmQp
OworfQorCitmdW5jdGlvbiBydW5IVE1MVmlkZW9FbGVtZW50VW5zdXBwb3J0ZWRUZXN0KGNhbnZh
czJkLCBjb250ZXh0MmQpCit7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJWZXJpZnkgd2hl
dGhlciB1cGxvYWRpbmcgSFRNTFZpZGVvRWxlbWVudCB2aWEgdGV4SW1hZ2UyRC90ZXhTdWJJbWFn
ZTJEIGlzIHN1cHBvcnRlZCIpOworCisgICAgdmFyIGluZm8gPSB7IHNyYzogInJlc291cmNlcy9y
ZWQtZ3JlZW4ubXA0IiwgdHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyRTAxRSwgbXA0
YS40MC4yIid9OworICAgIHZhciB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInZpZGVv
Iik7CisgICAgaWYgKCF2aWRlby5jYW5QbGF5VHlwZSkgeworICAgICAgICB0ZXN0RmFpbGVkKCJ2
aWRlby5jYW5QbGF5VHlwZSByZXF1aXJlZCBtZXRob2QgaXMgbWlzc2luZyIpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8pOworICAg
IHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoCisgICAgICAgICJwbGF5aW5nIiwgZnVuY3Rpb24oKSB7
IHJ1blRleHR1cmVVcGxvYWRUZXN0KHZpZGVvKTsgZmluaXNoVGVzdCgpOyB9LCB0cnVlKTsKKyAg
ICB2aWRlby50eXBlID0gaW5mby50eXBlOworICAgIHZpZGVvLnNyYyA9IGluZm8uc3JjOworICAg
IHZpZGVvLmxvb3AgPSB0cnVlOworICAgIHZpZGVvLndpZHRoID0gMTsKKyAgICB2aWRlby5oZWln
aHQgPSAyOworICAgIHZpZGVvLnBsYXkoKTsKKworfQorCitkZWJ1ZygiIik7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTZk
NGQxMDA2MWY1MGRkMjY1YmVjMTM4ZDdjNmYxZjQ4NDliMDlkMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQuaHRt
bApAQCAtMCwwICsxLDI0OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQg
Q29uZm9ybWFuY2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8Y2FudmFzIGlk
PSJjYW52YXMiIHN0eWxlPSJ3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyI+IDwvY2FudmFzPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ0ZXN0RnJhZ21lbnRTaGFkZXIi
IHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1
bmlmb3JtIHNhbXBsZXIyRCB0ZXg7Cit1bmlmb3JtIHZlYzQgc3VidHJhY3RvcjsKK3Zhcnlpbmcg
dmVjMiB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7CisgICAgdmVjNCBjb2xvciA9IHRleHR1cmUy
RCh0ZXgsIHRleENvb3JkKTsKKyAgICBpZiAoYWJzKGNvbG9yLnIgLSBzdWJ0cmFjdG9yLnIpICsK
KyAgICAgICAgYWJzKGNvbG9yLmcgLSBzdWJ0cmFjdG9yLmcpICsKKyAgICAgICAgYWJzKGNvbG9y
LmIgLSBzdWJ0cmFjdG9yLmIpICsKKyAgICAgICAgYWJzKGNvbG9yLmEgLSBzdWJ0cmFjdG9yLmEp
IDwgOC4wKSB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMC4wLCAxLjAsIDAuMCwgMS4w
KTsKKyAgICB9IGVsc2UgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDEuMCwgMC4wLCAw
LjAsIDEuMCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8IS0tIFNoYWRlcnMgZm9yIHRlc3Rpbmcg
aGFsZiBmbG9hdGluZy1wb2ludCByZW5kZXIgdGFyZ2V0cyAtLT4KKzxzY3JpcHQgaWQ9InBvc2l0
aW9uVmVydGV4U2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVj
NCB2UG9zaXRpb247Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9u
OworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmbG9hdGluZ1BvaW50RnJhZ21lbnRTaGFkZXIi
IHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFn
Q29sb3IgPSB2ZWM0KDEwMDAwLjAsIDEwMDAwLjAsIDEwMDAwLjAsIDEwMDAwLjApOworfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgZnVu
Y3Rpb25hbGl0eSBvZiBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IHdpdGggbnVsbC9ub24tbnVsbCBB
cnJheUJ1ZmZlclZpZXciKTsKK2RlYnVnKCIiKTsKKworaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJs
ZWQoZmFsc2UpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgY2FudmFzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29u
dGV4dChjYW52YXMpOworCitpZiAoIWdsKSB7CisgICAgdGVzdEZhaWxlZCgiV2ViR0wgY29udGV4
dCBkb2VzIG5vdCBleGlzdHMiKTsKK30gZWxzZSB7CisgICAgdGVzdFBhc3NlZCgiV2ViR0wgY29u
dGV4dCBleGlzdHMiKTsKKworICAgIC8vIFZlcmlmeSB0aGF0IGFsbG9jYXRpb24gb2YgdGV4dHVy
ZSBmYWlscyBpZiBleHRlbnNpb24gaXMgbm90IGVuYWJsZWQKKyAgICBydW5UZXh0dXJlQ3JlYXRp
b25UZXN0KGZhbHNlKTsKKworICAgIGlmKCFnbC5nZXRFeHRlbnNpb24oIk9FU190ZXh0dXJlX2hh
bGZfZmxvYXQiKSkgeworICAgICAgICB0ZXN0UGFzc2VkKCJObyBPRVNfdGV4dHVyZV9oYWxmX2Zs
b2F0IHN1cHBvcnQuIFRoaXMgaXMgbGVnYWwiKTsKKyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0
UGFzc2VkKCJTdWNjZXNzZnVsbHkgZW5hYmxlZCBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGV4dGVu
c2lvbiIpOworCisgICAgICAgIC8vIENoZWNrIGlmIGNyZWF0aW9uIG9mIHRleHR1cmUgc3VjY2Vl
ZCdzIHdpdGggdmFyaW91cyBmb3JtYXRzIGFuZCBudWxsIEFycmF5QnVmZmVyVmlldworICAgICAg
ICB2YXIgZm9ybWF0cyA9IFtnbC5SR0JBLCBnbC5SR0IsIGdsLkxVTUlOQU5DRSwgZ2wuQUxQSEEs
IGdsLkxVTUlOQU5DRV9BTFBIQV07CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZm9ybWF0
cy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgcnVuVGV4dHVyZUNyZWF0aW9uVGVzdCh0cnVl
LCBmb3JtYXRzW2ldLCBudWxsKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgLy8gVGV4
dHVyZSBjcmVhdGlvbiBzaG91bGQgZmFpbCB3aGVuIHBhc3NlZCB3aXRoIG5vbi1udWxsIEFycmF5
QnVmZmVyVmlldworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZvcm1hdHMubGVuZ3RoOyBp
KyspIHsKKyAgICAgICAgICAgIHZhciB3aWR0aCA9IDI7CisgICAgICAgICAgICB2YXIgaGVpZ2h0
ID0gMjsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgLy8gRmxvYXQzMkFycmF5CisgICAgICAg
ICAgICB2YXIgZmxvYXQzMkRhdGEgPSBuZXcgRmxvYXQzMkFycmF5KHdpZHRoICogaGVpZ2h0ICog
Z2V0TnVtYmVyT2ZDaGFubmVscyhmb3JtYXRzW2ldKSk7CisgICAgICAgICAgICBmb3IgKHZhciBp
aSA9IDA7IGlpIDwgZmxvYXQzMkRhdGEubGVuZ3RoOyBpaSsrKSB7CisgICAgICAgICAgICAgICAg
ZmxvYXQzMkRhdGFbaWldID0gMTAwMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJ1blRl
eHR1cmVDcmVhdGlvblRlc3QodHJ1ZSwgZm9ybWF0c1tpXSwgZmxvYXQzMkRhdGEpOworCisgICAg
ICAgICAgICAvLyBJbnQxNkFycmF5CisgICAgICAgICAgICB2YXIgaW50MTZEYXRhID0gbmV3IElu
dDE2QXJyYXkod2lkdGggKiBoZWlnaHQgKiBnZXROdW1iZXJPZkNoYW5uZWxzKGZvcm1hdHNbaV0p
KTsKKyAgICAgICAgICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCAgaW50MTZEYXRhLmxlbmd0aDsg
aWkrKykgeworICAgICAgICAgICAgICAgIGludDE2RGF0YVtpaV0gPSAxMDAwOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgcnVuVGV4dHVyZUNyZWF0aW9uVGVzdCh0cnVlLCBmb3JtYXRzW2ld
LCBpbnQxNkRhdGEpOworCisgICAgICAgICAgICAvLyBVaW50MTZBcnJheQorICAgICAgICAgICAg
dmFyIHVpbnQxNkRhdGEgPSBuZXcgVWludDE2QXJyYXkod2lkdGggKiBoZWlnaHQgKiBnZXROdW1i
ZXJPZkNoYW5uZWxzKGZvcm1hdHNbaV0pKTsKKyAgICAgICAgICAgIGZvciAodmFyIGlpID0gMDsg
aWkgPCAgdWludDE2RGF0YS5sZW5ndGg7IGlpKyspIHsKKyAgICAgICAgICAgICAgICB1aW50MTZE
YXRhW2lpXSA9IDEwMDA7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBydW5UZXh0dXJlQ3Jl
YXRpb25UZXN0KHRydWUsIGZvcm1hdHNbaV0sIHVpbnQxNkRhdGEpOyAgICAgICAgICAgIAorICAg
ICAgICB9CisKKyAgICAgICAgLy8gQ2hlY2sgaWYgYXR0YWNoaW5nIHRleHR1cmUgYXMgRkJPIHRh
cmdldCBzdWNjZWVkcyAoTm90IG1hbmRhdG9yeSkKKyAgICAgICAgcnVuUmVuZGVyVGFyZ2V0VGVz
dCgpOworICAgICAgICAvLyBDaGVjayBvZiBnZXRFeHRlbnNpb24oKSByZXR1cm5zIHNhbWUgb2Jq
ZWN0CisgICAgICAgIHJ1blVuaXF1ZU9iamVjdFRlc3QoKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9u
IGdldE51bWJlck9mQ2hhbm5lbHMoZm9ybWF0KQoreworICAgIGlmIChmb3JtYXQgPT0gZ2wuUkdC
QSkKKyAgICAgICAgcmV0dXJuIDQ7CisgICAgZWxzZSBpZiAoZm9ybWF0ID09IGdsLlJHQikKKyAg
ICAgICAgcmV0dXJuIDM7CisgICAgZWxzZSBpZiAoZm9ybWF0ID09IGdsLkxVTUlOQU5DRSB8fCBm
b3JtYXQgPT0gZ2wuQUxQSEEpCisgICAgICAgIHJldHVybiAxOworICAgIGVsc2UgaWYgKGZvcm1h
dCA9PSBnbC5MVU1JTkFOQ0VfQUxQSEEpCisgICAgICAgIHJldHVybiAyOworfQorCitmdW5jdGlv
biBnZXRGb3JtYXROYW1lKGZvcm1hdCkKK3sKKyAgICBpZiAoZm9ybWF0ID09IGdsLlJHQkEpCisg
ICAgICAgIHJldHVybiAiUkdCQSI7CisgICAgZWxzZSBpZiAoZm9ybWF0ID09IGdsLlJHQikKKyAg
ICAgICAgcmV0dXJuICJSR0IiOworICAgIGVsc2UgaWYgKGZvcm1hdCA9PSBnbC5MVU1JTkFOQ0Up
CisgICAgICAgIHJldHVybiAiTFVNSU5BTkNFIjsKKyAgICBlbHNlIGlmIChmb3JtYXQgPT0gZ2wu
QUxQSEEpCisgICAgICAgIHJldHVybiAiQUxQSEEiOworICAgIGVsc2UgaWYgKGZvcm1hdCA9PSBn
bC5MVU1JTkFOQ0VfQUxQSEEpCisgICAgICAgIHJldHVybiAiTFVNSU5BTkNFX0FMUEhBIjsKK30K
KworZnVuY3Rpb24gYWxsb2NhdGVUZXh0dXJlKCkKK3sKKyAgICB2YXIgdGV4dHVyZSA9IGdsLmNy
ZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJl
KTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJ
TFRFUiwgZ2wuTkVBUkVTVCk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBn
bC5URVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpOworICAgIGdsLnRleFBhcmFtZXRlcmko
Z2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAg
IGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNM
QU1QX1RPX0VER0UpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0ZXh0
dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZCIpOworICAgIHJldHVybiB0ZXh0dXJl
OworfQorCitmdW5jdGlvbiBydW5UZXh0dXJlQ3JlYXRpb25UZXN0KGV4dGVuc2lvbkVuYWJsZWQs
IG9wdF9mb3JtYXQsIG9wdF9kYXRhKQoreworICAgIHZhciBmb3JtYXQgPSBvcHRfZm9ybWF0IHx8
IGdsLlJHQkE7CisgICAgdmFyIGRhdGEgPSBvcHRfZGF0YSB8fCBudWxsOworICAgIHZhciBleHBl
Y3RTdWNjZXNzID0gdHJ1ZTsKKyAgICAKKyAgICBpZiAoIWV4dGVuc2lvbkVuYWJsZWQgfHwgZGF0
YSkKKyAgICAgICAgZXhwZWN0U3VjY2VzcyA9IGZhbHNlOworICAgIGRlYnVnKCJUZXN0aW5nIHRl
eHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gIiArIChleHRlbnNpb25FbmFibGVkID8gImVu
YWJsZWQiIDogImRpc2FibGVkIikgKworICAgICAgICAgICIsIGZvcm1hdCAiICsgZ2V0Rm9ybWF0
TmFtZShmb3JtYXQpICsgIiwgYW5kIGRhdGEgIiArIChkYXRhID8gIm5vbi1udWxsIiA6ICJudWxs
IikgKworICAgICAgICAgICIuIEV4cGVjdCAiICsgKGV4cGVjdFN1Y2Nlc3MgPyAiU3VjY2VzcyIg
OiAiRmFpbHVyZSIpKTsgICAKKworICAgIHZhciB0ZXh0dXJlID0gYWxsb2NhdGVUZXh0dXJlKCk7
CisgICAgdmFyIHdpZHRoID0gMjsKKyAgICB2YXIgaGVpZ2h0ID0gMjsKKyAgICBnbC50ZXhJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGZvcm1hdCwgd2lkdGgsIGhlaWdodCwgMCwgZm9ybWF0LCBn
bC5IQUxGX0ZMT0FUX09FUywgZGF0YSk7CisgICAgaWYoIWV4dGVuc2lvbkVuYWJsZWQpIHsKKyAg
ICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0VOVU0sICJIYWxmIGZsb2F0aW5n
IHBvaW50IHRleHR1cmUgbXVzdCBiZSBkaWFsbG93ZWQgaWYgT0VTX3RleHR1cmVfaGFsZl9mbG9h
dCBpc24ndCBlbmFibGVkIik7CisgICAgICAgIHJldHVybjsKKyAgICB9IGVsc2UgaWYgKGRhdGEp
IHsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIkhh
bGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIG11c3QgYmUgZGlhbGxvd2VkIHdo
ZW4gQXJyYXlCdWZmZXJWaWV3IGlzIG5vdC1udWxsIik7CisgICAgICAgIHJldHVybjsKKyAgICB9
IGVsc2UgeworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiSGFsZiBm
bG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gc2hvdWxkIHN1Y2NlZWQgaWYgT0VTX3Rl
eHR1cmVfaGFsZl9mbG9hdCBpcyBlbmFibGVkIik7CisgICAgfQorfQorCitmdW5jdGlvbiBjaGVj
a1JlbmRlcmluZ1Jlc3VsdHMoKQoreworICAgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1NSwg
MCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIpOworfQorCitmdW5jdGlvbiBydW5SZW5kZXJUYXJn
ZXRUZXN0KHRlc3RQcm9ncmFtKQoreworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiVGVzdGlu
ZyBoYWxmIGZsb2F0aW5nIHBvaW50IHJlbmRlciB0YXJnZXQiKTsKKworICAgIHZhciB0ZXh0dXJl
ID0gYWxsb2NhdGVUZXh0dXJlKCk7CisgICAgdmFyIHdpZHRoID0gMjsKKyAgICB2YXIgaGVpZ2h0
ID0gMjsKKyAgICAKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEs
IHdpZHRoLCBoZWlnaHQsIDAsIGdsLlJHQkEsIGdsLkhBTEZfRkxPQVRfT0VTLCBudWxsKTsKKyAg
ICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiSGFsZiBmbG9hdGluZyBwb2ludCB0
ZXh0dXJlIGFsbG9jYXRpb24gc2hvdWxkIHN1Y2NlZWQgaWYgT0VTX3RleHR1cmVfaGFsZl9mbG9h
dCBpcyBlbmFibGVkIik7CisKKyAgICAvLyBUcnkgdG8gdXNlIHRoaXMgdGV4dHVyZSBhcyByZW5k
ZXIgdGFyZ2V0CisgICAgdmFyIGZibyA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCk7CisgICAgZ2wu
YmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAgIGdsLmZyYW1lYnVmZmVy
VGV4dHVyZTJEKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuVEVYVFVS
RV8yRCwgdGV4dHVyZSwgMCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVs
bCk7CisKKyAgICAvLyBJdCBpcyBsZWdhbCBmb3IgYSBXZWJHTCBpbXBsZW1lbnRhdGlvbiBleHBv
c2luZyB0aGUgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBleHRlbnNpb24gdG8KKyAgICAvLyBzdXBw
b3J0IGhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZXMgYnV0IG5vdCBhcyBhdHRhY2htZW50cyB0
byBmcmFtZWJ1ZmZlciBvYmplY3RzLgorICAgIGlmIChnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVz
KGdsLkZSQU1FQlVGRkVSKSAhPSBnbC5GUkFNRUJVRkZFUl9DT01QTEVURSkgeworICAgICAgICBk
ZWJ1ZygiSGFsZiBmbG9hdGluZyBwb2ludCByZW5kZXIgdGFyZ2V0cyBub3Qgc3VwcG9ydGVkIC0t
IHRoaXMgaXMgbGVnYWwiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHZhciByZW5k
ZXJQcm9ncmFtID0KKyAgICAgICAgd3R1LnNldHVwUHJvZ3JhbShnbCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICBbInBvc2l0aW9uVmVydGV4U2hhZGVyIiwgImZsb2F0aW5nUG9pbnRGcmFnbWVu
dFNoYWRlciJdLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsndlBvc2l0aW9uJ10sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgWzBdKTsKKyAgICB3dHUuZHJhd1F1YWQoZ2wpOworICAgIGds
RXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJSZW5kZXJpbmcgdG8gaGFsZiBmbG9hdGlu
ZyBwb2ludCB0ZXh0dXJlIHNob3VsZCBzdWNjZWVkIik7CisKKyAgICAvLyBOb3cgc2FtcGxlIGZy
b20gdGhlIGhhbGYgZmxvYXRpbmctcG9pbnQgdGV4dHVyZSBhbmQgdmVyaWZ5IHdlIGdvdCB0aGUg
Y29ycmVjdCB2YWx1ZXMuCisgICAgdmFyIHRleHR1cmVkU2hhZGVycyA9IFsKKyAgICAgIHd0dS5z
ZXR1cFNpbXBsZVRleHR1cmVWZXJ0ZXhTaGFkZXIoZ2wpLAorICAgICAgICAgICJ0ZXN0RnJhZ21l
bnRTaGFkZXIiCisgICAgICBdOworICAgIHZhciB0ZXN0UHJvZ3JhbSA9CisgICAgICAgIHd0dS5z
ZXR1cFByb2dyYW0oZ2wsCisgICAgICAgICAgICAgICAgICAgICAgICBbd3R1LnNldHVwU2ltcGxl
VGV4dHVyZVZlcnRleFNoYWRlcihnbCksICJ0ZXN0RnJhZ21lbnRTaGFkZXIiXSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIFsndlBvc2l0aW9uJywgJ3RleENvb3JkMCddLAorICAgICAgICAgICAg
ICAgICAgICAgICAgWzAsIDFdKTsKKyAgICB2YXIgcXVhZFBhcmFtZXRlcnMgPSB3dHUuc2V0dXBV
bml0UXVhZChnbCwgMCwgMSk7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVS
LCBudWxsKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKKyAg
ICBnbC51c2VQcm9ncmFtKHRlc3RQcm9ncmFtKTsKKyAgICBnbC51bmlmb3JtMWkoZ2wuZ2V0VW5p
Zm9ybUxvY2F0aW9uKHRlc3RQcm9ncmFtLCAidGV4IiksIDApOworICAgIHd0dS5kcmF3UXVhZChn
bCk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInJlbmRlcmluZyBmcm9t
IGhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBzaG91bGQgc3VjY2VlZCIpOworICAgIGNoZWNr
UmVuZGVyaW5nUmVzdWx0cygpOworfQorCitmdW5jdGlvbiBydW5VbmlxdWVPYmplY3RUZXN0KCkK
K3sKKyAgICBkZWJ1ZygiVGVzdGluZyB0aGF0IGdldEV4dGVuc2lvbigpIHJldHVybnMgdGhlIHNh
bWUgb2JqZWN0IGVhY2ggdGltZSIpOworICAgIGdsLmdldEV4dGVuc2lvbigiT0VTX3RleHR1cmVf
aGFsZl9mbG9hdCIpLm15UHJvcGVydHkgPSAyOworICAgIGdjKCk7CisgICAgc2hvdWxkQmUoJ2ds
LmdldEV4dGVuc2lvbigiT0VTX3RleHR1cmVfaGFsZl9mbG9hdCIpLm15UHJvcGVydHknLCAnMicp
OworfQorCitkZWJ1ZygiIik7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA0ODJhOWY1MmZjMTk1Zjg4NTg3ZGQ0NmMyMjgy
ZmY1Nzg2YTRkZGMzLi4xOTYxMDM5NDcwYWI4ZDVkMzdlNWY0YTA1OTFmNmVhMGYzN2JhYmMwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTQ0MzMsMyArNDQzMyw3IEBAIHdlYmtpdC5vcmcvYi8xMTA4NzYgaHRtbDVsaWIvZ2VuZXJhdGVk
L3J1bi10ZXN0czE5LWRhdGEuaHRtbCBbIFNsb3cgXQogd2Via2l0Lm9yZy9iLzExMDg3NiBbIERl
YnVnIFdpbiBdIGh0bWw1bGliL2dlbmVyYXRlZC9ydW4tdGVzdHMxMC13cml0ZS5odG1sIFsgUGFz
cyBDcmFzaCBdCiB3ZWJraXQub3JnL2IvMTEwODc2IFsgRGVidWcgV2luIE1hYyBdIGh0bWw1bGli
L2dlbmVyYXRlZC9ydW4tdGVzdHMxNi13cml0ZS5odG1sIFsgUGFzcyBDcmFzaCBdCiB3ZWJraXQu
b3JnL2IvMTEwODc2IFsgRGVidWcgV2luIF0gaHRtbDVsaWIvZ2VuZXJhdGVkL3J1bi10ZXN0czE5
LXdyaXRlLmh0bWwgWyBQYXNzIENyYXNoIF0KKworIyBIQUxGX0ZMT0FUX09FUyBpcyBub3QgeWV0
IHdvcmtpbmcgaW4gY2hyb21pdW0uCitjcmJ1Zy5jb20vMTc5NTAzIGZhc3QvY2FudmFzL3dlYmds
L29lcy10ZXh0dXJlLWhhbGYtZmxvYXQuaHRtbCBbIEZhaWx1cmUgXQorY3JidWcuY29tLzE3OTUw
MyBmYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LW5vdC1zdXBwb3J0ZWQu
aHRtbCBbIFRpbWVvdXQgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191068</attachid>
            <date>2013-03-01 16:43:46 -0800</date>
            <delta_ts>2013-03-01 17:01:51 -0800</delta_ts>
            <desc>Implement HALF_FLOAT_OES</desc>
            <filename>bug-110818-20130301164015.patch</filename>
            <type>text/plain</type>
            <size>75131</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTc5YzU5N2FmMDRiNjkz
MjAzZDUwNjFiNzI4NmRlNTQyMWM1MmFlMy4uYjM0MDRmODM2YjI1OTMyNjVjNjAzZGZiZjNhZmJh
OGUxNDJkNzM3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEzLTAyLTI4ICBOYXlh
biBLdW1hciBLICA8bmF5YW5ra0Btb3Rvcm9sYS5jb20+CisKKyAgICAgICAgW1dlYkdMXSBTdXBw
b3J0IGZvciB0ZXhJbWFnZTJEIG9mIHR5cGUgSEFMRl9GTE9BVF9PRVMgd2l0aCBBcnJheUJ1ZmZl
clZpZXcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTA4MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
cyBwZXIgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBzcGVjaWZpY2F0aW9uIHRleEltYWdlMkQgYW5k
IHRleFN1YkltYWdlMkQgZW50cnkKKyAgICAgICAgcG9pbnRzIHRha2luZyBBcnJheUJ1ZmZlclZp
ZXcgc2hvdWxkIGV4dGVuZGVkIHRvIGFjY2VwdCBudWxsIHdpdGggdGhlIHBpeGVsIHR5cGUKKyAg
ICAgICAgSEFMRl9GTE9BVF9PRVMuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvY2FudmFzL3dlYmds
L29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtbm90LXN1cHBvcnRlZC5odG1sCisgICAgICAgICAgICAg
ICBmYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0Lmh0bWwKKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06
CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4T2JqZWN0KToKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmNwcDogQ29waWVkIGZyb20gU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaC4KKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6T0VTVGV4dHVyZUhhbGZGbG9hdDo6T0VTVGV4dHVyZUhhbGZG
bG9hdCk6CisgICAgICAgIChXZWJDb3JlOjpPRVNUZXh0dXJlSGFsZkZsb2F0Ojp+T0VTVGV4dHVy
ZUhhbGZGbG9hdCk6CisgICAgICAgIChXZWJDb3JlOjpPRVNUZXh0dXJlSGFsZkZsb2F0OjpnZXRO
YW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ok9FU1RleHR1cmVIYWxmRmxvYXQ6OmNyZWF0ZSk6Cisg
ICAgICAgICogaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5oOiBDb3BpZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oLgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChPRVNUZXh0dXJlSGFsZkZsb2F0KToKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJH
TEV4dGVuc2lvbi5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dDo6Z2V0RXh0ZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dDo6dGV4SW1hZ2UyRCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OnRleFN1YkltYWdlMkQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJp
bmdDb250ZXh0Ojp2YWxpZGF0ZVRleEZ1bmNGb3JtYXRBbmRUeXBlKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVUZXhGdW5jRGF0YSk6CisgICAgICAg
ICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmg6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkdMUmVuZGVyaW5nQ29udGV4dCk6CisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9FeHRlbnNpb25zM0QuaDoKKyAgICAgICAgKEV4dGVuc2lvbnMzRCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0M0Q6OmNvbXB1dGVGb3JtYXRBbmRUeXBlUGFyYW1ldGVycyk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzM0QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnRleEltYWdlMkQpOgorCiAyMDEzLTAzLTAxICBWaWN0
b3IgQ2FyYnVuZSAgPHZjYXJidW5lQGNocm9taXVtLm9yZz4KIAogICAgICAgICBTdXBwb3J0IHBh
ZGRpbmcsIG1hcmdpbiBhbmQgYm9yZGVyIGZvciBpbnRlcm5hbCBVQSBjdWUgc3R5bGluZwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCBmNjcwY2YwZWU5ZDJjOTFjYjBmNGM1MDIyZTcxOTA1Nzk3OTQ5
NTdmLi5lMTk3MzIxNjczNDM0ODUwMjliZWYyMDRmYTg5NGVhZDUwOWRlNTI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dApAQCAtNTIyLDYgKzUyMiw3IEBAIHNldChXZWJDb3JlX0lETF9GSUxFUwogICAg
IGh0bWwvY2FudmFzL0ludDhBcnJheS5pZGwKICAgICBodG1sL2NhbnZhcy9PRVNTdGFuZGFyZERl
cml2YXRpdmVzLmlkbAogICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5pZGwKKyAgICBo
dG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbAogICAgIGh0bWwvY2FudmFzL09FU1Zl
cnRleEFycmF5T2JqZWN0LmlkbAogICAgIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQu
aWRsCiAgICAgaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaWRsCkBAIC0xNTExLDYgKzE1MTIsNyBA
QCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFu
aXNvdHJvcGljLmNwcAogICAgIGh0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3Bw
CiAgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmNwcAorICAgIGh0bWwvY2FudmFzL09F
U1RleHR1cmVIYWxmRmxvYXQuY3BwCiAgICAgaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmpl
Y3QuY3BwCiAgICAgaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5jcHAKICAgICBodG1s
L2NhbnZhcy9XZWJHTEJ1ZmZlci5jcHAKQEAgLTI2MjUsNiArMjYyNyw3IEBAIGlmIChFTkFCTEVf
V0VCR0wpCiAgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgICAgIGh0bWwvY2Fu
dmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL09FU1Rl
eHR1cmVGbG9hdC5jcHAKKyAgICAgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5j
cHAKICAgICAgICAgaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuY3BwCiAgICAgICAg
IGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuY3BwCiAgICAgICAgIGh0bWwvY2FudmFz
L1dlYkdMQnVmZmVyLmNwcApAQCAtMjY1NCw2ICsyNjU3LDcgQEAgaWYgKEVOQUJMRV9XRUJHTCkK
ICAgICAgICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcAogICAg
ICAgICBodG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcAogICAgICAgICBodG1s
L2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuY3BwCisgICAgICAgIGh0bWwvY2FudmFzL09FU1RleHR1
cmVIYWxmRmxvYXQuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0
LmNwcAogICAgICAgICBodG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmNwcAogICAgICkK
QEAgLTI2NjIsNiArMjY2Niw3IEBAIGlmIChFTkFCTEVfV0VCR0wpCiAgICAgICAgIGh0bWwvY2Fu
dmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5pZGwKICAgICAgICAgaHRtbC9jYW52YXMv
T0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVy
ZUZsb2F0LmlkbAorICAgICAgICBodG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbAog
ICAgICAgICBodG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5pZGwKICAgICAgICAgaHRt
bC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5pZGwKICAgICAgICAgaHRtbC9jYW52YXMvV2Vi
R0xBY3RpdmVJbmZvLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZGVkMGU3
OTA0MWEzYjUwYjRjZjBhMWM3NGM1Njk5NjBkMDY2NGU4NS4uYjUyZTUwOGY3YTQ0MmVjODM1ODk2
MjEzM2U3MmIzNjMwYTgyYmM1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC00
MDAsNiArNDAwLDcgQEAgQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52
YXMvT0VTRWxlbWVudEluZGV4VWludC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMv
T0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMv
T0VTVGV4dHVyZUZsb2F0LmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNUZXh0
dXJlSGFsZkZsb2F0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNWZXJ0ZXhB
cnJheU9iamVjdC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvVWludDE2QXJyYXku
aWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1VpbnQzMkFycmF5LmlkbCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggMGM1OTAwMmIxNTRiYmQ0YjBlNzI4N2Q1YzgwNzhi
NmQwMmMxNjJmYi4uY2Q0OTEzMTk5NDZmM2I0Y2IyNmMxMmI3NWZkYzQzMWNlMjI0NmViOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtMzEzLDYgKzMxMyw3IEBAIElETF9CSU5ESU5H
UyArPSBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGlj
LmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwg
XAogICAgICQkUFdEL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5pZGwgXAorICAgICQkUFdE
L2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsIFwKICAgICAkJFBXRC9odG1sL2Nh
bnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5pZGwgXAogICAgICQkUFdEL2h0bWwvY2FudmFzL09F
U0VsZW1lbnRJbmRleFVpbnQuaWRsIFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9XZWJHTEFjdGl2
ZUluZm8uaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDM2NWM0YWU2MGVl
OTRhMzk0MmRjYjhhNGY4MzdkNTM5NTY2ODc3OWMuLjU4MjViMWY4YWQxNWE0ZmVlMTc2YTkyYWQw
ZmYwZGRiNGNiNWY3OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTc5LDYg
KzU3OSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU09FU1RleHR1cmVGbG9hdC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNU
ZXh0dXJlRmxvYXQuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1RleHR1cmVIYWxm
RmxvYXQuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTVGV4dHVyZUhhbGZGbG9h
dC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTVmVydGV4QXJyYXlPYmplY3QuY3Bw
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTVmVydGV4QXJyYXlPYmplY3QuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU0VsZW1lbnRJbmRleFVpbnQuY3BwIFwKQEAgLTE1
NDQsNiArMTU0Niw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvaHRtbC9j
YW52YXMvSW50OEFycmF5LmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNTdGFuZGFy
ZERlcml2YXRpdmVzLmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxv
YXQuaWRsIFwKKwkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRs
IFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmlkbCBcCiAJ
JChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmlkbCBcCiAJJChXZWJD
b3JlKS9odG1sL2NhbnZhcy9VaW50MTZBcnJheS5pZGwgXApAQCAtMzI4NCw2ICszMjg3LDggQEAg
d2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNTdGFu
ZGFyZERlcml2YXRpdmVzLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1
cmVGbG9hdC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9h
dC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmNw
cCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmggXAogCVNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuY3BwIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCmluZGV4IDk2MzZkYThlNjcxMWQ4YzY0Y2NkOTc5ODlkZTkwNTY3OWFjOTIxOTcuLjYwM2Nk
YmRiMjc4NzQwNzVkZDRmYjExNmVjNDg1NjIyMWZiMmFlZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtNDAz
OSw2ICs0MDM5LDcgQEAgZW5hYmxlPyhXRUJHTCkgewogICAgICAgICBodG1sL2NhbnZhcy9FWFRU
ZXh0dXJlRmlsdGVyQW5pc290cm9waWMuaCBcCiAgICAgICAgIGh0bWwvY2FudmFzL09FU1N0YW5k
YXJkRGVyaXZhdGl2ZXMuaCBcCiAgICAgICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5o
IFwKKyAgICAgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5oIFwKICAgICAgICAg
aHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuaCBcCiAgICAgICAgIGh0bWwvY2FudmFz
L09FU0VsZW1lbnRJbmRleFVpbnQuaCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMVGV4dHVy
ZS5oIFwKQEAgLTQwNzQsNiArNDA3NSw3IEBAIGVuYWJsZT8oV0VCR0wpIHsKICAgICAgICAgaHRt
bC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcCBcCiAgICAgICAgIGh0bWwv
Y2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwIFwKICAgICAgICAgaHRtbC9jYW52YXMv
T0VTVGV4dHVyZUZsb2F0LmNwcCBcCisgICAgICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVIYWxm
RmxvYXQuY3BwIFwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuY3Bw
IFwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5jcHAgXAogICAgICAg
ICBodG1sL2NhbnZhcy9XZWJHTFRleHR1cmUuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBhOWY3
N2QyNDlmYmNhZjk3ZjZiYWEzMzAxNzVlOTgxNjY0YTFmMjc4Li43MTNmYjhkOTkyYTJmNGYzOTJk
MTVmZTc5ZTFhYWI1Y2UxOGI1NDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC00NjUsNiArNDY1LDcg
QEAKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9JbnQ4QXJyYXkuaWRsJywKICAgICAgICAgICAg
ICdodG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlkbCcsCiAgICAgICAgICAgICAn
aHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmlkbCcsCisgICAgICAgICAgICAnaHRtbC9jYW52
YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL09F
U1ZlcnRleEFycmF5T2JqZWN0LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvT0VTRWxl
bWVudEluZGV4VWludC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1VpbnQxNkFycmF5
LmlkbCcsCkBAIC0zNDIzLDYgKzM0MjQsOCBAQAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL09F
U1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvT0VTVGV4
dHVyZUZsb2F0LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0
LmgnLAorICAgICAgICAgICAgJ2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuY3BwJywK
KyAgICAgICAgICAgICdodG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmgnLAogICAgICAg
ICAgICAgJ2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmNwcCcsCiAgICAgICAgICAg
ICAnaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuaCcsCiAgICAgICAgICAgICAnaHRt
bC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGE3MDk4NGI3NzMwOGIxYjVm
OTVmNDMzMTYxY2QwMDAzOGRjZGFjODkuLjQzODYxNTU4N2Y4YzJhNTdmYmM4NTEwMjAwNDhmYzQy
YTdkOTFlMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTE5MTgsOCArMTkxOCw4IEBACiAJCTZFQkYwRTU0MTJBODkyOTgwMERC
MTcwOSAvKiBXZWJHTEV4dGVuc2lvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2RUJGMEU1MjEyQTg5Mjk4MDBEQjE3MDkgLyogV2ViR0xFeHRlbnNp
b24uY3BwICovOyB9OwogCQk2RUJGMEU1NTEyQTg5Mjk4MDBEQjE3MDkgLyogV2ViR0xFeHRlbnNp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZFQkYw
RTUzMTJBODkyOTgwMERCMTcwOSAvKiBXZWJHTEV4dGVuc2lvbi5oICovOyB9OwogCQk2RUJGMEU3
NjEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkVCRjBFNzQxMkE5ODY4ODAwREIxNzA5
IC8qIEpTT0VTVGV4dHVyZUZsb2F0LmNwcCAqLzsgfTsKLQkJNkVCRjBFNzcxMkE5ODY4ODAwREIx
NzA5IC8qIEpTT0VTVGV4dHVyZUZsb2F0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2RUJGMEU3NTEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJl
RmxvYXQuaCAqLzsgfTsKIAkJNkVCRjBFNzYxMkE5ODY4ODAwREIxNzBBIC8qIEpTRVhURHJhd0J1
ZmZlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NkVCRjBFNzQxMkE5ODY4ODAwREIxNzBBIC8qIEpTRVhURHJhd0J1ZmZlcnMuY3BwICovOyB9Owor
CQk2RUJGMEU3NzEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZFQkYwRTc1MTJBOTg2ODgw
MERCMTcwOSAvKiBKU09FU1RleHR1cmVGbG9hdC5oICovOyB9OwogCQk2RUJGMEU3NzEyQTk4Njg4
MDBEQjE3MEEgLyogSlNFWFREcmF3QnVmZmVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNkVCRjBFNzUxMkE5ODY4ODAwREIxNzBBIC8qIEpTRVhURHJh
d0J1ZmZlcnMuaCAqLzsgfTsKIAkJNkVEODc4QzQxNDc0OTNGNDAwNEMzNTk3IC8qIFJlbmRlclRh
YmxlQ2FwdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA2RUQ4NzhDMjE0NzQ5M0Y0MDA0QzM1OTcgLyogUmVuZGVyVGFibGVDYXB0aW9uLmNwcCAq
LzsgfTsKIAkJNkVEODc4QzUxNDc0OTNGNDAwNEMzNTk3IC8qIFJlbmRlclRhYmxlQ2FwdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkVEODc4QzMx
NDc0OTNGNDAwNEMzNTk3IC8qIFJlbmRlclRhYmxlQ2FwdGlvbi5oICovOyB9OwpAQCAtMzg0MSw3
ICszODQxLDYgQEAKIAkJQTAwQjcyMUExMURFNjQyODAwOEFCOUZGIC8qIENoZWNrZWRJbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEwMEI3MjE5MTFE
RTY0MjcwMDhBQjlGRiAvKiBDaGVja2VkSW50LmggKi87IH07CiAJCUEwMjQ1NzUxMTZDRUFBMjcw
MDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBMDI0NTc0RTE2Q0VBQTI3MDAwRTU2NzEgLyogRVhURHJhd0J1
ZmZlcnMuY3BwICovOyB9OwogCQlBMDI0NTc1MjE2Q0VBQTI3MDAwRTU2NzEgLyogRVhURHJhd0J1
ZmZlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEw
MjQ1NzRGMTZDRUFBMjcwMDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5oICovOyB9OwotCQlBMDI0
NTc1MzE2Q0VBQTI3MDAwRTU2NzEgLyogRVhURHJhd0J1ZmZlcnMuaWRsIGluIFJlc291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMDI0NTc1MDE2Q0VBQTI3MDAwRTU2
NzEgLyogRVhURHJhd0J1ZmZlcnMuaWRsICovOyB9OwogCQlBMDdEMzM1NTE1MkI2MzBFMDAxQjYz
OTMgLyogSlNXZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMDdEMzM1MzE1MkI2MzBFMDAxQjYzOTMgLyog
SlNXZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5jcHAgKi87IH07CiAJCUEwN0QzMzU2MTUyQjYz
MEUwMDFCNjM5MyAvKiBKU1dlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMDdEMzM1NDE1MkI2MzBFMDAxQjYz
OTMgLyogSlNXZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5oICovOyB9OwogCQlBMDdEMzM1ODE1
MkI2MzJEMDAxQjYzOTMgLyogV2ViR0xTaGFkZXJQcmVjaXNpb25Gb3JtYXQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEwN0QzMzU3MTUyQjYzMkQwMDFC
NjM5MyAvKiBXZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5oICovOyB9OwpAQCAtMzg4Myw2ICsz
ODgyLDEwIEBACiAJCUEyRThBRTQwMTZBNDk4Q0YwMDZCQjNBQSAvKiBET01XZWJLaXRDU1NGaWx0
ZXJSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
MkU4QUUzRDE2QTQ5OENGMDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZS5oICovOyB9
OwogCQlBMkU4QUU0MTE2QTQ5OENGMDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZS5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyRThBRTNF
MTZBNDk4Q0YwMDZCQjNBQSAvKiBET01XZWJLaXRDU1NGaWx0ZXJSdWxlLm1tICovOyB9OwogCQlB
MkU4QUU0MjE2QTQ5OENGMDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZUludGVybmFs
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMkU4QUUz
RjE2QTQ5OENGMDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZUludGVybmFsLmggKi87
IH07CisJCUEzMUM0RTREMTZFMDJBQTYwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzMUM0RTRD
MTZFMDJBQTYwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCAqLzsgfTsKKwkJQTMx
QzRFNEYxNkUwMkFCNDAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzMUM0RTRFMTZFMDJBQjQwMDJG
Nzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmggKi87IH07CisJCUEzMUM0RTUyMTZFMDJCMDgw
MDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTMxQzRFNTExNkUwMkIwODAwMkY3OTU3IC8qIEpT
T0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAgKi87IH07CisJCUEzMUM0RTU0MTZFMDJCNDAwMDJGNzk1
NyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEEzMUM0RTUzMTZFMDJCNDAwMDJGNzk1NyAvKiBKU09FU1RleHR1
cmVIYWxmRmxvYXQuaCAqLzsgfTsKIAkJQTNCQjU5RjMxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3Vt
ZW50RXZlbnRRdWV1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBM0JCNTlGMTE0NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1lbnRFdmVudFF1ZXVlLmNw
cCAqLzsgfTsKIAkJQTNCQjU5RjQxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNCQjU5
RjIxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUEzRTI2NDMwMTQ3NDg5OTEwMDVB
ODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEEzRTI2NDJFMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVu
dFF1ZXVlLmNwcCAqLzsgfTsKQEAgLTkzODksOCArOTM5Miw4IEBACiAJCTZFQkYwRTUyMTJBODky
OTgwMERCMTcwOSAvKiBXZWJHTEV4dGVuc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBXZWJHTEV4dGVuc2lvbi5jcHA7IHBhdGggPSBjYW52YXMvV2ViR0xFeHRl
bnNpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RUJGMEU1MzEyQTg5Mjk4
MDBEQjE3MDkgLyogV2ViR0xFeHRlbnNpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gV2ViR0xFeHRlbnNpb24uaDsgcGF0aCA9IGNhbnZhcy9XZWJHTEV4dGVuc2lvbi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RUJGMEU3NDEyQTk4Njg4MDBEQjE3MDkgLyog
SlNPRVNUZXh0dXJlRmxvYXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNPRVNUZXh0dXJlRmxvYXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk2
RUJGMEU3NTEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNPRVNUZXh0dXJlRmxvYXQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNkVCRjBFNzQxMkE5ODY4ODAwREIxNzBBIC8qIEpTRVhURHJhd0J1
ZmZlcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFWFREcmF3
QnVmZmVycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZFQkYwRTc1MTJBOTg2
ODgwMERCMTcwOSAvKiBKU09FU1RleHR1cmVGbG9hdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU09FU1RleHR1cmVGbG9hdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk2RUJGMEU3NTEyQTk4Njg4MDBEQjE3MEEgLyogSlNFWFREcmF3QnVmZmVycy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0VYVERyYXdCdWZmZXJzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZFRDg3OEMyMTQ3NDkzRjQwMDRDMzU5NyAvKiBSZW5kZXJU
YWJsZUNhcHRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVu
ZGVyVGFibGVDYXB0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkVEODc4
QzMxNDc0OTNGNDAwNEMzNTk3IC8qIFJlbmRlclRhYmxlQ2FwdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJUYWJsZUNhcHRpb24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTExMzkyLDYgKzExMzk1LDExIEBACiAJCUEyRThBRTNEMTZBNDk4Q0Yw
MDZCQjNBQSAvKiBET01XZWJLaXRDU1NGaWx0ZXJSdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTVdlYktpdENTU0ZpbHRlclJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTJFOEFFM0UxNkE0OThDRjAwNkJCM0FBIC8qIERPTVdlYktpdENTU0ZpbHRl
clJ1bGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01XZWJL
aXRDU1NGaWx0ZXJSdWxlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMkU4QUUz
RjE2QTQ5OENGMDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZUludGVybmFsLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdlYktpdENTU0ZpbHRlclJ1bGVJbnRl
cm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMzFDNEU0QzE2RTAyQUE2MDAy
Rjc5NTcgLyogT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcDsgcGF0aCA9IGNhbnZhcy9PRVNU
ZXh0dXJlSGFsZkZsb2F0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTMxQzRF
NEUxNkUwMkFCNDAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gT0VTVGV4dHVyZUhhbGZGbG9hdC5oOyBwYXRoID0gY2FudmFz
L09FU1RleHR1cmVIYWxmRmxvYXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTMx
QzRFNTAxNkUwMkFDNTAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE9F
U1RleHR1cmVIYWxmRmxvYXQuaWRsOyBwYXRoID0gY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMzFDNEU1MTE2RTAyQjA4MDAyRjc5
NTcgLyogSlNPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHA7IHBhdGggPSBKU09FU1RleHR1
cmVIYWxmRmxvYXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMzFDNEU1MzE2
RTAyQjQwMDAyRjc5NTcgLyogSlNPRVNUZXh0dXJlSGFsZkZsb2F0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5oOyBwYXRoID0gSlNPRVNU
ZXh0dXJlSGFsZkZsb2F0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzQkI1OUYx
MTQ1N0E0MEQwMEFDNTZGRSAvKiBEb2N1bWVudEV2ZW50UXVldWUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRG9jdW1lbnRFdmVudFF1ZXVlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNCQjU5RjIxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50
RXZlbnRRdWV1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEb2N1bWVudEV2
ZW50UXVldWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNFMjY0MkUxNDc0ODk5
MTAwNUE4NTg4IC8qIFdvcmtlckV2ZW50UXVldWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gV29ya2VyRXZlbnRRdWV1ZS5jcHA7IHBhdGggPSB3b3JrZXJzL1dvcmtl
ckV2ZW50UXVldWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTU3NjUsNiAr
MTU3NzMsOSBAQAogCQkJCTZFQkYwRTQ1MTJBODkyNjEwMERCMTcwOSAvKiBPRVNUZXh0dXJlRmxv
YXQuY3BwICovLAogCQkJCTZFQkYwRTQ2MTJBODkyNjEwMERCMTcwOSAvKiBPRVNUZXh0dXJlRmxv
YXQuaCAqLywKIAkJCQk2RUJGMEU0NzEyQTg5MjYxMDBEQjE3MDkgLyogT0VTVGV4dHVyZUZsb2F0
LmlkbCAqLywKKwkJCQlBMzFDNEU0QzE2RTAyQUE2MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZG
bG9hdC5jcHAgKi8sCisJCQkJQTMxQzRFNEUxNkUwMkFCNDAwMkY3OTU3IC8qIE9FU1RleHR1cmVI
YWxmRmxvYXQuaCAqLywKKwkJCQlBMzFDNEU1MDE2RTAyQUM1MDAyRjc5NTcgLyogT0VTVGV4dHVy
ZUhhbGZGbG9hdC5pZGwgKi8sCiAJCQkJNzdBMTdBNkUxMkYyODE4MjAwNEUwMkY2IC8qIE9FU1Zl
cnRleEFycmF5T2JqZWN0LmNwcCAqLywKIAkJCQk3N0ExN0E2RjEyRjI4MTgyMDA0RTAyRjYgLyog
T0VTVmVydGV4QXJyYXlPYmplY3QuaCAqLywKIAkJCQk3N0ExN0E3MDEyRjI4MTgyMDA0RTAyRjYg
LyogT0VTVmVydGV4QXJyYXlPYmplY3QuaWRsICovLApAQCAtMTkxNzcsNiArMTkxODgsOCBAQAog
CQkJCTkwMDE3ODdGMTJFMDM3MDcwMDY0ODQ2MiAvKiBKU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMu
aCAqLywKIAkJCQk2RUJGMEU3NDEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQu
Y3BwICovLAogCQkJCTZFQkYwRTc1MTJBOTg2ODgwMERCMTcwOSAvKiBKU09FU1RleHR1cmVGbG9h
dC5oICovLAorCQkJCUEzMUM0RTUxMTZFMDJCMDgwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxm
RmxvYXQuY3BwICovLAorCQkJCUEzMUM0RTUzMTZFMDJCNDAwMDJGNzk1NyAvKiBKU09FU1RleHR1
cmVIYWxmRmxvYXQuaCAqLywKIAkJCQk3N0ExN0FBMjEyRjI4QjJBMDA0RTAyRjYgLyogSlNPRVNW
ZXJ0ZXhBcnJheU9iamVjdC5jcHAgKi8sCiAJCQkJNzdBMTdBQTMxMkYyOEIyQTAwNEUwMkY2IC8q
IEpTT0VTVmVydGV4QXJyYXlPYmplY3QuaCAqLywKIAkJCQlCNjU4RkY5RjE1MjJFRjNBMDBERDU1
OTUgLyogSlNSYWRpb05vZGVMaXN0LmNwcCAqLywKQEAgLTI2NjM1LDcgKzI2NjQ4LDkgQEAKIAkJ
CQlGRDUzNzM1MzEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTQxQjhDRDQ2MTZEMDQ1OTEwMDBFOENDMCAvKiBTZWxlY3RvckNoZWNrZXJGYXN0UGF0aC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDkxNDAyNTcxNjhFMDJFQzAwMkQ2QzZBIC8qIFRpbWVsaW5l
VHJhY2VFdmVudFByb2Nlc3Nvci5oIGluIEhlYWRlcnMgKi8sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEEwMjQ1NzUyMTZDRUFBMjcwMDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQTAyNDU3NTIxNkNFQUEyNzAwMEU1NjcxIC8qIEVYVERyYXdC
dWZmZXJzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMzFDNEU0RjE2RTAyQUI0MDAyRjc5NTcgLyog
T0VTVGV4dHVyZUhhbGZGbG9hdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTMxQzRFNTQxNkUwMkI0
MDAwMkY3OTU3IC8qIEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0y
OTgzMSw3ICsyOTg0Niw5IEBACiAJCQkJNDFCOENENDUxNkQwNDU5MTAwMEU4Q0MwIC8qIFNlbGVj
dG9yQ2hlY2tlckZhc3RQYXRoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5MTQwMjU2MTY4RTAy
RTgwMDJENkM2QSAvKiBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRTE0QTk0RDcxNkRGREY5NTAwNjhERTgyIC8qIEJsb2JSZWdpc3RyeS5jcHAgaW4g
U291cmNlcyAqLywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQTAyNDU3NTExNkNF
QUEyNzAwMEU1NjcxIC8qIEVYVERyYXdCdWZmZXJzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUEw
MjQ1NzUxMTZDRUFBMjcwMDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlBMzFDNEU0RDE2RTAyQUE2MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZGbG9hdC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlBMzFDNEU1MjE2RTAyQjA4MDAyRjc5NTcgLyogSlNPRVNU
ZXh0dXJlSGFsZkZsb2F0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3Bw
CmluZGV4IDhhMzUwM2ExNDJkYmJmNDJmOGJiN2ZhODVlZWMxNmFhNzhkYjZkMzEuLmIyN2YyYjEx
NmUzZjMxYTE4MjM2ZDhjMDcxZDEyYmQ4YmFmMzZmZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5j
cHAKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJKU09FU0VsZW1lbnRJbmRleFVpbnQuaCIK
ICNpbmNsdWRlICJKU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIKICNpbmNsdWRlICJKU09FU1Rl
eHR1cmVGbG9hdC5oIgorI2luY2x1ZGUgIkpTT0VTVGV4dHVyZUhhbGZGbG9hdC5oIgogI2luY2x1
ZGUgIkpTT0VTVmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJKU1VpbnQzMkFycmF5Lmgi
CiAjaW5jbHVkZSAiSlNVaW50OEFycmF5LmgiCkBAIC02Myw2ICs2NCw3IEBACiAjaW5jbHVkZSAi
T0VTRWxlbWVudEluZGV4VWludC5oIgogI2luY2x1ZGUgIk9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMu
aCIKICNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXQuaCIKKyNpbmNsdWRlICJPRVNUZXh0dXJlSGFs
ZkZsb2F0LmgiCiAjaW5jbHVkZSAiT0VTVmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJX
ZWJHTEJ1ZmZlci5oIgogI2luY2x1ZGUgIldlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmgiCkBA
IC0yMDQsNiArMjA2LDggQEAgc3RhdGljIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpT
RE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFdlYkdMRXh0ZW4KICAgICAgICAgcmV0dXJu
IHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxPRVNTdGFuZGFyZERlcml2YXRp
dmVzKj4oZXh0ZW5zaW9uKSk7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVGV4dHVyZUZs
b2F0TmFtZToKICAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNf
Y2FzdDxPRVNUZXh0dXJlRmxvYXQqPihleHRlbnNpb24pKTsKKyAgICBjYXNlIFdlYkdMRXh0ZW5z
aW9uOjpPRVNUZXh0dXJlSGFsZkZsb2F0TmFtZToKKyAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywg
Z2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxPRVNUZXh0dXJlSGFsZkZsb2F0Kj4oZXh0ZW5zaW9u
KSk7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVmVydGV4QXJyYXlPYmplY3ROYW1lOgog
ICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PE9FU1Zl
cnRleEFycmF5T2JqZWN0Kj4oZXh0ZW5zaW9uKSk7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6
T0VTRWxlbWVudEluZGV4VWludE5hbWU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9t
LmNwcAppbmRleCBhMjY5OTRjZTBmMTA5ZTI0YmE1OGZmMTU4MjlhYzkxYTczNGQ5YmI5Li41YTdj
YmE2OTIxNzc1M2RmOTViMWMyODFlYzY1YTA4MDJiMjgyYWY3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVy
aW5nQ29udGV4dEN1c3RvbS5jcHAKQEAgLTUxLDYgKzUxLDcgQEAKICNpbmNsdWRlICJWOE9FU0Vs
ZW1lbnRJbmRleFVpbnQuaCIKICNpbmNsdWRlICJWOE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIK
ICNpbmNsdWRlICJWOE9FU1RleHR1cmVGbG9hdC5oIgorI2luY2x1ZGUgIlY4T0VTVGV4dHVyZUhh
bGZGbG9hdC5oIgogI2luY2x1ZGUgIlY4T0VTVmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRl
ICJWOFVpbnQxNkFycmF5LmgiCiAjaW5jbHVkZSAiVjhVaW50MzJBcnJheS5oIgpAQCAtMTkzLDYg
KzE5NCwxMCBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjhPYmplY3QoV2ViR0xF
eHRlbnNpb24qIGV4dGVuc2lvbiwgdjg6OkhhbmRsZTx2OAogICAgICAgICBleHRlbnNpb25PYmpl
Y3QgPSB0b1Y4KHN0YXRpY19jYXN0PE9FU1RleHR1cmVGbG9hdCo+KGV4dGVuc2lvbiksIGNvbnRl
eHRPYmplY3QsIGlzb2xhdGUpOwogICAgICAgICByZWZlcmVuY2VOYW1lID0gIm9lc1RleHR1cmVG
bG9hdE5hbWUiOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNU
ZXh0dXJlSGFsZkZsb2F0TmFtZToKKyAgICAgICAgZXh0ZW5zaW9uT2JqZWN0ID0gdG9WOChzdGF0
aWNfY2FzdDxPRVNUZXh0dXJlSGFsZkZsb2F0Kj4oZXh0ZW5zaW9uKSwgY29udGV4dE9iamVjdCwg
aXNvbGF0ZSk7CisgICAgICAgIHJlZmVyZW5jZU5hbWUgPSAib2VzVGV4dHVyZUhhbGZGbG9hdE5h
bWUiOworICAgICAgICBicmVhazsKICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNWZXJ0ZXhB
cnJheU9iamVjdE5hbWU6CiAgICAgICAgIGV4dGVuc2lvbk9iamVjdCA9IHRvVjgoc3RhdGljX2Nh
c3Q8T0VTVmVydGV4QXJyYXlPYmplY3QqPihleHRlbnNpb24pLCBjb250ZXh0T2JqZWN0LCBpc29s
YXRlKTsKICAgICAgICAgcmVmZXJlbmNlTmFtZSA9ICJvZXNWZXJ0ZXhBcnJheU9iamVjdE5hbWUi
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZG
bG9hdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wYmRmMDE2ZjljMTBiOTFkZWM5NzI2MDM0YzU3ODQ1MWE2ZWUzODM4
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVy
ZUhhbGZGbG9hdC5jcHAKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MyBNb3Rvcm9sYSBNb2JpbGl0eSBMTEMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRT
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisg
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFdFQkdMKQorCisjaW5jbHVkZSAiT0VTVGV4dHVy
ZUhhbGZGbG9hdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK09FU1RleHR1cmVIYWxmRmxv
YXQ6Ok9FU1RleHR1cmVIYWxmRmxvYXQoV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0KQor
ICAgIDogV2ViR0xFeHRlbnNpb24oY29udGV4dCkKK3sKK30KKworT0VTVGV4dHVyZUhhbGZGbG9h
dDo6fk9FU1RleHR1cmVIYWxmRmxvYXQoKQoreworfQorCitXZWJHTEV4dGVuc2lvbjo6RXh0ZW5z
aW9uTmFtZSBPRVNUZXh0dXJlSGFsZkZsb2F0OjpnZXROYW1lKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gT0VTVGV4dHVyZUhhbGZGbG9hdE5hbWU7Cit9CisKK1Bhc3NPd25QdHI8T0VTVGV4dHVyZUhh
bGZGbG9hdD4gT0VTVGV4dHVyZUhhbGZGbG9hdDo6Y3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4
dCogY29udGV4dCkKK3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IE9FU1RleHR1cmVIYWxmRmxv
YXQoY29udGV4dCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBF
TkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNU
ZXh0dXJlSGFsZkZsb2F0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJl
SGFsZkZsb2F0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDA5NzgxOTkwNThhZDkyN2FkMGI4MmJlYjAxY2Q1MjNk
MDczNjkwNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09F
U1RleHR1cmVIYWxmRmxvYXQuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEzIE1vdG9yb2xhIE1vYmlsaXR5IExMQy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFO
RCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIE9FU1RleHR1cmVIYWxmRmxvYXRfaAorI2RlZmluZSBPRVNUZXh0dXJlSGFsZkZsb2F0
X2gKKworI2luY2x1ZGUgIldlYkdMRXh0ZW5zaW9uLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBPRVNUZXh0dXJlSGFsZkZsb2F0
IDogcHVibGljIFdlYkdMRXh0ZW5zaW9uIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0
cjxPRVNUZXh0dXJlSGFsZkZsb2F0PiBjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CisK
KyAgICB2aXJ0dWFsIH5PRVNUZXh0dXJlSGFsZkZsb2F0KCk7CisgICAgdmlydHVhbCBFeHRlbnNp
b25OYW1lIGdldE5hbWUoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBPRVNUZXh0dXJlSGFsZkZs
b2F0KFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gT0VTVGV4dHVyZUhhbGZGbG9hdF9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAzYTY3
MjM0ZjA3MjQ2ZjY3NWE0MGEzYjEzMWRhYzkxZmUyOTdhZTcKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbApAQCAtMCww
ICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIE1vdG9yb2xhIE1vYmlsaXR5IExM
Qy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
KyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCR0wsCisg
ICAgSlNHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxDb250ZXh0LAorICAgIE9taXRDb25zdHJ1Y3Rv
cgorXSBpbnRlcmZhY2UgT0VTVGV4dHVyZUhhbGZGbG9hdCB7Cit9OwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
RXh0ZW5zaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5o
CmluZGV4IDAzYzgzNmFjNDZiNzEyZjVjNTUwMjkwNjVkZmQ2MWUwNjM1NTk1YzkuLmFmYzRlNmFl
YjM5ZGM1MzQzNDBhMjYzZGI1NjNiNGMxOWE0YjJkZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaApAQCAtMzksNiArMzksNyBAQCBwdWJsaWM6CiAgICAg
ICAgIEVYVERyYXdCdWZmZXJzTmFtZSwKICAgICAgICAgRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJv
cGljTmFtZSwKICAgICAgICAgT0VTVGV4dHVyZUZsb2F0TmFtZSwKKyAgICAgICAgT0VTVGV4dHVy
ZUhhbGZGbG9hdE5hbWUsCiAgICAgICAgIE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXNOYW1lLAogICAg
ICAgICBPRVNWZXJ0ZXhBcnJheU9iamVjdE5hbWUsCiAgICAgICAgIFdlYkdMRGVidWdSZW5kZXJl
ckluZm9OYW1lLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggZGViNjRiMTAyNDFhMTRlODdmN2VlMmI0M2ExMzBhNmY2
MGExMWQ1NS4uMDgxMzRmMWNiNDgyNjAzZTU3MDkzOTY0MjM5ZGI0Yjg4YTI3YjcxOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQu
Y3BwCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSAiT0VTRWxlbWVudEluZGV4VWludC5oIgog
I2luY2x1ZGUgIk9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIKICNpbmNsdWRlICJPRVNUZXh0dXJl
RmxvYXQuaCIKKyNpbmNsdWRlICJPRVNUZXh0dXJlSGFsZkZsb2F0LmgiCiAjaW5jbHVkZSAiT0VT
VmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVy
Qm94LmgiCkBAIC0yMzgyLDYgKzIzODMsMTQgQEAgV2ViR0xFeHRlbnNpb24qIFdlYkdMUmVuZGVy
aW5nQ29udGV4dDo6Z2V0RXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgfQog
ICAgICAgICByZXR1cm4gbV9vZXNUZXh0dXJlRmxvYXQuZ2V0KCk7CiAgICAgfQorICAgIGlmIChl
cXVhbElnbm9yaW5nQ2FzZShuYW1lLCAiT0VTX3RleHR1cmVfaGFsZl9mbG9hdCIpCisgICAgICAg
ICYmIG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLT5zdXBwb3J0cygiR0xfT0VTX3RleHR1cmVf
aGFsZl9mbG9hdCIpKSB7CisgICAgICAgIGlmICghbV9vZXNUZXh0dXJlSGFsZkZsb2F0KSB7Cisg
ICAgICAgICAgICBtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS0+ZW5zdXJlRW5hYmxlZCgiR0xf
T0VTX3RleHR1cmVfaGFsZl9mbG9hdCIpOworICAgICAgICAgICAgbV9vZXNUZXh0dXJlSGFsZkZs
b2F0ID0gT0VTVGV4dHVyZUhhbGZGbG9hdDo6Y3JlYXRlKHRoaXMpOworICAgICAgICB9CisgICAg
ICAgIHJldHVybiBtX29lc1RleHR1cmVIYWxmRmxvYXQuZ2V0KCk7CisgICAgfQogICAgIGlmIChl
cXVhbElnbm9yaW5nQ2FzZShuYW1lLCAiT0VTX3ZlcnRleF9hcnJheV9vYmplY3QiKQogICAgICAg
ICAmJiBtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS0+c3VwcG9ydHMoIkdMX09FU192ZXJ0ZXhf
YXJyYXlfb2JqZWN0IikpIHsKICAgICAgICAgaWYgKCFtX29lc1ZlcnRleEFycmF5T2JqZWN0KSB7
CkBAIC0zNzY3LDYgKzM3NzYsMTMgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleElt
YWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEZW51bQogICAgICAgICBy
ZXR1cm47CiAgICAgaWYgKCF2YWxpZGF0ZVNldHRhYmxlVGV4Rm9ybWF0KCJ0ZXhJbWFnZTJEIiwg
Zm9ybWF0KSkKICAgICAgICAgcmV0dXJuOworICAgIC8vIEZJWE1FOiBVcGxvYWRpbmcgSW1hZ2VE
YXRhIHRvIGhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBpcyBub3Qgc3VwcG9ydGVkIHlldAor
ICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA5MzYKKyAg
ICBpZiAodHlwZSA9PSBHcmFwaGljc0NvbnRleHQzRDo6SEFMRl9GTE9BVF9PRVMpIHsKKyAgICAg
ICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9O
LCAidGV4SW1hZ2UyRCIsICJPcGVyYXRpb24gbm90IHN1cHBvcnRlZCB5ZXQiKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKwogICAgIGJvb2wgbmVlZENvbnZlcnNpb24gPSB0cnVlOwogICAgIC8v
IFRoZSBkYXRhIGZyb20gSW1hZ2VEYXRhIGlzIGFsd2F5cyBvZiBmb3JtYXQgUkdCQTguCiAgICAg
Ly8gTm8gY29udmVyc2lvbiBpcyBuZWVkZWQgaWYgZGVzdGluYXRpb24gZm9ybWF0IGlzIFJHQkEg
YW5kIHR5cGUgaXMgVVNJR05FRF9CWVRFIGFuZCBubyBGbGlwIG9yIFByZW11bHRpcGx5IG9wZXJh
dGlvbiBpcyByZXF1aXJlZC4KQEAgLTM3OTcsNiArMzgxMywxMiBAQCB2b2lkIFdlYkdMUmVuZGVy
aW5nQ29udGV4dDo6dGV4SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdD
M0RlbnVtCiAgICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwogICAgICAgICByZXR1cm47CiAgICAg
fQorICAgIC8vIEZJWE1FOiBVcGxvYWRpbmcgSW1hZ2VFbGVtZW50IHRvIGhhbGYgZmxvYXRpbmcg
cG9pbnQgdGV4dHVyZSBpcyBub3Qgc3VwcG9ydGVkIHlldAorICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA5MzYKKyAgICBpZiAodHlwZSA9PSBHcmFwaGlj
c0NvbnRleHQzRDo6SEFMRl9GTE9BVF9PRVMpIHsKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3Io
R3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCAidGV4SW1hZ2UyRCIsICJPcGVy
YXRpb24gbm90IHN1cHBvcnRlZCB5ZXQiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KIAogICAg
IHRleEltYWdlMkRJbXBsKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCBmb3JtYXQsIHR5
cGUsIGltYWdlLT5jYWNoZWRJbWFnZSgpLT5pbWFnZUZvclJlbmRlcmVyKGltYWdlLT5yZW5kZXJl
cigpKSwgR3JhcGhpY3NDb250ZXh0M0Q6Okh0bWxEb21JbWFnZSwgbV91bnBhY2tGbGlwWSwgbV91
bnBhY2tQcmVtdWx0aXBseUFscGhhLCBlYyk7CiB9CkBAIC0zODE5LDYgKzM4NDEsMTIgQEAgdm9p
ZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNE
aW50IGxldmVsLCBHQzNEZW51bQogICAgICAgICByZXR1cm47CiAgICAgaWYgKCF2YWxpZGF0ZVNl
dHRhYmxlVGV4Rm9ybWF0KCJ0ZXhJbWFnZTJEIiwgZm9ybWF0KSkKICAgICAgICAgcmV0dXJuOwor
ICAgIC8vIEZJWE1FOiBVcGxvYWRpbmcgSFRNTENhbnZhc0VsZW1lbnQgdG8gaGFsZiBmbG9hdGlu
ZyBwb2ludCB0ZXh0dXJlIGlzIG5vdCBzdXBwb3J0ZWQgeWV0CisgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDkzNgorICAgIGlmICh0eXBlID09IEdyYXBo
aWNzQ29udGV4dDNEOjpIQUxGX0ZMT0FUX09FUykgeworICAgICAgICBzeW50aGVzaXplR0xFcnJv
cihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICJ0ZXhJbWFnZTJEIiwgIk9w
ZXJhdGlvbiBub3Qgc3VwcG9ydGVkIHlldCIpOworICAgICAgICByZXR1cm47CisgICAgfQogCiAg
ICAgV2ViR0xUZXh0dXJlKiB0ZXh0dXJlID0gdmFsaWRhdGVUZXh0dXJlQmluZGluZygidGV4SW1h
Z2UyRCIsIHRhcmdldCwgdHJ1ZSk7CiAgICAgLy8gSWYgcG9zc2libGUsIGNvcHkgZnJvbSB0aGUg
Y2FudmFzIGVsZW1lbnQgZGlyZWN0bHkgdG8gdGhlIHRleHR1cmUKQEAgLTM4NzUsNiArMzkwMywx
MyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4SW1hZ2UyRChHQzNEZW51bSB0YXJn
ZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVtCiAgICAgUmVmUHRyPEltYWdlPiBpbWFnZSA9IHZp
ZGVvRnJhbWVUb0ltYWdlKHZpZGVvLCBJbWFnZUJ1ZmZlcjo6ZmFzdENvcHlJbWFnZU1vZGUoKSwg
ZWMpOwogICAgIGlmICghaW1hZ2UpCiAgICAgICAgIHJldHVybjsKKyAgICAvLyBGSVhNRTogVXBs
b2FkaW5nIEhUTUxWaWRlb0VsZW1lbnQgdG8gaGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGlz
IG5vdCBzdXBwb3J0ZWQgeWV0CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExMDkzNgorICAgIGlmICh0eXBlID09IEdyYXBoaWNzQ29udGV4dDNEOjpIQUxG
X0ZMT0FUX09FUykgeworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQz
RDo6SU5WQUxJRF9PUEVSQVRJT04sICJ0ZXhJbWFnZTJEIiwgIk9wZXJhdGlvbiBub3Qgc3VwcG9y
dGVkIHlldCIpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgdGV4SW1hZ2UyREltcGwo
dGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIGZvcm1hdCwgdHlwZSwgaW1hZ2UuZ2V0KCks
IEdyYXBoaWNzQ29udGV4dDNEOjpIdG1sRG9tVmlkZW8sIG1fdW5wYWNrRmxpcFksIG1fdW5wYWNr
UHJlbXVsdGlwbHlBbHBoYSwgZWMpOwogfQogI2VuZGlmCkBAIC00MDI5LDYgKzQwNjQsMTMgQEAg
dm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0
LCBHQzNEaW50IGxldmVsLCBHQzNEaW4KICAgICAgICAgcmV0dXJuOwogICAgIGlmICghdmFsaWRh
dGVTZXR0YWJsZVRleEZvcm1hdCgidGV4U3ViSW1hZ2UyRCIsIGZvcm1hdCkpCiAgICAgICAgIHJl
dHVybjsKKyAgICAvLyBGSVhNRTogVXBsb2FkaW5nIEltYWdlRGF0YSB0byBoYWxmIGZsb2F0aW5n
IHBvaW50IHRleHR1cmUgaXMgbm90IHN1cHBvcnRlZCB5ZXQKKyAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTM2CisgICAgaWYgKHR5cGUgPT0gR3JhcGhp
Y3NDb250ZXh0M0Q6OkhBTEZfRkxPQVRfT0VTKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9y
KEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgInRleFN1YkltYWdlMkQiLCAi
T3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQgeWV0Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
ICAgICBWZWN0b3I8dWludDhfdD4gZGF0YTsKICAgICBib29sIG5lZWRDb252ZXJzaW9uID0gdHJ1
ZTsKICAgICAvLyBUaGUgZGF0YSBmcm9tIEltYWdlRGF0YSBpcyBhbHdheXMgb2YgZm9ybWF0IFJH
QkE4LgpAQCAtNDA2MCw2ICs0MTAyLDEzIEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0
ZXhTdWJJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGluCiAgICAg
ICAgIGVjID0gU0VDVVJJVFlfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQorICAgIC8vIEZJ
WE1FOiBVcGxvYWRpbmcgSFRNTEltYWdlRWxlbWVudCB0byBoYWxmIGZsb2F0aW5nIHBvaW50IHRl
eHR1cmUgaXMgbm90IHN1cHBvcnRlZCB5ZXQKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTM2CisgICAgaWYgKHR5cGUgPT0gR3JhcGhpY3NDb250ZXh0
M0Q6OkhBTEZfRkxPQVRfT0VTKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNz
Q29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgInRleFN1YkltYWdlMkQiLCAiT3BlcmF0aW9u
IG5vdCBzdXBwb3J0ZWQgeWV0Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICB0ZXhT
dWJJbWFnZTJESW1wbCh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCBmb3JtYXQsIHR5
cGUsIGltYWdlLT5jYWNoZWRJbWFnZSgpLT5pbWFnZUZvclJlbmRlcmVyKGltYWdlLT5yZW5kZXJl
cigpKSwgR3JhcGhpY3NDb250ZXh0M0Q6Okh0bWxEb21JbWFnZSwgbV91bnBhY2tGbGlwWSwgbV91
bnBhY2tQcmVtdWx0aXBseUFscGhhLCBlYyk7CiB9CiAKQEAgLTQwODEsNiArNDEzMCwxMyBAQCB2
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJnZXQs
IEdDM0RpbnQgbGV2ZWwsIEdDM0RpbgogICAgICAgICByZXR1cm47CiAgICAgaWYgKCF2YWxpZGF0
ZVNldHRhYmxlVGV4Rm9ybWF0KCJ0ZXhTdWJJbWFnZTJEIiwgZm9ybWF0KSkKICAgICAgICAgcmV0
dXJuOworICAgIC8vIEZJWE1FOiBVcGxvYWRpbmcgSFRNTENhbnZhc0VsZW1lbnQgdG8gaGFsZiBm
bG9hdGluZyBwb2ludCB0ZXh0dXJlIGlzIG5vdCBzdXBwb3J0ZWQgeWV0CisgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDkzNgorICAgIGlmICh0eXBlID09
IEdyYXBoaWNzQ29udGV4dDNEOjpIQUxGX0ZMT0FUX09FUykgeworICAgICAgICBzeW50aGVzaXpl
R0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICJ0ZXhTdWJJbWFn
ZTJEIiwgIk9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIHlldCIpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCiAgICAgUmVmUHRyPEltYWdlRGF0YT4gaW1hZ2VEYXRhID0gY2FudmFzLT5nZXRJbWFn
ZURhdGEoKTsKICAgICBpZiAoaW1hZ2VEYXRhKQogICAgICAgICB0ZXhTdWJJbWFnZTJEKHRhcmdl
dCwgbGV2ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIGZvcm1hdCwgdHlwZSwgaW1hZ2VEYXRhLmdldCgp
LCBlYyk7CkBAIC00MDk4LDYgKzQxNTQsMTMgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OnRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW4KICAg
ICBSZWZQdHI8SW1hZ2U+IGltYWdlID0gdmlkZW9GcmFtZVRvSW1hZ2UodmlkZW8sIEltYWdlQnVm
ZmVyOjpmYXN0Q29weUltYWdlTW9kZSgpLCBlYyk7CiAgICAgaWYgKCFpbWFnZSkKICAgICAgICAg
cmV0dXJuOworICAgIC8vIEZJWE1FOiBVcGxvYWRpbmcgSFRNTFZpZGVvRWxlbWVudCB0byBoYWxm
IGZsb2F0aW5nIHBvaW50IHRleHR1cmUgaXMgbm90IHN1cHBvcnRlZCB5ZXQKKyAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTM2CisgICAgaWYgKHR5cGUg
PT0gR3JhcGhpY3NDb250ZXh0M0Q6OkhBTEZfRkxPQVRfT0VTKSB7CisgICAgICAgIHN5bnRoZXNp
emVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgInRleFN1Yklt
YWdlMkQiLCAiT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQgeWV0Iik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKICAgICB0ZXhTdWJJbWFnZTJESW1wbCh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5
b2Zmc2V0LCBmb3JtYXQsIHR5cGUsIGltYWdlLmdldCgpLCBHcmFwaGljc0NvbnRleHQzRDo6SHRt
bERvbVZpZGVvLCBtX3VucGFja0ZsaXBZLCBtX3VucGFja1ByZW11bHRpcGx5QWxwaGEsIGVjKTsK
IH0KICNlbmRpZgpAQCAtNDk4MCw2ICs1MDQzLDExIEBAIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250
ZXh0Ojp2YWxpZGF0ZVRleEZ1bmNGb3JtYXRBbmRUeXBlKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFt
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3ND
b250ZXh0M0Q6OklOVkFMSURfRU5VTSwgZnVuY3Rpb25OYW1lLCAiaW52YWxpZCB0ZXh0dXJlIHR5
cGUiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OkhBTEZfRkxPQVRfT0VTOgorICAgICAgICBpZiAobV9vZXNUZXh0dXJlSGFsZkZsb2F0KQorICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4
dDNEOjpJTlZBTElEX0VOVU0sIGZ1bmN0aW9uTmFtZSwgImludmFsaWQgdGV4dHVyZSB0eXBlIik7
CisgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJ
R05FRF9JTlQ6CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfSU5UXzI0Xzg6
CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfU0hPUlQ6CkBAIC00OTk4LDcg
KzUwNjYsOCBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVUZXhGdW5jRm9y
bWF0QW5kVHlwZShjb25zdCBjaGFyKiBmdW5jdGlvbk5hbQogICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OkxVTUlOQU5DRToKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpMVU1JTkFOQ0Vf
QUxQSEE6CiAgICAgICAgIGlmICh0eXBlICE9IEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9C
WVRFCi0gICAgICAgICAgICAmJiB0eXBlICE9IEdyYXBoaWNzQ29udGV4dDNEOjpGTE9BVCkgewor
ICAgICAgICAgICAgJiYgdHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6RkxPQVQKKyAgICAgICAg
ICAgICYmIHR5cGUgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OkhBTEZfRkxPQVRfT0VTKSB7CiAgICAg
ICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVS
QVRJT04sIGZ1bmN0aW9uTmFtZSwgImludmFsaWQgdHlwZSBmb3IgZm9ybWF0Iik7CiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KQEAgLTUwMDYsNyArNTA3NSw4IEBAIGJvb2wg
V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZVRleEZ1bmNGb3JtYXRBbmRUeXBlKGNvbnN0
IGNoYXIqIGZ1bmN0aW9uTmFtCiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCOgogICAg
ICAgICBpZiAodHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfQllURQogICAgICAg
ICAgICAgJiYgdHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfU0hPUlRfNV82XzUK
LSAgICAgICAgICAgICYmIHR5cGUgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OkZMT0FUKSB7CisgICAg
ICAgICAgICAmJiB0eXBlICE9IEdyYXBoaWNzQ29udGV4dDNEOjpGTE9BVAorICAgICAgICAgICAg
JiYgdHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6SEFMRl9GTE9BVF9PRVMpIHsKICAgICAgICAg
ICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElP
TiwgZnVuY3Rpb25OYW1lLCAiaW52YWxpZCB0eXBlIGZvciBSR0IgZm9ybWF0Iik7CiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KQEAgLTUwMTUsNyArNTA4NSw4IEBAIGJvb2wg
V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZVRleEZ1bmNGb3JtYXRBbmRUeXBlKGNvbnN0
IGNoYXIqIGZ1bmN0aW9uTmFtCiAgICAgICAgIGlmICh0eXBlICE9IEdyYXBoaWNzQ29udGV4dDNE
OjpVTlNJR05FRF9CWVRFCiAgICAgICAgICAgICAmJiB0eXBlICE9IEdyYXBoaWNzQ29udGV4dDNE
OjpVTlNJR05FRF9TSE9SVF80XzRfNF80CiAgICAgICAgICAgICAmJiB0eXBlICE9IEdyYXBoaWNz
Q29udGV4dDNEOjpVTlNJR05FRF9TSE9SVF81XzVfNV8xCi0gICAgICAgICAgICAmJiB0eXBlICE9
IEdyYXBoaWNzQ29udGV4dDNEOjpGTE9BVCkgeworICAgICAgICAgICAgJiYgdHlwZSAhPSBHcmFw
aGljc0NvbnRleHQzRDo6RkxPQVQKKyAgICAgICAgICAgICYmIHR5cGUgIT0gR3JhcGhpY3NDb250
ZXh0M0Q6OkhBTEZfRkxPQVRfT0VTKSB7CiAgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihH
cmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sIGZ1bmN0aW9uTmFtZSwgImludmFs
aWQgdHlwZSBmb3IgUkdCQSBmb3JtYXQiKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICAgICAgfQpAQCAtNTE4NSw2ICs1MjU2LDE0IEBAIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0
Ojp2YWxpZGF0ZVRleEZ1bmNEYXRhKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0MzRGluCiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6SEFMRl9GTE9BVF9PRVM6IC8vIE9FU190ZXh0dXJlX2hh
bGZfZmxvYXQKKyAgICAgICAgLy8gQXMgcGVyIHRoZSBzcGVjaWZpY2F0aW9uLCBBcnJheUJ1ZmZl
clZpZXcgc2hvdWxkIGJlIG51bGwgd2hlbgorICAgICAgICAvLyBPRVNfdGV4dHVyZV9oYWxmX2Zs
b2F0IGlzIGVuYWJsZWQuCisgICAgICAgIGlmIChwaXhlbHMpIHsKKyAgICAgICAgICAgIHN5bnRo
ZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgZnVuY3Rp
b25OYW1lLCAidHlwZSBIQUxGX0ZMT0FUX09FUyBidXQgQXJyYXlCdWZmZXJWaWV3IGlzIG5vdCBO
VUxMIik7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICAgICAgYnJl
YWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQu
aAppbmRleCAzYmNlNTM0NGQ0ZTAwYjAyYzgxM2EzODQwNDgxZWNmZTg2YTJlZDBkLi5lY2Y4Y2Zm
Zjk5YWFkY2I0ZmZmN2Q3ZmIxYzVlNTM5MGIzMmMyY2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaApAQCAtNTEsNiArNTEsNyBA
QCBjbGFzcyBJbWFnZURhdGE7CiBjbGFzcyBJbnRTaXplOwogY2xhc3MgT0VTU3RhbmRhcmREZXJp
dmF0aXZlczsKIGNsYXNzIE9FU1RleHR1cmVGbG9hdDsKK2NsYXNzIE9FU1RleHR1cmVIYWxmRmxv
YXQ7CiBjbGFzcyBPRVNWZXJ0ZXhBcnJheU9iamVjdDsKIGNsYXNzIE9FU0VsZW1lbnRJbmRleFVp
bnQ7CiBjbGFzcyBXZWJHTEFjdGl2ZUluZm87CkBAIC01MTcsNiArNTE4LDcgQEAgcHVibGljOgog
ICAgIE93blB0cjxFWFREcmF3QnVmZmVycz4gbV9leHREcmF3QnVmZmVyczsKICAgICBPd25QdHI8
RVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljPiBtX2V4dFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3Bp
YzsKICAgICBPd25QdHI8T0VTVGV4dHVyZUZsb2F0PiBtX29lc1RleHR1cmVGbG9hdDsKKyAgICBP
d25QdHI8T0VTVGV4dHVyZUhhbGZGbG9hdD4gbV9vZXNUZXh0dXJlSGFsZkZsb2F0OwogICAgIE93
blB0cjxPRVNTdGFuZGFyZERlcml2YXRpdmVzPiBtX29lc1N0YW5kYXJkRGVyaXZhdGl2ZXM7CiAg
ICAgT3duUHRyPE9FU1ZlcnRleEFycmF5T2JqZWN0PiBtX29lc1ZlcnRleEFycmF5T2JqZWN0Owog
ICAgIE93blB0cjxPRVNFbGVtZW50SW5kZXhVaW50PiBtX29lc0VsZW1lbnRJbmRleFVpbnQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmlkbAppbmRleCBiNGQ0ODlkZGVjNmRkYTRlYzY2MTU2NDJkYzRkZTQyYjc1MjljYzI2Li4wZGRj
ODQ3YjY3MzYxZjI5NzkzZmM3MzBiOGY0YmI3N2ZmNDBkNmVlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5pZGwKQEAgLTIzNyw2
ICsyMzcsNyBAQCB0eXBlZGVmIC8qdW5yZXN0cmljdGVkKi8gZmxvYXQgR0xjbGFtcGY7CiAgICAg
Y29uc3QgR0xlbnVtIElOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MTQwNDsKICAg
ICBjb25zdCBHTGVudW0gVU5TSUdORURfSU5UICAgICAgICAgICAgICAgICAgID0gMHgxNDA1Owog
ICAgIGNvbnN0IEdMZW51bSBGTE9BVCAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDE0MDY7
CisgICAgY29uc3QgR0xlbnVtIEhBTEZfRkxPQVRfT0VTICAgICAgICAgICAgICAgICA9IDB4OEQ2
MTsKIAogICAgIC8qIFBpeGVsRm9ybWF0ICovCiAgICAgY29uc3QgR0xlbnVtIERFUFRIX0NPTVBP
TkVOVCAgICAgICAgICAgICAgICA9IDB4MTkwMjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmgKaW5kZXggYjAzM2JjZDczOTU2ZTI3MzgzYTVmNzQ1
ZWJjODJjYThhNWQ2YWYyMy4uZDhkNzdhOTI3ZWVlOGM0NzE3NzMwMzIxMTdmZDQ2NDEyZWQ2NzZm
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9u
czNELmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNE
LmgKQEAgLTUzLDYgKzUzLDcgQEAgcHVibGljOgogICAgIC8vICAgR0xfRVhUX3BhY2tlZF9kZXB0
aF9zdGVuY2lsIC8gR0xfT0VTX3BhY2tlZF9kZXB0aF9zdGVuY2lsCiAgICAgLy8gICBHTF9BTkdM
RV9mcmFtZWJ1ZmZlcl9ibGl0IC8gR0xfQU5HTEVfZnJhbWVidWZmZXJfbXVsdGlzYW1wbGUKICAg
ICAvLyAgIEdMX09FU190ZXh0dXJlX2Zsb2F0CisgICAgLy8gICBHTF9PRVNfdGV4dHVyZV9oYWxm
X2Zsb2F0CiAgICAgLy8gICBHTF9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMKICAgICAvLyAgIEdM
X09FU19yZ2I4X3JnYmE4CiAgICAgLy8gICBHTF9PRVNfdmVydGV4X2FycmF5X29iamVjdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
M0QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
M0QuY3BwCmluZGV4IDRlMmU0MGQwZDZkZThhNDhmMWVjZmFkYjIxMWE0YzMyYjhmOGFhYzIuLjRi
NWI5ZmQ0ZTI2NzE4NDg3NmFhNjI5YjI2MDVkYzBkZTM1YzU0NzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5jcHAKQEAg
LTE3Niw2ICsxNzYsOSBAQCBib29sIEdyYXBoaWNzQ29udGV4dDNEOjpjb21wdXRlRm9ybWF0QW5k
VHlwZVBhcmFtZXRlcnMoR0MzRGVudW0gZm9ybWF0LAogICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
M0Q6OkZMT0FUOiAvLyBPRVNfdGV4dHVyZV9mbG9hdAogICAgICAgICAqYnl0ZXNQZXJDb21wb25l
bnQgPSBzaXplb2YoR0MzRGZsb2F0KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6SEFMRl9GTE9BVF9PRVM6IC8vIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQKKyAg
ICAgICAgKmJ5dGVzUGVyQ29tcG9uZW50ID0gc2l6ZW9mKEdDM0RoYWxmZmxvYXQpOworICAgICAg
ICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
M0QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNE
LmgKaW5kZXggNjQ5ZDUwNDE4MzkzN2Q0ZDNjODhhZWJlMjY5ZGMwOTQxZDYwZTg1ZS4uZTEyMjhl
ZmE5Zjg5Y2QxM2QyOTUwNTg2ZDlkMTEyYWNmMGJlNGVjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCkBAIC0yNTEsNiAr
MjUxLDcgQEAgcHVibGljOgogICAgICAgICBJTlQgPSAweDE0MDQsCiAgICAgICAgIFVOU0lHTkVE
X0lOVCA9IDB4MTQwNSwKICAgICAgICAgRkxPQVQgPSAweDE0MDYsCisgICAgICAgIEhBTEZfRkxP
QVRfT0VTID0gMHg4RDYxLAogICAgICAgICBGSVhFRCA9IDB4MTQwQywKICAgICAgICAgREVQVEhf
Q09NUE9ORU5UID0gMHgxOTAyLAogICAgICAgICBBTFBIQSA9IDB4MTkwNiwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMzRC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlczNELmgKaW5kZXggMjAz
YTNmZDhhYWI0NWMyNjEwZWM1OGIwNzVlNjVjOWViY2RmMjk3My4uMWZhOGVhYWIxN2UwNWMzMWRk
OTFmZjhlNTVlNGI2YjA4NGUxNjA0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlczNELmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlczNELmgKQEAgLTQxLDYgKzQxLDcgQEAgdHlwZWRlZiBp
bnQgR0MzRGludDsKIHR5cGVkZWYgaW50IEdDM0RzaXplaTsKIHR5cGVkZWYgdW5zaWduZWQgaW50
IEdDM0R1aW50OwogdHlwZWRlZiBmbG9hdCBHQzNEZmxvYXQ7Cit0eXBlZGVmIHVuc2lnbmVkIHNo
b3J0IEdDM0RoYWxmZmxvYXQ7CiB0eXBlZGVmIGZsb2F0IEdDM0RjbGFtcGY7CiB0eXBlZGVmIGlu
dHB0cl90IEdDM0RpbnRwdHI7CiB0eXBlZGVmIGludHB0cl90IEdDM0RzaXplaXB0cjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0Nv
bnRleHQzRE9wZW5HTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwCmluZGV4IDVjMmZhYmMxY2I5MjQyYTBjMjBi
Yzc1YTdlMDAyMGM3NmE3NjU2NWMuLjYwNWM0ZGFlZWVlZDJhNTNlNzhhNjllMThhZjEwODA0OGQ5
ZGViODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5n
bC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcApAQCAtMjU2LDgg
KzI1NiwxOSBAQCBib29sIEdyYXBoaWNzQ29udGV4dDNEOjp0ZXhJbWFnZTJEKEdDM0RlbnVtIHRh
cmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGVudW0gaW50ZQogICAgICAgICAgICAgb3BlbkdMSW50
ZXJuYWxGb3JtYXQgPSBHTF9SR0JBMzJGX0FSQjsKICAgICAgICAgZWxzZSBpZiAoZm9ybWF0ID09
IEdMX1JHQikKICAgICAgICAgICAgIG9wZW5HTEludGVybmFsRm9ybWF0ID0gR0xfUkdCMzJGX0FS
QjsKKyAgICB9IGVsc2UgaWYgKHR5cGUgPT0gSEFMRl9GTE9BVF9PRVMpIHsKKyAgICAgICAgaWYg
KGZvcm1hdCA9PSBHTF9SR0JBKQorICAgICAgICAgICAgb3BlbkdMSW50ZXJuYWxGb3JtYXQgPSBH
TF9SR0JBMTZGX0FSQjsKKyAgICAgICAgZWxzZSBpZiAoZm9ybWF0ID09IEdMX1JHQikKKyAgICAg
ICAgICAgIG9wZW5HTEludGVybmFsRm9ybWF0ID0gR0xfUkdCMTZGX0FSQjsKKyAgICAgICAgZWxz
ZSBpZiAoZm9ybWF0ID09IEdMX0xVTUlOQU5DRSkKKyAgICAgICAgICAgIG9wZW5HTEludGVybmFs
Rm9ybWF0ID0gR0xfTFVNSU5BTkNFMTZGX0FSQjsKKyAgICAgICAgZWxzZSBpZiAoZm9ybWF0ID09
IEdMX0FMUEhBKQorICAgICAgICAgICAgb3BlbkdMSW50ZXJuYWxGb3JtYXQgPSBHTF9BTFBIQTE2
Rl9BUkI7CisgICAgICAgIGVsc2UgaWYgKGZvcm1hdCA9PSBHTF9MVU1JTkFOQ0VfQUxQSEEpCisg
ICAgICAgICAgICBvcGVuR0xJbnRlcm5hbEZvcm1hdCA9IEdMX0xVTUlOQU5DRV9BTFBIQTE2Rl9B
UkI7CisgICAgICAgIHR5cGUgPSBGTE9BVDsKICAgICB9Ci0KICAgICB0ZXhJbWFnZTJERGlyZWN0
KHRhcmdldCwgbGV2ZWwsIG9wZW5HTEludGVybmFsRm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBib3Jk
ZXIsIGZvcm1hdCwgdHlwZSwgcGl4ZWxzKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBl
OGUxMzEzNGNhNjMzNzU2NDA3NTk3N2M2YmRhNzE3OWMyNTEwYTJmLi45NTM1YzNmYjhkMjI4YzA1
ZDA0NjBhMWUzODZhOWZlNGEyZjNkMWU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTMtMDIt
MjggIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBbV2Vi
R0xdIFN1cHBvcnQgZm9yIHRleEltYWdlMkQgb2YgdHlwZSBIQUxGX0ZMT0FUX09FUyB3aXRoIEFy
cmF5QnVmZmVyVmlldy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMDgxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFzIHBlciBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IHNwZWNpZmljYXRpb24gdGV4SW1h
Z2UyRCBhbmQgdGV4U3ViSW1hZ2UyRCBlbnRyeQorICAgICAgICBwb2ludHMgdGFraW5nIEFycmF5
QnVmZmVyVmlldyBzaG91bGQgZXh0ZW5kZWQgdG8gYWNjZXB0IG51bGwgd2l0aCB0aGUgcGl4ZWwg
dHlwZQorICAgICAgICBIQUxGX0ZMT0FUX09FUy4KKworICAgICAgICAqIGZhc3QvY2FudmFzL3dl
YmdsL2NvbnN0YW50cy5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0
dXJlLWhhbGYtZmxvYXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZh
cy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LW5vdC1zdXBwb3J0ZWQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZs
b2F0LW5vdC1zdXBwb3J0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvd2Vi
Z2wvb2VzLXRleHR1cmUtaGFsZi1mbG9hdC5odG1sOiBBZGRlZC4KKwogMjAxMy0wMy0wMSAgUm9n
ZXIgRm9uZyAgPHJvZ2VyX2ZvbmdAYXBwbGUuY29tPgogCiAJCVVucmV2aWV3ZWQgZ2FyZGVuaW5n
IG9mIEFwcGxlV2luIHBvcnQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93
ZWJnbC9jb25zdGFudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnN0
YW50cy5odG1sCmluZGV4IDc1YzA5MDMxZmFkOWViNGY2MmUzMjI1NGM1MTc0NjI1NjMwMzRjMWMu
LjhiNmJjOTRiZjY0NTY4MTNmMWFhM2MwODUzNzdiOTI4YjdmNjM0MDUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnN0YW50cy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnN0YW50cy5odG1sCkBAIC0yMTIsNiArMjEyLDcgQEAg
VU5TSUdORURfU0hPUlQgICAgICAgICAgICAgICAgIDogMHgxNDAzLAogSU5UICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDogMHgxNDA0LAogVU5TSUdORURfSU5UICAgICAgICAgICAgICAgICAg
IDogMHgxNDA1LAogRkxPQVQgICAgICAgICAgICAgICAgICAgICAgICAgIDogMHgxNDA2LAorSEFM
Rl9GTE9BVF9PRVMgICAgICAgICAgICAgICAgIDogMHg4RDYxLAogICAgIAogICAgIC8qIFBpeGVs
Rm9ybWF0ICovCiBERVBUSF9DT01QT05FTlQgICAgICAgICAgICAgICAgOiAweDE5MDIsCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZs
b2F0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0
dXJlLWhhbGYtZmxvYXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmYzk2NWZkODQ2NWViYmEz
OWRkZDNiY2E5NjIzNzA2NjBlMTYyNTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDg0IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgT0VT
X3RleHR1cmVfaGFsZl9mbG9hdCB3aXRoIG51bGwvbm9uLW51bGwgQXJyYXlCdWZmZXJWaWV3CisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFdlYkdMIGNvbnRleHQgZXhpc3Rz
CitUZXN0aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZGlzYWJsZWQsIGZvcm1h
dCBSR0JBLCBhbmQgZGF0YSBudWxsLiBFeHBlY3QgRmFpbHVyZQorUEFTUyBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxk
IHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX0VOVU0g
OiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgbXVzdCBiZSBkaWFsbG93ZWQgaWYgT0VTX3Rl
eHR1cmVfaGFsZl9mbG9hdCBpc24ndCBlbmFibGVkCitQQVNTIFN1Y2Nlc3NmdWxseSBlbmFibGVk
IE9FU190ZXh0dXJlX2hhbGZfZmxvYXQgZXh0ZW5zaW9uCitUZXN0aW5nIHRleHR1cmUgY3JlYXRp
b24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IFJHQkEsIGFuZCBkYXRhIG51bGwuIEV4
cGVjdCBTdWNjZXNzCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJl
IGFsbG9jYXRpb24gc2hvdWxkIHN1Y2NlZWQgaWYgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBpcyBl
bmFibGVkCitUZXN0aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwg
Zm9ybWF0IFJHQiwgYW5kIGRhdGEgbnVsbC4gRXhwZWN0IFN1Y2Nlc3MKK1BBU1MgZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNo
b3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBzaG91bGQgc3VjY2VlZCBp
ZiBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGlzIGVuYWJsZWQKK1Rlc3RpbmcgdGV4dHVyZSBjcmVh
dGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQgTFVNSU5BTkNFLCBhbmQgZGF0YSBu
dWxsLiBFeHBlY3QgU3VjY2VzcworUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQg
dGV4dHVyZSBhbGxvY2F0aW9uIHNob3VsZCBzdWNjZWVkIGlmIE9FU190ZXh0dXJlX2hhbGZfZmxv
YXQgaXMgZW5hYmxlZAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVu
YWJsZWQsIGZvcm1hdCBBTFBIQSwgYW5kIGRhdGEgbnVsbC4gRXhwZWN0IFN1Y2Nlc3MKK1BBU1Mg
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVy
IHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBzaG91bGQg
c3VjY2VlZCBpZiBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGlzIGVuYWJsZWQKK1Rlc3RpbmcgdGV4
dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQgTFVNSU5BTkNFX0FM
UEhBLCBhbmQgZGF0YSBudWxsLiBFeHBlY3QgU3VjY2VzcworUEFTUyBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1
Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IEhhbGYg
ZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIHNob3VsZCBzdWNjZWVkIGlmIE9FU190
ZXh0dXJlX2hhbGZfZmxvYXQgaXMgZW5hYmxlZAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdp
dGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBSR0JBLCBhbmQgZGF0YSBub24tbnVsbC4gRXhw
ZWN0IEZhaWx1cmUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50
IHRleHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmll
dyBpcyBub3QtbnVsbAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVu
YWJsZWQsIGZvcm1hdCBSR0JBLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BB
U1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1l
dGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2Nh
dGlvbiBtdXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAor
VGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBS
R0JBLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3Vs
ZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVS
QVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJlIGRp
YWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAorVGVzdGluZyB0ZXh0dXJl
IGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBSR0IsIGFuZCBkYXRhIG5v
bi1udWxsLiBFeHBlY3QgRmFpbHVyZQorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1Mg
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IEhhbGYgZmxv
YXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIG11c3QgYmUgZGlhbGxvd2VkIHdoZW4gQXJy
YXlCdWZmZXJWaWV3IGlzIG5vdC1udWxsCitUZXN0aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBl
eHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IFJHQiwgYW5kIGRhdGEgbm9uLW51bGwuIEV4cGVjdCBG
YWlsdXJlCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0
dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0
dXJlIGFsbG9jYXRpb24gbXVzdCBiZSBkaWFsbG93ZWQgd2hlbiBBcnJheUJ1ZmZlclZpZXcgaXMg
bm90LW51bGwKK1Rlc3RpbmcgdGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVk
LCBmb3JtYXQgUkdCLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNl
dHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5W
QUxJRF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBt
dXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAorVGVzdGlu
ZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBMVU1JTkFO
Q0UsIGFuZCBkYXRhIG5vbi1udWxsLiBFeHBlY3QgRmFpbHVyZQorUEFTUyBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxk
IHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJB
VElPTiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIG11c3QgYmUgZGlh
bGxvd2VkIHdoZW4gQXJyYXlCdWZmZXJWaWV3IGlzIG5vdC1udWxsCitUZXN0aW5nIHRleHR1cmUg
Y3JlYXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IExVTUlOQU5DRSwgYW5kIGRh
dGEgbm9uLW51bGwuIEV4cGVjdCBGYWlsdXJlCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAor
UEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogSGFs
ZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gbXVzdCBiZSBkaWFsbG93ZWQgd2hl
biBBcnJheUJ1ZmZlclZpZXcgaXMgbm90LW51bGwKK1Rlc3RpbmcgdGV4dHVyZSBjcmVhdGlvbiB3
aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQgTFVNSU5BTkNFLCBhbmQgZGF0YSBub24tbnVs
bC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5n
IHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVm
ZmVyVmlldyBpcyBub3QtbnVsbAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5z
aW9uIGVuYWJsZWQsIGZvcm1hdCBBTFBIQSwgYW5kIGRhdGEgbm9uLW51bGwuIEV4cGVjdCBGYWls
dXJlCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJl
IHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJl
IGFsbG9jYXRpb24gbXVzdCBiZSBkaWFsbG93ZWQgd2hlbiBBcnJheUJ1ZmZlclZpZXcgaXMgbm90
LW51bGwKK1Rlc3RpbmcgdGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBm
b3JtYXQgQUxQSEEsIGFuZCBkYXRhIG5vbi1udWxsLiBFeHBlY3QgRmFpbHVyZQorUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0
dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZB
TElEX09QRVJBVElPTiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIG11
c3QgYmUgZGlhbGxvd2VkIHdoZW4gQXJyYXlCdWZmZXJWaWV3IGlzIG5vdC1udWxsCitUZXN0aW5n
IHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IEFMUEhBLCBh
bmQgZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNj
ZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04g
OiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dl
ZCB3aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0
aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBMVU1JTkFOQ0VfQUxQSEEsIGFuZCBk
YXRhIG5vbi1udWxsLiBFeHBlY3QgRmFpbHVyZQorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2NlZWQK
K1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IEhh
bGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIG11c3QgYmUgZGlhbGxvd2VkIHdo
ZW4gQXJyYXlCdWZmZXJWaWV3IGlzIG5vdC1udWxsCitUZXN0aW5nIHRleHR1cmUgY3JlYXRpb24g
d2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IExVTUlOQU5DRV9BTFBIQSwgYW5kIGRhdGEg
bm9uLW51bGwuIEV4cGVjdCBGYWlsdXJlCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFT
UyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogSGFsZiBm
bG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gbXVzdCBiZSBkaWFsbG93ZWQgd2hlbiBB
cnJheUJ1ZmZlclZpZXcgaXMgbm90LW51bGwKK1Rlc3RpbmcgdGV4dHVyZSBjcmVhdGlvbiB3aXRo
IGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQgTFVNSU5BTkNFX0FMUEhBLCBhbmQgZGF0YSBub24t
bnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0
aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5
QnVmZmVyVmlldyBpcyBub3QtbnVsbAorCitUZXN0aW5nIGhhbGYgZmxvYXRpbmcgcG9pbnQgcmVu
ZGVyIHRhcmdldAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
dGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBh
bGxvY2F0aW9uIHNob3VsZCBzdWNjZWVkIGlmIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQgaXMgZW5h
YmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogUmVuZGVy
aW5nIHRvIGhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBzaG91bGQgc3VjY2VlZAorUEFTUyBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVuZGVyaW5nIGZyb20gaGFs
ZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIHNob3VsZCBzdWNjZWVkCitQQVNTIHNob3VsZCBiZSBn
cmVlbgorVGVzdGluZyB0aGF0IGdldEV4dGVuc2lvbigpIHJldHVybnMgdGhlIHNhbWUgb2JqZWN0
IGVhY2ggdGltZQorUEFTUyBnbC5nZXRFeHRlbnNpb24oIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQi
KS5teVByb3BlcnR5IGlzIDIKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtbm90LXN1cHBvcnRlZC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LW5vdC1zdXBw
b3J0ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmMWIzNTAyYThhYjgzMTgzOWJhYjg0ZWE3
Mjc5MjU2Y2Q0YWUyNzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LW5vdC1zdXBwb3J0ZWQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNDAgQEAKK1Rlc3Rpbmcgbm90IHlldCBzdXBwb3J0ZWQgdGV4dHVyZSB1cGxv
YWRzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKK1BBU1MgV2ViR0wgY29udGV4
dCBleGlzdHMKK1BBU1MgU3VjY2Vzc2Z1bGx5IGVuYWJsZWQgT0VTX3RleHR1cmVfaGFsZl9mbG9h
dCBleHRlbnNpb24KKworVmVyaWZ5IHdoZXRoZXIgdXBsb2FkaW5nIEltYWdlRGF0YSB2aWEgdGV4
SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1cHBvcnRlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1
Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElP
TiA6IFVwbG9hZGluZyB0byBoYWxmIGZsb2F0IHRleHR1cmUgaXMgbm90IHlldCBzdXBwb3J0ZWQK
K1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFVwbG9hZGluZyBu
dWxsIEFycmF5QnVmZmVyVmlldyB0byBoYWxmIGZsb2F0IHRleHR1cmUgc2hvdWxkIHN1Y2NlZWQK
K1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IFVw
bG9hZGluZyB0byBoYWxmIGZsb2F0IHRleHR1cmUgdXNpbmcgdGV4U3ViSW1hZ2UyRCBpcyBub3Qg
c3VwcG9ydGVkIHlldAorCitWZXJpZnkgd2hldGhlciB1cGxvYWRpbmcgSFRNTEltYWdlRWxlbWVu
dCB2aWEgdGV4SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1cHBvcnRlZAorCitWZXJpZnkgd2hl
dGhlciB1cGxvYWRpbmcgSFRNTENhbnZhc0VsZW1lbnQgdmlhIHRleEltYWdlMkQvdGV4U3ViSW1h
Z2UyRCBpcyBzdXBwb3J0ZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBVcGxvYWRpbmcgdG8g
aGFsZiBmbG9hdCB0ZXh0dXJlIGlzIG5vdCB5ZXQgc3VwcG9ydGVkCitQQVNTIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBVcGxvYWRpbmcgbnVsbCBBcnJheUJ1ZmZlclZp
ZXcgdG8gaGFsZiBmbG9hdCB0ZXh0dXJlIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBVcGxvYWRpbmcgdG8gaGFsZiBm
bG9hdCB0ZXh0dXJlIHVzaW5nIHRleFN1YkltYWdlMkQgaXMgbm90IHN1cHBvcnRlZCB5ZXQKKwor
VmVyaWZ5IHdoZXRoZXIgdXBsb2FkaW5nIEhUTUxWaWRlb0VsZW1lbnQgdmlhIHRleEltYWdlMkQv
dGV4U3ViSW1hZ2UyRCBpcyBzdXBwb3J0ZWQKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogVXBsb2FkaW5n
IHRvIGhhbGYgZmxvYXQgdGV4dHVyZSBpcyBub3QgeWV0IHN1cHBvcnRlZAorUEFTUyBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogVXBsb2FkaW5nIG51bGwgQXJyYXlCdWZm
ZXJWaWV3IHRvIGhhbGYgZmxvYXQgdGV4dHVyZSBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogVXBsb2FkaW5nIHRvIGhh
bGYgZmxvYXQgdGV4dHVyZSB1c2luZyB0ZXhTdWJJbWFnZTJEIGlzIG5vdCBzdXBwb3J0ZWQgeWV0
CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBh
cmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogVXBsb2FkaW5nIHRvIGhhbGYgZmxvYXQgdGV4dHVy
ZSBpcyBub3QgeWV0IHN1cHBvcnRlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogVXBsb2FkaW5nIG51bGwgQXJyYXlCdWZmZXJWaWV3IHRvIGhhbGYgZmxvYXQg
dGV4dHVyZSBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IElOVkFMSURfT1BFUkFUSU9OIDogVXBsb2FkaW5nIHRvIGhhbGYgZmxvYXQgdGV4dHVyZSB1c2lu
ZyB0ZXhTdWJJbWFnZTJEIGlzIG5vdCBzdXBwb3J0ZWQgeWV0CitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtbm90LXN1cHBvcnRlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtaGFsZi1mbG9h
dC1ub3Qtc3VwcG9ydGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTA4ZTk0N2Q0ODUyY2JlNjliNmFjODUx
NGFlNGNlNDkyNzBkZmU4NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtbm90LXN1cHBvcnRlZC5odG1sCkBAIC0w
LDAgKzEsMTcwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBub3QgeWV0
IGltcGxlbWVudGVkIENvbmZvcm1hbmNlIFRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29uc3RhbnRzLmpzIiB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0idGV4Y2FudmFzIiB3aWR0
aD0iMSIgaGVpZ2h0PSIyIj48L2NhbnZhcz4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdGlu
ZyBub3QgeWV0IHN1cHBvcnRlZCB0ZXh0dXJlIHVwbG9hZHMiKTsKK2RlYnVnKCIiKTsKKworaWYg
KHdpbmRvdy5pbml0Tm9uS2hyb25vc0ZyYW1ld29yaykgeworICAgIHdpbmRvdy5pbml0Tm9uS2hy
b25vc0ZyYW1ld29yayh0cnVlKTsKK30KKworaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFs
c2UpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgY2FudmFzID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChj
YW52YXMpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOworCitpZiAoIWdsKSB7Cisg
ICAgdGVzdEZhaWxlZCgiV2ViR0wgY29udGV4dCBkb2VzIG5vdCBleGlzdHMiKTsKK30gZWxzZSB7
CisgICAgdGVzdFBhc3NlZCgiV2ViR0wgY29udGV4dCBleGlzdHMiKTsKKworICAgIGlmKCFnbC5n
ZXRFeHRlbnNpb24oIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKSkgeworICAgICAgICB0ZXN0UGFz
c2VkKCJObyBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IHN1cHBvcnQuIFRoaXMgaXMgbGVnYWwiKTsK
KyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0UGFzc2VkKCJTdWNjZXNzZnVsbHkgZW5hYmxlZCBP
RVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGV4dGVuc2lvbiIpOworICAgICAgICAKKyAgICAgICAgdmFy
IGNhbnZhczJkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleGNhbnZhcyIpOworICAgICAg
ICB2YXIgY29udGV4dDJkID0gY2FudmFzMmQuZ2V0Q29udGV4dCgiMmQiKTsKKworICAgICAgICBy
dW5JbWFnZURhdGFVbnN1cHBvcnRlZFRlc3QoY2FudmFzMmQsIGNvbnRleHQyZCk7CisgICAgICAg
IHJ1bkhUTUxJbWFnZUVsZW1lbnRVbnN1cHBvcnRlZFRlc3QoY2FudmFzMmQsIGNvbnRleHQyZCk7
CisgICAgICAgIHJ1bkhUTUxDYW52YXNFbGVtZW50VW5zdXBwb3J0ZWRUZXN0KGNhbnZhczJkLCBj
b250ZXh0MmQpOworICAgICAgICBydW5IVE1MVmlkZW9FbGVtZW50VW5zdXBwb3J0ZWRUZXN0KGNh
bnZhczJkLCBjb250ZXh0MmQpOworICAgIH0KK30KKworZnVuY3Rpb24gYWxsb2NhdGVUZXh0dXJl
KCkKK3sKKyAgICB2YXIgdGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5k
VGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGds
LlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CisgICAgZ2wu
dGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01BR19GSUxURVIsIGdsLk5F
QVJFU1QpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9X
UkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVS
RV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQg
c3VjY2VlZCIpOworICAgIHJldHVybiB0ZXh0dXJlOworfQorCitmdW5jdGlvbiBydW5UZXh0dXJl
VXBsb2FkVGVzdChpbWFnZSkKK3sKKyAgICB2YXIgdGV4dHVyZSA9IGFsbG9jYXRlVGV4dHVyZSgp
OworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwg
Z2wuSEFMRl9GTE9BVF9PRVMsIGltYWdlKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklO
VkFMSURfT1BFUkFUSU9OLCAiVXBsb2FkaW5nIHRvIGhhbGYgZmxvYXQgdGV4dHVyZSBpcyBub3Qg
eWV0IHN1cHBvcnRlZCIpOworCisgICAgLy8gQ2hlY2sgaWYgdXBsb2FkaW5nIEltYWdlRGF0YSB2
aWEgdGV4U3ViSW1hZ2UyRCBpcyBzdXBwb3J0ZWQKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIGdsLlJHQkEsIDEsIDIsIDAsIGdsLlJHQkEsIGdsLkhBTEZfRkxPQVRfT0VTLCBu
dWxsKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiVXBsb2FkaW5nIG51
bGwgQXJyYXlCdWZmZXJWaWV3IHRvIGhhbGYgZmxvYXQgdGV4dHVyZSBzaG91bGQgc3VjY2VlZCIp
OworICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwg
Z2wuSEFMRl9GTE9BVF9PRVMsIGltYWdlKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklO
VkFMSURfT1BFUkFUSU9OLCAiVXBsb2FkaW5nIHRvIGhhbGYgZmxvYXQgdGV4dHVyZSB1c2luZyB0
ZXhTdWJJbWFnZTJEIGlzIG5vdCBzdXBwb3J0ZWQgeWV0Iik7Cit9CisKK2Z1bmN0aW9uIHJ1bklt
YWdlRGF0YVVuc3VwcG9ydGVkVGVzdChjYW52YXMyZCwgY29udGV4dDJkKQoreworICAgIGRlYnVn
KCIiKTsKKyAgICBkZWJ1ZygiVmVyaWZ5IHdoZXRoZXIgdXBsb2FkaW5nIEltYWdlRGF0YSB2aWEg
dGV4SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1cHBvcnRlZCIpOworICAgIAorICAgIC8vIENo
ZWNrIGlmIHVwbG9hZGluZyBJbWFnZURhdGEgdmlhIHRleEltYWdlMkQgaXMgc3VwcG9ydGVkCisg
ICAgdmFyIGltYWdlRGF0YSA9IGNvbnRleHQyZC5jcmVhdGVJbWFnZURhdGEoMSwgMik7CisgICAg
dmFyIGRhdGEgPSBpbWFnZURhdGEuZGF0YTsKKyAgICBkYXRhWzBdID0gMjU1OworICAgIGRhdGFb
MV0gPSAwOworICAgIGRhdGFbMl0gPSAwOworICAgIGRhdGFbM10gPSAyNTU7CisgICAgZGF0YVs0
XSA9IDA7CisgICAgZGF0YVs1XSA9IDI1NTsKKyAgICBkYXRhWzZdID0gMDsKKyAgICBkYXRhWzdd
ID0gMDsKKworICAgIHJ1blRleHR1cmVVcGxvYWRUZXN0KGltYWdlRGF0YSk7ICAgIAorfQorCitm
dW5jdGlvbiBydW5IVE1MSW1hZ2VFbGVtZW50VW5zdXBwb3J0ZWRUZXN0KGNhbnZhczJkLCBjb250
ZXh0MmQpCit7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJWZXJpZnkgd2hldGhlciB1cGxv
YWRpbmcgSFRNTEltYWdlRWxlbWVudCB2aWEgdGV4SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1
cHBvcnRlZCIpOworCisgICAgdmFyIGltYWdlRGF0YSA9IGNvbnRleHQyZC5jcmVhdGVJbWFnZURh
dGEoMSwgMik7CisgICAgdmFyIGRhdGEgPSBpbWFnZURhdGEuZGF0YTsKKyAgICBkYXRhWzBdID0g
MjU1OworICAgIGRhdGFbMV0gPSAwOworICAgIGRhdGFbMl0gPSAwOworICAgIGRhdGFbM10gPSAy
NTU7CisgICAgZGF0YVs0XSA9IDA7CisgICAgZGF0YVs1XSA9IDI1NTsKKyAgICBkYXRhWzZdID0g
MDsKKyAgICBkYXRhWzddID0gMDsKKyAgICBjb250ZXh0MmQucHV0SW1hZ2VEYXRhKGltYWdlRGF0
YSwgMCwgMCk7CisKKyAgICB2YXIgbmV3SW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJp
bWciKTsKKyAgICBuZXdJbWFnZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgcnVuVGV4
dHVyZVVwbG9hZFRlc3QobmV3SW1hZ2UpOworICAgIH0KKyAgICBuZXdJbWFnZS5zcmMgPSBjYW52
YXMyZC50b0RhdGFVUkwoKTsKK30KKworZnVuY3Rpb24gc2V0Q2FudmFzVG9SZWRHcmVlbihjdHgp
IHsKKyAgICB2YXIgd2lkdGggPSBjdHguY2FudmFzLndpZHRoOworICAgIHZhciBoZWlnaHQgPSBj
dHguY2FudmFzLmhlaWdodDsKKyAgICB2YXIgaGFsZkhlaWdodCA9IE1hdGguZmxvb3IoaGVpZ2h0
IC8gMik7CisgICAgY3R4LmZpbGxTdHlsZSA9ICIjZmYwMDAwIjsKKyAgICBjdHguZmlsbFJlY3Qo
MCwgMCwgd2lkdGgsIGhhbGZIZWlnaHQpOworICAgIGN0eC5maWxsU3R5bGUgPSAiIzAwZmYwMCI7
CisgICAgY3R4LmZpbGxSZWN0KDAsIGhhbGZIZWlnaHQsIHdpZHRoLCBoZWlnaHQgLSBoYWxmSGVp
Z2h0KTsKK30KKworZnVuY3Rpb24gcnVuSFRNTENhbnZhc0VsZW1lbnRVbnN1cHBvcnRlZFRlc3Qo
Y2FudmFzMmQsIGNvbnRleHQyZCkKK3sKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIlZlcmlm
eSB3aGV0aGVyIHVwbG9hZGluZyBIVE1MQ2FudmFzRWxlbWVudCB2aWEgdGV4SW1hZ2UyRC90ZXhT
dWJJbWFnZTJEIGlzIHN1cHBvcnRlZCIpOworICAgIAorICAgIGNvbnRleHQyZC53aWR0aCA9IDE7
CisgICAgY29udGV4dDJkLmhlaWdodCA9IDI7CisgICAgc2V0Q2FudmFzVG9SZWRHcmVlbihjb250
ZXh0MmQpOworCisgICAgcnVuVGV4dHVyZVVwbG9hZFRlc3QoY2FudmFzMmQpOworfQorCitmdW5j
dGlvbiBydW5IVE1MVmlkZW9FbGVtZW50VW5zdXBwb3J0ZWRUZXN0KGNhbnZhczJkLCBjb250ZXh0
MmQpCit7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJWZXJpZnkgd2hldGhlciB1cGxvYWRp
bmcgSFRNTFZpZGVvRWxlbWVudCB2aWEgdGV4SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1cHBv
cnRlZCIpOworCisgICAgdmFyIGluZm8gPSB7IHNyYzogInJlc291cmNlcy9yZWQtZ3JlZW4ubXA0
IiwgdHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyRTAxRSwgbXA0YS40MC4yIid9Owor
ICAgIHZhciB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInZpZGVvIik7CisgICAgaWYg
KCF2aWRlby5jYW5QbGF5VHlwZSkgeworICAgICAgICB0ZXN0RmFpbGVkKCJ2aWRlby5jYW5QbGF5
VHlwZSByZXF1aXJlZCBtZXRob2QgaXMgbWlzc2luZyIpOworICAgICAgICByZXR1cm47CisgICAg
fQorICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8pOworICAgIHZpZGVvLmFkZEV2
ZW50TGlzdGVuZXIoCisgICAgICAgICJwbGF5aW5nIiwgZnVuY3Rpb24oKSB7IHJ1blRleHR1cmVV
cGxvYWRUZXN0KHZpZGVvKTsgZmluaXNoVGVzdCgpOyB9LCB0cnVlKTsKKyAgICB2aWRlby50eXBl
ID0gaW5mby50eXBlOworICAgIHZpZGVvLnNyYyA9IGluZm8uc3JjOworICAgIHZpZGVvLmxvb3Ag
PSB0cnVlOworICAgIHZpZGVvLndpZHRoID0gMTsKKyAgICB2aWRlby5oZWlnaHQgPSAyOworICAg
IHZpZGVvLnBsYXkoKTsKKworfQorCitkZWJ1ZygiIik7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9v
ZXMtdGV4dHVyZS1oYWxmLWZsb2F0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTZkNGQxMDA2MWY1MGRk
MjY1YmVjMTM4ZDdjNmYxZjQ4NDliMDlkMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQuaHRtbApAQCAtMCwwICsx
LDI0OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPldlYkdMIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQgQ29uZm9ybWFuY2Ug
VGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGVza3Rv
cC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHN0
eWxlPSJ3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyI+IDwvY2FudmFzPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ0ZXN0RnJhZ21lbnRTaGFkZXIiIHR5cGU9Ingtc2hh
ZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHNhbXBs
ZXIyRCB0ZXg7Cit1bmlmb3JtIHZlYzQgc3VidHJhY3RvcjsKK3ZhcnlpbmcgdmVjMiB0ZXhDb29y
ZDsKK3ZvaWQgbWFpbigpCit7CisgICAgdmVjNCBjb2xvciA9IHRleHR1cmUyRCh0ZXgsIHRleENv
b3JkKTsKKyAgICBpZiAoYWJzKGNvbG9yLnIgLSBzdWJ0cmFjdG9yLnIpICsKKyAgICAgICAgYWJz
KGNvbG9yLmcgLSBzdWJ0cmFjdG9yLmcpICsKKyAgICAgICAgYWJzKGNvbG9yLmIgLSBzdWJ0cmFj
dG9yLmIpICsKKyAgICAgICAgYWJzKGNvbG9yLmEgLSBzdWJ0cmFjdG9yLmEpIDwgOC4wKSB7Cisg
ICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMC4wLCAxLjAsIDAuMCwgMS4wKTsKKyAgICB9IGVs
c2UgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDEuMCwgMC4wLCAwLjAsIDEuMCk7Cisg
ICAgfQorfQorPC9zY3JpcHQ+Cis8IS0tIFNoYWRlcnMgZm9yIHRlc3RpbmcgaGFsZiBmbG9hdGlu
Zy1wb2ludCByZW5kZXIgdGFyZ2V0cyAtLT4KKzxzY3JpcHQgaWQ9InBvc2l0aW9uVmVydGV4U2hh
ZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247
Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworfQorPC9zY3Jp
cHQ+Cis8c2NyaXB0IGlkPSJmbG9hdGluZ1BvaW50RnJhZ21lbnRTaGFkZXIiIHR5cGU9Ingtc2hh
ZGVyL3gtZnJhZ21lbnQiPgordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0
KDEwMDAwLjAsIDEwMDAwLjAsIDEwMDAwLjAsIDEwMDAwLjApOworfQorPC9zY3JpcHQ+Cis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgZnVuY3Rpb25hbGl0eSBv
ZiBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IHdpdGggbnVsbC9ub24tbnVsbCBBcnJheUJ1ZmZlclZp
ZXciKTsKK2RlYnVnKCIiKTsKKworaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOwor
Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNhbnZhcyIpOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMp
OworCitpZiAoIWdsKSB7CisgICAgdGVzdEZhaWxlZCgiV2ViR0wgY29udGV4dCBkb2VzIG5vdCBl
eGlzdHMiKTsKK30gZWxzZSB7CisgICAgdGVzdFBhc3NlZCgiV2ViR0wgY29udGV4dCBleGlzdHMi
KTsKKworICAgIC8vIFZlcmlmeSB0aGF0IGFsbG9jYXRpb24gb2YgdGV4dHVyZSBmYWlscyBpZiBl
eHRlbnNpb24gaXMgbm90IGVuYWJsZWQKKyAgICBydW5UZXh0dXJlQ3JlYXRpb25UZXN0KGZhbHNl
KTsKKworICAgIGlmKCFnbC5nZXRFeHRlbnNpb24oIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKSkg
eworICAgICAgICB0ZXN0UGFzc2VkKCJObyBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IHN1cHBvcnQu
IFRoaXMgaXMgbGVnYWwiKTsKKyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0UGFzc2VkKCJTdWNj
ZXNzZnVsbHkgZW5hYmxlZCBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGV4dGVuc2lvbiIpOworCisg
ICAgICAgIC8vIENoZWNrIGlmIGNyZWF0aW9uIG9mIHRleHR1cmUgc3VjY2VlZCdzIHdpdGggdmFy
aW91cyBmb3JtYXRzIGFuZCBudWxsIEFycmF5QnVmZmVyVmlldworICAgICAgICB2YXIgZm9ybWF0
cyA9IFtnbC5SR0JBLCBnbC5SR0IsIGdsLkxVTUlOQU5DRSwgZ2wuQUxQSEEsIGdsLkxVTUlOQU5D
RV9BTFBIQV07CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZm9ybWF0cy5sZW5ndGg7IGkr
KykgeworICAgICAgICAgICAgcnVuVGV4dHVyZUNyZWF0aW9uVGVzdCh0cnVlLCBmb3JtYXRzW2ld
LCBudWxsKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgLy8gVGV4dHVyZSBjcmVhdGlv
biBzaG91bGQgZmFpbCB3aGVuIHBhc3NlZCB3aXRoIG5vbi1udWxsIEFycmF5QnVmZmVyVmlldwor
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZvcm1hdHMubGVuZ3RoOyBpKyspIHsKKyAgICAg
ICAgICAgIHZhciB3aWR0aCA9IDI7CisgICAgICAgICAgICB2YXIgaGVpZ2h0ID0gMjsKKyAgICAg
ICAgICAgIAorICAgICAgICAgICAgLy8gRmxvYXQzMkFycmF5CisgICAgICAgICAgICB2YXIgZmxv
YXQzMkRhdGEgPSBuZXcgRmxvYXQzMkFycmF5KHdpZHRoICogaGVpZ2h0ICogZ2V0TnVtYmVyT2ZD
aGFubmVscyhmb3JtYXRzW2ldKSk7CisgICAgICAgICAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwg
ZmxvYXQzMkRhdGEubGVuZ3RoOyBpaSsrKSB7CisgICAgICAgICAgICAgICAgZmxvYXQzMkRhdGFb
aWldID0gMTAwMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJ1blRleHR1cmVDcmVhdGlv
blRlc3QodHJ1ZSwgZm9ybWF0c1tpXSwgZmxvYXQzMkRhdGEpOworCisgICAgICAgICAgICAvLyBJ
bnQxNkFycmF5CisgICAgICAgICAgICB2YXIgaW50MTZEYXRhID0gbmV3IEludDE2QXJyYXkod2lk
dGggKiBoZWlnaHQgKiBnZXROdW1iZXJPZkNoYW5uZWxzKGZvcm1hdHNbaV0pKTsKKyAgICAgICAg
ICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCAgaW50MTZEYXRhLmxlbmd0aDsgaWkrKykgeworICAg
ICAgICAgICAgICAgIGludDE2RGF0YVtpaV0gPSAxMDAwOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgcnVuVGV4dHVyZUNyZWF0aW9uVGVzdCh0cnVlLCBmb3JtYXRzW2ldLCBpbnQxNkRhdGEp
OworCisgICAgICAgICAgICAvLyBVaW50MTZBcnJheQorICAgICAgICAgICAgdmFyIHVpbnQxNkRh
dGEgPSBuZXcgVWludDE2QXJyYXkod2lkdGggKiBoZWlnaHQgKiBnZXROdW1iZXJPZkNoYW5uZWxz
KGZvcm1hdHNbaV0pKTsKKyAgICAgICAgICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCAgdWludDE2
RGF0YS5sZW5ndGg7IGlpKyspIHsKKyAgICAgICAgICAgICAgICB1aW50MTZEYXRhW2lpXSA9IDEw
MDA7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBydW5UZXh0dXJlQ3JlYXRpb25UZXN0KHRy
dWUsIGZvcm1hdHNbaV0sIHVpbnQxNkRhdGEpOyAgICAgICAgICAgIAorICAgICAgICB9CisKKyAg
ICAgICAgLy8gQ2hlY2sgaWYgYXR0YWNoaW5nIHRleHR1cmUgYXMgRkJPIHRhcmdldCBzdWNjZWVk
cyAoTm90IG1hbmRhdG9yeSkKKyAgICAgICAgcnVuUmVuZGVyVGFyZ2V0VGVzdCgpOworICAgICAg
ICAvLyBDaGVjayBvZiBnZXRFeHRlbnNpb24oKSByZXR1cm5zIHNhbWUgb2JqZWN0CisgICAgICAg
IHJ1blVuaXF1ZU9iamVjdFRlc3QoKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIGdldE51bWJlck9m
Q2hhbm5lbHMoZm9ybWF0KQoreworICAgIGlmIChmb3JtYXQgPT0gZ2wuUkdCQSkKKyAgICAgICAg
cmV0dXJuIDQ7CisgICAgZWxzZSBpZiAoZm9ybWF0ID09IGdsLlJHQikKKyAgICAgICAgcmV0dXJu
IDM7CisgICAgZWxzZSBpZiAoZm9ybWF0ID09IGdsLkxVTUlOQU5DRSB8fCBmb3JtYXQgPT0gZ2wu
QUxQSEEpCisgICAgICAgIHJldHVybiAxOworICAgIGVsc2UgaWYgKGZvcm1hdCA9PSBnbC5MVU1J
TkFOQ0VfQUxQSEEpCisgICAgICAgIHJldHVybiAyOworfQorCitmdW5jdGlvbiBnZXRGb3JtYXRO
YW1lKGZvcm1hdCkKK3sKKyAgICBpZiAoZm9ybWF0ID09IGdsLlJHQkEpCisgICAgICAgIHJldHVy
biAiUkdCQSI7CisgICAgZWxzZSBpZiAoZm9ybWF0ID09IGdsLlJHQikKKyAgICAgICAgcmV0dXJu
ICJSR0IiOworICAgIGVsc2UgaWYgKGZvcm1hdCA9PSBnbC5MVU1JTkFOQ0UpCisgICAgICAgIHJl
dHVybiAiTFVNSU5BTkNFIjsKKyAgICBlbHNlIGlmIChmb3JtYXQgPT0gZ2wuQUxQSEEpCisgICAg
ICAgIHJldHVybiAiQUxQSEEiOworICAgIGVsc2UgaWYgKGZvcm1hdCA9PSBnbC5MVU1JTkFOQ0Vf
QUxQSEEpCisgICAgICAgIHJldHVybiAiTFVNSU5BTkNFX0FMUEhBIjsKK30KKworZnVuY3Rpb24g
YWxsb2NhdGVUZXh0dXJlKCkKK3sKKyAgICB2YXIgdGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUo
KTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKKyAgICBnbC50
ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVB
UkVTVCk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01B
R19GSUxURVIsIGdsLk5FQVJFU1QpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8y
RCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRleFBhcmFt
ZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0Up
OworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0ZXh0dXJlIHBhcmFtZXRl
ciBzZXR1cCBzaG91bGQgc3VjY2VlZCIpOworICAgIHJldHVybiB0ZXh0dXJlOworfQorCitmdW5j
dGlvbiBydW5UZXh0dXJlQ3JlYXRpb25UZXN0KGV4dGVuc2lvbkVuYWJsZWQsIG9wdF9mb3JtYXQs
IG9wdF9kYXRhKQoreworICAgIHZhciBmb3JtYXQgPSBvcHRfZm9ybWF0IHx8IGdsLlJHQkE7Cisg
ICAgdmFyIGRhdGEgPSBvcHRfZGF0YSB8fCBudWxsOworICAgIHZhciBleHBlY3RTdWNjZXNzID0g
dHJ1ZTsKKyAgICAKKyAgICBpZiAoIWV4dGVuc2lvbkVuYWJsZWQgfHwgZGF0YSkKKyAgICAgICAg
ZXhwZWN0U3VjY2VzcyA9IGZhbHNlOworICAgIGRlYnVnKCJUZXN0aW5nIHRleHR1cmUgY3JlYXRp
b24gd2l0aCBleHRlbnNpb24gIiArIChleHRlbnNpb25FbmFibGVkID8gImVuYWJsZWQiIDogImRp
c2FibGVkIikgKworICAgICAgICAgICIsIGZvcm1hdCAiICsgZ2V0Rm9ybWF0TmFtZShmb3JtYXQp
ICsgIiwgYW5kIGRhdGEgIiArIChkYXRhID8gIm5vbi1udWxsIiA6ICJudWxsIikgKworICAgICAg
ICAgICIuIEV4cGVjdCAiICsgKGV4cGVjdFN1Y2Nlc3MgPyAiU3VjY2VzcyIgOiAiRmFpbHVyZSIp
KTsgICAKKworICAgIHZhciB0ZXh0dXJlID0gYWxsb2NhdGVUZXh0dXJlKCk7CisgICAgdmFyIHdp
ZHRoID0gMjsKKyAgICB2YXIgaGVpZ2h0ID0gMjsKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIGZvcm1hdCwgd2lkdGgsIGhlaWdodCwgMCwgZm9ybWF0LCBnbC5IQUxGX0ZMT0FU
X09FUywgZGF0YSk7CisgICAgaWYoIWV4dGVuc2lvbkVuYWJsZWQpIHsKKyAgICAgICAgZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0VOVU0sICJIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1
cmUgbXVzdCBiZSBkaWFsbG93ZWQgaWYgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBpc24ndCBlbmFi
bGVkIik7CisgICAgICAgIHJldHVybjsKKyAgICB9IGVsc2UgaWYgKGRhdGEpIHsKKyAgICAgICAg
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIkhhbGYgZmxvYXRpbmcg
cG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIG11c3QgYmUgZGlhbGxvd2VkIHdoZW4gQXJyYXlCdWZm
ZXJWaWV3IGlzIG5vdC1udWxsIik7CisgICAgICAgIHJldHVybjsKKyAgICB9IGVsc2UgeworICAg
ICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiSGFsZiBmbG9hdGluZyBwb2lu
dCB0ZXh0dXJlIGFsbG9jYXRpb24gc2hvdWxkIHN1Y2NlZWQgaWYgT0VTX3RleHR1cmVfaGFsZl9m
bG9hdCBpcyBlbmFibGVkIik7CisgICAgfQorfQorCitmdW5jdGlvbiBjaGVja1JlbmRlcmluZ1Jl
c3VsdHMoKQoreworICAgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwgInNo
b3VsZCBiZSBncmVlbiIpOworfQorCitmdW5jdGlvbiBydW5SZW5kZXJUYXJnZXRUZXN0KHRlc3RQ
cm9ncmFtKQoreworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiVGVzdGluZyBoYWxmIGZsb2F0
aW5nIHBvaW50IHJlbmRlciB0YXJnZXQiKTsKKworICAgIHZhciB0ZXh0dXJlID0gYWxsb2NhdGVU
ZXh0dXJlKCk7CisgICAgdmFyIHdpZHRoID0gMjsKKyAgICB2YXIgaGVpZ2h0ID0gMjsKKyAgICAK
KyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIHdpZHRoLCBoZWln
aHQsIDAsIGdsLlJHQkEsIGdsLkhBTEZfRkxPQVRfT0VTLCBudWxsKTsKKyAgICBnbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9j
YXRpb24gc2hvdWxkIHN1Y2NlZWQgaWYgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBpcyBlbmFibGVk
Iik7CisKKyAgICAvLyBUcnkgdG8gdXNlIHRoaXMgdGV4dHVyZSBhcyByZW5kZXIgdGFyZ2V0Cisg
ICAgdmFyIGZibyA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCk7CisgICAgZ2wuYmluZEZyYW1lYnVm
ZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAgIGdsLmZyYW1lYnVmZmVyVGV4dHVyZTJEKGds
LkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuVEVYVFVSRV8yRCwgdGV4dHVy
ZSwgMCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7CisKKyAgICAv
LyBJdCBpcyBsZWdhbCBmb3IgYSBXZWJHTCBpbXBsZW1lbnRhdGlvbiBleHBvc2luZyB0aGUgT0VT
X3RleHR1cmVfaGFsZl9mbG9hdCBleHRlbnNpb24gdG8KKyAgICAvLyBzdXBwb3J0IGhhbGYgZmxv
YXRpbmcgcG9pbnQgdGV4dHVyZXMgYnV0IG5vdCBhcyBhdHRhY2htZW50cyB0byBmcmFtZWJ1ZmZl
ciBvYmplY3RzLgorICAgIGlmIChnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVG
RkVSKSAhPSBnbC5GUkFNRUJVRkZFUl9DT01QTEVURSkgeworICAgICAgICBkZWJ1ZygiSGFsZiBm
bG9hdGluZyBwb2ludCByZW5kZXIgdGFyZ2V0cyBub3Qgc3VwcG9ydGVkIC0tIHRoaXMgaXMgbGVn
YWwiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHZhciByZW5kZXJQcm9ncmFtID0K
KyAgICAgICAgd3R1LnNldHVwUHJvZ3JhbShnbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBb
InBvc2l0aW9uVmVydGV4U2hhZGVyIiwgImZsb2F0aW5nUG9pbnRGcmFnbWVudFNoYWRlciJdLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIFsndlBvc2l0aW9uJ10sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgWzBdKTsKKyAgICB3dHUuZHJhd1F1YWQoZ2wpOworICAgIGdsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuTk9fRVJST1IsICJSZW5kZXJpbmcgdG8gaGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0
dXJlIHNob3VsZCBzdWNjZWVkIik7CisKKyAgICAvLyBOb3cgc2FtcGxlIGZyb20gdGhlIGhhbGYg
ZmxvYXRpbmctcG9pbnQgdGV4dHVyZSBhbmQgdmVyaWZ5IHdlIGdvdCB0aGUgY29ycmVjdCB2YWx1
ZXMuCisgICAgdmFyIHRleHR1cmVkU2hhZGVycyA9IFsKKyAgICAgIHd0dS5zZXR1cFNpbXBsZVRl
eHR1cmVWZXJ0ZXhTaGFkZXIoZ2wpLAorICAgICAgICAgICJ0ZXN0RnJhZ21lbnRTaGFkZXIiCisg
ICAgICBdOworICAgIHZhciB0ZXN0UHJvZ3JhbSA9CisgICAgICAgIHd0dS5zZXR1cFByb2dyYW0o
Z2wsCisgICAgICAgICAgICAgICAgICAgICAgICBbd3R1LnNldHVwU2ltcGxlVGV4dHVyZVZlcnRl
eFNoYWRlcihnbCksICJ0ZXN0RnJhZ21lbnRTaGFkZXIiXSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIFsndlBvc2l0aW9uJywgJ3RleENvb3JkMCddLAorICAgICAgICAgICAgICAgICAgICAgICAg
WzAsIDFdKTsKKyAgICB2YXIgcXVhZFBhcmFtZXRlcnMgPSB3dHUuc2V0dXBVbml0UXVhZChnbCwg
MCwgMSk7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBudWxsKTsKKyAg
ICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKKyAgICBnbC51c2VQcm9n
cmFtKHRlc3RQcm9ncmFtKTsKKyAgICBnbC51bmlmb3JtMWkoZ2wuZ2V0VW5pZm9ybUxvY2F0aW9u
KHRlc3RQcm9ncmFtLCAidGV4IiksIDApOworICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgZ2xF
cnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInJlbmRlcmluZyBmcm9tIGhhbGYgZmxvYXRp
bmcgcG9pbnQgdGV4dHVyZSBzaG91bGQgc3VjY2VlZCIpOworICAgIGNoZWNrUmVuZGVyaW5nUmVz
dWx0cygpOworfQorCitmdW5jdGlvbiBydW5VbmlxdWVPYmplY3RUZXN0KCkKK3sKKyAgICBkZWJ1
ZygiVGVzdGluZyB0aGF0IGdldEV4dGVuc2lvbigpIHJldHVybnMgdGhlIHNhbWUgb2JqZWN0IGVh
Y2ggdGltZSIpOworICAgIGdsLmdldEV4dGVuc2lvbigiT0VTX3RleHR1cmVfaGFsZl9mbG9hdCIp
Lm15UHJvcGVydHkgPSAyOworICAgIGdjKCk7CisgICAgc2hvdWxkQmUoJ2dsLmdldEV4dGVuc2lv
bigiT0VTX3RleHR1cmVfaGFsZl9mbG9hdCIpLm15UHJvcGVydHknLCAnMicpOworfQorCitkZWJ1
ZygiIik7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA3MmZjYmRjYWI1ODc3ODE1ZDQ5ZGNhZTJiZThkNWIzOWZhMTNkMzUy
Li4zZGM1MjVmNWY3ZDk0NDg4YTI1MGIxNzU5MGUwYjhkZDgzNzA4NmEzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ0NDIsMyArNDQ0
Miw3IEBAIHdlYmtpdC5vcmcvYi8xMTA4NzYgaHRtbDVsaWIvZ2VuZXJhdGVkL3J1bi10ZXN0czE5
LWRhdGEuaHRtbCBbIFNsb3cgXQogd2Via2l0Lm9yZy9iLzExMDg3NiBbIERlYnVnIFdpbiBdIGh0
bWw1bGliL2dlbmVyYXRlZC9ydW4tdGVzdHMxMC13cml0ZS5odG1sIFsgUGFzcyBDcmFzaCBdCiB3
ZWJraXQub3JnL2IvMTEwODc2IFsgRGVidWcgV2luIE1hYyBdIGh0bWw1bGliL2dlbmVyYXRlZC9y
dW4tdGVzdHMxNi13cml0ZS5odG1sIFsgUGFzcyBDcmFzaCBdCiB3ZWJraXQub3JnL2IvMTEwODc2
IFsgRGVidWcgV2luIF0gaHRtbDVsaWIvZ2VuZXJhdGVkL3J1bi10ZXN0czE5LXdyaXRlLmh0bWwg
WyBQYXNzIENyYXNoIF0KKworIyBIQUxGX0ZMT0FUX09FUyBpcyBub3QgeWV0IHdvcmtpbmcgaW4g
Y2hyb21pdW0uCitjcmJ1Zy5jb20vMTc5NTAzIGZhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJl
LWhhbGYtZmxvYXQuaHRtbCBbIEZhaWx1cmUgXQorY3JidWcuY29tLzE3OTUwMyBmYXN0L2NhbnZh
cy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LW5vdC1zdXBwb3J0ZWQuaHRtbCBbIFRpbWVv
dXQgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191073</attachid>
            <date>2013-03-01 17:01:56 -0800</date>
            <delta_ts>2013-03-01 23:46:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110818-20130301165825.patch</filename>
            <type>text/plain</type>
            <size>75143</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTc5YzU5N2FmMDRiNjkz
MjAzZDUwNjFiNzI4NmRlNTQyMWM1MmFlMy4uYjM0MDRmODM2YjI1OTMyNjVjNjAzZGZiZjNhZmJh
OGUxNDJkNzM3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEzLTAyLTI4ICBOYXlh
biBLdW1hciBLICA8bmF5YW5ra0Btb3Rvcm9sYS5jb20+CisKKyAgICAgICAgW1dlYkdMXSBTdXBw
b3J0IGZvciB0ZXhJbWFnZTJEIG9mIHR5cGUgSEFMRl9GTE9BVF9PRVMgd2l0aCBBcnJheUJ1ZmZl
clZpZXcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTA4MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
cyBwZXIgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBzcGVjaWZpY2F0aW9uIHRleEltYWdlMkQgYW5k
IHRleFN1YkltYWdlMkQgZW50cnkKKyAgICAgICAgcG9pbnRzIHRha2luZyBBcnJheUJ1ZmZlclZp
ZXcgc2hvdWxkIGV4dGVuZGVkIHRvIGFjY2VwdCBudWxsIHdpdGggdGhlIHBpeGVsIHR5cGUKKyAg
ICAgICAgSEFMRl9GTE9BVF9PRVMuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvY2FudmFzL3dlYmds
L29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtbm90LXN1cHBvcnRlZC5odG1sCisgICAgICAgICAgICAg
ICBmYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0Lmh0bWwKKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06
CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4T2JqZWN0KToKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmNwcDogQ29waWVkIGZyb20gU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaC4KKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6T0VTVGV4dHVyZUhhbGZGbG9hdDo6T0VTVGV4dHVyZUhhbGZG
bG9hdCk6CisgICAgICAgIChXZWJDb3JlOjpPRVNUZXh0dXJlSGFsZkZsb2F0Ojp+T0VTVGV4dHVy
ZUhhbGZGbG9hdCk6CisgICAgICAgIChXZWJDb3JlOjpPRVNUZXh0dXJlSGFsZkZsb2F0OjpnZXRO
YW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ok9FU1RleHR1cmVIYWxmRmxvYXQ6OmNyZWF0ZSk6Cisg
ICAgICAgICogaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5oOiBDb3BpZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oLgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChPRVNUZXh0dXJlSGFsZkZsb2F0KToKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJH
TEV4dGVuc2lvbi5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dDo6Z2V0RXh0ZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dDo6dGV4SW1hZ2UyRCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OnRleFN1YkltYWdlMkQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJp
bmdDb250ZXh0Ojp2YWxpZGF0ZVRleEZ1bmNGb3JtYXRBbmRUeXBlKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVUZXhGdW5jRGF0YSk6CisgICAgICAg
ICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmg6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkdMUmVuZGVyaW5nQ29udGV4dCk6CisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9FeHRlbnNpb25zM0QuaDoKKyAgICAgICAgKEV4dGVuc2lvbnMzRCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0M0Q6OmNvbXB1dGVGb3JtYXRBbmRUeXBlUGFyYW1ldGVycyk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzM0QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnRleEltYWdlMkQpOgorCiAyMDEzLTAzLTAxICBWaWN0
b3IgQ2FyYnVuZSAgPHZjYXJidW5lQGNocm9taXVtLm9yZz4KIAogICAgICAgICBTdXBwb3J0IHBh
ZGRpbmcsIG1hcmdpbiBhbmQgYm9yZGVyIGZvciBpbnRlcm5hbCBVQSBjdWUgc3R5bGluZwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCBmNjcwY2YwZWU5ZDJjOTFjYjBmNGM1MDIyZTcxOTA1Nzk3OTQ5
NTdmLi5lMTk3MzIxNjczNDM0ODUwMjliZWYyMDRmYTg5NGVhZDUwOWRlNTI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dApAQCAtNTIyLDYgKzUyMiw3IEBAIHNldChXZWJDb3JlX0lETF9GSUxFUwogICAg
IGh0bWwvY2FudmFzL0ludDhBcnJheS5pZGwKICAgICBodG1sL2NhbnZhcy9PRVNTdGFuZGFyZERl
cml2YXRpdmVzLmlkbAogICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5pZGwKKyAgICBo
dG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbAogICAgIGh0bWwvY2FudmFzL09FU1Zl
cnRleEFycmF5T2JqZWN0LmlkbAogICAgIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQu
aWRsCiAgICAgaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaWRsCkBAIC0xNTExLDYgKzE1MTIsNyBA
QCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFu
aXNvdHJvcGljLmNwcAogICAgIGh0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3Bw
CiAgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmNwcAorICAgIGh0bWwvY2FudmFzL09F
U1RleHR1cmVIYWxmRmxvYXQuY3BwCiAgICAgaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmpl
Y3QuY3BwCiAgICAgaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5jcHAKICAgICBodG1s
L2NhbnZhcy9XZWJHTEJ1ZmZlci5jcHAKQEAgLTI2MjUsNiArMjYyNyw3IEBAIGlmIChFTkFCTEVf
V0VCR0wpCiAgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgICAgIGh0bWwvY2Fu
dmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL09FU1Rl
eHR1cmVGbG9hdC5jcHAKKyAgICAgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5j
cHAKICAgICAgICAgaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuY3BwCiAgICAgICAg
IGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuY3BwCiAgICAgICAgIGh0bWwvY2FudmFz
L1dlYkdMQnVmZmVyLmNwcApAQCAtMjY1NCw2ICsyNjU3LDcgQEAgaWYgKEVOQUJMRV9XRUJHTCkK
ICAgICAgICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcAogICAg
ICAgICBodG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcAogICAgICAgICBodG1s
L2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuY3BwCisgICAgICAgIGh0bWwvY2FudmFzL09FU1RleHR1
cmVIYWxmRmxvYXQuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0
LmNwcAogICAgICAgICBodG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmNwcAogICAgICkK
QEAgLTI2NjIsNiArMjY2Niw3IEBAIGlmIChFTkFCTEVfV0VCR0wpCiAgICAgICAgIGh0bWwvY2Fu
dmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5pZGwKICAgICAgICAgaHRtbC9jYW52YXMv
T0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVy
ZUZsb2F0LmlkbAorICAgICAgICBodG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbAog
ICAgICAgICBodG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5pZGwKICAgICAgICAgaHRt
bC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5pZGwKICAgICAgICAgaHRtbC9jYW52YXMvV2Vi
R0xBY3RpdmVJbmZvLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZGVkMGU3
OTA0MWEzYjUwYjRjZjBhMWM3NGM1Njk5NjBkMDY2NGU4NS4uYjUyZTUwOGY3YTQ0MmVjODM1ODk2
MjEzM2U3MmIzNjMwYTgyYmM1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC00
MDAsNiArNDAwLDcgQEAgQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52
YXMvT0VTRWxlbWVudEluZGV4VWludC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMv
T0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMv
T0VTVGV4dHVyZUZsb2F0LmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNUZXh0
dXJlSGFsZkZsb2F0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNWZXJ0ZXhB
cnJheU9iamVjdC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvVWludDE2QXJyYXku
aWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1VpbnQzMkFycmF5LmlkbCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggMGM1OTAwMmIxNTRiYmQ0YjBlNzI4N2Q1YzgwNzhi
NmQwMmMxNjJmYi4uY2Q0OTEzMTk5NDZmM2I0Y2IyNmMxMmI3NWZkYzQzMWNlMjI0NmViOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtMzEzLDYgKzMxMyw3IEBAIElETF9CSU5ESU5H
UyArPSBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGlj
LmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwg
XAogICAgICQkUFdEL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5pZGwgXAorICAgICQkUFdE
L2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsIFwKICAgICAkJFBXRC9odG1sL2Nh
bnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5pZGwgXAogICAgICQkUFdEL2h0bWwvY2FudmFzL09F
U0VsZW1lbnRJbmRleFVpbnQuaWRsIFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9XZWJHTEFjdGl2
ZUluZm8uaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDM2NWM0YWU2MGVl
OTRhMzk0MmRjYjhhNGY4MzdkNTM5NTY2ODc3OWMuLjU4MjViMWY4YWQxNWE0ZmVlMTc2YTkyYWQw
ZmYwZGRiNGNiNWY3OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTc5LDYg
KzU3OSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU09FU1RleHR1cmVGbG9hdC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPRVNU
ZXh0dXJlRmxvYXQuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1RleHR1cmVIYWxm
RmxvYXQuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTVGV4dHVyZUhhbGZGbG9h
dC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTVmVydGV4QXJyYXlPYmplY3QuY3Bw
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTVmVydGV4QXJyYXlPYmplY3QuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU0VsZW1lbnRJbmRleFVpbnQuY3BwIFwKQEAgLTE1
NDQsNiArMTU0Niw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvaHRtbC9j
YW52YXMvSW50OEFycmF5LmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNTdGFuZGFy
ZERlcml2YXRpdmVzLmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxv
YXQuaWRsIFwKKwkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRs
IFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmlkbCBcCiAJ
JChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmlkbCBcCiAJJChXZWJD
b3JlKS9odG1sL2NhbnZhcy9VaW50MTZBcnJheS5pZGwgXApAQCAtMzI4NCw2ICszMjg3LDggQEAg
d2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNTdGFu
ZGFyZERlcml2YXRpdmVzLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1
cmVGbG9hdC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9h
dC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmNw
cCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmggXAogCVNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuY3BwIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCmluZGV4IDk2MzZkYThlNjcxMWQ4YzY0Y2NkOTc5ODlkZTkwNTY3OWFjOTIxOTcuLjYwM2Nk
YmRiMjc4NzQwNzVkZDRmYjExNmVjNDg1NjIyMWZiMmFlZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtNDAz
OSw2ICs0MDM5LDcgQEAgZW5hYmxlPyhXRUJHTCkgewogICAgICAgICBodG1sL2NhbnZhcy9FWFRU
ZXh0dXJlRmlsdGVyQW5pc290cm9waWMuaCBcCiAgICAgICAgIGh0bWwvY2FudmFzL09FU1N0YW5k
YXJkRGVyaXZhdGl2ZXMuaCBcCiAgICAgICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5o
IFwKKyAgICAgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5oIFwKICAgICAgICAg
aHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuaCBcCiAgICAgICAgIGh0bWwvY2FudmFz
L09FU0VsZW1lbnRJbmRleFVpbnQuaCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMVGV4dHVy
ZS5oIFwKQEAgLTQwNzQsNiArNDA3NSw3IEBAIGVuYWJsZT8oV0VCR0wpIHsKICAgICAgICAgaHRt
bC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcCBcCiAgICAgICAgIGh0bWwv
Y2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwIFwKICAgICAgICAgaHRtbC9jYW52YXMv
T0VTVGV4dHVyZUZsb2F0LmNwcCBcCisgICAgICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVIYWxm
RmxvYXQuY3BwIFwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuY3Bw
IFwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5jcHAgXAogICAgICAg
ICBodG1sL2NhbnZhcy9XZWJHTFRleHR1cmUuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBhOWY3
N2QyNDlmYmNhZjk3ZjZiYWEzMzAxNzVlOTgxNjY0YTFmMjc4Li43MTNmYjhkOTkyYTJmNGYzOTJk
MTVmZTc5ZTFhYWI1Y2UxOGI1NDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC00NjUsNiArNDY1LDcg
QEAKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9JbnQ4QXJyYXkuaWRsJywKICAgICAgICAgICAg
ICdodG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlkbCcsCiAgICAgICAgICAgICAn
aHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmlkbCcsCisgICAgICAgICAgICAnaHRtbC9jYW52
YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL09F
U1ZlcnRleEFycmF5T2JqZWN0LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvT0VTRWxl
bWVudEluZGV4VWludC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1VpbnQxNkFycmF5
LmlkbCcsCkBAIC0zNDIzLDYgKzM0MjQsOCBAQAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL09F
U1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvT0VTVGV4
dHVyZUZsb2F0LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0
LmgnLAorICAgICAgICAgICAgJ2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuY3BwJywK
KyAgICAgICAgICAgICdodG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmgnLAogICAgICAg
ICAgICAgJ2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmNwcCcsCiAgICAgICAgICAg
ICAnaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuaCcsCiAgICAgICAgICAgICAnaHRt
bC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGE3MDk4NGI3NzMwOGIxYjVm
OTVmNDMzMTYxY2QwMDAzOGRjZGFjODkuLjQzODYxNTU4N2Y4YzJhNTdmYmM4NTEwMjAwNDhmYzQy
YTdkOTFlMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTE5MTgsOCArMTkxOCw4IEBACiAJCTZFQkYwRTU0MTJBODkyOTgwMERC
MTcwOSAvKiBXZWJHTEV4dGVuc2lvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2RUJGMEU1MjEyQTg5Mjk4MDBEQjE3MDkgLyogV2ViR0xFeHRlbnNp
b24uY3BwICovOyB9OwogCQk2RUJGMEU1NTEyQTg5Mjk4MDBEQjE3MDkgLyogV2ViR0xFeHRlbnNp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZFQkYw
RTUzMTJBODkyOTgwMERCMTcwOSAvKiBXZWJHTEV4dGVuc2lvbi5oICovOyB9OwogCQk2RUJGMEU3
NjEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkVCRjBFNzQxMkE5ODY4ODAwREIxNzA5
IC8qIEpTT0VTVGV4dHVyZUZsb2F0LmNwcCAqLzsgfTsKLQkJNkVCRjBFNzcxMkE5ODY4ODAwREIx
NzA5IC8qIEpTT0VTVGV4dHVyZUZsb2F0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2RUJGMEU3NTEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJl
RmxvYXQuaCAqLzsgfTsKIAkJNkVCRjBFNzYxMkE5ODY4ODAwREIxNzBBIC8qIEpTRVhURHJhd0J1
ZmZlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NkVCRjBFNzQxMkE5ODY4ODAwREIxNzBBIC8qIEpTRVhURHJhd0J1ZmZlcnMuY3BwICovOyB9Owor
CQk2RUJGMEU3NzEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZFQkYwRTc1MTJBOTg2ODgw
MERCMTcwOSAvKiBKU09FU1RleHR1cmVGbG9hdC5oICovOyB9OwogCQk2RUJGMEU3NzEyQTk4Njg4
MDBEQjE3MEEgLyogSlNFWFREcmF3QnVmZmVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNkVCRjBFNzUxMkE5ODY4ODAwREIxNzBBIC8qIEpTRVhURHJh
d0J1ZmZlcnMuaCAqLzsgfTsKIAkJNkVEODc4QzQxNDc0OTNGNDAwNEMzNTk3IC8qIFJlbmRlclRh
YmxlQ2FwdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA2RUQ4NzhDMjE0NzQ5M0Y0MDA0QzM1OTcgLyogUmVuZGVyVGFibGVDYXB0aW9uLmNwcCAq
LzsgfTsKIAkJNkVEODc4QzUxNDc0OTNGNDAwNEMzNTk3IC8qIFJlbmRlclRhYmxlQ2FwdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkVEODc4QzMx
NDc0OTNGNDAwNEMzNTk3IC8qIFJlbmRlclRhYmxlQ2FwdGlvbi5oICovOyB9OwpAQCAtMzg0MSw3
ICszODQxLDYgQEAKIAkJQTAwQjcyMUExMURFNjQyODAwOEFCOUZGIC8qIENoZWNrZWRJbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEwMEI3MjE5MTFE
RTY0MjcwMDhBQjlGRiAvKiBDaGVja2VkSW50LmggKi87IH07CiAJCUEwMjQ1NzUxMTZDRUFBMjcw
MDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBMDI0NTc0RTE2Q0VBQTI3MDAwRTU2NzEgLyogRVhURHJhd0J1
ZmZlcnMuY3BwICovOyB9OwogCQlBMDI0NTc1MjE2Q0VBQTI3MDAwRTU2NzEgLyogRVhURHJhd0J1
ZmZlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEw
MjQ1NzRGMTZDRUFBMjcwMDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5oICovOyB9OwotCQlBMDI0
NTc1MzE2Q0VBQTI3MDAwRTU2NzEgLyogRVhURHJhd0J1ZmZlcnMuaWRsIGluIFJlc291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMDI0NTc1MDE2Q0VBQTI3MDAwRTU2
NzEgLyogRVhURHJhd0J1ZmZlcnMuaWRsICovOyB9OwogCQlBMDdEMzM1NTE1MkI2MzBFMDAxQjYz
OTMgLyogSlNXZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMDdEMzM1MzE1MkI2MzBFMDAxQjYzOTMgLyog
SlNXZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5jcHAgKi87IH07CiAJCUEwN0QzMzU2MTUyQjYz
MEUwMDFCNjM5MyAvKiBKU1dlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMDdEMzM1NDE1MkI2MzBFMDAxQjYz
OTMgLyogSlNXZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5oICovOyB9OwogCQlBMDdEMzM1ODE1
MkI2MzJEMDAxQjYzOTMgLyogV2ViR0xTaGFkZXJQcmVjaXNpb25Gb3JtYXQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEwN0QzMzU3MTUyQjYzMkQwMDFC
NjM5MyAvKiBXZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5oICovOyB9OwpAQCAtMzg4Myw2ICsz
ODgyLDEwIEBACiAJCUEyRThBRTQwMTZBNDk4Q0YwMDZCQjNBQSAvKiBET01XZWJLaXRDU1NGaWx0
ZXJSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
MkU4QUUzRDE2QTQ5OENGMDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZS5oICovOyB9
OwogCQlBMkU4QUU0MTE2QTQ5OENGMDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZS5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEyRThBRTNF
MTZBNDk4Q0YwMDZCQjNBQSAvKiBET01XZWJLaXRDU1NGaWx0ZXJSdWxlLm1tICovOyB9OwogCQlB
MkU4QUU0MjE2QTQ5OENGMDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZUludGVybmFs
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMkU4QUUz
RjE2QTQ5OENGMDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZUludGVybmFsLmggKi87
IH07CisJCUEzMUM0RTREMTZFMDJBQTYwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzMUM0RTRD
MTZFMDJBQTYwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCAqLzsgfTsKKwkJQTMx
QzRFNEYxNkUwMkFCNDAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzMUM0RTRFMTZFMDJBQjQwMDJG
Nzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmggKi87IH07CisJCUEzMUM0RTUyMTZFMDJCMDgw
MDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTMxQzRFNTExNkUwMkIwODAwMkY3OTU3IC8qIEpT
T0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAgKi87IH07CisJCUEzMUM0RTU0MTZFMDJCNDAwMDJGNzk1
NyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEEzMUM0RTUzMTZFMDJCNDAwMDJGNzk1NyAvKiBKU09FU1RleHR1
cmVIYWxmRmxvYXQuaCAqLzsgfTsKIAkJQTNCQjU5RjMxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3Vt
ZW50RXZlbnRRdWV1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBM0JCNTlGMTE0NTdBNDBEMDBBQzU2RkUgLyogRG9jdW1lbnRFdmVudFF1ZXVlLmNw
cCAqLzsgfTsKIAkJQTNCQjU5RjQxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTNCQjU5
RjIxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUEzRTI2NDMwMTQ3NDg5OTEwMDVB
ODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEEzRTI2NDJFMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVu
dFF1ZXVlLmNwcCAqLzsgfTsKQEAgLTkzODksOCArOTM5Miw4IEBACiAJCTZFQkYwRTUyMTJBODky
OTgwMERCMTcwOSAvKiBXZWJHTEV4dGVuc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBXZWJHTEV4dGVuc2lvbi5jcHA7IHBhdGggPSBjYW52YXMvV2ViR0xFeHRl
bnNpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RUJGMEU1MzEyQTg5Mjk4
MDBEQjE3MDkgLyogV2ViR0xFeHRlbnNpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gV2ViR0xFeHRlbnNpb24uaDsgcGF0aCA9IGNhbnZhcy9XZWJHTEV4dGVuc2lvbi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RUJGMEU3NDEyQTk4Njg4MDBEQjE3MDkgLyog
SlNPRVNUZXh0dXJlRmxvYXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNPRVNUZXh0dXJlRmxvYXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk2
RUJGMEU3NTEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNPRVNUZXh0dXJlRmxvYXQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNkVCRjBFNzQxMkE5ODY4ODAwREIxNzBBIC8qIEpTRVhURHJhd0J1
ZmZlcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFWFREcmF3
QnVmZmVycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZFQkYwRTc1MTJBOTg2
ODgwMERCMTcwOSAvKiBKU09FU1RleHR1cmVGbG9hdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU09FU1RleHR1cmVGbG9hdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk2RUJGMEU3NTEyQTk4Njg4MDBEQjE3MEEgLyogSlNFWFREcmF3QnVmZmVycy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0VYVERyYXdCdWZmZXJzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZFRDg3OEMyMTQ3NDkzRjQwMDRDMzU5NyAvKiBSZW5kZXJU
YWJsZUNhcHRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVu
ZGVyVGFibGVDYXB0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkVEODc4
QzMxNDc0OTNGNDAwNEMzNTk3IC8qIFJlbmRlclRhYmxlQ2FwdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJUYWJsZUNhcHRpb24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTExMzkyLDYgKzExMzk1LDExIEBACiAJCUEyRThBRTNEMTZBNDk4Q0Yw
MDZCQjNBQSAvKiBET01XZWJLaXRDU1NGaWx0ZXJSdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTVdlYktpdENTU0ZpbHRlclJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTJFOEFFM0UxNkE0OThDRjAwNkJCM0FBIC8qIERPTVdlYktpdENTU0ZpbHRl
clJ1bGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01XZWJL
aXRDU1NGaWx0ZXJSdWxlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMkU4QUUz
RjE2QTQ5OENGMDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyUnVsZUludGVybmFsLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdlYktpdENTU0ZpbHRlclJ1bGVJbnRl
cm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMzFDNEU0QzE2RTAyQUE2MDAy
Rjc5NTcgLyogT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcDsgcGF0aCA9IGNhbnZhcy9PRVNU
ZXh0dXJlSGFsZkZsb2F0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTMxQzRF
NEUxNkUwMkFCNDAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gT0VTVGV4dHVyZUhhbGZGbG9hdC5oOyBwYXRoID0gY2FudmFz
L09FU1RleHR1cmVIYWxmRmxvYXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTMx
QzRFNTAxNkUwMkFDNTAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE9F
U1RleHR1cmVIYWxmRmxvYXQuaWRsOyBwYXRoID0gY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMzFDNEU1MTE2RTAyQjA4MDAyRjc5
NTcgLyogSlNPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHA7IHBhdGggPSBKU09FU1RleHR1
cmVIYWxmRmxvYXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMzFDNEU1MzE2
RTAyQjQwMDAyRjc5NTcgLyogSlNPRVNUZXh0dXJlSGFsZkZsb2F0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5oOyBwYXRoID0gSlNPRVNU
ZXh0dXJlSGFsZkZsb2F0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzQkI1OUYx
MTQ1N0E0MEQwMEFDNTZGRSAvKiBEb2N1bWVudEV2ZW50UXVldWUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRG9jdW1lbnRFdmVudFF1ZXVlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNCQjU5RjIxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50
RXZlbnRRdWV1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEb2N1bWVudEV2
ZW50UXVldWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNFMjY0MkUxNDc0ODk5
MTAwNUE4NTg4IC8qIFdvcmtlckV2ZW50UXVldWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gV29ya2VyRXZlbnRRdWV1ZS5jcHA7IHBhdGggPSB3b3JrZXJzL1dvcmtl
ckV2ZW50UXVldWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTU3NjUsNiAr
MTU3NzMsOSBAQAogCQkJCTZFQkYwRTQ1MTJBODkyNjEwMERCMTcwOSAvKiBPRVNUZXh0dXJlRmxv
YXQuY3BwICovLAogCQkJCTZFQkYwRTQ2MTJBODkyNjEwMERCMTcwOSAvKiBPRVNUZXh0dXJlRmxv
YXQuaCAqLywKIAkJCQk2RUJGMEU0NzEyQTg5MjYxMDBEQjE3MDkgLyogT0VTVGV4dHVyZUZsb2F0
LmlkbCAqLywKKwkJCQlBMzFDNEU0QzE2RTAyQUE2MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZG
bG9hdC5jcHAgKi8sCisJCQkJQTMxQzRFNEUxNkUwMkFCNDAwMkY3OTU3IC8qIE9FU1RleHR1cmVI
YWxmRmxvYXQuaCAqLywKKwkJCQlBMzFDNEU1MDE2RTAyQUM1MDAyRjc5NTcgLyogT0VTVGV4dHVy
ZUhhbGZGbG9hdC5pZGwgKi8sCiAJCQkJNzdBMTdBNkUxMkYyODE4MjAwNEUwMkY2IC8qIE9FU1Zl
cnRleEFycmF5T2JqZWN0LmNwcCAqLywKIAkJCQk3N0ExN0E2RjEyRjI4MTgyMDA0RTAyRjYgLyog
T0VTVmVydGV4QXJyYXlPYmplY3QuaCAqLywKIAkJCQk3N0ExN0E3MDEyRjI4MTgyMDA0RTAyRjYg
LyogT0VTVmVydGV4QXJyYXlPYmplY3QuaWRsICovLApAQCAtMTkxNzcsNiArMTkxODgsOCBAQAog
CQkJCTkwMDE3ODdGMTJFMDM3MDcwMDY0ODQ2MiAvKiBKU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMu
aCAqLywKIAkJCQk2RUJGMEU3NDEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQu
Y3BwICovLAogCQkJCTZFQkYwRTc1MTJBOTg2ODgwMERCMTcwOSAvKiBKU09FU1RleHR1cmVGbG9h
dC5oICovLAorCQkJCUEzMUM0RTUxMTZFMDJCMDgwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxm
RmxvYXQuY3BwICovLAorCQkJCUEzMUM0RTUzMTZFMDJCNDAwMDJGNzk1NyAvKiBKU09FU1RleHR1
cmVIYWxmRmxvYXQuaCAqLywKIAkJCQk3N0ExN0FBMjEyRjI4QjJBMDA0RTAyRjYgLyogSlNPRVNW
ZXJ0ZXhBcnJheU9iamVjdC5jcHAgKi8sCiAJCQkJNzdBMTdBQTMxMkYyOEIyQTAwNEUwMkY2IC8q
IEpTT0VTVmVydGV4QXJyYXlPYmplY3QuaCAqLywKIAkJCQlCNjU4RkY5RjE1MjJFRjNBMDBERDU1
OTUgLyogSlNSYWRpb05vZGVMaXN0LmNwcCAqLywKQEAgLTI2NjM1LDcgKzI2NjQ4LDkgQEAKIAkJ
CQlGRDUzNzM1MzEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTQxQjhDRDQ2MTZEMDQ1OTEwMDBFOENDMCAvKiBTZWxlY3RvckNoZWNrZXJGYXN0UGF0aC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDkxNDAyNTcxNjhFMDJFQzAwMkQ2QzZBIC8qIFRpbWVsaW5l
VHJhY2VFdmVudFByb2Nlc3Nvci5oIGluIEhlYWRlcnMgKi8sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEEwMjQ1NzUyMTZDRUFBMjcwMDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQTAyNDU3NTIxNkNFQUEyNzAwMEU1NjcxIC8qIEVYVERyYXdC
dWZmZXJzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMzFDNEU0RjE2RTAyQUI0MDAyRjc5NTcgLyog
T0VTVGV4dHVyZUhhbGZGbG9hdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTMxQzRFNTQxNkUwMkI0
MDAwMkY3OTU3IC8qIEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0y
OTgzMSw3ICsyOTg0Niw5IEBACiAJCQkJNDFCOENENDUxNkQwNDU5MTAwMEU4Q0MwIC8qIFNlbGVj
dG9yQ2hlY2tlckZhc3RQYXRoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5MTQwMjU2MTY4RTAy
RTgwMDJENkM2QSAvKiBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRTE0QTk0RDcxNkRGREY5NTAwNjhERTgyIC8qIEJsb2JSZWdpc3RyeS5jcHAgaW4g
U291cmNlcyAqLywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQTAyNDU3NTExNkNF
QUEyNzAwMEU1NjcxIC8qIEVYVERyYXdCdWZmZXJzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUEw
MjQ1NzUxMTZDRUFBMjcwMDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlBMzFDNEU0RDE2RTAyQUE2MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZGbG9hdC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlBMzFDNEU1MjE2RTAyQjA4MDAyRjc5NTcgLyogSlNPRVNU
ZXh0dXJlSGFsZkZsb2F0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3Bw
CmluZGV4IDhhMzUwM2ExNDJkYmJmNDJmOGJiN2ZhODVlZWMxNmFhNzhkYjZkMzEuLmIyN2YyYjEx
NmUzZjMxYTE4MjM2ZDhjMDcxZDEyYmQ4YmFmMzZmZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5j
cHAKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJKU09FU0VsZW1lbnRJbmRleFVpbnQuaCIK
ICNpbmNsdWRlICJKU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIKICNpbmNsdWRlICJKU09FU1Rl
eHR1cmVGbG9hdC5oIgorI2luY2x1ZGUgIkpTT0VTVGV4dHVyZUhhbGZGbG9hdC5oIgogI2luY2x1
ZGUgIkpTT0VTVmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJKU1VpbnQzMkFycmF5Lmgi
CiAjaW5jbHVkZSAiSlNVaW50OEFycmF5LmgiCkBAIC02Myw2ICs2NCw3IEBACiAjaW5jbHVkZSAi
T0VTRWxlbWVudEluZGV4VWludC5oIgogI2luY2x1ZGUgIk9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMu
aCIKICNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXQuaCIKKyNpbmNsdWRlICJPRVNUZXh0dXJlSGFs
ZkZsb2F0LmgiCiAjaW5jbHVkZSAiT0VTVmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJX
ZWJHTEJ1ZmZlci5oIgogI2luY2x1ZGUgIldlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmgiCkBA
IC0yMDQsNiArMjA2LDggQEAgc3RhdGljIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpT
RE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFdlYkdMRXh0ZW4KICAgICAgICAgcmV0dXJu
IHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxPRVNTdGFuZGFyZERlcml2YXRp
dmVzKj4oZXh0ZW5zaW9uKSk7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVGV4dHVyZUZs
b2F0TmFtZToKICAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNf
Y2FzdDxPRVNUZXh0dXJlRmxvYXQqPihleHRlbnNpb24pKTsKKyAgICBjYXNlIFdlYkdMRXh0ZW5z
aW9uOjpPRVNUZXh0dXJlSGFsZkZsb2F0TmFtZToKKyAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywg
Z2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxPRVNUZXh0dXJlSGFsZkZsb2F0Kj4oZXh0ZW5zaW9u
KSk7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVmVydGV4QXJyYXlPYmplY3ROYW1lOgog
ICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PE9FU1Zl
cnRleEFycmF5T2JqZWN0Kj4oZXh0ZW5zaW9uKSk7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6
T0VTRWxlbWVudEluZGV4VWludE5hbWU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9t
LmNwcAppbmRleCBhMjY5OTRjZTBmMTA5ZTI0YmE1OGZmMTU4MjlhYzkxYTczNGQ5YmI5Li41YTdj
YmE2OTIxNzc1M2RmOTViMWMyODFlYzY1YTA4MDJiMjgyYWY3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVy
aW5nQ29udGV4dEN1c3RvbS5jcHAKQEAgLTUxLDYgKzUxLDcgQEAKICNpbmNsdWRlICJWOE9FU0Vs
ZW1lbnRJbmRleFVpbnQuaCIKICNpbmNsdWRlICJWOE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIK
ICNpbmNsdWRlICJWOE9FU1RleHR1cmVGbG9hdC5oIgorI2luY2x1ZGUgIlY4T0VTVGV4dHVyZUhh
bGZGbG9hdC5oIgogI2luY2x1ZGUgIlY4T0VTVmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRl
ICJWOFVpbnQxNkFycmF5LmgiCiAjaW5jbHVkZSAiVjhVaW50MzJBcnJheS5oIgpAQCAtMTkzLDYg
KzE5NCwxMCBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjhPYmplY3QoV2ViR0xF
eHRlbnNpb24qIGV4dGVuc2lvbiwgdjg6OkhhbmRsZTx2OAogICAgICAgICBleHRlbnNpb25PYmpl
Y3QgPSB0b1Y4KHN0YXRpY19jYXN0PE9FU1RleHR1cmVGbG9hdCo+KGV4dGVuc2lvbiksIGNvbnRl
eHRPYmplY3QsIGlzb2xhdGUpOwogICAgICAgICByZWZlcmVuY2VOYW1lID0gIm9lc1RleHR1cmVG
bG9hdE5hbWUiOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNU
ZXh0dXJlSGFsZkZsb2F0TmFtZToKKyAgICAgICAgZXh0ZW5zaW9uT2JqZWN0ID0gdG9WOChzdGF0
aWNfY2FzdDxPRVNUZXh0dXJlSGFsZkZsb2F0Kj4oZXh0ZW5zaW9uKSwgY29udGV4dE9iamVjdCwg
aXNvbGF0ZSk7CisgICAgICAgIHJlZmVyZW5jZU5hbWUgPSAib2VzVGV4dHVyZUhhbGZGbG9hdE5h
bWUiOworICAgICAgICBicmVhazsKICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNWZXJ0ZXhB
cnJheU9iamVjdE5hbWU6CiAgICAgICAgIGV4dGVuc2lvbk9iamVjdCA9IHRvVjgoc3RhdGljX2Nh
c3Q8T0VTVmVydGV4QXJyYXlPYmplY3QqPihleHRlbnNpb24pLCBjb250ZXh0T2JqZWN0LCBpc29s
YXRlKTsKICAgICAgICAgcmVmZXJlbmNlTmFtZSA9ICJvZXNWZXJ0ZXhBcnJheU9iamVjdE5hbWUi
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZG
bG9hdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wYmRmMDE2ZjljMTBiOTFkZWM5NzI2MDM0YzU3ODQ1MWE2ZWUzODM4
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVy
ZUhhbGZGbG9hdC5jcHAKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MyBNb3Rvcm9sYSBNb2JpbGl0eSBMTEMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRT
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisg
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFdFQkdMKQorCisjaW5jbHVkZSAiT0VTVGV4dHVy
ZUhhbGZGbG9hdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK09FU1RleHR1cmVIYWxmRmxv
YXQ6Ok9FU1RleHR1cmVIYWxmRmxvYXQoV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0KQor
ICAgIDogV2ViR0xFeHRlbnNpb24oY29udGV4dCkKK3sKK30KKworT0VTVGV4dHVyZUhhbGZGbG9h
dDo6fk9FU1RleHR1cmVIYWxmRmxvYXQoKQoreworfQorCitXZWJHTEV4dGVuc2lvbjo6RXh0ZW5z
aW9uTmFtZSBPRVNUZXh0dXJlSGFsZkZsb2F0OjpnZXROYW1lKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gT0VTVGV4dHVyZUhhbGZGbG9hdE5hbWU7Cit9CisKK1Bhc3NPd25QdHI8T0VTVGV4dHVyZUhh
bGZGbG9hdD4gT0VTVGV4dHVyZUhhbGZGbG9hdDo6Y3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4
dCogY29udGV4dCkKK3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IE9FU1RleHR1cmVIYWxmRmxv
YXQoY29udGV4dCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBF
TkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNU
ZXh0dXJlSGFsZkZsb2F0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJl
SGFsZkZsb2F0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDA5NzgxOTkwNThhZDkyN2FkMGI4MmJlYjAxY2Q1MjNk
MDczNjkwNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09F
U1RleHR1cmVIYWxmRmxvYXQuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEzIE1vdG9yb2xhIE1vYmlsaXR5IExMQy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFO
RCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIE9FU1RleHR1cmVIYWxmRmxvYXRfaAorI2RlZmluZSBPRVNUZXh0dXJlSGFsZkZsb2F0
X2gKKworI2luY2x1ZGUgIldlYkdMRXh0ZW5zaW9uLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBPRVNUZXh0dXJlSGFsZkZsb2F0
IDogcHVibGljIFdlYkdMRXh0ZW5zaW9uIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0
cjxPRVNUZXh0dXJlSGFsZkZsb2F0PiBjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CisK
KyAgICB2aXJ0dWFsIH5PRVNUZXh0dXJlSGFsZkZsb2F0KCk7CisgICAgdmlydHVhbCBFeHRlbnNp
b25OYW1lIGdldE5hbWUoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBPRVNUZXh0dXJlSGFsZkZs
b2F0KFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gT0VTVGV4dHVyZUhhbGZGbG9hdF9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAzYTY3
MjM0ZjA3MjQ2ZjY3NWE0MGEzYjEzMWRhYzkxZmUyOTdhZTcKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbApAQCAtMCww
ICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIE1vdG9yb2xhIE1vYmlsaXR5IExM
Qy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
KyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCR0wsCisg
ICAgSlNHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxDb250ZXh0LAorICAgIE9taXRDb25zdHJ1Y3Rv
cgorXSBpbnRlcmZhY2UgT0VTVGV4dHVyZUhhbGZGbG9hdCB7Cit9OwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
RXh0ZW5zaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5o
CmluZGV4IDAzYzgzNmFjNDZiNzEyZjVjNTUwMjkwNjVkZmQ2MWUwNjM1NTk1YzkuLmFmYzRlNmFl
YjM5ZGM1MzQzNDBhMjYzZGI1NjNiNGMxOWE0YjJkZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaApAQCAtMzksNiArMzksNyBAQCBwdWJsaWM6CiAgICAg
ICAgIEVYVERyYXdCdWZmZXJzTmFtZSwKICAgICAgICAgRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJv
cGljTmFtZSwKICAgICAgICAgT0VTVGV4dHVyZUZsb2F0TmFtZSwKKyAgICAgICAgT0VTVGV4dHVy
ZUhhbGZGbG9hdE5hbWUsCiAgICAgICAgIE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXNOYW1lLAogICAg
ICAgICBPRVNWZXJ0ZXhBcnJheU9iamVjdE5hbWUsCiAgICAgICAgIFdlYkdMRGVidWdSZW5kZXJl
ckluZm9OYW1lLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggZGViNjRiMTAyNDFhMTRlODdmN2VlMmI0M2ExMzBhNmY2
MGExMWQ1NS4uMDgxMzRmMWNiNDgyNjAzZTU3MDkzOTY0MjM5ZGI0Yjg4YTI3YjcxOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQu
Y3BwCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSAiT0VTRWxlbWVudEluZGV4VWludC5oIgog
I2luY2x1ZGUgIk9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIKICNpbmNsdWRlICJPRVNUZXh0dXJl
RmxvYXQuaCIKKyNpbmNsdWRlICJPRVNUZXh0dXJlSGFsZkZsb2F0LmgiCiAjaW5jbHVkZSAiT0VT
VmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVy
Qm94LmgiCkBAIC0yMzgyLDYgKzIzODMsMTQgQEAgV2ViR0xFeHRlbnNpb24qIFdlYkdMUmVuZGVy
aW5nQ29udGV4dDo6Z2V0RXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgfQog
ICAgICAgICByZXR1cm4gbV9vZXNUZXh0dXJlRmxvYXQuZ2V0KCk7CiAgICAgfQorICAgIGlmIChl
cXVhbElnbm9yaW5nQ2FzZShuYW1lLCAiT0VTX3RleHR1cmVfaGFsZl9mbG9hdCIpCisgICAgICAg
ICYmIG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLT5zdXBwb3J0cygiR0xfT0VTX3RleHR1cmVf
aGFsZl9mbG9hdCIpKSB7CisgICAgICAgIGlmICghbV9vZXNUZXh0dXJlSGFsZkZsb2F0KSB7Cisg
ICAgICAgICAgICBtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS0+ZW5zdXJlRW5hYmxlZCgiR0xf
T0VTX3RleHR1cmVfaGFsZl9mbG9hdCIpOworICAgICAgICAgICAgbV9vZXNUZXh0dXJlSGFsZkZs
b2F0ID0gT0VTVGV4dHVyZUhhbGZGbG9hdDo6Y3JlYXRlKHRoaXMpOworICAgICAgICB9CisgICAg
ICAgIHJldHVybiBtX29lc1RleHR1cmVIYWxmRmxvYXQuZ2V0KCk7CisgICAgfQogICAgIGlmIChl
cXVhbElnbm9yaW5nQ2FzZShuYW1lLCAiT0VTX3ZlcnRleF9hcnJheV9vYmplY3QiKQogICAgICAg
ICAmJiBtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS0+c3VwcG9ydHMoIkdMX09FU192ZXJ0ZXhf
YXJyYXlfb2JqZWN0IikpIHsKICAgICAgICAgaWYgKCFtX29lc1ZlcnRleEFycmF5T2JqZWN0KSB7
CkBAIC0zNzY3LDYgKzM3NzYsMTMgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleElt
YWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEZW51bQogICAgICAgICBy
ZXR1cm47CiAgICAgaWYgKCF2YWxpZGF0ZVNldHRhYmxlVGV4Rm9ybWF0KCJ0ZXhJbWFnZTJEIiwg
Zm9ybWF0KSkKICAgICAgICAgcmV0dXJuOworICAgIC8vIEZJWE1FOiBVcGxvYWRpbmcgSW1hZ2VE
YXRhIHRvIGhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBpcyBub3Qgc3VwcG9ydGVkIHlldAor
ICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA5MzYKKyAg
ICBpZiAodHlwZSA9PSBHcmFwaGljc0NvbnRleHQzRDo6SEFMRl9GTE9BVF9PRVMpIHsKKyAgICAg
ICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9O
LCAidGV4SW1hZ2UyRCIsICJPcGVyYXRpb24gbm90IHN1cHBvcnRlZCB5ZXQiKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKwogICAgIGJvb2wgbmVlZENvbnZlcnNpb24gPSB0cnVlOwogICAgIC8v
IFRoZSBkYXRhIGZyb20gSW1hZ2VEYXRhIGlzIGFsd2F5cyBvZiBmb3JtYXQgUkdCQTguCiAgICAg
Ly8gTm8gY29udmVyc2lvbiBpcyBuZWVkZWQgaWYgZGVzdGluYXRpb24gZm9ybWF0IGlzIFJHQkEg
YW5kIHR5cGUgaXMgVVNJR05FRF9CWVRFIGFuZCBubyBGbGlwIG9yIFByZW11bHRpcGx5IG9wZXJh
dGlvbiBpcyByZXF1aXJlZC4KQEAgLTM3OTcsNiArMzgxMywxMiBAQCB2b2lkIFdlYkdMUmVuZGVy
aW5nQ29udGV4dDo6dGV4SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdD
M0RlbnVtCiAgICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwogICAgICAgICByZXR1cm47CiAgICAg
fQorICAgIC8vIEZJWE1FOiBVcGxvYWRpbmcgSW1hZ2VFbGVtZW50IHRvIGhhbGYgZmxvYXRpbmcg
cG9pbnQgdGV4dHVyZSBpcyBub3Qgc3VwcG9ydGVkIHlldAorICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA5MzYKKyAgICBpZiAodHlwZSA9PSBHcmFwaGlj
c0NvbnRleHQzRDo6SEFMRl9GTE9BVF9PRVMpIHsKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3Io
R3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCAidGV4SW1hZ2UyRCIsICJPcGVy
YXRpb24gbm90IHN1cHBvcnRlZCB5ZXQiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KIAogICAg
IHRleEltYWdlMkRJbXBsKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCBmb3JtYXQsIHR5
cGUsIGltYWdlLT5jYWNoZWRJbWFnZSgpLT5pbWFnZUZvclJlbmRlcmVyKGltYWdlLT5yZW5kZXJl
cigpKSwgR3JhcGhpY3NDb250ZXh0M0Q6Okh0bWxEb21JbWFnZSwgbV91bnBhY2tGbGlwWSwgbV91
bnBhY2tQcmVtdWx0aXBseUFscGhhLCBlYyk7CiB9CkBAIC0zODE5LDYgKzM4NDEsMTIgQEAgdm9p
ZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNE
aW50IGxldmVsLCBHQzNEZW51bQogICAgICAgICByZXR1cm47CiAgICAgaWYgKCF2YWxpZGF0ZVNl
dHRhYmxlVGV4Rm9ybWF0KCJ0ZXhJbWFnZTJEIiwgZm9ybWF0KSkKICAgICAgICAgcmV0dXJuOwor
ICAgIC8vIEZJWE1FOiBVcGxvYWRpbmcgSFRNTENhbnZhc0VsZW1lbnQgdG8gaGFsZiBmbG9hdGlu
ZyBwb2ludCB0ZXh0dXJlIGlzIG5vdCBzdXBwb3J0ZWQgeWV0CisgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDkzNgorICAgIGlmICh0eXBlID09IEdyYXBo
aWNzQ29udGV4dDNEOjpIQUxGX0ZMT0FUX09FUykgeworICAgICAgICBzeW50aGVzaXplR0xFcnJv
cihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICJ0ZXhJbWFnZTJEIiwgIk9w
ZXJhdGlvbiBub3Qgc3VwcG9ydGVkIHlldCIpOworICAgICAgICByZXR1cm47CisgICAgfQogCiAg
ICAgV2ViR0xUZXh0dXJlKiB0ZXh0dXJlID0gdmFsaWRhdGVUZXh0dXJlQmluZGluZygidGV4SW1h
Z2UyRCIsIHRhcmdldCwgdHJ1ZSk7CiAgICAgLy8gSWYgcG9zc2libGUsIGNvcHkgZnJvbSB0aGUg
Y2FudmFzIGVsZW1lbnQgZGlyZWN0bHkgdG8gdGhlIHRleHR1cmUKQEAgLTM4NzUsNiArMzkwMywx
MyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4SW1hZ2UyRChHQzNEZW51bSB0YXJn
ZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVtCiAgICAgUmVmUHRyPEltYWdlPiBpbWFnZSA9IHZp
ZGVvRnJhbWVUb0ltYWdlKHZpZGVvLCBJbWFnZUJ1ZmZlcjo6ZmFzdENvcHlJbWFnZU1vZGUoKSwg
ZWMpOwogICAgIGlmICghaW1hZ2UpCiAgICAgICAgIHJldHVybjsKKyAgICAvLyBGSVhNRTogVXBs
b2FkaW5nIEhUTUxWaWRlb0VsZW1lbnQgdG8gaGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGlz
IG5vdCBzdXBwb3J0ZWQgeWV0CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExMDkzNgorICAgIGlmICh0eXBlID09IEdyYXBoaWNzQ29udGV4dDNEOjpIQUxG
X0ZMT0FUX09FUykgeworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQz
RDo6SU5WQUxJRF9PUEVSQVRJT04sICJ0ZXhJbWFnZTJEIiwgIk9wZXJhdGlvbiBub3Qgc3VwcG9y
dGVkIHlldCIpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgdGV4SW1hZ2UyREltcGwo
dGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIGZvcm1hdCwgdHlwZSwgaW1hZ2UuZ2V0KCks
IEdyYXBoaWNzQ29udGV4dDNEOjpIdG1sRG9tVmlkZW8sIG1fdW5wYWNrRmxpcFksIG1fdW5wYWNr
UHJlbXVsdGlwbHlBbHBoYSwgZWMpOwogfQogI2VuZGlmCkBAIC00MDI5LDYgKzQwNjQsMTMgQEAg
dm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0
LCBHQzNEaW50IGxldmVsLCBHQzNEaW4KICAgICAgICAgcmV0dXJuOwogICAgIGlmICghdmFsaWRh
dGVTZXR0YWJsZVRleEZvcm1hdCgidGV4U3ViSW1hZ2UyRCIsIGZvcm1hdCkpCiAgICAgICAgIHJl
dHVybjsKKyAgICAvLyBGSVhNRTogVXBsb2FkaW5nIEltYWdlRGF0YSB0byBoYWxmIGZsb2F0aW5n
IHBvaW50IHRleHR1cmUgaXMgbm90IHN1cHBvcnRlZCB5ZXQKKyAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTM2CisgICAgaWYgKHR5cGUgPT0gR3JhcGhp
Y3NDb250ZXh0M0Q6OkhBTEZfRkxPQVRfT0VTKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9y
KEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgInRleFN1YkltYWdlMkQiLCAi
T3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQgeWV0Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
ICAgICBWZWN0b3I8dWludDhfdD4gZGF0YTsKICAgICBib29sIG5lZWRDb252ZXJzaW9uID0gdHJ1
ZTsKICAgICAvLyBUaGUgZGF0YSBmcm9tIEltYWdlRGF0YSBpcyBhbHdheXMgb2YgZm9ybWF0IFJH
QkE4LgpAQCAtNDA2MCw2ICs0MTAyLDEzIEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0
ZXhTdWJJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGluCiAgICAg
ICAgIGVjID0gU0VDVVJJVFlfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQorICAgIC8vIEZJ
WE1FOiBVcGxvYWRpbmcgSFRNTEltYWdlRWxlbWVudCB0byBoYWxmIGZsb2F0aW5nIHBvaW50IHRl
eHR1cmUgaXMgbm90IHN1cHBvcnRlZCB5ZXQKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTM2CisgICAgaWYgKHR5cGUgPT0gR3JhcGhpY3NDb250ZXh0
M0Q6OkhBTEZfRkxPQVRfT0VTKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNz
Q29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgInRleFN1YkltYWdlMkQiLCAiT3BlcmF0aW9u
IG5vdCBzdXBwb3J0ZWQgeWV0Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICB0ZXhT
dWJJbWFnZTJESW1wbCh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCBmb3JtYXQsIHR5
cGUsIGltYWdlLT5jYWNoZWRJbWFnZSgpLT5pbWFnZUZvclJlbmRlcmVyKGltYWdlLT5yZW5kZXJl
cigpKSwgR3JhcGhpY3NDb250ZXh0M0Q6Okh0bWxEb21JbWFnZSwgbV91bnBhY2tGbGlwWSwgbV91
bnBhY2tQcmVtdWx0aXBseUFscGhhLCBlYyk7CiB9CiAKQEAgLTQwODEsNiArNDEzMCwxMyBAQCB2
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJnZXQs
IEdDM0RpbnQgbGV2ZWwsIEdDM0RpbgogICAgICAgICByZXR1cm47CiAgICAgaWYgKCF2YWxpZGF0
ZVNldHRhYmxlVGV4Rm9ybWF0KCJ0ZXhTdWJJbWFnZTJEIiwgZm9ybWF0KSkKICAgICAgICAgcmV0
dXJuOworICAgIC8vIEZJWE1FOiBVcGxvYWRpbmcgSFRNTENhbnZhc0VsZW1lbnQgdG8gaGFsZiBm
bG9hdGluZyBwb2ludCB0ZXh0dXJlIGlzIG5vdCBzdXBwb3J0ZWQgeWV0CisgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDkzNgorICAgIGlmICh0eXBlID09
IEdyYXBoaWNzQ29udGV4dDNEOjpIQUxGX0ZMT0FUX09FUykgeworICAgICAgICBzeW50aGVzaXpl
R0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICJ0ZXhTdWJJbWFn
ZTJEIiwgIk9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIHlldCIpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCiAgICAgUmVmUHRyPEltYWdlRGF0YT4gaW1hZ2VEYXRhID0gY2FudmFzLT5nZXRJbWFn
ZURhdGEoKTsKICAgICBpZiAoaW1hZ2VEYXRhKQogICAgICAgICB0ZXhTdWJJbWFnZTJEKHRhcmdl
dCwgbGV2ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIGZvcm1hdCwgdHlwZSwgaW1hZ2VEYXRhLmdldCgp
LCBlYyk7CkBAIC00MDk4LDYgKzQxNTQsMTMgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OnRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW4KICAg
ICBSZWZQdHI8SW1hZ2U+IGltYWdlID0gdmlkZW9GcmFtZVRvSW1hZ2UodmlkZW8sIEltYWdlQnVm
ZmVyOjpmYXN0Q29weUltYWdlTW9kZSgpLCBlYyk7CiAgICAgaWYgKCFpbWFnZSkKICAgICAgICAg
cmV0dXJuOworICAgIC8vIEZJWE1FOiBVcGxvYWRpbmcgSFRNTFZpZGVvRWxlbWVudCB0byBoYWxm
IGZsb2F0aW5nIHBvaW50IHRleHR1cmUgaXMgbm90IHN1cHBvcnRlZCB5ZXQKKyAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTM2CisgICAgaWYgKHR5cGUg
PT0gR3JhcGhpY3NDb250ZXh0M0Q6OkhBTEZfRkxPQVRfT0VTKSB7CisgICAgICAgIHN5bnRoZXNp
emVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgInRleFN1Yklt
YWdlMkQiLCAiT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQgeWV0Iik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKICAgICB0ZXhTdWJJbWFnZTJESW1wbCh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5
b2Zmc2V0LCBmb3JtYXQsIHR5cGUsIGltYWdlLmdldCgpLCBHcmFwaGljc0NvbnRleHQzRDo6SHRt
bERvbVZpZGVvLCBtX3VucGFja0ZsaXBZLCBtX3VucGFja1ByZW11bHRpcGx5QWxwaGEsIGVjKTsK
IH0KICNlbmRpZgpAQCAtNDk4MCw2ICs1MDQzLDExIEBAIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250
ZXh0Ojp2YWxpZGF0ZVRleEZ1bmNGb3JtYXRBbmRUeXBlKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFt
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3ND
b250ZXh0M0Q6OklOVkFMSURfRU5VTSwgZnVuY3Rpb25OYW1lLCAiaW52YWxpZCB0ZXh0dXJlIHR5
cGUiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OkhBTEZfRkxPQVRfT0VTOgorICAgICAgICBpZiAobV9vZXNUZXh0dXJlSGFsZkZsb2F0KQorICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4
dDNEOjpJTlZBTElEX0VOVU0sIGZ1bmN0aW9uTmFtZSwgImludmFsaWQgdGV4dHVyZSB0eXBlIik7
CisgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJ
R05FRF9JTlQ6CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfSU5UXzI0Xzg6
CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfU0hPUlQ6CkBAIC00OTk4LDcg
KzUwNjYsOCBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVUZXhGdW5jRm9y
bWF0QW5kVHlwZShjb25zdCBjaGFyKiBmdW5jdGlvbk5hbQogICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0M0Q6OkxVTUlOQU5DRToKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpMVU1JTkFOQ0Vf
QUxQSEE6CiAgICAgICAgIGlmICh0eXBlICE9IEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9C
WVRFCi0gICAgICAgICAgICAmJiB0eXBlICE9IEdyYXBoaWNzQ29udGV4dDNEOjpGTE9BVCkgewor
ICAgICAgICAgICAgJiYgdHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6RkxPQVQKKyAgICAgICAg
ICAgICYmIHR5cGUgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OkhBTEZfRkxPQVRfT0VTKSB7CiAgICAg
ICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVS
QVRJT04sIGZ1bmN0aW9uTmFtZSwgImludmFsaWQgdHlwZSBmb3IgZm9ybWF0Iik7CiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KQEAgLTUwMDYsNyArNTA3NSw4IEBAIGJvb2wg
V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZVRleEZ1bmNGb3JtYXRBbmRUeXBlKGNvbnN0
IGNoYXIqIGZ1bmN0aW9uTmFtCiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UkdCOgogICAg
ICAgICBpZiAodHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfQllURQogICAgICAg
ICAgICAgJiYgdHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfU0hPUlRfNV82XzUK
LSAgICAgICAgICAgICYmIHR5cGUgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OkZMT0FUKSB7CisgICAg
ICAgICAgICAmJiB0eXBlICE9IEdyYXBoaWNzQ29udGV4dDNEOjpGTE9BVAorICAgICAgICAgICAg
JiYgdHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6SEFMRl9GTE9BVF9PRVMpIHsKICAgICAgICAg
ICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElP
TiwgZnVuY3Rpb25OYW1lLCAiaW52YWxpZCB0eXBlIGZvciBSR0IgZm9ybWF0Iik7CiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KQEAgLTUwMTUsNyArNTA4NSw4IEBAIGJvb2wg
V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZVRleEZ1bmNGb3JtYXRBbmRUeXBlKGNvbnN0
IGNoYXIqIGZ1bmN0aW9uTmFtCiAgICAgICAgIGlmICh0eXBlICE9IEdyYXBoaWNzQ29udGV4dDNE
OjpVTlNJR05FRF9CWVRFCiAgICAgICAgICAgICAmJiB0eXBlICE9IEdyYXBoaWNzQ29udGV4dDNE
OjpVTlNJR05FRF9TSE9SVF80XzRfNF80CiAgICAgICAgICAgICAmJiB0eXBlICE9IEdyYXBoaWNz
Q29udGV4dDNEOjpVTlNJR05FRF9TSE9SVF81XzVfNV8xCi0gICAgICAgICAgICAmJiB0eXBlICE9
IEdyYXBoaWNzQ29udGV4dDNEOjpGTE9BVCkgeworICAgICAgICAgICAgJiYgdHlwZSAhPSBHcmFw
aGljc0NvbnRleHQzRDo6RkxPQVQKKyAgICAgICAgICAgICYmIHR5cGUgIT0gR3JhcGhpY3NDb250
ZXh0M0Q6OkhBTEZfRkxPQVRfT0VTKSB7CiAgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihH
cmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sIGZ1bmN0aW9uTmFtZSwgImludmFs
aWQgdHlwZSBmb3IgUkdCQSBmb3JtYXQiKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICAgICAgfQpAQCAtNTE4NSw2ICs1MjU2LDE0IEBAIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0
Ojp2YWxpZGF0ZVRleEZ1bmNEYXRhKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0MzRGluCiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBHcmFwaGljc0NvbnRleHQzRDo6SEFMRl9GTE9BVF9PRVM6IC8vIE9FU190ZXh0dXJlX2hh
bGZfZmxvYXQKKyAgICAgICAgLy8gQXMgcGVyIHRoZSBzcGVjaWZpY2F0aW9uLCBBcnJheUJ1ZmZl
clZpZXcgc2hvdWxkIGJlIG51bGwgd2hlbgorICAgICAgICAvLyBPRVNfdGV4dHVyZV9oYWxmX2Zs
b2F0IGlzIGVuYWJsZWQuCisgICAgICAgIGlmIChwaXhlbHMpIHsKKyAgICAgICAgICAgIHN5bnRo
ZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgZnVuY3Rp
b25OYW1lLCAidHlwZSBIQUxGX0ZMT0FUX09FUyBidXQgQXJyYXlCdWZmZXJWaWV3IGlzIG5vdCBO
VUxMIik7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICAgICAgYnJl
YWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQu
aAppbmRleCAzYmNlNTM0NGQ0ZTAwYjAyYzgxM2EzODQwNDgxZWNmZTg2YTJlZDBkLi5lY2Y4Y2Zm
Zjk5YWFkY2I0ZmZmN2Q3ZmIxYzVlNTM5MGIzMmMyY2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaApAQCAtNTEsNiArNTEsNyBA
QCBjbGFzcyBJbWFnZURhdGE7CiBjbGFzcyBJbnRTaXplOwogY2xhc3MgT0VTU3RhbmRhcmREZXJp
dmF0aXZlczsKIGNsYXNzIE9FU1RleHR1cmVGbG9hdDsKK2NsYXNzIE9FU1RleHR1cmVIYWxmRmxv
YXQ7CiBjbGFzcyBPRVNWZXJ0ZXhBcnJheU9iamVjdDsKIGNsYXNzIE9FU0VsZW1lbnRJbmRleFVp
bnQ7CiBjbGFzcyBXZWJHTEFjdGl2ZUluZm87CkBAIC01MTcsNiArNTE4LDcgQEAgcHVibGljOgog
ICAgIE93blB0cjxFWFREcmF3QnVmZmVycz4gbV9leHREcmF3QnVmZmVyczsKICAgICBPd25QdHI8
RVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljPiBtX2V4dFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3Bp
YzsKICAgICBPd25QdHI8T0VTVGV4dHVyZUZsb2F0PiBtX29lc1RleHR1cmVGbG9hdDsKKyAgICBP
d25QdHI8T0VTVGV4dHVyZUhhbGZGbG9hdD4gbV9vZXNUZXh0dXJlSGFsZkZsb2F0OwogICAgIE93
blB0cjxPRVNTdGFuZGFyZERlcml2YXRpdmVzPiBtX29lc1N0YW5kYXJkRGVyaXZhdGl2ZXM7CiAg
ICAgT3duUHRyPE9FU1ZlcnRleEFycmF5T2JqZWN0PiBtX29lc1ZlcnRleEFycmF5T2JqZWN0Owog
ICAgIE93blB0cjxPRVNFbGVtZW50SW5kZXhVaW50PiBtX29lc0VsZW1lbnRJbmRleFVpbnQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmlkbAppbmRleCBiNGQ0ODlkZGVjNmRkYTRlYzY2MTU2NDJkYzRkZTQyYjc1MjljYzI2Li4wZGRj
ODQ3YjY3MzYxZjI5NzkzZmM3MzBiOGY0YmI3N2ZmNDBkNmVlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5pZGwKQEAgLTIzNyw2
ICsyMzcsNyBAQCB0eXBlZGVmIC8qdW5yZXN0cmljdGVkKi8gZmxvYXQgR0xjbGFtcGY7CiAgICAg
Y29uc3QgR0xlbnVtIElOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MTQwNDsKICAg
ICBjb25zdCBHTGVudW0gVU5TSUdORURfSU5UICAgICAgICAgICAgICAgICAgID0gMHgxNDA1Owog
ICAgIGNvbnN0IEdMZW51bSBGTE9BVCAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDE0MDY7
CisgICAgY29uc3QgR0xlbnVtIEhBTEZfRkxPQVRfT0VTICAgICAgICAgICAgICAgICA9IDB4OEQ2
MTsKIAogICAgIC8qIFBpeGVsRm9ybWF0ICovCiAgICAgY29uc3QgR0xlbnVtIERFUFRIX0NPTVBP
TkVOVCAgICAgICAgICAgICAgICA9IDB4MTkwMjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmgKaW5kZXggYjAzM2JjZDczOTU2ZTI3MzgzYTVmNzQ1
ZWJjODJjYThhNWQ2YWYyMy4uZDhkNzdhOTI3ZWVlOGM0NzE3NzMwMzIxMTdmZDQ2NDEyZWQ2NzZm
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9u
czNELmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNE
LmgKQEAgLTUzLDYgKzUzLDcgQEAgcHVibGljOgogICAgIC8vICAgR0xfRVhUX3BhY2tlZF9kZXB0
aF9zdGVuY2lsIC8gR0xfT0VTX3BhY2tlZF9kZXB0aF9zdGVuY2lsCiAgICAgLy8gICBHTF9BTkdM
RV9mcmFtZWJ1ZmZlcl9ibGl0IC8gR0xfQU5HTEVfZnJhbWVidWZmZXJfbXVsdGlzYW1wbGUKICAg
ICAvLyAgIEdMX09FU190ZXh0dXJlX2Zsb2F0CisgICAgLy8gICBHTF9PRVNfdGV4dHVyZV9oYWxm
X2Zsb2F0CiAgICAgLy8gICBHTF9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMKICAgICAvLyAgIEdM
X09FU19yZ2I4X3JnYmE4CiAgICAgLy8gICBHTF9PRVNfdmVydGV4X2FycmF5X29iamVjdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
M0QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
M0QuY3BwCmluZGV4IDRlMmU0MGQwZDZkZThhNDhmMWVjZmFkYjIxMWE0YzMyYjhmOGFhYzIuLjRi
NWI5ZmQ0ZTI2NzE4NDg3NmFhNjI5YjI2MDVkYzBkZTM1YzU0NzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5jcHAKQEAg
LTE3Niw2ICsxNzYsOSBAQCBib29sIEdyYXBoaWNzQ29udGV4dDNEOjpjb21wdXRlRm9ybWF0QW5k
VHlwZVBhcmFtZXRlcnMoR0MzRGVudW0gZm9ybWF0LAogICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
M0Q6OkZMT0FUOiAvLyBPRVNfdGV4dHVyZV9mbG9hdAogICAgICAgICAqYnl0ZXNQZXJDb21wb25l
bnQgPSBzaXplb2YoR0MzRGZsb2F0KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6SEFMRl9GTE9BVF9PRVM6IC8vIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQKKyAg
ICAgICAgKmJ5dGVzUGVyQ29tcG9uZW50ID0gc2l6ZW9mKEdDM0RoYWxmZmxvYXQpOworICAgICAg
ICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
M0QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNE
LmgKaW5kZXggNjQ5ZDUwNDE4MzkzN2Q0ZDNjODhhZWJlMjY5ZGMwOTQxZDYwZTg1ZS4uZTEyMjhl
ZmE5Zjg5Y2QxM2QyOTUwNTg2ZDlkMTEyYWNmMGJlNGVjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCkBAIC0yNTEsNiAr
MjUxLDcgQEAgcHVibGljOgogICAgICAgICBJTlQgPSAweDE0MDQsCiAgICAgICAgIFVOU0lHTkVE
X0lOVCA9IDB4MTQwNSwKICAgICAgICAgRkxPQVQgPSAweDE0MDYsCisgICAgICAgIEhBTEZfRkxP
QVRfT0VTID0gMHg4RDYxLAogICAgICAgICBGSVhFRCA9IDB4MTQwQywKICAgICAgICAgREVQVEhf
Q09NUE9ORU5UID0gMHgxOTAyLAogICAgICAgICBBTFBIQSA9IDB4MTkwNiwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMzRC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlczNELmgKaW5kZXggMjAz
YTNmZDhhYWI0NWMyNjEwZWM1OGIwNzVlNjVjOWViY2RmMjk3My4uMWZhOGVhYWIxN2UwNWMzMWRk
OTFmZjhlNTVlNGI2YjA4NGUxNjA0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlczNELmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlczNELmgKQEAgLTQxLDYgKzQxLDcgQEAgdHlwZWRlZiBp
bnQgR0MzRGludDsKIHR5cGVkZWYgaW50IEdDM0RzaXplaTsKIHR5cGVkZWYgdW5zaWduZWQgaW50
IEdDM0R1aW50OwogdHlwZWRlZiBmbG9hdCBHQzNEZmxvYXQ7Cit0eXBlZGVmIHVuc2lnbmVkIHNo
b3J0IEdDM0RoYWxmZmxvYXQ7CiB0eXBlZGVmIGZsb2F0IEdDM0RjbGFtcGY7CiB0eXBlZGVmIGlu
dHB0cl90IEdDM0RpbnRwdHI7CiB0eXBlZGVmIGludHB0cl90IEdDM0RzaXplaXB0cjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0Nv
bnRleHQzRE9wZW5HTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwCmluZGV4IDVjMmZhYmMxY2I5MjQyYTBjMjBi
Yzc1YTdlMDAyMGM3NmE3NjU2NWMuLjRkNzg2NzhiMjE4NzJkYmRiNmM0MGNiYmM2MmM0NjNlYjAz
ODEwZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5n
bC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcApAQCAtMjU2LDgg
KzI1NiwxOSBAQCBib29sIEdyYXBoaWNzQ29udGV4dDNEOjp0ZXhJbWFnZTJEKEdDM0RlbnVtIHRh
cmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGVudW0gaW50ZQogICAgICAgICAgICAgb3BlbkdMSW50
ZXJuYWxGb3JtYXQgPSBHTF9SR0JBMzJGX0FSQjsKICAgICAgICAgZWxzZSBpZiAoZm9ybWF0ID09
IEdMX1JHQikKICAgICAgICAgICAgIG9wZW5HTEludGVybmFsRm9ybWF0ID0gR0xfUkdCMzJGX0FS
QjsKKyAgICB9IGVsc2UgaWYgKHR5cGUgPT0gSEFMRl9GTE9BVF9PRVMpIHsKKyAgICAgICAgaWYg
KGZvcm1hdCA9PSBHTF9SR0JBKQorICAgICAgICAgICAgb3BlbkdMSW50ZXJuYWxGb3JtYXQgPSBH
TF9SR0JBMTZGX0FSQjsKKyAgICAgICAgZWxzZSBpZiAoZm9ybWF0ID09IEdMX1JHQikKKyAgICAg
ICAgICAgIG9wZW5HTEludGVybmFsRm9ybWF0ID0gR0xfUkdCMTZGX0FSQjsKKyAgICAgICAgZWxz
ZSBpZiAoZm9ybWF0ID09IEdMX0xVTUlOQU5DRSkKKyAgICAgICAgICAgIG9wZW5HTEludGVybmFs
Rm9ybWF0ID0gR0xfTFVNSU5BTkNFMTZGX0FSQjsKKyAgICAgICAgZWxzZSBpZiAoZm9ybWF0ID09
IEdMX0FMUEhBKQorICAgICAgICAgICAgb3BlbkdMSW50ZXJuYWxGb3JtYXQgPSBHTF9BTFBIQTE2
Rl9BUkI7CisgICAgICAgIGVsc2UgaWYgKGZvcm1hdCA9PSBHTF9MVU1JTkFOQ0VfQUxQSEEpCisg
ICAgICAgICAgICBvcGVuR0xJbnRlcm5hbEZvcm1hdCA9IEdMX0xVTUlOQU5DRV9BTFBIQTE2Rl9B
UkI7CisgICAgICAgIHR5cGUgPSBHTF9IQUxGX0ZMT0FUX0FSQjsKICAgICB9Ci0KICAgICB0ZXhJ
bWFnZTJERGlyZWN0KHRhcmdldCwgbGV2ZWwsIG9wZW5HTEludGVybmFsRm9ybWF0LCB3aWR0aCwg
aGVpZ2h0LCBib3JkZXIsIGZvcm1hdCwgdHlwZSwgcGl4ZWxzKTsKICAgICByZXR1cm4gdHJ1ZTsK
IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBlOGUxMzEzNGNhNjMzNzU2NDA3NTk3N2M2YmRhNzE3OWMyNTEwYTJmLi45NTM1
YzNmYjhkMjI4YzA1ZDA0NjBhMWUzODZhOWZlNGEyZjNkMWU3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTMtMDItMjggIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4KKwor
ICAgICAgICBbV2ViR0xdIFN1cHBvcnQgZm9yIHRleEltYWdlMkQgb2YgdHlwZSBIQUxGX0ZMT0FU
X09FUyB3aXRoIEFycmF5QnVmZmVyVmlldy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExMDgxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFzIHBlciBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IHNwZWNpZmlj
YXRpb24gdGV4SW1hZ2UyRCBhbmQgdGV4U3ViSW1hZ2UyRCBlbnRyeQorICAgICAgICBwb2ludHMg
dGFraW5nIEFycmF5QnVmZmVyVmlldyBzaG91bGQgZXh0ZW5kZWQgdG8gYWNjZXB0IG51bGwgd2l0
aCB0aGUgcGl4ZWwgdHlwZQorICAgICAgICBIQUxGX0ZMT0FUX09FUy4KKworICAgICAgICAqIGZh
c3QvY2FudmFzL3dlYmdsL2NvbnN0YW50cy5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dl
YmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LW5vdC1zdXBwb3J0ZWQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4
dHVyZS1oYWxmLWZsb2F0LW5vdC1zdXBwb3J0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtaGFsZi1mbG9hdC5odG1sOiBBZGRlZC4KKwogMjAx
My0wMy0wMSAgUm9nZXIgRm9uZyAgPHJvZ2VyX2ZvbmdAYXBwbGUuY29tPgogCiAJCVVucmV2aWV3
ZWQgZ2FyZGVuaW5nIG9mIEFwcGxlV2luIHBvcnQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy93ZWJnbC9jb25zdGFudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2NvbnN0YW50cy5odG1sCmluZGV4IDc1YzA5MDMxZmFkOWViNGY2MmUzMjI1NGM1MTc0
NjI1NjMwMzRjMWMuLjhiNmJjOTRiZjY0NTY4MTNmMWFhM2MwODUzNzdiOTI4YjdmNjM0MDUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnN0YW50cy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnN0YW50cy5odG1sCkBAIC0yMTIs
NiArMjEyLDcgQEAgVU5TSUdORURfU0hPUlQgICAgICAgICAgICAgICAgIDogMHgxNDAzLAogSU5U
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMHgxNDA0LAogVU5TSUdORURfSU5UICAgICAg
ICAgICAgICAgICAgIDogMHgxNDA1LAogRkxPQVQgICAgICAgICAgICAgICAgICAgICAgICAgIDog
MHgxNDA2LAorSEFMRl9GTE9BVF9PRVMgICAgICAgICAgICAgICAgIDogMHg4RDYxLAogICAgIAog
ICAgIC8qIFBpeGVsRm9ybWF0ICovCiBERVBUSF9DT01QT05FTlQgICAgICAgICAgICAgICAgOiAw
eDE5MDIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4
dHVyZS1oYWxmLWZsb2F0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmYzk2
NWZkODQ2NWViYmEzOWRkZDNiY2E5NjIzNzA2NjBlMTYyNTQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDg0IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhlIGZ1bmN0aW9u
YWxpdHkgb2YgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCB3aXRoIG51bGwvbm9uLW51bGwgQXJyYXlC
dWZmZXJWaWV3CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFdlYkdMIGNv
bnRleHQgZXhpc3RzCitUZXN0aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZGlz
YWJsZWQsIGZvcm1hdCBSR0JBLCBhbmQgZGF0YSBudWxsLiBFeHBlY3QgRmFpbHVyZQorUEFTUyBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIg
c2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJ
TlZBTElEX0VOVU0gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgbXVzdCBiZSBkaWFsbG93
ZWQgaWYgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBpc24ndCBlbmFibGVkCitQQVNTIFN1Y2Nlc3Nm
dWxseSBlbmFibGVkIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQgZXh0ZW5zaW9uCitUZXN0aW5nIHRl
eHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IFJHQkEsIGFuZCBk
YXRhIG51bGwuIEV4cGVjdCBTdWNjZXNzCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFT
UyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogSGFsZiBmbG9hdGluZyBw
b2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gc2hvdWxkIHN1Y2NlZWQgaWYgT0VTX3RleHR1cmVfaGFs
Zl9mbG9hdCBpcyBlbmFibGVkCitUZXN0aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNp
b24gZW5hYmxlZCwgZm9ybWF0IFJHQiwgYW5kIGRhdGEgbnVsbC4gRXhwZWN0IFN1Y2Nlc3MKK1BB
U1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1l
dGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBzaG91
bGQgc3VjY2VlZCBpZiBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGlzIGVuYWJsZWQKK1Rlc3Rpbmcg
dGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQgTFVNSU5BTkNF
LCBhbmQgZGF0YSBudWxsLiBFeHBlY3QgU3VjY2VzcworUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2Nl
ZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IEhhbGYgZmxv
YXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIHNob3VsZCBzdWNjZWVkIGlmIE9FU190ZXh0
dXJlX2hhbGZfZmxvYXQgaXMgZW5hYmxlZAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGgg
ZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBBTFBIQSwgYW5kIGRhdGEgbnVsbC4gRXhwZWN0IFN1
Y2Nlc3MKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1
cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2Nh
dGlvbiBzaG91bGQgc3VjY2VlZCBpZiBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGlzIGVuYWJsZWQK
K1Rlc3RpbmcgdGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQg
TFVNSU5BTkNFX0FMUEhBLCBhbmQgZGF0YSBudWxsLiBFeHBlY3QgU3VjY2VzcworUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0
dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIHNob3VsZCBzdWNj
ZWVkIGlmIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQgaXMgZW5hYmxlZAorVGVzdGluZyB0ZXh0dXJl
IGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBSR0JBLCBhbmQgZGF0YSBu
b24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNT
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBIYWxmIGZs
b2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFy
cmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGgg
ZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBSR0JBLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0
IEZhaWx1cmUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRl
eHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRl
eHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBp
cyBub3QtbnVsbAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJs
ZWQsIGZvcm1hdCBSR0JBLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1Mg
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVy
IHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
SU5WQUxJRF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlv
biBtdXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAorVGVz
dGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBSR0Is
IGFuZCBkYXRhIG5vbi1udWxsLiBFeHBlY3QgRmFpbHVyZQorUEFTUyBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1
Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElP
TiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIG11c3QgYmUgZGlhbGxv
d2VkIHdoZW4gQXJyYXlCdWZmZXJWaWV3IGlzIG5vdC1udWxsCitUZXN0aW5nIHRleHR1cmUgY3Jl
YXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IFJHQiwgYW5kIGRhdGEgbm9uLW51
bGwuIEV4cGVjdCBGYWlsdXJlCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogSGFsZiBmbG9hdGlu
ZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gbXVzdCBiZSBkaWFsbG93ZWQgd2hlbiBBcnJheUJ1
ZmZlclZpZXcgaXMgbm90LW51bGwKK1Rlc3RpbmcgdGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVu
c2lvbiBlbmFibGVkLCBmb3JtYXQgUkdCLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1
cmUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUg
cGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUg
YWxsb2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3Qt
bnVsbAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZv
cm1hdCBMVU1JTkFOQ0UsIGFuZCBkYXRhIG5vbi1udWxsLiBFeHBlY3QgRmFpbHVyZQorUEFTUyBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIg
c2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJ
TlZBTElEX09QRVJBVElPTiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9u
IG11c3QgYmUgZGlhbGxvd2VkIHdoZW4gQXJyYXlCdWZmZXJWaWV3IGlzIG5vdC1udWxsCitUZXN0
aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IExVTUlO
QU5DRSwgYW5kIGRhdGEgbm9uLW51bGwuIEV4cGVjdCBGYWlsdXJlCitQQVNTIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91
bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BF
UkFUSU9OIDogSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gbXVzdCBiZSBk
aWFsbG93ZWQgd2hlbiBBcnJheUJ1ZmZlclZpZXcgaXMgbm90LW51bGwKK1Rlc3RpbmcgdGV4dHVy
ZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQgTFVNSU5BTkNFLCBhbmQg
ZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVk
CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBI
YWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dlZCB3
aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9u
IHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBBTFBIQSwgYW5kIGRhdGEgbm9uLW51bGwu
IEV4cGVjdCBGYWlsdXJlCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogSGFsZiBmbG9hdGluZyBw
b2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gbXVzdCBiZSBkaWFsbG93ZWQgd2hlbiBBcnJheUJ1ZmZl
clZpZXcgaXMgbm90LW51bGwKK1Rlc3RpbmcgdGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lv
biBlbmFibGVkLCBmb3JtYXQgQUxQSEEsIGFuZCBkYXRhIG5vbi1udWxsLiBFeHBlY3QgRmFpbHVy
ZQorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBw
YXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBh
bGxvY2F0aW9uIG11c3QgYmUgZGlhbGxvd2VkIHdoZW4gQXJyYXlCdWZmZXJWaWV3IGlzIG5vdC1u
dWxsCitUZXN0aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9y
bWF0IEFMUEhBLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVw
IHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJ
RF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBtdXN0
IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAorVGVzdGluZyB0
ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBMVU1JTkFOQ0Vf
QUxQSEEsIGFuZCBkYXRhIG5vbi1udWxsLiBFeHBlY3QgRmFpbHVyZQorUEFTUyBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hv
dWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09Q
RVJBVElPTiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIG11c3QgYmUg
ZGlhbGxvd2VkIHdoZW4gQXJyYXlCdWZmZXJWaWV3IGlzIG5vdC1udWxsCitUZXN0aW5nIHRleHR1
cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IExVTUlOQU5DRV9BTFBI
QSwgYW5kIGRhdGEgbm9uLW51bGwuIEV4cGVjdCBGYWlsdXJlCitQQVNTIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQg
c3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFU
SU9OIDogSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gbXVzdCBiZSBkaWFs
bG93ZWQgd2hlbiBBcnJheUJ1ZmZlclZpZXcgaXMgbm90LW51bGwKK1Rlc3RpbmcgdGV4dHVyZSBj
cmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQgTFVNSU5BTkNFX0FMUEhBLCBh
bmQgZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNj
ZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04g
OiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dl
ZCB3aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAorCitUZXN0aW5nIGhhbGYgZmxvYXRp
bmcgcG9pbnQgcmVuZGVyIHRhcmdldAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1Mg
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IEhhbGYgZmxvYXRpbmcgcG9p
bnQgdGV4dHVyZSBhbGxvY2F0aW9uIHNob3VsZCBzdWNjZWVkIGlmIE9FU190ZXh0dXJlX2hhbGZf
ZmxvYXQgaXMgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SIDogUmVuZGVyaW5nIHRvIGhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBzaG91bGQgc3Vj
Y2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVuZGVy
aW5nIGZyb20gaGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIHNob3VsZCBzdWNjZWVkCitQQVNT
IHNob3VsZCBiZSBncmVlbgorVGVzdGluZyB0aGF0IGdldEV4dGVuc2lvbigpIHJldHVybnMgdGhl
IHNhbWUgb2JqZWN0IGVhY2ggdGltZQorUEFTUyBnbC5nZXRFeHRlbnNpb24oIk9FU190ZXh0dXJl
X2hhbGZfZmxvYXQiKS5teVByb3BlcnR5IGlzIDIKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtbm90LXN1cHBvcnRlZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZs
b2F0LW5vdC1zdXBwb3J0ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmMWIzNTAyYThhYjgz
MTgzOWJhYjg0ZWE3Mjc5MjU2Y2Q0YWUyNzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LW5vdC1zdXBwb3J0ZWQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDAgQEAKK1Rlc3Rpbmcgbm90IHlldCBzdXBwb3J0ZWQg
dGV4dHVyZSB1cGxvYWRzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKK1BBU1Mg
V2ViR0wgY29udGV4dCBleGlzdHMKK1BBU1MgU3VjY2Vzc2Z1bGx5IGVuYWJsZWQgT0VTX3RleHR1
cmVfaGFsZl9mbG9hdCBleHRlbnNpb24KKworVmVyaWZ5IHdoZXRoZXIgdXBsb2FkaW5nIEltYWdl
RGF0YSB2aWEgdGV4SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1cHBvcnRlZAorUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0
dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZB
TElEX09QRVJBVElPTiA6IFVwbG9hZGluZyB0byBoYWxmIGZsb2F0IHRleHR1cmUgaXMgbm90IHll
dCBzdXBwb3J0ZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IFVwbG9hZGluZyBudWxsIEFycmF5QnVmZmVyVmlldyB0byBoYWxmIGZsb2F0IHRleHR1cmUgc2hv
dWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09Q
RVJBVElPTiA6IFVwbG9hZGluZyB0byBoYWxmIGZsb2F0IHRleHR1cmUgdXNpbmcgdGV4U3ViSW1h
Z2UyRCBpcyBub3Qgc3VwcG9ydGVkIHlldAorCitWZXJpZnkgd2hldGhlciB1cGxvYWRpbmcgSFRN
TEltYWdlRWxlbWVudCB2aWEgdGV4SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1cHBvcnRlZAor
CitWZXJpZnkgd2hldGhlciB1cGxvYWRpbmcgSFRNTENhbnZhc0VsZW1lbnQgdmlhIHRleEltYWdl
MkQvdGV4U3ViSW1hZ2UyRCBpcyBzdXBwb3J0ZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVk
CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBV
cGxvYWRpbmcgdG8gaGFsZiBmbG9hdCB0ZXh0dXJlIGlzIG5vdCB5ZXQgc3VwcG9ydGVkCitQQVNT
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBVcGxvYWRpbmcgbnVsbCBB
cnJheUJ1ZmZlclZpZXcgdG8gaGFsZiBmbG9hdCB0ZXh0dXJlIHNob3VsZCBzdWNjZWVkCitQQVNT
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBVcGxvYWRp
bmcgdG8gaGFsZiBmbG9hdCB0ZXh0dXJlIHVzaW5nIHRleFN1YkltYWdlMkQgaXMgbm90IHN1cHBv
cnRlZCB5ZXQKKworVmVyaWZ5IHdoZXRoZXIgdXBsb2FkaW5nIEhUTUxWaWRlb0VsZW1lbnQgdmlh
IHRleEltYWdlMkQvdGV4U3ViSW1hZ2UyRCBpcyBzdXBwb3J0ZWQKKworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitQQVNTIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3Vj
Y2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9O
IDogVXBsb2FkaW5nIHRvIGhhbGYgZmxvYXQgdGV4dHVyZSBpcyBub3QgeWV0IHN1cHBvcnRlZAor
UEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogVXBsb2FkaW5nIG51
bGwgQXJyYXlCdWZmZXJWaWV3IHRvIGhhbGYgZmxvYXQgdGV4dHVyZSBzaG91bGQgc3VjY2VlZAor
UEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogVXBs
b2FkaW5nIHRvIGhhbGYgZmxvYXQgdGV4dHVyZSB1c2luZyB0ZXhTdWJJbWFnZTJEIGlzIG5vdCBz
dXBwb3J0ZWQgeWV0CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogVXBsb2FkaW5nIHRvIGhhbGYg
ZmxvYXQgdGV4dHVyZSBpcyBub3QgeWV0IHN1cHBvcnRlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogVXBsb2FkaW5nIG51bGwgQXJyYXlCdWZmZXJWaWV3IHRv
IGhhbGYgZmxvYXQgdGV4dHVyZSBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogVXBsb2FkaW5nIHRvIGhhbGYgZmxvYXQg
dGV4dHVyZSB1c2luZyB0ZXhTdWJJbWFnZTJEIGlzIG5vdCBzdXBwb3J0ZWQgeWV0CitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtbm90
LXN1cHBvcnRlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1
cmUtaGFsZi1mbG9hdC1ub3Qtc3VwcG9ydGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTA4ZTk0N2Q0ODUy
Y2JlNjliNmFjODUxNGFlNGNlNDkyNzBkZmU4NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtbm90LXN1cHBvcnRl
ZC5odG1sCkBAIC0wLDAgKzEsMTcwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgT0VTX3RleHR1cmVfaGFsZl9m
bG9hdCBub3QgeWV0IGltcGxlbWVudGVkIENvbmZvcm1hbmNlIFRlc3RzPC90aXRsZT4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIi8+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29uc3RhbnRzLmpzIiB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJnbC10
ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0idGV4
Y2FudmFzIiB3aWR0aD0iMSIgaGVpZ2h0PSIyIj48L2NhbnZhcz4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbigiVGVzdGluZyBub3QgeWV0IHN1cHBvcnRlZCB0ZXh0dXJlIHVwbG9hZHMiKTsKK2RlYnVn
KCIiKTsKKworaWYgKHdpbmRvdy5pbml0Tm9uS2hyb25vc0ZyYW1ld29yaykgeworICAgIHdpbmRv
dy5pbml0Tm9uS2hyb25vc0ZyYW1ld29yayh0cnVlKTsKK30KKworaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29s
ZUVuYWJsZWQoZmFsc2UpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgY2FudmFz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwordmFyIGdsID0gd3R1LmNyZWF0
ZTNEQ29udGV4dChjYW52YXMpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOworCitp
ZiAoIWdsKSB7CisgICAgdGVzdEZhaWxlZCgiV2ViR0wgY29udGV4dCBkb2VzIG5vdCBleGlzdHMi
KTsKK30gZWxzZSB7CisgICAgdGVzdFBhc3NlZCgiV2ViR0wgY29udGV4dCBleGlzdHMiKTsKKwor
ICAgIGlmKCFnbC5nZXRFeHRlbnNpb24oIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKSkgeworICAg
ICAgICB0ZXN0UGFzc2VkKCJObyBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IHN1cHBvcnQuIFRoaXMg
aXMgbGVnYWwiKTsKKyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0UGFzc2VkKCJTdWNjZXNzZnVs
bHkgZW5hYmxlZCBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGV4dGVuc2lvbiIpOworICAgICAgICAK
KyAgICAgICAgdmFyIGNhbnZhczJkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleGNhbnZh
cyIpOworICAgICAgICB2YXIgY29udGV4dDJkID0gY2FudmFzMmQuZ2V0Q29udGV4dCgiMmQiKTsK
KworICAgICAgICBydW5JbWFnZURhdGFVbnN1cHBvcnRlZFRlc3QoY2FudmFzMmQsIGNvbnRleHQy
ZCk7CisgICAgICAgIHJ1bkhUTUxJbWFnZUVsZW1lbnRVbnN1cHBvcnRlZFRlc3QoY2FudmFzMmQs
IGNvbnRleHQyZCk7CisgICAgICAgIHJ1bkhUTUxDYW52YXNFbGVtZW50VW5zdXBwb3J0ZWRUZXN0
KGNhbnZhczJkLCBjb250ZXh0MmQpOworICAgICAgICBydW5IVE1MVmlkZW9FbGVtZW50VW5zdXBw
b3J0ZWRUZXN0KGNhbnZhczJkLCBjb250ZXh0MmQpOworICAgIH0KK30KKworZnVuY3Rpb24gYWxs
b2NhdGVUZXh0dXJlKCkKK3sKKyAgICB2YXIgdGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsK
KyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKKyAgICBnbC50ZXhQ
YXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVT
VCk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01BR19G
SUxURVIsIGdsLk5FQVJFU1QpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwg
Z2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRl
cmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOwor
ICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0ZXh0dXJlIHBhcmFtZXRlciBz
ZXR1cCBzaG91bGQgc3VjY2VlZCIpOworICAgIHJldHVybiB0ZXh0dXJlOworfQorCitmdW5jdGlv
biBydW5UZXh0dXJlVXBsb2FkVGVzdChpbWFnZSkKK3sKKyAgICB2YXIgdGV4dHVyZSA9IGFsbG9j
YXRlVGV4dHVyZSgpOworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdC
QSwgZ2wuUkdCQSwgZ2wuSEFMRl9GTE9BVF9PRVMsIGltYWdlKTsKKyAgICBnbEVycm9yU2hvdWxk
QmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiVXBsb2FkaW5nIHRvIGhhbGYgZmxvYXQgdGV4
dHVyZSBpcyBub3QgeWV0IHN1cHBvcnRlZCIpOworCisgICAgLy8gQ2hlY2sgaWYgdXBsb2FkaW5n
IEltYWdlRGF0YSB2aWEgdGV4U3ViSW1hZ2UyRCBpcyBzdXBwb3J0ZWQKKyAgICBnbC50ZXhJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDEsIDIsIDAsIGdsLlJHQkEsIGdsLkhBTEZf
RkxPQVRfT0VTLCBudWxsKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAi
VXBsb2FkaW5nIG51bGwgQXJyYXlCdWZmZXJWaWV3IHRvIGhhbGYgZmxvYXQgdGV4dHVyZSBzaG91
bGQgc3VjY2VlZCIpOworICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwg
MCwgZ2wuUkdCQSwgZ2wuSEFMRl9GTE9BVF9PRVMsIGltYWdlKTsKKyAgICBnbEVycm9yU2hvdWxk
QmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiVXBsb2FkaW5nIHRvIGhhbGYgZmxvYXQgdGV4
dHVyZSB1c2luZyB0ZXhTdWJJbWFnZTJEIGlzIG5vdCBzdXBwb3J0ZWQgeWV0Iik7Cit9CisKK2Z1
bmN0aW9uIHJ1bkltYWdlRGF0YVVuc3VwcG9ydGVkVGVzdChjYW52YXMyZCwgY29udGV4dDJkKQor
eworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiVmVyaWZ5IHdoZXRoZXIgdXBsb2FkaW5nIElt
YWdlRGF0YSB2aWEgdGV4SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1cHBvcnRlZCIpOworICAg
IAorICAgIC8vIENoZWNrIGlmIHVwbG9hZGluZyBJbWFnZURhdGEgdmlhIHRleEltYWdlMkQgaXMg
c3VwcG9ydGVkCisgICAgdmFyIGltYWdlRGF0YSA9IGNvbnRleHQyZC5jcmVhdGVJbWFnZURhdGEo
MSwgMik7CisgICAgdmFyIGRhdGEgPSBpbWFnZURhdGEuZGF0YTsKKyAgICBkYXRhWzBdID0gMjU1
OworICAgIGRhdGFbMV0gPSAwOworICAgIGRhdGFbMl0gPSAwOworICAgIGRhdGFbM10gPSAyNTU7
CisgICAgZGF0YVs0XSA9IDA7CisgICAgZGF0YVs1XSA9IDI1NTsKKyAgICBkYXRhWzZdID0gMDsK
KyAgICBkYXRhWzddID0gMDsKKworICAgIHJ1blRleHR1cmVVcGxvYWRUZXN0KGltYWdlRGF0YSk7
ICAgIAorfQorCitmdW5jdGlvbiBydW5IVE1MSW1hZ2VFbGVtZW50VW5zdXBwb3J0ZWRUZXN0KGNh
bnZhczJkLCBjb250ZXh0MmQpCit7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJWZXJpZnkg
d2hldGhlciB1cGxvYWRpbmcgSFRNTEltYWdlRWxlbWVudCB2aWEgdGV4SW1hZ2UyRC90ZXhTdWJJ
bWFnZTJEIGlzIHN1cHBvcnRlZCIpOworCisgICAgdmFyIGltYWdlRGF0YSA9IGNvbnRleHQyZC5j
cmVhdGVJbWFnZURhdGEoMSwgMik7CisgICAgdmFyIGRhdGEgPSBpbWFnZURhdGEuZGF0YTsKKyAg
ICBkYXRhWzBdID0gMjU1OworICAgIGRhdGFbMV0gPSAwOworICAgIGRhdGFbMl0gPSAwOworICAg
IGRhdGFbM10gPSAyNTU7CisgICAgZGF0YVs0XSA9IDA7CisgICAgZGF0YVs1XSA9IDI1NTsKKyAg
ICBkYXRhWzZdID0gMDsKKyAgICBkYXRhWzddID0gMDsKKyAgICBjb250ZXh0MmQucHV0SW1hZ2VE
YXRhKGltYWdlRGF0YSwgMCwgMCk7CisKKyAgICB2YXIgbmV3SW1hZ2UgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJpbWciKTsKKyAgICBuZXdJbWFnZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAg
ICAgICAgcnVuVGV4dHVyZVVwbG9hZFRlc3QobmV3SW1hZ2UpOworICAgIH0KKyAgICBuZXdJbWFn
ZS5zcmMgPSBjYW52YXMyZC50b0RhdGFVUkwoKTsKK30KKworZnVuY3Rpb24gc2V0Q2FudmFzVG9S
ZWRHcmVlbihjdHgpIHsKKyAgICB2YXIgd2lkdGggPSBjdHguY2FudmFzLndpZHRoOworICAgIHZh
ciBoZWlnaHQgPSBjdHguY2FudmFzLmhlaWdodDsKKyAgICB2YXIgaGFsZkhlaWdodCA9IE1hdGgu
Zmxvb3IoaGVpZ2h0IC8gMik7CisgICAgY3R4LmZpbGxTdHlsZSA9ICIjZmYwMDAwIjsKKyAgICBj
dHguZmlsbFJlY3QoMCwgMCwgd2lkdGgsIGhhbGZIZWlnaHQpOworICAgIGN0eC5maWxsU3R5bGUg
PSAiIzAwZmYwMCI7CisgICAgY3R4LmZpbGxSZWN0KDAsIGhhbGZIZWlnaHQsIHdpZHRoLCBoZWln
aHQgLSBoYWxmSGVpZ2h0KTsKK30KKworZnVuY3Rpb24gcnVuSFRNTENhbnZhc0VsZW1lbnRVbnN1
cHBvcnRlZFRlc3QoY2FudmFzMmQsIGNvbnRleHQyZCkKK3sKKyAgICBkZWJ1ZygiIik7CisgICAg
ZGVidWcoIlZlcmlmeSB3aGV0aGVyIHVwbG9hZGluZyBIVE1MQ2FudmFzRWxlbWVudCB2aWEgdGV4
SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1cHBvcnRlZCIpOworICAgIAorICAgIGNvbnRleHQy
ZC53aWR0aCA9IDE7CisgICAgY29udGV4dDJkLmhlaWdodCA9IDI7CisgICAgc2V0Q2FudmFzVG9S
ZWRHcmVlbihjb250ZXh0MmQpOworCisgICAgcnVuVGV4dHVyZVVwbG9hZFRlc3QoY2FudmFzMmQp
OworfQorCitmdW5jdGlvbiBydW5IVE1MVmlkZW9FbGVtZW50VW5zdXBwb3J0ZWRUZXN0KGNhbnZh
czJkLCBjb250ZXh0MmQpCit7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJWZXJpZnkgd2hl
dGhlciB1cGxvYWRpbmcgSFRNTFZpZGVvRWxlbWVudCB2aWEgdGV4SW1hZ2UyRC90ZXhTdWJJbWFn
ZTJEIGlzIHN1cHBvcnRlZCIpOworCisgICAgdmFyIGluZm8gPSB7IHNyYzogInJlc291cmNlcy9y
ZWQtZ3JlZW4ubXA0IiwgdHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyRTAxRSwgbXA0
YS40MC4yIid9OworICAgIHZhciB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInZpZGVv
Iik7CisgICAgaWYgKCF2aWRlby5jYW5QbGF5VHlwZSkgeworICAgICAgICB0ZXN0RmFpbGVkKCJ2
aWRlby5jYW5QbGF5VHlwZSByZXF1aXJlZCBtZXRob2QgaXMgbWlzc2luZyIpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8pOworICAg
IHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoCisgICAgICAgICJwbGF5aW5nIiwgZnVuY3Rpb24oKSB7
IHJ1blRleHR1cmVVcGxvYWRUZXN0KHZpZGVvKTsgZmluaXNoVGVzdCgpOyB9LCB0cnVlKTsKKyAg
ICB2aWRlby50eXBlID0gaW5mby50eXBlOworICAgIHZpZGVvLnNyYyA9IGluZm8uc3JjOworICAg
IHZpZGVvLmxvb3AgPSB0cnVlOworICAgIHZpZGVvLndpZHRoID0gMTsKKyAgICB2aWRlby5oZWln
aHQgPSAyOworICAgIHZpZGVvLnBsYXkoKTsKKworfQorCitkZWJ1ZygiIik7CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTZk
NGQxMDA2MWY1MGRkMjY1YmVjMTM4ZDdjNmYxZjQ4NDliMDlkMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQuaHRt
bApAQCAtMCwwICsxLDI0OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQg
Q29uZm9ybWFuY2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8Y2FudmFzIGlk
PSJjYW52YXMiIHN0eWxlPSJ3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyI+IDwvY2FudmFzPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ0ZXN0RnJhZ21lbnRTaGFkZXIi
IHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1
bmlmb3JtIHNhbXBsZXIyRCB0ZXg7Cit1bmlmb3JtIHZlYzQgc3VidHJhY3RvcjsKK3Zhcnlpbmcg
dmVjMiB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7CisgICAgdmVjNCBjb2xvciA9IHRleHR1cmUy
RCh0ZXgsIHRleENvb3JkKTsKKyAgICBpZiAoYWJzKGNvbG9yLnIgLSBzdWJ0cmFjdG9yLnIpICsK
KyAgICAgICAgYWJzKGNvbG9yLmcgLSBzdWJ0cmFjdG9yLmcpICsKKyAgICAgICAgYWJzKGNvbG9y
LmIgLSBzdWJ0cmFjdG9yLmIpICsKKyAgICAgICAgYWJzKGNvbG9yLmEgLSBzdWJ0cmFjdG9yLmEp
IDwgOC4wKSB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMC4wLCAxLjAsIDAuMCwgMS4w
KTsKKyAgICB9IGVsc2UgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDEuMCwgMC4wLCAw
LjAsIDEuMCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8IS0tIFNoYWRlcnMgZm9yIHRlc3Rpbmcg
aGFsZiBmbG9hdGluZy1wb2ludCByZW5kZXIgdGFyZ2V0cyAtLT4KKzxzY3JpcHQgaWQ9InBvc2l0
aW9uVmVydGV4U2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVj
NCB2UG9zaXRpb247Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9u
OworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmbG9hdGluZ1BvaW50RnJhZ21lbnRTaGFkZXIi
IHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFn
Q29sb3IgPSB2ZWM0KDEwMDAwLjAsIDEwMDAwLjAsIDEwMDAwLjAsIDEwMDAwLjApOworfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgZnVu
Y3Rpb25hbGl0eSBvZiBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IHdpdGggbnVsbC9ub24tbnVsbCBB
cnJheUJ1ZmZlclZpZXciKTsKK2RlYnVnKCIiKTsKKworaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJs
ZWQoZmFsc2UpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgY2FudmFzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29u
dGV4dChjYW52YXMpOworCitpZiAoIWdsKSB7CisgICAgdGVzdEZhaWxlZCgiV2ViR0wgY29udGV4
dCBkb2VzIG5vdCBleGlzdHMiKTsKK30gZWxzZSB7CisgICAgdGVzdFBhc3NlZCgiV2ViR0wgY29u
dGV4dCBleGlzdHMiKTsKKworICAgIC8vIFZlcmlmeSB0aGF0IGFsbG9jYXRpb24gb2YgdGV4dHVy
ZSBmYWlscyBpZiBleHRlbnNpb24gaXMgbm90IGVuYWJsZWQKKyAgICBydW5UZXh0dXJlQ3JlYXRp
b25UZXN0KGZhbHNlKTsKKworICAgIGlmKCFnbC5nZXRFeHRlbnNpb24oIk9FU190ZXh0dXJlX2hh
bGZfZmxvYXQiKSkgeworICAgICAgICB0ZXN0UGFzc2VkKCJObyBPRVNfdGV4dHVyZV9oYWxmX2Zs
b2F0IHN1cHBvcnQuIFRoaXMgaXMgbGVnYWwiKTsKKyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0
UGFzc2VkKCJTdWNjZXNzZnVsbHkgZW5hYmxlZCBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGV4dGVu
c2lvbiIpOworCisgICAgICAgIC8vIENoZWNrIGlmIGNyZWF0aW9uIG9mIHRleHR1cmUgc3VjY2Vl
ZCdzIHdpdGggdmFyaW91cyBmb3JtYXRzIGFuZCBudWxsIEFycmF5QnVmZmVyVmlldworICAgICAg
ICB2YXIgZm9ybWF0cyA9IFtnbC5SR0JBLCBnbC5SR0IsIGdsLkxVTUlOQU5DRSwgZ2wuQUxQSEEs
IGdsLkxVTUlOQU5DRV9BTFBIQV07CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZm9ybWF0
cy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgcnVuVGV4dHVyZUNyZWF0aW9uVGVzdCh0cnVl
LCBmb3JtYXRzW2ldLCBudWxsKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgLy8gVGV4
dHVyZSBjcmVhdGlvbiBzaG91bGQgZmFpbCB3aGVuIHBhc3NlZCB3aXRoIG5vbi1udWxsIEFycmF5
QnVmZmVyVmlldworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZvcm1hdHMubGVuZ3RoOyBp
KyspIHsKKyAgICAgICAgICAgIHZhciB3aWR0aCA9IDI7CisgICAgICAgICAgICB2YXIgaGVpZ2h0
ID0gMjsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgLy8gRmxvYXQzMkFycmF5CisgICAgICAg
ICAgICB2YXIgZmxvYXQzMkRhdGEgPSBuZXcgRmxvYXQzMkFycmF5KHdpZHRoICogaGVpZ2h0ICog
Z2V0TnVtYmVyT2ZDaGFubmVscyhmb3JtYXRzW2ldKSk7CisgICAgICAgICAgICBmb3IgKHZhciBp
aSA9IDA7IGlpIDwgZmxvYXQzMkRhdGEubGVuZ3RoOyBpaSsrKSB7CisgICAgICAgICAgICAgICAg
ZmxvYXQzMkRhdGFbaWldID0gMTAwMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJ1blRl
eHR1cmVDcmVhdGlvblRlc3QodHJ1ZSwgZm9ybWF0c1tpXSwgZmxvYXQzMkRhdGEpOworCisgICAg
ICAgICAgICAvLyBJbnQxNkFycmF5CisgICAgICAgICAgICB2YXIgaW50MTZEYXRhID0gbmV3IElu
dDE2QXJyYXkod2lkdGggKiBoZWlnaHQgKiBnZXROdW1iZXJPZkNoYW5uZWxzKGZvcm1hdHNbaV0p
KTsKKyAgICAgICAgICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCAgaW50MTZEYXRhLmxlbmd0aDsg
aWkrKykgeworICAgICAgICAgICAgICAgIGludDE2RGF0YVtpaV0gPSAxMDAwOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgcnVuVGV4dHVyZUNyZWF0aW9uVGVzdCh0cnVlLCBmb3JtYXRzW2ld
LCBpbnQxNkRhdGEpOworCisgICAgICAgICAgICAvLyBVaW50MTZBcnJheQorICAgICAgICAgICAg
dmFyIHVpbnQxNkRhdGEgPSBuZXcgVWludDE2QXJyYXkod2lkdGggKiBoZWlnaHQgKiBnZXROdW1i
ZXJPZkNoYW5uZWxzKGZvcm1hdHNbaV0pKTsKKyAgICAgICAgICAgIGZvciAodmFyIGlpID0gMDsg
aWkgPCAgdWludDE2RGF0YS5sZW5ndGg7IGlpKyspIHsKKyAgICAgICAgICAgICAgICB1aW50MTZE
YXRhW2lpXSA9IDEwMDA7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBydW5UZXh0dXJlQ3Jl
YXRpb25UZXN0KHRydWUsIGZvcm1hdHNbaV0sIHVpbnQxNkRhdGEpOyAgICAgICAgICAgIAorICAg
ICAgICB9CisKKyAgICAgICAgLy8gQ2hlY2sgaWYgYXR0YWNoaW5nIHRleHR1cmUgYXMgRkJPIHRh
cmdldCBzdWNjZWVkcyAoTm90IG1hbmRhdG9yeSkKKyAgICAgICAgcnVuUmVuZGVyVGFyZ2V0VGVz
dCgpOworICAgICAgICAvLyBDaGVjayBvZiBnZXRFeHRlbnNpb24oKSByZXR1cm5zIHNhbWUgb2Jq
ZWN0CisgICAgICAgIHJ1blVuaXF1ZU9iamVjdFRlc3QoKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9u
IGdldE51bWJlck9mQ2hhbm5lbHMoZm9ybWF0KQoreworICAgIGlmIChmb3JtYXQgPT0gZ2wuUkdC
QSkKKyAgICAgICAgcmV0dXJuIDQ7CisgICAgZWxzZSBpZiAoZm9ybWF0ID09IGdsLlJHQikKKyAg
ICAgICAgcmV0dXJuIDM7CisgICAgZWxzZSBpZiAoZm9ybWF0ID09IGdsLkxVTUlOQU5DRSB8fCBm
b3JtYXQgPT0gZ2wuQUxQSEEpCisgICAgICAgIHJldHVybiAxOworICAgIGVsc2UgaWYgKGZvcm1h
dCA9PSBnbC5MVU1JTkFOQ0VfQUxQSEEpCisgICAgICAgIHJldHVybiAyOworfQorCitmdW5jdGlv
biBnZXRGb3JtYXROYW1lKGZvcm1hdCkKK3sKKyAgICBpZiAoZm9ybWF0ID09IGdsLlJHQkEpCisg
ICAgICAgIHJldHVybiAiUkdCQSI7CisgICAgZWxzZSBpZiAoZm9ybWF0ID09IGdsLlJHQikKKyAg
ICAgICAgcmV0dXJuICJSR0IiOworICAgIGVsc2UgaWYgKGZvcm1hdCA9PSBnbC5MVU1JTkFOQ0Up
CisgICAgICAgIHJldHVybiAiTFVNSU5BTkNFIjsKKyAgICBlbHNlIGlmIChmb3JtYXQgPT0gZ2wu
QUxQSEEpCisgICAgICAgIHJldHVybiAiQUxQSEEiOworICAgIGVsc2UgaWYgKGZvcm1hdCA9PSBn
bC5MVU1JTkFOQ0VfQUxQSEEpCisgICAgICAgIHJldHVybiAiTFVNSU5BTkNFX0FMUEhBIjsKK30K
KworZnVuY3Rpb24gYWxsb2NhdGVUZXh0dXJlKCkKK3sKKyAgICB2YXIgdGV4dHVyZSA9IGdsLmNy
ZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJl
KTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJ
TFRFUiwgZ2wuTkVBUkVTVCk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBn
bC5URVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpOworICAgIGdsLnRleFBhcmFtZXRlcmko
Z2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAg
IGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNM
QU1QX1RPX0VER0UpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0ZXh0
dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZCIpOworICAgIHJldHVybiB0ZXh0dXJl
OworfQorCitmdW5jdGlvbiBydW5UZXh0dXJlQ3JlYXRpb25UZXN0KGV4dGVuc2lvbkVuYWJsZWQs
IG9wdF9mb3JtYXQsIG9wdF9kYXRhKQoreworICAgIHZhciBmb3JtYXQgPSBvcHRfZm9ybWF0IHx8
IGdsLlJHQkE7CisgICAgdmFyIGRhdGEgPSBvcHRfZGF0YSB8fCBudWxsOworICAgIHZhciBleHBl
Y3RTdWNjZXNzID0gdHJ1ZTsKKyAgICAKKyAgICBpZiAoIWV4dGVuc2lvbkVuYWJsZWQgfHwgZGF0
YSkKKyAgICAgICAgZXhwZWN0U3VjY2VzcyA9IGZhbHNlOworICAgIGRlYnVnKCJUZXN0aW5nIHRl
eHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gIiArIChleHRlbnNpb25FbmFibGVkID8gImVu
YWJsZWQiIDogImRpc2FibGVkIikgKworICAgICAgICAgICIsIGZvcm1hdCAiICsgZ2V0Rm9ybWF0
TmFtZShmb3JtYXQpICsgIiwgYW5kIGRhdGEgIiArIChkYXRhID8gIm5vbi1udWxsIiA6ICJudWxs
IikgKworICAgICAgICAgICIuIEV4cGVjdCAiICsgKGV4cGVjdFN1Y2Nlc3MgPyAiU3VjY2VzcyIg
OiAiRmFpbHVyZSIpKTsgICAKKworICAgIHZhciB0ZXh0dXJlID0gYWxsb2NhdGVUZXh0dXJlKCk7
CisgICAgdmFyIHdpZHRoID0gMjsKKyAgICB2YXIgaGVpZ2h0ID0gMjsKKyAgICBnbC50ZXhJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGZvcm1hdCwgd2lkdGgsIGhlaWdodCwgMCwgZm9ybWF0LCBn
bC5IQUxGX0ZMT0FUX09FUywgZGF0YSk7CisgICAgaWYoIWV4dGVuc2lvbkVuYWJsZWQpIHsKKyAg
ICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0VOVU0sICJIYWxmIGZsb2F0aW5n
IHBvaW50IHRleHR1cmUgbXVzdCBiZSBkaWFsbG93ZWQgaWYgT0VTX3RleHR1cmVfaGFsZl9mbG9h
dCBpc24ndCBlbmFibGVkIik7CisgICAgICAgIHJldHVybjsKKyAgICB9IGVsc2UgaWYgKGRhdGEp
IHsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIkhh
bGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIG11c3QgYmUgZGlhbGxvd2VkIHdo
ZW4gQXJyYXlCdWZmZXJWaWV3IGlzIG5vdC1udWxsIik7CisgICAgICAgIHJldHVybjsKKyAgICB9
IGVsc2UgeworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiSGFsZiBm
bG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gc2hvdWxkIHN1Y2NlZWQgaWYgT0VTX3Rl
eHR1cmVfaGFsZl9mbG9hdCBpcyBlbmFibGVkIik7CisgICAgfQorfQorCitmdW5jdGlvbiBjaGVj
a1JlbmRlcmluZ1Jlc3VsdHMoKQoreworICAgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1NSwg
MCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIpOworfQorCitmdW5jdGlvbiBydW5SZW5kZXJUYXJn
ZXRUZXN0KHRlc3RQcm9ncmFtKQoreworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiVGVzdGlu
ZyBoYWxmIGZsb2F0aW5nIHBvaW50IHJlbmRlciB0YXJnZXQiKTsKKworICAgIHZhciB0ZXh0dXJl
ID0gYWxsb2NhdGVUZXh0dXJlKCk7CisgICAgdmFyIHdpZHRoID0gMjsKKyAgICB2YXIgaGVpZ2h0
ID0gMjsKKyAgICAKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEs
IHdpZHRoLCBoZWlnaHQsIDAsIGdsLlJHQkEsIGdsLkhBTEZfRkxPQVRfT0VTLCBudWxsKTsKKyAg
ICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiSGFsZiBmbG9hdGluZyBwb2ludCB0
ZXh0dXJlIGFsbG9jYXRpb24gc2hvdWxkIHN1Y2NlZWQgaWYgT0VTX3RleHR1cmVfaGFsZl9mbG9h
dCBpcyBlbmFibGVkIik7CisKKyAgICAvLyBUcnkgdG8gdXNlIHRoaXMgdGV4dHVyZSBhcyByZW5k
ZXIgdGFyZ2V0CisgICAgdmFyIGZibyA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCk7CisgICAgZ2wu
YmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAgIGdsLmZyYW1lYnVmZmVy
VGV4dHVyZTJEKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuVEVYVFVS
RV8yRCwgdGV4dHVyZSwgMCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVs
bCk7CisKKyAgICAvLyBJdCBpcyBsZWdhbCBmb3IgYSBXZWJHTCBpbXBsZW1lbnRhdGlvbiBleHBv
c2luZyB0aGUgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBleHRlbnNpb24gdG8KKyAgICAvLyBzdXBw
b3J0IGhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZXMgYnV0IG5vdCBhcyBhdHRhY2htZW50cyB0
byBmcmFtZWJ1ZmZlciBvYmplY3RzLgorICAgIGlmIChnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVz
KGdsLkZSQU1FQlVGRkVSKSAhPSBnbC5GUkFNRUJVRkZFUl9DT01QTEVURSkgeworICAgICAgICBk
ZWJ1ZygiSGFsZiBmbG9hdGluZyBwb2ludCByZW5kZXIgdGFyZ2V0cyBub3Qgc3VwcG9ydGVkIC0t
IHRoaXMgaXMgbGVnYWwiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHZhciByZW5k
ZXJQcm9ncmFtID0KKyAgICAgICAgd3R1LnNldHVwUHJvZ3JhbShnbCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICBbInBvc2l0aW9uVmVydGV4U2hhZGVyIiwgImZsb2F0aW5nUG9pbnRGcmFnbWVu
dFNoYWRlciJdLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsndlBvc2l0aW9uJ10sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgWzBdKTsKKyAgICB3dHUuZHJhd1F1YWQoZ2wpOworICAgIGds
RXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJSZW5kZXJpbmcgdG8gaGFsZiBmbG9hdGlu
ZyBwb2ludCB0ZXh0dXJlIHNob3VsZCBzdWNjZWVkIik7CisKKyAgICAvLyBOb3cgc2FtcGxlIGZy
b20gdGhlIGhhbGYgZmxvYXRpbmctcG9pbnQgdGV4dHVyZSBhbmQgdmVyaWZ5IHdlIGdvdCB0aGUg
Y29ycmVjdCB2YWx1ZXMuCisgICAgdmFyIHRleHR1cmVkU2hhZGVycyA9IFsKKyAgICAgIHd0dS5z
ZXR1cFNpbXBsZVRleHR1cmVWZXJ0ZXhTaGFkZXIoZ2wpLAorICAgICAgICAgICJ0ZXN0RnJhZ21l
bnRTaGFkZXIiCisgICAgICBdOworICAgIHZhciB0ZXN0UHJvZ3JhbSA9CisgICAgICAgIHd0dS5z
ZXR1cFByb2dyYW0oZ2wsCisgICAgICAgICAgICAgICAgICAgICAgICBbd3R1LnNldHVwU2ltcGxl
VGV4dHVyZVZlcnRleFNoYWRlcihnbCksICJ0ZXN0RnJhZ21lbnRTaGFkZXIiXSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIFsndlBvc2l0aW9uJywgJ3RleENvb3JkMCddLAorICAgICAgICAgICAg
ICAgICAgICAgICAgWzAsIDFdKTsKKyAgICB2YXIgcXVhZFBhcmFtZXRlcnMgPSB3dHUuc2V0dXBV
bml0UXVhZChnbCwgMCwgMSk7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVS
LCBudWxsKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKKyAg
ICBnbC51c2VQcm9ncmFtKHRlc3RQcm9ncmFtKTsKKyAgICBnbC51bmlmb3JtMWkoZ2wuZ2V0VW5p
Zm9ybUxvY2F0aW9uKHRlc3RQcm9ncmFtLCAidGV4IiksIDApOworICAgIHd0dS5kcmF3UXVhZChn
bCk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInJlbmRlcmluZyBmcm9t
IGhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBzaG91bGQgc3VjY2VlZCIpOworICAgIGNoZWNr
UmVuZGVyaW5nUmVzdWx0cygpOworfQorCitmdW5jdGlvbiBydW5VbmlxdWVPYmplY3RUZXN0KCkK
K3sKKyAgICBkZWJ1ZygiVGVzdGluZyB0aGF0IGdldEV4dGVuc2lvbigpIHJldHVybnMgdGhlIHNh
bWUgb2JqZWN0IGVhY2ggdGltZSIpOworICAgIGdsLmdldEV4dGVuc2lvbigiT0VTX3RleHR1cmVf
aGFsZl9mbG9hdCIpLm15UHJvcGVydHkgPSAyOworICAgIGdjKCk7CisgICAgc2hvdWxkQmUoJ2ds
LmdldEV4dGVuc2lvbigiT0VTX3RleHR1cmVfaGFsZl9mbG9hdCIpLm15UHJvcGVydHknLCAnMicp
OworfQorCitkZWJ1ZygiIik7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3MmZjYmRjYWI1ODc3ODE1ZDQ5ZGNhZTJiZThk
NWIzOWZhMTNkMzUyLi4zZGM1MjVmNWY3ZDk0NDg4YTI1MGIxNzU5MGUwYjhkZDgzNzA4NmEzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTQ0NDIsMyArNDQ0Miw3IEBAIHdlYmtpdC5vcmcvYi8xMTA4NzYgaHRtbDVsaWIvZ2VuZXJhdGVk
L3J1bi10ZXN0czE5LWRhdGEuaHRtbCBbIFNsb3cgXQogd2Via2l0Lm9yZy9iLzExMDg3NiBbIERl
YnVnIFdpbiBdIGh0bWw1bGliL2dlbmVyYXRlZC9ydW4tdGVzdHMxMC13cml0ZS5odG1sIFsgUGFz
cyBDcmFzaCBdCiB3ZWJraXQub3JnL2IvMTEwODc2IFsgRGVidWcgV2luIE1hYyBdIGh0bWw1bGli
L2dlbmVyYXRlZC9ydW4tdGVzdHMxNi13cml0ZS5odG1sIFsgUGFzcyBDcmFzaCBdCiB3ZWJraXQu
b3JnL2IvMTEwODc2IFsgRGVidWcgV2luIF0gaHRtbDVsaWIvZ2VuZXJhdGVkL3J1bi10ZXN0czE5
LXdyaXRlLmh0bWwgWyBQYXNzIENyYXNoIF0KKworIyBIQUxGX0ZMT0FUX09FUyBpcyBub3QgeWV0
IHdvcmtpbmcgaW4gY2hyb21pdW0uCitjcmJ1Zy5jb20vMTc5NTAzIGZhc3QvY2FudmFzL3dlYmds
L29lcy10ZXh0dXJlLWhhbGYtZmxvYXQuaHRtbCBbIEZhaWx1cmUgXQorY3JidWcuY29tLzE3OTUw
MyBmYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LW5vdC1zdXBwb3J0ZWQu
aHRtbCBbIFRpbWVvdXQgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191097</attachid>
            <date>2013-03-01 23:53:56 -0800</date>
            <delta_ts>2013-03-02 01:04:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110818-20130301235026.patch</filename>
            <type>text/plain</type>
            <size>75384</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTg0N2NmOTI3YzZlYjUx
NmU4NjY3ZWFmZmI4ZTU4ODhmMzlkMzUwNi4uNDhhM2U2MGQ5ZDJmODc4YmNiNDMxNDFjZTFmMzUx
NTg0NzY1NTZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEzLTAyLTI4ICBOYXlh
biBLdW1hciBLICA8bmF5YW5ra0Btb3Rvcm9sYS5jb20+CisKKyAgICAgICAgW1dlYkdMXSBTdXBw
b3J0IGZvciB0ZXhJbWFnZTJEIG9mIHR5cGUgSEFMRl9GTE9BVF9PRVMgd2l0aCBBcnJheUJ1ZmZl
clZpZXcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTA4MTgKKworICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJ1c3NlbGwuCisKKyAgICAgICAg
QXMgcGVyIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQgc3BlY2lmaWNhdGlvbiB0ZXhJbWFnZTJEIGFu
ZCB0ZXhTdWJJbWFnZTJEIGVudHJ5CisgICAgICAgIHBvaW50cyB0YWtpbmcgQXJyYXlCdWZmZXJW
aWV3IHNob3VsZCBleHRlbmRlZCB0byBhY2NlcHQgbnVsbCB3aXRoIHRoZSBwaXhlbCB0eXBlCisg
ICAgICAgIEhBTEZfRkxPQVRfT0VTLgorCisgICAgICAgIFRlc3RzOiBmYXN0L2NhbnZhcy93ZWJn
bC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LW5vdC1zdXBwb3J0ZWQuaHRtbAorICAgICAgICAgICAg
ICAgZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtaGFsZi1mbG9hdC5odG1sCisKKyAgICAg
ICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFt
OgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojp0b0pTKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0Nv
bnRleHRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOE9iamVjdCk6CisgICAgICAg
ICogaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHA6IENvcGllZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmguCisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6Ok9FU1RleHR1cmVIYWxmRmxvYXQ6Ok9FU1RleHR1cmVIYWxm
RmxvYXQpOgorICAgICAgICAoV2ViQ29yZTo6T0VTVGV4dHVyZUhhbGZGbG9hdDo6fk9FU1RleHR1
cmVIYWxmRmxvYXQpOgorICAgICAgICAoV2ViQ29yZTo6T0VTVGV4dHVyZUhhbGZGbG9hdDo6Z2V0
TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpPRVNUZXh0dXJlSGFsZkZsb2F0OjpjcmVhdGUpOgor
ICAgICAgICAqIGh0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaDogQ29waWVkIGZyb20g
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaC4KKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoT0VTVGV4dHVyZUhhbGZGbG9hdCk6CisgICAgICAgICogaHRtbC9j
YW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmguCisgICAgICAgICogaHRtbC9jYW52YXMvV2Vi
R0xFeHRlbnNpb24uaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OmdldEV4dGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OnRleEltYWdlMkQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJp
bmdDb250ZXh0Ojp0ZXhTdWJJbWFnZTJEKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dDo6dmFsaWRhdGVUZXhGdW5jRm9ybWF0QW5kVHlwZSk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlVGV4RnVuY0RhdGEpOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJHTFJlbmRlcmluZ0NvbnRleHQpOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5pZGw6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvRXh0ZW5zaW9uczNELmg6CisgICAgICAgIChFeHRlbnNpb25zM0QpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDNEOjpjb21wdXRlRm9ybWF0QW5kVHlwZVBhcmFtZXRlcnMpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlczNELmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp0ZXhJbWFnZTJEKToKKwogMjAxMy0wMy0wMSAgVGVy
cnkgQW5kZXJzb24gIDx0ZGFuZGVyc29uQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZW1vdmUg
dW51c2VkIG1lbWJlciB2YXJpYWJsZSBtX3VzZUxhdGNoZWRFdmVudE5vZGUgZnJvbSBQbGF0Zm9y
bVdoZWVsRXZlbnQuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBmMmMwZmYyODE1M2IxZjU4M2I3
NWJkNjUyZDBlODg1NWMzNjQxYjAzLi5kMzAyNzNlNjM2MjFjNWEyYjYzOTRjODY5NmRhODk4NDM0
MDc5OWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNTIyLDYgKzUyMiw3IEBAIHNldChXZWJD
b3JlX0lETF9GSUxFUwogICAgIGh0bWwvY2FudmFzL0ludDhBcnJheS5pZGwKICAgICBodG1sL2Nh
bnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlkbAogICAgIGh0bWwvY2FudmFzL09FU1RleHR1
cmVGbG9hdC5pZGwKKyAgICBodG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbAogICAg
IGh0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmlkbAogICAgIGh0bWwvY2FudmFzL09F
U0VsZW1lbnRJbmRleFVpbnQuaWRsCiAgICAgaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaWRsCkBA
IC0xNTExLDYgKzE1MTIsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9jYW52YXMv
RVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcAogICAgIGh0bWwvY2FudmFzL09FU1N0YW5k
YXJkRGVyaXZhdGl2ZXMuY3BwCiAgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmNwcAor
ICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuY3BwCiAgICAgaHRtbC9jYW52YXMv
T0VTVmVydGV4QXJyYXlPYmplY3QuY3BwCiAgICAgaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4
VWludC5jcHAKICAgICBodG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5jcHAKQEAgLTI2MjcsNiArMjYy
OSw3IEBAIGlmIChFTkFCTEVfV0VCR0wpCiAgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VT
CiAgICAgICAgIGh0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwCiAgICAgICAg
IGh0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5jcHAKKyAgICAgICAgaHRtbC9jYW52YXMvT0VT
VGV4dHVyZUhhbGZGbG9hdC5jcHAKICAgICAgICAgaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlP
YmplY3QuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuY3BwCiAg
ICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmNwcApAQCAtMjY1Niw2ICsyNjU5LDcgQEAg
aWYgKEVOQUJMRV9XRUJHTCkKICAgICAgICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFu
aXNvdHJvcGljLmNwcAogICAgICAgICBodG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVz
LmNwcAogICAgICAgICBodG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuY3BwCisgICAgICAgIGh0
bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL09F
U1ZlcnRleEFycmF5T2JqZWN0LmNwcAogICAgICAgICBodG1sL2NhbnZhcy9PRVNFbGVtZW50SW5k
ZXhVaW50LmNwcAogICAgICkKQEAgLTI2NjQsNiArMjY2OCw3IEBAIGlmIChFTkFCTEVfV0VCR0wp
CiAgICAgICAgIGh0bWwvY2FudmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5pZGwKICAg
ICAgICAgaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwKICAgICAgICAgaHRt
bC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmlkbAorICAgICAgICBodG1sL2NhbnZhcy9PRVNUZXh0
dXJlSGFsZkZsb2F0LmlkbAogICAgICAgICBodG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVj
dC5pZGwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5pZGwKICAgICAg
ICAgaHRtbC9jYW52YXMvV2ViR0xBY3RpdmVJbmZvLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggZGVkMGU3OTA0MWEzYjUwYjRjZjBhMWM3NGM1Njk5NjBkMDY2NGU4NS4uYjUy
ZTUwOGY3YTQ0MmVjODM1ODk2MjEzM2U3MmIzNjMwYTgyYmM1MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC00MDAsNiArNDAwLDcgQEAgQklORElOR19JRExTID0gXAogICAgICQo
V2ViQ29yZSkvaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5pZGwgXAogICAgICQoV2Vi
Q29yZSkvaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwgXAogICAgICQoV2Vi
Q29yZSkvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmlkbCBcCisgICAgJChXZWJDb3JlKS9o
dG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1s
L2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9j
YW52YXMvVWludDE2QXJyYXkuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1VpbnQz
MkFycmF5LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5w
cmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggMGM1OTAwMmIxNTRi
YmQ0YjBlNzI4N2Q1YzgwNzhiNmQwMmMxNjJmYi4uY2Q0OTEzMTk5NDZmM2I0Y2IyNmMxMmI3NWZk
YzQzMWNlMjI0NmViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
cHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtMzEzLDYgKzMx
Myw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvRVhUVGV4dHVy
ZUZpbHRlckFuaXNvdHJvcGljLmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvT0VTU3RhbmRh
cmREZXJpdmF0aXZlcy5pZGwgXAogICAgICQkUFdEL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9h
dC5pZGwgXAorICAgICQkUFdEL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsIFwK
ICAgICAkJFBXRC9odG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5pZGwgXAogICAgICQk
UFdEL2h0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuaWRsIFwKICAgICAkJFBXRC9odG1s
L2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8uaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CmluZGV4IDJkNmVkYjA3ZTFkMDE4MDVmMDFhYzg4YWEwMjBlZTlkZmExYzg5YTMuLmJhNmVmZjFl
MWY3OWM1MGYyZTlmMTVmOThiOWUyYmQ4ODAxODBmNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQpAQCAtNTc5LDYgKzU3OSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1RleHR1cmVGbG9hdC5jcHAgXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNPRVNUZXh0dXJlRmxvYXQuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU09FU1RleHR1cmVIYWxmRmxvYXQuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
T0VTVGV4dHVyZUhhbGZGbG9hdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTVmVy
dGV4QXJyYXlPYmplY3QuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTVmVydGV4
QXJyYXlPYmplY3QuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU0VsZW1lbnRJbmRl
eFVpbnQuY3BwIFwKQEAgLTE1NDQsNiArMTU0Niw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAog
CSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvSW50OEFycmF5LmlkbCBcCiAJJChXZWJDb3JlKS9odG1s
L2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2Nh
bnZhcy9PRVNUZXh0dXJlRmxvYXQuaWRsIFwKKwkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU1Rl
eHR1cmVIYWxmRmxvYXQuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU1ZlcnRleEFy
cmF5T2JqZWN0LmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhV
aW50LmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9VaW50MTZBcnJheS5pZGwgXApAQCAt
MzI4NCw2ICszMjg3LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL09FU1RleHR1cmVGbG9hdC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNU
ZXh0dXJlSGFsZkZsb2F0LmNwcCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4
dHVyZUhhbGZGbG9hdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNWZXJ0ZXhB
cnJheU9iamVjdC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1ZlcnRleEFy
cmF5T2JqZWN0LmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRl
eFVpbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IGEwZWI5NzFiMmZhYTVlZmQxY2E4MWYwZmQ2ZGEz
ZTRkMDdkMzIxN2UuLmRkM2YwZDI0NDNjMzRkODg3N2MwNmY0MTYwYzMxY2UzZjI1MTRlOWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUv
VGFyZ2V0LnByaQpAQCAtNDA0Niw2ICs0MDQ2LDcgQEAgZW5hYmxlPyhXRUJHTCkgewogICAgICAg
ICBodG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuaCBcCiAgICAgICAgIGh0
bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCBcCiAgICAgICAgIGh0bWwvY2FudmFz
L09FU1RleHR1cmVGbG9hdC5oIFwKKyAgICAgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZG
bG9hdC5oIFwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuaCBcCiAg
ICAgICAgIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuaCBcCiAgICAgICAgIGh0bWwv
Y2FudmFzL1dlYkdMVGV4dHVyZS5oIFwKQEAgLTQwODEsNiArNDA4Miw3IEBAIGVuYWJsZT8oV0VC
R0wpIHsKICAgICAgICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNw
cCBcCiAgICAgICAgIGh0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwIFwKICAg
ICAgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmNwcCBcCisgICAgICAgIGh0bWwvY2Fu
dmFzL09FU1RleHR1cmVIYWxmRmxvYXQuY3BwIFwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTVmVy
dGV4QXJyYXlPYmplY3QuY3BwIFwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4
VWludC5jcHAgXAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTFRleHR1cmUuY3BwIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQppbmRleCAyYjFjOTZmZjJmMzQ0ZDFiMWNkMTk1OWFlM2Y2OTBlNWYyZmVhMzQ4Li42
ZDVhNWM5ODM2MjU4Y2JhNGUxMTI1ZDNmMGVkNTEyMTQ4MmQ1MzQ3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CkBAIC00NjUsNiArNDY1LDcgQEAKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9JbnQ4QXJyYXku
aWRsJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlk
bCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmlkbCcsCisgICAg
ICAgICAgICAnaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5pZGwnLAogICAgICAgICAg
ICAgJ2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmlkbCcsCiAgICAgICAgICAgICAn
aHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwv
Y2FudmFzL1VpbnQxNkFycmF5LmlkbCcsCkBAIC0zNDMxLDYgKzM0MzIsOCBAQAogICAgICAgICAg
ICAgJ2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCcsCiAgICAgICAgICAgICAn
aHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52
YXMvT0VTVGV4dHVyZUZsb2F0LmgnLAorICAgICAgICAgICAgJ2h0bWwvY2FudmFzL09FU1RleHR1
cmVIYWxmRmxvYXQuY3BwJywKKyAgICAgICAgICAgICdodG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFs
ZkZsb2F0LmgnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0
LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuaCcs
CiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5jcHAnLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGQyNjY1ZWU2ZGFmOTljYzIyZTMwYzdjOWQyYTJmMzg1OGUyMzYwN2QuLmI0MTJmNTZmMWI5MDdi
NTNlMmZhZWM4OWYyMzEzMzM4ZDBlNDdjNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE5MTgsOCArMTkxOCw4IEBACiAJCTZF
QkYwRTU0MTJBODkyOTgwMERCMTcwOSAvKiBXZWJHTEV4dGVuc2lvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RUJGMEU1MjEyQTg5Mjk4MDBEQjE3
MDkgLyogV2ViR0xFeHRlbnNpb24uY3BwICovOyB9OwogCQk2RUJGMEU1NTEyQTg5Mjk4MDBEQjE3
MDkgLyogV2ViR0xFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDZFQkYwRTUzMTJBODkyOTgwMERCMTcwOSAvKiBXZWJHTEV4dGVuc2lvbi5o
ICovOyB9OwogCQk2RUJGMEU3NjEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkVCRjBF
NzQxMkE5ODY4ODAwREIxNzA5IC8qIEpTT0VTVGV4dHVyZUZsb2F0LmNwcCAqLzsgfTsKLQkJNkVC
RjBFNzcxMkE5ODY4ODAwREIxNzA5IC8qIEpTT0VTVGV4dHVyZUZsb2F0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RUJGMEU3NTEyQTk4Njg4MDBEQjE3
MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuaCAqLzsgfTsKIAkJNkVCRjBFNzYxMkE5ODY4ODAwREIx
NzBBIC8qIEpTRVhURHJhd0J1ZmZlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNkVCRjBFNzQxMkE5ODY4ODAwREIxNzBBIC8qIEpTRVhURHJhd0J1
ZmZlcnMuY3BwICovOyB9OworCQk2RUJGMEU3NzEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0
dXJlRmxvYXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDZFQkYwRTc1MTJBOTg2ODgwMERCMTcwOSAvKiBKU09FU1RleHR1cmVGbG9hdC5oICovOyB9Owog
CQk2RUJGMEU3NzEyQTk4Njg4MDBEQjE3MEEgLyogSlNFWFREcmF3QnVmZmVycy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkVCRjBFNzUxMkE5ODY4ODAw
REIxNzBBIC8qIEpTRVhURHJhd0J1ZmZlcnMuaCAqLzsgfTsKIAkJNkVEODc4QzQxNDc0OTNGNDAw
NEMzNTk3IC8qIFJlbmRlclRhYmxlQ2FwdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RUQ4NzhDMjE0NzQ5M0Y0MDA0QzM1OTcgLyogUmVuZGVy
VGFibGVDYXB0aW9uLmNwcCAqLzsgfTsKIAkJNkVEODc4QzUxNDc0OTNGNDAwNEMzNTk3IC8qIFJl
bmRlclRhYmxlQ2FwdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNkVEODc4QzMxNDc0OTNGNDAwNEMzNTk3IC8qIFJlbmRlclRhYmxlQ2FwdGlvbi5o
ICovOyB9OwpAQCAtMzg0MSw3ICszODQxLDYgQEAKIAkJQTAwQjcyMUExMURFNjQyODAwOEFCOUZG
IC8qIENoZWNrZWRJbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEEwMEI3MjE5MTFERTY0MjcwMDhBQjlGRiAvKiBDaGVja2VkSW50LmggKi87IH07CiAJ
CUEwMjQ1NzUxMTZDRUFBMjcwMDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMDI0NTc0RTE2Q0VBQTI3MDAw
RTU2NzEgLyogRVhURHJhd0J1ZmZlcnMuY3BwICovOyB9OwogCQlBMDI0NTc1MjE2Q0VBQTI3MDAw
RTU2NzEgLyogRVhURHJhd0J1ZmZlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEEwMjQ1NzRGMTZDRUFBMjcwMDBFNTY3MSAvKiBFWFREcmF3QnVmZmVy
cy5oICovOyB9OwotCQlBMDI0NTc1MzE2Q0VBQTI3MDAwRTU2NzEgLyogRVhURHJhd0J1ZmZlcnMu
aWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMDI0
NTc1MDE2Q0VBQTI3MDAwRTU2NzEgLyogRVhURHJhd0J1ZmZlcnMuaWRsICovOyB9OwogCQlBMDdE
MzM1NTE1MkI2MzBFMDAxQjYzOTMgLyogSlNXZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMDdEMzM1MzE1
MkI2MzBFMDAxQjYzOTMgLyogSlNXZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5jcHAgKi87IH07
CiAJCUEwN0QzMzU2MTUyQjYzMEUwMDFCNjM5MyAvKiBKU1dlYkdMU2hhZGVyUHJlY2lzaW9uRm9y
bWF0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMDdE
MzM1NDE1MkI2MzBFMDAxQjYzOTMgLyogSlNXZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5oICov
OyB9OwogCQlBMDdEMzM1ODE1MkI2MzJEMDAxQjYzOTMgLyogV2ViR0xTaGFkZXJQcmVjaXNpb25G
b3JtYXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEw
N0QzMzU3MTUyQjYzMkQwMDFCNjM5MyAvKiBXZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5oICov
OyB9OwpAQCAtMzg4Myw2ICszODgyLDEwIEBACiAJCUEyRThBRTQwMTZBNDk4Q0YwMDZCQjNBQSAv
KiBET01XZWJLaXRDU1NGaWx0ZXJSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBMkU4QUUzRDE2QTQ5OENGMDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NT
RmlsdGVyUnVsZS5oICovOyB9OwogCQlBMkU4QUU0MTE2QTQ5OENGMDA2QkIzQUEgLyogRE9NV2Vi
S2l0Q1NTRmlsdGVyUnVsZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEEyRThBRTNFMTZBNDk4Q0YwMDZCQjNBQSAvKiBET01XZWJLaXRDU1NGaWx0ZXJS
dWxlLm1tICovOyB9OwogCQlBMkU4QUU0MjE2QTQ5OENGMDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NT
RmlsdGVyUnVsZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBMkU4QUUzRjE2QTQ5OENGMDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVy
UnVsZUludGVybmFsLmggKi87IH07CisJCUEzMUM0RTREMTZFMDJBQTYwMDJGNzk1NyAvKiBPRVNU
ZXh0dXJlSGFsZkZsb2F0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEEzMUM0RTRDMTZFMDJBQTYwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0
LmNwcCAqLzsgfTsKKwkJQTMxQzRFNEYxNkUwMkFCNDAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxm
RmxvYXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEz
MUM0RTRFMTZFMDJBQjQwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmggKi87IH07CisJ
CUEzMUM0RTUyMTZFMDJCMDgwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTMxQzRFNTExNkUw
MkIwODAwMkY3OTU3IC8qIEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAgKi87IH07CisJCUEzMUM0
RTU0MTZFMDJCNDAwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzMUM0RTUzMTZFMDJCNDAwMDJG
Nzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXQuaCAqLzsgfTsKIAkJQTNCQjU5RjMxNDU3QTQw
RDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBM0JCNTlGMTE0NTdBNDBEMDBBQzU2RkUgLyogRG9j
dW1lbnRFdmVudFF1ZXVlLmNwcCAqLzsgfTsKIAkJQTNCQjU5RjQxNDU3QTQwRDAwQUM1NkZFIC8q
IERvY3VtZW50RXZlbnRRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTNCQjU5RjIxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUEz
RTI2NDMwMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzRTI2NDJFMTQ3NDg5OTEwMDVB
ODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmNwcCAqLzsgfTsKQEAgLTkzOTgsOCArOTQwMSw4IEBA
CiAJCTZFQkYwRTUyMTJBODkyOTgwMERCMTcwOSAvKiBXZWJHTEV4dGVuc2lvbi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJHTEV4dGVuc2lvbi5jcHA7IHBhdGgg
PSBjYW52YXMvV2ViR0xFeHRlbnNpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk2RUJGMEU1MzEyQTg5Mjk4MDBEQjE3MDkgLyogV2ViR0xFeHRlbnNpb24uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViR0xFeHRlbnNpb24uaDsgcGF0aCA9IGNhbnZhcy9X
ZWJHTEV4dGVuc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RUJGMEU3NDEy
QTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNPRVNUZXh0dXJlRmxvYXQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk2RUJGMEU3NTEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJl
RmxvYXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNPRVNUZXh0dXJlRmxv
YXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkVCRjBFNzQxMkE5ODY4ODAwREIx
NzBBIC8qIEpTRVhURHJhd0J1ZmZlcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNFWFREcmF3QnVmZmVycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTZFQkYwRTc1MTJBOTg2ODgwMERCMTcwOSAvKiBKU09FU1RleHR1cmVGbG9hdC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU09FU1RleHR1cmVGbG9hdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk2RUJGMEU3NTEyQTk4Njg4MDBEQjE3MEEgLyogSlNFWFRE
cmF3QnVmZmVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0VYVERyYXdC
dWZmZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZFRDg3OEMyMTQ3NDkzRjQw
MDRDMzU5NyAvKiBSZW5kZXJUYWJsZUNhcHRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gUmVuZGVyVGFibGVDYXB0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNkVEODc4QzMxNDc0OTNGNDAwNEMzNTk3IC8qIFJlbmRlclRhYmxlQ2FwdGlv
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJUYWJsZUNhcHRpb24u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExNDAxLDYgKzExNDA0LDExIEBACiAJ
CUEyRThBRTNEMTZBNDk4Q0YwMDZCQjNBQSAvKiBET01XZWJLaXRDU1NGaWx0ZXJSdWxlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdlYktpdENTU0ZpbHRlclJ1bGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTJFOEFFM0UxNkE0OThDRjAwNkJCM0FBIC8q
IERPTVdlYktpdENTU0ZpbHRlclJ1bGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBET01XZWJLaXRDU1NGaWx0ZXJSdWxlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBMkU4QUUzRjE2QTQ5OENGMDA2QkIzQUEgLyogRE9NV2ViS2l0Q1NTRmlsdGVy
UnVsZUludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdlYktp
dENTU0ZpbHRlclJ1bGVJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
MzFDNEU0QzE2RTAyQUE2MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcDsg
cGF0aCA9IGNhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTMxQzRFNEUxNkUwMkFCNDAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxv
YXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gT0VTVGV4dHVyZUhhbGZGbG9h
dC5oOyBwYXRoID0gY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTMxQzRFNTAxNkUwMkFDNTAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxm
RmxvYXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgbmFtZSA9IE9FU1RleHR1cmVIYWxmRmxvYXQuaWRsOyBwYXRoID0gY2FudmFzL09F
U1RleHR1cmVIYWxmRmxvYXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMzFD
NEU1MTE2RTAyQjA4MDAyRjc5NTcgLyogSlNPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHA7
IHBhdGggPSBKU09FU1RleHR1cmVIYWxmRmxvYXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBMzFDNEU1MzE2RTAyQjQwMDAyRjc5NTcgLyogSlNPRVNUZXh0dXJlSGFsZkZsb2F0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTT0VTVGV4dHVyZUhhbGZGbG9h
dC5oOyBwYXRoID0gSlNPRVNUZXh0dXJlSGFsZkZsb2F0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUEzQkI1OUYxMTQ1N0E0MEQwMEFDNTZGRSAvKiBEb2N1bWVudEV2ZW50UXVldWUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRG9jdW1lbnRFdmVudFF1
ZXVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNCQjU5RjIxNDU3QTQwRDAw
QUM1NkZFIC8qIERvY3VtZW50RXZlbnRRdWV1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBEb2N1bWVudEV2ZW50UXVldWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTNFMjY0MkUxNDc0ODk5MTAwNUE4NTg4IC8qIFdvcmtlckV2ZW50UXVldWUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV29ya2VyRXZlbnRRdWV1ZS5jcHA7IHBh
dGggPSB3b3JrZXJzL1dvcmtlckV2ZW50UXVldWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTU3ODMsNiArMTU3OTEsOSBAQAogCQkJCTZFQkYwRTQ1MTJBODkyNjEwMERCMTcw
OSAvKiBPRVNUZXh0dXJlRmxvYXQuY3BwICovLAogCQkJCTZFQkYwRTQ2MTJBODkyNjEwMERCMTcw
OSAvKiBPRVNUZXh0dXJlRmxvYXQuaCAqLywKIAkJCQk2RUJGMEU0NzEyQTg5MjYxMDBEQjE3MDkg
LyogT0VTVGV4dHVyZUZsb2F0LmlkbCAqLywKKwkJCQlBMzFDNEU0QzE2RTAyQUE2MDAyRjc5NTcg
LyogT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAgKi8sCisJCQkJQTMxQzRFNEUxNkUwMkFCNDAwMkY3
OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuaCAqLywKKwkJCQlBMzFDNEU1MDE2RTAyQUM1MDAy
Rjc5NTcgLyogT0VTVGV4dHVyZUhhbGZGbG9hdC5pZGwgKi8sCiAJCQkJNzdBMTdBNkUxMkYyODE4
MjAwNEUwMkY2IC8qIE9FU1ZlcnRleEFycmF5T2JqZWN0LmNwcCAqLywKIAkJCQk3N0ExN0E2RjEy
RjI4MTgyMDA0RTAyRjYgLyogT0VTVmVydGV4QXJyYXlPYmplY3QuaCAqLywKIAkJCQk3N0ExN0E3
MDEyRjI4MTgyMDA0RTAyRjYgLyogT0VTVmVydGV4QXJyYXlPYmplY3QuaWRsICovLApAQCAtMTkx
OTksNiArMTkyMTAsOCBAQAogCQkJCTkwMDE3ODdGMTJFMDM3MDcwMDY0ODQ2MiAvKiBKU09FU1N0
YW5kYXJkRGVyaXZhdGl2ZXMuaCAqLywKIAkJCQk2RUJGMEU3NDEyQTk4Njg4MDBEQjE3MDkgLyog
SlNPRVNUZXh0dXJlRmxvYXQuY3BwICovLAogCQkJCTZFQkYwRTc1MTJBOTg2ODgwMERCMTcwOSAv
KiBKU09FU1RleHR1cmVGbG9hdC5oICovLAorCQkJCUEzMUM0RTUxMTZFMDJCMDgwMDJGNzk1NyAv
KiBKU09FU1RleHR1cmVIYWxmRmxvYXQuY3BwICovLAorCQkJCUEzMUM0RTUzMTZFMDJCNDAwMDJG
Nzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXQuaCAqLywKIAkJCQk3N0ExN0FBMjEyRjI4QjJB
MDA0RTAyRjYgLyogSlNPRVNWZXJ0ZXhBcnJheU9iamVjdC5jcHAgKi8sCiAJCQkJNzdBMTdBQTMx
MkYyOEIyQTAwNEUwMkY2IC8qIEpTT0VTVmVydGV4QXJyYXlPYmplY3QuaCAqLywKIAkJCQlCNjU4
RkY5RjE1MjJFRjNBMDBERDU1OTUgLyogSlNSYWRpb05vZGVMaXN0LmNwcCAqLywKQEAgLTI2NjY5
LDcgKzI2NjgyLDkgQEAKIAkJCQlFMUZDNDU3QzE2REYwQUYxMDAxMEY3QjIgLyogUGx1Z2luU3Ry
ZWFtQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUZDNDU3RTE2REYwQjg4MDAxMEY3QjIg
LyogUGx1Z2luUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDkxNDAyNTcxNjhFMDJFQzAw
MkQ2QzZBIC8qIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5oIGluIEhlYWRlcnMgKi8sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEwMjQ1NzUyMTZDRUFBMjcwMDBFNTY3MSAv
KiBFWFREcmF3QnVmZmVycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTAyNDU3NTIxNkNFQUEyNzAw
MEU1NjcxIC8qIEVYVERyYXdCdWZmZXJzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMzFDNEU0RjE2
RTAyQUI0MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZGbG9hdC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQTMxQzRFNTQxNkUwMkI0MDAwMkY3OTU3IC8qIEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CiAJCX07CkBAIC0yOTg2Nyw3ICsyOTg4Miw5IEBACiAJCQkJRTFGQzQ1NzYxNkRFMDAx
MDAwMTBGN0IyIC8qIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk0OTE0MDI1NjE2OEUwMkU4MDAyRDZDNkEgLyogVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vz
c29yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxNEE5NEQ3MTZERkRGOTUwMDY4REU4MiAvKiBC
bG9iUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEEwMjQ1NzUxMTZDRUFBMjcwMDBFNTY3MSAvKiBFWFREcmF3QnVmZmVycy5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlBMDI0NTc1MTE2Q0VBQTI3MDAwRTU2NzEgLyogRVhURHJhd0J1ZmZl
cnMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTMxQzRFNEQxNkUwMkFBNjAwMkY3OTU3IC8qIE9F
U1RleHR1cmVIYWxmRmxvYXQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTMxQzRFNTIxNkUwMkIw
ODAwMkY3OTU3IC8qIEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250
ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJp
bmdDb250ZXh0Q3VzdG9tLmNwcAppbmRleCA4YTM1MDNhMTQyZGJiZjQyZjhiYjdmYTg1ZWVjMTZh
YTc4ZGI2ZDMxLi5iMjdmMmIxMTZlM2YzMWExODIzNmQ4YzA3MWQxMmJkOGJhZjM2ZmRhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4
dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRl
cmluZ0NvbnRleHRDdXN0b20uY3BwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSAiSlNPRVNF
bGVtZW50SW5kZXhVaW50LmgiCiAjaW5jbHVkZSAiSlNPRVNTdGFuZGFyZERlcml2YXRpdmVzLmgi
CiAjaW5jbHVkZSAiSlNPRVNUZXh0dXJlRmxvYXQuaCIKKyNpbmNsdWRlICJKU09FU1RleHR1cmVI
YWxmRmxvYXQuaCIKICNpbmNsdWRlICJKU09FU1ZlcnRleEFycmF5T2JqZWN0LmgiCiAjaW5jbHVk
ZSAiSlNVaW50MzJBcnJheS5oIgogI2luY2x1ZGUgIkpTVWludDhBcnJheS5oIgpAQCAtNjMsNiAr
NjQsNyBAQAogI2luY2x1ZGUgIk9FU0VsZW1lbnRJbmRleFVpbnQuaCIKICNpbmNsdWRlICJPRVNT
dGFuZGFyZERlcml2YXRpdmVzLmgiCiAjaW5jbHVkZSAiT0VTVGV4dHVyZUZsb2F0LmgiCisjaW5j
bHVkZSAiT0VTVGV4dHVyZUhhbGZGbG9hdC5oIgogI2luY2x1ZGUgIk9FU1ZlcnRleEFycmF5T2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiV2ViR0xCdWZmZXIuaCIKICNpbmNsdWRlICJXZWJHTENvbXByZXNz
ZWRUZXh0dXJlUzNUQy5oIgpAQCAtMjA0LDYgKzIwNiw4IEBAIHN0YXRpYyBKU1ZhbHVlIHRvSlMo
RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBXZWJHTEV4
dGVuCiAgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8
T0VTU3RhbmRhcmREZXJpdmF0aXZlcyo+KGV4dGVuc2lvbikpOwogICAgIGNhc2UgV2ViR0xFeHRl
bnNpb246Ok9FU1RleHR1cmVGbG9hdE5hbWU6CiAgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGds
b2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8T0VTVGV4dHVyZUZsb2F0Kj4oZXh0ZW5zaW9uKSk7Cisg
ICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVGV4dHVyZUhhbGZGbG9hdE5hbWU6CisgICAgICAg
IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8T0VTVGV4dHVyZUhh
bGZGbG9hdCo+KGV4dGVuc2lvbikpOwogICAgIGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1ZlcnRl
eEFycmF5T2JqZWN0TmFtZToKICAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0
LCBzdGF0aWNfY2FzdDxPRVNWZXJ0ZXhBcnJheU9iamVjdCo+KGV4dGVuc2lvbikpOwogICAgIGNh
c2UgV2ViR0xFeHRlbnNpb246Ok9FU0VsZW1lbnRJbmRleFVpbnROYW1lOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVu
ZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKaW5kZXggYTI2OTk0Y2UwZjEwOWUyNGJhNThmZjE1ODI5
YWM5MWE3MzRkOWJiOS4uNWE3Y2JhNjkyMTc3NTNkZjk1YjFjMjgxZWM2NWEwODAyYjI4MmFmNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5k
ZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCkBAIC01MSw2ICs1MSw3IEBA
CiAjaW5jbHVkZSAiVjhPRVNFbGVtZW50SW5kZXhVaW50LmgiCiAjaW5jbHVkZSAiVjhPRVNTdGFu
ZGFyZERlcml2YXRpdmVzLmgiCiAjaW5jbHVkZSAiVjhPRVNUZXh0dXJlRmxvYXQuaCIKKyNpbmNs
dWRlICJWOE9FU1RleHR1cmVIYWxmRmxvYXQuaCIKICNpbmNsdWRlICJWOE9FU1ZlcnRleEFycmF5
T2JqZWN0LmgiCiAjaW5jbHVkZSAiVjhVaW50MTZBcnJheS5oIgogI2luY2x1ZGUgIlY4VWludDMy
QXJyYXkuaCIKQEAgLTE5Myw2ICsxOTQsMTAgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiB0b1Y4T2JqZWN0KFdlYkdMRXh0ZW5zaW9uKiBleHRlbnNpb24sIHY4OjpIYW5kbGU8djgKICAg
ICAgICAgZXh0ZW5zaW9uT2JqZWN0ID0gdG9WOChzdGF0aWNfY2FzdDxPRVNUZXh0dXJlRmxvYXQq
PihleHRlbnNpb24pLCBjb250ZXh0T2JqZWN0LCBpc29sYXRlKTsKICAgICAgICAgcmVmZXJlbmNl
TmFtZSA9ICJvZXNUZXh0dXJlRmxvYXROYW1lIjsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBX
ZWJHTEV4dGVuc2lvbjo6T0VTVGV4dHVyZUhhbGZGbG9hdE5hbWU6CisgICAgICAgIGV4dGVuc2lv
bk9iamVjdCA9IHRvVjgoc3RhdGljX2Nhc3Q8T0VTVGV4dHVyZUhhbGZGbG9hdCo+KGV4dGVuc2lv
biksIGNvbnRleHRPYmplY3QsIGlzb2xhdGUpOworICAgICAgICByZWZlcmVuY2VOYW1lID0gIm9l
c1RleHR1cmVIYWxmRmxvYXROYW1lIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBXZWJHTEV4
dGVuc2lvbjo6T0VTVmVydGV4QXJyYXlPYmplY3ROYW1lOgogICAgICAgICBleHRlbnNpb25PYmpl
Y3QgPSB0b1Y4KHN0YXRpY19jYXN0PE9FU1ZlcnRleEFycmF5T2JqZWN0Kj4oZXh0ZW5zaW9uKSwg
Y29udGV4dE9iamVjdCwgaXNvbGF0ZSk7CiAgICAgICAgIHJlZmVyZW5jZU5hbWUgPSAib2VzVmVy
dGV4QXJyYXlPYmplY3ROYW1lIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL09FU1RleHR1cmVIYWxmRmxvYXQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
T0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGJkZjAxNmY5YzEwYjkxZGVjOTcy
NjAzNGM1Nzg0NTFhNmVlMzgzOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuY3BwCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgTW90b3JvbGEgTW9iaWxpdHkgTExDLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoK
KyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShXRUJHTCkKKwor
I2luY2x1ZGUgIk9FU1RleHR1cmVIYWxmRmxvYXQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitPRVNUZXh0dXJlSGFsZkZsb2F0OjpPRVNUZXh0dXJlSGFsZkZsb2F0KFdlYkdMUmVuZGVyaW5n
Q29udGV4dCogY29udGV4dCkKKyAgICA6IFdlYkdMRXh0ZW5zaW9uKGNvbnRleHQpCit7Cit9CisK
K09FU1RleHR1cmVIYWxmRmxvYXQ6On5PRVNUZXh0dXJlSGFsZkZsb2F0KCkKK3sKK30KKworV2Vi
R0xFeHRlbnNpb246OkV4dGVuc2lvbk5hbWUgT0VTVGV4dHVyZUhhbGZGbG9hdDo6Z2V0TmFtZSgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIE9FU1RleHR1cmVIYWxmRmxvYXROYW1lOworfQorCitQYXNz
T3duUHRyPE9FU1RleHR1cmVIYWxmRmxvYXQ+IE9FU1RleHR1cmVIYWxmRmxvYXQ6OmNyZWF0ZShX
ZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQpCit7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5l
dyBPRVNUZXh0dXJlSGFsZkZsb2F0KGNvbnRleHQpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwOTc4MTk5MDU4YWQ5
MjdhZDBiODJiZWIwMWNkNTIzZDA3MzY5MDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmgKQEAgLTAsMCArMSw0NyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBNb3Rvcm9sYSBNb2JpbGl0eSBMTEMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAq
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBPRVNUZXh0dXJlSGFsZkZsb2F0X2gKKyNkZWZpbmUg
T0VTVGV4dHVyZUhhbGZGbG9hdF9oCisKKyNpbmNsdWRlICJXZWJHTEV4dGVuc2lvbi5oIgorI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
T0VTVGV4dHVyZUhhbGZGbG9hdCA6IHB1YmxpYyBXZWJHTEV4dGVuc2lvbiB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NPd25QdHI8T0VTVGV4dHVyZUhhbGZGbG9hdD4gY3JlYXRlKFdlYkdMUmVu
ZGVyaW5nQ29udGV4dCopOworCisgICAgdmlydHVhbCB+T0VTVGV4dHVyZUhhbGZGbG9hdCgpOwor
ICAgIHZpcnR1YWwgRXh0ZW5zaW9uTmFtZSBnZXROYW1lKCkgY29uc3Q7CisKK3ByaXZhdGU6Cisg
ICAgT0VTVGV4dHVyZUhhbGZGbG9hdChXZWJHTFJlbmRlcmluZ0NvbnRleHQqKTsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIE9FU1RleHR1cmVIYWxmRmxvYXRfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9h
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0Lmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wM2E2NzIzNGYwNzI0NmY2NzVhNDBhM2IxMzFkYWM5MWZlMjk3YWU3Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhh
bGZGbG9hdC5pZGwKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBN
b3Rvcm9sYSBNb2JpbGl0eSBMTEMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENv
bmRpdGlvbmFsPVdFQkdMLAorICAgIEpTR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsQ29udGV4dCwK
KyAgICBPbWl0Q29uc3RydWN0b3IKK10gaW50ZXJmYWNlIE9FU1RleHR1cmVIYWxmRmxvYXQgewor
fTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xFeHRlbnNpb24uaAppbmRleCAwM2M4MzZhYzQ2YjcxMmY1YzU1MDI5MDY1ZGZkNjFl
MDYzNTU5NWM5Li5hZmM0ZTZhZWIzOWRjNTM0MzQwYTI2M2RiNTYzYjRjMTlhNGIyZGRhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKQEAgLTM5LDYgKzM5
LDcgQEAgcHVibGljOgogICAgICAgICBFWFREcmF3QnVmZmVyc05hbWUsCiAgICAgICAgIEVYVFRl
eHR1cmVGaWx0ZXJBbmlzb3Ryb3BpY05hbWUsCiAgICAgICAgIE9FU1RleHR1cmVGbG9hdE5hbWUs
CisgICAgICAgIE9FU1RleHR1cmVIYWxmRmxvYXROYW1lLAogICAgICAgICBPRVNTdGFuZGFyZERl
cml2YXRpdmVzTmFtZSwKICAgICAgICAgT0VTVmVydGV4QXJyYXlPYmplY3ROYW1lLAogICAgICAg
ICBXZWJHTERlYnVnUmVuZGVyZXJJbmZvTmFtZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IGExNDYxOWU1OTBlZjdj
MDNhYTU5ODhhZDZiYzE5NzI0ZTVlMTE3NzguLjJjZDExMjg3OTg2MzQ3YzRmNjQyZDA0ZGE1Yzk5
NjAzNWZhZjdiOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtNTAsNiArNTAsNyBAQAogI2luY2x1ZGUgIk9FU0Vs
ZW1lbnRJbmRleFVpbnQuaCIKICNpbmNsdWRlICJPRVNTdGFuZGFyZERlcml2YXRpdmVzLmgiCiAj
aW5jbHVkZSAiT0VTVGV4dHVyZUZsb2F0LmgiCisjaW5jbHVkZSAiT0VTVGV4dHVyZUhhbGZGbG9h
dC5oIgogI2luY2x1ZGUgIk9FU1ZlcnRleEFycmF5T2JqZWN0LmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgogI2luY2x1ZGUgIlJlbmRlckJveC5oIgpAQCAtMjM4Myw2ICsyMzg0LDE0IEBAIFdlYkdMRXh0
ZW5zaW9uKiBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEV4dGVuc2lvbihjb25zdCBTdHJpbmcm
IG5hbWUpCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIG1fb2VzVGV4dHVyZUZsb2F0LmdldCgp
OwogICAgIH0KKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIk9FU190ZXh0dXJlX2hh
bGZfZmxvYXQiKQorICAgICAgICAmJiBtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS0+c3VwcG9y
dHMoIkdMX09FU190ZXh0dXJlX2hhbGZfZmxvYXQiKSkgeworICAgICAgICBpZiAoIW1fb2VzVGV4
dHVyZUhhbGZGbG9hdCkgeworICAgICAgICAgICAgbV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCkt
PmVuc3VyZUVuYWJsZWQoIkdMX09FU190ZXh0dXJlX2hhbGZfZmxvYXQiKTsKKyAgICAgICAgICAg
IG1fb2VzVGV4dHVyZUhhbGZGbG9hdCA9IE9FU1RleHR1cmVIYWxmRmxvYXQ6OmNyZWF0ZSh0aGlz
KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gbV9vZXNUZXh0dXJlSGFsZkZsb2F0LmdldCgp
OworICAgIH0KICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIk9FU192ZXJ0ZXhfYXJy
YXlfb2JqZWN0IikKICAgICAgICAgJiYgbV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCktPnN1cHBv
cnRzKCJHTF9PRVNfdmVydGV4X2FycmF5X29iamVjdCIpKSB7CiAgICAgICAgIGlmICghbV9vZXNW
ZXJ0ZXhBcnJheU9iamVjdCkgewpAQCAtMzc2OCw2ICszNzc3LDEzIEBAIHZvaWQgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwg
R0MzRGVudW0KICAgICAgICAgcmV0dXJuOwogICAgIGlmICghdmFsaWRhdGVTZXR0YWJsZVRleEZv
cm1hdCgidGV4SW1hZ2UyRCIsIGZvcm1hdCkpCiAgICAgICAgIHJldHVybjsKKyAgICAvLyBGSVhN
RTogVXBsb2FkaW5nIEltYWdlRGF0YSB0byBoYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgaXMg
bm90IHN1cHBvcnRlZCB5ZXQKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTEwOTM2CisgICAgaWYgKHR5cGUgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkhBTEZf
RkxPQVRfT0VTKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNE
OjpJTlZBTElEX09QRVJBVElPTiwgInRleEltYWdlMkQiLCAiT3BlcmF0aW9uIG5vdCBzdXBwb3J0
ZWQgeWV0Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBib29sIG5lZWRDb252ZXJz
aW9uID0gdHJ1ZTsKICAgICAvLyBUaGUgZGF0YSBmcm9tIEltYWdlRGF0YSBpcyBhbHdheXMgb2Yg
Zm9ybWF0IFJHQkE4LgogICAgIC8vIE5vIGNvbnZlcnNpb24gaXMgbmVlZGVkIGlmIGRlc3RpbmF0
aW9uIGZvcm1hdCBpcyBSR0JBIGFuZCB0eXBlIGlzIFVTSUdORURfQllURSBhbmQgbm8gRmxpcCBv
ciBQcmVtdWx0aXBseSBvcGVyYXRpb24gaXMgcmVxdWlyZWQuCkBAIC0zNzk4LDYgKzM4MTQsMTIg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0
LCBHQzNEaW50IGxldmVsLCBHQzNEZW51bQogICAgICAgICBlYyA9IFNFQ1VSSVRZX0VSUjsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KKyAgICAvLyBGSVhNRTogVXBsb2FkaW5nIEltYWdlRWxlbWVu
dCB0byBoYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgaXMgbm90IHN1cHBvcnRlZCB5ZXQKKyAg
ICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTM2CisgICAg
aWYgKHR5cGUgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkhBTEZfRkxPQVRfT0VTKSB7CisgICAgICAg
IHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwg
InRleEltYWdlMkQiLCAiT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQgeWV0Iik7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CiAKICAgICB0ZXhJbWFnZTJESW1wbCh0YXJnZXQsIGxldmVsLCBpbnRlcm5h
bGZvcm1hdCwgZm9ybWF0LCB0eXBlLCBpbWFnZS0+Y2FjaGVkSW1hZ2UoKS0+aW1hZ2VGb3JSZW5k
ZXJlcihpbWFnZS0+cmVuZGVyZXIoKSksIEdyYXBoaWNzQ29udGV4dDNEOjpIdG1sRG9tSW1hZ2Us
IG1fdW5wYWNrRmxpcFksIG1fdW5wYWNrUHJlbXVsdGlwbHlBbHBoYSwgZWMpOwogfQpAQCAtMzgy
MCw2ICszODQyLDEyIEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJEKEdD
M0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGVudW0KICAgICAgICAgcmV0dXJuOwog
ICAgIGlmICghdmFsaWRhdGVTZXR0YWJsZVRleEZvcm1hdCgidGV4SW1hZ2UyRCIsIGZvcm1hdCkp
CiAgICAgICAgIHJldHVybjsKKyAgICAvLyBGSVhNRTogVXBsb2FkaW5nIEhUTUxDYW52YXNFbGVt
ZW50IHRvIGhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBpcyBub3Qgc3VwcG9ydGVkIHlldAor
ICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA5MzYKKyAg
ICBpZiAodHlwZSA9PSBHcmFwaGljc0NvbnRleHQzRDo6SEFMRl9GTE9BVF9PRVMpIHsKKyAgICAg
ICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9O
LCAidGV4SW1hZ2UyRCIsICJPcGVyYXRpb24gbm90IHN1cHBvcnRlZCB5ZXQiKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KIAogICAgIFdlYkdMVGV4dHVyZSogdGV4dHVyZSA9IHZhbGlkYXRlVGV4
dHVyZUJpbmRpbmcoInRleEltYWdlMkQiLCB0YXJnZXQsIHRydWUpOwogICAgIC8vIElmIHBvc3Np
YmxlLCBjb3B5IGZyb20gdGhlIGNhbnZhcyBlbGVtZW50IGRpcmVjdGx5IHRvIHRoZSB0ZXh0dXJl
CkBAIC0zODc2LDYgKzM5MDQsMTMgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleElt
YWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEZW51bQogICAgIFJlZlB0
cjxJbWFnZT4gaW1hZ2UgPSB2aWRlb0ZyYW1lVG9JbWFnZSh2aWRlbywgSW1hZ2VCdWZmZXI6OmZh
c3RDb3B5SW1hZ2VNb2RlKCksIGVjKTsKICAgICBpZiAoIWltYWdlKQogICAgICAgICByZXR1cm47
CisgICAgLy8gRklYTUU6IFVwbG9hZGluZyBIVE1MVmlkZW9FbGVtZW50IHRvIGhhbGYgZmxvYXRp
bmcgcG9pbnQgdGV4dHVyZSBpcyBub3Qgc3VwcG9ydGVkIHlldAorICAgIC8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA5MzYKKyAgICBpZiAodHlwZSA9PSBHcmFw
aGljc0NvbnRleHQzRDo6SEFMRl9GTE9BVF9PRVMpIHsKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJy
b3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCAidGV4SW1hZ2UyRCIsICJP
cGVyYXRpb24gbm90IHN1cHBvcnRlZCB5ZXQiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwog
ICAgIHRleEltYWdlMkRJbXBsKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCBmb3JtYXQs
IHR5cGUsIGltYWdlLmdldCgpLCBHcmFwaGljc0NvbnRleHQzRDo6SHRtbERvbVZpZGVvLCBtX3Vu
cGFja0ZsaXBZLCBtX3VucGFja1ByZW11bHRpcGx5QWxwaGEsIGVjKTsKIH0KICNlbmRpZgpAQCAt
NDAzMCw2ICs0MDY1LDEzIEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhTdWJJbWFn
ZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGluCiAgICAgICAgIHJldHVy
bjsKICAgICBpZiAoIXZhbGlkYXRlU2V0dGFibGVUZXhGb3JtYXQoInRleFN1YkltYWdlMkQiLCBm
b3JtYXQpKQogICAgICAgICByZXR1cm47CisgICAgLy8gRklYTUU6IFVwbG9hZGluZyBJbWFnZURh
dGEgdG8gaGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGlzIG5vdCBzdXBwb3J0ZWQgeWV0Cisg
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDkzNgorICAg
IGlmICh0eXBlID09IEdyYXBoaWNzQ29udGV4dDNEOjpIQUxGX0ZMT0FUX09FUykgeworICAgICAg
ICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04s
ICJ0ZXhTdWJJbWFnZTJEIiwgIk9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIHlldCIpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCiAgICAgVmVjdG9yPHVpbnQ4X3Q+IGRhdGE7CiAgICAgYm9vbCBu
ZWVkQ29udmVyc2lvbiA9IHRydWU7CiAgICAgLy8gVGhlIGRhdGEgZnJvbSBJbWFnZURhdGEgaXMg
YWx3YXlzIG9mIGZvcm1hdCBSR0JBOC4KQEAgLTQwNjEsNiArNDEwMywxMyBAQCB2b2lkIFdlYkdM
UmVuZGVyaW5nQ29udGV4dDo6dGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQg
bGV2ZWwsIEdDM0RpbgogICAgICAgICBlYyA9IFNFQ1VSSVRZX0VSUjsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KKyAgICAvLyBGSVhNRTogVXBsb2FkaW5nIEhUTUxJbWFnZUVsZW1lbnQgdG8gaGFs
ZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGlzIG5vdCBzdXBwb3J0ZWQgeWV0CisgICAgLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDkzNgorICAgIGlmICh0eXBl
ID09IEdyYXBoaWNzQ29udGV4dDNEOjpIQUxGX0ZMT0FUX09FUykgeworICAgICAgICBzeW50aGVz
aXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICJ0ZXhTdWJJ
bWFnZTJEIiwgIk9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIHlldCIpOworICAgICAgICByZXR1cm47
CisgICAgfQorCiAgICAgdGV4U3ViSW1hZ2UyREltcGwodGFyZ2V0LCBsZXZlbCwgeG9mZnNldCwg
eW9mZnNldCwgZm9ybWF0LCB0eXBlLCBpbWFnZS0+Y2FjaGVkSW1hZ2UoKS0+aW1hZ2VGb3JSZW5k
ZXJlcihpbWFnZS0+cmVuZGVyZXIoKSksIEdyYXBoaWNzQ29udGV4dDNEOjpIdG1sRG9tSW1hZ2Us
IG1fdW5wYWNrRmxpcFksIG1fdW5wYWNrUHJlbXVsdGlwbHlBbHBoYSwgZWMpOwogfQogCkBAIC00
MDgyLDYgKzQxMzEsMTMgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdl
MkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW4KICAgICAgICAgcmV0dXJu
OwogICAgIGlmICghdmFsaWRhdGVTZXR0YWJsZVRleEZvcm1hdCgidGV4U3ViSW1hZ2UyRCIsIGZv
cm1hdCkpCiAgICAgICAgIHJldHVybjsKKyAgICAvLyBGSVhNRTogVXBsb2FkaW5nIEhUTUxDYW52
YXNFbGVtZW50IHRvIGhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBpcyBub3Qgc3VwcG9ydGVk
IHlldAorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA5
MzYKKyAgICBpZiAodHlwZSA9PSBHcmFwaGljc0NvbnRleHQzRDo6SEFMRl9GTE9BVF9PRVMpIHsK
KyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BF
UkFUSU9OLCAidGV4U3ViSW1hZ2UyRCIsICJPcGVyYXRpb24gbm90IHN1cHBvcnRlZCB5ZXQiKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIFJlZlB0cjxJbWFnZURhdGE+IGltYWdlRGF0
YSA9IGNhbnZhcy0+Z2V0SW1hZ2VEYXRhKCk7CiAgICAgaWYgKGltYWdlRGF0YSkKICAgICAgICAg
dGV4U3ViSW1hZ2UyRCh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCBmb3JtYXQsIHR5
cGUsIGltYWdlRGF0YS5nZXQoKSwgZWMpOwpAQCAtNDA5OSw2ICs0MTU1LDEzIEBAIHZvaWQgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhTdWJJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGlu
dCBsZXZlbCwgR0MzRGluCiAgICAgUmVmUHRyPEltYWdlPiBpbWFnZSA9IHZpZGVvRnJhbWVUb0lt
YWdlKHZpZGVvLCBJbWFnZUJ1ZmZlcjo6ZmFzdENvcHlJbWFnZU1vZGUoKSwgZWMpOwogICAgIGlm
ICghaW1hZ2UpCiAgICAgICAgIHJldHVybjsKKyAgICAvLyBGSVhNRTogVXBsb2FkaW5nIEhUTUxW
aWRlb0VsZW1lbnQgdG8gaGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGlzIG5vdCBzdXBwb3J0
ZWQgeWV0CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEx
MDkzNgorICAgIGlmICh0eXBlID09IEdyYXBoaWNzQ29udGV4dDNEOjpIQUxGX0ZMT0FUX09FUykg
eworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9P
UEVSQVRJT04sICJ0ZXhTdWJJbWFnZTJEIiwgIk9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIHlldCIp
OworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgdGV4U3ViSW1hZ2UyREltcGwodGFyZ2V0
LCBsZXZlbCwgeG9mZnNldCwgeW9mZnNldCwgZm9ybWF0LCB0eXBlLCBpbWFnZS5nZXQoKSwgR3Jh
cGhpY3NDb250ZXh0M0Q6Okh0bWxEb21WaWRlbywgbV91bnBhY2tGbGlwWSwgbV91bnBhY2tQcmVt
dWx0aXBseUFscGhhLCBlYyk7CiB9CiAjZW5kaWYKQEAgLTQ5ODEsNiArNTA0NCwxMSBAQCBib29s
IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVUZXhGdW5jRm9ybWF0QW5kVHlwZShjb25z
dCBjaGFyKiBmdW5jdGlvbk5hbQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN5bnRoZXNp
emVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX0VOVU0sIGZ1bmN0aW9uTmFtZSwg
ImludmFsaWQgdGV4dHVyZSB0eXBlIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dDNEOjpIQUxGX0ZMT0FUX09FUzoKKyAgICAgICAgaWYgKG1fb2VzVGV4
dHVyZUhhbGZGbG9hdCkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBzeW50aGVzaXplR0xF
cnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNLCBmdW5jdGlvbk5hbWUsICJpbnZh
bGlkIHRleHR1cmUgdHlwZSIpOworICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgY2FzZSBHcmFw
aGljc0NvbnRleHQzRDo6VU5TSUdORURfSU5UOgogICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6
OlVOU0lHTkVEX0lOVF8yNF84OgogICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlVOU0lHTkVE
X1NIT1JUOgpAQCAtNDk5OSw3ICs1MDY3LDggQEAgYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OnZhbGlkYXRlVGV4RnVuY0Zvcm1hdEFuZFR5cGUoY29uc3QgY2hhciogZnVuY3Rpb25OYW0KICAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpMVU1JTkFOQ0U6CiAgICAgY2FzZSBHcmFwaGljc0Nv
bnRleHQzRDo6TFVNSU5BTkNFX0FMUEhBOgogICAgICAgICBpZiAodHlwZSAhPSBHcmFwaGljc0Nv
bnRleHQzRDo6VU5TSUdORURfQllURQotICAgICAgICAgICAgJiYgdHlwZSAhPSBHcmFwaGljc0Nv
bnRleHQzRDo6RkxPQVQpIHsKKyAgICAgICAgICAgICYmIHR5cGUgIT0gR3JhcGhpY3NDb250ZXh0
M0Q6OkZMT0FUCisgICAgICAgICAgICAmJiB0eXBlICE9IEdyYXBoaWNzQ29udGV4dDNEOjpIQUxG
X0ZMT0FUX09FUykgewogICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250
ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIHR5cGUgZm9y
IGZvcm1hdCIpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CkBAIC01MDA3
LDcgKzUwNzYsOCBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVUZXhGdW5j
Rm9ybWF0QW5kVHlwZShjb25zdCBjaGFyKiBmdW5jdGlvbk5hbQogICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OlJHQjoKICAgICAgICAgaWYgKHR5cGUgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OlVO
U0lHTkVEX0JZVEUKICAgICAgICAgICAgICYmIHR5cGUgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OlVO
U0lHTkVEX1NIT1JUXzVfNl81Ci0gICAgICAgICAgICAmJiB0eXBlICE9IEdyYXBoaWNzQ29udGV4
dDNEOjpGTE9BVCkgeworICAgICAgICAgICAgJiYgdHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6
RkxPQVQKKyAgICAgICAgICAgICYmIHR5cGUgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OkhBTEZfRkxP
QVRfT0VTKSB7CiAgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQz
RDo6SU5WQUxJRF9PUEVSQVRJT04sIGZ1bmN0aW9uTmFtZSwgImludmFsaWQgdHlwZSBmb3IgUkdC
IGZvcm1hdCIpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CkBAIC01MDE2
LDcgKzUwODYsOCBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVUZXhGdW5j
Rm9ybWF0QW5kVHlwZShjb25zdCBjaGFyKiBmdW5jdGlvbk5hbQogICAgICAgICBpZiAodHlwZSAh
PSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfQllURQogICAgICAgICAgICAgJiYgdHlwZSAh
PSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfU0hPUlRfNF80XzRfNAogICAgICAgICAgICAg
JiYgdHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfU0hPUlRfNV81XzVfMQotICAg
ICAgICAgICAgJiYgdHlwZSAhPSBHcmFwaGljc0NvbnRleHQzRDo6RkxPQVQpIHsKKyAgICAgICAg
ICAgICYmIHR5cGUgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OkZMT0FUCisgICAgICAgICAgICAmJiB0
eXBlICE9IEdyYXBoaWNzQ29udGV4dDNEOjpIQUxGX0ZMT0FUX09FUykgewogICAgICAgICAgICAg
c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCBm
dW5jdGlvbk5hbWUsICJpbnZhbGlkIHR5cGUgZm9yIFJHQkEgZm9ybWF0Iik7CiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KQEAgLTUxODYsNiArNTI1NywxNCBAQCBib29sIFdl
YkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVUZXhGdW5jRGF0YShjb25zdCBjaGFyKiBmdW5j
dGlvbk5hbWUsIEdDM0RpbgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkhBTEZfRkxPQVRfT0VT
OiAvLyBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0CisgICAgICAgIC8vIEFzIHBlciB0aGUgc3BlY2lm
aWNhdGlvbiwgQXJyYXlCdWZmZXJWaWV3IHNob3VsZCBiZSBudWxsIHdoZW4KKyAgICAgICAgLy8g
T0VTX3RleHR1cmVfaGFsZl9mbG9hdCBpcyBlbmFibGVkLgorICAgICAgICBpZiAocGl4ZWxzKSB7
CisgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJ
RF9PUEVSQVRJT04sIGZ1bmN0aW9uTmFtZSwgInR5cGUgSEFMRl9GTE9BVF9PRVMgYnV0IEFycmF5
QnVmZmVyVmlldyBpcyBub3QgTlVMTCIpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICB9CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmgKaW5kZXggM2JjZTUzNDRkNGUwMGIwMmM4MTNhMzg0MDQ4MWVj
ZmU4NmEyZWQwZC4uZWNmOGNmZmY5OWFhZGNiNGZmZjdkN2ZiMWM1ZTUzOTBiMzJjMmNmNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmgKQEAgLTUxLDYgKzUxLDcgQEAgY2xhc3MgSW1hZ2VEYXRhOwogY2xhc3MgSW50U2l6ZTsKIGNs
YXNzIE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXM7CiBjbGFzcyBPRVNUZXh0dXJlRmxvYXQ7CitjbGFz
cyBPRVNUZXh0dXJlSGFsZkZsb2F0OwogY2xhc3MgT0VTVmVydGV4QXJyYXlPYmplY3Q7CiBjbGFz
cyBPRVNFbGVtZW50SW5kZXhVaW50OwogY2xhc3MgV2ViR0xBY3RpdmVJbmZvOwpAQCAtNTE3LDYg
KzUxOCw3IEBAIHB1YmxpYzoKICAgICBPd25QdHI8RVhURHJhd0J1ZmZlcnM+IG1fZXh0RHJhd0J1
ZmZlcnM7CiAgICAgT3duUHRyPEVYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYz4gbV9leHRUZXh0
dXJlRmlsdGVyQW5pc290cm9waWM7CiAgICAgT3duUHRyPE9FU1RleHR1cmVGbG9hdD4gbV9vZXNU
ZXh0dXJlRmxvYXQ7CisgICAgT3duUHRyPE9FU1RleHR1cmVIYWxmRmxvYXQ+IG1fb2VzVGV4dHVy
ZUhhbGZGbG9hdDsKICAgICBPd25QdHI8T0VTU3RhbmRhcmREZXJpdmF0aXZlcz4gbV9vZXNTdGFu
ZGFyZERlcml2YXRpdmVzOwogICAgIE93blB0cjxPRVNWZXJ0ZXhBcnJheU9iamVjdD4gbV9vZXNW
ZXJ0ZXhBcnJheU9iamVjdDsKICAgICBPd25QdHI8T0VTRWxlbWVudEluZGV4VWludD4gbV9vZXNF
bGVtZW50SW5kZXhVaW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMUmVuZGVyaW5nQ29udGV4dC5pZGwKaW5kZXggYjRkNDg5ZGRlYzZkZGE0ZWM2NjE1NjQyZGM0
ZGU0MmI3NTI5Y2MyNi4uMGRkYzg0N2I2NzM2MWYyOTc5M2ZjNzMwYjhmNGJiNzdmZjQwZDZlZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHQuaWRsCkBAIC0yMzcsNiArMjM3LDcgQEAgdHlwZWRlZiAvKnVucmVzdHJpY3RlZCovIGZs
b2F0IEdMY2xhbXBmOwogICAgIGNvbnN0IEdMZW51bSBJTlQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPSAweDE0MDQ7CiAgICAgY29uc3QgR0xlbnVtIFVOU0lHTkVEX0lOVCAgICAgICAgICAg
ICAgICAgICA9IDB4MTQwNTsKICAgICBjb25zdCBHTGVudW0gRkxPQVQgICAgICAgICAgICAgICAg
ICAgICAgICAgID0gMHgxNDA2OworICAgIGNvbnN0IEdMZW51bSBIQUxGX0ZMT0FUX09FUyAgICAg
ICAgICAgICAgICAgPSAweDhENjE7CiAKICAgICAvKiBQaXhlbEZvcm1hdCAqLwogICAgIGNvbnN0
IEdMZW51bSBERVBUSF9DT01QT05FTlQgICAgICAgICAgICAgICAgPSAweDE5MDI7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zM0QuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oCmluZGV4IGIwMzNi
Y2Q3Mzk1NmUyNzM4M2E1Zjc0NWViYzgyY2E4YTVkNmFmMjMuLmQ4ZDc3YTkyN2VlZThjNDcxNzcz
MDMyMTE3ZmQ0NjQxMmVkNjc2ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0V4dGVuc2lvbnMzRC5oCkBAIC01Myw2ICs1Myw3IEBAIHB1YmxpYzoKICAgICAvLyAg
IEdMX0VYVF9wYWNrZWRfZGVwdGhfc3RlbmNpbCAvIEdMX09FU19wYWNrZWRfZGVwdGhfc3RlbmNp
bAogICAgIC8vICAgR0xfQU5HTEVfZnJhbWVidWZmZXJfYmxpdCAvIEdMX0FOR0xFX2ZyYW1lYnVm
ZmVyX211bHRpc2FtcGxlCiAgICAgLy8gICBHTF9PRVNfdGV4dHVyZV9mbG9hdAorICAgIC8vICAg
R0xfT0VTX3RleHR1cmVfaGFsZl9mbG9hdAogICAgIC8vICAgR0xfT0VTX3N0YW5kYXJkX2Rlcml2
YXRpdmVzCiAgICAgLy8gICBHTF9PRVNfcmdiOF9yZ2JhOAogICAgIC8vICAgR0xfT0VTX3ZlcnRl
eF9hcnJheV9vYmplY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcAppbmRleCA0ZTJlNDBkMGQ2ZGU4YTQ4ZjFlY2ZhZGIy
MTFhNGMzMmI4ZjhhYWMyLi40YjViOWZkNGUyNjcxODQ4NzZhYTYyOWIyNjA1ZGMwZGUzNWM1NDcz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQzRC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0M0QuY3BwCkBAIC0xNzYsNiArMTc2LDkgQEAgYm9vbCBHcmFwaGljc0NvbnRleHQz
RDo6Y29tcHV0ZUZvcm1hdEFuZFR5cGVQYXJhbWV0ZXJzKEdDM0RlbnVtIGZvcm1hdCwKICAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpGTE9BVDogLy8gT0VTX3RleHR1cmVfZmxvYXQKICAgICAg
ICAgKmJ5dGVzUGVyQ29tcG9uZW50ID0gc2l6ZW9mKEdDM0RmbG9hdCk7CiAgICAgICAgIGJyZWFr
OworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkhBTEZfRkxPQVRfT0VTOiAvLyBPRVNfdGV4
dHVyZV9oYWxmX2Zsb2F0CisgICAgICAgICpieXRlc1BlckNvbXBvbmVudCA9IHNpemVvZihHQzNE
aGFsZmZsb2F0KTsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzQ29udGV4dDNELmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQzRC5oCmluZGV4IDY0OWQ1MDQxODM5MzdkNGQzYzg4YWViZTI2OWRj
MDk0MWQ2MGU4NWUuLmUxMjI4ZWZhOWY4OWNkMTNkMjk1MDU4NmQ5ZDExMmFjZjBiZTRlYzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dDNELmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250
ZXh0M0QuaApAQCAtMjUxLDYgKzI1MSw3IEBAIHB1YmxpYzoKICAgICAgICAgSU5UID0gMHgxNDA0
LAogICAgICAgICBVTlNJR05FRF9JTlQgPSAweDE0MDUsCiAgICAgICAgIEZMT0FUID0gMHgxNDA2
LAorICAgICAgICBIQUxGX0ZMT0FUX09FUyA9IDB4OEQ2MSwKICAgICAgICAgRklYRUQgPSAweDE0
MEMsCiAgICAgICAgIERFUFRIX0NPTVBPTkVOVCA9IDB4MTkwMiwKICAgICAgICAgQUxQSEEgPSAw
eDE5MDYsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc1R5cGVzM0QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
VHlwZXMzRC5oCmluZGV4IDIwM2EzZmQ4YWFiNDVjMjYxMGVjNThiMDc1ZTY1YzllYmNkZjI5NzMu
LjFmYThlYWFiMTdlMDVjMzFkZDkxZmY4ZTU1ZTRiNmIwODRlMTYwNDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMzRC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMzRC5oCkBAIC00MSw2
ICs0MSw3IEBAIHR5cGVkZWYgaW50IEdDM0RpbnQ7CiB0eXBlZGVmIGludCBHQzNEc2l6ZWk7CiB0
eXBlZGVmIHVuc2lnbmVkIGludCBHQzNEdWludDsKIHR5cGVkZWYgZmxvYXQgR0MzRGZsb2F0Owor
dHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBHQzNEaGFsZmZsb2F0OwogdHlwZWRlZiBmbG9hdCBHQzNE
Y2xhbXBmOwogdHlwZWRlZiBpbnRwdHJfdCBHQzNEaW50cHRyOwogdHlwZWRlZiBpbnRwdHJfdCBH
QzNEc2l6ZWlwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcAppbmRleCA1
YzJmYWJjMWNiOTI0MmEwYzIwYmM3NWE3ZTAwMjBjNzZhNzY1NjVjLi40ZDc4Njc4YjIxODcyZGJk
YjZjNDBjYmJjNjJjNDYzZWIwMzgxMGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9w
ZW5HTC5jcHAKQEAgLTI1Niw4ICsyNTYsMTkgQEAgYm9vbCBHcmFwaGljc0NvbnRleHQzRDo6dGV4
SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVtIGludGUKICAg
ICAgICAgICAgIG9wZW5HTEludGVybmFsRm9ybWF0ID0gR0xfUkdCQTMyRl9BUkI7CiAgICAgICAg
IGVsc2UgaWYgKGZvcm1hdCA9PSBHTF9SR0IpCiAgICAgICAgICAgICBvcGVuR0xJbnRlcm5hbEZv
cm1hdCA9IEdMX1JHQjMyRl9BUkI7CisgICAgfSBlbHNlIGlmICh0eXBlID09IEhBTEZfRkxPQVRf
T0VTKSB7CisgICAgICAgIGlmIChmb3JtYXQgPT0gR0xfUkdCQSkKKyAgICAgICAgICAgIG9wZW5H
TEludGVybmFsRm9ybWF0ID0gR0xfUkdCQTE2Rl9BUkI7CisgICAgICAgIGVsc2UgaWYgKGZvcm1h
dCA9PSBHTF9SR0IpCisgICAgICAgICAgICBvcGVuR0xJbnRlcm5hbEZvcm1hdCA9IEdMX1JHQjE2
Rl9BUkI7CisgICAgICAgIGVsc2UgaWYgKGZvcm1hdCA9PSBHTF9MVU1JTkFOQ0UpCisgICAgICAg
ICAgICBvcGVuR0xJbnRlcm5hbEZvcm1hdCA9IEdMX0xVTUlOQU5DRTE2Rl9BUkI7CisgICAgICAg
IGVsc2UgaWYgKGZvcm1hdCA9PSBHTF9BTFBIQSkKKyAgICAgICAgICAgIG9wZW5HTEludGVybmFs
Rm9ybWF0ID0gR0xfQUxQSEExNkZfQVJCOworICAgICAgICBlbHNlIGlmIChmb3JtYXQgPT0gR0xf
TFVNSU5BTkNFX0FMUEhBKQorICAgICAgICAgICAgb3BlbkdMSW50ZXJuYWxGb3JtYXQgPSBHTF9M
VU1JTkFOQ0VfQUxQSEExNkZfQVJCOworICAgICAgICB0eXBlID0gR0xfSEFMRl9GTE9BVF9BUkI7
CiAgICAgfQotCiAgICAgdGV4SW1hZ2UyRERpcmVjdCh0YXJnZXQsIGxldmVsLCBvcGVuR0xJbnRl
cm5hbEZvcm1hdCwgd2lkdGgsIGhlaWdodCwgYm9yZGVyLCBmb3JtYXQsIHR5cGUsIHBpeGVscyk7
CiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjg0ODk1ODk5NzEzYWRkYzg0YTlmOWFhMGEx
NTE3OTdkMWQ4OGM3ZS4uZDYyODc0NmVlNmIxMTJlYmE0OTY5MmFkYWNiNGQwOTQ2ZDM0ZTZlZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAyLTI4ICBOYXlhbiBLdW1hciBLICA8bmF5YW5r
a0Btb3Rvcm9sYS5jb20+CisKKyAgICAgICAgW1dlYkdMXSBTdXBwb3J0IGZvciB0ZXhJbWFnZTJE
IG9mIHR5cGUgSEFMRl9GTE9BVF9PRVMgd2l0aCBBcnJheUJ1ZmZlclZpZXcuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA4MTgKKworICAgICAgICBS
ZXZpZXdlZCBieSBLZW5uZXRoIFJ1c3NlbGwuCisKKyAgICAgICAgQXMgcGVyIE9FU190ZXh0dXJl
X2hhbGZfZmxvYXQgc3BlY2lmaWNhdGlvbiB0ZXhJbWFnZTJEIGFuZCB0ZXhTdWJJbWFnZTJEIGVu
dHJ5CisgICAgICAgIHBvaW50cyB0YWtpbmcgQXJyYXlCdWZmZXJWaWV3IHNob3VsZCBleHRlbmRl
ZCB0byBhY2NlcHQgbnVsbCB3aXRoIHRoZSBwaXhlbCB0eXBlCisgICAgICAgIEhBTEZfRkxPQVRf
T0VTLgorCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvY29uc3RhbnRzLmh0bWw6CisgICAg
ICAgICogZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtaGFsZi1mbG9hdC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYt
ZmxvYXQtbm90LXN1cHBvcnRlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
Y2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtbm90LXN1cHBvcnRlZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0
Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTAzLTAxICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdh
bGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIEdUSyBnYXJkZW5pbmcuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb25zdGFudHMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnN0YW50cy5odG1sCmluZGV4IDc1YzA5MDMxZmFkOWVi
NGY2MmUzMjI1NGM1MTc0NjI1NjMwMzRjMWMuLjhiNmJjOTRiZjY0NTY4MTNmMWFhM2MwODUzNzdi
OTI4YjdmNjM0MDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2Nv
bnN0YW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnN0YW50
cy5odG1sCkBAIC0yMTIsNiArMjEyLDcgQEAgVU5TSUdORURfU0hPUlQgICAgICAgICAgICAgICAg
IDogMHgxNDAzLAogSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMHgxNDA0LAogVU5T
SUdORURfSU5UICAgICAgICAgICAgICAgICAgIDogMHgxNDA1LAogRkxPQVQgICAgICAgICAgICAg
ICAgICAgICAgICAgIDogMHgxNDA2LAorSEFMRl9GTE9BVF9PRVMgICAgICAgICAgICAgICAgIDog
MHg4RDYxLAogICAgIAogICAgIC8qIFBpeGVsRm9ybWF0ICovCiBERVBUSF9DT01QT05FTlQgICAg
ICAgICAgICAgICAgOiAweDE5MDIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmJmYzk2NWZkODQ2NWViYmEzOWRkZDNiY2E5NjIzNzA2NjBlMTYyNTQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1o
YWxmLWZsb2F0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDg0IEBACitUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCB3aXRoIG51bGwv
bm9uLW51bGwgQXJyYXlCdWZmZXJWaWV3CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIFdlYkdMIGNvbnRleHQgZXhpc3RzCitUZXN0aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0
aCBleHRlbnNpb24gZGlzYWJsZWQsIGZvcm1hdCBSR0JBLCBhbmQgZGF0YSBudWxsLiBFeHBlY3Qg
RmFpbHVyZQorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4
dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBJTlZBTElEX0VOVU0gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUg
bXVzdCBiZSBkaWFsbG93ZWQgaWYgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBpc24ndCBlbmFibGVk
CitQQVNTIFN1Y2Nlc3NmdWxseSBlbmFibGVkIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQgZXh0ZW5z
aW9uCitUZXN0aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9y
bWF0IFJHQkEsIGFuZCBkYXRhIG51bGwuIEV4cGVjdCBTdWNjZXNzCitQQVNTIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91
bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
SGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gc2hvdWxkIHN1Y2NlZWQgaWYg
T0VTX3RleHR1cmVfaGFsZl9mbG9hdCBpcyBlbmFibGVkCitUZXN0aW5nIHRleHR1cmUgY3JlYXRp
b24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IFJHQiwgYW5kIGRhdGEgbnVsbC4gRXhw
ZWN0IFN1Y2Nlc3MKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUg
YWxsb2NhdGlvbiBzaG91bGQgc3VjY2VlZCBpZiBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGlzIGVu
YWJsZWQKK1Rlc3RpbmcgdGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBm
b3JtYXQgTFVNSU5BTkNFLCBhbmQgZGF0YSBudWxsLiBFeHBlY3QgU3VjY2VzcworUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0
dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIHNob3VsZCBzdWNj
ZWVkIGlmIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQgaXMgZW5hYmxlZAorVGVzdGluZyB0ZXh0dXJl
IGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBBTFBIQSwgYW5kIGRhdGEg
bnVsbC4gRXhwZWN0IFN1Y2Nlc3MKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBIYWxmIGZsb2F0aW5nIHBvaW50
IHRleHR1cmUgYWxsb2NhdGlvbiBzaG91bGQgc3VjY2VlZCBpZiBPRVNfdGV4dHVyZV9oYWxmX2Zs
b2F0IGlzIGVuYWJsZWQKK1Rlc3RpbmcgdGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBl
bmFibGVkLCBmb3JtYXQgTFVNSU5BTkNFX0FMUEhBLCBhbmQgZGF0YSBudWxsLiBFeHBlY3QgU3Vj
Y2VzcworUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVy
ZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0
aW9uIHNob3VsZCBzdWNjZWVkIGlmIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQgaXMgZW5hYmxlZAor
VGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBS
R0JBLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3Vs
ZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVS
QVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJlIGRp
YWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAorVGVzdGluZyB0ZXh0dXJl
IGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBSR0JBLCBhbmQgZGF0YSBu
b24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNT
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBIYWxmIGZs
b2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFy
cmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGgg
ZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBSR0JBLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0
IEZhaWx1cmUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRl
eHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRl
eHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBp
cyBub3QtbnVsbAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJs
ZWQsIGZvcm1hdCBSR0IsIGFuZCBkYXRhIG5vbi1udWxsLiBFeHBlY3QgRmFpbHVyZQorUEFTUyBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIg
c2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJ
TlZBTElEX09QRVJBVElPTiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9u
IG11c3QgYmUgZGlhbGxvd2VkIHdoZW4gQXJyYXlCdWZmZXJWaWV3IGlzIG5vdC1udWxsCitUZXN0
aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0IFJHQiwg
YW5kIGRhdGEgbm9uLW51bGwuIEV4cGVjdCBGYWlsdXJlCitQQVNTIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3Vj
Y2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9O
IDogSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gbXVzdCBiZSBkaWFsbG93
ZWQgd2hlbiBBcnJheUJ1ZmZlclZpZXcgaXMgbm90LW51bGwKK1Rlc3RpbmcgdGV4dHVyZSBjcmVh
dGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQgUkdCLCBhbmQgZGF0YSBub24tbnVs
bC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5n
IHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVm
ZmVyVmlldyBpcyBub3QtbnVsbAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5z
aW9uIGVuYWJsZWQsIGZvcm1hdCBMVU1JTkFOQ0UsIGFuZCBkYXRhIG5vbi1udWxsLiBFeHBlY3Qg
RmFpbHVyZQorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4
dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4
dHVyZSBhbGxvY2F0aW9uIG11c3QgYmUgZGlhbGxvd2VkIHdoZW4gQXJyYXlCdWZmZXJWaWV3IGlz
IG5vdC1udWxsCitUZXN0aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxl
ZCwgZm9ybWF0IExVTUlOQU5DRSwgYW5kIGRhdGEgbm9uLW51bGwuIEV4cGVjdCBGYWlsdXJlCitQ
QVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFt
ZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IElOVkFMSURfT1BFUkFUSU9OIDogSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9j
YXRpb24gbXVzdCBiZSBkaWFsbG93ZWQgd2hlbiBBcnJheUJ1ZmZlclZpZXcgaXMgbm90LW51bGwK
K1Rlc3RpbmcgdGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQg
TFVNSU5BTkNFLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVw
IHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJ
RF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBtdXN0
IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAorVGVzdGluZyB0
ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZvcm1hdCBBTFBIQSwgYW5k
IGRhdGEgbm9uLW51bGwuIEV4cGVjdCBGYWlsdXJlCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2Vl
ZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDog
SGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gbXVzdCBiZSBkaWFsbG93ZWQg
d2hlbiBBcnJheUJ1ZmZlclZpZXcgaXMgbm90LW51bGwKK1Rlc3RpbmcgdGV4dHVyZSBjcmVhdGlv
biB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQgQUxQSEEsIGFuZCBkYXRhIG5vbi1udWxs
LiBFeHBlY3QgRmFpbHVyZQorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IEhhbGYgZmxvYXRpbmcg
cG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIG11c3QgYmUgZGlhbGxvd2VkIHdoZW4gQXJyYXlCdWZm
ZXJWaWV3IGlzIG5vdC1udWxsCitUZXN0aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNp
b24gZW5hYmxlZCwgZm9ybWF0IEFMUEhBLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1
cmUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUg
cGFyYW1ldGVyIHNldHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogSU5WQUxJRF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUg
YWxsb2NhdGlvbiBtdXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3Qt
bnVsbAorVGVzdGluZyB0ZXh0dXJlIGNyZWF0aW9uIHdpdGggZXh0ZW5zaW9uIGVuYWJsZWQsIGZv
cm1hdCBMVU1JTkFOQ0VfQUxQSEEsIGFuZCBkYXRhIG5vbi1udWxsLiBFeHBlY3QgRmFpbHVyZQor
UEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJh
bWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBJTlZBTElEX09QRVJBVElPTiA6IEhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxv
Y2F0aW9uIG11c3QgYmUgZGlhbGxvd2VkIHdoZW4gQXJyYXlCdWZmZXJWaWV3IGlzIG5vdC1udWxs
CitUZXN0aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gZW5hYmxlZCwgZm9ybWF0
IExVTUlOQU5DRV9BTFBIQSwgYW5kIGRhdGEgbm9uLW51bGwuIEV4cGVjdCBGYWlsdXJlCitQQVNT
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRl
ciBzZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IElOVkFMSURfT1BFUkFUSU9OIDogSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRp
b24gbXVzdCBiZSBkaWFsbG93ZWQgd2hlbiBBcnJheUJ1ZmZlclZpZXcgaXMgbm90LW51bGwKK1Rl
c3RpbmcgdGV4dHVyZSBjcmVhdGlvbiB3aXRoIGV4dGVuc2lvbiBlbmFibGVkLCBmb3JtYXQgTFVN
SU5BTkNFX0FMUEhBLCBhbmQgZGF0YSBub24tbnVsbC4gRXhwZWN0IEZhaWx1cmUKK1BBU1MgZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNl
dHVwIHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5W
QUxJRF9PUEVSQVRJT04gOiBIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgYWxsb2NhdGlvbiBt
dXN0IGJlIGRpYWxsb3dlZCB3aGVuIEFycmF5QnVmZmVyVmlldyBpcyBub3QtbnVsbAorCitUZXN0
aW5nIGhhbGYgZmxvYXRpbmcgcG9pbnQgcmVuZGVyIHRhcmdldAorUEFTUyBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVyZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxk
IHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IEhh
bGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIHNob3VsZCBzdWNjZWVkIGlmIE9F
U190ZXh0dXJlX2hhbGZfZmxvYXQgaXMgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogUmVuZGVyaW5nIHRvIGhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4
dHVyZSBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDogcmVuZGVyaW5nIGZyb20gaGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIHNob3Vs
ZCBzdWNjZWVkCitQQVNTIHNob3VsZCBiZSBncmVlbgorVGVzdGluZyB0aGF0IGdldEV4dGVuc2lv
bigpIHJldHVybnMgdGhlIHNhbWUgb2JqZWN0IGVhY2ggdGltZQorUEFTUyBnbC5nZXRFeHRlbnNp
b24oIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKS5teVByb3BlcnR5IGlzIDIKKworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQtbm90LXN1
cHBvcnRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMt
dGV4dHVyZS1oYWxmLWZsb2F0LW5vdC1zdXBwb3J0ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjJmMWIzNTAyYThhYjgzMTgzOWJhYjg0ZWE3Mjc5MjU2Y2Q0YWUyNzEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0
LW5vdC1zdXBwb3J0ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDAgQEAKK1Rlc3Rpbmcgbm90
IHlldCBzdXBwb3J0ZWQgdGV4dHVyZSB1cGxvYWRzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCisKK1BBU1MgV2ViR0wgY29udGV4dCBleGlzdHMKK1BBU1MgU3VjY2Vzc2Z1bGx5IGVu
YWJsZWQgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBleHRlbnNpb24KKworVmVyaWZ5IHdoZXRoZXIg
dXBsb2FkaW5nIEltYWdlRGF0YSB2aWEgdGV4SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1cHBv
cnRlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogdGV4dHVy
ZSBwYXJhbWV0ZXIgc2V0dXAgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBJTlZBTElEX09QRVJBVElPTiA6IFVwbG9hZGluZyB0byBoYWxmIGZsb2F0IHRl
eHR1cmUgaXMgbm90IHlldCBzdXBwb3J0ZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUiA6IFVwbG9hZGluZyBudWxsIEFycmF5QnVmZmVyVmlldyB0byBoYWxmIGZs
b2F0IHRleHR1cmUgc2hvdWxkIHN1Y2NlZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBJTlZBTElEX09QRVJBVElPTiA6IFVwbG9hZGluZyB0byBoYWxmIGZsb2F0IHRleHR1cmUg
dXNpbmcgdGV4U3ViSW1hZ2UyRCBpcyBub3Qgc3VwcG9ydGVkIHlldAorCitWZXJpZnkgd2hldGhl
ciB1cGxvYWRpbmcgSFRNTEltYWdlRWxlbWVudCB2aWEgdGV4SW1hZ2UyRC90ZXhTdWJJbWFnZTJE
IGlzIHN1cHBvcnRlZAorCitWZXJpZnkgd2hldGhlciB1cGxvYWRpbmcgSFRNTENhbnZhc0VsZW1l
bnQgdmlhIHRleEltYWdlMkQvdGV4U3ViSW1hZ2UyRCBpcyBzdXBwb3J0ZWQKK1BBU1MgZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHRleHR1cmUgcGFyYW1ldGVyIHNldHVw
IHNob3VsZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJ
RF9PUEVSQVRJT04gOiBVcGxvYWRpbmcgdG8gaGFsZiBmbG9hdCB0ZXh0dXJlIGlzIG5vdCB5ZXQg
c3VwcG9ydGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBV
cGxvYWRpbmcgbnVsbCBBcnJheUJ1ZmZlclZpZXcgdG8gaGFsZiBmbG9hdCB0ZXh0dXJlIHNob3Vs
ZCBzdWNjZWVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogSU5WQUxJRF9PUEVS
QVRJT04gOiBVcGxvYWRpbmcgdG8gaGFsZiBmbG9hdCB0ZXh0dXJlIHVzaW5nIHRleFN1YkltYWdl
MkQgaXMgbm90IHN1cHBvcnRlZCB5ZXQKKworVmVyaWZ5IHdoZXRoZXIgdXBsb2FkaW5nIEhUTUxW
aWRlb0VsZW1lbnQgdmlhIHRleEltYWdlMkQvdGV4U3ViSW1hZ2UyRCBpcyBzdXBwb3J0ZWQKKwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitQQVNTIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBz
ZXR1cCBzaG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElO
VkFMSURfT1BFUkFUSU9OIDogVXBsb2FkaW5nIHRvIGhhbGYgZmxvYXQgdGV4dHVyZSBpcyBub3Qg
eWV0IHN1cHBvcnRlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogVXBsb2FkaW5nIG51bGwgQXJyYXlCdWZmZXJWaWV3IHRvIGhhbGYgZmxvYXQgdGV4dHVyZSBz
aG91bGQgc3VjY2VlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURf
T1BFUkFUSU9OIDogVXBsb2FkaW5nIHRvIGhhbGYgZmxvYXQgdGV4dHVyZSB1c2luZyB0ZXhTdWJJ
bWFnZTJEIGlzIG5vdCBzdXBwb3J0ZWQgeWV0CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiB0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZAor
UEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogVXBs
b2FkaW5nIHRvIGhhbGYgZmxvYXQgdGV4dHVyZSBpcyBub3QgeWV0IHN1cHBvcnRlZAorUEFTUyBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogVXBsb2FkaW5nIG51bGwgQXJy
YXlCdWZmZXJWaWV3IHRvIGhhbGYgZmxvYXQgdGV4dHVyZSBzaG91bGQgc3VjY2VlZAorUEFTUyBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IElOVkFMSURfT1BFUkFUSU9OIDogVXBsb2FkaW5n
IHRvIGhhbGYgZmxvYXQgdGV4dHVyZSB1c2luZyB0ZXhTdWJJbWFnZTJEIGlzIG5vdCBzdXBwb3J0
ZWQgeWV0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KyAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJl
LWhhbGYtZmxvYXQtbm90LXN1cHBvcnRlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
d2ViZ2wvb2VzLXRleHR1cmUtaGFsZi1mbG9hdC1ub3Qtc3VwcG9ydGVkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTA4ZTk0N2Q0ODUyY2JlNjliNmFjODUxNGFlNGNlNDkyNzBkZmU4NQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxv
YXQtbm90LXN1cHBvcnRlZC5odG1sCkBAIC0wLDAgKzEsMTcwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgT0VT
X3RleHR1cmVfaGFsZl9mbG9hdCBub3QgeWV0IGltcGxlbWVudGVkIENvbmZvcm1hbmNlIFRlc3Rz
PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2Rlc2t0b3AtZ2wt
Y29uc3RhbnRzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGNhbnZhcyBpZD0idGV4Y2FudmFzIiB3aWR0aD0iMSIgaGVpZ2h0PSIyIj48L2NhbnZhcz4KKzxz
Y3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdGluZyBub3QgeWV0IHN1cHBvcnRlZCB0ZXh0dXJlIHVw
bG9hZHMiKTsKK2RlYnVnKCIiKTsKKworaWYgKHdpbmRvdy5pbml0Tm9uS2hyb25vc0ZyYW1ld29y
aykgeworICAgIHdpbmRvdy5pbml0Tm9uS2hyb25vc0ZyYW1ld29yayh0cnVlKTsKK30KKworaWYg
KHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJH
TEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRp
bHM7Cit2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwordmFy
IGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IGZhbHNlOworCitpZiAoIWdsKSB7CisgICAgdGVzdEZhaWxlZCgiV2ViR0wgY29udGV4dCBk
b2VzIG5vdCBleGlzdHMiKTsKK30gZWxzZSB7CisgICAgdGVzdFBhc3NlZCgiV2ViR0wgY29udGV4
dCBleGlzdHMiKTsKKworICAgIGlmKCFnbC5nZXRFeHRlbnNpb24oIk9FU190ZXh0dXJlX2hhbGZf
ZmxvYXQiKSkgeworICAgICAgICB0ZXN0UGFzc2VkKCJObyBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0
IHN1cHBvcnQuIFRoaXMgaXMgbGVnYWwiKTsKKyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0UGFz
c2VkKCJTdWNjZXNzZnVsbHkgZW5hYmxlZCBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGV4dGVuc2lv
biIpOworICAgICAgICAKKyAgICAgICAgdmFyIGNhbnZhczJkID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRleGNhbnZhcyIpOworICAgICAgICB2YXIgY29udGV4dDJkID0gY2FudmFzMmQuZ2V0
Q29udGV4dCgiMmQiKTsKKworICAgICAgICBydW5JbWFnZURhdGFVbnN1cHBvcnRlZFRlc3QoY2Fu
dmFzMmQsIGNvbnRleHQyZCk7CisgICAgICAgIHJ1bkhUTUxJbWFnZUVsZW1lbnRVbnN1cHBvcnRl
ZFRlc3QoY2FudmFzMmQsIGNvbnRleHQyZCk7CisgICAgICAgIHJ1bkhUTUxDYW52YXNFbGVtZW50
VW5zdXBwb3J0ZWRUZXN0KGNhbnZhczJkLCBjb250ZXh0MmQpOworICAgICAgICBydW5IVE1MVmlk
ZW9FbGVtZW50VW5zdXBwb3J0ZWRUZXN0KGNhbnZhczJkLCBjb250ZXh0MmQpOworICAgIH0KK30K
KworZnVuY3Rpb24gYWxsb2NhdGVUZXh0dXJlKCkKK3sKKyAgICB2YXIgdGV4dHVyZSA9IGdsLmNy
ZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJl
KTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJ
TFRFUiwgZ2wuTkVBUkVTVCk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBn
bC5URVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpOworICAgIGdsLnRleFBhcmFtZXRlcmko
Z2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAg
IGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNM
QU1QX1RPX0VER0UpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0ZXh0
dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZCIpOworICAgIHJldHVybiB0ZXh0dXJl
OworfQorCitmdW5jdGlvbiBydW5UZXh0dXJlVXBsb2FkVGVzdChpbWFnZSkKK3sKKyAgICB2YXIg
dGV4dHVyZSA9IGFsbG9jYXRlVGV4dHVyZSgpOworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVS
RV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuSEFMRl9GTE9BVF9PRVMsIGltYWdlKTsKKyAg
ICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiVXBsb2FkaW5nIHRv
IGhhbGYgZmxvYXQgdGV4dHVyZSBpcyBub3QgeWV0IHN1cHBvcnRlZCIpOworCisgICAgLy8gQ2hl
Y2sgaWYgdXBsb2FkaW5nIEltYWdlRGF0YSB2aWEgdGV4U3ViSW1hZ2UyRCBpcyBzdXBwb3J0ZWQK
KyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDEsIDIsIDAsIGds
LlJHQkEsIGdsLkhBTEZfRkxPQVRfT0VTLCBudWxsKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SLCAiVXBsb2FkaW5nIG51bGwgQXJyYXlCdWZmZXJWaWV3IHRvIGhhbGYgZmxv
YXQgdGV4dHVyZSBzaG91bGQgc3VjY2VlZCIpOworICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuSEFMRl9GTE9BVF9PRVMsIGltYWdlKTsKKyAg
ICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiVXBsb2FkaW5nIHRv
IGhhbGYgZmxvYXQgdGV4dHVyZSB1c2luZyB0ZXhTdWJJbWFnZTJEIGlzIG5vdCBzdXBwb3J0ZWQg
eWV0Iik7Cit9CisKK2Z1bmN0aW9uIHJ1bkltYWdlRGF0YVVuc3VwcG9ydGVkVGVzdChjYW52YXMy
ZCwgY29udGV4dDJkKQoreworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiVmVyaWZ5IHdoZXRo
ZXIgdXBsb2FkaW5nIEltYWdlRGF0YSB2aWEgdGV4SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1
cHBvcnRlZCIpOworICAgIAorICAgIC8vIENoZWNrIGlmIHVwbG9hZGluZyBJbWFnZURhdGEgdmlh
IHRleEltYWdlMkQgaXMgc3VwcG9ydGVkCisgICAgdmFyIGltYWdlRGF0YSA9IGNvbnRleHQyZC5j
cmVhdGVJbWFnZURhdGEoMSwgMik7CisgICAgdmFyIGRhdGEgPSBpbWFnZURhdGEuZGF0YTsKKyAg
ICBkYXRhWzBdID0gMjU1OworICAgIGRhdGFbMV0gPSAwOworICAgIGRhdGFbMl0gPSAwOworICAg
IGRhdGFbM10gPSAyNTU7CisgICAgZGF0YVs0XSA9IDA7CisgICAgZGF0YVs1XSA9IDI1NTsKKyAg
ICBkYXRhWzZdID0gMDsKKyAgICBkYXRhWzddID0gMDsKKworICAgIHJ1blRleHR1cmVVcGxvYWRU
ZXN0KGltYWdlRGF0YSk7ICAgIAorfQorCitmdW5jdGlvbiBydW5IVE1MSW1hZ2VFbGVtZW50VW5z
dXBwb3J0ZWRUZXN0KGNhbnZhczJkLCBjb250ZXh0MmQpCit7CisgICAgZGVidWcoIiIpOworICAg
IGRlYnVnKCJWZXJpZnkgd2hldGhlciB1cGxvYWRpbmcgSFRNTEltYWdlRWxlbWVudCB2aWEgdGV4
SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1cHBvcnRlZCIpOworCisgICAgdmFyIGltYWdlRGF0
YSA9IGNvbnRleHQyZC5jcmVhdGVJbWFnZURhdGEoMSwgMik7CisgICAgdmFyIGRhdGEgPSBpbWFn
ZURhdGEuZGF0YTsKKyAgICBkYXRhWzBdID0gMjU1OworICAgIGRhdGFbMV0gPSAwOworICAgIGRh
dGFbMl0gPSAwOworICAgIGRhdGFbM10gPSAyNTU7CisgICAgZGF0YVs0XSA9IDA7CisgICAgZGF0
YVs1XSA9IDI1NTsKKyAgICBkYXRhWzZdID0gMDsKKyAgICBkYXRhWzddID0gMDsKKyAgICBjb250
ZXh0MmQucHV0SW1hZ2VEYXRhKGltYWdlRGF0YSwgMCwgMCk7CisKKyAgICB2YXIgbmV3SW1hZ2Ug
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKKyAgICBuZXdJbWFnZS5vbmxvYWQgPSBm
dW5jdGlvbigpIHsKKyAgICAgICAgcnVuVGV4dHVyZVVwbG9hZFRlc3QobmV3SW1hZ2UpOworICAg
IH0KKyAgICBuZXdJbWFnZS5zcmMgPSBjYW52YXMyZC50b0RhdGFVUkwoKTsKK30KKworZnVuY3Rp
b24gc2V0Q2FudmFzVG9SZWRHcmVlbihjdHgpIHsKKyAgICB2YXIgd2lkdGggPSBjdHguY2FudmFz
LndpZHRoOworICAgIHZhciBoZWlnaHQgPSBjdHguY2FudmFzLmhlaWdodDsKKyAgICB2YXIgaGFs
ZkhlaWdodCA9IE1hdGguZmxvb3IoaGVpZ2h0IC8gMik7CisgICAgY3R4LmZpbGxTdHlsZSA9ICIj
ZmYwMDAwIjsKKyAgICBjdHguZmlsbFJlY3QoMCwgMCwgd2lkdGgsIGhhbGZIZWlnaHQpOworICAg
IGN0eC5maWxsU3R5bGUgPSAiIzAwZmYwMCI7CisgICAgY3R4LmZpbGxSZWN0KDAsIGhhbGZIZWln
aHQsIHdpZHRoLCBoZWlnaHQgLSBoYWxmSGVpZ2h0KTsKK30KKworZnVuY3Rpb24gcnVuSFRNTENh
bnZhc0VsZW1lbnRVbnN1cHBvcnRlZFRlc3QoY2FudmFzMmQsIGNvbnRleHQyZCkKK3sKKyAgICBk
ZWJ1ZygiIik7CisgICAgZGVidWcoIlZlcmlmeSB3aGV0aGVyIHVwbG9hZGluZyBIVE1MQ2FudmFz
RWxlbWVudCB2aWEgdGV4SW1hZ2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1cHBvcnRlZCIpOworICAg
IAorICAgIGNvbnRleHQyZC53aWR0aCA9IDE7CisgICAgY29udGV4dDJkLmhlaWdodCA9IDI7Cisg
ICAgc2V0Q2FudmFzVG9SZWRHcmVlbihjb250ZXh0MmQpOworCisgICAgcnVuVGV4dHVyZVVwbG9h
ZFRlc3QoY2FudmFzMmQpOworfQorCitmdW5jdGlvbiBydW5IVE1MVmlkZW9FbGVtZW50VW5zdXBw
b3J0ZWRUZXN0KGNhbnZhczJkLCBjb250ZXh0MmQpCit7CisgICAgZGVidWcoIiIpOworICAgIGRl
YnVnKCJWZXJpZnkgd2hldGhlciB1cGxvYWRpbmcgSFRNTFZpZGVvRWxlbWVudCB2aWEgdGV4SW1h
Z2UyRC90ZXhTdWJJbWFnZTJEIGlzIHN1cHBvcnRlZCIpOworCisgICAgdmFyIGluZm8gPSB7IHNy
YzogInJlc291cmNlcy9yZWQtZ3JlZW4ubXA0IiwgdHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPSJh
dmMxLjQyRTAxRSwgbXA0YS40MC4yIid9OworICAgIHZhciB2aWRlbyA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInZpZGVvIik7CisgICAgaWYgKCF2aWRlby5jYW5QbGF5VHlwZSkgeworICAgICAg
ICB0ZXN0RmFpbGVkKCJ2aWRlby5jYW5QbGF5VHlwZSByZXF1aXJlZCBtZXRob2QgaXMgbWlzc2lu
ZyIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQodmlkZW8pOworICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoCisgICAgICAgICJwbGF5aW5n
IiwgZnVuY3Rpb24oKSB7IHJ1blRleHR1cmVVcGxvYWRUZXN0KHZpZGVvKTsgZmluaXNoVGVzdCgp
OyB9LCB0cnVlKTsKKyAgICB2aWRlby50eXBlID0gaW5mby50eXBlOworICAgIHZpZGVvLnNyYyA9
IGluZm8uc3JjOworICAgIHZpZGVvLmxvb3AgPSB0cnVlOworICAgIHZpZGVvLndpZHRoID0gMTsK
KyAgICB2aWRlby5oZWlnaHQgPSAyOworICAgIHZpZGVvLnBsYXkoKTsKKworfQorCitkZWJ1Zygi
Iik7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOTZkNGQxMDA2MWY1MGRkMjY1YmVjMTM4ZDdjNmYxZjQ4NDliMDlkMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJl
LWhhbGYtZmxvYXQuaHRtbApAQCAtMCwwICsxLDI0OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIE9FU190ZXh0
dXJlX2hhbGZfZmxvYXQgQ29uZm9ybWFuY2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQv
amF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHN0eWxlPSJ3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4
OyI+IDwvY2FudmFzPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ0ZXN0
RnJhZ21lbnRTaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHNhbXBsZXIyRCB0ZXg7Cit1bmlmb3JtIHZlYzQgc3VidHJh
Y3RvcjsKK3ZhcnlpbmcgdmVjMiB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7CisgICAgdmVjNCBj
b2xvciA9IHRleHR1cmUyRCh0ZXgsIHRleENvb3JkKTsKKyAgICBpZiAoYWJzKGNvbG9yLnIgLSBz
dWJ0cmFjdG9yLnIpICsKKyAgICAgICAgYWJzKGNvbG9yLmcgLSBzdWJ0cmFjdG9yLmcpICsKKyAg
ICAgICAgYWJzKGNvbG9yLmIgLSBzdWJ0cmFjdG9yLmIpICsKKyAgICAgICAgYWJzKGNvbG9yLmEg
LSBzdWJ0cmFjdG9yLmEpIDwgOC4wKSB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMC4w
LCAxLjAsIDAuMCwgMS4wKTsKKyAgICB9IGVsc2UgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSB2
ZWM0KDEuMCwgMC4wLCAwLjAsIDEuMCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8IS0tIFNoYWRl
cnMgZm9yIHRlc3RpbmcgaGFsZiBmbG9hdGluZy1wb2ludCByZW5kZXIgdGFyZ2V0cyAtLT4KKzxz
Y3JpcHQgaWQ9InBvc2l0aW9uVmVydGV4U2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+
CithdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0
aW9uID0gdlBvc2l0aW9uOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmbG9hdGluZ1BvaW50
RnJhZ21lbnRTaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgordm9pZCBtYWluKCkK
K3sKKyAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDEwMDAwLjAsIDEwMDAwLjAsIDEwMDAwLjAsIDEw
MDAwLjApOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGUgZnVuY3Rpb25hbGl0eSBvZiBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IHdpdGgg
bnVsbC9ub24tbnVsbCBBcnJheUJ1ZmZlclZpZXciKTsKK2RlYnVnKCIiKTsKKworaWYgKHdpbmRv
dy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9y
c1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2
YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwordmFyIGdsID0g
d3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOworCitpZiAoIWdsKSB7CisgICAgdGVzdEZhaWxl
ZCgiV2ViR0wgY29udGV4dCBkb2VzIG5vdCBleGlzdHMiKTsKK30gZWxzZSB7CisgICAgdGVzdFBh
c3NlZCgiV2ViR0wgY29udGV4dCBleGlzdHMiKTsKKworICAgIC8vIFZlcmlmeSB0aGF0IGFsbG9j
YXRpb24gb2YgdGV4dHVyZSBmYWlscyBpZiBleHRlbnNpb24gaXMgbm90IGVuYWJsZWQKKyAgICBy
dW5UZXh0dXJlQ3JlYXRpb25UZXN0KGZhbHNlKTsKKworICAgIGlmKCFnbC5nZXRFeHRlbnNpb24o
Ik9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKSkgeworICAgICAgICB0ZXN0UGFzc2VkKCJObyBPRVNf
dGV4dHVyZV9oYWxmX2Zsb2F0IHN1cHBvcnQuIFRoaXMgaXMgbGVnYWwiKTsKKyAgICB9IGVsc2Ug
eworICAgICAgICB0ZXN0UGFzc2VkKCJTdWNjZXNzZnVsbHkgZW5hYmxlZCBPRVNfdGV4dHVyZV9o
YWxmX2Zsb2F0IGV4dGVuc2lvbiIpOworCisgICAgICAgIC8vIENoZWNrIGlmIGNyZWF0aW9uIG9m
IHRleHR1cmUgc3VjY2VlZCdzIHdpdGggdmFyaW91cyBmb3JtYXRzIGFuZCBudWxsIEFycmF5QnVm
ZmVyVmlldworICAgICAgICB2YXIgZm9ybWF0cyA9IFtnbC5SR0JBLCBnbC5SR0IsIGdsLkxVTUlO
QU5DRSwgZ2wuQUxQSEEsIGdsLkxVTUlOQU5DRV9BTFBIQV07CisgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgZm9ybWF0cy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgcnVuVGV4dHVyZUNy
ZWF0aW9uVGVzdCh0cnVlLCBmb3JtYXRzW2ldLCBudWxsKTsKKyAgICAgICAgfQorICAgICAgICAK
KyAgICAgICAgLy8gVGV4dHVyZSBjcmVhdGlvbiBzaG91bGQgZmFpbCB3aGVuIHBhc3NlZCB3aXRo
IG5vbi1udWxsIEFycmF5QnVmZmVyVmlldworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZv
cm1hdHMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIHZhciB3aWR0aCA9IDI7CisgICAgICAg
ICAgICB2YXIgaGVpZ2h0ID0gMjsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgLy8gRmxvYXQz
MkFycmF5CisgICAgICAgICAgICB2YXIgZmxvYXQzMkRhdGEgPSBuZXcgRmxvYXQzMkFycmF5KHdp
ZHRoICogaGVpZ2h0ICogZ2V0TnVtYmVyT2ZDaGFubmVscyhmb3JtYXRzW2ldKSk7CisgICAgICAg
ICAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgZmxvYXQzMkRhdGEubGVuZ3RoOyBpaSsrKSB7Cisg
ICAgICAgICAgICAgICAgZmxvYXQzMkRhdGFbaWldID0gMTAwMDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIHJ1blRleHR1cmVDcmVhdGlvblRlc3QodHJ1ZSwgZm9ybWF0c1tpXSwgZmxvYXQz
MkRhdGEpOworCisgICAgICAgICAgICAvLyBJbnQxNkFycmF5CisgICAgICAgICAgICB2YXIgaW50
MTZEYXRhID0gbmV3IEludDE2QXJyYXkod2lkdGggKiBoZWlnaHQgKiBnZXROdW1iZXJPZkNoYW5u
ZWxzKGZvcm1hdHNbaV0pKTsKKyAgICAgICAgICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCAgaW50
MTZEYXRhLmxlbmd0aDsgaWkrKykgeworICAgICAgICAgICAgICAgIGludDE2RGF0YVtpaV0gPSAx
MDAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcnVuVGV4dHVyZUNyZWF0aW9uVGVzdCh0
cnVlLCBmb3JtYXRzW2ldLCBpbnQxNkRhdGEpOworCisgICAgICAgICAgICAvLyBVaW50MTZBcnJh
eQorICAgICAgICAgICAgdmFyIHVpbnQxNkRhdGEgPSBuZXcgVWludDE2QXJyYXkod2lkdGggKiBo
ZWlnaHQgKiBnZXROdW1iZXJPZkNoYW5uZWxzKGZvcm1hdHNbaV0pKTsKKyAgICAgICAgICAgIGZv
ciAodmFyIGlpID0gMDsgaWkgPCAgdWludDE2RGF0YS5sZW5ndGg7IGlpKyspIHsKKyAgICAgICAg
ICAgICAgICB1aW50MTZEYXRhW2lpXSA9IDEwMDA7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBydW5UZXh0dXJlQ3JlYXRpb25UZXN0KHRydWUsIGZvcm1hdHNbaV0sIHVpbnQxNkRhdGEpOyAg
ICAgICAgICAgIAorICAgICAgICB9CisKKyAgICAgICAgLy8gQ2hlY2sgaWYgYXR0YWNoaW5nIHRl
eHR1cmUgYXMgRkJPIHRhcmdldCBzdWNjZWVkcyAoTm90IG1hbmRhdG9yeSkKKyAgICAgICAgcnVu
UmVuZGVyVGFyZ2V0VGVzdCgpOworICAgICAgICAvLyBDaGVjayBvZiBnZXRFeHRlbnNpb24oKSBy
ZXR1cm5zIHNhbWUgb2JqZWN0CisgICAgICAgIHJ1blVuaXF1ZU9iamVjdFRlc3QoKTsKKyAgICB9
Cit9CisKK2Z1bmN0aW9uIGdldE51bWJlck9mQ2hhbm5lbHMoZm9ybWF0KQoreworICAgIGlmIChm
b3JtYXQgPT0gZ2wuUkdCQSkKKyAgICAgICAgcmV0dXJuIDQ7CisgICAgZWxzZSBpZiAoZm9ybWF0
ID09IGdsLlJHQikKKyAgICAgICAgcmV0dXJuIDM7CisgICAgZWxzZSBpZiAoZm9ybWF0ID09IGds
LkxVTUlOQU5DRSB8fCBmb3JtYXQgPT0gZ2wuQUxQSEEpCisgICAgICAgIHJldHVybiAxOworICAg
IGVsc2UgaWYgKGZvcm1hdCA9PSBnbC5MVU1JTkFOQ0VfQUxQSEEpCisgICAgICAgIHJldHVybiAy
OworfQorCitmdW5jdGlvbiBnZXRGb3JtYXROYW1lKGZvcm1hdCkKK3sKKyAgICBpZiAoZm9ybWF0
ID09IGdsLlJHQkEpCisgICAgICAgIHJldHVybiAiUkdCQSI7CisgICAgZWxzZSBpZiAoZm9ybWF0
ID09IGdsLlJHQikKKyAgICAgICAgcmV0dXJuICJSR0IiOworICAgIGVsc2UgaWYgKGZvcm1hdCA9
PSBnbC5MVU1JTkFOQ0UpCisgICAgICAgIHJldHVybiAiTFVNSU5BTkNFIjsKKyAgICBlbHNlIGlm
IChmb3JtYXQgPT0gZ2wuQUxQSEEpCisgICAgICAgIHJldHVybiAiQUxQSEEiOworICAgIGVsc2Ug
aWYgKGZvcm1hdCA9PSBnbC5MVU1JTkFOQ0VfQUxQSEEpCisgICAgICAgIHJldHVybiAiTFVNSU5B
TkNFX0FMUEhBIjsKK30KKworZnVuY3Rpb24gYWxsb2NhdGVUZXh0dXJlKCkKK3sKKyAgICB2YXIg
dGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhU
VVJFXzJELCB0ZXh0dXJlKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGds
LlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShn
bC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpOworICAgIGds
LnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1Q
X1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVS
RV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wu
Tk9fRVJST1IsICJ0ZXh0dXJlIHBhcmFtZXRlciBzZXR1cCBzaG91bGQgc3VjY2VlZCIpOworICAg
IHJldHVybiB0ZXh0dXJlOworfQorCitmdW5jdGlvbiBydW5UZXh0dXJlQ3JlYXRpb25UZXN0KGV4
dGVuc2lvbkVuYWJsZWQsIG9wdF9mb3JtYXQsIG9wdF9kYXRhKQoreworICAgIHZhciBmb3JtYXQg
PSBvcHRfZm9ybWF0IHx8IGdsLlJHQkE7CisgICAgdmFyIGRhdGEgPSBvcHRfZGF0YSB8fCBudWxs
OworICAgIHZhciBleHBlY3RTdWNjZXNzID0gdHJ1ZTsKKyAgICAKKyAgICBpZiAoIWV4dGVuc2lv
bkVuYWJsZWQgfHwgZGF0YSkKKyAgICAgICAgZXhwZWN0U3VjY2VzcyA9IGZhbHNlOworICAgIGRl
YnVnKCJUZXN0aW5nIHRleHR1cmUgY3JlYXRpb24gd2l0aCBleHRlbnNpb24gIiArIChleHRlbnNp
b25FbmFibGVkID8gImVuYWJsZWQiIDogImRpc2FibGVkIikgKworICAgICAgICAgICIsIGZvcm1h
dCAiICsgZ2V0Rm9ybWF0TmFtZShmb3JtYXQpICsgIiwgYW5kIGRhdGEgIiArIChkYXRhID8gIm5v
bi1udWxsIiA6ICJudWxsIikgKworICAgICAgICAgICIuIEV4cGVjdCAiICsgKGV4cGVjdFN1Y2Nl
c3MgPyAiU3VjY2VzcyIgOiAiRmFpbHVyZSIpKTsgICAKKworICAgIHZhciB0ZXh0dXJlID0gYWxs
b2NhdGVUZXh0dXJlKCk7CisgICAgdmFyIHdpZHRoID0gMjsKKyAgICB2YXIgaGVpZ2h0ID0gMjsK
KyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGZvcm1hdCwgd2lkdGgsIGhlaWdo
dCwgMCwgZm9ybWF0LCBnbC5IQUxGX0ZMT0FUX09FUywgZGF0YSk7CisgICAgaWYoIWV4dGVuc2lv
bkVuYWJsZWQpIHsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0VOVU0s
ICJIYWxmIGZsb2F0aW5nIHBvaW50IHRleHR1cmUgbXVzdCBiZSBkaWFsbG93ZWQgaWYgT0VTX3Rl
eHR1cmVfaGFsZl9mbG9hdCBpc24ndCBlbmFibGVkIik7CisgICAgICAgIHJldHVybjsKKyAgICB9
IGVsc2UgaWYgKGRhdGEpIHsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElE
X09QRVJBVElPTiwgIkhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBhbGxvY2F0aW9uIG11c3Qg
YmUgZGlhbGxvd2VkIHdoZW4gQXJyYXlCdWZmZXJWaWV3IGlzIG5vdC1udWxsIik7CisgICAgICAg
IHJldHVybjsKKyAgICB9IGVsc2UgeworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5P
X0VSUk9SLCAiSGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gc2hvdWxkIHN1
Y2NlZWQgaWYgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBpcyBlbmFibGVkIik7CisgICAgfQorfQor
CitmdW5jdGlvbiBjaGVja1JlbmRlcmluZ1Jlc3VsdHMoKQoreworICAgIHd0dS5jaGVja0NhbnZh
cyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIpOworfQorCitmdW5jdGlv
biBydW5SZW5kZXJUYXJnZXRUZXN0KHRlc3RQcm9ncmFtKQoreworICAgIGRlYnVnKCIiKTsKKyAg
ICBkZWJ1ZygiVGVzdGluZyBoYWxmIGZsb2F0aW5nIHBvaW50IHJlbmRlciB0YXJnZXQiKTsKKwor
ICAgIHZhciB0ZXh0dXJlID0gYWxsb2NhdGVUZXh0dXJlKCk7CisgICAgdmFyIHdpZHRoID0gMjsK
KyAgICB2YXIgaGVpZ2h0ID0gMjsKKyAgICAKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIGdsLlJHQkEsIHdpZHRoLCBoZWlnaHQsIDAsIGdsLlJHQkEsIGdsLkhBTEZfRkxPQVRf
T0VTLCBudWxsKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiSGFsZiBm
bG9hdGluZyBwb2ludCB0ZXh0dXJlIGFsbG9jYXRpb24gc2hvdWxkIHN1Y2NlZWQgaWYgT0VTX3Rl
eHR1cmVfaGFsZl9mbG9hdCBpcyBlbmFibGVkIik7CisKKyAgICAvLyBUcnkgdG8gdXNlIHRoaXMg
dGV4dHVyZSBhcyByZW5kZXIgdGFyZ2V0CisgICAgdmFyIGZibyA9IGdsLmNyZWF0ZUZyYW1lYnVm
ZmVyKCk7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAg
IGdsLmZyYW1lYnVmZmVyVGV4dHVyZTJEKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hN
RU5UMCwgZ2wuVEVYVFVSRV8yRCwgdGV4dHVyZSwgMCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wu
VEVYVFVSRV8yRCwgbnVsbCk7CisKKyAgICAvLyBJdCBpcyBsZWdhbCBmb3IgYSBXZWJHTCBpbXBs
ZW1lbnRhdGlvbiBleHBvc2luZyB0aGUgT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBleHRlbnNpb24g
dG8KKyAgICAvLyBzdXBwb3J0IGhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZXMgYnV0IG5vdCBh
cyBhdHRhY2htZW50cyB0byBmcmFtZWJ1ZmZlciBvYmplY3RzLgorICAgIGlmIChnbC5jaGVja0Zy
YW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSAhPSBnbC5GUkFNRUJVRkZFUl9DT01QTEVU
RSkgeworICAgICAgICBkZWJ1ZygiSGFsZiBmbG9hdGluZyBwb2ludCByZW5kZXIgdGFyZ2V0cyBu
b3Qgc3VwcG9ydGVkIC0tIHRoaXMgaXMgbGVnYWwiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIHZhciByZW5kZXJQcm9ncmFtID0KKyAgICAgICAgd3R1LnNldHVwUHJvZ3JhbShnbCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICBbInBvc2l0aW9uVmVydGV4U2hhZGVyIiwgImZsb2F0
aW5nUG9pbnRGcmFnbWVudFNoYWRlciJdLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsndlBv
c2l0aW9uJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgWzBdKTsKKyAgICB3dHUuZHJhd1F1
YWQoZ2wpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJSZW5kZXJpbmcg
dG8gaGFsZiBmbG9hdGluZyBwb2ludCB0ZXh0dXJlIHNob3VsZCBzdWNjZWVkIik7CisKKyAgICAv
LyBOb3cgc2FtcGxlIGZyb20gdGhlIGhhbGYgZmxvYXRpbmctcG9pbnQgdGV4dHVyZSBhbmQgdmVy
aWZ5IHdlIGdvdCB0aGUgY29ycmVjdCB2YWx1ZXMuCisgICAgdmFyIHRleHR1cmVkU2hhZGVycyA9
IFsKKyAgICAgIHd0dS5zZXR1cFNpbXBsZVRleHR1cmVWZXJ0ZXhTaGFkZXIoZ2wpLAorICAgICAg
ICAgICJ0ZXN0RnJhZ21lbnRTaGFkZXIiCisgICAgICBdOworICAgIHZhciB0ZXN0UHJvZ3JhbSA9
CisgICAgICAgIHd0dS5zZXR1cFByb2dyYW0oZ2wsCisgICAgICAgICAgICAgICAgICAgICAgICBb
d3R1LnNldHVwU2ltcGxlVGV4dHVyZVZlcnRleFNoYWRlcihnbCksICJ0ZXN0RnJhZ21lbnRTaGFk
ZXIiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFsndlBvc2l0aW9uJywgJ3RleENvb3JkMCdd
LAorICAgICAgICAgICAgICAgICAgICAgICAgWzAsIDFdKTsKKyAgICB2YXIgcXVhZFBhcmFtZXRl
cnMgPSB3dHUuc2V0dXBVbml0UXVhZChnbCwgMCwgMSk7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVy
KGdsLkZSQU1FQlVGRkVSLCBudWxsKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJE
LCB0ZXh0dXJlKTsKKyAgICBnbC51c2VQcm9ncmFtKHRlc3RQcm9ncmFtKTsKKyAgICBnbC51bmlm
b3JtMWkoZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHRlc3RQcm9ncmFtLCAidGV4IiksIDApOworICAg
IHd0dS5kcmF3UXVhZChnbCk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwg
InJlbmRlcmluZyBmcm9tIGhhbGYgZmxvYXRpbmcgcG9pbnQgdGV4dHVyZSBzaG91bGQgc3VjY2Vl
ZCIpOworICAgIGNoZWNrUmVuZGVyaW5nUmVzdWx0cygpOworfQorCitmdW5jdGlvbiBydW5Vbmlx
dWVPYmplY3RUZXN0KCkKK3sKKyAgICBkZWJ1ZygiVGVzdGluZyB0aGF0IGdldEV4dGVuc2lvbigp
IHJldHVybnMgdGhlIHNhbWUgb2JqZWN0IGVhY2ggdGltZSIpOworICAgIGdsLmdldEV4dGVuc2lv
bigiT0VTX3RleHR1cmVfaGFsZl9mbG9hdCIpLm15UHJvcGVydHkgPSAyOworICAgIGdjKCk7Cisg
ICAgc2hvdWxkQmUoJ2dsLmdldEV4dGVuc2lvbigiT0VTX3RleHR1cmVfaGFsZl9mbG9hdCIpLm15
UHJvcGVydHknLCAnMicpOworfQorCitkZWJ1ZygiIik7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3MmZjYmRjYWI1ODc3
ODE1ZDQ5ZGNhZTJiZThkNWIzOWZhMTNkMzUyLi4zZGY5ZjczMTdkZWM3OWJkMWFmY2JjNDU0MWVm
ODMxYTViZjJjOWMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTQ0NDIsMyArNDQ0Miw5IEBAIHdlYmtpdC5vcmcvYi8xMTA4NzYgaHRt
bDVsaWIvZ2VuZXJhdGVkL3J1bi10ZXN0czE5LWRhdGEuaHRtbCBbIFNsb3cgXQogd2Via2l0Lm9y
Zy9iLzExMDg3NiBbIERlYnVnIFdpbiBdIGh0bWw1bGliL2dlbmVyYXRlZC9ydW4tdGVzdHMxMC13
cml0ZS5odG1sIFsgUGFzcyBDcmFzaCBdCiB3ZWJraXQub3JnL2IvMTEwODc2IFsgRGVidWcgV2lu
IE1hYyBdIGh0bWw1bGliL2dlbmVyYXRlZC9ydW4tdGVzdHMxNi13cml0ZS5odG1sIFsgUGFzcyBD
cmFzaCBdCiB3ZWJraXQub3JnL2IvMTEwODc2IFsgRGVidWcgV2luIF0gaHRtbDVsaWIvZ2VuZXJh
dGVkL3J1bi10ZXN0czE5LXdyaXRlLmh0bWwgWyBQYXNzIENyYXNoIF0KKworIyBIQUxGX0ZMT0FU
X09FUyBpcyBub3QgeWV0IHdvcmtpbmcgaW4gY2hyb21pdW0uCitjcmJ1Zy5jb20vMTc5NTAzIGZh
c3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhhbGYtZmxvYXQuaHRtbCBbIEZhaWx1cmUgXQor
Y3JidWcuY29tLzE3OTUwMyBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZh
cy93ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0Lmh0bWwgWyBGYWlsdXJlIF0KK2NyYnVnLmNv
bS8xNzk1MDMgZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtaGFsZi1mbG9hdC1ub3Qtc3Vw
cG9ydGVkLmh0bWwgWyBUaW1lb3V0IF0KK2NyYnVnLmNvbS8xNzk1MDMgcGxhdGZvcm0vY2hyb21p
dW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtaGFsZi1mbG9hdC1u
b3Qtc3VwcG9ydGVkLmh0bWwgWyBUaW1lb3V0IF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>