<?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>227333</bug_id>
          
          <creation_ts>2021-06-23 17:32:12 -0700</creation_ts>
          <short_desc>Build Default Metal library offline, and install to WebCore Resources</short_desc>
          <delta_ts>2021-07-16 16:59:46 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kyle Piddington">kpiddington</reporter>
          <assigned_to name="Kyle Piddington">kpiddington</assigned_to>
          <cc>ap</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>thorton</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1772133</commentid>
    <comment_count>0</comment_count>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-06-23 17:32:12 -0700</bug_when>
    <thetext>Build Default Metal library offline, and install to WebCore Resources</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772134</commentid>
    <comment_count>1</comment_count>
      <attachid>432120</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-06-23 17:34:10 -0700</bug_when>
    <thetext>Created attachment 432120
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772135</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-06-23 17:35:02 -0700</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See https://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772159</commentid>
    <comment_count>3</comment_count>
      <attachid>432120</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-06-23 19:13:22 -0700</bug_when>
    <thetext>Comment on attachment 432120
Patch

This looks ok to me, but it would be nice if other people familiar with the build process double checked it. cc-ing them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772189</commentid>
    <comment_count>4</comment_count>
      <attachid>432133</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-06-23 23:19:22 -0700</bug_when>
    <thetext>Created attachment 432133
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772190</commentid>
    <comment_count>5</comment_count>
      <attachid>432133</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-06-23 23:41:02 -0700</bug_when>
    <thetext>Comment on attachment 432133
Patch

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

&gt; Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:6
&gt; -	objectVersion = 46;
&gt; +	objectVersion = 54;

I think you need to revert this to avoid breaking the project for people using older software. And you&apos;ll have to keep fighting xcode :(

&gt; Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm:990
&gt; +    NSBundle * webcoreBundle = [NSBundle bundleWithIdentifier:@&quot;com.apple.WebCore&quot;];

Nit: No space after the star (is WebKit style, but it looks like ANGLE style agrees), and WebCore is two words (`NSBundle *webCoreBundle`)

Technically this is a layering violation, but maybe it&apos;s OK because &quot;where we put ANGLE bits on disk&quot; is kind of irrelevant. Likely the *correct* thing to do is have the client pass you the path to the files, and do that in WebCore somewhere. But this isn&apos;t a regression from your patch, so it&apos;s fine.

&gt; Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm:991
&gt; +    if(webcoreBundle)

nit: space after the if (`if (webCoreBundle)`)

&gt; Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm:993
&gt; +    return [NSBundle bundleWithPath:@&quot;/System/Library/PrivateFrameworks/WebCore.framework&quot;];

This path is only accurate on iOS, on macOS it&apos;s a subframework inside WebKit.

Another way you can look up the bundle is by a ObjC class you know that comes from it (see e.g. the example of WebCoreBundleFinder in ImageMac, or other uses of bundleForClass: in the tree)

I&apos;m kind of intrigued though -- in what case does bundleWithIdentifier fail? LocalizedStringsCocoa seems to use it without any fallback, so I&apos;d expect that that is OK?

&gt; Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm:1001
&gt; +    NSURL * path = [NSURL fileURLWithPath:@&quot;angle-default.metallib&quot; relativeToURL: webcoreBundle.resourceURL ];

nit: again with the stars, also no spaces after colons in objc method invocations nor before the closing ]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772216</commentid>
    <comment_count>6</comment_count>
      <attachid>432133</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-24 01:41:38 -0700</bug_when>
    <thetext>Comment on attachment 432133
Patch

Seems overly error prone?

Is there a reason it cannot It be a normal binary blob symbol in the normal compilation and be loaded with something like
newLibraryWithData?
 https://developer.apple.com/documentation/metal/mtldevice/1433391-newlibrarywithdata ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772332</commentid>
    <comment_count>7</comment_count>
      <attachid>432133</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-06-24 10:09:42 -0700</bug_when>
    <thetext>Comment on attachment 432133
Patch

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

&gt; Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:3654
&gt; +		FF007C932683E49A00E09E0D /* Move Metal Library */ = {

I have several comments about how this is implemented, but before any of that, is it possible to build into the correct location? Moving manually is trying to play against the Xcode build system.

Most of directory path logic is in xcconfigs, and it&apos;s very complex because everything has different paths across platforms and build styles (such as Safari standalone for old OS versions or STP). Doing it differently makes it hard to verify now, and hard to maintain in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773957</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-30 17:33:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/79994335&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777112</commentid>
    <comment_count>9</comment_count>
      <attachid>433554</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-14 18:54:54 -0700</bug_when>
    <thetext>Created attachment 433554
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777116</commentid>
    <comment_count>10</comment_count>
      <attachid>433557</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-14 19:24:22 -0700</bug_when>
    <thetext>Created attachment 433557
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777120</commentid>
    <comment_count>11</comment_count>
      <attachid>433557</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-07-14 19:45:29 -0700</bug_when>
    <thetext>Comment on attachment 433557
Patch

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

&gt; Source/ThirdParty/ANGLE/.gitignore:31
&gt; +/src/libANGLE/renderer/metal/shaders/compiled/mtl_default_shaders_compiled.inc

This should probably go into DerivedSources? Generating code in place is fraught with peril.

&gt; Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:3693
&gt; +				&quot;$(BUILT_PRODUCTS_DIR)/ANGLEMetalLib.metallib&quot;,

I didn&apos;t examine this patch closely enough yet, is this actually an input, not an output?

This phase clearly depends on create_mtl_internal_shaders.py too. Does it depend on anything else?

&gt; Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:3698
&gt; +			outputPaths = (
&gt; +			);

Please add the output path too, so that actions that depend on it would be ordered correctly.

&gt; Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:4218
&gt; +				ALWAYS_SEARCH_USER_PATHS = NO;
&gt; +				CODE_SIGN_STYLE = Automatic;
&gt; +				IPHONEOS_DEPLOYMENT_TARGET = 15.0;
&gt; +				MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
&gt; +				MTL_FAST_MATH = YES;
&gt; +				PRODUCT_NAME = &quot;$(TARGET_NAME)&quot;;

Please put all build settings into xcconfigs.

&gt; Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:4239
&gt; +				IPHONEOS_DEPLOYMENT_TARGET = 15.0;

In an xcconfig, it will be easier to follow other xcconfigs and to avoid issues like this (obviously, we can&apos;t hardcode IPHONEOS_DEPLOYMENT_TARGET = 15.0).

&gt; Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm:1007
&gt; +    mtl::AutoObjCPtr&lt;id&lt;MTLLibrary&gt;&gt; mDefaultShaders = mtl::CreateShaderLibraryFromBinary(getMetalDevice(), compiled_shader_binary,
&gt; +                                                                        compiled_shader_binary_len, &amp;err);

Can this call fail? E.g. if the system runs out of file handles?

Even though conditions like that are &quot;beyond repair&quot;, we get hard to investigate bugs when they are not handled explicitly.

&gt; Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/shaders/create_mtl_internal_shaders.py:2
&gt; +# Copyright 2021 The ANGLE Project Authors. All rights reserved.

I&apos;m not certain about what the copyright header should look like, as it&apos;s obviously not a standard WebKit one - but then this is a 3rd party library.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777276</commentid>
    <comment_count>12</comment_count>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-15 11:47:00 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #11)
&gt; Comment on attachment 433557 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=433557&amp;action=review
&gt; 
&gt; &gt; Source/ThirdParty/ANGLE/.gitignore:31
&gt; &gt; +/src/libANGLE/renderer/metal/shaders/compiled/mtl_default_shaders_compiled.inc
&gt; 
&gt; This should probably go into DerivedSources? Generating code in place is
&gt; fraught with peril.
&gt; 
Done
&gt; &gt; Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:3693
&gt; &gt; +				&quot;$(BUILT_PRODUCTS_DIR)/ANGLEMetalLib.metallib&quot;,
&gt; 
&gt; I didn&apos;t examine this patch closely enough yet, is this actually an input,
&gt; not an output?
&gt; 
Yes, the MetalLib is built in a separate dependency 
&gt; This phase clearly depends on create_mtl_internal_shaders.py too. Does it
&gt; depend on anything else?
&gt; 
Just these files.
&gt; &gt; Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:3698
&gt; &gt; +			outputPaths = (
&gt; &gt; +			);
&gt; 
&gt; Please add the output path too, so that actions that depend on it would be
&gt; ordered correctly.
&gt; 
Added!
&gt; &gt; Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:4218
&gt; &gt; +				ALWAYS_SEARCH_USER_PATHS = NO;
&gt; &gt; +				CODE_SIGN_STYLE = Automatic;
&gt; &gt; +				IPHONEOS_DEPLOYMENT_TARGET = 15.0;
&gt; &gt; +				MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
&gt; &gt; +				MTL_FAST_MATH = YES;
&gt; &gt; +				PRODUCT_NAME = &quot;$(TARGET_NAME)&quot;;
&gt; 
&gt; Please put all build settings into xcconfigs.
&gt; 
Done!
&gt; &gt; Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:4239
&gt; &gt; +				IPHONEOS_DEPLOYMENT_TARGET = 15.0;
&gt; 
&gt; In an xcconfig, it will be easier to follow other xcconfigs and to avoid
&gt; issues like this (obviously, we can&apos;t hardcode IPHONEOS_DEPLOYMENT_TARGET =
&gt; 15.0).

&gt; &gt; Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm:1007
&gt; &gt; +    mtl::AutoObjCPtr&lt;id&lt;MTLLibrary&gt;&gt; mDefaultShaders = mtl::CreateShaderLibraryFromBinary(getMetalDevice(), compiled_shader_binary,
&gt; &gt; +                                                                        compiled_shader_binary_len, &amp;err);
&gt; 
&gt; Can this call fail? E.g. if the system runs out of file handles?
&gt; 
&gt; Even though conditions like that are &quot;beyond repair&quot;, we get hard to
&gt; investigate bugs when they are not handled explicitly.
This call can fail, but we should fail &apos;gracefully&apos; (i.e. we won&apos;t crash, we just won&apos;t be able to make a context.)
&gt; &gt; Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/shaders/create_mtl_internal_shaders.py:2
&gt; &gt; +# Copyright 2021 The ANGLE Project Authors. All rights reserved.
&gt; 
&gt; I&apos;m not certain about what the copyright header should look like, as it&apos;s
&gt; obviously not a standard WebKit one - but then this is a 3rd party library.

This is the same header as other ANGLE generated code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777280</commentid>
    <comment_count>13</comment_count>
      <attachid>433608</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-15 12:05:20 -0700</bug_when>
    <thetext>Created attachment 433608
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777285</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-07-15 12:13:09 -0700</bug_when>
    <thetext>&gt; This call can fail, but we should fail &apos;gracefully&apos; (i.e. we won&apos;t crash, we
&gt; just won&apos;t be able to make a context.)

What are the consequences of setting `mDefaultShadersAsyncInfo-&gt;compiled = true` even when it fails?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777286</commentid>
    <comment_count>15</comment_count>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-15 12:18:45 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #14)
&gt; &gt; This call can fail, but we should fail &apos;gracefully&apos; (i.e. we won&apos;t crash, we
&gt; &gt; just won&apos;t be able to make a context.)
&gt; 
&gt; What are the consequences of setting `mDefaultShadersAsyncInfo-&gt;compiled =
&gt; true` even when it fails?

&apos;Compiled&apos; here is used as a flag for async-awaiting on the default library.
    if (!mDefaultShadersAsyncInfo-&gt;compiled)
    {
        // Wait for async compilation
        mDefaultShadersAsyncInfo-&gt;cv.wait(lg,
                                          [this] { return mDefaultShadersAsyncInfo-&gt;compiled; });
    }

By setting &apos;compiled&apos;, we continue, and then return a nil library. Any GL calls that rely on the default library will return failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777358</commentid>
    <comment_count>16</comment_count>
      <attachid>433631</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-15 15:55:36 -0700</bug_when>
    <thetext>Created attachment 433631
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777362</commentid>
    <comment_count>17</comment_count>
      <attachid>433631</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-07-15 16:09:17 -0700</bug_when>
    <thetext>Comment on attachment 433631
Patch

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

I have few enough comments that I don&apos;t need to see the next iteration (please do address these though).

Probably needs someone familiar with WebGL to give final review, and also to give another pass over Xcode configs. Even though I made a lot of comments, I&apos;m not very confident that I didn&apos;t overlook anything.

&gt; Source/ThirdParty/ANGLE/.gitignore:31
&gt; +/src/libANGLE/renderer/metal/shaders/compiled/mtl_default_shaders_compiled.inc

This seems unnecessary now.

&gt; Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:3693
&gt; +				&quot;$(BUILT_PRODUCTS_DIR)/ANGLEMetalLib.metallib&quot;,

Please do add create_mtl_internal_shaders.py.

&gt; Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:3702
&gt; +			shellScript = &quot;echo python \&quot;${SRCROOT}/src/libANGLE/renderer/metal/shaders/create_mtl_internal_shaders.py\&quot; \&quot;$SCRIPT_INPUT_FILE_0\&quot; \&quot;$SCRIPT_OUTPUT_FILE_0\&quot;\npython \&quot;${SRCROOT}/src/libANGLE/renderer/metal/shaders/create_mtl_internal_shaders.py\&quot; \&quot;$SCRIPT_INPUT_FILE_0\&quot; \&quot;$SCRIPT_OUTPUT_FILE_0\&quot;\nrm \&quot;${SCRIPT_INPUT_FILE_0}\&quot;\n&quot;;

Why does this rm SCRIPT_INPUT_FILE_0 in the end? This means that incremental builds will always have to redo this work, and that&apos;s harmful to build speed.

If the problem is that the file goes into $(BUILT_PRODUCTS_DIR), perhaps that&apos;s what needs to change.

&gt; Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:21
&gt; +DEAD_CODE_STRIPPING[config=Debug] = NO;

Why do we want dead code preserved in debug? It&apos;s only more harmful there, as it takes more space.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777373</commentid>
    <comment_count>18</comment_count>
      <attachid>433631</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-07-15 16:31:46 -0700</bug_when>
    <thetext>Comment on attachment 433631
Patch

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

Alexey&apos;s review is more thorough than I can provide - I don&apos;t know Xcode well enough to review those changes - but conceptually this sounds fine. Happy to look at further iterations as well. r+

&gt;&gt; Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:3702
&gt;&gt; +			shellScript = &quot;echo python \&quot;${SRCROOT}/src/libANGLE/renderer/metal/shaders/create_mtl_internal_shaders.py\&quot; \&quot;$SCRIPT_INPUT_FILE_0\&quot; \&quot;$SCRIPT_OUTPUT_FILE_0\&quot;\npython \&quot;${SRCROOT}/src/libANGLE/renderer/metal/shaders/create_mtl_internal_shaders.py\&quot; \&quot;$SCRIPT_INPUT_FILE_0\&quot; \&quot;$SCRIPT_OUTPUT_FILE_0\&quot;\nrm \&quot;${SCRIPT_INPUT_FILE_0}\&quot;\n&quot;;
&gt; 
&gt; Why does this rm SCRIPT_INPUT_FILE_0 in the end? This means that incremental builds will always have to redo this work, and that&apos;s harmful to build speed.
&gt; 
&gt; If the problem is that the file goes into $(BUILT_PRODUCTS_DIR), perhaps that&apos;s what needs to change.

Agreed - this should avoid overwriting the output file if nothing&apos;s changed. Take a look at Source/ThirdParty/ANGLE/adjust-angle-include-paths.py and the Xcode build rule which invokes it to see how it avoids redundant work. (It looks like it caches the file&apos;s contents in memory so it can compare with what&apos;s currently on disk.) I don&apos;t remember who most recently improved the incremental build support (krollin@ maybe?) and have been looking through the revision history of Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj to see.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777429</commentid>
    <comment_count>19</comment_count>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-15 21:45:49 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #17)
&gt; Comment on attachment 433631 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=433631&amp;action=review
&gt; 
&gt; I have few enough comments that I don&apos;t need to see the next iteration
&gt; (please do address these though).
&gt; 
&gt; Probably needs someone familiar with WebGL to give final review, and also to
&gt; give another pass over Xcode configs. Even though I made a lot of comments,
&gt; I&apos;m not very confident that I didn&apos;t overlook anything.
&gt; 
&gt; &gt; Source/ThirdParty/ANGLE/.gitignore:31
&gt; &gt; +/src/libANGLE/renderer/metal/shaders/compiled/mtl_default_shaders_compiled.inc
&gt; 
&gt; This seems unnecessary now.
&gt; 
Removed
&gt; &gt; Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:3693
&gt; &gt; +				&quot;$(BUILT_PRODUCTS_DIR)/ANGLEMetalLib.metallib&quot;,
&gt; 
&gt; Please do add create_mtl_internal_shaders.py.
&gt; 
Added, though I&apos;m never sure how SCRIPT_INPUT_FILES works for determining build order.
&gt; &gt; Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:3702
&gt; &gt; +			shellScript = &quot;echo python \&quot;${SRCROOT}/src/libANGLE/renderer/metal/shaders/create_mtl_internal_shaders.py\&quot; \&quot;$SCRIPT_INPUT_FILE_0\&quot; \&quot;$SCRIPT_OUTPUT_FILE_0\&quot;\npython \&quot;${SRCROOT}/src/libANGLE/renderer/metal/shaders/create_mtl_internal_shaders.py\&quot; \&quot;$SCRIPT_INPUT_FILE_0\&quot; \&quot;$SCRIPT_OUTPUT_FILE_0\&quot;\nrm \&quot;${SCRIPT_INPUT_FILE_0}\&quot;\n&quot;;
&gt; 
&gt; Why does this rm SCRIPT_INPUT_FILE_0 in the end? This means that incremental
&gt; builds will always have to redo this work, and that&apos;s harmful to build speed.
&gt; 
&gt; If the problem is that the file goes into $(BUILT_PRODUCTS_DIR), perhaps
&gt; that&apos;s what needs to change.
&gt; 
Fixed with a combination of SKIP_INSTALL and correcting build names.
&gt; &gt; Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:21
&gt; &gt; +DEAD_CODE_STRIPPING[config=Debug] = NO;
&gt; 
&gt; Why do we want dead code preserved in debug? It&apos;s only more harmful there,
&gt; as it takes more space.

Removed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777430</commentid>
    <comment_count>20</comment_count>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-15 21:45:54 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #17)
&gt; Comment on attachment 433631 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=433631&amp;action=review
&gt; 
&gt; I have few enough comments that I don&apos;t need to see the next iteration
&gt; (please do address these though).
&gt; 
&gt; Probably needs someone familiar with WebGL to give final review, and also to
&gt; give another pass over Xcode configs. Even though I made a lot of comments,
&gt; I&apos;m not very confident that I didn&apos;t overlook anything.
&gt; 
&gt; &gt; Source/ThirdParty/ANGLE/.gitignore:31
&gt; &gt; +/src/libANGLE/renderer/metal/shaders/compiled/mtl_default_shaders_compiled.inc
&gt; 
&gt; This seems unnecessary now.
&gt; 
Removed
&gt; &gt; Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:3693
&gt; &gt; +				&quot;$(BUILT_PRODUCTS_DIR)/ANGLEMetalLib.metallib&quot;,
&gt; 
&gt; Please do add create_mtl_internal_shaders.py.
&gt; 
Added, though I&apos;m never sure how SCRIPT_INPUT_FILES works for determining build order.
&gt; &gt; Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:3702
&gt; &gt; +			shellScript = &quot;echo python \&quot;${SRCROOT}/src/libANGLE/renderer/metal/shaders/create_mtl_internal_shaders.py\&quot; \&quot;$SCRIPT_INPUT_FILE_0\&quot; \&quot;$SCRIPT_OUTPUT_FILE_0\&quot;\npython \&quot;${SRCROOT}/src/libANGLE/renderer/metal/shaders/create_mtl_internal_shaders.py\&quot; \&quot;$SCRIPT_INPUT_FILE_0\&quot; \&quot;$SCRIPT_OUTPUT_FILE_0\&quot;\nrm \&quot;${SCRIPT_INPUT_FILE_0}\&quot;\n&quot;;
&gt; 
&gt; Why does this rm SCRIPT_INPUT_FILE_0 in the end? This means that incremental
&gt; builds will always have to redo this work, and that&apos;s harmful to build speed.
&gt; 
&gt; If the problem is that the file goes into $(BUILT_PRODUCTS_DIR), perhaps
&gt; that&apos;s what needs to change.
&gt; 
Fixed with a combination of SKIP_INSTALL and correcting build names.
&gt; &gt; Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:21
&gt; &gt; +DEAD_CODE_STRIPPING[config=Debug] = NO;
&gt; 
&gt; Why do we want dead code preserved in debug? It&apos;s only more harmful there,
&gt; as it takes more space.

Removed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777431</commentid>
    <comment_count>21</comment_count>
      <attachid>433654</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-15 21:50:00 -0700</bug_when>
    <thetext>Created attachment 433654
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777447</commentid>
    <comment_count>22</comment_count>
      <attachid>433660</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-15 23:49:35 -0700</bug_when>
    <thetext>Created attachment 433660
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777451</commentid>
    <comment_count>23</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-16 00:19:12 -0700</bug_when>
    <thetext>Committed r279980 (239723@main): &lt;https://commits.webkit.org/239723@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433660.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777516</commentid>
    <comment_count>24</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2021-07-16 09:13:58 -0700</bug_when>
    <thetext>Reverted r279980 for reason:

Broke Internal Builds

Committed r279986 (239729@main): &lt;https://commits.webkit.org/239729@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777566</commentid>
    <comment_count>25</comment_count>
      <attachid>433693</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-07-16 12:45:05 -0700</bug_when>
    <thetext>Created attachment 433693
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777582</commentid>
    <comment_count>26</comment_count>
      <attachid>433693</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-07-16 13:54:16 -0700</bug_when>
    <thetext>Comment on attachment 433693
Patch

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

&gt; Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:3704
&gt; +			shellScript = &quot;if [ \&quot;${ACTION}\&quot; = \&quot;build\&quot; ] || [ \&quot;${ACTION}\&quot; = \&quot;install\&quot; ]; then\necho python \&quot;${SRCROOT}/src/libANGLE/renderer/metal/shaders/create_mtl_internal_shaders.py\&quot; \&quot;$SCRIPT_INPUT_FILE_0\&quot; \&quot;$SCRIPT_OUTPUT_FILE_0\&quot;\npython \&quot;${SRCROOT}/src/libANGLE/renderer/metal/shaders/create_mtl_internal_shaders.py\&quot; \&quot;$SCRIPT_INPUT_FILE_0\&quot; \&quot;$SCRIPT_OUTPUT_FILE_0\&quot;\nfi\n&quot;;

We probably don&apos;t need to echo the command, but that&apos;s ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777657</commentid>
    <comment_count>27</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-16 16:59:43 -0700</bug_when>
    <thetext>Committed r280010 (239752@main): &lt;https://commits.webkit.org/239752@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433693.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432120</attachid>
            <date>2021-06-23 17:34:10 -0700</date>
            <delta_ts>2021-06-23 23:19:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227333-20210623173409.patch</filename>
            <type>text/plain</type>
            <size>10421</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggMTYzYTA0NzFmM2EwZjRhZTVjMTIxNjI4YWYxZjcyODY5MDMzMTBlMy4uZGM0YmQ1MDdkNWU3
ZDc5YTllMDMzYWE3ZmU1NjU4MTUzYWI3NTg5YSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTA2LTIzICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVpbGQgRGVmYXVsdCBNZXRhbCBsaWJyYXJ5IG9m
ZmxpbmUsIGFuZCBpbnN0YWxsIHRvIFdlYkNvcmUgUmVzb3VyY2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjczMzMKKworICAgICAgICBSZWR1Y2Ug
b3ZlcmFsbCBsb2FkIHRpbWUgZm9yIFdlYkdMIGFwcGxpY2F0aW9ucyBieSBwcmUtY29tcGlsaW5n
IG91ciBkZWZhdWx0IG1ldGFsIGxpYnJhcnkuCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhbiBp
bnN0YWxsIHN0ZXAgdGhhdCBjb21waWxlcyBvdXIgZGVmYXVsdCBzaGFkZXJzIHRvIEFJUiwgYW5k
IGxvYWRzIHRoZW0gZnJvbSB0aGUKKyAgICAgICAgV2ViY29yZSBSZXNvdXJjZXMgYnVuZGxlLiAK
KworICAgICAgICBJZiB0aGUgbGlicmFyeSBjYW5ub3QgYmUgZm91bmQsIGNvbnRleHQgY3JlYXRp
b24gd2lsbCBmYWlsLgorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIEFOR0xFLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogQ29uZmln
dXJhdGlvbnMvQU5HTEUtZHluYW1pYy54Y2NvbmZpZzoKKyAgICAgICAgKiBzcmMvbGliQU5HTEUv
cmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbToKKyAgICAgICAgKHJ4OjpEaXNwbGF5TXRsOjpp
bml0aWFsaXplU2hhZGVyTGlicmFyeSk6CisKIDIwMjEtMDYtMjIgIERlYW4gSmFja3NvbiAgPGRp
bm9AYXBwbGUuY29tPgogCiAgICAgICAgIFtBTkdMRV0gU3VwcG9ydCBpbXBvcnRpbmcgZXh0ZXJu
YWwgTVRMVGV4dHVyZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0FOR0xF
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9BTkdM
RS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGVkOWZiYmE5YjRkOWI0MDE1MjQxNTEy
ZTM0YTJiZDdlOTIzMDg4ZTQuLmI4OTY4ZWYwNDkyNDRjZmNmMmM4YzM1ZTQ3N2ZjYzZmMzc2OTdi
NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0FOR0xFLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMyw3ICszLDcgQEAKIAlhcmNoaXZlVmVyc2lvbiA9IDE7
CiAJY2xhc3NlcyA9IHsKIAl9OwotCW9iamVjdFZlcnNpb24gPSA0NjsKKwlvYmplY3RWZXJzaW9u
ID0gNTQ7CiAJb2JqZWN0cyA9IHsKIAogLyogQmVnaW4gUEJYQWdncmVnYXRlVGFyZ2V0IHNlY3Rp
b24gKi8KQEAgLTgzOCw2ICs4MzgsMTMgQEAKIAkJRkYyRDJGNTUyNUM4QjE0QTAwMkZCNjk5IC8q
IEZpeFR5cGVDb25zdHJ1Y3RvcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEZGMkQyRjUyMjVDOEIxNEEwMDJGQjY5OSAvKiBGaXhUeXBlQ29uc3RydWN0
b3JzLmggKi87IH07CiAJCUZGNTgyRTE2MjY1NDRGQzQwMDZEQTVCOCAvKiBQcm92b2tpbmdWZXJ0
ZXhIZWxwZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGRjU4MkUxNDI2NTQ0RkM0MDA2REE1QjggLyogUHJvdm9raW5nVmVydGV4SGVscGVyLm1tICov
OyB9OwogCQlGRjU4MkUxNzI2NTQ0RkM0MDA2REE1QjggLyogUHJvdm9raW5nVmVydGV4SGVscGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRjU4MkUx
NTI2NTQ0RkM0MDA2REE1QjggLyogUHJvdm9raW5nVmVydGV4SGVscGVyLmggKi87IH07CisJCUZG
Q0VEMDg5MjY4Mjc1MDYwMEYxMjY2NyAvKiBibGl0Lm1ldGFsIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY4MUZFQUEyNTgxOEQ2ODAwODk0RTI0IC8qIGJs
aXQubWV0YWwgKi87IH07CisJCUZGQ0VEMDhBMjY4Mjc1MDYwMEYxMjY2NyAvKiBjbGVhci5tZXRh
bCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFGRUIx
MjU4MThENjgwMDg5NEUyNCAvKiBjbGVhci5tZXRhbCAqLzsgfTsKKwkJRkZDRUQwOEIyNjgyNzUw
NjAwRjEyNjY3IC8qIGNvcHlfYnVmZmVyLm1ldGFsIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkY4MUZFQUYyNTgxOEQ2ODAwODk0RTI0IC8qIGNvcHlfYnVm
ZmVyLm1ldGFsICovOyB9OworCQlGRkNFRDA4QzI2ODI3NTA3MDBGMTI2NjcgLyogZ2VuX2luZGlj
ZXMubWV0YWwgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
RjgxRkVCMzI1ODE4RDY4MDA4OTRFMjQgLyogZ2VuX2luZGljZXMubWV0YWwgKi87IH07CisJCUZG
Q0VEMDhEMjY4Mjc1MDcwMEYxMjY2NyAvKiBnZW5fbWlwbWFwLm1ldGFsIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY4MUZFQjIyNTgxOEQ2ODAwODk0RTI0
IC8qIGdlbl9taXBtYXAubWV0YWwgKi87IH07CisJCUZGQ0VEMDhFMjY4Mjc1MDcwMEYxMjY2NyAv
KiByZXdyaXRlX2luZGljZXMubWV0YWwgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGRjU4MkUxODI2NTQ0RkU1MDA2REE1QjggLyogcmV3cml0ZV9pbmRpY2Vz
Lm1ldGFsICovOyB9OworCQlGRkNFRDA4RjI2ODI3NTA3MDBGMTI2NjcgLyogdmlzaWJpbGl0eS5t
ZXRhbCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFG
RUFCMjU4MThENjgwMDg5NEUyNCAvKiB2aXNpYmlsaXR5Lm1ldGFsICovOyB9OwogLyogRW5kIFBC
WEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEJ1aWxkUnVsZSBzZWN0aW9uICov
CkBAIC0zNTc2LDYgKzM1ODMsNyBAQAogCQkJCTMxQ0QwMENFMjQ5MTk3NEMwMDQ4NkYyNyAvKiBD
b3B5RmlsZXMgKi8sCiAJCQkJMzFDRDAwQ0YyNDkxOTc2ODAwNDg2RjI3IC8qIENvcHlGaWxlcyAq
LywKIAkJCQkzMUNEMDBEMjI0OTE5N0ZEMDA0ODZGMjcgLyogQWRqdXN0IEFOR0xFIFBhdGhzICov
LAorCQkJCUZGMDA3QzkzMjY4M0U0OUEwMEUwOUUwRCAvKiBNb3ZlIE1ldGFsIExpYnJhcnkgKi8s
CiAJCQkpOwogCQkJYnVpbGRSdWxlcyA9ICgKIAkJCQkzMUE5RTlBMDI0OUFBMDQyMDBDN0UyNDMg
LyogUEJYQnVpbGRSdWxlICovLApAQCAtMzY0Myw2ICszNjUxLDI1IEBACiAJCQlzaGVsbFBhdGgg
PSAvYmluL3NoOwogCQkJc2hlbGxTY3JpcHQgPSAiaWYgWyBcIiR7WENPREVfVkVSU0lPTl9BQ1RV
QUx9XCIgLWdlIFwiMTE0MFwiIC1hIFwiJHtXS19VU0VfTkVXX0JVSUxEX1NZU1RFTX1cIiA9IFwi
WUVTXCIgXTsgdGhlblxuICAgICMgSW4gdGhpcyBjb25maWd1cmF0aW9uLCBwb3N0LXByb2Nlc3Np
bmcgaXMgcGVyZm9ybWVkIGF0IHRoZSBzYW1lIHRpbWUgYXMgY29weWluZyBpbiB0aGUgcG9zdHBy
b2Nlc3MtaGVhZGVyLXJ1bGUgc2NyaXB0LCBzbyB0aGVyZSdzIG5vIG5lZWQgZm9yIHRoaXMgc2Vw
YXJhdGUgc3RlcC5cbiAgICBleGl0IDBcbmZpXG5cbmV4ZWMgXCIkU1JDUk9PVC9hZGp1c3QtYW5n
bGUtaW5jbHVkZS1wYXRocy5weVwiXG4iOwogCQl9OworCQlGRjAwN0M5MzI2ODNFNDlBMDBFMDlF
MEQgLyogTW92ZSBNZXRhbCBMaWJyYXJ5ICovID0geworCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRC
dWlsZFBoYXNlOworCQkJYWx3YXlzT3V0T2ZEYXRlID0gMTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9
IDEyOworCQkJZmlsZXMgPSAoCisJCQkpOworCQkJaW5wdXRGaWxlTGlzdFBhdGhzID0gKAorCQkJ
KTsKKwkJCWlucHV0UGF0aHMgPSAoCisJCQkpOworCQkJbmFtZSA9ICJNb3ZlIE1ldGFsIExpYnJh
cnkiOworCQkJb3V0cHV0RmlsZUxpc3RQYXRocyA9ICgKKwkJCSk7CisJCQlvdXRwdXRQYXRocyA9
ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJ
CXNoZWxsUGF0aCA9IC9iaW4vc2g7CisJCQlzaGVsbFNjcmlwdCA9ICIjSW5zdGFsbCBkaXJlY3Rv
cnkgaXMgd2l0aGluIFdlYmNvcmUsIG1vdmUgdGhlIGxpYnJhcnkgdG8gcmVzb3VyY2VzLlxuaWYg
WyAke0FDVElPTn0gPT0gaW5zdGFsbCBdOyB0aGVuXG5cbm1rZGlyIC1wIFwiJHtUQVJHRVRfQlVJ
TERfRElSfVwiLy4uL1Jlc291cmNlc1xubXYgXCIke01FVEFMX0xJQlJBUllfT1VUUFVUX0RJUn1c
Ii9cIiR7TUVUQUxfTElCUkFSWV9GSUxFX0JBU0V9XCIubWV0YWxsaWIgIFwiJHtUQVJHRVRfQlVJ
TERfRElSfVwiLy4uL1Jlc291cmNlcy9cIiR7TUVUQUxfTElCUkFSWV9GSUxFX0JBU0V9XCIubWV0
YWxsaWJcblxuZWxzZVxuI0xvY2FsIGJ1aWxkcyBcbm1rZGlyIC1wIFwiJHtUQVJHRVRfQlVJTERf
RElSfVwiL1dlYkNvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUmVzb3VyY2VzXG5tdiBcIiR7TUVU
QUxfTElCUkFSWV9PVVRQVVRfRElSfVwiL1wiJHtNRVRBTF9MSUJSQVJZX0ZJTEVfQkFTRX1cIi5t
ZXRhbGxpYiBcIiR7VEFSR0VUX0JVSUxEX0RJUn1cIi9XZWJDb3JlLmZyYW1ld29yay9WZXJzaW9u
cy9BL1Jlc291cmNlcy9cIiR7TUVUQUxfTElCUkFSWV9GSUxFX0JBU0V9XCIubWV0YWxsaWJcblxu
ZmlcbiI7CisJCX07CiAvKiBFbmQgUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlIHNlY3Rpb24gKi8K
IAogLyogQmVnaW4gUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpAQCAtMzY2Miw2ICsz
Njg5LDcgQEAKIAkJCQlERjgzRTIzNzI2MzlGQ0Q1MDAwODI1RUYgLyogQXN0SGVscGVycy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlERjgzRTJBRjI2MzlGRDgzMDAwODI1RUYgLyogQVNUTWV0YWRh
dGFITFNMLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURGODNFMzMzMjYzOUZFMTgwMDA4MjVFRiAv
KiBBdHRyaWJ1dGVNYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkZDRUQwODkyNjgyNzUwNjAw
RjEyNjY3IC8qIGJsaXQubWV0YWwgaW4gU291cmNlcyAqLywKIAkJCQlERjgzRTM1OTI2MzlGRTky
MDAwODI1RUYgLyogQmxpdEdMLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURGODNFMkVBMjYzOUZF
MTcwMDA4MjVFRiAvKiBCbG9iQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREY4M0UyQkMy
NjM5RkQ4MzAwMDgyNUVGIC8qIGJsb2NrbGF5b3V0LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzY3
OSw2ICszNzA3LDcgQEAKIAkJCQlERjgzRTMyQzI2MzlGRTE4MDAwODI1RUYgLyogQ2Fwcy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlERjgzRTI4OTI2MzlGRDMzMDAwODI1RUYgLyogQ2xhbXBGcmFn
RGVwdGguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREY4M0UyNjcyNjM5RkQzMzAwMDgyNUVGIC8q
IENsYW1wUG9pbnRTaXplLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZGQ0VEMDhBMjY4Mjc1MDYw
MEYxMjY2NyAvKiBjbGVhci5tZXRhbCBpbiBTb3VyY2VzICovLAogCQkJCURGODNFMzVDMjYzOUZF
OTIwMDA4MjVFRiAvKiBDbGVhck11bHRpdmlld0dMLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURG
ODNFMkNCMjYzOUZEODQwMDA4MjVFRiAvKiBDb2RlR2VuLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CURGODNFMkQ2MjYzOUZEODQwMDA4MjVFRiAvKiBDb2xsZWN0VmFyaWFibGVzLmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtMzY5Nyw2ICszNzI2LDcgQEAKIAkJCQlERjgzRTM1ODI2MzlGRTkyMDAwODI1
RUYgLyogQ29udGV4dEdMLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURGODNFMzlBMjYzOUZFRDQw
MDA4MjVFRiAvKiBDb250ZXh0SW1wbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlERjgzRTM3NzI2
MzlGRUI4MDAwODI1RUYgLyogQ29udGV4dE10bC5tbSBpbiBTb3VyY2VzICovLAorCQkJCUZGQ0VE
MDhCMjY4Mjc1MDYwMEYxMjY2NyAvKiBjb3B5X2J1ZmZlci5tZXRhbCBpbiBTb3VyY2VzICovLAog
CQkJCURGODNFMkREMjYzOUZFMTcwMDA4MjVFRiAvKiBjb3B5aW1hZ2UuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJREY4M0UyRjEyNjM5RkUxNzAwMDgyNUVGIC8qIERlYnVnLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCURGODNFMjE3MjYzOUZDNzQwMDA4MjVFRiAvKiBkZWJ1Zy5jcHAgaW4gU291cmNl
cyAqLywKQEAgLTM3NzMsNiArMzgwMyw4IEBACiAJCQkJREY4M0UyMjUyNjM5RkM4MDAwMDgyNUVG
IC8qIEZ1bmN0aW9uc0NHTC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlERjgzRTM0RjI2MzlGRTky
MDAwODI1RUYgLyogRnVuY3Rpb25zRUFHTC5tbSBpbiBTb3VyY2VzICovLAogCQkJCURGODNFMzU3
MjYzOUZFOTIwMDA4MjVFRiAvKiBGdW5jdGlvbnNHTC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlG
RkNFRDA4QzI2ODI3NTA3MDBGMTI2NjcgLyogZ2VuX2luZGljZXMubWV0YWwgaW4gU291cmNlcyAq
LywKKwkJCQlGRkNFRDA4RDI2ODI3NTA3MDBGMTI2NjcgLyogZ2VuX21pcG1hcC5tZXRhbCBpbiBT
b3VyY2VzICovLAogCQkJCURGODNFMkU4MjYzOUZFMTcwMDA4MjVFRiAvKiBHTEVTMVJlbmRlcmVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURGODNFMkVEMjYzOUZFMTcwMDA4MjVFRiAvKiBHTEVT
MVN0YXRlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURGODNFMzQxMjYzOUZFMkEwMDA4MjVFRiAv
KiBnbG9iYWxfc3RhdGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zOTEwLDYgKzM5NDIsNyBAQAog
CQkJCURGODNFMkFFMjYzOUZEODMwMDA4MjVFRiAvKiBSZXBsYWNlU2hhZG93aW5nVmFyaWFibGVz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURGODNFMjhGMjYzOUZEODMwMDA4MjVFRiAvKiBSZXBs
YWNlVmFyaWFibGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREY4M0UzMTEyNjM5RkUxNzAwMDgy
NUVGIC8qIFJlc291cmNlTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGRkNFRDA4RTI2
ODI3NTA3MDBGMTI2NjcgLyogcmV3cml0ZV9pbmRpY2VzLm1ldGFsIGluIFNvdXJjZXMgKi8sCiAJ
CQkJREY4M0UyNUYyNjM5RkQzMzAwMDgyNUVGIC8qIFJld3JpdGVBdG9taWNDb3VudGVycy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlERjgzRTI2QjI2MzlGRDMzMDAwODI1RUYgLyogUmV3cml0ZUF0
b21pY0Z1bmN0aW9uRXhwcmVzc2lvbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREY4M0UyNDcy
NjM5RkNENTAwMDgyNUVGIC8qIFJld3JpdGVDYXNlRGVjbGFyYXRpb25zLmNwcCBpbiBTb3VyY2Vz
ICovLApAQCAtNDA0NCw2ICs0MDc3LDcgQEAKIAkJCQlERjgzRTM1RjI2MzlGRTkyMDAwODI1RUYg
LyogVmVydGV4QXJyYXlHTC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlERjgzRTM4ODI2MzlGRUI4
MDAwODI1RUYgLyogVmVydGV4QXJyYXlNdGwubW0gaW4gU291cmNlcyAqLywKIAkJCQlERjgzRTMx
QzI2MzlGRTE3MDAwODI1RUYgLyogVmVydGV4QXR0cmlidXRlLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUZGQ0VEMDhGMjY4Mjc1MDcwMEYxMjY2NyAvKiB2aXNpYmlsaXR5Lm1ldGFsIGluIFNvdXJj
ZXMgKi8sCiAJCQkJREY4M0UzNjkyNjM5RkU5MjAwMDgyNUVGIC8qIFdpbmRvd1N1cmZhY2VDR0wu
bW0gaW4gU291cmNlcyAqLywKIAkJCQlERjgzRTM1MTI2MzlGRTkyMDAwODI1RUYgLyogV2luZG93
U3VyZmFjZUVBR0wubW0gaW4gU291cmNlcyAqLywKIAkJCQlERjgzRTMwQzI2MzlGRTE3MDAwODI1
RUYgLyogV29ya2VyVGhyZWFkLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQU5HTEUtZHluYW1pYy54Y2NvbmZpZyBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0FOR0xFLWR5bmFtaWMueGNj
b25maWcKaW5kZXggNDI4ZmVmNTFkMTk5YzAxMGM5YjJkMjEzOTFjYWZkYTA3MTBlMzA5MS4uODE2
ZjdkODM5MmEzNmVjM2UyYzYyMzQ4ODM0MTM5ZjAyNGQwZmJmZSAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQU5HTEUtZHluYW1pYy54Y2NvbmZpZwor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9Db25maWd1cmF0aW9ucy9BTkdMRS1keW5hbWlj
LnhjY29uZmlnCkBAIC0zNiw3ICszNiw5IEBAIFBVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIW3Nk
az1tYWNvc3gqXSA9ICQoUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhfJChXS19QTEFUCiBQVUJM
SUNfSEVBREVSU19GT0xERVJfUEFUSF9tYWNvc3ggPSAkKEFOR0xFX0hFQURFUlNfRk9MREVSX1BB
VEgpOwogUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhfbWFjY2F0YWx5c3QgPSAkKFdLX0FMVEVS
TkFURV9GUkFNRVdPUktTX0RJUikvJChBTkdMRV9IRUFERVJTX0ZPTERFUl9QQVRIKTsKIAotR0ND
X1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgTElCR0xFU1YyX0lN
UExFTUVOVEFUSU9OIExJQkFOR0xFX0lNUExFTUVOVEFUSU9OIEFOR0xFX0VOQUJMRV9PUEVOR0wg
QU5HTEVfRU5BQkxFX0dMU0wgQU5HTEVfRU5BQkxFX0VTU0wgR0xfU0lMRU5DRV9ERVBSRUNBVElP
TiBHTEVTX1NJTEVOQ0VfREVQUkVDQVRJT04gQU5HTEVfRU5BQkxFX01FVEFMOworR0NDX1BSRVBS
T0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgTElCR0xFU1YyX0lNUExFTUVO
VEFUSU9OIExJQkFOR0xFX0lNUExFTUVOVEFUSU9OIEFOR0xFX0VOQUJMRV9PUEVOR0wgQU5HTEVf
RU5BQkxFX0dMU0wgQU5HTEVfRU5BQkxFX0VTU0wgR0xfU0lMRU5DRV9ERVBSRUNBVElPTiBHTEVT
X1NJTEVOQ0VfREVQUkVDQVRJT04gQU5HTEVfRU5BQkxFX01FVEFMIEFOR0xFX01FVEFMX1hDT0RF
X0JVSUxEU19TSEFERVJTCisKK01FVEFMX0xJQlJBUllfRklMRV9CQVNFID0gYW5nbGUtZGVmYXVs
dDsKIAogREVBRF9DT0RFX1NUUklQUElORyA9IFlFUzsKIERFQURfQ09ERV9TVFJJUFBJTkdbY29u
ZmlnPURlYnVnXSA9IE5POwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0Rpc3BsYXlNdGwubW0gYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbQppbmRleCA5
NTY0YmM5MWZiYmVlOGFhM2VlNGEyNGY4MDg3Njk4MGMxMGY3MTIwLi4zMzgzODk1NjVjOGFkMzg0
Njk0MjdiY2Q1Y2MwZWQzYTY4NjI2NTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbQorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10
bC5tbQpAQCAtOTg4LDExICs5ODgsMTIgQEAgYW5nbGU6OlJlc3VsdCBEaXNwbGF5TXRsOjppbml0
aWFsaXplU2hhZGVyTGlicmFyeSgpCiAjaWZkZWYgQU5HTEVfTUVUQUxfWENPREVfQlVJTERTX1NI
QURFUlMKICAgICBtRGVmYXVsdFNoYWRlcnNBc3luY0luZm8ucmVzZXQobmV3IERlZmF1bHRTaGFk
ZXJBc3luY0luZm9NdGwpOwogCi0gICAgTlNTdHJpbmcgKnBhdGggPSBbTlNCdW5kbGUgYnVuZGxl
V2l0aElkZW50aWZpZXI6QCJjb20uYXBwbGUuV2ViS2l0Il0uYnVuZGxlUGF0aDsKKyAgICBOU1VS
TCAqIHBhdGggPSBbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOkAiYW5nbGUtZGVmYXVsdC5tZXRhbGxp
YiIgcmVsYXRpdmVUb1VSTDogW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlmaWVyOkAiY29tLmFw
cGxlLldlYkNvcmUiXS5yZXNvdXJjZVVSTCBdOwogICAgIE5TRXJyb3IgKmVycm9yID0gbnVsbHB0
cjsKKyAgICAKICAgICBtRGVmYXVsdFNoYWRlcnNBc3luY0luZm8tPmRlZmF1bHRTaGFkZXJzID0K
LSAgICAgICAgW2dldE1ldGFsRGV2aWNlKCkgbmV3RGVmYXVsdExpYnJhcnlXaXRoQnVuZGxlOltO
U0J1bmRsZSBidW5kbGVXaXRoUGF0aDpwYXRoXSBlcnJvcjomZXJyb3JdOwotCisgICAgICAgIFtn
ZXRNZXRhbERldmljZSgpIG5ld0xpYnJhcnlXaXRoVVJMOnBhdGggZXJyb3I6JmVycm9yXTsKKyAg
ICAgICAKICAgICBpZiAoZXJyb3IgJiYgIW1EZWZhdWx0U2hhZGVyc0FzeW5jSW5mby0+ZGVmYXVs
dFNoYWRlcnMpCiAgICAgewogICAgICAgICBBTkdMRV9NVExfT0JKQ19TQ09QRQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432133</attachid>
            <date>2021-06-23 23:19:22 -0700</date>
            <delta_ts>2021-07-14 18:54:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227333-20210623231921.patch</filename>
            <type>text/plain</type>
            <size>11088</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggMGEzZTI1MGQzOGYzMTZkNGY5ZDQwMGE1NmMxODY4NDNkZjAwZTU1OC4uZjE3NzU5NmQyYzhm
OTRkMzgwYzMxYzU3N2QxNTEwZjc1NTdjYzRiYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTA2LTIzICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVpbGQgRGVmYXVsdCBNZXRhbCBsaWJyYXJ5IG9m
ZmxpbmUsIGFuZCBpbnN0YWxsIHRvIFdlYkNvcmUgUmVzb3VyY2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjczMzMKKworICAgICAgICBSZWR1Y2Ug
b3ZlcmFsbCBsb2FkIHRpbWUgZm9yIFdlYkdMIGFwcGxpY2F0aW9ucyBieSBwcmUtY29tcGlsaW5n
IG91ciBkZWZhdWx0IG1ldGFsIGxpYnJhcnkuCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhbiBp
bnN0YWxsIHN0ZXAgdGhhdCBjb21waWxlcyBvdXIgZGVmYXVsdCBzaGFkZXJzIHRvIEFJUiwgYW5k
IGxvYWRzIHRoZW0gZnJvbSB0aGUKKyAgICAgICAgV2ViY29yZSBSZXNvdXJjZXMgYnVuZGxlLiAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEFOR0xF
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvQU5H
TEUtZHluYW1pYy54Y2NvbmZpZzoKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0
YWwvRGlzcGxheU10bC5tbToKKyAgICAgICAgKHJ4OjpnZXRXZWJjb3JlQnVuZGxlKToKKyAgICAg
ICAgKHJ4OjpEaXNwbGF5TXRsOjppbml0aWFsaXplU2hhZGVyTGlicmFyeSk6CisKIDIwMjEtMDYt
MjMgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICByQUYg
ZHJpdmVuIFdlYkdMIHN1Ym1pdHMgZXhjZXNzaXZlIGFtb3VudCBvZiBHUFUgd29yayB3aGVuIGZy
YW1lcyBhcmUgc2xvdwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0FOR0xF
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWQ5ZmJiYTliNGQ5YjQwMTUyNDE1MTJl
MzRhMmJkN2U5MjMwODhlNC4uYjg5NjhlZjA0OTI0NGNmY2YyYzhjMzVlNDc3ZmNjNmYzNzY5N2I2
OSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9BTkdMRS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zLDcgKzMsNyBAQAogCWFyY2hpdmVWZXJzaW9uID0gMTsK
IAljbGFzc2VzID0gewogCX07Ci0Jb2JqZWN0VmVyc2lvbiA9IDQ2OworCW9iamVjdFZlcnNpb24g
PSA1NDsKIAlvYmplY3RzID0gewogCiAvKiBCZWdpbiBQQlhBZ2dyZWdhdGVUYXJnZXQgc2VjdGlv
biAqLwpAQCAtODM4LDYgKzgzOCwxMyBAQAogCQlGRjJEMkY1NTI1QzhCMTRBMDAyRkI2OTkgLyog
Rml4VHlwZUNvbnN0cnVjdG9ycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRkYyRDJGNTIyNUM4QjE0QTAwMkZCNjk5IC8qIEZpeFR5cGVDb25zdHJ1Y3Rv
cnMuaCAqLzsgfTsKIAkJRkY1ODJFMTYyNjU0NEZDNDAwNkRBNUI4IC8qIFByb3Zva2luZ1ZlcnRl
eEhlbHBlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZGNTgyRTE0MjY1NDRGQzQwMDZEQTVCOCAvKiBQcm92b2tpbmdWZXJ0ZXhIZWxwZXIubW0gKi87
IH07CiAJCUZGNTgyRTE3MjY1NDRGQzQwMDZEQTVCOCAvKiBQcm92b2tpbmdWZXJ0ZXhIZWxwZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGNTgyRTE1
MjY1NDRGQzQwMDZEQTVCOCAvKiBQcm92b2tpbmdWZXJ0ZXhIZWxwZXIuaCAqLzsgfTsKKwkJRkZD
RUQwODkyNjgyNzUwNjAwRjEyNjY3IC8qIGJsaXQubWV0YWwgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRjgxRkVBQTI1ODE4RDY4MDA4OTRFMjQgLyogYmxp
dC5tZXRhbCAqLzsgfTsKKwkJRkZDRUQwOEEyNjgyNzUwNjAwRjEyNjY3IC8qIGNsZWFyLm1ldGFs
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY4MUZFQjEy
NTgxOEQ2ODAwODk0RTI0IC8qIGNsZWFyLm1ldGFsICovOyB9OworCQlGRkNFRDA4QjI2ODI3NTA2
MDBGMTI2NjcgLyogY29weV9idWZmZXIubWV0YWwgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGRjgxRkVBRjI1ODE4RDY4MDA4OTRFMjQgLyogY29weV9idWZm
ZXIubWV0YWwgKi87IH07CisJCUZGQ0VEMDhDMjY4Mjc1MDcwMEYxMjY2NyAvKiBnZW5faW5kaWNl
cy5tZXRhbCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZG
ODFGRUIzMjU4MThENjgwMDg5NEUyNCAvKiBnZW5faW5kaWNlcy5tZXRhbCAqLzsgfTsKKwkJRkZD
RUQwOEQyNjgyNzUwNzAwRjEyNjY3IC8qIGdlbl9taXBtYXAubWV0YWwgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRjgxRkVCMjI1ODE4RDY4MDA4OTRFMjQg
LyogZ2VuX21pcG1hcC5tZXRhbCAqLzsgfTsKKwkJRkZDRUQwOEUyNjgyNzUwNzAwRjEyNjY3IC8q
IHJld3JpdGVfaW5kaWNlcy5tZXRhbCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEZGNTgyRTE4MjY1NDRGRTUwMDZEQTVCOCAvKiByZXdyaXRlX2luZGljZXMu
bWV0YWwgKi87IH07CisJCUZGQ0VEMDhGMjY4Mjc1MDcwMEYxMjY2NyAvKiB2aXNpYmlsaXR5Lm1l
dGFsIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY4MUZF
QUIyNTgxOEQ2ODAwODk0RTI0IC8qIHZpc2liaWxpdHkubWV0YWwgKi87IH07CiAvKiBFbmQgUEJY
QnVpbGRGaWxlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYQnVpbGRSdWxlIHNlY3Rpb24gKi8K
QEAgLTM1NzYsNiArMzU4Myw3IEBACiAJCQkJMzFDRDAwQ0UyNDkxOTc0QzAwNDg2RjI3IC8qIENv
cHlGaWxlcyAqLywKIAkJCQkzMUNEMDBDRjI0OTE5NzY4MDA0ODZGMjcgLyogQ29weUZpbGVzICov
LAogCQkJCTMxQ0QwMEQyMjQ5MTk3RkQwMDQ4NkYyNyAvKiBBZGp1c3QgQU5HTEUgUGF0aHMgKi8s
CisJCQkJRkYwMDdDOTMyNjgzRTQ5QTAwRTA5RTBEIC8qIE1vdmUgTWV0YWwgTGlicmFyeSAqLywK
IAkJCSk7CiAJCQlidWlsZFJ1bGVzID0gKAogCQkJCTMxQTlFOUEwMjQ5QUEwNDIwMEM3RTI0MyAv
KiBQQlhCdWlsZFJ1bGUgKi8sCkBAIC0zNjQzLDYgKzM2NTEsMjUgQEAKIAkJCXNoZWxsUGF0aCA9
IC9iaW4vc2g7CiAJCQlzaGVsbFNjcmlwdCA9ICJpZiBbIFwiJHtYQ09ERV9WRVJTSU9OX0FDVFVB
TH1cIiAtZ2UgXCIxMTQwXCIgLWEgXCIke1dLX1VTRV9ORVdfQlVJTERfU1lTVEVNfVwiID0gXCJZ
RVNcIiBdOyB0aGVuXG4gICAgIyBJbiB0aGlzIGNvbmZpZ3VyYXRpb24sIHBvc3QtcHJvY2Vzc2lu
ZyBpcyBwZXJmb3JtZWQgYXQgdGhlIHNhbWUgdGltZSBhcyBjb3B5aW5nIGluIHRoZSBwb3N0cHJv
Y2Vzcy1oZWFkZXItcnVsZSBzY3JpcHQsIHNvIHRoZXJlJ3Mgbm8gbmVlZCBmb3IgdGhpcyBzZXBh
cmF0ZSBzdGVwLlxuICAgIGV4aXQgMFxuZmlcblxuZXhlYyBcIiRTUkNST09UL2FkanVzdC1hbmds
ZS1pbmNsdWRlLXBhdGhzLnB5XCJcbiI7CiAJCX07CisJCUZGMDA3QzkzMjY4M0U0OUEwMEUwOUUw
RCAvKiBNb3ZlIE1ldGFsIExpYnJhcnkgKi8gPSB7CisJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1
aWxkUGhhc2U7CisJCQlhbHdheXNPdXRPZkRhdGUgPSAxOworCQkJYnVpbGRBY3Rpb25NYXNrID0g
MTI7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlpbnB1dEZpbGVMaXN0UGF0aHMgPSAoCisJCQkp
OworCQkJaW5wdXRQYXRocyA9ICgKKwkJCSk7CisJCQluYW1lID0gIk1vdmUgTWV0YWwgTGlicmFy
eSI7CisJCQlvdXRwdXRGaWxlTGlzdFBhdGhzID0gKAorCQkJKTsKKwkJCW91dHB1dFBhdGhzID0g
KAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQkJ
c2hlbGxQYXRoID0gL2Jpbi9zaDsKKwkJCXNoZWxsU2NyaXB0ID0gIiNJbnN0YWxsIGRpcmVjdG9y
eSBpcyB3aXRoaW4gV2ViY29yZSwgbW92ZSB0aGUgbGlicmFyeSB0byByZXNvdXJjZXMuXG5pZiBb
ICR7QUNUSU9OfSA9PSBpbnN0YWxsIF07IHRoZW5cblxubWtkaXIgLXAgXCIke1RBUkdFVF9CVUlM
RF9ESVJ9XCIvLi4vUmVzb3VyY2VzXG5tdiBcIiR7TUVUQUxfTElCUkFSWV9PVVRQVVRfRElSfVwi
L1wiJHtNRVRBTF9MSUJSQVJZX0ZJTEVfQkFTRX1cIi5tZXRhbGxpYiAgXCIke1RBUkdFVF9CVUlM
RF9ESVJ9XCIvLi4vUmVzb3VyY2VzL1wiJHtNRVRBTF9MSUJSQVJZX0ZJTEVfQkFTRX1cIi5tZXRh
bGxpYlxuXG5lbHNlXG4jTG9jYWwgYnVpbGRzIFxubWtkaXIgLXAgXCIke1RBUkdFVF9CVUlMRF9E
SVJ9XCIvV2ViQ29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9SZXNvdXJjZXNcbm12IFwiJHtNRVRB
TF9MSUJSQVJZX09VVFBVVF9ESVJ9XCIvXCIke01FVEFMX0xJQlJBUllfRklMRV9CQVNFfVwiLm1l
dGFsbGliIFwiJHtUQVJHRVRfQlVJTERfRElSfVwiL1dlYkNvcmUuZnJhbWV3b3JrL1ZlcnNpb25z
L0EvUmVzb3VyY2VzL1wiJHtNRVRBTF9MSUJSQVJZX0ZJTEVfQkFTRX1cIi5tZXRhbGxpYlxuXG5m
aVxuIjsKKwkJfTsKIC8qIEVuZCBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwog
CiAvKiBCZWdpbiBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCkBAIC0zNjYyLDYgKzM2
ODksNyBAQAogCQkJCURGODNFMjM3MjYzOUZDRDUwMDA4MjVFRiAvKiBBc3RIZWxwZXJzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCURGODNFMkFGMjYzOUZEODMwMDA4MjVFRiAvKiBBU1RNZXRhZGF0
YUhMU0wuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREY4M0UzMzMyNjM5RkUxODAwMDgyNUVGIC8q
IEF0dHJpYnV0ZU1hcC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGRkNFRDA4OTI2ODI3NTA2MDBG
MTI2NjcgLyogYmxpdC5tZXRhbCBpbiBTb3VyY2VzICovLAogCQkJCURGODNFMzU5MjYzOUZFOTIw
MDA4MjVFRiAvKiBCbGl0R0wuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREY4M0UyRUEyNjM5RkUx
NzAwMDgyNUVGIC8qIEJsb2JDYWNoZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlERjgzRTJCQzI2
MzlGRDgzMDAwODI1RUYgLyogYmxvY2tsYXlvdXQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zNjc5
LDYgKzM3MDcsNyBAQAogCQkJCURGODNFMzJDMjYzOUZFMTgwMDA4MjVFRiAvKiBDYXBzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCURGODNFMjg5MjYzOUZEMzMwMDA4MjVFRiAvKiBDbGFtcEZyYWdE
ZXB0aC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlERjgzRTI2NzI2MzlGRDMzMDAwODI1RUYgLyog
Q2xhbXBQb2ludFNpemUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkZDRUQwOEEyNjgyNzUwNjAw
RjEyNjY3IC8qIGNsZWFyLm1ldGFsIGluIFNvdXJjZXMgKi8sCiAJCQkJREY4M0UzNUMyNjM5RkU5
MjAwMDgyNUVGIC8qIENsZWFyTXVsdGl2aWV3R0wuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREY4
M0UyQ0IyNjM5RkQ4NDAwMDgyNUVGIC8qIENvZGVHZW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
REY4M0UyRDYyNjM5RkQ4NDAwMDgyNUVGIC8qIENvbGxlY3RWYXJpYWJsZXMuY3BwIGluIFNvdXJj
ZXMgKi8sCkBAIC0zNjk3LDYgKzM3MjYsNyBAQAogCQkJCURGODNFMzU4MjYzOUZFOTIwMDA4MjVF
RiAvKiBDb250ZXh0R0wuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREY4M0UzOUEyNjM5RkVENDAw
MDgyNUVGIC8qIENvbnRleHRJbXBsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURGODNFMzc3MjYz
OUZFQjgwMDA4MjVFRiAvKiBDb250ZXh0TXRsLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJRkZDRUQw
OEIyNjgyNzUwNjAwRjEyNjY3IC8qIGNvcHlfYnVmZmVyLm1ldGFsIGluIFNvdXJjZXMgKi8sCiAJ
CQkJREY4M0UyREQyNjM5RkUxNzAwMDgyNUVGIC8qIGNvcHlpbWFnZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlERjgzRTJGMTI2MzlGRTE3MDAwODI1RUYgLyogRGVidWcuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJREY4M0UyMTcyNjM5RkM3NDAwMDgyNUVGIC8qIGRlYnVnLmNwcCBpbiBTb3VyY2Vz
ICovLApAQCAtMzc3Myw2ICszODAzLDggQEAKIAkJCQlERjgzRTIyNTI2MzlGQzgwMDAwODI1RUYg
LyogRnVuY3Rpb25zQ0dMLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURGODNFMzRGMjYzOUZFOTIw
MDA4MjVFRiAvKiBGdW5jdGlvbnNFQUdMLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJREY4M0UzNTcy
NjM5RkU5MjAwMDgyNUVGIC8qIEZ1bmN0aW9uc0dMLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZG
Q0VEMDhDMjY4Mjc1MDcwMEYxMjY2NyAvKiBnZW5faW5kaWNlcy5tZXRhbCBpbiBTb3VyY2VzICov
LAorCQkJCUZGQ0VEMDhEMjY4Mjc1MDcwMEYxMjY2NyAvKiBnZW5fbWlwbWFwLm1ldGFsIGluIFNv
dXJjZXMgKi8sCiAJCQkJREY4M0UyRTgyNjM5RkUxNzAwMDgyNUVGIC8qIEdMRVMxUmVuZGVyZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREY4M0UyRUQyNjM5RkUxNzAwMDgyNUVGIC8qIEdMRVMx
U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREY4M0UzNDEyNjM5RkUyQTAwMDgyNUVGIC8q
IGdsb2JhbF9zdGF0ZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTM5MTAsNiArMzk0Miw3IEBACiAJ
CQkJREY4M0UyQUUyNjM5RkQ4MzAwMDgyNUVGIC8qIFJlcGxhY2VTaGFkb3dpbmdWYXJpYWJsZXMu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREY4M0UyOEYyNjM5RkQ4MzAwMDgyNUVGIC8qIFJlcGxh
Y2VWYXJpYWJsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlERjgzRTMxMTI2MzlGRTE3MDAwODI1
RUYgLyogUmVzb3VyY2VNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZGQ0VEMDhFMjY4
Mjc1MDcwMEYxMjY2NyAvKiByZXdyaXRlX2luZGljZXMubWV0YWwgaW4gU291cmNlcyAqLywKIAkJ
CQlERjgzRTI1RjI2MzlGRDMzMDAwODI1RUYgLyogUmV3cml0ZUF0b21pY0NvdW50ZXJzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCURGODNFMjZCMjYzOUZEMzMwMDA4MjVFRiAvKiBSZXdyaXRlQXRv
bWljRnVuY3Rpb25FeHByZXNzaW9ucy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlERjgzRTI0NzI2
MzlGQ0Q1MDAwODI1RUYgLyogUmV3cml0ZUNhc2VEZWNsYXJhdGlvbnMuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC00MDQ0LDYgKzQwNzcsNyBAQAogCQkJCURGODNFMzVGMjYzOUZFOTIwMDA4MjVFRiAv
KiBWZXJ0ZXhBcnJheUdMLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURGODNFMzg4MjYzOUZFQjgw
MDA4MjVFRiAvKiBWZXJ0ZXhBcnJheU10bC5tbSBpbiBTb3VyY2VzICovLAogCQkJCURGODNFMzFD
MjYzOUZFMTcwMDA4MjVFRiAvKiBWZXJ0ZXhBdHRyaWJ1dGUuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJRkZDRUQwOEYyNjgyNzUwNzAwRjEyNjY3IC8qIHZpc2liaWxpdHkubWV0YWwgaW4gU291cmNl
cyAqLywKIAkJCQlERjgzRTM2OTI2MzlGRTkyMDAwODI1RUYgLyogV2luZG93U3VyZmFjZUNHTC5t
bSBpbiBTb3VyY2VzICovLAogCQkJCURGODNFMzUxMjYzOUZFOTIwMDA4MjVFRiAvKiBXaW5kb3dT
dXJmYWNlRUFHTC5tbSBpbiBTb3VyY2VzICovLAogCQkJCURGODNFMzBDMjYzOUZFMTcwMDA4MjVF
RiAvKiBXb3JrZXJUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9Db25maWd1cmF0aW9ucy9BTkdMRS1keW5hbWljLnhjY29uZmlnIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQU5HTEUtZHluYW1pYy54Y2Nv
bmZpZwppbmRleCA0MjhmZWY1MWQxOTljMDEwYzliMmQyMTM5MWNhZmRhMDcxMGUzMDkxLi44MTZm
N2Q4MzkyYTM2ZWMzZTJjNjIzNDg4MzQxMzlmMDI0ZDBmYmZlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9Db25maWd1cmF0aW9ucy9BTkdMRS1keW5hbWljLnhjY29uZmlnCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0FOR0xFLWR5bmFtaWMu
eGNjb25maWcKQEAgLTM2LDcgKzM2LDkgQEAgUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhbc2Rr
PW1hY29zeCpdID0gJChQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSF8kKFdLX1BMQVQKIFBVQkxJ
Q19IRUFERVJTX0ZPTERFUl9QQVRIX21hY29zeCA9ICQoQU5HTEVfSEVBREVSU19GT0xERVJfUEFU
SCk7CiBQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSF9tYWNjYXRhbHlzdCA9ICQoV0tfQUxURVJO
QVRFX0ZSQU1FV09SS1NfRElSKS8kKEFOR0xFX0hFQURFUlNfRk9MREVSX1BBVEgpOwogCi1HQ0Nf
UFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gJChERUJVR19ERUZJTkVTKSBMSUJHTEVTVjJfSU1Q
TEVNRU5UQVRJT04gTElCQU5HTEVfSU1QTEVNRU5UQVRJT04gQU5HTEVfRU5BQkxFX09QRU5HTCBB
TkdMRV9FTkFCTEVfR0xTTCBBTkdMRV9FTkFCTEVfRVNTTCBHTF9TSUxFTkNFX0RFUFJFQ0FUSU9O
IEdMRVNfU0lMRU5DRV9ERVBSRUNBVElPTiBBTkdMRV9FTkFCTEVfTUVUQUw7CitHQ0NfUFJFUFJP
Q0VTU09SX0RFRklOSVRJT05TID0gJChERUJVR19ERUZJTkVTKSBMSUJHTEVTVjJfSU1QTEVNRU5U
QVRJT04gTElCQU5HTEVfSU1QTEVNRU5UQVRJT04gQU5HTEVfRU5BQkxFX09QRU5HTCBBTkdMRV9F
TkFCTEVfR0xTTCBBTkdMRV9FTkFCTEVfRVNTTCBHTF9TSUxFTkNFX0RFUFJFQ0FUSU9OIEdMRVNf
U0lMRU5DRV9ERVBSRUNBVElPTiBBTkdMRV9FTkFCTEVfTUVUQUwgQU5HTEVfTUVUQUxfWENPREVf
QlVJTERTX1NIQURFUlMKKworTUVUQUxfTElCUkFSWV9GSUxFX0JBU0UgPSBhbmdsZS1kZWZhdWx0
OwogCiBERUFEX0NPREVfU1RSSVBQSU5HID0gWUVTOwogREVBRF9DT0RFX1NUUklQUElOR1tjb25m
aWc9RGVidWddID0gTk87CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCmluZGV4IGJk
ZTI5ZTYxOTBlMmQ5ODU0Y2NkMmFmMTkzMDA2NWQ2YjE5NWZiNTYuLjk4MTA0YTc4NTM4NzVjNmU5
ZDc1M2ViMDNiYzViZDkyMmY4YmY4NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRs
Lm1tCkBAIC0yMyw3ICsyMyw2IEBACiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvbWV0YWwv
bXRsX2NvbW1vbi5oIgogI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVyL21ldGFsL3NoYWRlcnMv
bXRsX2RlZmF1bHRfc2hhZGVyc19zcmNfYXV0b2dlbi5pbmMiCiAjaW5jbHVkZSAicGxhdGZvcm0v
UGxhdGZvcm0uaCIKLQogI2luY2x1ZGUgIkVHTC9lZ2xleHQuaCIKIAogI2lmIGRlZmluZWQoQU5H
TEVfUExBVEZPUk1fTUFDT1MpIHx8IGRlZmluZWQoQU5HTEVfUExBVEZPUk1fTUFDQ0FUQUxZU1Qp
CkBAIC05ODYsMTYgKzk4NSwyNCBAQCB2b2lkIERpc3BsYXlNdGw6OmluaXRpYWxpemVGZWF0dXJl
cygpCiAgICAgQXBwbHlGZWF0dXJlT3ZlcnJpZGVzKCZtRmVhdHVyZXMsIGdldFN0YXRlKCkpOwog
fQogCitzdGF0aWMgTlNCdW5kbGUgKiBnZXRXZWJjb3JlQnVuZGxlKCkKK3sKKyAgICBOU0J1bmRs
ZSAqIHdlYmNvcmVCdW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZpZXI6QCJjb20u
YXBwbGUuV2ViQ29yZSJdOworICAgIGlmKHdlYmNvcmVCdW5kbGUpCisgICAgICAgIHJldHVybiB3
ZWJjb3JlQnVuZGxlOworICAgIHJldHVybiBbTlNCdW5kbGUgYnVuZGxlV2l0aFBhdGg6QCIvU3lz
dGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvV2ViQ29yZS5mcmFtZXdvcmsiXTsKK30KKwog
YW5nbGU6OlJlc3VsdCBEaXNwbGF5TXRsOjppbml0aWFsaXplU2hhZGVyTGlicmFyeSgpCiB7CiAj
aWZkZWYgQU5HTEVfTUVUQUxfWENPREVfQlVJTERTX1NIQURFUlMKICAgICBtRGVmYXVsdFNoYWRl
cnNBc3luY0luZm8ucmVzZXQobmV3IERlZmF1bHRTaGFkZXJBc3luY0luZm9NdGwpOwotCi0gICAg
TlNTdHJpbmcgKnBhdGggPSBbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZpZXI6QCJjb20uYXBw
bGUuV2ViS2l0Il0uYnVuZGxlUGF0aDsKKyAgICBOU0J1bmRsZSAqIHdlYmNvcmVCdW5kbGUgPSBn
ZXRXZWJjb3JlQnVuZGxlKCk7CisgICAgTlNVUkwgKiBwYXRoID0gW05TVVJMIGZpbGVVUkxXaXRo
UGF0aDpAImFuZ2xlLWRlZmF1bHQubWV0YWxsaWIiIHJlbGF0aXZlVG9VUkw6IHdlYmNvcmVCdW5k
bGUucmVzb3VyY2VVUkwgXTsKICAgICBOU0Vycm9yICplcnJvciA9IG51bGxwdHI7CiAgICAgbURl
ZmF1bHRTaGFkZXJzQXN5bmNJbmZvLT5kZWZhdWx0U2hhZGVycyA9Ci0gICAgICAgIFtnZXRNZXRh
bERldmljZSgpIG5ld0RlZmF1bHRMaWJyYXJ5V2l0aEJ1bmRsZTpbTlNCdW5kbGUgYnVuZGxlV2l0
aFBhdGg6cGF0aF0gZXJyb3I6JmVycm9yXTsKLQorICAgICAgICBbZ2V0TWV0YWxEZXZpY2UoKSBu
ZXdMaWJyYXJ5V2l0aFVSTDpwYXRoIGVycm9yOiZlcnJvcl07CisgICAgICAgCiAgICAgaWYgKGVy
cm9yICYmICFtRGVmYXVsdFNoYWRlcnNBc3luY0luZm8tPmRlZmF1bHRTaGFkZXJzKQogICAgIHsK
ICAgICAgICAgQU5HTEVfTVRMX09CSkNfU0NPUEUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433554</attachid>
            <date>2021-07-14 18:54:54 -0700</date>
            <delta_ts>2021-07-14 19:25:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227333-20210714185453.patch</filename>
            <type>text/plain</type>
            <size>16775</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5OTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggOWUxZGQ0ZTE5ZWExODU3NzU4MzI1ZjM0ZjIxZWY1YjBkMjVhNTI0OC4uOTQwNTBjOTQwNjY0
Yjg4YWFkY2YwZGI0MzAzYzhhNzViOGE2YWYwZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA3LTE0ICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVpbGQgRGVmYXVsdCBNZXRhbCBsaWJyYXJ5IG9m
ZmxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NzMzMworCisgICAgICAgIDxyZGFyOi8vNzk5MjMzNzE+CisKKyAgICAgICAgVGhpcyBwYXRjaCBj
b21waWxlcyBhbmQgY3JlYXRlcyBhIE1ldGFsIGxpYnJhcnkgYXQgYnVpbGQgdGltZSwgc3Rvcmlu
ZworICAgICAgICB0aGUgbGlicmFyeSBhcyBhIGNvbXBpbGVkIGJpbmFyeSBmaWxlLiBUaGlzIGxp
YnJhcnkgaXMgYmFrZWQgaW50byB0aGUgZHlsaWIsIAorICAgICAgICBhbmQgaXMgbG9hZGVkIGF0
IGNvbnRleHQgY3JlYXRpb24gdGltZS4KKworICAgICAgICBVbmxpa2UgdGhlIHByZXZpb3VzIHZl
cnNpb24gb2YgdGhpcyBwYXRjaCwgdGhpcyBwYXRjaCBkb2VzIG5vdCBzYXZlIG9yIHN0b3JlIHRo
ZSAubWV0YWxsaWIgb24gZGlzaywgYnV0IHJhdGhlcgorICAgICAgICBiYWtlcyBpdCBpbnRvIGEg
YmluYXJ5LgorICAgICAgICAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiAuZ2l0aWdub3JlOgorICAgICAgICAqIEFOR0xFLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvQU5HTEUtZHluYW1pYy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbToK
KyAgICAgICAgKHJ4OjpEaXNwbGF5TXRsOjppbml0aWFsaXplU2hhZGVyTGlicmFyeSk6CisgICAg
ICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5oOgorCiAyMDIxLTA3
LTEzICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGluZ3RvbkBhcHBsZS5jb20+CiAKICAgICAgICAg
ckFGIGRyaXZlbiBXZWJHTCBzdWJtaXRzIGV4Y2Vzc2l2ZSBhbW91bnQgb2YgR1BVIHdvcmsgd2hl
biBmcmFtZXMgYXJlIHNsb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFLy5n
aXRpZ25vcmUgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS8uZ2l0aWdub3JlCmluZGV4IGM4Yzli
NmNmZjY2YTljMDJhM2E4ZDkyOGU3M2RlM2JlNGMyZjlkNDYuLjQ3YWVkMzc0YzU1N2JiMjk5ZTZl
NzViN2I3N2Y4NDVmMzczNzM1NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
Ly5naXRpZ25vcmUKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvLmdpdGlnbm9yZQpAQCAt
MjgsNiArMjgsNyBAQAogLmdjbGllbnRfZW50cmllcwogLmdpdF9jbF9kZXNjcmlwdGlvbl9iYWNr
dXAKIC9zcmMvdGVzdHMvdGhpcmRfcGFydHkvZ2xlc19jb25mb3JtYW5jZV90ZXN0cworL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci9tZXRhbC9zaGFkZXJzL2NvbXBpbGVkL210bF9kZWZhdWx0X3NoYWRl
cnNfY29tcGlsZWQuaW5jCiAvdGVzdGluZwogL3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAKIC90aGly
ZF9wYXJ0eS9hbmRyb2lkX25kawpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
QU5HTEUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L0FOR0xFLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWQ5ZmJiYTliNGQ5YjQwMTUy
NDE1MTJlMzRhMmJkN2U5MjMwODhlNC4uMTQ5N2NmYzcyMjc0MjNmNGIyMjdhYTM4ZGFkMjA5OTk0
YjVlYTY4MiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9BTkdMRS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04MzgsNiArODM4LDEzIEBACiAJCUZGMkQyRjU1
MjVDOEIxNEEwMDJGQjY5OSAvKiBGaXhUeXBlQ29uc3RydWN0b3JzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRjJEMkY1MjI1QzhCMTRBMDAyRkI2OTkg
LyogRml4VHlwZUNvbnN0cnVjdG9ycy5oICovOyB9OwogCQlGRjU4MkUxNjI2NTQ0RkM0MDA2REE1
QjggLyogUHJvdm9raW5nVmVydGV4SGVscGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkY1ODJFMTQyNjU0NEZDNDAwNkRBNUI4IC8qIFByb3Zva2lu
Z1ZlcnRleEhlbHBlci5tbSAqLzsgfTsKIAkJRkY1ODJFMTcyNjU0NEZDNDAwNkRBNUI4IC8qIFBy
b3Zva2luZ1ZlcnRleEhlbHBlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRkY1ODJFMTUyNjU0NEZDNDAwNkRBNUI4IC8qIFByb3Zva2luZ1ZlcnRleEhl
bHBlci5oICovOyB9OworCQlGRkRBNTBDQzI2OUY4NDgyMDBBRTExRTIgLyogYmxpdC5tZXRhbCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFGRUFBMjU4
MThENjgwMDg5NEUyNCAvKiBibGl0Lm1ldGFsICovOyB9OworCQlGRkRBNTBDRDI2OUY4NDgyMDBB
RTExRTIgLyogY2xlYXIubWV0YWwgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGRjgxRkVCMTI1ODE4RDY4MDA4OTRFMjQgLyogY2xlYXIubWV0YWwgKi87IH07
CisJCUZGREE1MENFMjY5Rjg0ODIwMEFFMTFFMiAvKiBjb3B5X2J1ZmZlci5tZXRhbCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFGRUFGMjU4MThENjgw
MDg5NEUyNCAvKiBjb3B5X2J1ZmZlci5tZXRhbCAqLzsgfTsKKwkJRkZEQTUwQ0YyNjlGODQ4MjAw
QUUxMUUyIC8qIGdlbl9pbmRpY2VzLm1ldGFsIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkY4MUZFQjMyNTgxOEQ2ODAwODk0RTI0IC8qIGdlbl9pbmRpY2Vz
Lm1ldGFsICovOyB9OworCQlGRkRBNTBEMDI2OUY4NDgyMDBBRTExRTIgLyogZ2VuX21pcG1hcC5t
ZXRhbCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFG
RUIyMjU4MThENjgwMDg5NEUyNCAvKiBnZW5fbWlwbWFwLm1ldGFsICovOyB9OworCQlGRkRBNTBE
MTI2OUY4NDgyMDBBRTExRTIgLyogcmV3cml0ZV9pbmRpY2VzLm1ldGFsIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY1ODJFMTgyNjU0NEZFNTAwNkRBNUI4
IC8qIHJld3JpdGVfaW5kaWNlcy5tZXRhbCAqLzsgfTsKKwkJRkZEQTUwRDIyNjlGODQ4MjAwQUUx
MUUyIC8qIHZpc2liaWxpdHkubWV0YWwgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGRjgxRkVBQjI1ODE4RDY4MDA4OTRFMjQgLyogdmlzaWJpbGl0eS5tZXRh
bCAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhC
dWlsZFJ1bGUgc2VjdGlvbiAqLwpAQCAtODY0LDYgKzg3MSwxMyBAQAogCQkJcmVtb3RlR2xvYmFs
SURTdHJpbmcgPSAzMUNERkRGMzI0OTE4MTlFMDA0ODZGMjc7CiAJCQlyZW1vdGVJbmZvID0gIkFO
R0xFIChkeW5hbWljKSI7CiAJCX07CisJCUZGREE1MEQzMjY5Rjg0QTAwMEFFMTFFMiAvKiBQQlhD
b250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7
CisJCQljb250YWluZXJQb3J0YWwgPSBGQjM5RDA3MDEyMDBFRDkyMDAwODhFNjkgLyogUHJvamVj
dCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcg
PSBGRkRBNTBDNDI2OUY4NDUxMDBBRTExRTI7CisJCQlyZW1vdGVJbmZvID0gQU5HTEVNZXRhbExp
YjsKKwkJfTsKIC8qIEVuZCBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLwogCiAvKiBC
ZWdpbiBQQlhDb3B5RmlsZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTE4MTMsNiArMTgyNyw4
IEBACiAJCUZGODFGRjlBMjU4MUEzQzIwMDg5NEUyNCAvKiBJbnRlcm1SZWJ1aWxkLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludGVybVJlYnVpbGQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRkZBMEMyQzUyNUNCNkE3NjAwMTA1MzA2IC8qIE5hbWVFbWJlZGRl
ZFVuaWZvcm1TdHJ1Y3RzTWV0YWwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTmFtZUVtYmVkZGVkVW5pZm9ybVN0cnVjdHNNZXRhbC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUZGQTBDMkM2MjVDQjZBNzcwMDEwNTMwNiAvKiBOYW1lRW1iZWRkZWRV
bmlmb3JtU3RydWN0c01ldGFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5h
bWVFbWJlZGRlZFVuaWZvcm1TdHJ1Y3RzTWV0YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRkZEQTUwRDYyNjlGOUU1ODAwQUUxMUUyIC8qIGNyZWF0ZV9tdGxfaW50ZXJuYWxfc2hh
ZGVycy5weSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9IGNyZWF0ZV9tdGxf
aW50ZXJuYWxfc2hhZGVycy5weTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkZEQTUw
RDcyNjlGQTY1QjAwQUUxMUUyIC8qIGNvbXBpbGVkICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZm9sZGVyOyBwYXRoID0gY29tcGlsZWQ7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCiAK
IC8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTMwNTEsMTEg
KzMwNjcsMTMgQEAKIAkJRkY4MUZFQTkyNTgxOEQ2ODAwODk0RTI0IC8qIHNoYWRlcnMgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUZGREE1MEQ3MjY5RkE2
NUIwMEFFMTFFMiAvKiBjb21waWxlZCAqLywKIAkJCQlGRjgxRkVBQTI1ODE4RDY4MDA4OTRFMjQg
LyogYmxpdC5tZXRhbCAqLywKIAkJCQlGRjgxRkVCMTI1ODE4RDY4MDA4OTRFMjQgLyogY2xlYXIu
bWV0YWwgKi8sCiAJCQkJRkY4MUZFQUQyNTgxOEQ2ODAwODk0RTI0IC8qIGNvbW1vbi5oICovLAog
CQkJCUZGODFGRUFDMjU4MThENjgwMDg5NEUyNCAvKiBjb25zdGFudHMuaCAqLywKIAkJCQlGRjgx
RkVBRjI1ODE4RDY4MDA4OTRFMjQgLyogY29weV9idWZmZXIubWV0YWwgKi8sCisJCQkJRkZEQTUw
RDYyNjlGOUU1ODAwQUUxMUUyIC8qIGNyZWF0ZV9tdGxfaW50ZXJuYWxfc2hhZGVycy5weSAqLywK
IAkJCQlGRjgxRkVCMDI1ODE4RDY4MDA4OTRFMjQgLyogZm9ybWF0X2F1dG9nZW4uaCAqLywKIAkJ
CQlGRjgxRkVCMzI1ODE4RDY4MDA4OTRFMjQgLyogZ2VuX2luZGljZXMubWV0YWwgKi8sCiAJCQkJ
RkY4MUZFQjIyNTgxOEQ2ODAwODk0RTI0IC8qIGdlbl9taXBtYXAubWV0YWwgKi8sCkBAIC0zNTcw
LDYgKzM1ODgsNyBAQAogCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OwogCQkJYnVpbGRDb25maWd1
cmF0aW9uTGlzdCA9IDMxQ0RGREY1MjQ5MTgxOUUwMDQ4NkYyNyAvKiBCdWlsZCBjb25maWd1cmF0
aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiQU5HTEUgKGR5bmFtaWMpIiAqLzsKIAkJCWJ1
aWxkUGhhc2VzID0gKAorCQkJCUZGREE1MEQ1MjY5Rjg5NTQwMEFFMTFFMiAvKiBTaGVsbFNjcmlw
dCAqLywKIAkJCQkzMUNERkRGMDI0OTE4MTlFMDA0ODZGMjcgLyogSGVhZGVycyAqLywKIAkJCQkz
MUNERkRGMTI0OTE4MTlFMDA0ODZGMjcgLyogU291cmNlcyAqLywKIAkJCQkzMUNERkRGMjI0OTE4
MTlFMDA0ODZGMjcgLyogRnJhbWV3b3JrcyAqLywKQEAgLTM1ODEsMTIgKzM2MDAsMjcgQEAKIAkJ
CQkzMUE5RTlBMDI0OUFBMDQyMDBDN0UyNDMgLyogUEJYQnVpbGRSdWxlICovLAogCQkJKTsKIAkJ
CWRlcGVuZGVuY2llcyA9ICgKKwkJCQlGRkRBNTBENDI2OUY4NEEwMDBBRTExRTIgLyogUEJYVGFy
Z2V0RGVwZW5kZW5jeSAqLywKIAkJCSk7CiAJCQluYW1lID0gIkFOR0xFIChkeW5hbWljKSI7CiAJ
CQlwcm9kdWN0TmFtZSA9ICJBTkdMRSAoZHluYW1pYykiOwogCQkJcHJvZHVjdFJlZmVyZW5jZSA9
IDMxQ0RGREY0MjQ5MTgxOUUwMDQ4NkYyNyAvKiBsaWJBTkdMRS1zaGFyZWQuZHlsaWIgKi87CiAJ
CQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLmxpYnJhcnkuZHluYW1pYyI7
CiAJCX07CisJCUZGREE1MEM0MjY5Rjg0NTEwMEFFMTFFMiAvKiBBTkdMRU1ldGFsTGliICovID0g
eworCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9
IEZGREE1MENCMjY5Rjg0NTEwMEFFMTFFMiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9y
IFBCWE5hdGl2ZVRhcmdldCAiQU5HTEVNZXRhbExpYiIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgK
KwkJCQlGRkRBNTBDMzI2OUY4NDUxMDBBRTExRTIgLyogU291cmNlcyAqLywKKwkJCSk7CisJCQli
dWlsZFJ1bGVzID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCSk7CisJCQluYW1l
ID0gQU5HTEVNZXRhbExpYjsKKwkJCXByb2R1Y3ROYW1lID0gQU5HTEVNZXRhbExpYjsKKwkJCXBy
b2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUubWV0YWwtbGlicmFyeSI7CisJCX07
CiAvKiBFbmQgUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYUHJvamVj
dCBzZWN0aW9uICovCkBAIC0zNjA0LDYgKzM2MzgsMTAgQEAKIAkJCQkJCUNyZWF0ZWRPblRvb2xz
VmVyc2lvbiA9IDEyLjA7CiAJCQkJCQlQcm92aXNpb25pbmdTdHlsZSA9IEF1dG9tYXRpYzsKIAkJ
CQkJfTsKKwkJCQkJRkZEQTUwQzQyNjlGODQ1MTAwQUUxMUUyID0geworCQkJCQkJQ3JlYXRlZE9u
VG9vbHNWZXJzaW9uID0gMTMuMDsKKwkJCQkJCVByb3Zpc2lvbmluZ1N0eWxlID0gQXV0b21hdGlj
OworCQkJCQl9OwogCQkJCX07CiAJCQl9OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IEZC
MzlEMDczMTIwMEVEOTIwMDA4OEU2OSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBC
WFByb2plY3QgIkFOR0xFIiAqLzsKQEAgLTM2MjAsNiArMzY1OCw3IEBACiAJCQl0YXJnZXRzID0g
KAogCQkJCTMxREI3OTRGMjQ5MUMzMzMwMDk4Mjg3OCAvKiBBTkdMRSAqLywKIAkJCQkzMUNERkRG
MzI0OTE4MTlFMDA0ODZGMjcgLyogQU5HTEUgKGR5bmFtaWMpICovLAorCQkJCUZGREE1MEM0MjY5
Rjg0NTEwMEFFMTFFMiAvKiBBTkdMRU1ldGFsTGliICovLAogCQkJKTsKIAkJfTsKIC8qIEVuZCBQ
QlhQcm9qZWN0IHNlY3Rpb24gKi8KQEAgLTM2NDMsNiArMzY4MiwyNCBAQAogCQkJc2hlbGxQYXRo
ID0gL2Jpbi9zaDsKIAkJCXNoZWxsU2NyaXB0ID0gImlmIFsgXCIke1hDT0RFX1ZFUlNJT05fQUNU
VUFMfVwiIC1nZSBcIjExNDBcIiAtYSBcIiR7V0tfVVNFX05FV19CVUlMRF9TWVNURU19XCIgPSBc
IllFU1wiIF07IHRoZW5cbiAgICAjIEluIHRoaXMgY29uZmlndXJhdGlvbiwgcG9zdC1wcm9jZXNz
aW5nIGlzIHBlcmZvcm1lZCBhdCB0aGUgc2FtZSB0aW1lIGFzIGNvcHlpbmcgaW4gdGhlIHBvc3Rw
cm9jZXNzLWhlYWRlci1ydWxlIHNjcmlwdCwgc28gdGhlcmUncyBubyBuZWVkIGZvciB0aGlzIHNl
cGFyYXRlIHN0ZXAuXG4gICAgZXhpdCAwXG5maVxuXG5leGVjIFwiJFNSQ1JPT1QvYWRqdXN0LWFu
Z2xlLWluY2x1ZGUtcGF0aHMucHlcIlxuIjsKIAkJfTsKKwkJRkZEQTUwRDUyNjlGODk1NDAwQUUx
MUUyIC8qIFNoZWxsU2NyaXB0ICovID0geworCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBo
YXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJ
KTsKKwkJCWlucHV0RmlsZUxpc3RQYXRocyA9ICgKKwkJCSk7CisJCQlpbnB1dFBhdGhzID0gKAor
CQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvQU5HTEVNZXRhbExpYi5tZXRhbGxpYiIsCisJCQkp
OworCQkJb3V0cHV0RmlsZUxpc3RQYXRocyA9ICgKKwkJCSk7CisJCQlvdXRwdXRQYXRocyA9ICgK
KwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJCXNo
ZWxsUGF0aCA9IC9iaW4vc2g7CisJCQlzaGVsbFNjcmlwdCA9ICJlY2hvIHB5dGhvbiBcIiR7U1JD
Uk9PVH0vc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL3NoYWRlcnMvY3JlYXRlX210bF9pbnRl
cm5hbF9zaGFkZXJzLnB5XCIgXCIke1NDUklQVF9JTlBVVF9GSUxFXzB9XCJcbnB5dGhvbiBcIiR7
U1JDUk9PVH0vc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL3NoYWRlcnMvY3JlYXRlX210bF9p
bnRlcm5hbF9zaGFkZXJzLnB5XCIgXCIke1NDUklQVF9JTlBVVF9GSUxFXzB9XCJcbnJtIFwiJHtT
Q1JJUFRfSU5QVVRfRklMRV8wfVwiXG4iOworCQl9OwogLyogRW5kIFBCWFNoZWxsU2NyaXB0QnVp
bGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rp
b24gKi8KQEAgLTQwNTMsNiArNDExMCwyMCBAQAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3lt
ZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OworCQlGRkRBNTBDMzI2OUY4NDUxMDBBRTExRTIg
LyogU291cmNlcyAqLyA9IHsKKwkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVp
bGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCUZGREE1MENDMjY5
Rjg0ODIwMEFFMTFFMiAvKiBibGl0Lm1ldGFsIGluIFNvdXJjZXMgKi8sCisJCQkJRkZEQTUwQ0Qy
NjlGODQ4MjAwQUUxMUUyIC8qIGNsZWFyLm1ldGFsIGluIFNvdXJjZXMgKi8sCisJCQkJRkZEQTUw
Q0UyNjlGODQ4MjAwQUUxMUUyIC8qIGNvcHlfYnVmZmVyLm1ldGFsIGluIFNvdXJjZXMgKi8sCisJ
CQkJRkZEQTUwQ0YyNjlGODQ4MjAwQUUxMUUyIC8qIGdlbl9pbmRpY2VzLm1ldGFsIGluIFNvdXJj
ZXMgKi8sCisJCQkJRkZEQTUwRDAyNjlGODQ4MjAwQUUxMUUyIC8qIGdlbl9taXBtYXAubWV0YWwg
aW4gU291cmNlcyAqLywKKwkJCQlGRkRBNTBEMTI2OUY4NDgyMDBBRTExRTIgLyogcmV3cml0ZV9p
bmRpY2VzLm1ldGFsIGluIFNvdXJjZXMgKi8sCisJCQkJRkZEQTUwRDIyNjlGODQ4MjAwQUUxMUUy
IC8qIHZpc2liaWxpdHkubWV0YWwgaW4gU291cmNlcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIC8qIEVuZCBQQlhTb3VyY2VzQnVp
bGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWFRhcmdldERlcGVuZGVuY3kgc2VjdGlv
biAqLwpAQCAtNDA2MSw2ICs0MTMyLDExIEBACiAJCQl0YXJnZXQgPSAzMUNERkRGMzI0OTE4MTlF
MDA0ODZGMjcgLyogQU5HTEUgKGR5bmFtaWMpICovOwogCQkJdGFyZ2V0UHJveHkgPSAzMURCNzk1
NjI0OTFDMzU0MDA5ODI4NzggLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOwogCQl9OworCQlG
RkRBNTBENDI2OUY4NEEwMDBBRTExRTIgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKKwkJ
CWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CisJCQl0YXJnZXQgPSBGRkRBNTBDNDI2OUY4NDUx
MDBBRTExRTIgLyogQU5HTEVNZXRhbExpYiAqLzsKKwkJCXRhcmdldFByb3h5ID0gRkZEQTUwRDMy
NjlGODRBMDAwQUUxMUUyIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKKwkJfTsKIC8qIEVu
ZCBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rpb24gKi8KIAogLyogQmVnaW4gWENCdWlsZENvbmZp
Z3VyYXRpb24gc2VjdGlvbiAqLwpAQCAtNDEzMSw2ICs0MjA3LDQyIEBACiAJCQl9OwogCQkJbmFt
ZSA9IFJlbGVhc2U7CiAJCX07CisJCUZGREE1MEM4MjY5Rjg0NTEwMEFFMTFFMiAvKiBEZWJ1ZyAq
LyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYnVpbGRTZXR0aW5ncyA9
IHsKKwkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKKwkJCQlDT0RFX1NJR05fU1RZ
TEUgPSBBdXRvbWF0aWM7CisJCQkJSVBIT05FT1NfREVQTE9ZTUVOVF9UQVJHRVQgPSAxNS4wOwor
CQkJCU1UTF9FTkFCTEVfREVCVUdfSU5GTyA9IElOQ0xVREVfU09VUkNFOworCQkJCU1UTF9GQVNU
X01BVEggPSBZRVM7CisJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKKwkJCX07
CisJCQluYW1lID0gRGVidWc7CisJCX07CisJCUZGREE1MEM5MjY5Rjg0NTEwMEFFMTFFMiAvKiBS
ZWxlYXNlICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQlidWlsZFNl
dHRpbmdzID0geworCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POworCQkJCUNPREVf
U0lHTl9TVFlMRSA9IEF1dG9tYXRpYzsKKwkJCQlJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVCA9
IDE1LjA7CisJCQkJTVRMX0VOQUJMRV9ERUJVR19JTkZPID0gTk87CisJCQkJTVRMX0ZBU1RfTUFU
SCA9IFlFUzsKKwkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOworCQkJfTsKKwkJ
CW5hbWUgPSBSZWxlYXNlOworCQl9OworCQlGRkRBNTBDQTI2OUY4NDUxMDBBRTExRTIgLyogUHJv
ZHVjdGlvbiAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYnVpbGRT
ZXR0aW5ncyA9IHsKKwkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKKwkJCQlDT0RF
X1NJR05fU1RZTEUgPSBBdXRvbWF0aWM7CisJCQkJSVBIT05FT1NfREVQTE9ZTUVOVF9UQVJHRVQg
PSAxNS4wOworCQkJCU1UTF9FTkFCTEVfREVCVUdfSU5GTyA9IE5POworCQkJCU1UTF9GQVNUX01B
VEggPSBZRVM7CisJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKKwkJCX07CisJ
CQluYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKIC8qIEVuZCBYQ0J1aWxkQ29uZmlndXJhdGlvbiBz
ZWN0aW9uICovCiAKIC8qIEJlZ2luIFhDQ29uZmlndXJhdGlvbkxpc3Qgc2VjdGlvbiAqLwpAQCAt
NDE2NCw2ICs0Mjc2LDE2IEBACiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7
CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOwogCQl9OworCQlGRkRB
NTBDQjI2OUY4NDUxMDBBRTExRTIgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhO
YXRpdmVUYXJnZXQgIkFOR0xFTWV0YWxMaWIiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0
aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJRkZEQTUwQzgyNjlGODQ1
MTAwQUUxMUUyIC8qIERlYnVnICovLAorCQkJCUZGREE1MEM5MjY5Rjg0NTEwMEFFMTFFMiAvKiBS
ZWxlYXNlICovLAorCQkJCUZGREE1MENBMjY5Rjg0NTEwMEFFMTFFMiAvKiBQcm9kdWN0aW9uICov
LAorCQkJKTsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1
bHRDb25maWd1cmF0aW9uTmFtZSA9IFByb2R1Y3Rpb247CisJCX07CiAvKiBFbmQgWENDb25maWd1
cmF0aW9uTGlzdCBzZWN0aW9uICovCiAJfTsKIAlyb290T2JqZWN0ID0gRkIzOUQwNzAxMjAwRUQ5
MjAwMDg4RTY5IC8qIFByb2plY3Qgb2JqZWN0ICovOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQU5HTEUtZHluYW1pYy54Y2NvbmZpZyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0FOR0xFLWR5bmFtaWMueGNjb25maWcK
aW5kZXggNDI4ZmVmNTFkMTk5YzAxMGM5YjJkMjEzOTFjYWZkYTA3MTBlMzA5MS4uY2FmNDcxMjBm
NDExMWYzMDg0ODdkNTZmMDhkODQ2MzA1NGQ5ZWVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQU5HTEUtZHluYW1pYy54Y2NvbmZpZworKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9Db25maWd1cmF0aW9ucy9BTkdMRS1keW5hbWljLnhjY29u
ZmlnCkBAIC0zNiw3ICszNiw3IEBAIFBVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIW3Nkaz1tYWNv
c3gqXSA9ICQoUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhfJChXS19QTEFUCiBQVUJMSUNfSEVB
REVSU19GT0xERVJfUEFUSF9tYWNvc3ggPSAkKEFOR0xFX0hFQURFUlNfRk9MREVSX1BBVEgpOwog
UFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhfbWFjY2F0YWx5c3QgPSAkKFdLX0FMVEVSTkFURV9G
UkFNRVdPUktTX0RJUikvJChBTkdMRV9IRUFERVJTX0ZPTERFUl9QQVRIKTsKIAotR0NDX1BSRVBS
T0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgTElCR0xFU1YyX0lNUExFTUVO
VEFUSU9OIExJQkFOR0xFX0lNUExFTUVOVEFUSU9OIEFOR0xFX0VOQUJMRV9PUEVOR0wgQU5HTEVf
RU5BQkxFX0dMU0wgQU5HTEVfRU5BQkxFX0VTU0wgR0xfU0lMRU5DRV9ERVBSRUNBVElPTiBHTEVT
X1NJTEVOQ0VfREVQUkVDQVRJT04gQU5HTEVfRU5BQkxFX01FVEFMOworR0NDX1BSRVBST0NFU1NP
Ul9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgTElCR0xFU1YyX0lNUExFTUVOVEFUSU9O
IExJQkFOR0xFX0lNUExFTUVOVEFUSU9OIEFOR0xFX0VOQUJMRV9PUEVOR0wgQU5HTEVfRU5BQkxF
X0dMU0wgQU5HTEVfRU5BQkxFX0VTU0wgR0xfU0lMRU5DRV9ERVBSRUNBVElPTiBHTEVTX1NJTEVO
Q0VfREVQUkVDQVRJT04gQU5HTEVfRU5BQkxFX01FVEFMIEFOR0xFX01FVEFMX1hDT0RFX0JVSUxE
U19TSEFERVJTCiAKIERFQURfQ09ERV9TVFJJUFBJTkcgPSBZRVM7CiBERUFEX0NPREVfU1RSSVBQ
SU5HW2NvbmZpZz1EZWJ1Z10gPSBOTzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tIGIvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0Rpc3BsYXlNdGwubW0K
aW5kZXggNzc4NmMwOGVjMzlmMWIyM2QzZTc2MTNlNjNhZDUzYTE5NDUxYTRkNS4uZjU5OTk5ZTY1
ZjY5NDE4YzIxM2EyY2FkOGVjYjZkNjBlMzM2OWFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0Rpc3BsYXlNdGwubW0KKysr
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0Rp
c3BsYXlNdGwubW0KQEAgLTIyLDggKzIyLDEzIEBACiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVy
ZXIvbWV0YWwvU3luY010bC5oIgogI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210
bF9jb21tb24uaCIKICNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci9tZXRhbC9zaGFkZXJzL210
bF9kZWZhdWx0X3NoYWRlcnNfc3JjX2F1dG9nZW4uaW5jIgorI2luY2x1ZGUgImxpYkFOR0xFL3Jl
bmRlcmVyL21ldGFsL210bF91dGlscy5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1BsYXRmb3JtLmgi
CiAKKyNpZmRlZiBBTkdMRV9NRVRBTF9YQ09ERV9CVUlMRFNfU0hBREVSUworI2luY2x1ZGUgImxp
YkFOR0xFL3JlbmRlcmVyL21ldGFsL3NoYWRlcnMvY29tcGlsZWQvbXRsX2RlZmF1bHRfc2hhZGVy
c19jb21waWxlZC5pbmMiCisjZW5kaWYKKwogI2luY2x1ZGUgIkVHTC9lZ2xleHQuaCIKIAogI2lm
IGRlZmluZWQoQU5HTEVfUExBVEZPUk1fTUFDT1MpIHx8IGRlZmluZWQoQU5HTEVfUExBVEZPUk1f
TUFDQ0FUQUxZU1QpCkBAIC05OTMsMjMgKzk5OCwxNiBAQCBhbmdsZTo6UmVzdWx0IERpc3BsYXlN
dGw6OmluaXRpYWxpemVTaGFkZXJMaWJyYXJ5KCkKICNpZmRlZiBBTkdMRV9NRVRBTF9YQ09ERV9C
VUlMRFNfU0hBREVSUwogICAgIG1EZWZhdWx0U2hhZGVyc0FzeW5jSW5mby5yZXNldChuZXcgRGVm
YXVsdFNoYWRlckFzeW5jSW5mb010bCk7CiAKLSAgICBOU1N0cmluZyAqcGF0aCA9IFtOU0J1bmRs
ZSBidW5kbGVXaXRoSWRlbnRpZmllcjpAImNvbS5hcHBsZS5XZWJLaXQiXS5idW5kbGVQYXRoOwot
ICAgIE5TRXJyb3IgKmVycm9yID0gbnVsbHB0cjsKLSAgICBtRGVmYXVsdFNoYWRlcnNBc3luY0lu
Zm8tPmRlZmF1bHRTaGFkZXJzID0KLSAgICAgICAgW2dldE1ldGFsRGV2aWNlKCkgbmV3RGVmYXVs
dExpYnJhcnlXaXRoQnVuZGxlOltOU0J1bmRsZSBidW5kbGVXaXRoUGF0aDpwYXRoXSBlcnJvcjom
ZXJyb3JdOwotCi0gICAgaWYgKGVycm9yICYmICFtRGVmYXVsdFNoYWRlcnNBc3luY0luZm8tPmRl
ZmF1bHRTaGFkZXJzKQotICAgIHsKLSAgICAgICAgQU5HTEVfTVRMX09CSkNfU0NPUEUKLSAgICAg
ICAgewotICAgICAgICAgICAgRVJSKCkgPDwgIkludGVybmFsIGVycm9yOiBuZXdEZWZhdWx0TGli
cmFyeVdpdGhCdW5kbGUgZmFpbGVkLiAiCi0gICAgICAgICAgICAgICAgICA8PCBlcnJvci5sb2Nh
bGl6ZWREZXNjcmlwdGlvbi5VVEY4U3RyaW5nOwotICAgICAgICB9Ci0gICAgICAgIG1EZWZhdWx0
U2hhZGVyc0FzeW5jSW5mby0+ZGVmYXVsdFNoYWRlcnNDb21waWxlRXJyb3IgPSBzdGQ6Om1vdmUo
ZXJyb3IpOwotICAgICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6U3RvcDsKLSAgICB9CisgICAg
Y29uc3QgdWludDhfdCAqY29tcGlsZWRfc2hhZGVyX2JpbmFyeTsKKyAgICBzaXplX3QgY29tcGls
ZWRfc2hhZGVyX2JpbmFyeV9sZW47CisgICAgY29tcGlsZWRfc2hhZGVyX2JpbmFyeSAgICAgPSBn
TWV0YWxCaW5hcnlTaGFkZXJzOworICAgIGNvbXBpbGVkX3NoYWRlcl9iaW5hcnlfbGVuID0gZ01l
dGFsQmluYXJ5U2hhZGVyc19sZW47CisgICAgbXRsOjpBdXRvT2JqQ1B0cjxOU0Vycm9yICo+IGVy
ciA9IG5pbDsKKyAgICBtdGw6OkF1dG9PYmpDUHRyPGlkPE1UTExpYnJhcnk+PiBtRGVmYXVsdFNo
YWRlcnMgPSBtdGw6OkNyZWF0ZVNoYWRlckxpYnJhcnlGcm9tQmluYXJ5KGdldE1ldGFsRGV2aWNl
KCksIGNvbXBpbGVkX3NoYWRlcl9iaW5hcnksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21waWxlZF9zaGFk
ZXJfYmluYXJ5X2xlbiwgJmVycik7CisgICAgbURlZmF1bHRTaGFkZXJzQXN5bmNJbmZvLT5kZWZh
dWx0U2hhZGVycyA9IHN0ZDo6bW92ZShtRGVmYXVsdFNoYWRlcnMuZ2V0KCkpOworICAgIG1EZWZh
dWx0U2hhZGVyc0FzeW5jSW5mby0+ZGVmYXVsdFNoYWRlcnNDb21waWxlRXJyb3IgPSBzdGQ6Om1v
dmUoZXJyLmdldCgpKTsKICAgICBtRGVmYXVsdFNoYWRlcnNBc3luY0luZm8tPmNvbXBpbGVkID0g
dHJ1ZTsKLQogI2Vsc2UKICAgICBtRGVmYXVsdFNoYWRlcnNBc3luY0luZm8ucmVzZXQobmV3IERl
ZmF1bHRTaGFkZXJBc3luY0luZm9NdGwpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3V0aWxzLmggYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3V0aWxzLmgK
aW5kZXggZDI3M2Q0ODEzMDY1MTZiOGM4ZTdmZjNjMWFlMWZiZmJmNGQ1MzdlMy4uMmVkNWY1YzJi
OTIwNGM2OTQ2YmRmNjczNjQxZjliZjUxZTM4OWUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5oCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxf
dXRpbHMuaApAQCAtMTA1LDcgKzEwNSw2IEBAIEF1dG9PYmpDUHRyPGlkPE1UTExpYnJhcnk+PiBD
cmVhdGVTaGFkZXJMaWJyYXJ5KGlkPE1UTERldmljZT4gbWV0YWxEZXZpY2UsCiBBdXRvT2JqQ1B0
cjxpZDxNVExMaWJyYXJ5Pj4gQ3JlYXRlU2hhZGVyTGlicmFyeUZyb21CaW5hcnkoaWQ8TVRMRGV2
aWNlPiBtZXRhbERldmljZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpiaW5hcnlTb3VyY2UsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90
IGJpbmFyeVNvdXJjZUxlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBOU0RpY3Rpb25hcnk8TlNTdHJpbmcgKiwgTlNPYmplY3QgKj4g
KiBzdWJzdGl0dXRpb25EaWN0aW9uYXJ5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1dG9PYmpDUHRyPE5TRXJyb3IgKj4gKmVycm9y
KTsKIAogYm9vbCBTdXBwb3J0c0lPU0dQVUZhbWlseShpZDxNVExEZXZpY2U+IGRldmljZSwgdWlu
dDhfdCBpT1NGYW1pbHkpOwo=
</data>
<flag name="commit-queue"
          id="455847"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433557</attachid>
            <date>2021-07-14 19:24:22 -0700</date>
            <delta_ts>2021-07-15 12:05:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227333-20210714192421.patch</filename>
            <type>text/plain</type>
            <size>20339</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5OTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggOWUxZGQ0ZTE5ZWExODU3NzU4MzI1ZjM0ZjIxZWY1YjBkMjVhNTI0OC4uOTQwNTBjOTQwNjY0
Yjg4YWFkY2YwZGI0MzAzYzhhNzViOGE2YWYwZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA3LTE0ICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVpbGQgRGVmYXVsdCBNZXRhbCBsaWJyYXJ5IG9m
ZmxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NzMzMworCisgICAgICAgIDxyZGFyOi8vNzk5MjMzNzE+CisKKyAgICAgICAgVGhpcyBwYXRjaCBj
b21waWxlcyBhbmQgY3JlYXRlcyBhIE1ldGFsIGxpYnJhcnkgYXQgYnVpbGQgdGltZSwgc3Rvcmlu
ZworICAgICAgICB0aGUgbGlicmFyeSBhcyBhIGNvbXBpbGVkIGJpbmFyeSBmaWxlLiBUaGlzIGxp
YnJhcnkgaXMgYmFrZWQgaW50byB0aGUgZHlsaWIsIAorICAgICAgICBhbmQgaXMgbG9hZGVkIGF0
IGNvbnRleHQgY3JlYXRpb24gdGltZS4KKworICAgICAgICBVbmxpa2UgdGhlIHByZXZpb3VzIHZl
cnNpb24gb2YgdGhpcyBwYXRjaCwgdGhpcyBwYXRjaCBkb2VzIG5vdCBzYXZlIG9yIHN0b3JlIHRo
ZSAubWV0YWxsaWIgb24gZGlzaywgYnV0IHJhdGhlcgorICAgICAgICBiYWtlcyBpdCBpbnRvIGEg
YmluYXJ5LgorICAgICAgICAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiAuZ2l0aWdub3JlOgorICAgICAgICAqIEFOR0xFLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvQU5HTEUtZHluYW1pYy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbToK
KyAgICAgICAgKHJ4OjpEaXNwbGF5TXRsOjppbml0aWFsaXplU2hhZGVyTGlicmFyeSk6CisgICAg
ICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5oOgorCiAyMDIxLTA3
LTEzICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGluZ3RvbkBhcHBsZS5jb20+CiAKICAgICAgICAg
ckFGIGRyaXZlbiBXZWJHTCBzdWJtaXRzIGV4Y2Vzc2l2ZSBhbW91bnQgb2YgR1BVIHdvcmsgd2hl
biBmcmFtZXMgYXJlIHNsb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFLy5n
aXRpZ25vcmUgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS8uZ2l0aWdub3JlCmluZGV4IGM4Yzli
NmNmZjY2YTljMDJhM2E4ZDkyOGU3M2RlM2JlNGMyZjlkNDYuLjQ3YWVkMzc0YzU1N2JiMjk5ZTZl
NzViN2I3N2Y4NDVmMzczNzM1NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
Ly5naXRpZ25vcmUKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvLmdpdGlnbm9yZQpAQCAt
MjgsNiArMjgsNyBAQAogLmdjbGllbnRfZW50cmllcwogLmdpdF9jbF9kZXNjcmlwdGlvbl9iYWNr
dXAKIC9zcmMvdGVzdHMvdGhpcmRfcGFydHkvZ2xlc19jb25mb3JtYW5jZV90ZXN0cworL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci9tZXRhbC9zaGFkZXJzL2NvbXBpbGVkL210bF9kZWZhdWx0X3NoYWRl
cnNfY29tcGlsZWQuaW5jCiAvdGVzdGluZwogL3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAKIC90aGly
ZF9wYXJ0eS9hbmRyb2lkX25kawpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
QU5HTEUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L0FOR0xFLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWQ5ZmJiYTliNGQ5YjQwMTUy
NDE1MTJlMzRhMmJkN2U5MjMwODhlNC4uNDMyMjJmMTgwZDg2NmY2ZDdhNzY4ZTQyNDU3MTNhY2U1
NzU4NDU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9BTkdMRS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04MzgsNiArODM4LDEzIEBACiAJCUZGMkQyRjU1
MjVDOEIxNEEwMDJGQjY5OSAvKiBGaXhUeXBlQ29uc3RydWN0b3JzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRjJEMkY1MjI1QzhCMTRBMDAyRkI2OTkg
LyogRml4VHlwZUNvbnN0cnVjdG9ycy5oICovOyB9OwogCQlGRjU4MkUxNjI2NTQ0RkM0MDA2REE1
QjggLyogUHJvdm9raW5nVmVydGV4SGVscGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkY1ODJFMTQyNjU0NEZDNDAwNkRBNUI4IC8qIFByb3Zva2lu
Z1ZlcnRleEhlbHBlci5tbSAqLzsgfTsKIAkJRkY1ODJFMTcyNjU0NEZDNDAwNkRBNUI4IC8qIFBy
b3Zva2luZ1ZlcnRleEhlbHBlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRkY1ODJFMTUyNjU0NEZDNDAwNkRBNUI4IC8qIFByb3Zva2luZ1ZlcnRleEhl
bHBlci5oICovOyB9OworCQlGRkRBNTBDQzI2OUY4NDgyMDBBRTExRTIgLyogYmxpdC5tZXRhbCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFGRUFBMjU4
MThENjgwMDg5NEUyNCAvKiBibGl0Lm1ldGFsICovOyB9OworCQlGRkRBNTBDRDI2OUY4NDgyMDBB
RTExRTIgLyogY2xlYXIubWV0YWwgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGRjgxRkVCMTI1ODE4RDY4MDA4OTRFMjQgLyogY2xlYXIubWV0YWwgKi87IH07
CisJCUZGREE1MENFMjY5Rjg0ODIwMEFFMTFFMiAvKiBjb3B5X2J1ZmZlci5tZXRhbCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFGRUFGMjU4MThENjgw
MDg5NEUyNCAvKiBjb3B5X2J1ZmZlci5tZXRhbCAqLzsgfTsKKwkJRkZEQTUwQ0YyNjlGODQ4MjAw
QUUxMUUyIC8qIGdlbl9pbmRpY2VzLm1ldGFsIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkY4MUZFQjMyNTgxOEQ2ODAwODk0RTI0IC8qIGdlbl9pbmRpY2Vz
Lm1ldGFsICovOyB9OworCQlGRkRBNTBEMDI2OUY4NDgyMDBBRTExRTIgLyogZ2VuX21pcG1hcC5t
ZXRhbCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFG
RUIyMjU4MThENjgwMDg5NEUyNCAvKiBnZW5fbWlwbWFwLm1ldGFsICovOyB9OworCQlGRkRBNTBE
MTI2OUY4NDgyMDBBRTExRTIgLyogcmV3cml0ZV9pbmRpY2VzLm1ldGFsIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY1ODJFMTgyNjU0NEZFNTAwNkRBNUI4
IC8qIHJld3JpdGVfaW5kaWNlcy5tZXRhbCAqLzsgfTsKKwkJRkZEQTUwRDIyNjlGODQ4MjAwQUUx
MUUyIC8qIHZpc2liaWxpdHkubWV0YWwgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGRjgxRkVBQjI1ODE4RDY4MDA4OTRFMjQgLyogdmlzaWJpbGl0eS5tZXRh
bCAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhC
dWlsZFJ1bGUgc2VjdGlvbiAqLwpAQCAtODY0LDYgKzg3MSwxMyBAQAogCQkJcmVtb3RlR2xvYmFs
SURTdHJpbmcgPSAzMUNERkRGMzI0OTE4MTlFMDA0ODZGMjc7CiAJCQlyZW1vdGVJbmZvID0gIkFO
R0xFIChkeW5hbWljKSI7CiAJCX07CisJCUZGREE1MEQzMjY5Rjg0QTAwMEFFMTFFMiAvKiBQQlhD
b250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7
CisJCQljb250YWluZXJQb3J0YWwgPSBGQjM5RDA3MDEyMDBFRDkyMDAwODhFNjkgLyogUHJvamVj
dCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcg
PSBGRkRBNTBDNDI2OUY4NDUxMDBBRTExRTI7CisJCQlyZW1vdGVJbmZvID0gQU5HTEVNZXRhbExp
YjsKKwkJfTsKIC8qIEVuZCBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLwogCiAvKiBC
ZWdpbiBQQlhDb3B5RmlsZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTE4MTMsNiArMTgyNyw4
IEBACiAJCUZGODFGRjlBMjU4MUEzQzIwMDg5NEUyNCAvKiBJbnRlcm1SZWJ1aWxkLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludGVybVJlYnVpbGQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRkZBMEMyQzUyNUNCNkE3NjAwMTA1MzA2IC8qIE5hbWVFbWJlZGRl
ZFVuaWZvcm1TdHJ1Y3RzTWV0YWwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTmFtZUVtYmVkZGVkVW5pZm9ybVN0cnVjdHNNZXRhbC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUZGQTBDMkM2MjVDQjZBNzcwMDEwNTMwNiAvKiBOYW1lRW1iZWRkZWRV
bmlmb3JtU3RydWN0c01ldGFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5h
bWVFbWJlZGRlZFVuaWZvcm1TdHJ1Y3RzTWV0YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRkZEQTUwRDYyNjlGOUU1ODAwQUUxMUUyIC8qIGNyZWF0ZV9tdGxfaW50ZXJuYWxfc2hh
ZGVycy5weSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9IGNyZWF0ZV9tdGxf
aW50ZXJuYWxfc2hhZGVycy5weTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkZEQTUw
RDcyNjlGQTY1QjAwQUUxMUUyIC8qIGNvbXBpbGVkICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZm9sZGVyOyBwYXRoID0gY29tcGlsZWQ7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCiAK
IC8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTMwNTEsMTEg
KzMwNjcsMTMgQEAKIAkJRkY4MUZFQTkyNTgxOEQ2ODAwODk0RTI0IC8qIHNoYWRlcnMgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUZGREE1MEQ3MjY5RkE2
NUIwMEFFMTFFMiAvKiBjb21waWxlZCAqLywKIAkJCQlGRjgxRkVBQTI1ODE4RDY4MDA4OTRFMjQg
LyogYmxpdC5tZXRhbCAqLywKIAkJCQlGRjgxRkVCMTI1ODE4RDY4MDA4OTRFMjQgLyogY2xlYXIu
bWV0YWwgKi8sCiAJCQkJRkY4MUZFQUQyNTgxOEQ2ODAwODk0RTI0IC8qIGNvbW1vbi5oICovLAog
CQkJCUZGODFGRUFDMjU4MThENjgwMDg5NEUyNCAvKiBjb25zdGFudHMuaCAqLywKIAkJCQlGRjgx
RkVBRjI1ODE4RDY4MDA4OTRFMjQgLyogY29weV9idWZmZXIubWV0YWwgKi8sCisJCQkJRkZEQTUw
RDYyNjlGOUU1ODAwQUUxMUUyIC8qIGNyZWF0ZV9tdGxfaW50ZXJuYWxfc2hhZGVycy5weSAqLywK
IAkJCQlGRjgxRkVCMDI1ODE4RDY4MDA4OTRFMjQgLyogZm9ybWF0X2F1dG9nZW4uaCAqLywKIAkJ
CQlGRjgxRkVCMzI1ODE4RDY4MDA4OTRFMjQgLyogZ2VuX2luZGljZXMubWV0YWwgKi8sCiAJCQkJ
RkY4MUZFQjIyNTgxOEQ2ODAwODk0RTI0IC8qIGdlbl9taXBtYXAubWV0YWwgKi8sCkBAIC0zNTcw
LDYgKzM1ODgsNyBAQAogCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OwogCQkJYnVpbGRDb25maWd1
cmF0aW9uTGlzdCA9IDMxQ0RGREY1MjQ5MTgxOUUwMDQ4NkYyNyAvKiBCdWlsZCBjb25maWd1cmF0
aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiQU5HTEUgKGR5bmFtaWMpIiAqLzsKIAkJCWJ1
aWxkUGhhc2VzID0gKAorCQkJCUZGREE1MEQ1MjY5Rjg5NTQwMEFFMTFFMiAvKiBTaGVsbFNjcmlw
dCAqLywKIAkJCQkzMUNERkRGMDI0OTE4MTlFMDA0ODZGMjcgLyogSGVhZGVycyAqLywKIAkJCQkz
MUNERkRGMTI0OTE4MTlFMDA0ODZGMjcgLyogU291cmNlcyAqLywKIAkJCQkzMUNERkRGMjI0OTE4
MTlFMDA0ODZGMjcgLyogRnJhbWV3b3JrcyAqLywKQEAgLTM1ODEsMTIgKzM2MDAsMjcgQEAKIAkJ
CQkzMUE5RTlBMDI0OUFBMDQyMDBDN0UyNDMgLyogUEJYQnVpbGRSdWxlICovLAogCQkJKTsKIAkJ
CWRlcGVuZGVuY2llcyA9ICgKKwkJCQlGRkRBNTBENDI2OUY4NEEwMDBBRTExRTIgLyogUEJYVGFy
Z2V0RGVwZW5kZW5jeSAqLywKIAkJCSk7CiAJCQluYW1lID0gIkFOR0xFIChkeW5hbWljKSI7CiAJ
CQlwcm9kdWN0TmFtZSA9ICJBTkdMRSAoZHluYW1pYykiOwogCQkJcHJvZHVjdFJlZmVyZW5jZSA9
IDMxQ0RGREY0MjQ5MTgxOUUwMDQ4NkYyNyAvKiBsaWJBTkdMRS1zaGFyZWQuZHlsaWIgKi87CiAJ
CQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLmxpYnJhcnkuZHluYW1pYyI7
CiAJCX07CisJCUZGREE1MEM0MjY5Rjg0NTEwMEFFMTFFMiAvKiBBTkdMRU1ldGFsTGliICovID0g
eworCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9
IEZGREE1MENCMjY5Rjg0NTEwMEFFMTFFMiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9y
IFBCWE5hdGl2ZVRhcmdldCAiQU5HTEVNZXRhbExpYiIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgK
KwkJCQlGRkRBNTBDMzI2OUY4NDUxMDBBRTExRTIgLyogU291cmNlcyAqLywKKwkJCSk7CisJCQli
dWlsZFJ1bGVzID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCSk7CisJCQluYW1l
ID0gQU5HTEVNZXRhbExpYjsKKwkJCXByb2R1Y3ROYW1lID0gQU5HTEVNZXRhbExpYjsKKwkJCXBy
b2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUubWV0YWwtbGlicmFyeSI7CisJCX07
CiAvKiBFbmQgUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYUHJvamVj
dCBzZWN0aW9uICovCkBAIC0zNjA0LDYgKzM2MzgsMTAgQEAKIAkJCQkJCUNyZWF0ZWRPblRvb2xz
VmVyc2lvbiA9IDEyLjA7CiAJCQkJCQlQcm92aXNpb25pbmdTdHlsZSA9IEF1dG9tYXRpYzsKIAkJ
CQkJfTsKKwkJCQkJRkZEQTUwQzQyNjlGODQ1MTAwQUUxMUUyID0geworCQkJCQkJQ3JlYXRlZE9u
VG9vbHNWZXJzaW9uID0gMTMuMDsKKwkJCQkJCVByb3Zpc2lvbmluZ1N0eWxlID0gQXV0b21hdGlj
OworCQkJCQl9OwogCQkJCX07CiAJCQl9OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IEZC
MzlEMDczMTIwMEVEOTIwMDA4OEU2OSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBC
WFByb2plY3QgIkFOR0xFIiAqLzsKQEAgLTM2MjAsNiArMzY1OCw3IEBACiAJCQl0YXJnZXRzID0g
KAogCQkJCTMxREI3OTRGMjQ5MUMzMzMwMDk4Mjg3OCAvKiBBTkdMRSAqLywKIAkJCQkzMUNERkRG
MzI0OTE4MTlFMDA0ODZGMjcgLyogQU5HTEUgKGR5bmFtaWMpICovLAorCQkJCUZGREE1MEM0MjY5
Rjg0NTEwMEFFMTFFMiAvKiBBTkdMRU1ldGFsTGliICovLAogCQkJKTsKIAkJfTsKIC8qIEVuZCBQ
QlhQcm9qZWN0IHNlY3Rpb24gKi8KQEAgLTM2NDMsNiArMzY4MiwyNCBAQAogCQkJc2hlbGxQYXRo
ID0gL2Jpbi9zaDsKIAkJCXNoZWxsU2NyaXB0ID0gImlmIFsgXCIke1hDT0RFX1ZFUlNJT05fQUNU
VUFMfVwiIC1nZSBcIjExNDBcIiAtYSBcIiR7V0tfVVNFX05FV19CVUlMRF9TWVNURU19XCIgPSBc
IllFU1wiIF07IHRoZW5cbiAgICAjIEluIHRoaXMgY29uZmlndXJhdGlvbiwgcG9zdC1wcm9jZXNz
aW5nIGlzIHBlcmZvcm1lZCBhdCB0aGUgc2FtZSB0aW1lIGFzIGNvcHlpbmcgaW4gdGhlIHBvc3Rw
cm9jZXNzLWhlYWRlci1ydWxlIHNjcmlwdCwgc28gdGhlcmUncyBubyBuZWVkIGZvciB0aGlzIHNl
cGFyYXRlIHN0ZXAuXG4gICAgZXhpdCAwXG5maVxuXG5leGVjIFwiJFNSQ1JPT1QvYWRqdXN0LWFu
Z2xlLWluY2x1ZGUtcGF0aHMucHlcIlxuIjsKIAkJfTsKKwkJRkZEQTUwRDUyNjlGODk1NDAwQUUx
MUUyIC8qIFNoZWxsU2NyaXB0ICovID0geworCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBo
YXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJ
KTsKKwkJCWlucHV0RmlsZUxpc3RQYXRocyA9ICgKKwkJCSk7CisJCQlpbnB1dFBhdGhzID0gKAor
CQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvQU5HTEVNZXRhbExpYi5tZXRhbGxpYiIsCisJCQkp
OworCQkJb3V0cHV0RmlsZUxpc3RQYXRocyA9ICgKKwkJCSk7CisJCQlvdXRwdXRQYXRocyA9ICgK
KwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJCXNo
ZWxsUGF0aCA9IC9iaW4vc2g7CisJCQlzaGVsbFNjcmlwdCA9ICJta2RpciAtcCBcIiR7U1JDUk9P
VH0vc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL3NoYWRlcnMvY29tcGlsZWRcIlxuZWNobyBw
eXRob24gXCIke1NSQ1JPT1R9L3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9zaGFkZXJzL2Ny
ZWF0ZV9tdGxfaW50ZXJuYWxfc2hhZGVycy5weVwiIFwiJHtTQ1JJUFRfSU5QVVRfRklMRV8wfVwi
XG5weXRob24gXCIke1NSQ1JPT1R9L3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9zaGFkZXJz
L2NyZWF0ZV9tdGxfaW50ZXJuYWxfc2hhZGVycy5weVwiIFwiJHtTQ1JJUFRfSU5QVVRfRklMRV8w
fVwiXG5ybSBcIiR7U0NSSVBUX0lOUFVUX0ZJTEVfMH1cIlxuIjsKKwkJfTsKIC8qIEVuZCBQQlhT
aGVsbFNjcmlwdEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhTb3VyY2VzQnVp
bGRQaGFzZSBzZWN0aW9uICovCkBAIC00MDUzLDYgKzQxMTAsMjAgQEAKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKKwkJRkZEQTUwQzMyNjlG
ODQ1MTAwQUUxMUUyIC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQ
aGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJ
CQlGRkRBNTBDQzI2OUY4NDgyMDBBRTExRTIgLyogYmxpdC5tZXRhbCBpbiBTb3VyY2VzICovLAor
CQkJCUZGREE1MENEMjY5Rjg0ODIwMEFFMTFFMiAvKiBjbGVhci5tZXRhbCBpbiBTb3VyY2VzICov
LAorCQkJCUZGREE1MENFMjY5Rjg0ODIwMEFFMTFFMiAvKiBjb3B5X2J1ZmZlci5tZXRhbCBpbiBT
b3VyY2VzICovLAorCQkJCUZGREE1MENGMjY5Rjg0ODIwMEFFMTFFMiAvKiBnZW5faW5kaWNlcy5t
ZXRhbCBpbiBTb3VyY2VzICovLAorCQkJCUZGREE1MEQwMjY5Rjg0ODIwMEFFMTFFMiAvKiBnZW5f
bWlwbWFwLm1ldGFsIGluIFNvdXJjZXMgKi8sCisJCQkJRkZEQTUwRDEyNjlGODQ4MjAwQUUxMUUy
IC8qIHJld3JpdGVfaW5kaWNlcy5tZXRhbCBpbiBTb3VyY2VzICovLAorCQkJCUZGREE1MEQyMjY5
Rjg0ODIwMEFFMTFFMiAvKiB2aXNpYmlsaXR5Lm1ldGFsIGluIFNvdXJjZXMgKi8sCisJCQkpOwor
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAvKiBFbmQg
UEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhUYXJnZXREZXBl
bmRlbmN5IHNlY3Rpb24gKi8KQEAgLTQwNjEsNiArNDEzMiwxMSBAQAogCQkJdGFyZ2V0ID0gMzFD
REZERjMyNDkxODE5RTAwNDg2RjI3IC8qIEFOR0xFIChkeW5hbWljKSAqLzsKIAkJCXRhcmdldFBy
b3h5ID0gMzFEQjc5NTYyNDkxQzM1NDAwOTgyODc4IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAq
LzsKIAkJfTsKKwkJRkZEQTUwRDQyNjlGODRBMDAwQUUxMUUyIC8qIFBCWFRhcmdldERlcGVuZGVu
Y3kgKi8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gRkZE
QTUwQzQyNjlGODQ1MTAwQUUxMUUyIC8qIEFOR0xFTWV0YWxMaWIgKi87CisJCQl0YXJnZXRQcm94
eSA9IEZGREE1MEQzMjY5Rjg0QTAwMEFFMTFFMiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87
CisJCX07CiAvKiBFbmQgUEJYVGFyZ2V0RGVwZW5kZW5jeSBzZWN0aW9uICovCiAKIC8qIEJlZ2lu
IFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KQEAgLTQxMzEsNiArNDIwNyw0MiBAQAog
CQkJfTsKIAkJCW5hbWUgPSBSZWxlYXNlOwogCQl9OworCQlGRkRBNTBDODI2OUY4NDUxMDBBRTEx
RTIgLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1
aWxkU2V0dGluZ3MgPSB7CisJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87CisJCQkJ
Q09ERV9TSUdOX1NUWUxFID0gQXV0b21hdGljOworCQkJCUlQSE9ORU9TX0RFUExPWU1FTlRfVEFS
R0VUID0gMTUuMDsKKwkJCQlNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBJTkNMVURFX1NPVVJDRTsK
KwkJCQlNVExfRkFTVF9NQVRIID0gWUVTOworCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9O
QU1FKSI7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9OworCQlGRkRBNTBDOTI2OUY4NDUx
MDBBRTExRTIgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9u
OworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBO
TzsKKwkJCQlDT0RFX1NJR05fU1RZTEUgPSBBdXRvbWF0aWM7CisJCQkJSVBIT05FT1NfREVQTE9Z
TUVOVF9UQVJHRVQgPSAxNS4wOworCQkJCU1UTF9FTkFCTEVfREVCVUdfSU5GTyA9IE5POworCQkJ
CU1UTF9GQVNUX01BVEggPSBZRVM7CisJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUp
IjsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJRkZEQTUwQ0EyNjlGODQ1MTAw
QUUxMUUyIC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlv
bjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0g
Tk87CisJCQkJQ09ERV9TSUdOX1NUWUxFID0gQXV0b21hdGljOworCQkJCUlQSE9ORU9TX0RFUExP
WU1FTlRfVEFSR0VUID0gMTUuMDsKKwkJCQlNVExfRU5BQkxFX0RFQlVHX0lORk8gPSBOTzsKKwkJ
CQlNVExfRkFTVF9NQVRIID0gWUVTOworCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1F
KSI7CisJCQl9OworCQkJbmFtZSA9IFByb2R1Y3Rpb247CisJCX07CiAvKiBFbmQgWENCdWlsZENv
bmZpZ3VyYXRpb24gc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBYQ0NvbmZpZ3VyYXRpb25MaXN0IHNl
Y3Rpb24gKi8KQEAgLTQxNjQsNiArNDI3NiwxNiBAQAogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25J
c1Zpc2libGUgPSAwOwogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsK
IAkJfTsKKwkJRkZEQTUwQ0IyNjlGODQ1MTAwQUUxMUUyIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24g
bGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJBTkdMRU1ldGFsTGliIiAqLyA9IHsKKwkJCWlzYSA9
IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCUZG
REE1MEM4MjY5Rjg0NTEwMEFFMTFFMiAvKiBEZWJ1ZyAqLywKKwkJCQlGRkRBNTBDOTI2OUY4NDUx
MDBBRTExRTIgLyogUmVsZWFzZSAqLywKKwkJCQlGRkRBNTBDQTI2OUY4NDUxMDBBRTExRTIgLyog
UHJvZHVjdGlvbiAqLywKKwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9
IDA7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOworCQl9OwogLyog
RW5kIFhDQ29uZmlndXJhdGlvbkxpc3Qgc2VjdGlvbiAqLwogCX07CiAJcm9vdE9iamVjdCA9IEZC
MzlEMDcwMTIwMEVEOTIwMDA4OEU2OSAvKiBQcm9qZWN0IG9iamVjdCAqLzsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0FOR0xFLWR5bmFtaWMueGNj
b25maWcgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9Db25maWd1cmF0aW9ucy9BTkdMRS1keW5h
bWljLnhjY29uZmlnCmluZGV4IDQyOGZlZjUxZDE5OWMwMTBjOWIyZDIxMzkxY2FmZGEwNzEwZTMw
OTEuLmNhZjQ3MTIwZjQxMTFmMzA4NDg3ZDU2ZjA4ZDg0NjMwNTRkOWVlYTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0FOR0xFLWR5bmFtaWMueGNj
b25maWcKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQU5HTEUt
ZHluYW1pYy54Y2NvbmZpZwpAQCAtMzYsNyArMzYsNyBAQCBQVUJMSUNfSEVBREVSU19GT0xERVJf
UEFUSFtzZGs9bWFjb3N4Kl0gPSAkKFBVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIXyQoV0tfUExB
VAogUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhfbWFjb3N4ID0gJChBTkdMRV9IRUFERVJTX0ZP
TERFUl9QQVRIKTsKIFBVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIX21hY2NhdGFseXN0ID0gJChX
S19BTFRFUk5BVEVfRlJBTUVXT1JLU19ESVIpLyQoQU5HTEVfSEVBREVSU19GT0xERVJfUEFUSCk7
CiAKLUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAkKERFQlVHX0RFRklORVMpIExJQkdM
RVNWMl9JTVBMRU1FTlRBVElPTiBMSUJBTkdMRV9JTVBMRU1FTlRBVElPTiBBTkdMRV9FTkFCTEVf
T1BFTkdMIEFOR0xFX0VOQUJMRV9HTFNMIEFOR0xFX0VOQUJMRV9FU1NMIEdMX1NJTEVOQ0VfREVQ
UkVDQVRJT04gR0xFU19TSUxFTkNFX0RFUFJFQ0FUSU9OIEFOR0xFX0VOQUJMRV9NRVRBTDsKK0dD
Q19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAkKERFQlVHX0RFRklORVMpIExJQkdMRVNWMl9J
TVBMRU1FTlRBVElPTiBMSUJBTkdMRV9JTVBMRU1FTlRBVElPTiBBTkdMRV9FTkFCTEVfT1BFTkdM
IEFOR0xFX0VOQUJMRV9HTFNMIEFOR0xFX0VOQUJMRV9FU1NMIEdMX1NJTEVOQ0VfREVQUkVDQVRJ
T04gR0xFU19TSUxFTkNFX0RFUFJFQ0FUSU9OIEFOR0xFX0VOQUJMRV9NRVRBTCBBTkdMRV9NRVRB
TF9YQ09ERV9CVUlMRFNfU0hBREVSUwogCiBERUFEX0NPREVfU1RSSVBQSU5HID0gWUVTOwogREVB
RF9DT0RFX1NUUklQUElOR1tjb25maWc9RGVidWddID0gTk87CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5t
bSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9E
aXNwbGF5TXRsLm1tCmluZGV4IDc3ODZjMDhlYzM5ZjFiMjNkM2U3NjEzZTYzYWQ1M2ExOTQ1MWE0
ZDUuLmY1OTk5OWU2NWY2OTQxOGMyMTNhMmNhZDhlY2I2ZDYwZTMzNjlhYzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNw
bGF5TXRsLm1tCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCkBAIC0yMiw4ICsyMiwxMyBAQAogI2luY2x1ZGUgImxp
YkFOR0xFL3JlbmRlcmVyL21ldGFsL1N5bmNNdGwuaCIKICNpbmNsdWRlICJsaWJBTkdMRS9yZW5k
ZXJlci9tZXRhbC9tdGxfY29tbW9uLmgiCiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvbWV0
YWwvc2hhZGVycy9tdGxfZGVmYXVsdF9zaGFkZXJzX3NyY19hdXRvZ2VuLmluYyIKKyNpbmNsdWRl
ICJsaWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfdXRpbHMuaCIKICNpbmNsdWRlICJwbGF0Zm9y
bS9QbGF0Zm9ybS5oIgogCisjaWZkZWYgQU5HTEVfTUVUQUxfWENPREVfQlVJTERTX1NIQURFUlMK
KyNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci9tZXRhbC9zaGFkZXJzL2NvbXBpbGVkL210bF9k
ZWZhdWx0X3NoYWRlcnNfY29tcGlsZWQuaW5jIgorI2VuZGlmCisKICNpbmNsdWRlICJFR0wvZWds
ZXh0LmgiCiAKICNpZiBkZWZpbmVkKEFOR0xFX1BMQVRGT1JNX01BQ09TKSB8fCBkZWZpbmVkKEFO
R0xFX1BMQVRGT1JNX01BQ0NBVEFMWVNUKQpAQCAtOTkzLDIzICs5OTgsMTYgQEAgYW5nbGU6OlJl
c3VsdCBEaXNwbGF5TXRsOjppbml0aWFsaXplU2hhZGVyTGlicmFyeSgpCiAjaWZkZWYgQU5HTEVf
TUVUQUxfWENPREVfQlVJTERTX1NIQURFUlMKICAgICBtRGVmYXVsdFNoYWRlcnNBc3luY0luZm8u
cmVzZXQobmV3IERlZmF1bHRTaGFkZXJBc3luY0luZm9NdGwpOwogCi0gICAgTlNTdHJpbmcgKnBh
dGggPSBbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZpZXI6QCJjb20uYXBwbGUuV2ViS2l0Il0u
YnVuZGxlUGF0aDsKLSAgICBOU0Vycm9yICplcnJvciA9IG51bGxwdHI7Ci0gICAgbURlZmF1bHRT
aGFkZXJzQXN5bmNJbmZvLT5kZWZhdWx0U2hhZGVycyA9Ci0gICAgICAgIFtnZXRNZXRhbERldmlj
ZSgpIG5ld0RlZmF1bHRMaWJyYXJ5V2l0aEJ1bmRsZTpbTlNCdW5kbGUgYnVuZGxlV2l0aFBhdGg6
cGF0aF0gZXJyb3I6JmVycm9yXTsKLQotICAgIGlmIChlcnJvciAmJiAhbURlZmF1bHRTaGFkZXJz
QXN5bmNJbmZvLT5kZWZhdWx0U2hhZGVycykKLSAgICB7Ci0gICAgICAgIEFOR0xFX01UTF9PQkpD
X1NDT1BFCi0gICAgICAgIHsKLSAgICAgICAgICAgIEVSUigpIDw8ICJJbnRlcm5hbCBlcnJvcjog
bmV3RGVmYXVsdExpYnJhcnlXaXRoQnVuZGxlIGZhaWxlZC4gIgotICAgICAgICAgICAgICAgICAg
PDwgZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24uVVRGOFN0cmluZzsKLSAgICAgICAgfQotICAg
ICAgICBtRGVmYXVsdFNoYWRlcnNBc3luY0luZm8tPmRlZmF1bHRTaGFkZXJzQ29tcGlsZUVycm9y
ID0gc3RkOjptb3ZlKGVycm9yKTsKLSAgICAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OlN0b3A7
Ci0gICAgfQorICAgIGNvbnN0IHVpbnQ4X3QgKmNvbXBpbGVkX3NoYWRlcl9iaW5hcnk7CisgICAg
c2l6ZV90IGNvbXBpbGVkX3NoYWRlcl9iaW5hcnlfbGVuOworICAgIGNvbXBpbGVkX3NoYWRlcl9i
aW5hcnkgICAgID0gZ01ldGFsQmluYXJ5U2hhZGVyczsKKyAgICBjb21waWxlZF9zaGFkZXJfYmlu
YXJ5X2xlbiA9IGdNZXRhbEJpbmFyeVNoYWRlcnNfbGVuOworICAgIG10bDo6QXV0b09iakNQdHI8
TlNFcnJvciAqPiBlcnIgPSBuaWw7CisgICAgbXRsOjpBdXRvT2JqQ1B0cjxpZDxNVExMaWJyYXJ5
Pj4gbURlZmF1bHRTaGFkZXJzID0gbXRsOjpDcmVhdGVTaGFkZXJMaWJyYXJ5RnJvbUJpbmFyeShn
ZXRNZXRhbERldmljZSgpLCBjb21waWxlZF9zaGFkZXJfYmluYXJ5LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29tcGlsZWRfc2hhZGVyX2JpbmFyeV9sZW4sICZlcnIpOworICAgIG1EZWZhdWx0U2hhZGVyc0Fz
eW5jSW5mby0+ZGVmYXVsdFNoYWRlcnMgPSBzdGQ6Om1vdmUobURlZmF1bHRTaGFkZXJzLmdldCgp
KTsKKyAgICBtRGVmYXVsdFNoYWRlcnNBc3luY0luZm8tPmRlZmF1bHRTaGFkZXJzQ29tcGlsZUVy
cm9yID0gc3RkOjptb3ZlKGVyci5nZXQoKSk7CiAgICAgbURlZmF1bHRTaGFkZXJzQXN5bmNJbmZv
LT5jb21waWxlZCA9IHRydWU7Ci0KICNlbHNlCiAgICAgbURlZmF1bHRTaGFkZXJzQXN5bmNJbmZv
LnJlc2V0KG5ldyBEZWZhdWx0U2hhZGVyQXN5bmNJbmZvTXRsKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGls
cy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFs
L210bF91dGlscy5oCmluZGV4IGQyNzNkNDgxMzA2NTE2YjhjOGU3ZmYzYzFhZTFmYmZiZjRkNTM3
ZTMuLjJlZDVmNWMyYjkyMDRjNjk0NmJkZjY3MzY0MWY5YmY1MWUzODllMmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxf
dXRpbHMuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvbWV0YWwvbXRsX3V0aWxzLmgKQEAgLTEwNSw3ICsxMDUsNiBAQCBBdXRvT2JqQ1B0cjxpZDxN
VExMaWJyYXJ5Pj4gQ3JlYXRlU2hhZGVyTGlicmFyeShpZDxNVExEZXZpY2U+IG1ldGFsRGV2aWNl
LAogQXV0b09iakNQdHI8aWQ8TVRMTGlicmFyeT4+IENyZWF0ZVNoYWRlckxpYnJhcnlGcm9tQmlu
YXJ5KGlkPE1UTERldmljZT4gbWV0YWxEZXZpY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqYmluYXJ5U291
cmNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNpemVfdCBiaW5hcnlTb3VyY2VMZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlNEaWN0aW9uYXJ5PE5TU3RyaW5nICos
IE5TT2JqZWN0ICo+ICogc3Vic3RpdHV0aW9uRGljdGlvbmFyeSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvT2JqQ1B0cjxOU0Vy
cm9yICo+ICplcnJvcik7CiAKIGJvb2wgU3VwcG9ydHNJT1NHUFVGYW1pbHkoaWQ8TVRMRGV2aWNl
PiBkZXZpY2UsIHVpbnQ4X3QgaU9TRmFtaWx5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9zaGFkZXJzL2NyZWF0ZV9tdGxf
aW50ZXJuYWxfc2hhZGVycy5weSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9tZXRhbC9zaGFkZXJzL2NyZWF0ZV9tdGxfaW50ZXJuYWxfc2hhZGVycy5weQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44ZTBkODY2NmYyMzU3MWE1ZjIwZjIyNmZlODg0ZmE1NjQxMTc5NjJhCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRl
cmVyL21ldGFsL3NoYWRlcnMvY3JlYXRlX210bF9pbnRlcm5hbF9zaGFkZXJzLnB5CkBAIC0wLDAg
KzEsNzggQEAKKyMhL3Vzci9iaW4vcHl0aG9uCisjIENvcHlyaWdodCAyMDIxIFRoZSBBTkdMRSBQ
cm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIFVzZSBvZiB0aGlzIHNvdXJj
ZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKyMg
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKyMKKyMgY3JlYXRlX210bF9pbnRlcm5hbF9zaGFk
ZXJzLnB5OgorIyAgIFNjcmlwdCB0byBjb21waWxlIGEgbWV0YWxMaWIgaW50byBOU0RhdGEsIGZv
ciBpbmNsdWRpbmcgdGhlIGNvbXBpbGRlZAorIyAgICAgICBsaWJyYXJ5IGluIHRoZSBBTkdMRSBk
eWxpYi4KKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQganNvbgorZnJvbSBkYXRldGlt
ZSBpbXBvcnQgZGF0ZXRpbWUKKworc3lzLnBhdGguYXBwZW5kKCcuLi8uLicpCisKK3RlbXBsYXRl
X2hlYWRlcl9ib2lsZXJwbGF0ZSA9ICIiIi8vIEdFTkVSQVRFRCBGSUxFIC0gRE8gTk9UIEVESVQu
CisvLyBHZW5lcmF0ZWQgYnkge3NjcmlwdF9uYW1lfQorLy8KKy8vIENvcHlyaWdodCB7Y29weXJp
Z2h0X3llYXJ9IFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBs
aWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLy8KKyIi
IgorCisKKyMgQ29udmVydCBjb250ZW50IG9mIGEgZmlsZSB0byBieXRlIGFycmF5IGFuZCBzdG9y
ZSBpbiBhIGhlYWRlciBmaWxlLgorIyB2YXJpYWJsZV9uYW1lOiBuYW1lIG9mIEMrKyB2YXJpYWJs
ZSB0aGF0IHdpbGwgaG9sZCB0aGUgZmlsZSBjb250ZW50IGFzIGJ5dGUgYXJyYXkuCisjIGZpbGVu
YW1lOiB0aGUgZmlsZSB3aG9zZSBjb250ZW50IHdpbGwgYmUgY29udmVydGVkIHRvIEMrKyBieXRl
IGFycmF5LgorIyBkZXN0X3NyY19maWxlOiBkZXN0aW5hdGlvbiBoZWFkZXIgZmlsZSB0aGF0IHdp
bGwgY29udGFpbiB0aGUgYnl0ZSBhcnJheS4KK2RlZiBhcHBlbmRfZmlsZV9hc19ieXRlX2FycmF5
X3N0cmluZyh2YXJpYWJsZV9uYW1lLCBmaWxlbmFtZSwgZGVzdF9zcmNfZmlsZSk6CisgICAgc3Ry
aW5nID0gJy8vIEdlbmVyYXRlZCBmcm9tIHswfTpcbicuZm9ybWF0KGZpbGVuYW1lKQorICAgIHN0
cmluZyArPSAnY29uc3RleHByIHVpbnQ4X3QgezB9W109e3tcbicuZm9ybWF0KHZhcmlhYmxlX25h
bWUpCisgICAgYnl0ZXNfID0gb3BlbihmaWxlbmFtZSwgInJiIikucmVhZCgpCisgICAgZm9yIGJ5
dGUgaW4gYnl0ZXNfOgorICAgICAgICBzdHJpbmcgKz0gJzB4ezowMnh9Jy5mb3JtYXQob3JkKGJ5
dGUpKSArICIsICIKKyAgICBzdHJpbmcgKz0gIlxufTtcbiIKKyAgICB3aXRoIG9wZW4oZGVzdF9z
cmNfZmlsZSwgImEiKSBhcyBvdXRfZmlsZToKKyAgICAgICAgcHJpbnQoIldyaXRpbmcgYnl0ZXMu
IikKKyAgICAgICAgb3V0X2ZpbGUud3JpdGUoc3RyaW5nKQorICAgICAgICAKKworCisjIENvbXBp
bGUgbWV0YWwgc2hhZGVyLgorIyBjb21waWxlZF9maWxlOiBUaGUgY29tcGlsZWQgbWV0YWxsaWIK
KyMgdmFyaWFibGVfbmFtZTogbmFtZSBvZiBDKysgdmFyaWFibGUgdGhhdCB3aWxsIGhvbGQgdGhl
IGNvbXBpbGVkIGJpbmFyeSBkYXRhIGFzIGEgQyBhcnJheS4KKyMgYWRkaXRpb25hbF9mbGFnczog
YWRkaXRpb25hbCBzaGFkZXIgY29tcGlsZXIgZmxhZ3MKKyMgc3JjX2ZpbGVzOiBtZXRhbCBzb3Vy
Y2UgZmlsZXMKK2RlZiBnZW5fcHJlY29tcGlsZWRfc2hhZGVycyhjb21waWxlZF9maWxlLCB2YXJp
YWJsZV9uYW1lKToKKyAgICBhcHBlbmRfZmlsZV9hc19ieXRlX2FycmF5X3N0cmluZyh2YXJpYWJs
ZV9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGVkX2Zp
bGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbXBpbGVkL210bF9k
ZWZhdWx0X3NoYWRlcnNfY29tcGlsZWQuaW5jJykKKyAgICBvcy5zeXN0ZW0oJ2VjaG8gImNvbnN0
ZXhwciBzaXplX3QgezB9X2xlbj1zaXplb2YoezB9KTsiID4+IGNvbXBpbGVkL210bF9kZWZhdWx0
X3NoYWRlcnNfY29tcGlsZWQuaW5jJworICAgICAgICAgICAgICAuZm9ybWF0KHZhcmlhYmxlX25h
bWUpKQorCitkZWYgbWFpbigpOgorICAgIG9zLmNoZGlyKHN5cy5wYXRoWzBdKQorCisgICAgYm9p
bGVycGxhdGVfY29kZSA9IHRlbXBsYXRlX2hlYWRlcl9ib2lsZXJwbGF0ZS5mb3JtYXQoCisgICAg
ICAgIHNjcmlwdF9uYW1lPXN5cy5hcmd2WzBdLCBjb3B5cmlnaHRfeWVhcj1kYXRldGltZS50b2Rh
eSgpLnllYXIpCisKKyAgICAjIC0tLS0tLS0tIENvbXBpbGUgc2hhZGVycyAtLS0tLS0tLS0tLQor
ICAgICMgYm9pbGVyIHBsYXRlIGNvZGUKKyAgICBvcy5zeXN0ZW0oImVjaG8gXCJ7MH1cIiA+IGNv
bXBpbGVkL210bF9kZWZhdWx0X3NoYWRlcnNfY29tcGlsZWQuaW5jIi5mb3JtYXQoYm9pbGVycGxh
dGVfY29kZSkpCisgICAgb3Muc3lzdGVtKAorICAgICAgICAnZWNobyAiLy8gQ29tcGlsZWQgYmlu
YXJ5IGZvciBNZXRhbCBkZWZhdWx0IHNoYWRlcnMuXG5cbiIgPj4gY29tcGlsZWQvbXRsX2RlZmF1
bHRfc2hhZGVyc19jb21waWxlZC5pbmMnCisgICAgKQorICAgIG9zLnN5c3RlbSgnZWNobyAiI2lu
Y2x1ZGUgPFRhcmdldENvbmRpdGlvbmFscy5oPlxuXG4iID4+IGNvbXBpbGVkL210bF9kZWZhdWx0
X3NoYWRlcnNfY29tcGlsZWQuaW5jJykKKworICAgIG9zLnN5c3RlbSgnZWNobyAiLy8gY2xhbmct
Zm9ybWF0IG9mZiIgPj4gY29tcGlsZWQvbXRsX2RlZmF1bHRfc2hhZGVyc19jb21waWxlZC5pbmMn
KQorICAgIAorICAgIGdlbl9wcmVjb21waWxlZF9zaGFkZXJzKHN5cy5hcmd2WzFdLCAnZ01ldGFs
QmluYXJ5U2hhZGVycycpCisKKyAgICBvcy5zeXN0ZW0oJ2VjaG8gIi8vIGNsYW5nLWZvcm1hdCBv
biIgPj4gY29tcGlsZWQvbXRsX2RlZmF1bHRfc2hhZGVyc19jb21waWxlZC5pbmMnKQorCisKK2lm
IF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgc3lzLmV4aXQobWFpbigpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433608</attachid>
            <date>2021-07-15 12:05:20 -0700</date>
            <delta_ts>2021-07-15 15:55:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227333-20210715120519.patch</filename>
            <type>text/plain</type>
            <size>21843</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5OTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggOWUxZGQ0ZTE5ZWExODU3NzU4MzI1ZjM0ZjIxZWY1YjBkMjVhNTI0OC4uOTQwNTBjOTQwNjY0
Yjg4YWFkY2YwZGI0MzAzYzhhNzViOGE2YWYwZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA3LTE0ICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVpbGQgRGVmYXVsdCBNZXRhbCBsaWJyYXJ5IG9m
ZmxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NzMzMworCisgICAgICAgIDxyZGFyOi8vNzk5MjMzNzE+CisKKyAgICAgICAgVGhpcyBwYXRjaCBj
b21waWxlcyBhbmQgY3JlYXRlcyBhIE1ldGFsIGxpYnJhcnkgYXQgYnVpbGQgdGltZSwgc3Rvcmlu
ZworICAgICAgICB0aGUgbGlicmFyeSBhcyBhIGNvbXBpbGVkIGJpbmFyeSBmaWxlLiBUaGlzIGxp
YnJhcnkgaXMgYmFrZWQgaW50byB0aGUgZHlsaWIsIAorICAgICAgICBhbmQgaXMgbG9hZGVkIGF0
IGNvbnRleHQgY3JlYXRpb24gdGltZS4KKworICAgICAgICBVbmxpa2UgdGhlIHByZXZpb3VzIHZl
cnNpb24gb2YgdGhpcyBwYXRjaCwgdGhpcyBwYXRjaCBkb2VzIG5vdCBzYXZlIG9yIHN0b3JlIHRo
ZSAubWV0YWxsaWIgb24gZGlzaywgYnV0IHJhdGhlcgorICAgICAgICBiYWtlcyBpdCBpbnRvIGEg
YmluYXJ5LgorICAgICAgICAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiAuZ2l0aWdub3JlOgorICAgICAgICAqIEFOR0xFLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvQU5HTEUtZHluYW1pYy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbToK
KyAgICAgICAgKHJ4OjpEaXNwbGF5TXRsOjppbml0aWFsaXplU2hhZGVyTGlicmFyeSk6CisgICAg
ICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5oOgorCiAyMDIxLTA3
LTEzICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGluZ3RvbkBhcHBsZS5jb20+CiAKICAgICAgICAg
ckFGIGRyaXZlbiBXZWJHTCBzdWJtaXRzIGV4Y2Vzc2l2ZSBhbW91bnQgb2YgR1BVIHdvcmsgd2hl
biBmcmFtZXMgYXJlIHNsb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFLy5n
aXRpZ25vcmUgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS8uZ2l0aWdub3JlCmluZGV4IGM4Yzli
NmNmZjY2YTljMDJhM2E4ZDkyOGU3M2RlM2JlNGMyZjlkNDYuLjQ3YWVkMzc0YzU1N2JiMjk5ZTZl
NzViN2I3N2Y4NDVmMzczNzM1NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
Ly5naXRpZ25vcmUKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvLmdpdGlnbm9yZQpAQCAt
MjgsNiArMjgsNyBAQAogLmdjbGllbnRfZW50cmllcwogLmdpdF9jbF9kZXNjcmlwdGlvbl9iYWNr
dXAKIC9zcmMvdGVzdHMvdGhpcmRfcGFydHkvZ2xlc19jb25mb3JtYW5jZV90ZXN0cworL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci9tZXRhbC9zaGFkZXJzL2NvbXBpbGVkL210bF9kZWZhdWx0X3NoYWRl
cnNfY29tcGlsZWQuaW5jCiAvdGVzdGluZwogL3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAKIC90aGly
ZF9wYXJ0eS9hbmRyb2lkX25kawpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
QU5HTEUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L0FOR0xFLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWQ5ZmJiYTliNGQ5YjQwMTUy
NDE1MTJlMzRhMmJkN2U5MjMwODhlNC4uMTRiZjdjYmFkZTlkYTJmMTJiYmE2YjI1MTMzYTQ5OGJm
NWMyNjRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9BTkdMRS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04MzgsNiArODM4LDEzIEBACiAJCUZGMkQyRjU1
MjVDOEIxNEEwMDJGQjY5OSAvKiBGaXhUeXBlQ29uc3RydWN0b3JzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRjJEMkY1MjI1QzhCMTRBMDAyRkI2OTkg
LyogRml4VHlwZUNvbnN0cnVjdG9ycy5oICovOyB9OwogCQlGRjU4MkUxNjI2NTQ0RkM0MDA2REE1
QjggLyogUHJvdm9raW5nVmVydGV4SGVscGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkY1ODJFMTQyNjU0NEZDNDAwNkRBNUI4IC8qIFByb3Zva2lu
Z1ZlcnRleEhlbHBlci5tbSAqLzsgfTsKIAkJRkY1ODJFMTcyNjU0NEZDNDAwNkRBNUI4IC8qIFBy
b3Zva2luZ1ZlcnRleEhlbHBlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRkY1ODJFMTUyNjU0NEZDNDAwNkRBNUI4IC8qIFByb3Zva2luZ1ZlcnRleEhl
bHBlci5oICovOyB9OworCQlGRkRBNTBDQzI2OUY4NDgyMDBBRTExRTIgLyogYmxpdC5tZXRhbCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFGRUFBMjU4
MThENjgwMDg5NEUyNCAvKiBibGl0Lm1ldGFsICovOyB9OworCQlGRkRBNTBDRDI2OUY4NDgyMDBB
RTExRTIgLyogY2xlYXIubWV0YWwgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGRjgxRkVCMTI1ODE4RDY4MDA4OTRFMjQgLyogY2xlYXIubWV0YWwgKi87IH07
CisJCUZGREE1MENFMjY5Rjg0ODIwMEFFMTFFMiAvKiBjb3B5X2J1ZmZlci5tZXRhbCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFGRUFGMjU4MThENjgw
MDg5NEUyNCAvKiBjb3B5X2J1ZmZlci5tZXRhbCAqLzsgfTsKKwkJRkZEQTUwQ0YyNjlGODQ4MjAw
QUUxMUUyIC8qIGdlbl9pbmRpY2VzLm1ldGFsIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkY4MUZFQjMyNTgxOEQ2ODAwODk0RTI0IC8qIGdlbl9pbmRpY2Vz
Lm1ldGFsICovOyB9OworCQlGRkRBNTBEMDI2OUY4NDgyMDBBRTExRTIgLyogZ2VuX21pcG1hcC5t
ZXRhbCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFG
RUIyMjU4MThENjgwMDg5NEUyNCAvKiBnZW5fbWlwbWFwLm1ldGFsICovOyB9OworCQlGRkRBNTBE
MTI2OUY4NDgyMDBBRTExRTIgLyogcmV3cml0ZV9pbmRpY2VzLm1ldGFsIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY1ODJFMTgyNjU0NEZFNTAwNkRBNUI4
IC8qIHJld3JpdGVfaW5kaWNlcy5tZXRhbCAqLzsgfTsKKwkJRkZEQTUwRDIyNjlGODQ4MjAwQUUx
MUUyIC8qIHZpc2liaWxpdHkubWV0YWwgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGRjgxRkVBQjI1ODE4RDY4MDA4OTRFMjQgLyogdmlzaWJpbGl0eS5tZXRh
bCAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhC
dWlsZFJ1bGUgc2VjdGlvbiAqLwpAQCAtODY0LDYgKzg3MSwxMyBAQAogCQkJcmVtb3RlR2xvYmFs
SURTdHJpbmcgPSAzMUNERkRGMzI0OTE4MTlFMDA0ODZGMjc7CiAJCQlyZW1vdGVJbmZvID0gIkFO
R0xFIChkeW5hbWljKSI7CiAJCX07CisJCUZGREE1MEQzMjY5Rjg0QTAwMEFFMTFFMiAvKiBQQlhD
b250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7
CisJCQljb250YWluZXJQb3J0YWwgPSBGQjM5RDA3MDEyMDBFRDkyMDAwODhFNjkgLyogUHJvamVj
dCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcg
PSBGRkRBNTBDNDI2OUY4NDUxMDBBRTExRTI7CisJCQlyZW1vdGVJbmZvID0gQU5HTEVNZXRhbExp
YjsKKwkJfTsKIC8qIEVuZCBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLwogCiAvKiBC
ZWdpbiBQQlhDb3B5RmlsZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTE4MTMsNiArMTgyNyw4
IEBACiAJCUZGODFGRjlBMjU4MUEzQzIwMDg5NEUyNCAvKiBJbnRlcm1SZWJ1aWxkLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludGVybVJlYnVpbGQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRkZBMEMyQzUyNUNCNkE3NjAwMTA1MzA2IC8qIE5hbWVFbWJlZGRl
ZFVuaWZvcm1TdHJ1Y3RzTWV0YWwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTmFtZUVtYmVkZGVkVW5pZm9ybVN0cnVjdHNNZXRhbC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUZGQTBDMkM2MjVDQjZBNzcwMDEwNTMwNiAvKiBOYW1lRW1iZWRkZWRV
bmlmb3JtU3RydWN0c01ldGFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5h
bWVFbWJlZGRlZFVuaWZvcm1TdHJ1Y3RzTWV0YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRkZEQTUwRDYyNjlGOUU1ODAwQUUxMUUyIC8qIGNyZWF0ZV9tdGxfaW50ZXJuYWxfc2hh
ZGVycy5weSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9IGNyZWF0ZV9tdGxf
aW50ZXJuYWxfc2hhZGVycy5weTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkZFMEQ5
MTUyNkEwQjRFODAwNzFBREFFIC8qIEFuZ2xlTWV0YWxMaWIueGNjb25maWcgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRo
ID0gQW5nbGVNZXRhbExpYi54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIC8q
IEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYRnJhbWV3b3Jr
c0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpAQCAtMjc2OSw2ICsyNzg1LDcgQEAKIAkJCWNoaWxkcmVu
ID0gKAogCQkJCTMxQ0RGREVFMjQ5MTdGODkwMDQ4NkYyNyAvKiBBTkdMRS1keW5hbWljLnhjY29u
ZmlnICovLAogCQkJCTMxQ0RGREVGMjQ5MTdGODkwMDQ4NkYyNyAvKiBBTkdMRS1zdGF0aWMueGNj
b25maWcgKi8sCisJCQkJRkZFMEQ5MTUyNkEwQjRFODAwNzFBREFFIC8qIEFuZ2xlTWV0YWxMaWIu
eGNjb25maWcgKi8sCiAJCQkJNUQ3QzU5QzYxMjA4QzY4QjAwMUM4NzNFIC8qIEJhc2UueGNjb25m
aWcgKi8sCiAJCQkJNUQ3QzU5QzcxMjA4QzY4QjAwMUM4NzNFIC8qIERlYnVnUmVsZWFzZS54Y2Nv
bmZpZyAqLywKIAkJCQlBMUI4OUI4OTIyMUUwMDNBMDBFQjRDRUEgLyogU0RLVmFyaWFudC54Y2Nv
bmZpZyAqLywKQEAgLTMwNTYsNiArMzA3Myw3IEBACiAJCQkJRkY4MUZFQUQyNTgxOEQ2ODAwODk0
RTI0IC8qIGNvbW1vbi5oICovLAogCQkJCUZGODFGRUFDMjU4MThENjgwMDg5NEUyNCAvKiBjb25z
dGFudHMuaCAqLywKIAkJCQlGRjgxRkVBRjI1ODE4RDY4MDA4OTRFMjQgLyogY29weV9idWZmZXIu
bWV0YWwgKi8sCisJCQkJRkZEQTUwRDYyNjlGOUU1ODAwQUUxMUUyIC8qIGNyZWF0ZV9tdGxfaW50
ZXJuYWxfc2hhZGVycy5weSAqLywKIAkJCQlGRjgxRkVCMDI1ODE4RDY4MDA4OTRFMjQgLyogZm9y
bWF0X2F1dG9nZW4uaCAqLywKIAkJCQlGRjgxRkVCMzI1ODE4RDY4MDA4OTRFMjQgLyogZ2VuX2lu
ZGljZXMubWV0YWwgKi8sCiAJCQkJRkY4MUZFQjIyNTgxOEQ2ODAwODk0RTI0IC8qIGdlbl9taXBt
YXAubWV0YWwgKi8sCkBAIC0zNTcwLDYgKzM1ODgsNyBAQAogCQkJaXNhID0gUEJYTmF0aXZlVGFy
Z2V0OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDMxQ0RGREY1MjQ5MTgxOUUwMDQ4NkYy
NyAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiQU5HTEUg
KGR5bmFtaWMpIiAqLzsKIAkJCWJ1aWxkUGhhc2VzID0gKAorCQkJCUZGREE1MEQ1MjY5Rjg5NTQw
MEFFMTFFMiAvKiBTaGVsbFNjcmlwdCAqLywKIAkJCQkzMUNERkRGMDI0OTE4MTlFMDA0ODZGMjcg
LyogSGVhZGVycyAqLywKIAkJCQkzMUNERkRGMTI0OTE4MTlFMDA0ODZGMjcgLyogU291cmNlcyAq
LywKIAkJCQkzMUNERkRGMjI0OTE4MTlFMDA0ODZGMjcgLyogRnJhbWV3b3JrcyAqLywKQEAgLTM1
ODEsMTIgKzM2MDAsMjcgQEAKIAkJCQkzMUE5RTlBMDI0OUFBMDQyMDBDN0UyNDMgLyogUEJYQnVp
bGRSdWxlICovLAogCQkJKTsKIAkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCQlGRkRBNTBENDI2OUY4
NEEwMDBBRTExRTIgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCSk7CiAJCQluYW1lID0g
IkFOR0xFIChkeW5hbWljKSI7CiAJCQlwcm9kdWN0TmFtZSA9ICJBTkdMRSAoZHluYW1pYykiOwog
CQkJcHJvZHVjdFJlZmVyZW5jZSA9IDMxQ0RGREY0MjQ5MTgxOUUwMDQ4NkYyNyAvKiBsaWJBTkdM
RS1zaGFyZWQuZHlsaWIgKi87CiAJCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10
eXBlLmxpYnJhcnkuZHluYW1pYyI7CiAJCX07CisJCUZGREE1MEM0MjY5Rjg0NTEwMEFFMTFFMiAv
KiBBTkdMRU1ldGFsTGliICovID0geworCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OworCQkJYnVp
bGRDb25maWd1cmF0aW9uTGlzdCA9IEZGREE1MENCMjY5Rjg0NTEwMEFFMTFFMiAvKiBCdWlsZCBj
b25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiQU5HTEVNZXRhbExpYiIgKi87
CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQlGRkRBNTBDMzI2OUY4NDUxMDBBRTExRTIgLyogU291
cmNlcyAqLywKKwkJCSk7CisJCQlidWlsZFJ1bGVzID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2ll
cyA9ICgKKwkJCSk7CisJCQluYW1lID0gQU5HTEVNZXRhbExpYjsKKwkJCXByb2R1Y3ROYW1lID0g
QU5HTEVNZXRhbExpYjsKKwkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUu
bWV0YWwtbGlicmFyeSI7CisJCX07CiAvKiBFbmQgUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8K
IAogLyogQmVnaW4gUEJYUHJvamVjdCBzZWN0aW9uICovCkBAIC0zNjA0LDYgKzM2MzgsMTAgQEAK
IAkJCQkJCUNyZWF0ZWRPblRvb2xzVmVyc2lvbiA9IDEyLjA7CiAJCQkJCQlQcm92aXNpb25pbmdT
dHlsZSA9IEF1dG9tYXRpYzsKIAkJCQkJfTsKKwkJCQkJRkZEQTUwQzQyNjlGODQ1MTAwQUUxMUUy
ID0geworCQkJCQkJQ3JlYXRlZE9uVG9vbHNWZXJzaW9uID0gMTMuMDsKKwkJCQkJCVByb3Zpc2lv
bmluZ1N0eWxlID0gQXV0b21hdGljOworCQkJCQl9OwogCQkJCX07CiAJCQl9OwogCQkJYnVpbGRD
b25maWd1cmF0aW9uTGlzdCA9IEZCMzlEMDczMTIwMEVEOTIwMDA4OEU2OSAvKiBCdWlsZCBjb25m
aWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIkFOR0xFIiAqLzsKQEAgLTM2MjAsNiArMzY1
OCw3IEBACiAJCQl0YXJnZXRzID0gKAogCQkJCTMxREI3OTRGMjQ5MUMzMzMwMDk4Mjg3OCAvKiBB
TkdMRSAqLywKIAkJCQkzMUNERkRGMzI0OTE4MTlFMDA0ODZGMjcgLyogQU5HTEUgKGR5bmFtaWMp
ICovLAorCQkJCUZGREE1MEM0MjY5Rjg0NTEwMEFFMTFFMiAvKiBBTkdMRU1ldGFsTGliICovLAog
CQkJKTsKIAkJfTsKIC8qIEVuZCBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KQEAgLTM2NDMsNiArMzY4
MiwyNSBAQAogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKIAkJCXNoZWxsU2NyaXB0ID0gImlmIFsg
XCIke1hDT0RFX1ZFUlNJT05fQUNUVUFMfVwiIC1nZSBcIjExNDBcIiAtYSBcIiR7V0tfVVNFX05F
V19CVUlMRF9TWVNURU19XCIgPSBcIllFU1wiIF07IHRoZW5cbiAgICAjIEluIHRoaXMgY29uZmln
dXJhdGlvbiwgcG9zdC1wcm9jZXNzaW5nIGlzIHBlcmZvcm1lZCBhdCB0aGUgc2FtZSB0aW1lIGFz
IGNvcHlpbmcgaW4gdGhlIHBvc3Rwcm9jZXNzLWhlYWRlci1ydWxlIHNjcmlwdCwgc28gdGhlcmUn
cyBubyBuZWVkIGZvciB0aGlzIHNlcGFyYXRlIHN0ZXAuXG4gICAgZXhpdCAwXG5maVxuXG5leGVj
IFwiJFNSQ1JPT1QvYWRqdXN0LWFuZ2xlLWluY2x1ZGUtcGF0aHMucHlcIlxuIjsKIAkJfTsKKwkJ
RkZEQTUwRDUyNjlGODk1NDAwQUUxMUUyIC8qIFNoZWxsU2NyaXB0ICovID0geworCQkJaXNhID0g
UEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0
NzsKKwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCWlucHV0RmlsZUxpc3RQYXRocyA9ICgKKwkJCSk7
CisJCQlpbnB1dFBhdGhzID0gKAorCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvQU5HTEVNZXRh
bExpYi5tZXRhbGxpYiIsCisJCQkpOworCQkJb3V0cHV0RmlsZUxpc3RQYXRocyA9ICgKKwkJCSk7
CisJCQlvdXRwdXRQYXRocyA9ICgKKwkJCQkiJChERVJJVkVEX0ZJTEVfRElSKS9tdGxfZGVmYXVs
dF9zaGFkZXJzX2NvbXBpbGVkLmluYyIsCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CisJCQlzaGVsbFBhdGggPSAvYmluL3NoOworCQkJc2hlbGxTY3Jp
cHQgPSAiZWNobyBweXRob24gXCIke1NSQ1JPT1R9L3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRh
bC9zaGFkZXJzL2NyZWF0ZV9tdGxfaW50ZXJuYWxfc2hhZGVycy5weVwiIFwiJFNDUklQVF9JTlBV
VF9GSUxFXzBcIiBcIiRTQ1JJUFRfT1VUUFVUX0ZJTEVfMFwiXG5weXRob24gXCIke1NSQ1JPT1R9
L3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9zaGFkZXJzL2NyZWF0ZV9tdGxfaW50ZXJuYWxf
c2hhZGVycy5weVwiIFwiJFNDUklQVF9JTlBVVF9GSUxFXzBcIiBcIiRTQ1JJUFRfT1VUUFVUX0ZJ
TEVfMFwiXG5ybSBcIiR7U0NSSVBUX0lOUFVUX0ZJTEVfMH1cIlxuIjsKKwkJfTsKIC8qIEVuZCBQ
QlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhTb3VyY2Vz
QnVpbGRQaGFzZSBzZWN0aW9uICovCkBAIC00MDUzLDYgKzQxMTEsMjAgQEAKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKKwkJRkZEQTUwQzMy
NjlGODQ1MTAwQUUxMUUyIC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVp
bGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgK
KwkJCQlGRkRBNTBDQzI2OUY4NDgyMDBBRTExRTIgLyogYmxpdC5tZXRhbCBpbiBTb3VyY2VzICov
LAorCQkJCUZGREE1MENEMjY5Rjg0ODIwMEFFMTFFMiAvKiBjbGVhci5tZXRhbCBpbiBTb3VyY2Vz
ICovLAorCQkJCUZGREE1MENFMjY5Rjg0ODIwMEFFMTFFMiAvKiBjb3B5X2J1ZmZlci5tZXRhbCBp
biBTb3VyY2VzICovLAorCQkJCUZGREE1MENGMjY5Rjg0ODIwMEFFMTFFMiAvKiBnZW5faW5kaWNl
cy5tZXRhbCBpbiBTb3VyY2VzICovLAorCQkJCUZGREE1MEQwMjY5Rjg0ODIwMEFFMTFFMiAvKiBn
ZW5fbWlwbWFwLm1ldGFsIGluIFNvdXJjZXMgKi8sCisJCQkJRkZEQTUwRDEyNjlGODQ4MjAwQUUx
MUUyIC8qIHJld3JpdGVfaW5kaWNlcy5tZXRhbCBpbiBTb3VyY2VzICovLAorCQkJCUZGREE1MEQy
MjY5Rjg0ODIwMEFFMTFFMiAvKiB2aXNpYmlsaXR5Lm1ldGFsIGluIFNvdXJjZXMgKi8sCisJCQkp
OworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAvKiBF
bmQgUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhUYXJnZXRE
ZXBlbmRlbmN5IHNlY3Rpb24gKi8KQEAgLTQwNjEsNiArNDEzMywxMSBAQAogCQkJdGFyZ2V0ID0g
MzFDREZERjMyNDkxODE5RTAwNDg2RjI3IC8qIEFOR0xFIChkeW5hbWljKSAqLzsKIAkJCXRhcmdl
dFByb3h5ID0gMzFEQjc5NTYyNDkxQzM1NDAwOTgyODc4IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94
eSAqLzsKIAkJfTsKKwkJRkZEQTUwRDQyNjlGODRBMDAwQUUxMUUyIC8qIFBCWFRhcmdldERlcGVu
ZGVuY3kgKi8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0g
RkZEQTUwQzQyNjlGODQ1MTAwQUUxMUUyIC8qIEFOR0xFTWV0YWxMaWIgKi87CisJCQl0YXJnZXRQ
cm94eSA9IEZGREE1MEQzMjY5Rjg0QTAwMEFFMTFFMiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkg
Ki87CisJCX07CiAvKiBFbmQgUEJYVGFyZ2V0RGVwZW5kZW5jeSBzZWN0aW9uICovCiAKIC8qIEJl
Z2luIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KQEAgLTQxMzEsNiArNDIwOCwyNSBA
QAogCQkJfTsKIAkJCW5hbWUgPSBSZWxlYXNlOwogCQl9OworCQlGRkRBNTBDODI2OUY4NDUxMDBB
RTExRTIgLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJ
CWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gRkZFMEQ5MTUyNkEwQjRFODAwNzFBREFFIC8q
IEFuZ2xlTWV0YWxMaWIueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsK
KwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJRkZEQTUwQzkyNjlGODQ1MTAwQUUxMUUyIC8qIFJl
bGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0
dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJCUZGREE1MENBMjY5
Rjg0NTEwMEFFMTFFMiAvKiBQcm9kdWN0aW9uICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZp
Z3VyYXRpb247CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBQcm9kdWN0
aW9uOworCQl9OwogLyogRW5kIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KIAogLyog
QmVnaW4gWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCkBAIC00MTY0LDYgKzQyNjAsMTYg
QEAKIAkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKIAkJCWRlZmF1bHRDb25m
aWd1cmF0aW9uTmFtZSA9IFByb2R1Y3Rpb247CiAJCX07CisJCUZGREE1MENCMjY5Rjg0NTEwMEFF
MTFFMiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiQU5H
TEVNZXRhbExpYiIgKi8gPSB7CisJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OworCQkJYnVp
bGRDb25maWd1cmF0aW9ucyA9ICgKKwkJCQlGRkRBNTBDODI2OUY4NDUxMDBBRTExRTIgLyogRGVi
dWcgKi8sCisJCQkJRkZEQTUwQzkyNjlGODQ1MTAwQUUxMUUyIC8qIFJlbGVhc2UgKi8sCisJCQkJ
RkZEQTUwQ0EyNjlGODQ1MTAwQUUxMUUyIC8qIFByb2R1Y3Rpb24gKi8sCisJCQkpOworCQkJZGVm
YXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25O
YW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKIC8qIEVuZCBYQ0NvbmZpZ3VyYXRpb25MaXN0IHNlY3Rp
b24gKi8KIAl9OwogCXJvb3RPYmplY3QgPSBGQjM5RDA3MDEyMDBFRDkyMDAwODhFNjkgLyogUHJv
amVjdCBvYmplY3QgKi87CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9Db25m
aWd1cmF0aW9ucy9BTkdMRS1keW5hbWljLnhjY29uZmlnIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvQ29uZmlndXJhdGlvbnMvQU5HTEUtZHluYW1pYy54Y2NvbmZpZwppbmRleCA0MjhmZWY1MWQx
OTljMDEwYzliMmQyMTM5MWNhZmRhMDcxMGUzMDkxLi40ZmNkOTJkN2QxZjNiYTgyMzI2N2IyNjBi
ZjgzYjIxY2FhZjNlMTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9Db25m
aWd1cmF0aW9ucy9BTkdMRS1keW5hbWljLnhjY29uZmlnCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0FOR0xFLWR5bmFtaWMueGNjb25maWcKQEAgLTI3LDcgKzI3
LDcgQEAgRFlMSUJfSU5TVEFMTF9OQU1FX0JBU0VfVVNFX0FMVEVSTkFURV9GUkFNRVdPUktTX0RJ
Ul9ZRVMgPSAkKERZTElCX0lOU1RBTExfTkFNRV8KIERZTElCX0lOU1RBTExfTkFNRV9CQVNFX1dL
X1JFTE9DQVRBQkxFX0ZSQU1FV09SS1NfID0gJChEWUxJQl9JTlNUQUxMX05BTUVfQkFTRSk7CiBE
WUxJQl9JTlNUQUxMX05BTUVfQkFTRV9XS19SRUxPQ0FUQUJMRV9GUkFNRVdPUktTX1lFUyA9IEBs
b2FkZXJfcGF0aC8uLi8uLi8uLi87CiAKLUhFQURFUl9TRUFSQ0hfUEFUSFMgPSBpbmNsdWRlIHNy
YyBzcmMvY29tbW9uL3RoaXJkX3BhcnR5L251bWVyaWNzIHRoaXJkX3BhcnR5L2Jhc2Ugc3JjL2Nv
bW1vbi90aGlyZF9wYXJ0eS9iYXNlIHRoaXJkX3BhcnR5L3psaWIvZ29vZ2xlOworSEVBREVSX1NF
QVJDSF9QQVRIUyA9IGluY2x1ZGUgc3JjIHNyYy9jb21tb24vdGhpcmRfcGFydHkvbnVtZXJpY3Mg
dGhpcmRfcGFydHkvYmFzZSBzcmMvY29tbW9uL3RoaXJkX3BhcnR5L2Jhc2UgdGhpcmRfcGFydHkv
emxpYi9nb29nbGUgJHtERVJJVkVEX0ZJTEVTX0RJUn07CiAKIEFOR0xFX0hFQURFUlNfRk9MREVS
X1BBVEggPSAvdXNyL2xvY2FsL2luY2x1ZGUvQU5HTEU7CiAKQEAgLTM2LDcgKzM2LDcgQEAgUFVC
TElDX0hFQURFUlNfRk9MREVSX1BBVEhbc2RrPW1hY29zeCpdID0gJChQVUJMSUNfSEVBREVSU19G
T0xERVJfUEFUSF8kKFdLX1BMQVQKIFBVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIX21hY29zeCA9
ICQoQU5HTEVfSEVBREVSU19GT0xERVJfUEFUSCk7CiBQVUJMSUNfSEVBREVSU19GT0xERVJfUEFU
SF9tYWNjYXRhbHlzdCA9ICQoV0tfQUxURVJOQVRFX0ZSQU1FV09SS1NfRElSKS8kKEFOR0xFX0hF
QURFUlNfRk9MREVSX1BBVEgpOwogCi1HQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gJChE
RUJVR19ERUZJTkVTKSBMSUJHTEVTVjJfSU1QTEVNRU5UQVRJT04gTElCQU5HTEVfSU1QTEVNRU5U
QVRJT04gQU5HTEVfRU5BQkxFX09QRU5HTCBBTkdMRV9FTkFCTEVfR0xTTCBBTkdMRV9FTkFCTEVf
RVNTTCBHTF9TSUxFTkNFX0RFUFJFQ0FUSU9OIEdMRVNfU0lMRU5DRV9ERVBSRUNBVElPTiBBTkdM
RV9FTkFCTEVfTUVUQUw7CitHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gJChERUJVR19E
RUZJTkVTKSBMSUJHTEVTVjJfSU1QTEVNRU5UQVRJT04gTElCQU5HTEVfSU1QTEVNRU5UQVRJT04g
QU5HTEVfRU5BQkxFX09QRU5HTCBBTkdMRV9FTkFCTEVfR0xTTCBBTkdMRV9FTkFCTEVfRVNTTCBH
TF9TSUxFTkNFX0RFUFJFQ0FUSU9OIEdMRVNfU0lMRU5DRV9ERVBSRUNBVElPTiBBTkdMRV9FTkFC
TEVfTUVUQUwgQU5HTEVfTUVUQUxfWENPREVfQlVJTERTX1NIQURFUlMKIAogREVBRF9DT0RFX1NU
UklQUElORyA9IFlFUzsKIERFQURfQ09ERV9TVFJJUFBJTkdbY29uZmlnPURlYnVnXSA9IE5POwpk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQW5nbGVN
ZXRhbExpYi54Y2NvbmZpZyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25z
L0FuZ2xlTWV0YWxMaWIueGNjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjFmYTIwZGM5YTIwMjc5MzYyZGFl
YjUwZWY2YzFmZDYyNTAxZmRlZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0FuZ2xlTWV0YWxMaWIueGNjb25maWcKQEAgLTAsMCArMSwy
NCBAQAorI2luY2x1ZGUgIlZlcnNpb24ueGNjb25maWciCisjaW5jbHVkZSAiV2ViS2l0VGFyZ2V0
Q29uZGl0aW9uYWxzLnhjY29uZmlnIgorCitQUk9EVUNUX05BTUUgPSBBTkdMRU1ldGFsTGliOwor
RVhFQ1VUQUJMRV9QUkVGSVggPSBsaWI7CitTS0lQX0lOU1RBTEwgPSBZRVMKKworSEVBREVSX1NF
QVJDSF9QQVRIUyA9IGluY2x1ZGUgc3JjIHNyYy9jb21tb24vdGhpcmRfcGFydHkvbnVtZXJpY3Mg
dGhpcmRfcGFydHkvYmFzZSBzcmMvY29tbW9uL3RoaXJkX3BhcnR5L2Jhc2UgdGhpcmRfcGFydHkv
emxpYi9nb29nbGU7CisKK0FOR0xFX0hFQURFUlNfRk9MREVSX1BBVEggPSAvdXNyL2xvY2FsL2lu
Y2x1ZGUvQU5HTEU7CisKK1BVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIID0gJChBTkdMRV9IRUFE
RVJTX0ZPTERFUl9QQVRIKTsKK1BVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIW3Nkaz1tYWNvc3gq
XSA9ICQoUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhfJChXS19QTEFURk9STV9OQU1FKSk7CitQ
VUJMSUNfSEVBREVSU19GT0xERVJfUEFUSF9tYWNvc3ggPSAkKEFOR0xFX0hFQURFUlNfRk9MREVS
X1BBVEgpOworUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhfbWFjY2F0YWx5c3QgPSAkKFdLX0FM
VEVSTkFURV9GUkFNRVdPUktTX0RJUikvJChBTkdMRV9IRUFERVJTX0ZPTERFUl9QQVRIKTsKKwor
TVRMX0VOQUJMRV9ERUJVR19JTkZPID0gSU5DTFVERV9TT1VSQ0UKK01UTF9GQVNUX01BVEggPSBZ
RVMKKworREVBRF9DT0RFX1NUUklQUElORyA9IFlFUzsKK0RFQURfQ09ERV9TVFJJUFBJTkdbY29u
ZmlnPURlYnVnXSA9IE5POworCitTVFJJUF9JTlNUQUxMRURfUFJPRFVDVCA9IFlFUzsKK1NUUklQ
X0lOU1RBTExFRF9QUk9EVUNUW2NvbmZpZz1EZWJ1Z10gPSBOTzsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRs
Lm1tIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFs
L0Rpc3BsYXlNdGwubW0KaW5kZXggNzc4NmMwOGVjMzlmMWIyM2QzZTc2MTNlNjNhZDUzYTE5NDUx
YTRkNS4uZjdhZTQ4ODMxZjRlNzZjZTk4NTgzNTYzY2JlODZmYmZkOWZlNWM3YSAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0Rp
c3BsYXlNdGwubW0KKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL21ldGFsL0Rpc3BsYXlNdGwubW0KQEAgLTIyLDggKzIyLDEzIEBACiAjaW5jbHVkZSAi
bGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvU3luY010bC5oIgogI2luY2x1ZGUgImxpYkFOR0xFL3Jl
bmRlcmVyL21ldGFsL210bF9jb21tb24uaCIKICNpbmNsdWRlICJsaWJBTkdMRS9yZW5kZXJlci9t
ZXRhbC9zaGFkZXJzL210bF9kZWZhdWx0X3NoYWRlcnNfc3JjX2F1dG9nZW4uaW5jIgorI2luY2x1
ZGUgImxpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5oIgogI2luY2x1ZGUgInBsYXRm
b3JtL1BsYXRmb3JtLmgiCiAKKyNpZmRlZiBBTkdMRV9NRVRBTF9YQ09ERV9CVUlMRFNfU0hBREVS
UworI2luY2x1ZGUgIm10bF9kZWZhdWx0X3NoYWRlcnNfY29tcGlsZWQuaW5jIgorI2VuZGlmCisK
ICNpbmNsdWRlICJFR0wvZWdsZXh0LmgiCiAKICNpZiBkZWZpbmVkKEFOR0xFX1BMQVRGT1JNX01B
Q09TKSB8fCBkZWZpbmVkKEFOR0xFX1BMQVRGT1JNX01BQ0NBVEFMWVNUKQpAQCAtOTkzLDIzICs5
OTgsMTYgQEAgYW5nbGU6OlJlc3VsdCBEaXNwbGF5TXRsOjppbml0aWFsaXplU2hhZGVyTGlicmFy
eSgpCiAjaWZkZWYgQU5HTEVfTUVUQUxfWENPREVfQlVJTERTX1NIQURFUlMKICAgICBtRGVmYXVs
dFNoYWRlcnNBc3luY0luZm8ucmVzZXQobmV3IERlZmF1bHRTaGFkZXJBc3luY0luZm9NdGwpOwog
Ci0gICAgTlNTdHJpbmcgKnBhdGggPSBbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZpZXI6QCJj
b20uYXBwbGUuV2ViS2l0Il0uYnVuZGxlUGF0aDsKLSAgICBOU0Vycm9yICplcnJvciA9IG51bGxw
dHI7Ci0gICAgbURlZmF1bHRTaGFkZXJzQXN5bmNJbmZvLT5kZWZhdWx0U2hhZGVycyA9Ci0gICAg
ICAgIFtnZXRNZXRhbERldmljZSgpIG5ld0RlZmF1bHRMaWJyYXJ5V2l0aEJ1bmRsZTpbTlNCdW5k
bGUgYnVuZGxlV2l0aFBhdGg6cGF0aF0gZXJyb3I6JmVycm9yXTsKLQotICAgIGlmIChlcnJvciAm
JiAhbURlZmF1bHRTaGFkZXJzQXN5bmNJbmZvLT5kZWZhdWx0U2hhZGVycykKLSAgICB7Ci0gICAg
ICAgIEFOR0xFX01UTF9PQkpDX1NDT1BFCi0gICAgICAgIHsKLSAgICAgICAgICAgIEVSUigpIDw8
ICJJbnRlcm5hbCBlcnJvcjogbmV3RGVmYXVsdExpYnJhcnlXaXRoQnVuZGxlIGZhaWxlZC4gIgot
ICAgICAgICAgICAgICAgICAgPDwgZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24uVVRGOFN0cmlu
ZzsKLSAgICAgICAgfQotICAgICAgICBtRGVmYXVsdFNoYWRlcnNBc3luY0luZm8tPmRlZmF1bHRT
aGFkZXJzQ29tcGlsZUVycm9yID0gc3RkOjptb3ZlKGVycm9yKTsKLSAgICAgICAgcmV0dXJuIGFu
Z2xlOjpSZXN1bHQ6OlN0b3A7Ci0gICAgfQorICAgIGNvbnN0IHVpbnQ4X3QgKmNvbXBpbGVkX3No
YWRlcl9iaW5hcnk7CisgICAgc2l6ZV90IGNvbXBpbGVkX3NoYWRlcl9iaW5hcnlfbGVuOworICAg
IGNvbXBpbGVkX3NoYWRlcl9iaW5hcnkgICAgID0gZ01ldGFsQmluYXJ5U2hhZGVyczsKKyAgICBj
b21waWxlZF9zaGFkZXJfYmluYXJ5X2xlbiA9IGdNZXRhbEJpbmFyeVNoYWRlcnNfbGVuOworICAg
IG10bDo6QXV0b09iakNQdHI8TlNFcnJvciAqPiBlcnIgPSBuaWw7CisgICAgbXRsOjpBdXRvT2Jq
Q1B0cjxpZDxNVExMaWJyYXJ5Pj4gbURlZmF1bHRTaGFkZXJzID0gbXRsOjpDcmVhdGVTaGFkZXJM
aWJyYXJ5RnJvbUJpbmFyeShnZXRNZXRhbERldmljZSgpLCBjb21waWxlZF9zaGFkZXJfYmluYXJ5
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29tcGlsZWRfc2hhZGVyX2JpbmFyeV9sZW4sICZlcnIpOworICAg
IG1EZWZhdWx0U2hhZGVyc0FzeW5jSW5mby0+ZGVmYXVsdFNoYWRlcnMgPSBzdGQ6Om1vdmUobURl
ZmF1bHRTaGFkZXJzLmdldCgpKTsKKyAgICBtRGVmYXVsdFNoYWRlcnNBc3luY0luZm8tPmRlZmF1
bHRTaGFkZXJzQ29tcGlsZUVycm9yID0gc3RkOjptb3ZlKGVyci5nZXQoKSk7CiAgICAgbURlZmF1
bHRTaGFkZXJzQXN5bmNJbmZvLT5jb21waWxlZCA9IHRydWU7Ci0KICNlbHNlCiAgICAgbURlZmF1
bHRTaGFkZXJzQXN5bmNJbmZvLnJlc2V0KG5ldyBEZWZhdWx0U2hhZGVyQXN5bmNJbmZvTXRsKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRl
cmVyL21ldGFsL210bF91dGlscy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5oCmluZGV4IGQyNzNkNDgxMzA2NTE2YjhjOGU3
ZmYzYzFhZTFmYmZiZjRkNTM3ZTMuLjJlZDVmNWMyYjkyMDRjNjk0NmJkZjY3MzY0MWY5YmY1MWUz
ODllMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9tZXRhbC9tdGxfdXRpbHMuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3V0aWxzLmgKQEAgLTEwNSw3ICsxMDUsNiBA
QCBBdXRvT2JqQ1B0cjxpZDxNVExMaWJyYXJ5Pj4gQ3JlYXRlU2hhZGVyTGlicmFyeShpZDxNVExE
ZXZpY2U+IG1ldGFsRGV2aWNlLAogQXV0b09iakNQdHI8aWQ8TVRMTGlicmFyeT4+IENyZWF0ZVNo
YWRlckxpYnJhcnlGcm9tQmluYXJ5KGlkPE1UTERldmljZT4gbWV0YWxEZXZpY2UsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dWludDhfdCAqYmluYXJ5U291cmNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBiaW5hcnlTb3VyY2VMZW4sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlNEaWN0
aW9uYXJ5PE5TU3RyaW5nICosIE5TT2JqZWN0ICo+ICogc3Vic3RpdHV0aW9uRGljdGlvbmFyeSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBBdXRvT2JqQ1B0cjxOU0Vycm9yICo+ICplcnJvcik7CiAKIGJvb2wgU3VwcG9ydHNJT1NHUFVG
YW1pbHkoaWQ8TVRMRGV2aWNlPiBkZXZpY2UsIHVpbnQ4X3QgaU9TRmFtaWx5KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9z
aGFkZXJzL2NyZWF0ZV9tdGxfaW50ZXJuYWxfc2hhZGVycy5weSBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9zaGFkZXJzL2NyZWF0ZV9tdGxfaW50
ZXJuYWxfc2hhZGVycy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZjZlM2MyMzEyMzA5NDMxODVmMWNhZWYwOTIz
MDBlNzMwNDdmNzRjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL3NoYWRlcnMvY3JlYXRlX210bF9pbnRlcm5hbF9z
aGFkZXJzLnB5CkBAIC0wLDAgKzEsODAgQEAKKyMhL3Vzci9iaW4vcHl0aG9uCisjIENvcHlyaWdo
dCAyMDIxIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisj
IFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vu
c2UgdGhhdCBjYW4gYmUKKyMgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKyMKKyMgY3JlYXRl
X210bF9pbnRlcm5hbF9zaGFkZXJzLnB5OgorIyAgIFNjcmlwdCB0byBjb21waWxlIGEgbWV0YWxM
aWIgaW50byBOU0RhdGEsIGZvciBpbmNsdWRpbmcgdGhlIGNvbXBpbGRlZAorIyAgICAgICBsaWJy
YXJ5IGluIHRoZSBBTkdMRSBkeWxpYi4KKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQg
anNvbgorZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUKKworc3lzLnBhdGguYXBwZW5kKCcu
Li8uLicpCisKK3RlbXBsYXRlX2hlYWRlcl9ib2lsZXJwbGF0ZSA9ICIiIi8vIEdFTkVSQVRFRCBG
SUxFIC0gRE8gTk9UIEVESVQuCisvLyBHZW5lcmF0ZWQgYnkge3NjcmlwdF9uYW1lfQorLy8KKy8v
IENvcHlyaWdodCB7Y29weXJpZ2h0X3llYXJ9IFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5l
ZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorLy8KKyIiIgorCisKKyMgQ29udmVydCBjb250ZW50IG9mIGEgZmlsZSB0byBi
eXRlIGFycmF5IGFuZCBzdG9yZSBpbiBhIGhlYWRlciBmaWxlLgorIyB2YXJpYWJsZV9uYW1lOiBu
YW1lIG9mIEMrKyB2YXJpYWJsZSB0aGF0IHdpbGwgaG9sZCB0aGUgZmlsZSBjb250ZW50IGFzIGJ5
dGUgYXJyYXkuCisjIGZpbGVuYW1lOiB0aGUgZmlsZSB3aG9zZSBjb250ZW50IHdpbGwgYmUgY29u
dmVydGVkIHRvIEMrKyBieXRlIGFycmF5LgorIyBkZXN0X3NyY19maWxlOiBkZXN0aW5hdGlvbiBo
ZWFkZXIgZmlsZSB0aGF0IHdpbGwgY29udGFpbiB0aGUgYnl0ZSBhcnJheS4KK2RlZiBhcHBlbmRf
ZmlsZV9hc19ieXRlX2FycmF5X3N0cmluZyh2YXJpYWJsZV9uYW1lLCBmaWxlbmFtZSwgZGVzdF9z
cmNfZmlsZSk6CisgICAgc3RyaW5nID0gJy8vIEdlbmVyYXRlZCBmcm9tIHswfTpcbicuZm9ybWF0
KGZpbGVuYW1lKQorICAgIHN0cmluZyArPSAnY29uc3RleHByIHVpbnQ4X3QgezB9W109e3tcbicu
Zm9ybWF0KHZhcmlhYmxlX25hbWUpCisgICAgYnl0ZXNfID0gb3BlbihmaWxlbmFtZSwgInJiIiku
cmVhZCgpCisgICAgZm9yIGJ5dGUgaW4gYnl0ZXNfOgorICAgICAgICBzdHJpbmcgKz0gJzB4ezow
Mnh9Jy5mb3JtYXQob3JkKGJ5dGUpKSArICIsICIKKyAgICBzdHJpbmcgKz0gIlxufTtcbiIKKyAg
ICB3aXRoIG9wZW4oZGVzdF9zcmNfZmlsZSwgImEiKSBhcyBvdXRfZmlsZToKKyAgICAgICAgb3V0
X2ZpbGUud3JpdGUoc3RyaW5nKQorICAgICAgICAKKworCisjIENvbXBpbGUgbWV0YWwgc2hhZGVy
LgorIyBjb21waWxlZF9maWxlOiBUaGUgY29tcGlsZWQgbWV0YWxsaWIKKyMgdmFyaWFibGVfbmFt
ZTogbmFtZSBvZiBDKysgdmFyaWFibGUgdGhhdCB3aWxsIGhvbGQgdGhlIGNvbXBpbGVkIGJpbmFy
eSBkYXRhIGFzIGEgQyBhcnJheS4KKyMgYWRkaXRpb25hbF9mbGFnczogYWRkaXRpb25hbCBzaGFk
ZXIgY29tcGlsZXIgZmxhZ3MKKyMgc3JjX2ZpbGVzOiBtZXRhbCBzb3VyY2UgZmlsZXMKK2RlZiBn
ZW5fcHJlY29tcGlsZWRfc2hhZGVycyhjb21waWxlZF9maWxlLCB2YXJpYWJsZV9uYW1lLCBvdXRw
dXRfZmlsZSk6CisgICAgYXBwZW5kX2ZpbGVfYXNfYnl0ZV9hcnJheV9zdHJpbmcodmFyaWFibGVf
bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21waWxlZF9maWxl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9maWxlKQorICAg
IG9zLnN5c3RlbSgnZWNobyAiY29uc3RleHByIHNpemVfdCB7MH1fbGVuPXNpemVvZih7MH0pOyIg
Pj4gXCJ7MX1cIicKKyAgICAgICAgICAgICAgLmZvcm1hdCh2YXJpYWJsZV9uYW1lLCBvdXRwdXRf
ZmlsZSkpCisKK2RlZiBtYWluKCk6CisgICAgaW5wdXRfZmlsZSA9IHN5cy5hcmd2WzFdCisgICAg
b3V0cHV0X2ZpbGUgPSBzeXMuYXJndlsyXQorICAgIG9zLmNoZGlyKHN5cy5wYXRoWzBdKQorICAg
IAorICAgIGJvaWxlcnBsYXRlX2NvZGUgPSB0ZW1wbGF0ZV9oZWFkZXJfYm9pbGVycGxhdGUuZm9y
bWF0KAorICAgICAgICBzY3JpcHRfbmFtZT1zeXMuYXJndlswXSwgY29weXJpZ2h0X3llYXI9ZGF0
ZXRpbWUudG9kYXkoKS55ZWFyKQorCisgICAgIyAtLS0tLS0tLSBDb21waWxlIHNoYWRlcnMgLS0t
LS0tLS0tLS0KKyAgICAjIGJvaWxlciBwbGF0ZSBjb2RlCisgICAgcHJpbnQoImVjaG8gXCJ7MH1c
IiA+IFwiezF9XCIiLmZvcm1hdChib2lsZXJwbGF0ZV9jb2RlLCBvdXRwdXRfZmlsZSkpCisgICAg
b3Muc3lzdGVtKCJlY2hvIFwiezB9XCIgPiBcInsxfVwiIi5mb3JtYXQoYm9pbGVycGxhdGVfY29k
ZSwgb3V0cHV0X2ZpbGUpKQorICAgIG9zLnN5c3RlbSgKKyAgICAgICAgJ2VjaG8gIi8vIENvbXBp
bGVkIGJpbmFyeSBmb3IgTWV0YWwgZGVmYXVsdCBzaGFkZXJzLlxuXG4iID4+ICBcInswfVwiJy5m
b3JtYXQob3V0cHV0X2ZpbGUpCisgICAgKQorICAgIG9zLnN5c3RlbSgnZWNobyAiI2luY2x1ZGUg
PFRhcmdldENvbmRpdGlvbmFscy5oPlxuXG4iID4+ICBcInswfVwiJy5mb3JtYXQob3V0cHV0X2Zp
bGUpKQorCisgICAgb3Muc3lzdGVtKCdlY2hvICIvLyBjbGFuZy1mb3JtYXQgb2ZmIiA+PiBcInsw
fVwiJy5mb3JtYXQob3V0cHV0X2ZpbGUpKQorICAgIAorICAgIGdlbl9wcmVjb21waWxlZF9zaGFk
ZXJzKGlucHV0X2ZpbGUsICdnTWV0YWxCaW5hcnlTaGFkZXJzJywgb3V0cHV0X2ZpbGUpCisKKyAg
ICBvcy5zeXN0ZW0oJ2VjaG8gIi8vIGNsYW5nLWZvcm1hdCBvbiIgPj4gXCJ7MH1cIicuZm9ybWF0
KG91dHB1dF9maWxlKSkKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHN5cy5l
eGl0KG1haW4oKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433631</attachid>
            <date>2021-07-15 15:55:36 -0700</date>
            <delta_ts>2021-07-15 21:49:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227333-20210715155536.patch</filename>
            <type>text/plain</type>
            <size>22020</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5OTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggOWUxZGQ0ZTE5ZWExODU3NzU4MzI1ZjM0ZjIxZWY1YjBkMjVhNTI0OC4uOTQwNTBjOTQwNjY0
Yjg4YWFkY2YwZGI0MzAzYzhhNzViOGE2YWYwZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA3LTE0ICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVpbGQgRGVmYXVsdCBNZXRhbCBsaWJyYXJ5IG9m
ZmxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NzMzMworCisgICAgICAgIDxyZGFyOi8vNzk5MjMzNzE+CisKKyAgICAgICAgVGhpcyBwYXRjaCBj
b21waWxlcyBhbmQgY3JlYXRlcyBhIE1ldGFsIGxpYnJhcnkgYXQgYnVpbGQgdGltZSwgc3Rvcmlu
ZworICAgICAgICB0aGUgbGlicmFyeSBhcyBhIGNvbXBpbGVkIGJpbmFyeSBmaWxlLiBUaGlzIGxp
YnJhcnkgaXMgYmFrZWQgaW50byB0aGUgZHlsaWIsIAorICAgICAgICBhbmQgaXMgbG9hZGVkIGF0
IGNvbnRleHQgY3JlYXRpb24gdGltZS4KKworICAgICAgICBVbmxpa2UgdGhlIHByZXZpb3VzIHZl
cnNpb24gb2YgdGhpcyBwYXRjaCwgdGhpcyBwYXRjaCBkb2VzIG5vdCBzYXZlIG9yIHN0b3JlIHRo
ZSAubWV0YWxsaWIgb24gZGlzaywgYnV0IHJhdGhlcgorICAgICAgICBiYWtlcyBpdCBpbnRvIGEg
YmluYXJ5LgorICAgICAgICAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiAuZ2l0aWdub3JlOgorICAgICAgICAqIEFOR0xFLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvQU5HTEUtZHluYW1pYy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbToK
KyAgICAgICAgKHJ4OjpEaXNwbGF5TXRsOjppbml0aWFsaXplU2hhZGVyTGlicmFyeSk6CisgICAg
ICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5oOgorCiAyMDIxLTA3
LTEzICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGluZ3RvbkBhcHBsZS5jb20+CiAKICAgICAgICAg
ckFGIGRyaXZlbiBXZWJHTCBzdWJtaXRzIGV4Y2Vzc2l2ZSBhbW91bnQgb2YgR1BVIHdvcmsgd2hl
biBmcmFtZXMgYXJlIHNsb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFLy5n
aXRpZ25vcmUgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS8uZ2l0aWdub3JlCmluZGV4IGM4Yzli
NmNmZjY2YTljMDJhM2E4ZDkyOGU3M2RlM2JlNGMyZjlkNDYuLjQ3YWVkMzc0YzU1N2JiMjk5ZTZl
NzViN2I3N2Y4NDVmMzczNzM1NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
Ly5naXRpZ25vcmUKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvLmdpdGlnbm9yZQpAQCAt
MjgsNiArMjgsNyBAQAogLmdjbGllbnRfZW50cmllcwogLmdpdF9jbF9kZXNjcmlwdGlvbl9iYWNr
dXAKIC9zcmMvdGVzdHMvdGhpcmRfcGFydHkvZ2xlc19jb25mb3JtYW5jZV90ZXN0cworL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci9tZXRhbC9zaGFkZXJzL2NvbXBpbGVkL210bF9kZWZhdWx0X3NoYWRl
cnNfY29tcGlsZWQuaW5jCiAvdGVzdGluZwogL3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAKIC90aGly
ZF9wYXJ0eS9hbmRyb2lkX25kawpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
QU5HTEUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L0FOR0xFLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWQ5ZmJiYTliNGQ5YjQwMTUy
NDE1MTJlMzRhMmJkN2U5MjMwODhlNC4uODM4ZjY0N2ZhMjhhNGRkNWRiYzlmMDVhM2NkMTdmMjlh
NzJjZmY1NiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9BTkdMRS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04MzgsNiArODM4LDEzIEBACiAJCUZGMkQyRjU1
MjVDOEIxNEEwMDJGQjY5OSAvKiBGaXhUeXBlQ29uc3RydWN0b3JzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRjJEMkY1MjI1QzhCMTRBMDAyRkI2OTkg
LyogRml4VHlwZUNvbnN0cnVjdG9ycy5oICovOyB9OwogCQlGRjU4MkUxNjI2NTQ0RkM0MDA2REE1
QjggLyogUHJvdm9raW5nVmVydGV4SGVscGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkY1ODJFMTQyNjU0NEZDNDAwNkRBNUI4IC8qIFByb3Zva2lu
Z1ZlcnRleEhlbHBlci5tbSAqLzsgfTsKIAkJRkY1ODJFMTcyNjU0NEZDNDAwNkRBNUI4IC8qIFBy
b3Zva2luZ1ZlcnRleEhlbHBlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRkY1ODJFMTUyNjU0NEZDNDAwNkRBNUI4IC8qIFByb3Zva2luZ1ZlcnRleEhl
bHBlci5oICovOyB9OworCQlGRkRBNTBDQzI2OUY4NDgyMDBBRTExRTIgLyogYmxpdC5tZXRhbCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFGRUFBMjU4
MThENjgwMDg5NEUyNCAvKiBibGl0Lm1ldGFsICovOyB9OworCQlGRkRBNTBDRDI2OUY4NDgyMDBB
RTExRTIgLyogY2xlYXIubWV0YWwgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGRjgxRkVCMTI1ODE4RDY4MDA4OTRFMjQgLyogY2xlYXIubWV0YWwgKi87IH07
CisJCUZGREE1MENFMjY5Rjg0ODIwMEFFMTFFMiAvKiBjb3B5X2J1ZmZlci5tZXRhbCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFGRUFGMjU4MThENjgw
MDg5NEUyNCAvKiBjb3B5X2J1ZmZlci5tZXRhbCAqLzsgfTsKKwkJRkZEQTUwQ0YyNjlGODQ4MjAw
QUUxMUUyIC8qIGdlbl9pbmRpY2VzLm1ldGFsIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkY4MUZFQjMyNTgxOEQ2ODAwODk0RTI0IC8qIGdlbl9pbmRpY2Vz
Lm1ldGFsICovOyB9OworCQlGRkRBNTBEMDI2OUY4NDgyMDBBRTExRTIgLyogZ2VuX21pcG1hcC5t
ZXRhbCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFG
RUIyMjU4MThENjgwMDg5NEUyNCAvKiBnZW5fbWlwbWFwLm1ldGFsICovOyB9OworCQlGRkRBNTBE
MTI2OUY4NDgyMDBBRTExRTIgLyogcmV3cml0ZV9pbmRpY2VzLm1ldGFsIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY1ODJFMTgyNjU0NEZFNTAwNkRBNUI4
IC8qIHJld3JpdGVfaW5kaWNlcy5tZXRhbCAqLzsgfTsKKwkJRkZEQTUwRDIyNjlGODQ4MjAwQUUx
MUUyIC8qIHZpc2liaWxpdHkubWV0YWwgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGRjgxRkVBQjI1ODE4RDY4MDA4OTRFMjQgLyogdmlzaWJpbGl0eS5tZXRh
bCAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhC
dWlsZFJ1bGUgc2VjdGlvbiAqLwpAQCAtODY0LDYgKzg3MSwxMyBAQAogCQkJcmVtb3RlR2xvYmFs
SURTdHJpbmcgPSAzMUNERkRGMzI0OTE4MTlFMDA0ODZGMjc7CiAJCQlyZW1vdGVJbmZvID0gIkFO
R0xFIChkeW5hbWljKSI7CiAJCX07CisJCUZGREE1MEQzMjY5Rjg0QTAwMEFFMTFFMiAvKiBQQlhD
b250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7
CisJCQljb250YWluZXJQb3J0YWwgPSBGQjM5RDA3MDEyMDBFRDkyMDAwODhFNjkgLyogUHJvamVj
dCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcg
PSBGRkRBNTBDNDI2OUY4NDUxMDBBRTExRTI7CisJCQlyZW1vdGVJbmZvID0gQU5HTEVNZXRhbExp
YjsKKwkJfTsKIC8qIEVuZCBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLwogCiAvKiBC
ZWdpbiBQQlhDb3B5RmlsZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTE4MTMsNiArMTgyNyw4
IEBACiAJCUZGODFGRjlBMjU4MUEzQzIwMDg5NEUyNCAvKiBJbnRlcm1SZWJ1aWxkLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludGVybVJlYnVpbGQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRkZBMEMyQzUyNUNCNkE3NjAwMTA1MzA2IC8qIE5hbWVFbWJlZGRl
ZFVuaWZvcm1TdHJ1Y3RzTWV0YWwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTmFtZUVtYmVkZGVkVW5pZm9ybVN0cnVjdHNNZXRhbC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUZGQTBDMkM2MjVDQjZBNzcwMDEwNTMwNiAvKiBOYW1lRW1iZWRkZWRV
bmlmb3JtU3RydWN0c01ldGFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5h
bWVFbWJlZGRlZFVuaWZvcm1TdHJ1Y3RzTWV0YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRkZEQTUwRDYyNjlGOUU1ODAwQUUxMUUyIC8qIGNyZWF0ZV9tdGxfaW50ZXJuYWxfc2hh
ZGVycy5weSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9IGNyZWF0ZV9tdGxf
aW50ZXJuYWxfc2hhZGVycy5weTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkZFMEQ5
MTUyNkEwQjRFODAwNzFBREFFIC8qIEFuZ2xlTWV0YWxMaWIueGNjb25maWcgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRo
ID0gQW5nbGVNZXRhbExpYi54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIC8q
IEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYRnJhbWV3b3Jr
c0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpAQCAtMjc2OSw2ICsyNzg1LDcgQEAKIAkJCWNoaWxkcmVu
ID0gKAogCQkJCTMxQ0RGREVFMjQ5MTdGODkwMDQ4NkYyNyAvKiBBTkdMRS1keW5hbWljLnhjY29u
ZmlnICovLAogCQkJCTMxQ0RGREVGMjQ5MTdGODkwMDQ4NkYyNyAvKiBBTkdMRS1zdGF0aWMueGNj
b25maWcgKi8sCisJCQkJRkZFMEQ5MTUyNkEwQjRFODAwNzFBREFFIC8qIEFuZ2xlTWV0YWxMaWIu
eGNjb25maWcgKi8sCiAJCQkJNUQ3QzU5QzYxMjA4QzY4QjAwMUM4NzNFIC8qIEJhc2UueGNjb25m
aWcgKi8sCiAJCQkJNUQ3QzU5QzcxMjA4QzY4QjAwMUM4NzNFIC8qIERlYnVnUmVsZWFzZS54Y2Nv
bmZpZyAqLywKIAkJCQlBMUI4OUI4OTIyMUUwMDNBMDBFQjRDRUEgLyogU0RLVmFyaWFudC54Y2Nv
bmZpZyAqLywKQEAgLTMwNTYsNiArMzA3Myw3IEBACiAJCQkJRkY4MUZFQUQyNTgxOEQ2ODAwODk0
RTI0IC8qIGNvbW1vbi5oICovLAogCQkJCUZGODFGRUFDMjU4MThENjgwMDg5NEUyNCAvKiBjb25z
dGFudHMuaCAqLywKIAkJCQlGRjgxRkVBRjI1ODE4RDY4MDA4OTRFMjQgLyogY29weV9idWZmZXIu
bWV0YWwgKi8sCisJCQkJRkZEQTUwRDYyNjlGOUU1ODAwQUUxMUUyIC8qIGNyZWF0ZV9tdGxfaW50
ZXJuYWxfc2hhZGVycy5weSAqLywKIAkJCQlGRjgxRkVCMDI1ODE4RDY4MDA4OTRFMjQgLyogZm9y
bWF0X2F1dG9nZW4uaCAqLywKIAkJCQlGRjgxRkVCMzI1ODE4RDY4MDA4OTRFMjQgLyogZ2VuX2lu
ZGljZXMubWV0YWwgKi8sCiAJCQkJRkY4MUZFQjIyNTgxOEQ2ODAwODk0RTI0IC8qIGdlbl9taXBt
YXAubWV0YWwgKi8sCkBAIC0zNTcwLDYgKzM1ODgsNyBAQAogCQkJaXNhID0gUEJYTmF0aXZlVGFy
Z2V0OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDMxQ0RGREY1MjQ5MTgxOUUwMDQ4NkYy
NyAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiQU5HTEUg
KGR5bmFtaWMpIiAqLzsKIAkJCWJ1aWxkUGhhc2VzID0gKAorCQkJCUZGREE1MEQ1MjY5Rjg5NTQw
MEFFMTFFMiAvKiBTaGVsbFNjcmlwdCAqLywKIAkJCQkzMUNERkRGMDI0OTE4MTlFMDA0ODZGMjcg
LyogSGVhZGVycyAqLywKIAkJCQkzMUNERkRGMTI0OTE4MTlFMDA0ODZGMjcgLyogU291cmNlcyAq
LywKIAkJCQkzMUNERkRGMjI0OTE4MTlFMDA0ODZGMjcgLyogRnJhbWV3b3JrcyAqLywKQEAgLTM1
ODEsMTIgKzM2MDAsMjcgQEAKIAkJCQkzMUE5RTlBMDI0OUFBMDQyMDBDN0UyNDMgLyogUEJYQnVp
bGRSdWxlICovLAogCQkJKTsKIAkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCQlGRkRBNTBENDI2OUY4
NEEwMDBBRTExRTIgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCSk7CiAJCQluYW1lID0g
IkFOR0xFIChkeW5hbWljKSI7CiAJCQlwcm9kdWN0TmFtZSA9ICJBTkdMRSAoZHluYW1pYykiOwog
CQkJcHJvZHVjdFJlZmVyZW5jZSA9IDMxQ0RGREY0MjQ5MTgxOUUwMDQ4NkYyNyAvKiBsaWJBTkdM
RS1zaGFyZWQuZHlsaWIgKi87CiAJCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10
eXBlLmxpYnJhcnkuZHluYW1pYyI7CiAJCX07CisJCUZGREE1MEM0MjY5Rjg0NTEwMEFFMTFFMiAv
KiBBTkdMRU1ldGFsTGliICovID0geworCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OworCQkJYnVp
bGRDb25maWd1cmF0aW9uTGlzdCA9IEZGREE1MENCMjY5Rjg0NTEwMEFFMTFFMiAvKiBCdWlsZCBj
b25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiQU5HTEVNZXRhbExpYiIgKi87
CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQlGRkRBNTBDMzI2OUY4NDUxMDBBRTExRTIgLyogU291
cmNlcyAqLywKKwkJCSk7CisJCQlidWlsZFJ1bGVzID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2ll
cyA9ICgKKwkJCSk7CisJCQluYW1lID0gQU5HTEVNZXRhbExpYjsKKwkJCXByb2R1Y3ROYW1lID0g
QU5HTEVNZXRhbExpYjsKKwkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUu
bWV0YWwtbGlicmFyeSI7CisJCX07CiAvKiBFbmQgUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8K
IAogLyogQmVnaW4gUEJYUHJvamVjdCBzZWN0aW9uICovCkBAIC0zNjA0LDYgKzM2MzgsMTAgQEAK
IAkJCQkJCUNyZWF0ZWRPblRvb2xzVmVyc2lvbiA9IDEyLjA7CiAJCQkJCQlQcm92aXNpb25pbmdT
dHlsZSA9IEF1dG9tYXRpYzsKIAkJCQkJfTsKKwkJCQkJRkZEQTUwQzQyNjlGODQ1MTAwQUUxMUUy
ID0geworCQkJCQkJQ3JlYXRlZE9uVG9vbHNWZXJzaW9uID0gMTMuMDsKKwkJCQkJCVByb3Zpc2lv
bmluZ1N0eWxlID0gQXV0b21hdGljOworCQkJCQl9OwogCQkJCX07CiAJCQl9OwogCQkJYnVpbGRD
b25maWd1cmF0aW9uTGlzdCA9IEZCMzlEMDczMTIwMEVEOTIwMDA4OEU2OSAvKiBCdWlsZCBjb25m
aWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIkFOR0xFIiAqLzsKQEAgLTM2MjAsNiArMzY1
OCw3IEBACiAJCQl0YXJnZXRzID0gKAogCQkJCTMxREI3OTRGMjQ5MUMzMzMwMDk4Mjg3OCAvKiBB
TkdMRSAqLywKIAkJCQkzMUNERkRGMzI0OTE4MTlFMDA0ODZGMjcgLyogQU5HTEUgKGR5bmFtaWMp
ICovLAorCQkJCUZGREE1MEM0MjY5Rjg0NTEwMEFFMTFFMiAvKiBBTkdMRU1ldGFsTGliICovLAog
CQkJKTsKIAkJfTsKIC8qIEVuZCBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KQEAgLTM2NDMsNiArMzY4
MiwyNSBAQAogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKIAkJCXNoZWxsU2NyaXB0ID0gImlmIFsg
XCIke1hDT0RFX1ZFUlNJT05fQUNUVUFMfVwiIC1nZSBcIjExNDBcIiAtYSBcIiR7V0tfVVNFX05F
V19CVUlMRF9TWVNURU19XCIgPSBcIllFU1wiIF07IHRoZW5cbiAgICAjIEluIHRoaXMgY29uZmln
dXJhdGlvbiwgcG9zdC1wcm9jZXNzaW5nIGlzIHBlcmZvcm1lZCBhdCB0aGUgc2FtZSB0aW1lIGFz
IGNvcHlpbmcgaW4gdGhlIHBvc3Rwcm9jZXNzLWhlYWRlci1ydWxlIHNjcmlwdCwgc28gdGhlcmUn
cyBubyBuZWVkIGZvciB0aGlzIHNlcGFyYXRlIHN0ZXAuXG4gICAgZXhpdCAwXG5maVxuXG5leGVj
IFwiJFNSQ1JPT1QvYWRqdXN0LWFuZ2xlLWluY2x1ZGUtcGF0aHMucHlcIlxuIjsKIAkJfTsKKwkJ
RkZEQTUwRDUyNjlGODk1NDAwQUUxMUUyIC8qIFNoZWxsU2NyaXB0ICovID0geworCQkJaXNhID0g
UEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0
NzsKKwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCWlucHV0RmlsZUxpc3RQYXRocyA9ICgKKwkJCSk7
CisJCQlpbnB1dFBhdGhzID0gKAorCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvQU5HTEVNZXRh
bExpYi5tZXRhbGxpYiIsCisJCQkpOworCQkJb3V0cHV0RmlsZUxpc3RQYXRocyA9ICgKKwkJCSk7
CisJCQlvdXRwdXRQYXRocyA9ICgKKwkJCQkiJChERVJJVkVEX0ZJTEVfRElSKS9tdGxfZGVmYXVs
dF9zaGFkZXJzX2NvbXBpbGVkLmluYyIsCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CisJCQlzaGVsbFBhdGggPSAvYmluL3NoOworCQkJc2hlbGxTY3Jp
cHQgPSAiZWNobyBweXRob24gXCIke1NSQ1JPT1R9L3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRh
bC9zaGFkZXJzL2NyZWF0ZV9tdGxfaW50ZXJuYWxfc2hhZGVycy5weVwiIFwiJFNDUklQVF9JTlBV
VF9GSUxFXzBcIiBcIiRTQ1JJUFRfT1VUUFVUX0ZJTEVfMFwiXG5weXRob24gXCIke1NSQ1JPT1R9
L3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9zaGFkZXJzL2NyZWF0ZV9tdGxfaW50ZXJuYWxf
c2hhZGVycy5weVwiIFwiJFNDUklQVF9JTlBVVF9GSUxFXzBcIiBcIiRTQ1JJUFRfT1VUUFVUX0ZJ
TEVfMFwiXG5ybSBcIiR7U0NSSVBUX0lOUFVUX0ZJTEVfMH1cIlxuIjsKKwkJfTsKIC8qIEVuZCBQ
QlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhTb3VyY2Vz
QnVpbGRQaGFzZSBzZWN0aW9uICovCkBAIC00MDUzLDYgKzQxMTEsMjAgQEAKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKKwkJRkZEQTUwQzMy
NjlGODQ1MTAwQUUxMUUyIC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVp
bGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgK
KwkJCQlGRkRBNTBDQzI2OUY4NDgyMDBBRTExRTIgLyogYmxpdC5tZXRhbCBpbiBTb3VyY2VzICov
LAorCQkJCUZGREE1MENEMjY5Rjg0ODIwMEFFMTFFMiAvKiBjbGVhci5tZXRhbCBpbiBTb3VyY2Vz
ICovLAorCQkJCUZGREE1MENFMjY5Rjg0ODIwMEFFMTFFMiAvKiBjb3B5X2J1ZmZlci5tZXRhbCBp
biBTb3VyY2VzICovLAorCQkJCUZGREE1MENGMjY5Rjg0ODIwMEFFMTFFMiAvKiBnZW5faW5kaWNl
cy5tZXRhbCBpbiBTb3VyY2VzICovLAorCQkJCUZGREE1MEQwMjY5Rjg0ODIwMEFFMTFFMiAvKiBn
ZW5fbWlwbWFwLm1ldGFsIGluIFNvdXJjZXMgKi8sCisJCQkJRkZEQTUwRDEyNjlGODQ4MjAwQUUx
MUUyIC8qIHJld3JpdGVfaW5kaWNlcy5tZXRhbCBpbiBTb3VyY2VzICovLAorCQkJCUZGREE1MEQy
MjY5Rjg0ODIwMEFFMTFFMiAvKiB2aXNpYmlsaXR5Lm1ldGFsIGluIFNvdXJjZXMgKi8sCisJCQkp
OworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAvKiBF
bmQgUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhUYXJnZXRE
ZXBlbmRlbmN5IHNlY3Rpb24gKi8KQEAgLTQwNjEsNiArNDEzMywxMSBAQAogCQkJdGFyZ2V0ID0g
MzFDREZERjMyNDkxODE5RTAwNDg2RjI3IC8qIEFOR0xFIChkeW5hbWljKSAqLzsKIAkJCXRhcmdl
dFByb3h5ID0gMzFEQjc5NTYyNDkxQzM1NDAwOTgyODc4IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94
eSAqLzsKIAkJfTsKKwkJRkZEQTUwRDQyNjlGODRBMDAwQUUxMUUyIC8qIFBCWFRhcmdldERlcGVu
ZGVuY3kgKi8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0g
RkZEQTUwQzQyNjlGODQ1MTAwQUUxMUUyIC8qIEFOR0xFTWV0YWxMaWIgKi87CisJCQl0YXJnZXRQ
cm94eSA9IEZGREE1MEQzMjY5Rjg0QTAwMEFFMTFFMiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkg
Ki87CisJCX07CiAvKiBFbmQgUEJYVGFyZ2V0RGVwZW5kZW5jeSBzZWN0aW9uICovCiAKIC8qIEJl
Z2luIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KQEAgLTQxMzEsNiArNDIwOCwyNyBA
QAogCQkJfTsKIAkJCW5hbWUgPSBSZWxlYXNlOwogCQl9OworCQlGRkRBNTBDODI2OUY4NDUxMDBB
RTExRTIgLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJ
CWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gRkZFMEQ5MTUyNkEwQjRFODAwNzFBREFFIC8q
IEFuZ2xlTWV0YWxMaWIueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsK
KwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJRkZEQTUwQzkyNjlGODQ1MTAwQUUxMUUyIC8qIFJl
bGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25m
aWd1cmF0aW9uUmVmZXJlbmNlID0gRkZFMEQ5MTUyNkEwQjRFODAwNzFBREFFIC8qIEFuZ2xlTWV0
YWxMaWIueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUg
PSBSZWxlYXNlOworCQl9OworCQlGRkRBNTBDQTI2OUY4NDUxMDBBRTExRTIgLyogUHJvZHVjdGlv
biAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3Vy
YXRpb25SZWZlcmVuY2UgPSBGRkUwRDkxNTI2QTBCNEU4MDA3MUFEQUUgLyogQW5nbGVNZXRhbExp
Yi54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFBy
b2R1Y3Rpb247CisJCX07CiAvKiBFbmQgWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLwog
CiAvKiBCZWdpbiBYQ0NvbmZpZ3VyYXRpb25MaXN0IHNlY3Rpb24gKi8KQEAgLTQxNjQsNiArNDI2
MiwxNiBAQAogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwogCQkJZGVmYXVs
dENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKIAkJfTsKKwkJRkZEQTUwQ0IyNjlGODQ1
MTAwQUUxMUUyIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0
ICJBTkdMRU1ldGFsTGliIiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJ
CQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCUZGREE1MEM4MjY5Rjg0NTEwMEFFMTFFMiAv
KiBEZWJ1ZyAqLywKKwkJCQlGRkRBNTBDOTI2OUY4NDUxMDBBRTExRTIgLyogUmVsZWFzZSAqLywK
KwkJCQlGRkRBNTBDQTI2OUY4NDUxMDBBRTExRTIgLyogUHJvZHVjdGlvbiAqLywKKwkJCSk7CisJ
CQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0Q29uZmlndXJh
dGlvbk5hbWUgPSBQcm9kdWN0aW9uOworCQl9OwogLyogRW5kIFhDQ29uZmlndXJhdGlvbkxpc3Qg
c2VjdGlvbiAqLwogCX07CiAJcm9vdE9iamVjdCA9IEZCMzlEMDcwMTIwMEVEOTIwMDA4OEU2OSAv
KiBQcm9qZWN0IG9iamVjdCAqLzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L0NvbmZpZ3VyYXRpb25zL0FOR0xFLWR5bmFtaWMueGNjb25maWcgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9Db25maWd1cmF0aW9ucy9BTkdMRS1keW5hbWljLnhjY29uZmlnCmluZGV4IDQyOGZl
ZjUxZDE5OWMwMTBjOWIyZDIxMzkxY2FmZGEwNzEwZTMwOTEuLjA4ZGIzODE0OGZlYzA5YjRiNzRm
ZjhiZGY5ZTc3NTEwMjcyMWFiODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L0NvbmZpZ3VyYXRpb25zL0FOR0xFLWR5bmFtaWMueGNjb25maWcKKysrIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQU5HTEUtZHluYW1pYy54Y2NvbmZpZwpAQCAtMjcs
NyArMjcsNyBAQCBEWUxJQl9JTlNUQUxMX05BTUVfQkFTRV9VU0VfQUxURVJOQVRFX0ZSQU1FV09S
S1NfRElSX1lFUyA9ICQoRFlMSUJfSU5TVEFMTF9OQU1FXwogRFlMSUJfSU5TVEFMTF9OQU1FX0JB
U0VfV0tfUkVMT0NBVEFCTEVfRlJBTUVXT1JLU18gPSAkKERZTElCX0lOU1RBTExfTkFNRV9CQVNF
KTsKIERZTElCX0lOU1RBTExfTkFNRV9CQVNFX1dLX1JFTE9DQVRBQkxFX0ZSQU1FV09SS1NfWUVT
ID0gQGxvYWRlcl9wYXRoLy4uLy4uLy4uLzsKIAotSEVBREVSX1NFQVJDSF9QQVRIUyA9IGluY2x1
ZGUgc3JjIHNyYy9jb21tb24vdGhpcmRfcGFydHkvbnVtZXJpY3MgdGhpcmRfcGFydHkvYmFzZSBz
cmMvY29tbW9uL3RoaXJkX3BhcnR5L2Jhc2UgdGhpcmRfcGFydHkvemxpYi9nb29nbGU7CitIRUFE
RVJfU0VBUkNIX1BBVEhTID0gaW5jbHVkZSBzcmMgc3JjL2NvbW1vbi90aGlyZF9wYXJ0eS9udW1l
cmljcyB0aGlyZF9wYXJ0eS9iYXNlIHNyYy9jb21tb24vdGhpcmRfcGFydHkvYmFzZSB0aGlyZF9w
YXJ0eS96bGliL2dvb2dsZSAke0RFUklWRURfRklMRVNfRElSfTsKIAogQU5HTEVfSEVBREVSU19G
T0xERVJfUEFUSCA9IC91c3IvbG9jYWwvaW5jbHVkZS9BTkdMRTsKIApAQCAtMzYsNyArMzYsNyBA
QCBQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSFtzZGs9bWFjb3N4Kl0gPSAkKFBVQkxJQ19IRUFE
RVJTX0ZPTERFUl9QQVRIXyQoV0tfUExBVAogUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhfbWFj
b3N4ID0gJChBTkdMRV9IRUFERVJTX0ZPTERFUl9QQVRIKTsKIFBVQkxJQ19IRUFERVJTX0ZPTERF
Ul9QQVRIX21hY2NhdGFseXN0ID0gJChXS19BTFRFUk5BVEVfRlJBTUVXT1JLU19ESVIpLyQoQU5H
TEVfSEVBREVSU19GT0xERVJfUEFUSCk7CiAKLUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMg
PSAkKERFQlVHX0RFRklORVMpIExJQkdMRVNWMl9JTVBMRU1FTlRBVElPTiBMSUJBTkdMRV9JTVBM
RU1FTlRBVElPTiBBTkdMRV9FTkFCTEVfT1BFTkdMIEFOR0xFX0VOQUJMRV9HTFNMIEFOR0xFX0VO
QUJMRV9FU1NMIEdMX1NJTEVOQ0VfREVQUkVDQVRJT04gR0xFU19TSUxFTkNFX0RFUFJFQ0FUSU9O
IEFOR0xFX0VOQUJMRV9NRVRBTDsKK0dDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAkKERF
QlVHX0RFRklORVMpIExJQkdMRVNWMl9JTVBMRU1FTlRBVElPTiBMSUJBTkdMRV9JTVBMRU1FTlRB
VElPTiBBTkdMRV9FTkFCTEVfT1BFTkdMIEFOR0xFX0VOQUJMRV9HTFNMIEFOR0xFX0VOQUJMRV9F
U1NMIEdMX1NJTEVOQ0VfREVQUkVDQVRJT04gR0xFU19TSUxFTkNFX0RFUFJFQ0FUSU9OIEFOR0xF
X0VOQUJMRV9NRVRBTCBBTkdMRV9NRVRBTF9YQ09ERV9CVUlMRFNfU0hBREVSUzsKIAogREVBRF9D
T0RFX1NUUklQUElORyA9IFlFUzsKIERFQURfQ09ERV9TVFJJUFBJTkdbY29uZmlnPURlYnVnXSA9
IE5POwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMv
QW5nbGVNZXRhbExpYi54Y2NvbmZpZyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3Vy
YXRpb25zL0FuZ2xlTWV0YWxMaWIueGNjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjFmYTIwZGM5YTIwMjc5
MzYyZGFlYjUwZWY2YzFmZDYyNTAxZmRlZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0FuZ2xlTWV0YWxMaWIueGNjb25maWcKQEAgLTAs
MCArMSwyNCBAQAorI2luY2x1ZGUgIlZlcnNpb24ueGNjb25maWciCisjaW5jbHVkZSAiV2ViS2l0
VGFyZ2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnIgorCitQUk9EVUNUX05BTUUgPSBBTkdMRU1ldGFs
TGliOworRVhFQ1VUQUJMRV9QUkVGSVggPSBsaWI7CitTS0lQX0lOU1RBTEwgPSBZRVMKKworSEVB
REVSX1NFQVJDSF9QQVRIUyA9IGluY2x1ZGUgc3JjIHNyYy9jb21tb24vdGhpcmRfcGFydHkvbnVt
ZXJpY3MgdGhpcmRfcGFydHkvYmFzZSBzcmMvY29tbW9uL3RoaXJkX3BhcnR5L2Jhc2UgdGhpcmRf
cGFydHkvemxpYi9nb29nbGU7CisKK0FOR0xFX0hFQURFUlNfRk9MREVSX1BBVEggPSAvdXNyL2xv
Y2FsL2luY2x1ZGUvQU5HTEU7CisKK1BVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIID0gJChBTkdM
RV9IRUFERVJTX0ZPTERFUl9QQVRIKTsKK1BVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIW3Nkaz1t
YWNvc3gqXSA9ICQoUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhfJChXS19QTEFURk9STV9OQU1F
KSk7CitQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSF9tYWNvc3ggPSAkKEFOR0xFX0hFQURFUlNf
Rk9MREVSX1BBVEgpOworUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhfbWFjY2F0YWx5c3QgPSAk
KFdLX0FMVEVSTkFURV9GUkFNRVdPUktTX0RJUikvJChBTkdMRV9IRUFERVJTX0ZPTERFUl9QQVRI
KTsKKworTVRMX0VOQUJMRV9ERUJVR19JTkZPID0gSU5DTFVERV9TT1VSQ0UKK01UTF9GQVNUX01B
VEggPSBZRVMKKworREVBRF9DT0RFX1NUUklQUElORyA9IFlFUzsKK0RFQURfQ09ERV9TVFJJUFBJ
TkdbY29uZmlnPURlYnVnXSA9IE5POworCitTVFJJUF9JTlNUQUxMRURfUFJPRFVDVCA9IFlFUzsK
K1NUUklQX0lOU1RBTExFRF9QUk9EVUNUW2NvbmZpZz1EZWJ1Z10gPSBOTzsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNw
bGF5TXRsLm1tIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVy
L21ldGFsL0Rpc3BsYXlNdGwubW0KaW5kZXggNzc4NmMwOGVjMzlmMWIyM2QzZTc2MTNlNjNhZDUz
YTE5NDUxYTRkNS4uZjdhZTQ4ODMxZjRlNzZjZTk4NTgzNTYzY2JlODZmYmZkOWZlNWM3YSAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21l
dGFsL0Rpc3BsYXlNdGwubW0KKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL21ldGFsL0Rpc3BsYXlNdGwubW0KQEAgLTIyLDggKzIyLDEzIEBACiAjaW5j
bHVkZSAibGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvU3luY010bC5oIgogI2luY2x1ZGUgImxpYkFO
R0xFL3JlbmRlcmVyL21ldGFsL210bF9jb21tb24uaCIKICNpbmNsdWRlICJsaWJBTkdMRS9yZW5k
ZXJlci9tZXRhbC9zaGFkZXJzL210bF9kZWZhdWx0X3NoYWRlcnNfc3JjX2F1dG9nZW4uaW5jIgor
I2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5oIgogI2luY2x1ZGUg
InBsYXRmb3JtL1BsYXRmb3JtLmgiCiAKKyNpZmRlZiBBTkdMRV9NRVRBTF9YQ09ERV9CVUlMRFNf
U0hBREVSUworI2luY2x1ZGUgIm10bF9kZWZhdWx0X3NoYWRlcnNfY29tcGlsZWQuaW5jIgorI2Vu
ZGlmCisKICNpbmNsdWRlICJFR0wvZWdsZXh0LmgiCiAKICNpZiBkZWZpbmVkKEFOR0xFX1BMQVRG
T1JNX01BQ09TKSB8fCBkZWZpbmVkKEFOR0xFX1BMQVRGT1JNX01BQ0NBVEFMWVNUKQpAQCAtOTkz
LDIzICs5OTgsMTYgQEAgYW5nbGU6OlJlc3VsdCBEaXNwbGF5TXRsOjppbml0aWFsaXplU2hhZGVy
TGlicmFyeSgpCiAjaWZkZWYgQU5HTEVfTUVUQUxfWENPREVfQlVJTERTX1NIQURFUlMKICAgICBt
RGVmYXVsdFNoYWRlcnNBc3luY0luZm8ucmVzZXQobmV3IERlZmF1bHRTaGFkZXJBc3luY0luZm9N
dGwpOwogCi0gICAgTlNTdHJpbmcgKnBhdGggPSBbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZp
ZXI6QCJjb20uYXBwbGUuV2ViS2l0Il0uYnVuZGxlUGF0aDsKLSAgICBOU0Vycm9yICplcnJvciA9
IG51bGxwdHI7Ci0gICAgbURlZmF1bHRTaGFkZXJzQXN5bmNJbmZvLT5kZWZhdWx0U2hhZGVycyA9
Ci0gICAgICAgIFtnZXRNZXRhbERldmljZSgpIG5ld0RlZmF1bHRMaWJyYXJ5V2l0aEJ1bmRsZTpb
TlNCdW5kbGUgYnVuZGxlV2l0aFBhdGg6cGF0aF0gZXJyb3I6JmVycm9yXTsKLQotICAgIGlmIChl
cnJvciAmJiAhbURlZmF1bHRTaGFkZXJzQXN5bmNJbmZvLT5kZWZhdWx0U2hhZGVycykKLSAgICB7
Ci0gICAgICAgIEFOR0xFX01UTF9PQkpDX1NDT1BFCi0gICAgICAgIHsKLSAgICAgICAgICAgIEVS
UigpIDw8ICJJbnRlcm5hbCBlcnJvcjogbmV3RGVmYXVsdExpYnJhcnlXaXRoQnVuZGxlIGZhaWxl
ZC4gIgotICAgICAgICAgICAgICAgICAgPDwgZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24uVVRG
OFN0cmluZzsKLSAgICAgICAgfQotICAgICAgICBtRGVmYXVsdFNoYWRlcnNBc3luY0luZm8tPmRl
ZmF1bHRTaGFkZXJzQ29tcGlsZUVycm9yID0gc3RkOjptb3ZlKGVycm9yKTsKLSAgICAgICAgcmV0
dXJuIGFuZ2xlOjpSZXN1bHQ6OlN0b3A7Ci0gICAgfQorICAgIGNvbnN0IHVpbnQ4X3QgKmNvbXBp
bGVkX3NoYWRlcl9iaW5hcnk7CisgICAgc2l6ZV90IGNvbXBpbGVkX3NoYWRlcl9iaW5hcnlfbGVu
OworICAgIGNvbXBpbGVkX3NoYWRlcl9iaW5hcnkgICAgID0gZ01ldGFsQmluYXJ5U2hhZGVyczsK
KyAgICBjb21waWxlZF9zaGFkZXJfYmluYXJ5X2xlbiA9IGdNZXRhbEJpbmFyeVNoYWRlcnNfbGVu
OworICAgIG10bDo6QXV0b09iakNQdHI8TlNFcnJvciAqPiBlcnIgPSBuaWw7CisgICAgbXRsOjpB
dXRvT2JqQ1B0cjxpZDxNVExMaWJyYXJ5Pj4gbURlZmF1bHRTaGFkZXJzID0gbXRsOjpDcmVhdGVT
aGFkZXJMaWJyYXJ5RnJvbUJpbmFyeShnZXRNZXRhbERldmljZSgpLCBjb21waWxlZF9zaGFkZXJf
YmluYXJ5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsZWRfc2hhZGVyX2JpbmFyeV9sZW4sICZlcnIp
OworICAgIG1EZWZhdWx0U2hhZGVyc0FzeW5jSW5mby0+ZGVmYXVsdFNoYWRlcnMgPSBzdGQ6Om1v
dmUobURlZmF1bHRTaGFkZXJzLmdldCgpKTsKKyAgICBtRGVmYXVsdFNoYWRlcnNBc3luY0luZm8t
PmRlZmF1bHRTaGFkZXJzQ29tcGlsZUVycm9yID0gc3RkOjptb3ZlKGVyci5nZXQoKSk7CiAgICAg
bURlZmF1bHRTaGFkZXJzQXN5bmNJbmZvLT5jb21waWxlZCA9IHRydWU7Ci0KICNlbHNlCiAgICAg
bURlZmF1bHRTaGFkZXJzQXN5bmNJbmZvLnJlc2V0KG5ldyBEZWZhdWx0U2hhZGVyQXN5bmNJbmZv
TXRsKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL21ldGFsL210bF91dGlscy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5oCmluZGV4IGQyNzNkNDgxMzA2NTE2
YjhjOGU3ZmYzYzFhZTFmYmZiZjRkNTM3ZTMuLjJlZDVmNWMyYjkyMDRjNjk0NmJkZjY3MzY0MWY5
YmY1MWUzODllMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfdXRpbHMuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3V0aWxzLmgKQEAgLTEwNSw3ICsx
MDUsNiBAQCBBdXRvT2JqQ1B0cjxpZDxNVExMaWJyYXJ5Pj4gQ3JlYXRlU2hhZGVyTGlicmFyeShp
ZDxNVExEZXZpY2U+IG1ldGFsRGV2aWNlLAogQXV0b09iakNQdHI8aWQ8TVRMTGlicmFyeT4+IENy
ZWF0ZVNoYWRlckxpYnJhcnlGcm9tQmluYXJ5KGlkPE1UTERldmljZT4gbWV0YWxEZXZpY2UsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdWludDhfdCAqYmluYXJ5U291cmNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBiaW5hcnlTb3VyY2VMZW4sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TlNEaWN0aW9uYXJ5PE5TU3RyaW5nICosIE5TT2JqZWN0ICo+ICogc3Vic3RpdHV0aW9uRGljdGlv
bmFyeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBBdXRvT2JqQ1B0cjxOU0Vycm9yICo+ICplcnJvcik7CiAKIGJvb2wgU3VwcG9ydHNJ
T1NHUFVGYW1pbHkoaWQ8TVRMRGV2aWNlPiBkZXZpY2UsIHVpbnQ4X3QgaU9TRmFtaWx5KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9t
ZXRhbC9zaGFkZXJzL2NyZWF0ZV9tdGxfaW50ZXJuYWxfc2hhZGVycy5weSBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9zaGFkZXJzL2NyZWF0ZV9t
dGxfaW50ZXJuYWxfc2hhZGVycy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZjZlM2MyMzEyMzA5NDMxODVmMWNh
ZWYwOTIzMDBlNzMwNDdmNzRjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL3NoYWRlcnMvY3JlYXRlX210bF9pbnRl
cm5hbF9zaGFkZXJzLnB5CkBAIC0wLDAgKzEsODAgQEAKKyMhL3Vzci9iaW4vcHl0aG9uCisjIENv
cHlyaWdodCAyMDIxIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisjIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxl
IGxpY2Vuc2UgdGhhdCBjYW4gYmUKKyMgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKyMKKyMg
Y3JlYXRlX210bF9pbnRlcm5hbF9zaGFkZXJzLnB5OgorIyAgIFNjcmlwdCB0byBjb21waWxlIGEg
bWV0YWxMaWIgaW50byBOU0RhdGEsIGZvciBpbmNsdWRpbmcgdGhlIGNvbXBpbGRlZAorIyAgICAg
ICBsaWJyYXJ5IGluIHRoZSBBTkdMRSBkeWxpYi4KKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitp
bXBvcnQganNvbgorZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUKKworc3lzLnBhdGguYXBw
ZW5kKCcuLi8uLicpCisKK3RlbXBsYXRlX2hlYWRlcl9ib2lsZXJwbGF0ZSA9ICIiIi8vIEdFTkVS
QVRFRCBGSUxFIC0gRE8gTk9UIEVESVQuCisvLyBHZW5lcmF0ZWQgYnkge3NjcmlwdF9uYW1lfQor
Ly8KKy8vIENvcHlyaWdodCB7Y29weXJpZ2h0X3llYXJ9IFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn
b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorLy8KKyIiIgorCisKKyMgQ29udmVydCBjb250ZW50IG9mIGEgZmls
ZSB0byBieXRlIGFycmF5IGFuZCBzdG9yZSBpbiBhIGhlYWRlciBmaWxlLgorIyB2YXJpYWJsZV9u
YW1lOiBuYW1lIG9mIEMrKyB2YXJpYWJsZSB0aGF0IHdpbGwgaG9sZCB0aGUgZmlsZSBjb250ZW50
IGFzIGJ5dGUgYXJyYXkuCisjIGZpbGVuYW1lOiB0aGUgZmlsZSB3aG9zZSBjb250ZW50IHdpbGwg
YmUgY29udmVydGVkIHRvIEMrKyBieXRlIGFycmF5LgorIyBkZXN0X3NyY19maWxlOiBkZXN0aW5h
dGlvbiBoZWFkZXIgZmlsZSB0aGF0IHdpbGwgY29udGFpbiB0aGUgYnl0ZSBhcnJheS4KK2RlZiBh
cHBlbmRfZmlsZV9hc19ieXRlX2FycmF5X3N0cmluZyh2YXJpYWJsZV9uYW1lLCBmaWxlbmFtZSwg
ZGVzdF9zcmNfZmlsZSk6CisgICAgc3RyaW5nID0gJy8vIEdlbmVyYXRlZCBmcm9tIHswfTpcbicu
Zm9ybWF0KGZpbGVuYW1lKQorICAgIHN0cmluZyArPSAnY29uc3RleHByIHVpbnQ4X3QgezB9W109
e3tcbicuZm9ybWF0KHZhcmlhYmxlX25hbWUpCisgICAgYnl0ZXNfID0gb3BlbihmaWxlbmFtZSwg
InJiIikucmVhZCgpCisgICAgZm9yIGJ5dGUgaW4gYnl0ZXNfOgorICAgICAgICBzdHJpbmcgKz0g
JzB4ezowMnh9Jy5mb3JtYXQob3JkKGJ5dGUpKSArICIsICIKKyAgICBzdHJpbmcgKz0gIlxufTtc
biIKKyAgICB3aXRoIG9wZW4oZGVzdF9zcmNfZmlsZSwgImEiKSBhcyBvdXRfZmlsZToKKyAgICAg
ICAgb3V0X2ZpbGUud3JpdGUoc3RyaW5nKQorICAgICAgICAKKworCisjIENvbXBpbGUgbWV0YWwg
c2hhZGVyLgorIyBjb21waWxlZF9maWxlOiBUaGUgY29tcGlsZWQgbWV0YWxsaWIKKyMgdmFyaWFi
bGVfbmFtZTogbmFtZSBvZiBDKysgdmFyaWFibGUgdGhhdCB3aWxsIGhvbGQgdGhlIGNvbXBpbGVk
IGJpbmFyeSBkYXRhIGFzIGEgQyBhcnJheS4KKyMgYWRkaXRpb25hbF9mbGFnczogYWRkaXRpb25h
bCBzaGFkZXIgY29tcGlsZXIgZmxhZ3MKKyMgc3JjX2ZpbGVzOiBtZXRhbCBzb3VyY2UgZmlsZXMK
K2RlZiBnZW5fcHJlY29tcGlsZWRfc2hhZGVycyhjb21waWxlZF9maWxlLCB2YXJpYWJsZV9uYW1l
LCBvdXRwdXRfZmlsZSk6CisgICAgYXBwZW5kX2ZpbGVfYXNfYnl0ZV9hcnJheV9zdHJpbmcodmFy
aWFibGVfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21waWxl
ZF9maWxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9maWxl
KQorICAgIG9zLnN5c3RlbSgnZWNobyAiY29uc3RleHByIHNpemVfdCB7MH1fbGVuPXNpemVvZih7
MH0pOyIgPj4gXCJ7MX1cIicKKyAgICAgICAgICAgICAgLmZvcm1hdCh2YXJpYWJsZV9uYW1lLCBv
dXRwdXRfZmlsZSkpCisKK2RlZiBtYWluKCk6CisgICAgaW5wdXRfZmlsZSA9IHN5cy5hcmd2WzFd
CisgICAgb3V0cHV0X2ZpbGUgPSBzeXMuYXJndlsyXQorICAgIG9zLmNoZGlyKHN5cy5wYXRoWzBd
KQorICAgIAorICAgIGJvaWxlcnBsYXRlX2NvZGUgPSB0ZW1wbGF0ZV9oZWFkZXJfYm9pbGVycGxh
dGUuZm9ybWF0KAorICAgICAgICBzY3JpcHRfbmFtZT1zeXMuYXJndlswXSwgY29weXJpZ2h0X3ll
YXI9ZGF0ZXRpbWUudG9kYXkoKS55ZWFyKQorCisgICAgIyAtLS0tLS0tLSBDb21waWxlIHNoYWRl
cnMgLS0tLS0tLS0tLS0KKyAgICAjIGJvaWxlciBwbGF0ZSBjb2RlCisgICAgcHJpbnQoImVjaG8g
XCJ7MH1cIiA+IFwiezF9XCIiLmZvcm1hdChib2lsZXJwbGF0ZV9jb2RlLCBvdXRwdXRfZmlsZSkp
CisgICAgb3Muc3lzdGVtKCJlY2hvIFwiezB9XCIgPiBcInsxfVwiIi5mb3JtYXQoYm9pbGVycGxh
dGVfY29kZSwgb3V0cHV0X2ZpbGUpKQorICAgIG9zLnN5c3RlbSgKKyAgICAgICAgJ2VjaG8gIi8v
IENvbXBpbGVkIGJpbmFyeSBmb3IgTWV0YWwgZGVmYXVsdCBzaGFkZXJzLlxuXG4iID4+ICBcInsw
fVwiJy5mb3JtYXQob3V0cHV0X2ZpbGUpCisgICAgKQorICAgIG9zLnN5c3RlbSgnZWNobyAiI2lu
Y2x1ZGUgPFRhcmdldENvbmRpdGlvbmFscy5oPlxuXG4iID4+ICBcInswfVwiJy5mb3JtYXQob3V0
cHV0X2ZpbGUpKQorCisgICAgb3Muc3lzdGVtKCdlY2hvICIvLyBjbGFuZy1mb3JtYXQgb2ZmIiA+
PiBcInswfVwiJy5mb3JtYXQob3V0cHV0X2ZpbGUpKQorICAgIAorICAgIGdlbl9wcmVjb21waWxl
ZF9zaGFkZXJzKGlucHV0X2ZpbGUsICdnTWV0YWxCaW5hcnlTaGFkZXJzJywgb3V0cHV0X2ZpbGUp
CisKKyAgICBvcy5zeXN0ZW0oJ2VjaG8gIi8vIGNsYW5nLWZvcm1hdCBvbiIgPj4gXCJ7MH1cIicu
Zm9ybWF0KG91dHB1dF9maWxlKSkKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAg
IHN5cy5leGl0KG1haW4oKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433654</attachid>
            <date>2021-07-15 21:50:00 -0700</date>
            <delta_ts>2021-07-15 23:49:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227333-20210715215000.patch</filename>
            <type>text/plain</type>
            <size>22109</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5OTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggOWUxZGQ0ZTE5ZWExODU3NzU4MzI1ZjM0ZjIxZWY1YjBkMjVhNTI0OC4uMmFlMjIzZjBmYmMw
ZWNhZGIwMjhkOWY2NjNmZDhhMDIxNDYwMThjYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA3LTE0ICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVpbGQgRGVmYXVsdCBNZXRhbCBsaWJyYXJ5IG9m
ZmxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NzMzMworCisgICAgICAgIDxyZGFyOi8vNzk5MjMzNzE+CisKKyAgICAgICAgVGhpcyBwYXRjaCBj
b21waWxlcyBhbmQgY3JlYXRlcyBhIE1ldGFsIGxpYnJhcnkgYXQgYnVpbGQgdGltZSwgc3Rvcmlu
ZworICAgICAgICB0aGUgbGlicmFyeSBhcyBhIGNvbXBpbGVkIGJpbmFyeSBmaWxlLiBUaGlzIGxp
YnJhcnkgaXMgYmFrZWQgaW50byB0aGUgZHlsaWIsIAorICAgICAgICBhbmQgaXMgbG9hZGVkIGF0
IGNvbnRleHQgY3JlYXRpb24gdGltZS4KKworICAgICAgICBVbmxpa2UgdGhlIHByZXZpb3VzIHZl
cnNpb24gb2YgdGhpcyBwYXRjaCwgdGhpcyBwYXRjaCBkb2VzIG5vdCBzYXZlIG9yIHN0b3JlIHRo
ZSAubWV0YWxsaWIgb24gZGlzaywgYnV0IHJhdGhlcgorICAgICAgICBiYWtlcyBpdCBpbnRvIGEg
YmluYXJ5LgorICAgICAgICAKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgor
CisgICAgICAgICogQU5HTEUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBD
b25maWd1cmF0aW9ucy9BTkdMRS1keW5hbWljLnhjY29uZmlnOgorICAgICAgICAqIHNyYy9saWJB
TkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tOgorICAgICAgICAocng6OkRpc3BsYXlN
dGw6OmluaXRpYWxpemVTaGFkZXJMaWJyYXJ5KToKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvbXRsX3V0aWxzLmg6CisKIDIwMjEtMDctMTMgIEt5bGUgUGlkZGluZ3RvbiAg
PGtwaWRkaW5ndG9uQGFwcGxlLmNvbT4KIAogICAgICAgICByQUYgZHJpdmVuIFdlYkdMIHN1Ym1p
dHMgZXhjZXNzaXZlIGFtb3VudCBvZiBHUFUgd29yayB3aGVuIGZyYW1lcyBhcmUgc2xvdwpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0FOR0xFLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggZWQ5ZmJiYTliNGQ5YjQwMTUyNDE1MTJlMzRhMmJkN2U5MjMwODhlNC4u
ZWJlMDk4NmZlYzM0MGU1MDQxZTM3Njc1ZDE4MjYyMDQ0ZmNhYjY3OSAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9BTkdMRS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC04MzgsNiArODM4LDEzIEBACiAJCUZGMkQyRjU1MjVDOEIxNEEwMDJGQjY5OSAvKiBGaXhU
eXBlQ29uc3RydWN0b3JzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGRjJEMkY1MjI1QzhCMTRBMDAyRkI2OTkgLyogRml4VHlwZUNvbnN0cnVjdG9ycy5o
ICovOyB9OwogCQlGRjU4MkUxNjI2NTQ0RkM0MDA2REE1QjggLyogUHJvdm9raW5nVmVydGV4SGVs
cGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY1
ODJFMTQyNjU0NEZDNDAwNkRBNUI4IC8qIFByb3Zva2luZ1ZlcnRleEhlbHBlci5tbSAqLzsgfTsK
IAkJRkY1ODJFMTcyNjU0NEZDNDAwNkRBNUI4IC8qIFByb3Zva2luZ1ZlcnRleEhlbHBlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY1ODJFMTUyNjU0
NEZDNDAwNkRBNUI4IC8qIFByb3Zva2luZ1ZlcnRleEhlbHBlci5oICovOyB9OworCQlGRkRBNTBD
QzI2OUY4NDgyMDBBRTExRTIgLyogYmxpdC5tZXRhbCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFGRUFBMjU4MThENjgwMDg5NEUyNCAvKiBibGl0Lm1l
dGFsICovOyB9OworCQlGRkRBNTBDRDI2OUY4NDgyMDBBRTExRTIgLyogY2xlYXIubWV0YWwgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRjgxRkVCMTI1ODE4
RDY4MDA4OTRFMjQgLyogY2xlYXIubWV0YWwgKi87IH07CisJCUZGREE1MENFMjY5Rjg0ODIwMEFF
MTFFMiAvKiBjb3B5X2J1ZmZlci5tZXRhbCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZGODFGRUFGMjU4MThENjgwMDg5NEUyNCAvKiBjb3B5X2J1ZmZlci5t
ZXRhbCAqLzsgfTsKKwkJRkZEQTUwQ0YyNjlGODQ4MjAwQUUxMUUyIC8qIGdlbl9pbmRpY2VzLm1l
dGFsIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY4MUZF
QjMyNTgxOEQ2ODAwODk0RTI0IC8qIGdlbl9pbmRpY2VzLm1ldGFsICovOyB9OworCQlGRkRBNTBE
MDI2OUY4NDgyMDBBRTExRTIgLyogZ2VuX21pcG1hcC5tZXRhbCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFGRUIyMjU4MThENjgwMDg5NEUyNCAvKiBn
ZW5fbWlwbWFwLm1ldGFsICovOyB9OworCQlGRkRBNTBEMTI2OUY4NDgyMDBBRTExRTIgLyogcmV3
cml0ZV9pbmRpY2VzLm1ldGFsIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkY1ODJFMTgyNjU0NEZFNTAwNkRBNUI4IC8qIHJld3JpdGVfaW5kaWNlcy5tZXRh
bCAqLzsgfTsKKwkJRkZEQTUwRDIyNjlGODQ4MjAwQUUxMUUyIC8qIHZpc2liaWxpdHkubWV0YWwg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRjgxRkVBQjI1
ODE4RDY4MDA4OTRFMjQgLyogdmlzaWJpbGl0eS5tZXRhbCAqLzsgfTsKIC8qIEVuZCBQQlhCdWls
ZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhCdWlsZFJ1bGUgc2VjdGlvbiAqLwpAQCAt
ODY0LDYgKzg3MSwxMyBAQAogCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSAzMUNERkRGMzI0OTE4
MTlFMDA0ODZGMjc7CiAJCQlyZW1vdGVJbmZvID0gIkFOR0xFIChkeW5hbWljKSI7CiAJCX07CisJ
CUZGREE1MEQzMjY5Rjg0QTAwMEFFMTFFMiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7
CisJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7CisJCQljb250YWluZXJQb3J0YWwgPSBG
QjM5RDA3MDEyMDBFRDkyMDAwODhFNjkgLyogUHJvamVjdCBvYmplY3QgKi87CisJCQlwcm94eVR5
cGUgPSAxOworCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSBGRkRBNTBDNDI2OUY4NDUxMDBBRTEx
RTI7CisJCQlyZW1vdGVJbmZvID0gQU5HTEVNZXRhbExpYjsKKwkJfTsKIC8qIEVuZCBQQlhDb250
YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhDb3B5RmlsZXNCdWlsZFBo
YXNlIHNlY3Rpb24gKi8KQEAgLTE4MTMsNiArMTgyNyw4IEBACiAJCUZGODFGRjlBMjU4MUEzQzIw
MDg5NEUyNCAvKiBJbnRlcm1SZWJ1aWxkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEludGVybVJlYnVpbGQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkZBMEMy
QzUyNUNCNkE3NjAwMTA1MzA2IC8qIE5hbWVFbWJlZGRlZFVuaWZvcm1TdHJ1Y3RzTWV0YWwuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmFtZUVtYmVkZGVkVW5pZm9y
bVN0cnVjdHNNZXRhbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZGQTBDMkM2
MjVDQjZBNzcwMDEwNTMwNiAvKiBOYW1lRW1iZWRkZWRVbmlmb3JtU3RydWN0c01ldGFsLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hbWVFbWJlZGRlZFVuaWZvcm1TdHJ1Y3Rz
TWV0YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkZEQTUwRDYyNjlGOUU1ODAw
QUUxMUUyIC8qIGNyZWF0ZV9tdGxfaW50ZXJuYWxfc2hhZGVycy5weSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQu
c2NyaXB0LnB5dGhvbjsgcGF0aCA9IGNyZWF0ZV9tdGxfaW50ZXJuYWxfc2hhZGVycy5weTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkZFMEQ5MTUyNkEwQjRFODAwNzFBREFFIC8qIEFu
Z2xlTWV0YWxMaWIueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gQW5nbGVNZXRhbExpYi54Y2NvbmZp
Zzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIC8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNl
Y3Rpb24gKi8KIAogLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpA
QCAtMjc2OSw2ICsyNzg1LDcgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTMxQ0RGREVFMjQ5MTdG
ODkwMDQ4NkYyNyAvKiBBTkdMRS1keW5hbWljLnhjY29uZmlnICovLAogCQkJCTMxQ0RGREVGMjQ5
MTdGODkwMDQ4NkYyNyAvKiBBTkdMRS1zdGF0aWMueGNjb25maWcgKi8sCisJCQkJRkZFMEQ5MTUy
NkEwQjRFODAwNzFBREFFIC8qIEFuZ2xlTWV0YWxMaWIueGNjb25maWcgKi8sCiAJCQkJNUQ3QzU5
QzYxMjA4QzY4QjAwMUM4NzNFIC8qIEJhc2UueGNjb25maWcgKi8sCiAJCQkJNUQ3QzU5QzcxMjA4
QzY4QjAwMUM4NzNFIC8qIERlYnVnUmVsZWFzZS54Y2NvbmZpZyAqLywKIAkJCQlBMUI4OUI4OTIy
MUUwMDNBMDBFQjRDRUEgLyogU0RLVmFyaWFudC54Y2NvbmZpZyAqLywKQEAgLTMwNTYsNiArMzA3
Myw3IEBACiAJCQkJRkY4MUZFQUQyNTgxOEQ2ODAwODk0RTI0IC8qIGNvbW1vbi5oICovLAogCQkJ
CUZGODFGRUFDMjU4MThENjgwMDg5NEUyNCAvKiBjb25zdGFudHMuaCAqLywKIAkJCQlGRjgxRkVB
RjI1ODE4RDY4MDA4OTRFMjQgLyogY29weV9idWZmZXIubWV0YWwgKi8sCisJCQkJRkZEQTUwRDYy
NjlGOUU1ODAwQUUxMUUyIC8qIGNyZWF0ZV9tdGxfaW50ZXJuYWxfc2hhZGVycy5weSAqLywKIAkJ
CQlGRjgxRkVCMDI1ODE4RDY4MDA4OTRFMjQgLyogZm9ybWF0X2F1dG9nZW4uaCAqLywKIAkJCQlG
RjgxRkVCMzI1ODE4RDY4MDA4OTRFMjQgLyogZ2VuX2luZGljZXMubWV0YWwgKi8sCiAJCQkJRkY4
MUZFQjIyNTgxOEQ2ODAwODk0RTI0IC8qIGdlbl9taXBtYXAubWV0YWwgKi8sCkBAIC0zNTcwLDYg
KzM1ODgsNyBAQAogCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OwogCQkJYnVpbGRDb25maWd1cmF0
aW9uTGlzdCA9IDMxQ0RGREY1MjQ5MTgxOUUwMDQ4NkYyNyAvKiBCdWlsZCBjb25maWd1cmF0aW9u
IGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiQU5HTEUgKGR5bmFtaWMpIiAqLzsKIAkJCWJ1aWxk
UGhhc2VzID0gKAorCQkJCUZGREE1MEQ1MjY5Rjg5NTQwMEFFMTFFMiAvKiBCYWtlIE1ldGFsIExp
YnJhcnkgdG8gTlNEYXRhICovLAogCQkJCTMxQ0RGREYwMjQ5MTgxOUUwMDQ4NkYyNyAvKiBIZWFk
ZXJzICovLAogCQkJCTMxQ0RGREYxMjQ5MTgxOUUwMDQ4NkYyNyAvKiBTb3VyY2VzICovLAogCQkJ
CTMxQ0RGREYyMjQ5MTgxOUUwMDQ4NkYyNyAvKiBGcmFtZXdvcmtzICovLApAQCAtMzU4MSwxMiAr
MzYwMCwyNyBAQAogCQkJCTMxQTlFOUEwMjQ5QUEwNDIwMEM3RTI0MyAvKiBQQlhCdWlsZFJ1bGUg
Ki8sCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAorCQkJCUZGREE1MEQ0MjY5Rjg0QTAwMEFF
MTFFMiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJKTsKIAkJCW5hbWUgPSAiQU5HTEUg
KGR5bmFtaWMpIjsKIAkJCXByb2R1Y3ROYW1lID0gIkFOR0xFIChkeW5hbWljKSI7CiAJCQlwcm9k
dWN0UmVmZXJlbmNlID0gMzFDREZERjQyNDkxODE5RTAwNDg2RjI3IC8qIGxpYkFOR0xFLXNoYXJl
ZC5keWxpYiAqLzsKIAkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUubGli
cmFyeS5keW5hbWljIjsKIAkJfTsKKwkJRkZEQTUwQzQyNjlGODQ1MTAwQUUxMUUyIC8qIEFOR0xF
TWV0YWxMaWIgKi8gPSB7CisJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJCQlidWlsZENvbmZp
Z3VyYXRpb25MaXN0ID0gRkZEQTUwQ0IyNjlGODQ1MTAwQUUxMUUyIC8qIEJ1aWxkIGNvbmZpZ3Vy
YXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJBTkdMRU1ldGFsTGliIiAqLzsKKwkJCWJ1
aWxkUGhhc2VzID0gKAorCQkJCUZGREE1MEMzMjY5Rjg0NTEwMEFFMTFFMiAvKiBTb3VyY2VzICov
LAorCQkJKTsKKwkJCWJ1aWxkUnVsZXMgPSAoCisJCQkpOworCQkJZGVwZW5kZW5jaWVzID0gKAor
CQkJKTsKKwkJCW5hbWUgPSBBTkdMRU1ldGFsTGliOworCQkJcHJvZHVjdE5hbWUgPSBBTkdMRU1l
dGFsTGliOworCQkJcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5tZXRhbC1s
aWJyYXJ5IjsKKwkJfTsKIC8qIEVuZCBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAqLwogCiAvKiBC
ZWdpbiBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KQEAgLTM2MDQsNiArMzYzOCwxMCBAQAogCQkJCQkJ
Q3JlYXRlZE9uVG9vbHNWZXJzaW9uID0gMTIuMDsKIAkJCQkJCVByb3Zpc2lvbmluZ1N0eWxlID0g
QXV0b21hdGljOwogCQkJCQl9OworCQkJCQlGRkRBNTBDNDI2OUY4NDUxMDBBRTExRTIgPSB7CisJ
CQkJCQlDcmVhdGVkT25Ub29sc1ZlcnNpb24gPSAxMy4wOworCQkJCQkJUHJvdmlzaW9uaW5nU3R5
bGUgPSBBdXRvbWF0aWM7CisJCQkJCX07CiAJCQkJfTsKIAkJCX07CiAJCQlidWlsZENvbmZpZ3Vy
YXRpb25MaXN0ID0gRkIzOUQwNzMxMjAwRUQ5MjAwMDg4RTY5IC8qIEJ1aWxkIGNvbmZpZ3VyYXRp
b24gbGlzdCBmb3IgUEJYUHJvamVjdCAiQU5HTEUiICovOwpAQCAtMzYyMCw2ICszNjU4LDcgQEAK
IAkJCXRhcmdldHMgPSAoCiAJCQkJMzFEQjc5NEYyNDkxQzMzMzAwOTgyODc4IC8qIEFOR0xFICov
LAogCQkJCTMxQ0RGREYzMjQ5MTgxOUUwMDQ4NkYyNyAvKiBBTkdMRSAoZHluYW1pYykgKi8sCisJ
CQkJRkZEQTUwQzQyNjlGODQ1MTAwQUUxMUUyIC8qIEFOR0xFTWV0YWxMaWIgKi8sCiAJCQkpOwog
CQl9OwogLyogRW5kIFBCWFByb2plY3Qgc2VjdGlvbiAqLwpAQCAtMzY0Myw2ICszNjgyLDI3IEBA
CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwogCQkJc2hlbGxTY3JpcHQgPSAiaWYgWyBcIiR7WENP
REVfVkVSU0lPTl9BQ1RVQUx9XCIgLWdlIFwiMTE0MFwiIC1hIFwiJHtXS19VU0VfTkVXX0JVSUxE
X1NZU1RFTX1cIiA9IFwiWUVTXCIgXTsgdGhlblxuICAgICMgSW4gdGhpcyBjb25maWd1cmF0aW9u
LCBwb3N0LXByb2Nlc3NpbmcgaXMgcGVyZm9ybWVkIGF0IHRoZSBzYW1lIHRpbWUgYXMgY29weWlu
ZyBpbiB0aGUgcG9zdHByb2Nlc3MtaGVhZGVyLXJ1bGUgc2NyaXB0LCBzbyB0aGVyZSdzIG5vIG5l
ZWQgZm9yIHRoaXMgc2VwYXJhdGUgc3RlcC5cbiAgICBleGl0IDBcbmZpXG5cbmV4ZWMgXCIkU1JD
Uk9PVC9hZGp1c3QtYW5nbGUtaW5jbHVkZS1wYXRocy5weVwiXG4iOwogCQl9OworCQlGRkRBNTBE
NTI2OUY4OTU0MDBBRTExRTIgLyogQmFrZSBNZXRhbCBMaWJyYXJ5IHRvIE5TRGF0YSAqLyA9IHsK
KwkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9
IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlpbnB1dEZpbGVMaXN0UGF0aHMg
PSAoCisJCQkpOworCQkJaW5wdXRQYXRocyA9ICgKKwkJCQkiJChCVUlMVF9QUk9EVUNUU19ESVIp
L0FOR0xFTWV0YWxMaWIubWV0YWxsaWIiLAorCQkJCSIkKFNSQ1JPT1QpL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9tZXRhbC9zaGFkZXJzL2NyZWF0ZV9tdGxfaW50ZXJuYWxfc2hhZGVycy5weSIsCisJ
CQkpOworCQkJbmFtZSA9ICJCYWtlIE1ldGFsIExpYnJhcnkgdG8gTlNEYXRhIjsKKwkJCW91dHB1
dEZpbGVMaXN0UGF0aHMgPSAoCisJCQkpOworCQkJb3V0cHV0UGF0aHMgPSAoCisJCQkJIiQoREVS
SVZFRF9GSUxFX0RJUikvbXRsX2RlZmF1bHRfc2hhZGVyc19jb21waWxlZC5pbmMiLAorCQkJKTsK
KwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQkJc2hlbGxQYXRo
ID0gL2Jpbi9zaDsKKwkJCXNoZWxsU2NyaXB0ID0gImVjaG8gcHl0aG9uIFwiJHtTUkNST09UfS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvc2hhZGVycy9jcmVhdGVfbXRsX2ludGVybmFsX3No
YWRlcnMucHlcIiBcIiRTQ1JJUFRfSU5QVVRfRklMRV8wXCIgXCIkU0NSSVBUX09VVFBVVF9GSUxF
XzBcIlxucHl0aG9uIFwiJHtTUkNST09UfS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvc2hh
ZGVycy9jcmVhdGVfbXRsX2ludGVybmFsX3NoYWRlcnMucHlcIiBcIiRTQ1JJUFRfSU5QVVRfRklM
RV8wXCIgXCIkU0NSSVBUX09VVFBVVF9GSUxFXzBcIlxuIjsKKwkJfTsKIC8qIEVuZCBQQlhTaGVs
bFNjcmlwdEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhTb3VyY2VzQnVpbGRQ
aGFzZSBzZWN0aW9uICovCkBAIC00MDUzLDYgKzQxMTMsMjAgQEAKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKKwkJRkZEQTUwQzMyNjlGODQ1
MTAwQUUxMUUyIC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFz
ZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQlG
RkRBNTBDQzI2OUY4NDgyMDBBRTExRTIgLyogYmxpdC5tZXRhbCBpbiBTb3VyY2VzICovLAorCQkJ
CUZGREE1MENEMjY5Rjg0ODIwMEFFMTFFMiAvKiBjbGVhci5tZXRhbCBpbiBTb3VyY2VzICovLAor
CQkJCUZGREE1MENFMjY5Rjg0ODIwMEFFMTFFMiAvKiBjb3B5X2J1ZmZlci5tZXRhbCBpbiBTb3Vy
Y2VzICovLAorCQkJCUZGREE1MENGMjY5Rjg0ODIwMEFFMTFFMiAvKiBnZW5faW5kaWNlcy5tZXRh
bCBpbiBTb3VyY2VzICovLAorCQkJCUZGREE1MEQwMjY5Rjg0ODIwMEFFMTFFMiAvKiBnZW5fbWlw
bWFwLm1ldGFsIGluIFNvdXJjZXMgKi8sCisJCQkJRkZEQTUwRDEyNjlGODQ4MjAwQUUxMUUyIC8q
IHJld3JpdGVfaW5kaWNlcy5tZXRhbCBpbiBTb3VyY2VzICovLAorCQkJCUZGREE1MEQyMjY5Rjg0
ODIwMEFFMTFFMiAvKiB2aXNpYmlsaXR5Lm1ldGFsIGluIFNvdXJjZXMgKi8sCisJCQkpOworCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAvKiBFbmQgUEJY
U291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhUYXJnZXREZXBlbmRl
bmN5IHNlY3Rpb24gKi8KQEAgLTQwNjEsNiArNDEzNSwxMSBAQAogCQkJdGFyZ2V0ID0gMzFDREZE
RjMyNDkxODE5RTAwNDg2RjI3IC8qIEFOR0xFIChkeW5hbWljKSAqLzsKIAkJCXRhcmdldFByb3h5
ID0gMzFEQjc5NTYyNDkxQzM1NDAwOTgyODc4IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsK
IAkJfTsKKwkJRkZEQTUwRDQyNjlGODRBMDAwQUUxMUUyIC8qIFBCWFRhcmdldERlcGVuZGVuY3kg
Ki8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gRkZEQTUw
QzQyNjlGODQ1MTAwQUUxMUUyIC8qIEFOR0xFTWV0YWxMaWIgKi87CisJCQl0YXJnZXRQcm94eSA9
IEZGREE1MEQzMjY5Rjg0QTAwMEFFMTFFMiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CisJ
CX07CiAvKiBFbmQgUEJYVGFyZ2V0RGVwZW5kZW5jeSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFhD
QnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KQEAgLTQwODgsNyArNDE2Nyw2IEBACiAJCTMx
REI3OTUwMjQ5MUMzMzMwMDk4Mjg3OCAvKiBEZWJ1ZyAqLyA9IHsKIAkJCWlzYSA9IFhDQnVpbGRD
b25maWd1cmF0aW9uOwogCQkJYnVpbGRTZXR0aW5ncyA9IHsKLQkJCQlDT0RFX1NJR05fU1RZTEUg
PSBBdXRvbWF0aWM7CiAJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKIAkJCX07
CiAJCQluYW1lID0gRGVidWc7CkBAIC00MDk2LDcgKzQxNzQsNiBAQAogCQkzMURCNzk1MTI0OTFD
MzMzMDA5ODI4NzggLyogUmVsZWFzZSAqLyA9IHsKIAkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0
aW9uOwogCQkJYnVpbGRTZXR0aW5ncyA9IHsKLQkJCQlDT0RFX1NJR05fU1RZTEUgPSBBdXRvbWF0
aWM7CiAJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKIAkJCX07CiAJCQluYW1l
ID0gUmVsZWFzZTsKQEAgLTQxMDQsNyArNDE4MSw2IEBACiAJCTMxREI3OTUyMjQ5MUMzMzMwMDk4
Mjg3OCAvKiBQcm9kdWN0aW9uICovID0gewogCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247
CiAJCQlidWlsZFNldHRpbmdzID0gewotCQkJCUNPREVfU0lHTl9TVFlMRSA9IEF1dG9tYXRpYzsK
IAkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwogCQkJfTsKIAkJCW5hbWUgPSBQ
cm9kdWN0aW9uOwpAQCAtNDEzMSw2ICs0MjA3LDI3IEBACiAJCQl9OwogCQkJbmFtZSA9IFJlbGVh
c2U7CiAJCX07CisJCUZGREE1MEM4MjY5Rjg0NTEwMEFFMTFFMiAvKiBEZWJ1ZyAqLyA9IHsKKwkJ
CWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVu
Y2UgPSBGRkUwRDkxNTI2QTBCNEU4MDA3MUFEQUUgLyogQW5nbGVNZXRhbExpYi54Y2NvbmZpZyAq
LzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9Owor
CQlGRkRBNTBDOTI2OUY4NDUxMDBBRTExRTIgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhD
QnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBGRkUw
RDkxNTI2QTBCNEU4MDA3MUFEQUUgLyogQW5nbGVNZXRhbExpYi54Y2NvbmZpZyAqLzsKKwkJCWJ1
aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJCUZGREE1
MENBMjY5Rjg0NTEwMEFFMTFFMiAvKiBQcm9kdWN0aW9uICovID0geworCQkJaXNhID0gWENCdWls
ZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEZGRTBEOTE1
MjZBMEI0RTgwMDcxQURBRSAvKiBBbmdsZU1ldGFsTGliLnhjY29uZmlnICovOworCQkJYnVpbGRT
ZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKIC8qIEVuZCBY
Q0J1aWxkQ29uZmlndXJhdGlvbiBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFhDQ29uZmlndXJhdGlv
bkxpc3Qgc2VjdGlvbiAqLwpAQCAtNDE2NCw2ICs0MjYxLDE2IEBACiAJCQlkZWZhdWx0Q29uZmln
dXJhdGlvbklzVmlzaWJsZSA9IDA7CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9k
dWN0aW9uOwogCQl9OworCQlGRkRBNTBDQjI2OUY4NDUxMDBBRTExRTIgLyogQnVpbGQgY29uZmln
dXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIkFOR0xFTWV0YWxMaWIiICovID0gewor
CQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAo
CisJCQkJRkZEQTUwQzgyNjlGODQ1MTAwQUUxMUUyIC8qIERlYnVnICovLAorCQkJCUZGREE1MEM5
MjY5Rjg0NTEwMEFFMTFFMiAvKiBSZWxlYXNlICovLAorCQkJCUZGREE1MENBMjY5Rjg0NTEwMEFF
MTFFMiAvKiBQcm9kdWN0aW9uICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNW
aXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFByb2R1Y3Rpb247CisJ
CX07CiAvKiBFbmQgWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCiAJfTsKIAlyb290T2Jq
ZWN0ID0gRkIzOUQwNzAxMjAwRUQ5MjAwMDg4RTY5IC8qIFByb2plY3Qgb2JqZWN0ICovOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQU5HTEUtZHlu
YW1pYy54Y2NvbmZpZyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0FO
R0xFLWR5bmFtaWMueGNjb25maWcKaW5kZXggNDI4ZmVmNTFkMTk5YzAxMGM5YjJkMjEzOTFjYWZk
YTA3MTBlMzA5MS4uMDhkYjM4MTQ4ZmVjMDliNGI3NGZmOGJkZjllNzc1MTAyNzIxYWI4MCAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQU5HTEUtZHlu
YW1pYy54Y2NvbmZpZworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9Db25maWd1cmF0aW9u
cy9BTkdMRS1keW5hbWljLnhjY29uZmlnCkBAIC0yNyw3ICsyNyw3IEBAIERZTElCX0lOU1RBTExf
TkFNRV9CQVNFX1VTRV9BTFRFUk5BVEVfRlJBTUVXT1JLU19ESVJfWUVTID0gJChEWUxJQl9JTlNU
QUxMX05BTUVfCiBEWUxJQl9JTlNUQUxMX05BTUVfQkFTRV9XS19SRUxPQ0FUQUJMRV9GUkFNRVdP
UktTXyA9ICQoRFlMSUJfSU5TVEFMTF9OQU1FX0JBU0UpOwogRFlMSUJfSU5TVEFMTF9OQU1FX0JB
U0VfV0tfUkVMT0NBVEFCTEVfRlJBTUVXT1JLU19ZRVMgPSBAbG9hZGVyX3BhdGgvLi4vLi4vLi4v
OwogCi1IRUFERVJfU0VBUkNIX1BBVEhTID0gaW5jbHVkZSBzcmMgc3JjL2NvbW1vbi90aGlyZF9w
YXJ0eS9udW1lcmljcyB0aGlyZF9wYXJ0eS9iYXNlIHNyYy9jb21tb24vdGhpcmRfcGFydHkvYmFz
ZSB0aGlyZF9wYXJ0eS96bGliL2dvb2dsZTsKK0hFQURFUl9TRUFSQ0hfUEFUSFMgPSBpbmNsdWRl
IHNyYyBzcmMvY29tbW9uL3RoaXJkX3BhcnR5L251bWVyaWNzIHRoaXJkX3BhcnR5L2Jhc2Ugc3Jj
L2NvbW1vbi90aGlyZF9wYXJ0eS9iYXNlIHRoaXJkX3BhcnR5L3psaWIvZ29vZ2xlICR7REVSSVZF
RF9GSUxFU19ESVJ9OwogCiBBTkdMRV9IRUFERVJTX0ZPTERFUl9QQVRIID0gL3Vzci9sb2NhbC9p
bmNsdWRlL0FOR0xFOwogCkBAIC0zNiw3ICszNiw3IEBAIFBVQkxJQ19IRUFERVJTX0ZPTERFUl9Q
QVRIW3Nkaz1tYWNvc3gqXSA9ICQoUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhfJChXS19QTEFU
CiBQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSF9tYWNvc3ggPSAkKEFOR0xFX0hFQURFUlNfRk9M
REVSX1BBVEgpOwogUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhfbWFjY2F0YWx5c3QgPSAkKFdL
X0FMVEVSTkFURV9GUkFNRVdPUktTX0RJUikvJChBTkdMRV9IRUFERVJTX0ZPTERFUl9QQVRIKTsK
IAotR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgTElCR0xF
U1YyX0lNUExFTUVOVEFUSU9OIExJQkFOR0xFX0lNUExFTUVOVEFUSU9OIEFOR0xFX0VOQUJMRV9P
UEVOR0wgQU5HTEVfRU5BQkxFX0dMU0wgQU5HTEVfRU5BQkxFX0VTU0wgR0xfU0lMRU5DRV9ERVBS
RUNBVElPTiBHTEVTX1NJTEVOQ0VfREVQUkVDQVRJT04gQU5HTEVfRU5BQkxFX01FVEFMOworR0ND
X1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgTElCR0xFU1YyX0lN
UExFTUVOVEFUSU9OIExJQkFOR0xFX0lNUExFTUVOVEFUSU9OIEFOR0xFX0VOQUJMRV9PUEVOR0wg
QU5HTEVfRU5BQkxFX0dMU0wgQU5HTEVfRU5BQkxFX0VTU0wgR0xfU0lMRU5DRV9ERVBSRUNBVElP
TiBHTEVTX1NJTEVOQ0VfREVQUkVDQVRJT04gQU5HTEVfRU5BQkxFX01FVEFMIEFOR0xFX01FVEFM
X1hDT0RFX0JVSUxEU19TSEFERVJTOwogCiBERUFEX0NPREVfU1RSSVBQSU5HID0gWUVTOwogREVB
RF9DT0RFX1NUUklQUElOR1tjb25maWc9RGVidWddID0gTk87CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9Db25maWd1cmF0aW9ucy9BbmdsZU1ldGFsTGliLnhjY29uZmlnIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQW5nbGVNZXRhbExpYi54Y2Nv
bmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kMDgzOWNlMTU0YzUyNzcyMmE0NTQ3ZWVjZDQ4NzUzOGVlZWM2Mjcx
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlv
bnMvQW5nbGVNZXRhbExpYi54Y2NvbmZpZwpAQCAtMCwwICsxLDIwIEBACisjaW5jbHVkZSAiVmVy
c2lvbi54Y2NvbmZpZyIKKyNpbmNsdWRlICJXZWJLaXRUYXJnZXRDb25kaXRpb25hbHMueGNjb25m
aWciCisKK1BST0RVQ1RfTkFNRSA9IEFOR0xFTWV0YWxMaWI7CitTS0lQX0lOU1RBTEwgPSBZRVM7
CisKK0hFQURFUl9TRUFSQ0hfUEFUSFMgPSBpbmNsdWRlIHNyYyBzcmMvY29tbW9uL3RoaXJkX3Bh
cnR5L251bWVyaWNzIHRoaXJkX3BhcnR5L2Jhc2Ugc3JjL2NvbW1vbi90aGlyZF9wYXJ0eS9iYXNl
IHRoaXJkX3BhcnR5L3psaWIvZ29vZ2xlOworCitBTkdMRV9IRUFERVJTX0ZPTERFUl9QQVRIID0g
L3Vzci9sb2NhbC9pbmNsdWRlL0FOR0xFOworCitQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSCA9
ICQoQU5HTEVfSEVBREVSU19GT0xERVJfUEFUSCk7CitQVUJMSUNfSEVBREVSU19GT0xERVJfUEFU
SFtzZGs9bWFjb3N4Kl0gPSAkKFBVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIXyQoV0tfUExBVEZP
Uk1fTkFNRSkpOworUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhfbWFjb3N4ID0gJChBTkdMRV9I
RUFERVJTX0ZPTERFUl9QQVRIKTsKK1BVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIX21hY2NhdGFs
eXN0ID0gJChXS19BTFRFUk5BVEVfRlJBTUVXT1JLU19ESVIpLyQoQU5HTEVfSEVBREVSU19GT0xE
RVJfUEFUSCk7CisKK01UTF9FTkFCTEVfREVCVUdfSU5GTyA9IElOQ0xVREVfU09VUkNFCitNVExf
RkFTVF9NQVRIID0gWUVTCisKK1NUUklQX0lOU1RBTExFRF9QUk9EVUNUID0gWUVTOworU1RSSVBf
SU5TVEFMTEVEX1BST0RVQ1RbY29uZmlnPURlYnVnXSA9IE5POwpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0Rpc3BsYXlNdGwu
bW0gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwv
RGlzcGxheU10bC5tbQppbmRleCA3Nzg2YzA4ZWMzOWYxYjIzZDNlNzYxM2U2M2FkNTNhMTk0NTFh
NGQ1Li5mN2FlNDg4MzFmNGU3NmNlOTg1ODM1NjNjYmU4NmZiZmQ5ZmU1YzdhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlz
cGxheU10bC5tbQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbQpAQCAtMjIsOCArMjIsMTMgQEAKICNpbmNsdWRlICJs
aWJBTkdMRS9yZW5kZXJlci9tZXRhbC9TeW5jTXRsLmgiCiAjaW5jbHVkZSAibGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvbXRsX2NvbW1vbi5oIgogI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVyL21l
dGFsL3NoYWRlcnMvbXRsX2RlZmF1bHRfc2hhZGVyc19zcmNfYXV0b2dlbi5pbmMiCisjaW5jbHVk
ZSAibGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3V0aWxzLmgiCiAjaW5jbHVkZSAicGxhdGZv
cm0vUGxhdGZvcm0uaCIKIAorI2lmZGVmIEFOR0xFX01FVEFMX1hDT0RFX0JVSUxEU19TSEFERVJT
CisjaW5jbHVkZSAibXRsX2RlZmF1bHRfc2hhZGVyc19jb21waWxlZC5pbmMiCisjZW5kaWYKKwog
I2luY2x1ZGUgIkVHTC9lZ2xleHQuaCIKIAogI2lmIGRlZmluZWQoQU5HTEVfUExBVEZPUk1fTUFD
T1MpIHx8IGRlZmluZWQoQU5HTEVfUExBVEZPUk1fTUFDQ0FUQUxZU1QpCkBAIC05OTMsMjMgKzk5
OCwxNiBAQCBhbmdsZTo6UmVzdWx0IERpc3BsYXlNdGw6OmluaXRpYWxpemVTaGFkZXJMaWJyYXJ5
KCkKICNpZmRlZiBBTkdMRV9NRVRBTF9YQ09ERV9CVUlMRFNfU0hBREVSUwogICAgIG1EZWZhdWx0
U2hhZGVyc0FzeW5jSW5mby5yZXNldChuZXcgRGVmYXVsdFNoYWRlckFzeW5jSW5mb010bCk7CiAK
LSAgICBOU1N0cmluZyAqcGF0aCA9IFtOU0J1bmRsZSBidW5kbGVXaXRoSWRlbnRpZmllcjpAImNv
bS5hcHBsZS5XZWJLaXQiXS5idW5kbGVQYXRoOwotICAgIE5TRXJyb3IgKmVycm9yID0gbnVsbHB0
cjsKLSAgICBtRGVmYXVsdFNoYWRlcnNBc3luY0luZm8tPmRlZmF1bHRTaGFkZXJzID0KLSAgICAg
ICAgW2dldE1ldGFsRGV2aWNlKCkgbmV3RGVmYXVsdExpYnJhcnlXaXRoQnVuZGxlOltOU0J1bmRs
ZSBidW5kbGVXaXRoUGF0aDpwYXRoXSBlcnJvcjomZXJyb3JdOwotCi0gICAgaWYgKGVycm9yICYm
ICFtRGVmYXVsdFNoYWRlcnNBc3luY0luZm8tPmRlZmF1bHRTaGFkZXJzKQotICAgIHsKLSAgICAg
ICAgQU5HTEVfTVRMX09CSkNfU0NPUEUKLSAgICAgICAgewotICAgICAgICAgICAgRVJSKCkgPDwg
IkludGVybmFsIGVycm9yOiBuZXdEZWZhdWx0TGlicmFyeVdpdGhCdW5kbGUgZmFpbGVkLiAiCi0g
ICAgICAgICAgICAgICAgICA8PCBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbi5VVEY4U3RyaW5n
OwotICAgICAgICB9Ci0gICAgICAgIG1EZWZhdWx0U2hhZGVyc0FzeW5jSW5mby0+ZGVmYXVsdFNo
YWRlcnNDb21waWxlRXJyb3IgPSBzdGQ6Om1vdmUoZXJyb3IpOwotICAgICAgICByZXR1cm4gYW5n
bGU6OlJlc3VsdDo6U3RvcDsKLSAgICB9CisgICAgY29uc3QgdWludDhfdCAqY29tcGlsZWRfc2hh
ZGVyX2JpbmFyeTsKKyAgICBzaXplX3QgY29tcGlsZWRfc2hhZGVyX2JpbmFyeV9sZW47CisgICAg
Y29tcGlsZWRfc2hhZGVyX2JpbmFyeSAgICAgPSBnTWV0YWxCaW5hcnlTaGFkZXJzOworICAgIGNv
bXBpbGVkX3NoYWRlcl9iaW5hcnlfbGVuID0gZ01ldGFsQmluYXJ5U2hhZGVyc19sZW47CisgICAg
bXRsOjpBdXRvT2JqQ1B0cjxOU0Vycm9yICo+IGVyciA9IG5pbDsKKyAgICBtdGw6OkF1dG9PYmpD
UHRyPGlkPE1UTExpYnJhcnk+PiBtRGVmYXVsdFNoYWRlcnMgPSBtdGw6OkNyZWF0ZVNoYWRlckxp
YnJhcnlGcm9tQmluYXJ5KGdldE1ldGFsRGV2aWNlKCksIGNvbXBpbGVkX3NoYWRlcl9iaW5hcnks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb21waWxlZF9zaGFkZXJfYmluYXJ5X2xlbiwgJmVycik7CisgICAg
bURlZmF1bHRTaGFkZXJzQXN5bmNJbmZvLT5kZWZhdWx0U2hhZGVycyA9IHN0ZDo6bW92ZShtRGVm
YXVsdFNoYWRlcnMuZ2V0KCkpOworICAgIG1EZWZhdWx0U2hhZGVyc0FzeW5jSW5mby0+ZGVmYXVs
dFNoYWRlcnNDb21waWxlRXJyb3IgPSBzdGQ6Om1vdmUoZXJyLmdldCgpKTsKICAgICBtRGVmYXVs
dFNoYWRlcnNBc3luY0luZm8tPmNvbXBpbGVkID0gdHJ1ZTsKLQogI2Vsc2UKICAgICBtRGVmYXVs
dFNoYWRlcnNBc3luY0luZm8ucmVzZXQobmV3IERlZmF1bHRTaGFkZXJBc3luY0luZm9NdGwpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvbWV0YWwvbXRsX3V0aWxzLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvbWV0YWwvbXRsX3V0aWxzLmgKaW5kZXggZDI3M2Q0ODEzMDY1MTZiOGM4ZTdm
ZjNjMWFlMWZiZmJmNGQ1MzdlMy4uMmVkNWY1YzJiOTIwNGM2OTQ2YmRmNjczNjQxZjliZjUxZTM4
OWUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL21ldGFsL210bF91dGlscy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfdXRpbHMuaApAQCAtMTA1LDcgKzEwNSw2IEBA
IEF1dG9PYmpDUHRyPGlkPE1UTExpYnJhcnk+PiBDcmVhdGVTaGFkZXJMaWJyYXJ5KGlkPE1UTERl
dmljZT4gbWV0YWxEZXZpY2UsCiBBdXRvT2JqQ1B0cjxpZDxNVExMaWJyYXJ5Pj4gQ3JlYXRlU2hh
ZGVyTGlicmFyeUZyb21CaW5hcnkoaWQ8TVRMRGV2aWNlPiBtZXRhbERldmljZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90ICpiaW5hcnlTb3VyY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGJpbmFyeVNvdXJjZUxlbiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOU0RpY3Rp
b25hcnk8TlNTdHJpbmcgKiwgTlNPYmplY3QgKj4gKiBzdWJzdGl0dXRpb25EaWN0aW9uYXJ5LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEF1dG9PYmpDUHRyPE5TRXJyb3IgKj4gKmVycm9yKTsKIAogYm9vbCBTdXBwb3J0c0lPU0dQVUZh
bWlseShpZDxNVExEZXZpY2U+IGRldmljZSwgdWludDhfdCBpT1NGYW1pbHkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL3No
YWRlcnMvY3JlYXRlX210bF9pbnRlcm5hbF9zaGFkZXJzLnB5IGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL3NoYWRlcnMvY3JlYXRlX210bF9pbnRl
cm5hbF9zaGFkZXJzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4ZTY3OWY0ZjdmMjA4ZDhlMmQ4MzE5MWFiYzhh
NjIwMTM3Y2Q2MGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvc2hhZGVycy9jcmVhdGVfbXRsX2ludGVybmFsX3No
YWRlcnMucHkKQEAgLTAsMCArMSw3OSBAQAorIyEvdXNyL2Jpbi9weXRob24KKyMgQ29weXJpZ2h0
IDIwMjEgVGhlIEFOR0xFIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMg
VXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5z
ZSB0aGF0IGNhbiBiZQorIyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorIworIyBjcmVhdGVf
bXRsX2ludGVybmFsX3NoYWRlcnMucHk6CisjICAgU2NyaXB0IHRvIGNvbXBpbGUgYSBtZXRhbExp
YiBpbnRvIE5TRGF0YSwgZm9yIGluY2x1ZGluZyB0aGUgY29tcGlsZGVkCisjICAgICAgIGxpYnJh
cnkgaW4gdGhlIEFOR0xFIGR5bGliLgorCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCBq
c29uCitmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZQorCitzeXMucGF0aC5hcHBlbmQoJy4u
Ly4uJykKKwordGVtcGxhdGVfaGVhZGVyX2JvaWxlcnBsYXRlID0gIiIiLy8gR0VORVJBVEVEIEZJ
TEUgLSBETyBOT1QgRURJVC4KKy8vIEdlbmVyYXRlZCBieSB7c2NyaXB0X25hbWV9CisvLworLy8g
Q29weXJpZ2h0IHtjb3B5cmlnaHRfeWVhcn0gVGhlIEFOR0xFIFByb2plY3QgQXV0aG9ycy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVk
IGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisvLworIiIiCisKKworIyBDb252ZXJ0IGNvbnRlbnQgb2YgYSBmaWxlIHRvIGJ5
dGUgYXJyYXkgYW5kIHN0b3JlIGluIGEgaGVhZGVyIGZpbGUuCisjIHZhcmlhYmxlX25hbWU6IG5h
bWUgb2YgQysrIHZhcmlhYmxlIHRoYXQgd2lsbCBob2xkIHRoZSBmaWxlIGNvbnRlbnQgYXMgYnl0
ZSBhcnJheS4KKyMgZmlsZW5hbWU6IHRoZSBmaWxlIHdob3NlIGNvbnRlbnQgd2lsbCBiZSBjb252
ZXJ0ZWQgdG8gQysrIGJ5dGUgYXJyYXkuCisjIGRlc3Rfc3JjX2ZpbGU6IGRlc3RpbmF0aW9uIGhl
YWRlciBmaWxlIHRoYXQgd2lsbCBjb250YWluIHRoZSBieXRlIGFycmF5LgorZGVmIGFwcGVuZF9m
aWxlX2FzX2J5dGVfYXJyYXlfc3RyaW5nKHZhcmlhYmxlX25hbWUsIGZpbGVuYW1lLCBkZXN0X3Ny
Y19maWxlKToKKyAgICBzdHJpbmcgPSAnLy8gR2VuZXJhdGVkIGZyb20gezB9OlxuJy5mb3JtYXQo
ZmlsZW5hbWUpCisgICAgc3RyaW5nICs9ICdjb25zdGV4cHIgdWludDhfdCB7MH1bXT17e1xuJy5m
b3JtYXQodmFyaWFibGVfbmFtZSkKKyAgICBieXRlc18gPSBvcGVuKGZpbGVuYW1lLCAicmIiKS5y
ZWFkKCkKKyAgICBmb3IgYnl0ZSBpbiBieXRlc186CisgICAgICAgIHN0cmluZyArPSAnMHh7OjAy
eH0nLmZvcm1hdChvcmQoYnl0ZSkpICsgIiwgIgorICAgIHN0cmluZyArPSAiXG59O1xuIgorICAg
IHdpdGggb3BlbihkZXN0X3NyY19maWxlLCAiYSIpIGFzIG91dF9maWxlOgorICAgICAgICBvdXRf
ZmlsZS53cml0ZShzdHJpbmcpCisgICAgICAgIAorCisKKyMgQ29tcGlsZSBtZXRhbCBzaGFkZXIu
CisjIGNvbXBpbGVkX2ZpbGU6IFRoZSBjb21waWxlZCBtZXRhbGxpYgorIyB2YXJpYWJsZV9uYW1l
OiBuYW1lIG9mIEMrKyB2YXJpYWJsZSB0aGF0IHdpbGwgaG9sZCB0aGUgY29tcGlsZWQgYmluYXJ5
IGRhdGEgYXMgYSBDIGFycmF5LgorIyBhZGRpdGlvbmFsX2ZsYWdzOiBhZGRpdGlvbmFsIHNoYWRl
ciBjb21waWxlciBmbGFncworIyBzcmNfZmlsZXM6IG1ldGFsIHNvdXJjZSBmaWxlcworZGVmIGdl
bl9wcmVjb21waWxlZF9zaGFkZXJzKGNvbXBpbGVkX2ZpbGUsIHZhcmlhYmxlX25hbWUsIG91dHB1
dF9maWxlKToKKyAgICBhcHBlbmRfZmlsZV9hc19ieXRlX2FycmF5X3N0cmluZyh2YXJpYWJsZV9u
YW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGVkX2ZpbGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0X2ZpbGUpCisgICAg
b3Muc3lzdGVtKCdlY2hvICJjb25zdGV4cHIgc2l6ZV90IHswfV9sZW49c2l6ZW9mKHswfSk7IiA+
PiBcInsxfVwiJworICAgICAgICAgICAgICAuZm9ybWF0KHZhcmlhYmxlX25hbWUsIG91dHB1dF9m
aWxlKSkKKworZGVmIG1haW4oKToKKyAgICBpbnB1dF9maWxlID0gc3lzLmFyZ3ZbMV0KKyAgICBv
dXRwdXRfZmlsZSA9IHN5cy5hcmd2WzJdCisgICAgb3MuY2hkaXIoc3lzLnBhdGhbMF0pCisgICAg
CisgICAgYm9pbGVycGxhdGVfY29kZSA9IHRlbXBsYXRlX2hlYWRlcl9ib2lsZXJwbGF0ZS5mb3Jt
YXQoCisgICAgICAgIHNjcmlwdF9uYW1lPXN5cy5hcmd2WzBdLCBjb3B5cmlnaHRfeWVhcj1kYXRl
dGltZS50b2RheSgpLnllYXIpCisKKyAgICAjIC0tLS0tLS0tIENvbXBpbGUgc2hhZGVycyAtLS0t
LS0tLS0tLQorICAgICMgYm9pbGVyIHBsYXRlIGNvZGUKKyAgICBvcy5zeXN0ZW0oImVjaG8gXCJ7
MH1cIiA+IFwiezF9XCIiLmZvcm1hdChib2lsZXJwbGF0ZV9jb2RlLCBvdXRwdXRfZmlsZSkpCisg
ICAgb3Muc3lzdGVtKAorICAgICAgICAnZWNobyAiLy8gQ29tcGlsZWQgYmluYXJ5IGZvciBNZXRh
bCBkZWZhdWx0IHNoYWRlcnMuXG5cbiIgPj4gIFwiezB9XCInLmZvcm1hdChvdXRwdXRfZmlsZSkK
KyAgICApCisgICAgb3Muc3lzdGVtKCdlY2hvICIjaW5jbHVkZSA8VGFyZ2V0Q29uZGl0aW9uYWxz
Lmg+XG5cbiIgPj4gIFwiezB9XCInLmZvcm1hdChvdXRwdXRfZmlsZSkpCisKKyAgICBvcy5zeXN0
ZW0oJ2VjaG8gIi8vIGNsYW5nLWZvcm1hdCBvZmYiID4+IFwiezB9XCInLmZvcm1hdChvdXRwdXRf
ZmlsZSkpCisgICAgCisgICAgZ2VuX3ByZWNvbXBpbGVkX3NoYWRlcnMoaW5wdXRfZmlsZSwgJ2dN
ZXRhbEJpbmFyeVNoYWRlcnMnLCBvdXRwdXRfZmlsZSkKKworICAgIG9zLnN5c3RlbSgnZWNobyAi
Ly8gY2xhbmctZm9ybWF0IG9uIiA+PiBcInswfVwiJy5mb3JtYXQob3V0cHV0X2ZpbGUpKQorCisK
K2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgc3lzLmV4aXQobWFpbigpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433660</attachid>
            <date>2021-07-15 23:49:35 -0700</date>
            <delta_ts>2021-07-16 12:45:03 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-227333-20210715234934.patch</filename>
            <type>text/plain</type>
            <size>22109</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5OTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggOWUxZGQ0ZTE5ZWExODU3NzU4MzI1ZjM0ZjIxZWY1YjBkMjVhNTI0OC4uMmFlMjIzZjBmYmMw
ZWNhZGIwMjhkOWY2NjNmZDhhMDIxNDYwMThjYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA3LTE0ICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVpbGQgRGVmYXVsdCBNZXRhbCBsaWJyYXJ5IG9m
ZmxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NzMzMworCisgICAgICAgIDxyZGFyOi8vNzk5MjMzNzE+CisKKyAgICAgICAgVGhpcyBwYXRjaCBj
b21waWxlcyBhbmQgY3JlYXRlcyBhIE1ldGFsIGxpYnJhcnkgYXQgYnVpbGQgdGltZSwgc3Rvcmlu
ZworICAgICAgICB0aGUgbGlicmFyeSBhcyBhIGNvbXBpbGVkIGJpbmFyeSBmaWxlLiBUaGlzIGxp
YnJhcnkgaXMgYmFrZWQgaW50byB0aGUgZHlsaWIsIAorICAgICAgICBhbmQgaXMgbG9hZGVkIGF0
IGNvbnRleHQgY3JlYXRpb24gdGltZS4KKworICAgICAgICBVbmxpa2UgdGhlIHByZXZpb3VzIHZl
cnNpb24gb2YgdGhpcyBwYXRjaCwgdGhpcyBwYXRjaCBkb2VzIG5vdCBzYXZlIG9yIHN0b3JlIHRo
ZSAubWV0YWxsaWIgb24gZGlzaywgYnV0IHJhdGhlcgorICAgICAgICBiYWtlcyBpdCBpbnRvIGEg
YmluYXJ5LgorICAgICAgICAKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgor
CisgICAgICAgICogQU5HTEUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBD
b25maWd1cmF0aW9ucy9BTkdMRS1keW5hbWljLnhjY29uZmlnOgorICAgICAgICAqIHNyYy9saWJB
TkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tOgorICAgICAgICAocng6OkRpc3BsYXlN
dGw6OmluaXRpYWxpemVTaGFkZXJMaWJyYXJ5KToKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvbXRsX3V0aWxzLmg6CisKIDIwMjEtMDctMTMgIEt5bGUgUGlkZGluZ3RvbiAg
PGtwaWRkaW5ndG9uQGFwcGxlLmNvbT4KIAogICAgICAgICByQUYgZHJpdmVuIFdlYkdMIHN1Ym1p
dHMgZXhjZXNzaXZlIGFtb3VudCBvZiBHUFUgd29yayB3aGVuIGZyYW1lcyBhcmUgc2xvdwpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0FOR0xFLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggZWQ5ZmJiYTliNGQ5YjQwMTUyNDE1MTJlMzRhMmJkN2U5MjMwODhlNC4u
ZWJlMDk4NmZlYzM0MGU1MDQxZTM3Njc1ZDE4MjYyMDQ0ZmNhYjY3OSAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9BTkdMRS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC04MzgsNiArODM4LDEzIEBACiAJCUZGMkQyRjU1MjVDOEIxNEEwMDJGQjY5OSAvKiBGaXhU
eXBlQ29uc3RydWN0b3JzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGRjJEMkY1MjI1QzhCMTRBMDAyRkI2OTkgLyogRml4VHlwZUNvbnN0cnVjdG9ycy5o
ICovOyB9OwogCQlGRjU4MkUxNjI2NTQ0RkM0MDA2REE1QjggLyogUHJvdm9raW5nVmVydGV4SGVs
cGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY1
ODJFMTQyNjU0NEZDNDAwNkRBNUI4IC8qIFByb3Zva2luZ1ZlcnRleEhlbHBlci5tbSAqLzsgfTsK
IAkJRkY1ODJFMTcyNjU0NEZDNDAwNkRBNUI4IC8qIFByb3Zva2luZ1ZlcnRleEhlbHBlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY1ODJFMTUyNjU0
NEZDNDAwNkRBNUI4IC8qIFByb3Zva2luZ1ZlcnRleEhlbHBlci5oICovOyB9OworCQlGRkRBNTBD
QzI2OUY4NDgyMDBBRTExRTIgLyogYmxpdC5tZXRhbCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFGRUFBMjU4MThENjgwMDg5NEUyNCAvKiBibGl0Lm1l
dGFsICovOyB9OworCQlGRkRBNTBDRDI2OUY4NDgyMDBBRTExRTIgLyogY2xlYXIubWV0YWwgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRjgxRkVCMTI1ODE4
RDY4MDA4OTRFMjQgLyogY2xlYXIubWV0YWwgKi87IH07CisJCUZGREE1MENFMjY5Rjg0ODIwMEFF
MTFFMiAvKiBjb3B5X2J1ZmZlci5tZXRhbCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZGODFGRUFGMjU4MThENjgwMDg5NEUyNCAvKiBjb3B5X2J1ZmZlci5t
ZXRhbCAqLzsgfTsKKwkJRkZEQTUwQ0YyNjlGODQ4MjAwQUUxMUUyIC8qIGdlbl9pbmRpY2VzLm1l
dGFsIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY4MUZF
QjMyNTgxOEQ2ODAwODk0RTI0IC8qIGdlbl9pbmRpY2VzLm1ldGFsICovOyB9OworCQlGRkRBNTBE
MDI2OUY4NDgyMDBBRTExRTIgLyogZ2VuX21pcG1hcC5tZXRhbCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFGRUIyMjU4MThENjgwMDg5NEUyNCAvKiBn
ZW5fbWlwbWFwLm1ldGFsICovOyB9OworCQlGRkRBNTBEMTI2OUY4NDgyMDBBRTExRTIgLyogcmV3
cml0ZV9pbmRpY2VzLm1ldGFsIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkY1ODJFMTgyNjU0NEZFNTAwNkRBNUI4IC8qIHJld3JpdGVfaW5kaWNlcy5tZXRh
bCAqLzsgfTsKKwkJRkZEQTUwRDIyNjlGODQ4MjAwQUUxMUUyIC8qIHZpc2liaWxpdHkubWV0YWwg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRjgxRkVBQjI1
ODE4RDY4MDA4OTRFMjQgLyogdmlzaWJpbGl0eS5tZXRhbCAqLzsgfTsKIC8qIEVuZCBQQlhCdWls
ZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhCdWlsZFJ1bGUgc2VjdGlvbiAqLwpAQCAt
ODY0LDYgKzg3MSwxMyBAQAogCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSAzMUNERkRGMzI0OTE4
MTlFMDA0ODZGMjc7CiAJCQlyZW1vdGVJbmZvID0gIkFOR0xFIChkeW5hbWljKSI7CiAJCX07CisJ
CUZGREE1MEQzMjY5Rjg0QTAwMEFFMTFFMiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7
CisJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7CisJCQljb250YWluZXJQb3J0YWwgPSBG
QjM5RDA3MDEyMDBFRDkyMDAwODhFNjkgLyogUHJvamVjdCBvYmplY3QgKi87CisJCQlwcm94eVR5
cGUgPSAxOworCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSBGRkRBNTBDNDI2OUY4NDUxMDBBRTEx
RTI7CisJCQlyZW1vdGVJbmZvID0gQU5HTEVNZXRhbExpYjsKKwkJfTsKIC8qIEVuZCBQQlhDb250
YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhDb3B5RmlsZXNCdWlsZFBo
YXNlIHNlY3Rpb24gKi8KQEAgLTE4MTMsNiArMTgyNyw4IEBACiAJCUZGODFGRjlBMjU4MUEzQzIw
MDg5NEUyNCAvKiBJbnRlcm1SZWJ1aWxkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEludGVybVJlYnVpbGQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkZBMEMy
QzUyNUNCNkE3NjAwMTA1MzA2IC8qIE5hbWVFbWJlZGRlZFVuaWZvcm1TdHJ1Y3RzTWV0YWwuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmFtZUVtYmVkZGVkVW5pZm9y
bVN0cnVjdHNNZXRhbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZGQTBDMkM2
MjVDQjZBNzcwMDEwNTMwNiAvKiBOYW1lRW1iZWRkZWRVbmlmb3JtU3RydWN0c01ldGFsLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hbWVFbWJlZGRlZFVuaWZvcm1TdHJ1Y3Rz
TWV0YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkZEQTUwRDYyNjlGOUU1ODAw
QUUxMUUyIC8qIGNyZWF0ZV9tdGxfaW50ZXJuYWxfc2hhZGVycy5weSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQu
c2NyaXB0LnB5dGhvbjsgcGF0aCA9IGNyZWF0ZV9tdGxfaW50ZXJuYWxfc2hhZGVycy5weTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkZFMEQ5MTUyNkEwQjRFODAwNzFBREFFIC8qIEFu
Z2xlTWV0YWxMaWIueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gQW5nbGVNZXRhbExpYi54Y2NvbmZp
Zzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIC8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNl
Y3Rpb24gKi8KIAogLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpA
QCAtMjc2OSw2ICsyNzg1LDcgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTMxQ0RGREVFMjQ5MTdG
ODkwMDQ4NkYyNyAvKiBBTkdMRS1keW5hbWljLnhjY29uZmlnICovLAogCQkJCTMxQ0RGREVGMjQ5
MTdGODkwMDQ4NkYyNyAvKiBBTkdMRS1zdGF0aWMueGNjb25maWcgKi8sCisJCQkJRkZFMEQ5MTUy
NkEwQjRFODAwNzFBREFFIC8qIEFuZ2xlTWV0YWxMaWIueGNjb25maWcgKi8sCiAJCQkJNUQ3QzU5
QzYxMjA4QzY4QjAwMUM4NzNFIC8qIEJhc2UueGNjb25maWcgKi8sCiAJCQkJNUQ3QzU5QzcxMjA4
QzY4QjAwMUM4NzNFIC8qIERlYnVnUmVsZWFzZS54Y2NvbmZpZyAqLywKIAkJCQlBMUI4OUI4OTIy
MUUwMDNBMDBFQjRDRUEgLyogU0RLVmFyaWFudC54Y2NvbmZpZyAqLywKQEAgLTMwNTYsNiArMzA3
Myw3IEBACiAJCQkJRkY4MUZFQUQyNTgxOEQ2ODAwODk0RTI0IC8qIGNvbW1vbi5oICovLAogCQkJ
CUZGODFGRUFDMjU4MThENjgwMDg5NEUyNCAvKiBjb25zdGFudHMuaCAqLywKIAkJCQlGRjgxRkVB
RjI1ODE4RDY4MDA4OTRFMjQgLyogY29weV9idWZmZXIubWV0YWwgKi8sCisJCQkJRkZEQTUwRDYy
NjlGOUU1ODAwQUUxMUUyIC8qIGNyZWF0ZV9tdGxfaW50ZXJuYWxfc2hhZGVycy5weSAqLywKIAkJ
CQlGRjgxRkVCMDI1ODE4RDY4MDA4OTRFMjQgLyogZm9ybWF0X2F1dG9nZW4uaCAqLywKIAkJCQlG
RjgxRkVCMzI1ODE4RDY4MDA4OTRFMjQgLyogZ2VuX2luZGljZXMubWV0YWwgKi8sCiAJCQkJRkY4
MUZFQjIyNTgxOEQ2ODAwODk0RTI0IC8qIGdlbl9taXBtYXAubWV0YWwgKi8sCkBAIC0zNTcwLDYg
KzM1ODgsNyBAQAogCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OwogCQkJYnVpbGRDb25maWd1cmF0
aW9uTGlzdCA9IDMxQ0RGREY1MjQ5MTgxOUUwMDQ4NkYyNyAvKiBCdWlsZCBjb25maWd1cmF0aW9u
IGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiQU5HTEUgKGR5bmFtaWMpIiAqLzsKIAkJCWJ1aWxk
UGhhc2VzID0gKAorCQkJCUZGREE1MEQ1MjY5Rjg5NTQwMEFFMTFFMiAvKiBCYWtlIE1ldGFsIExp
YnJhcnkgdG8gTlNEYXRhICovLAogCQkJCTMxQ0RGREYwMjQ5MTgxOUUwMDQ4NkYyNyAvKiBIZWFk
ZXJzICovLAogCQkJCTMxQ0RGREYxMjQ5MTgxOUUwMDQ4NkYyNyAvKiBTb3VyY2VzICovLAogCQkJ
CTMxQ0RGREYyMjQ5MTgxOUUwMDQ4NkYyNyAvKiBGcmFtZXdvcmtzICovLApAQCAtMzU4MSwxMiAr
MzYwMCwyNyBAQAogCQkJCTMxQTlFOUEwMjQ5QUEwNDIwMEM3RTI0MyAvKiBQQlhCdWlsZFJ1bGUg
Ki8sCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAorCQkJCUZGREE1MEQ0MjY5Rjg0QTAwMEFF
MTFFMiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJKTsKIAkJCW5hbWUgPSAiQU5HTEUg
KGR5bmFtaWMpIjsKIAkJCXByb2R1Y3ROYW1lID0gIkFOR0xFIChkeW5hbWljKSI7CiAJCQlwcm9k
dWN0UmVmZXJlbmNlID0gMzFDREZERjQyNDkxODE5RTAwNDg2RjI3IC8qIGxpYkFOR0xFLXNoYXJl
ZC5keWxpYiAqLzsKIAkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUubGli
cmFyeS5keW5hbWljIjsKIAkJfTsKKwkJRkZEQTUwQzQyNjlGODQ1MTAwQUUxMUUyIC8qIEFOR0xF
TWV0YWxMaWIgKi8gPSB7CisJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJCQlidWlsZENvbmZp
Z3VyYXRpb25MaXN0ID0gRkZEQTUwQ0IyNjlGODQ1MTAwQUUxMUUyIC8qIEJ1aWxkIGNvbmZpZ3Vy
YXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJBTkdMRU1ldGFsTGliIiAqLzsKKwkJCWJ1
aWxkUGhhc2VzID0gKAorCQkJCUZGREE1MEMzMjY5Rjg0NTEwMEFFMTFFMiAvKiBTb3VyY2VzICov
LAorCQkJKTsKKwkJCWJ1aWxkUnVsZXMgPSAoCisJCQkpOworCQkJZGVwZW5kZW5jaWVzID0gKAor
CQkJKTsKKwkJCW5hbWUgPSBBTkdMRU1ldGFsTGliOworCQkJcHJvZHVjdE5hbWUgPSBBTkdMRU1l
dGFsTGliOworCQkJcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5tZXRhbC1s
aWJyYXJ5IjsKKwkJfTsKIC8qIEVuZCBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAqLwogCiAvKiBC
ZWdpbiBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KQEAgLTM2MDQsNiArMzYzOCwxMCBAQAogCQkJCQkJ
Q3JlYXRlZE9uVG9vbHNWZXJzaW9uID0gMTIuMDsKIAkJCQkJCVByb3Zpc2lvbmluZ1N0eWxlID0g
QXV0b21hdGljOwogCQkJCQl9OworCQkJCQlGRkRBNTBDNDI2OUY4NDUxMDBBRTExRTIgPSB7CisJ
CQkJCQlDcmVhdGVkT25Ub29sc1ZlcnNpb24gPSAxMy4wOworCQkJCQkJUHJvdmlzaW9uaW5nU3R5
bGUgPSBBdXRvbWF0aWM7CisJCQkJCX07CiAJCQkJfTsKIAkJCX07CiAJCQlidWlsZENvbmZpZ3Vy
YXRpb25MaXN0ID0gRkIzOUQwNzMxMjAwRUQ5MjAwMDg4RTY5IC8qIEJ1aWxkIGNvbmZpZ3VyYXRp
b24gbGlzdCBmb3IgUEJYUHJvamVjdCAiQU5HTEUiICovOwpAQCAtMzYyMCw2ICszNjU4LDcgQEAK
IAkJCXRhcmdldHMgPSAoCiAJCQkJMzFEQjc5NEYyNDkxQzMzMzAwOTgyODc4IC8qIEFOR0xFICov
LAogCQkJCTMxQ0RGREYzMjQ5MTgxOUUwMDQ4NkYyNyAvKiBBTkdMRSAoZHluYW1pYykgKi8sCisJ
CQkJRkZEQTUwQzQyNjlGODQ1MTAwQUUxMUUyIC8qIEFOR0xFTWV0YWxMaWIgKi8sCiAJCQkpOwog
CQl9OwogLyogRW5kIFBCWFByb2plY3Qgc2VjdGlvbiAqLwpAQCAtMzY0Myw2ICszNjgyLDI3IEBA
CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwogCQkJc2hlbGxTY3JpcHQgPSAiaWYgWyBcIiR7WENP
REVfVkVSU0lPTl9BQ1RVQUx9XCIgLWdlIFwiMTE0MFwiIC1hIFwiJHtXS19VU0VfTkVXX0JVSUxE
X1NZU1RFTX1cIiA9IFwiWUVTXCIgXTsgdGhlblxuICAgICMgSW4gdGhpcyBjb25maWd1cmF0aW9u
LCBwb3N0LXByb2Nlc3NpbmcgaXMgcGVyZm9ybWVkIGF0IHRoZSBzYW1lIHRpbWUgYXMgY29weWlu
ZyBpbiB0aGUgcG9zdHByb2Nlc3MtaGVhZGVyLXJ1bGUgc2NyaXB0LCBzbyB0aGVyZSdzIG5vIG5l
ZWQgZm9yIHRoaXMgc2VwYXJhdGUgc3RlcC5cbiAgICBleGl0IDBcbmZpXG5cbmV4ZWMgXCIkU1JD
Uk9PVC9hZGp1c3QtYW5nbGUtaW5jbHVkZS1wYXRocy5weVwiXG4iOwogCQl9OworCQlGRkRBNTBE
NTI2OUY4OTU0MDBBRTExRTIgLyogQmFrZSBNZXRhbCBMaWJyYXJ5IHRvIE5TRGF0YSAqLyA9IHsK
KwkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9
IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlpbnB1dEZpbGVMaXN0UGF0aHMg
PSAoCisJCQkpOworCQkJaW5wdXRQYXRocyA9ICgKKwkJCQkiJChCVUlMVF9QUk9EVUNUU19ESVIp
L0FOR0xFTWV0YWxMaWIubWV0YWxsaWIiLAorCQkJCSIkKFNSQ1JPT1QpL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9tZXRhbC9zaGFkZXJzL2NyZWF0ZV9tdGxfaW50ZXJuYWxfc2hhZGVycy5weSIsCisJ
CQkpOworCQkJbmFtZSA9ICJCYWtlIE1ldGFsIExpYnJhcnkgdG8gTlNEYXRhIjsKKwkJCW91dHB1
dEZpbGVMaXN0UGF0aHMgPSAoCisJCQkpOworCQkJb3V0cHV0UGF0aHMgPSAoCisJCQkJIiQoREVS
SVZFRF9GSUxFX0RJUikvbXRsX2RlZmF1bHRfc2hhZGVyc19jb21waWxlZC5pbmMiLAorCQkJKTsK
KwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQkJc2hlbGxQYXRo
ID0gL2Jpbi9zaDsKKwkJCXNoZWxsU2NyaXB0ID0gImVjaG8gcHl0aG9uIFwiJHtTUkNST09UfS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvc2hhZGVycy9jcmVhdGVfbXRsX2ludGVybmFsX3No
YWRlcnMucHlcIiBcIiRTQ1JJUFRfSU5QVVRfRklMRV8wXCIgXCIkU0NSSVBUX09VVFBVVF9GSUxF
XzBcIlxucHl0aG9uIFwiJHtTUkNST09UfS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvc2hh
ZGVycy9jcmVhdGVfbXRsX2ludGVybmFsX3NoYWRlcnMucHlcIiBcIiRTQ1JJUFRfSU5QVVRfRklM
RV8wXCIgXCIkU0NSSVBUX09VVFBVVF9GSUxFXzBcIlxuIjsKKwkJfTsKIC8qIEVuZCBQQlhTaGVs
bFNjcmlwdEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhTb3VyY2VzQnVpbGRQ
aGFzZSBzZWN0aW9uICovCkBAIC00MDUzLDYgKzQxMTMsMjAgQEAKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKKwkJRkZEQTUwQzMyNjlGODQ1
MTAwQUUxMUUyIC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFz
ZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQlG
RkRBNTBDQzI2OUY4NDgyMDBBRTExRTIgLyogYmxpdC5tZXRhbCBpbiBTb3VyY2VzICovLAorCQkJ
CUZGREE1MENEMjY5Rjg0ODIwMEFFMTFFMiAvKiBjbGVhci5tZXRhbCBpbiBTb3VyY2VzICovLAor
CQkJCUZGREE1MENFMjY5Rjg0ODIwMEFFMTFFMiAvKiBjb3B5X2J1ZmZlci5tZXRhbCBpbiBTb3Vy
Y2VzICovLAorCQkJCUZGREE1MENGMjY5Rjg0ODIwMEFFMTFFMiAvKiBnZW5faW5kaWNlcy5tZXRh
bCBpbiBTb3VyY2VzICovLAorCQkJCUZGREE1MEQwMjY5Rjg0ODIwMEFFMTFFMiAvKiBnZW5fbWlw
bWFwLm1ldGFsIGluIFNvdXJjZXMgKi8sCisJCQkJRkZEQTUwRDEyNjlGODQ4MjAwQUUxMUUyIC8q
IHJld3JpdGVfaW5kaWNlcy5tZXRhbCBpbiBTb3VyY2VzICovLAorCQkJCUZGREE1MEQyMjY5Rjg0
ODIwMEFFMTFFMiAvKiB2aXNpYmlsaXR5Lm1ldGFsIGluIFNvdXJjZXMgKi8sCisJCQkpOworCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAvKiBFbmQgUEJY
U291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhUYXJnZXREZXBlbmRl
bmN5IHNlY3Rpb24gKi8KQEAgLTQwNjEsNiArNDEzNSwxMSBAQAogCQkJdGFyZ2V0ID0gMzFDREZE
RjMyNDkxODE5RTAwNDg2RjI3IC8qIEFOR0xFIChkeW5hbWljKSAqLzsKIAkJCXRhcmdldFByb3h5
ID0gMzFEQjc5NTYyNDkxQzM1NDAwOTgyODc4IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsK
IAkJfTsKKwkJRkZEQTUwRDQyNjlGODRBMDAwQUUxMUUyIC8qIFBCWFRhcmdldERlcGVuZGVuY3kg
Ki8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gRkZEQTUw
QzQyNjlGODQ1MTAwQUUxMUUyIC8qIEFOR0xFTWV0YWxMaWIgKi87CisJCQl0YXJnZXRQcm94eSA9
IEZGREE1MEQzMjY5Rjg0QTAwMEFFMTFFMiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CisJ
CX07CiAvKiBFbmQgUEJYVGFyZ2V0RGVwZW5kZW5jeSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFhD
QnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KQEAgLTQwODgsNyArNDE2Nyw2IEBACiAJCTMx
REI3OTUwMjQ5MUMzMzMwMDk4Mjg3OCAvKiBEZWJ1ZyAqLyA9IHsKIAkJCWlzYSA9IFhDQnVpbGRD
b25maWd1cmF0aW9uOwogCQkJYnVpbGRTZXR0aW5ncyA9IHsKLQkJCQlDT0RFX1NJR05fU1RZTEUg
PSBBdXRvbWF0aWM7CiAJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKIAkJCX07
CiAJCQluYW1lID0gRGVidWc7CkBAIC00MDk2LDcgKzQxNzQsNiBAQAogCQkzMURCNzk1MTI0OTFD
MzMzMDA5ODI4NzggLyogUmVsZWFzZSAqLyA9IHsKIAkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0
aW9uOwogCQkJYnVpbGRTZXR0aW5ncyA9IHsKLQkJCQlDT0RFX1NJR05fU1RZTEUgPSBBdXRvbWF0
aWM7CiAJCQkJUFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKIAkJCX07CiAJCQluYW1l
ID0gUmVsZWFzZTsKQEAgLTQxMDQsNyArNDE4MSw2IEBACiAJCTMxREI3OTUyMjQ5MUMzMzMwMDk4
Mjg3OCAvKiBQcm9kdWN0aW9uICovID0gewogCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247
CiAJCQlidWlsZFNldHRpbmdzID0gewotCQkJCUNPREVfU0lHTl9TVFlMRSA9IEF1dG9tYXRpYzsK
IAkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwogCQkJfTsKIAkJCW5hbWUgPSBQ
cm9kdWN0aW9uOwpAQCAtNDEzMSw2ICs0MjA3LDI3IEBACiAJCQl9OwogCQkJbmFtZSA9IFJlbGVh
c2U7CiAJCX07CisJCUZGREE1MEM4MjY5Rjg0NTEwMEFFMTFFMiAvKiBEZWJ1ZyAqLyA9IHsKKwkJ
CWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVu
Y2UgPSBGRkUwRDkxNTI2QTBCNEU4MDA3MUFEQUUgLyogQW5nbGVNZXRhbExpYi54Y2NvbmZpZyAq
LzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IERlYnVnOworCQl9Owor
CQlGRkRBNTBDOTI2OUY4NDUxMDBBRTExRTIgLyogUmVsZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhD
QnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBGRkUw
RDkxNTI2QTBCNEU4MDA3MUFEQUUgLyogQW5nbGVNZXRhbExpYi54Y2NvbmZpZyAqLzsKKwkJCWJ1
aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJCUZGREE1
MENBMjY5Rjg0NTEwMEFFMTFFMiAvKiBQcm9kdWN0aW9uICovID0geworCQkJaXNhID0gWENCdWls
ZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEZGRTBEOTE1
MjZBMEI0RTgwMDcxQURBRSAvKiBBbmdsZU1ldGFsTGliLnhjY29uZmlnICovOworCQkJYnVpbGRT
ZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKIC8qIEVuZCBY
Q0J1aWxkQ29uZmlndXJhdGlvbiBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFhDQ29uZmlndXJhdGlv
bkxpc3Qgc2VjdGlvbiAqLwpAQCAtNDE2NCw2ICs0MjYxLDE2IEBACiAJCQlkZWZhdWx0Q29uZmln
dXJhdGlvbklzVmlzaWJsZSA9IDA7CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9k
dWN0aW9uOwogCQl9OworCQlGRkRBNTBDQjI2OUY4NDUxMDBBRTExRTIgLyogQnVpbGQgY29uZmln
dXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIkFOR0xFTWV0YWxMaWIiICovID0gewor
CQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAo
CisJCQkJRkZEQTUwQzgyNjlGODQ1MTAwQUUxMUUyIC8qIERlYnVnICovLAorCQkJCUZGREE1MEM5
MjY5Rjg0NTEwMEFFMTFFMiAvKiBSZWxlYXNlICovLAorCQkJCUZGREE1MENBMjY5Rjg0NTEwMEFF
MTFFMiAvKiBQcm9kdWN0aW9uICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNW
aXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFByb2R1Y3Rpb247CisJ
CX07CiAvKiBFbmQgWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCiAJfTsKIAlyb290T2Jq
ZWN0ID0gRkIzOUQwNzAxMjAwRUQ5MjAwMDg4RTY5IC8qIFByb2plY3Qgb2JqZWN0ICovOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQU5HTEUtZHlu
YW1pYy54Y2NvbmZpZyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0FO
R0xFLWR5bmFtaWMueGNjb25maWcKaW5kZXggNDI4ZmVmNTFkMTk5YzAxMGM5YjJkMjEzOTFjYWZk
YTA3MTBlMzA5MS4uMDhkYjM4MTQ4ZmVjMDliNGI3NGZmOGJkZjllNzc1MTAyNzIxYWI4MCAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQU5HTEUtZHlu
YW1pYy54Y2NvbmZpZworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9Db25maWd1cmF0aW9u
cy9BTkdMRS1keW5hbWljLnhjY29uZmlnCkBAIC0yNyw3ICsyNyw3IEBAIERZTElCX0lOU1RBTExf
TkFNRV9CQVNFX1VTRV9BTFRFUk5BVEVfRlJBTUVXT1JLU19ESVJfWUVTID0gJChEWUxJQl9JTlNU
QUxMX05BTUVfCiBEWUxJQl9JTlNUQUxMX05BTUVfQkFTRV9XS19SRUxPQ0FUQUJMRV9GUkFNRVdP
UktTXyA9ICQoRFlMSUJfSU5TVEFMTF9OQU1FX0JBU0UpOwogRFlMSUJfSU5TVEFMTF9OQU1FX0JB
U0VfV0tfUkVMT0NBVEFCTEVfRlJBTUVXT1JLU19ZRVMgPSBAbG9hZGVyX3BhdGgvLi4vLi4vLi4v
OwogCi1IRUFERVJfU0VBUkNIX1BBVEhTID0gaW5jbHVkZSBzcmMgc3JjL2NvbW1vbi90aGlyZF9w
YXJ0eS9udW1lcmljcyB0aGlyZF9wYXJ0eS9iYXNlIHNyYy9jb21tb24vdGhpcmRfcGFydHkvYmFz
ZSB0aGlyZF9wYXJ0eS96bGliL2dvb2dsZTsKK0hFQURFUl9TRUFSQ0hfUEFUSFMgPSBpbmNsdWRl
IHNyYyBzcmMvY29tbW9uL3RoaXJkX3BhcnR5L251bWVyaWNzIHRoaXJkX3BhcnR5L2Jhc2Ugc3Jj
L2NvbW1vbi90aGlyZF9wYXJ0eS9iYXNlIHRoaXJkX3BhcnR5L3psaWIvZ29vZ2xlICR7REVSSVZF
RF9GSUxFU19ESVJ9OwogCiBBTkdMRV9IRUFERVJTX0ZPTERFUl9QQVRIID0gL3Vzci9sb2NhbC9p
bmNsdWRlL0FOR0xFOwogCkBAIC0zNiw3ICszNiw3IEBAIFBVQkxJQ19IRUFERVJTX0ZPTERFUl9Q
QVRIW3Nkaz1tYWNvc3gqXSA9ICQoUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhfJChXS19QTEFU
CiBQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSF9tYWNvc3ggPSAkKEFOR0xFX0hFQURFUlNfRk9M
REVSX1BBVEgpOwogUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhfbWFjY2F0YWx5c3QgPSAkKFdL
X0FMVEVSTkFURV9GUkFNRVdPUktTX0RJUikvJChBTkdMRV9IRUFERVJTX0ZPTERFUl9QQVRIKTsK
IAotR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgTElCR0xF
U1YyX0lNUExFTUVOVEFUSU9OIExJQkFOR0xFX0lNUExFTUVOVEFUSU9OIEFOR0xFX0VOQUJMRV9P
UEVOR0wgQU5HTEVfRU5BQkxFX0dMU0wgQU5HTEVfRU5BQkxFX0VTU0wgR0xfU0lMRU5DRV9ERVBS
RUNBVElPTiBHTEVTX1NJTEVOQ0VfREVQUkVDQVRJT04gQU5HTEVfRU5BQkxFX01FVEFMOworR0ND
X1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgTElCR0xFU1YyX0lN
UExFTUVOVEFUSU9OIExJQkFOR0xFX0lNUExFTUVOVEFUSU9OIEFOR0xFX0VOQUJMRV9PUEVOR0wg
QU5HTEVfRU5BQkxFX0dMU0wgQU5HTEVfRU5BQkxFX0VTU0wgR0xfU0lMRU5DRV9ERVBSRUNBVElP
TiBHTEVTX1NJTEVOQ0VfREVQUkVDQVRJT04gQU5HTEVfRU5BQkxFX01FVEFMIEFOR0xFX01FVEFM
X1hDT0RFX0JVSUxEU19TSEFERVJTOwogCiBERUFEX0NPREVfU1RSSVBQSU5HID0gWUVTOwogREVB
RF9DT0RFX1NUUklQUElOR1tjb25maWc9RGVidWddID0gTk87CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9Db25maWd1cmF0aW9ucy9BbmdsZU1ldGFsTGliLnhjY29uZmlnIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQW5nbGVNZXRhbExpYi54Y2Nv
bmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kMDgzOWNlMTU0YzUyNzcyMmE0NTQ3ZWVjZDQ4NzUzOGVlZWM2Mjcx
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlv
bnMvQW5nbGVNZXRhbExpYi54Y2NvbmZpZwpAQCAtMCwwICsxLDIwIEBACisjaW5jbHVkZSAiVmVy
c2lvbi54Y2NvbmZpZyIKKyNpbmNsdWRlICJXZWJLaXRUYXJnZXRDb25kaXRpb25hbHMueGNjb25m
aWciCisKK1BST0RVQ1RfTkFNRSA9IEFOR0xFTWV0YWxMaWI7CitTS0lQX0lOU1RBTEwgPSBZRVM7
CisKK0hFQURFUl9TRUFSQ0hfUEFUSFMgPSBpbmNsdWRlIHNyYyBzcmMvY29tbW9uL3RoaXJkX3Bh
cnR5L251bWVyaWNzIHRoaXJkX3BhcnR5L2Jhc2Ugc3JjL2NvbW1vbi90aGlyZF9wYXJ0eS9iYXNl
IHRoaXJkX3BhcnR5L3psaWIvZ29vZ2xlOworCitBTkdMRV9IRUFERVJTX0ZPTERFUl9QQVRIID0g
L3Vzci9sb2NhbC9pbmNsdWRlL0FOR0xFOworCitQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSCA9
ICQoQU5HTEVfSEVBREVSU19GT0xERVJfUEFUSCk7CitQVUJMSUNfSEVBREVSU19GT0xERVJfUEFU
SFtzZGs9bWFjb3N4Kl0gPSAkKFBVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIXyQoV0tfUExBVEZP
Uk1fTkFNRSkpOworUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhfbWFjb3N4ID0gJChBTkdMRV9I
RUFERVJTX0ZPTERFUl9QQVRIKTsKK1BVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIX21hY2NhdGFs
eXN0ID0gJChXS19BTFRFUk5BVEVfRlJBTUVXT1JLU19ESVIpLyQoQU5HTEVfSEVBREVSU19GT0xE
RVJfUEFUSCk7CisKK01UTF9FTkFCTEVfREVCVUdfSU5GTyA9IElOQ0xVREVfU09VUkNFCitNVExf
RkFTVF9NQVRIID0gWUVTCisKK1NUUklQX0lOU1RBTExFRF9QUk9EVUNUID0gWUVTOworU1RSSVBf
SU5TVEFMTEVEX1BST0RVQ1RbY29uZmlnPURlYnVnXSA9IE5POwpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0Rpc3BsYXlNdGwu
bW0gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwv
RGlzcGxheU10bC5tbQppbmRleCA3Nzg2YzA4ZWMzOWYxYjIzZDNlNzYxM2U2M2FkNTNhMTk0NTFh
NGQ1Li5mN2FlNDg4MzFmNGU3NmNlOTg1ODM1NjNjYmU4NmZiZmQ5ZmU1YzdhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlz
cGxheU10bC5tbQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbQpAQCAtMjIsOCArMjIsMTMgQEAKICNpbmNsdWRlICJs
aWJBTkdMRS9yZW5kZXJlci9tZXRhbC9TeW5jTXRsLmgiCiAjaW5jbHVkZSAibGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvbXRsX2NvbW1vbi5oIgogI2luY2x1ZGUgImxpYkFOR0xFL3JlbmRlcmVyL21l
dGFsL3NoYWRlcnMvbXRsX2RlZmF1bHRfc2hhZGVyc19zcmNfYXV0b2dlbi5pbmMiCisjaW5jbHVk
ZSAibGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3V0aWxzLmgiCiAjaW5jbHVkZSAicGxhdGZv
cm0vUGxhdGZvcm0uaCIKIAorI2lmZGVmIEFOR0xFX01FVEFMX1hDT0RFX0JVSUxEU19TSEFERVJT
CisjaW5jbHVkZSAibXRsX2RlZmF1bHRfc2hhZGVyc19jb21waWxlZC5pbmMiCisjZW5kaWYKKwog
I2luY2x1ZGUgIkVHTC9lZ2xleHQuaCIKIAogI2lmIGRlZmluZWQoQU5HTEVfUExBVEZPUk1fTUFD
T1MpIHx8IGRlZmluZWQoQU5HTEVfUExBVEZPUk1fTUFDQ0FUQUxZU1QpCkBAIC05OTMsMjMgKzk5
OCwxNiBAQCBhbmdsZTo6UmVzdWx0IERpc3BsYXlNdGw6OmluaXRpYWxpemVTaGFkZXJMaWJyYXJ5
KCkKICNpZmRlZiBBTkdMRV9NRVRBTF9YQ09ERV9CVUlMRFNfU0hBREVSUwogICAgIG1EZWZhdWx0
U2hhZGVyc0FzeW5jSW5mby5yZXNldChuZXcgRGVmYXVsdFNoYWRlckFzeW5jSW5mb010bCk7CiAK
LSAgICBOU1N0cmluZyAqcGF0aCA9IFtOU0J1bmRsZSBidW5kbGVXaXRoSWRlbnRpZmllcjpAImNv
bS5hcHBsZS5XZWJLaXQiXS5idW5kbGVQYXRoOwotICAgIE5TRXJyb3IgKmVycm9yID0gbnVsbHB0
cjsKLSAgICBtRGVmYXVsdFNoYWRlcnNBc3luY0luZm8tPmRlZmF1bHRTaGFkZXJzID0KLSAgICAg
ICAgW2dldE1ldGFsRGV2aWNlKCkgbmV3RGVmYXVsdExpYnJhcnlXaXRoQnVuZGxlOltOU0J1bmRs
ZSBidW5kbGVXaXRoUGF0aDpwYXRoXSBlcnJvcjomZXJyb3JdOwotCi0gICAgaWYgKGVycm9yICYm
ICFtRGVmYXVsdFNoYWRlcnNBc3luY0luZm8tPmRlZmF1bHRTaGFkZXJzKQotICAgIHsKLSAgICAg
ICAgQU5HTEVfTVRMX09CSkNfU0NPUEUKLSAgICAgICAgewotICAgICAgICAgICAgRVJSKCkgPDwg
IkludGVybmFsIGVycm9yOiBuZXdEZWZhdWx0TGlicmFyeVdpdGhCdW5kbGUgZmFpbGVkLiAiCi0g
ICAgICAgICAgICAgICAgICA8PCBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbi5VVEY4U3RyaW5n
OwotICAgICAgICB9Ci0gICAgICAgIG1EZWZhdWx0U2hhZGVyc0FzeW5jSW5mby0+ZGVmYXVsdFNo
YWRlcnNDb21waWxlRXJyb3IgPSBzdGQ6Om1vdmUoZXJyb3IpOwotICAgICAgICByZXR1cm4gYW5n
bGU6OlJlc3VsdDo6U3RvcDsKLSAgICB9CisgICAgY29uc3QgdWludDhfdCAqY29tcGlsZWRfc2hh
ZGVyX2JpbmFyeTsKKyAgICBzaXplX3QgY29tcGlsZWRfc2hhZGVyX2JpbmFyeV9sZW47CisgICAg
Y29tcGlsZWRfc2hhZGVyX2JpbmFyeSAgICAgPSBnTWV0YWxCaW5hcnlTaGFkZXJzOworICAgIGNv
bXBpbGVkX3NoYWRlcl9iaW5hcnlfbGVuID0gZ01ldGFsQmluYXJ5U2hhZGVyc19sZW47CisgICAg
bXRsOjpBdXRvT2JqQ1B0cjxOU0Vycm9yICo+IGVyciA9IG5pbDsKKyAgICBtdGw6OkF1dG9PYmpD
UHRyPGlkPE1UTExpYnJhcnk+PiBtRGVmYXVsdFNoYWRlcnMgPSBtdGw6OkNyZWF0ZVNoYWRlckxp
YnJhcnlGcm9tQmluYXJ5KGdldE1ldGFsRGV2aWNlKCksIGNvbXBpbGVkX3NoYWRlcl9iaW5hcnks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb21waWxlZF9zaGFkZXJfYmluYXJ5X2xlbiwgJmVycik7CisgICAg
bURlZmF1bHRTaGFkZXJzQXN5bmNJbmZvLT5kZWZhdWx0U2hhZGVycyA9IHN0ZDo6bW92ZShtRGVm
YXVsdFNoYWRlcnMuZ2V0KCkpOworICAgIG1EZWZhdWx0U2hhZGVyc0FzeW5jSW5mby0+ZGVmYXVs
dFNoYWRlcnNDb21waWxlRXJyb3IgPSBzdGQ6Om1vdmUoZXJyLmdldCgpKTsKICAgICBtRGVmYXVs
dFNoYWRlcnNBc3luY0luZm8tPmNvbXBpbGVkID0gdHJ1ZTsKLQogI2Vsc2UKICAgICBtRGVmYXVs
dFNoYWRlcnNBc3luY0luZm8ucmVzZXQobmV3IERlZmF1bHRTaGFkZXJBc3luY0luZm9NdGwpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvbWV0YWwvbXRsX3V0aWxzLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvbWV0YWwvbXRsX3V0aWxzLmgKaW5kZXggZDI3M2Q0ODEzMDY1MTZiOGM4ZTdm
ZjNjMWFlMWZiZmJmNGQ1MzdlMy4uMmVkNWY1YzJiOTIwNGM2OTQ2YmRmNjczNjQxZjliZjUxZTM4
OWUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL21ldGFsL210bF91dGlscy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfdXRpbHMuaApAQCAtMTA1LDcgKzEwNSw2IEBA
IEF1dG9PYmpDUHRyPGlkPE1UTExpYnJhcnk+PiBDcmVhdGVTaGFkZXJMaWJyYXJ5KGlkPE1UTERl
dmljZT4gbWV0YWxEZXZpY2UsCiBBdXRvT2JqQ1B0cjxpZDxNVExMaWJyYXJ5Pj4gQ3JlYXRlU2hh
ZGVyTGlicmFyeUZyb21CaW5hcnkoaWQ8TVRMRGV2aWNlPiBtZXRhbERldmljZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
aW50OF90ICpiaW5hcnlTb3VyY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGJpbmFyeVNvdXJjZUxlbiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOU0RpY3Rp
b25hcnk8TlNTdHJpbmcgKiwgTlNPYmplY3QgKj4gKiBzdWJzdGl0dXRpb25EaWN0aW9uYXJ5LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEF1dG9PYmpDUHRyPE5TRXJyb3IgKj4gKmVycm9yKTsKIAogYm9vbCBTdXBwb3J0c0lPU0dQVUZh
bWlseShpZDxNVExEZXZpY2U+IGRldmljZSwgdWludDhfdCBpT1NGYW1pbHkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL3No
YWRlcnMvY3JlYXRlX210bF9pbnRlcm5hbF9zaGFkZXJzLnB5IGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL3NoYWRlcnMvY3JlYXRlX210bF9pbnRl
cm5hbF9zaGFkZXJzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4ZTY3OWY0ZjdmMjA4ZDhlMmQ4MzE5MWFiYzhh
NjIwMTM3Y2Q2MGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvc2hhZGVycy9jcmVhdGVfbXRsX2ludGVybmFsX3No
YWRlcnMucHkKQEAgLTAsMCArMSw3OSBAQAorIyEvdXNyL2Jpbi9weXRob24KKyMgQ29weXJpZ2h0
IDIwMjEgVGhlIEFOR0xFIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMg
VXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5z
ZSB0aGF0IGNhbiBiZQorIyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorIworIyBjcmVhdGVf
bXRsX2ludGVybmFsX3NoYWRlcnMucHk6CisjICAgU2NyaXB0IHRvIGNvbXBpbGUgYSBtZXRhbExp
YiBpbnRvIE5TRGF0YSwgZm9yIGluY2x1ZGluZyB0aGUgY29tcGlsZGVkCisjICAgICAgIGxpYnJh
cnkgaW4gdGhlIEFOR0xFIGR5bGliLgorCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCBq
c29uCitmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZQorCitzeXMucGF0aC5hcHBlbmQoJy4u
Ly4uJykKKwordGVtcGxhdGVfaGVhZGVyX2JvaWxlcnBsYXRlID0gIiIiLy8gR0VORVJBVEVEIEZJ
TEUgLSBETyBOT1QgRURJVC4KKy8vIEdlbmVyYXRlZCBieSB7c2NyaXB0X25hbWV9CisvLworLy8g
Q29weXJpZ2h0IHtjb3B5cmlnaHRfeWVhcn0gVGhlIEFOR0xFIFByb2plY3QgQXV0aG9ycy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVk
IGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisvLworIiIiCisKKworIyBDb252ZXJ0IGNvbnRlbnQgb2YgYSBmaWxlIHRvIGJ5
dGUgYXJyYXkgYW5kIHN0b3JlIGluIGEgaGVhZGVyIGZpbGUuCisjIHZhcmlhYmxlX25hbWU6IG5h
bWUgb2YgQysrIHZhcmlhYmxlIHRoYXQgd2lsbCBob2xkIHRoZSBmaWxlIGNvbnRlbnQgYXMgYnl0
ZSBhcnJheS4KKyMgZmlsZW5hbWU6IHRoZSBmaWxlIHdob3NlIGNvbnRlbnQgd2lsbCBiZSBjb252
ZXJ0ZWQgdG8gQysrIGJ5dGUgYXJyYXkuCisjIGRlc3Rfc3JjX2ZpbGU6IGRlc3RpbmF0aW9uIGhl
YWRlciBmaWxlIHRoYXQgd2lsbCBjb250YWluIHRoZSBieXRlIGFycmF5LgorZGVmIGFwcGVuZF9m
aWxlX2FzX2J5dGVfYXJyYXlfc3RyaW5nKHZhcmlhYmxlX25hbWUsIGZpbGVuYW1lLCBkZXN0X3Ny
Y19maWxlKToKKyAgICBzdHJpbmcgPSAnLy8gR2VuZXJhdGVkIGZyb20gezB9OlxuJy5mb3JtYXQo
ZmlsZW5hbWUpCisgICAgc3RyaW5nICs9ICdjb25zdGV4cHIgdWludDhfdCB7MH1bXT17e1xuJy5m
b3JtYXQodmFyaWFibGVfbmFtZSkKKyAgICBieXRlc18gPSBvcGVuKGZpbGVuYW1lLCAicmIiKS5y
ZWFkKCkKKyAgICBmb3IgYnl0ZSBpbiBieXRlc186CisgICAgICAgIHN0cmluZyArPSAnMHh7OjAy
eH0nLmZvcm1hdChvcmQoYnl0ZSkpICsgIiwgIgorICAgIHN0cmluZyArPSAiXG59O1xuIgorICAg
IHdpdGggb3BlbihkZXN0X3NyY19maWxlLCAiYSIpIGFzIG91dF9maWxlOgorICAgICAgICBvdXRf
ZmlsZS53cml0ZShzdHJpbmcpCisgICAgICAgIAorCisKKyMgQ29tcGlsZSBtZXRhbCBzaGFkZXIu
CisjIGNvbXBpbGVkX2ZpbGU6IFRoZSBjb21waWxlZCBtZXRhbGxpYgorIyB2YXJpYWJsZV9uYW1l
OiBuYW1lIG9mIEMrKyB2YXJpYWJsZSB0aGF0IHdpbGwgaG9sZCB0aGUgY29tcGlsZWQgYmluYXJ5
IGRhdGEgYXMgYSBDIGFycmF5LgorIyBhZGRpdGlvbmFsX2ZsYWdzOiBhZGRpdGlvbmFsIHNoYWRl
ciBjb21waWxlciBmbGFncworIyBzcmNfZmlsZXM6IG1ldGFsIHNvdXJjZSBmaWxlcworZGVmIGdl
bl9wcmVjb21waWxlZF9zaGFkZXJzKGNvbXBpbGVkX2ZpbGUsIHZhcmlhYmxlX25hbWUsIG91dHB1
dF9maWxlKToKKyAgICBhcHBlbmRfZmlsZV9hc19ieXRlX2FycmF5X3N0cmluZyh2YXJpYWJsZV9u
YW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGVkX2ZpbGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0X2ZpbGUpCisgICAg
b3Muc3lzdGVtKCdlY2hvICJjb25zdGV4cHIgc2l6ZV90IHswfV9sZW49c2l6ZW9mKHswfSk7IiA+
PiBcInsxfVwiJworICAgICAgICAgICAgICAuZm9ybWF0KHZhcmlhYmxlX25hbWUsIG91dHB1dF9m
aWxlKSkKKworZGVmIG1haW4oKToKKyAgICBpbnB1dF9maWxlID0gc3lzLmFyZ3ZbMV0KKyAgICBv
dXRwdXRfZmlsZSA9IHN5cy5hcmd2WzJdCisgICAgb3MuY2hkaXIoc3lzLnBhdGhbMF0pCisgICAg
CisgICAgYm9pbGVycGxhdGVfY29kZSA9IHRlbXBsYXRlX2hlYWRlcl9ib2lsZXJwbGF0ZS5mb3Jt
YXQoCisgICAgICAgIHNjcmlwdF9uYW1lPXN5cy5hcmd2WzBdLCBjb3B5cmlnaHRfeWVhcj1kYXRl
dGltZS50b2RheSgpLnllYXIpCisKKyAgICAjIC0tLS0tLS0tIENvbXBpbGUgc2hhZGVycyAtLS0t
LS0tLS0tLQorICAgICMgYm9pbGVyIHBsYXRlIGNvZGUKKyAgICBvcy5zeXN0ZW0oImVjaG8gXCJ7
MH1cIiA+IFwiezF9XCIiLmZvcm1hdChib2lsZXJwbGF0ZV9jb2RlLCBvdXRwdXRfZmlsZSkpCisg
ICAgb3Muc3lzdGVtKAorICAgICAgICAnZWNobyAiLy8gQ29tcGlsZWQgYmluYXJ5IGZvciBNZXRh
bCBkZWZhdWx0IHNoYWRlcnMuXG5cbiIgPj4gIFwiezB9XCInLmZvcm1hdChvdXRwdXRfZmlsZSkK
KyAgICApCisgICAgb3Muc3lzdGVtKCdlY2hvICIjaW5jbHVkZSA8VGFyZ2V0Q29uZGl0aW9uYWxz
Lmg+XG5cbiIgPj4gIFwiezB9XCInLmZvcm1hdChvdXRwdXRfZmlsZSkpCisKKyAgICBvcy5zeXN0
ZW0oJ2VjaG8gIi8vIGNsYW5nLWZvcm1hdCBvZmYiID4+IFwiezB9XCInLmZvcm1hdChvdXRwdXRf
ZmlsZSkpCisgICAgCisgICAgZ2VuX3ByZWNvbXBpbGVkX3NoYWRlcnMoaW5wdXRfZmlsZSwgJ2dN
ZXRhbEJpbmFyeVNoYWRlcnMnLCBvdXRwdXRfZmlsZSkKKworICAgIG9zLnN5c3RlbSgnZWNobyAi
Ly8gY2xhbmctZm9ybWF0IG9uIiA+PiBcInswfVwiJy5mb3JtYXQob3V0cHV0X2ZpbGUpKQorCisK
K2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgc3lzLmV4aXQobWFpbigpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433693</attachid>
            <date>2021-07-16 12:45:05 -0700</date>
            <delta_ts>2021-07-16 16:59:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227333-20210716124504.patch</filename>
            <type>text/plain</type>
            <size>22222</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5OTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggZTg4OTc1ZGE1NWUxZDVjMDFjNzM0ODViOWQyMTM2OWJjMzBiODYwOS4uZjQ5MWRlOTU5YTRl
YmQzYzA4MDEzZjY3MDgwOTAxZTQ3YTNlNTgxNyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA3LTE2ICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQnVpbGQgRGVmYXVsdCBNZXRhbCBsaWJyYXJ5IG9m
ZmxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NzMzMworCisgICAgICAgIDxyZGFyOi8vNzk5MjMzNzE+CisKKyAgICAgICAgVGhpcyBwYXRjaCBj
b21waWxlcyBhbmQgY3JlYXRlcyBhIE1ldGFsIGxpYnJhcnkgYXQgYnVpbGQgdGltZSwgc3Rvcmlu
ZworICAgICAgICB0aGUgbGlicmFyeSBhcyBhIGNvbXBpbGVkIGJpbmFyeSBmaWxlLiBUaGlzIGxp
YnJhcnkgaXMgYmFrZWQgaW50byB0aGUgZHlsaWIsCisgICAgICAgIGFuZCBpcyBsb2FkZWQgYXQg
Y29udGV4dCBjcmVhdGlvbiB0aW1lLgorCisgICAgICAgIFVubGlrZSB0aGUgcHJldmlvdXMgdmVy
c2lvbiBvZiB0aGlzIHBhdGNoLCB0aGlzIHBhdGNoIGRvZXMgbm90IHNhdmUgb3Igc3RvcmUgdGhl
IC5tZXRhbGxpYiBvbiBkaXNrLCBidXQgcmF0aGVyCisgICAgICAgIGJha2VzIGl0IGludG8gYSBi
aW5hcnkuCisKKyAgICAgICAgRml4ZWQgaW50ZXJuYWwgYnVpbGQgYnJlYWtzIGJ5IHNraXBwaW5n
IE1ldGFsbGliIGJha2Ugc2NyaXB0LgorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVz
c2VsbC4KKworICAgICAgICAqIEFOR0xFLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogQ29uZmlndXJhdGlvbnMvQU5HTEUtZHluYW1pYy54Y2NvbmZpZzoKKyAgICAgICAgKiBz
cmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbToKKyAgICAgICAgKHJ4OjpE
aXNwbGF5TXRsOjppbml0aWFsaXplU2hhZGVyTGlicmFyeSk6CisgICAgICAgICogc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5oOgorCiAyMDIxLTA3LTE2ICBUcnVpdHQgU2F2
ZWxsICA8dHNhdmVsbEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5n
IHIyNzk5ODAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9BTkdMRS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlZDlmYmJhOWI0ZDliNDAxNTI0MTUxMmUzNGEy
YmQ3ZTkyMzA4OGU0Li5mYjlmMjc4OGVlMDc4ZDJiYmY3MjBmYjkzYmIwZTkzNjM1ZGQ2ZGM5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9BTkdMRS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0FOR0xFLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTgzOCw2ICs4MzgsMTMgQEAKIAkJRkYyRDJGNTUyNUM4QjE0QTAw
MkZCNjk5IC8qIEZpeFR5cGVDb25zdHJ1Y3RvcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGMkQyRjUyMjVDOEIxNEEwMDJGQjY5OSAvKiBGaXhUeXBl
Q29uc3RydWN0b3JzLmggKi87IH07CiAJCUZGNTgyRTE2MjY1NDRGQzQwMDZEQTVCOCAvKiBQcm92
b2tpbmdWZXJ0ZXhIZWxwZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGRjU4MkUxNDI2NTQ0RkM0MDA2REE1QjggLyogUHJvdm9raW5nVmVydGV4SGVs
cGVyLm1tICovOyB9OwogCQlGRjU4MkUxNzI2NTQ0RkM0MDA2REE1QjggLyogUHJvdm9raW5nVmVy
dGV4SGVscGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGRjU4MkUxNTI2NTQ0RkM0MDA2REE1QjggLyogUHJvdm9raW5nVmVydGV4SGVscGVyLmggKi87
IH07CisJCUZGREE1MENDMjY5Rjg0ODIwMEFFMTFFMiAvKiBibGl0Lm1ldGFsIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY4MUZFQUEyNTgxOEQ2ODAwODk0
RTI0IC8qIGJsaXQubWV0YWwgKi87IH07CisJCUZGREE1MENEMjY5Rjg0ODIwMEFFMTFFMiAvKiBj
bGVhci5tZXRhbCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZGODFGRUIxMjU4MThENjgwMDg5NEUyNCAvKiBjbGVhci5tZXRhbCAqLzsgfTsKKwkJRkZEQTUw
Q0UyNjlGODQ4MjAwQUUxMUUyIC8qIGNvcHlfYnVmZmVyLm1ldGFsIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY4MUZFQUYyNTgxOEQ2ODAwODk0RTI0IC8q
IGNvcHlfYnVmZmVyLm1ldGFsICovOyB9OworCQlGRkRBNTBDRjI2OUY4NDgyMDBBRTExRTIgLyog
Z2VuX2luZGljZXMubWV0YWwgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGRjgxRkVCMzI1ODE4RDY4MDA4OTRFMjQgLyogZ2VuX2luZGljZXMubWV0YWwgKi87
IH07CisJCUZGREE1MEQwMjY5Rjg0ODIwMEFFMTFFMiAvKiBnZW5fbWlwbWFwLm1ldGFsIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY4MUZFQjIyNTgxOEQ2
ODAwODk0RTI0IC8qIGdlbl9taXBtYXAubWV0YWwgKi87IH07CisJCUZGREE1MEQxMjY5Rjg0ODIw
MEFFMTFFMiAvKiByZXdyaXRlX2luZGljZXMubWV0YWwgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRjU4MkUxODI2NTQ0RkU1MDA2REE1QjggLyogcmV3cml0
ZV9pbmRpY2VzLm1ldGFsICovOyB9OworCQlGRkRBNTBEMjI2OUY4NDgyMDBBRTExRTIgLyogdmlz
aWJpbGl0eS5tZXRhbCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEZGODFGRUFCMjU4MThENjgwMDg5NEUyNCAvKiB2aXNpYmlsaXR5Lm1ldGFsICovOyB9Owog
LyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEJ1aWxkUnVsZSBz
ZWN0aW9uICovCkBAIC04NjQsNiArODcxLDEzIEBACiAJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9
IDMxQ0RGREYzMjQ5MTgxOUUwMDQ4NkYyNzsKIAkJCXJlbW90ZUluZm8gPSAiQU5HTEUgKGR5bmFt
aWMpIjsKIAkJfTsKKwkJRkZEQTUwRDMyNjlGODRBMDAwQUUxMUUyIC8qIFBCWENvbnRhaW5lckl0
ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKKwkJCWNvbnRh
aW5lclBvcnRhbCA9IEZCMzlEMDcwMTIwMEVEOTIwMDA4OEU2OSAvKiBQcm9qZWN0IG9iamVjdCAq
LzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IEZGREE1MEM0
MjY5Rjg0NTEwMEFFMTFFMjsKKwkJCXJlbW90ZUluZm8gPSBBTkdMRU1ldGFsTGliOworCQl9Owog
LyogRW5kIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWENv
cHlGaWxlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpAQCAtMTgxMyw2ICsxODI3LDggQEAKIAkJRkY4
MUZGOUEyNTgxQTNDMjAwODk0RTI0IC8qIEludGVybVJlYnVpbGQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSW50ZXJtUmVidWlsZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGRkEwQzJDNTI1Q0I2QTc2MDAxMDUzMDYgLyogTmFtZUVtYmVkZGVkVW5pZm9ybVN0
cnVjdHNNZXRhbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOYW1l
RW1iZWRkZWRVbmlmb3JtU3RydWN0c01ldGFsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRkZBMEMyQzYyNUNCNkE3NzAwMTA1MzA2IC8qIE5hbWVFbWJlZGRlZFVuaWZvcm1TdHJ1
Y3RzTWV0YWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmFtZUVtYmVkZGVk
VW5pZm9ybVN0cnVjdHNNZXRhbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRkRB
NTBENjI2OUY5RTU4MDBBRTExRTIgLyogY3JlYXRlX210bF9pbnRlcm5hbF9zaGFkZXJzLnB5ICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRoID0gY3JlYXRlX210bF9pbnRlcm5hbF9z
aGFkZXJzLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRkUwRDkxNTI2QTBCNEU4
MDA3MUFEQUUgLyogQW5nbGVNZXRhbExpYi54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBBbmdsZU1l
dGFsTGliLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogLyogRW5kIFBCWEZp
bGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhGcmFtZXdvcmtzQnVpbGRQaGFz
ZSBzZWN0aW9uICovCkBAIC0yNzY5LDYgKzI3ODUsNyBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJ
MzFDREZERUUyNDkxN0Y4OTAwNDg2RjI3IC8qIEFOR0xFLWR5bmFtaWMueGNjb25maWcgKi8sCiAJ
CQkJMzFDREZERUYyNDkxN0Y4OTAwNDg2RjI3IC8qIEFOR0xFLXN0YXRpYy54Y2NvbmZpZyAqLywK
KwkJCQlGRkUwRDkxNTI2QTBCNEU4MDA3MUFEQUUgLyogQW5nbGVNZXRhbExpYi54Y2NvbmZpZyAq
LywKIAkJCQk1RDdDNTlDNjEyMDhDNjhCMDAxQzg3M0UgLyogQmFzZS54Y2NvbmZpZyAqLywKIAkJ
CQk1RDdDNTlDNzEyMDhDNjhCMDAxQzg3M0UgLyogRGVidWdSZWxlYXNlLnhjY29uZmlnICovLAog
CQkJCUExQjg5Qjg5MjIxRTAwM0EwMEVCNENFQSAvKiBTREtWYXJpYW50LnhjY29uZmlnICovLApA
QCAtMzA1Niw2ICszMDczLDcgQEAKIAkJCQlGRjgxRkVBRDI1ODE4RDY4MDA4OTRFMjQgLyogY29t
bW9uLmggKi8sCiAJCQkJRkY4MUZFQUMyNTgxOEQ2ODAwODk0RTI0IC8qIGNvbnN0YW50cy5oICov
LAogCQkJCUZGODFGRUFGMjU4MThENjgwMDg5NEUyNCAvKiBjb3B5X2J1ZmZlci5tZXRhbCAqLywK
KwkJCQlGRkRBNTBENjI2OUY5RTU4MDBBRTExRTIgLyogY3JlYXRlX210bF9pbnRlcm5hbF9zaGFk
ZXJzLnB5ICovLAogCQkJCUZGODFGRUIwMjU4MThENjgwMDg5NEUyNCAvKiBmb3JtYXRfYXV0b2dl
bi5oICovLAogCQkJCUZGODFGRUIzMjU4MThENjgwMDg5NEUyNCAvKiBnZW5faW5kaWNlcy5tZXRh
bCAqLywKIAkJCQlGRjgxRkVCMjI1ODE4RDY4MDA4OTRFMjQgLyogZ2VuX21pcG1hcC5tZXRhbCAq
LywKQEAgLTM1NzEsNiArMzU4OSw3IEBACiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMzFD
REZERjUyNDkxODE5RTAwNDg2RjI3IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJY
TmF0aXZlVGFyZ2V0ICJBTkdMRSAoZHluYW1pYykiICovOwogCQkJYnVpbGRQaGFzZXMgPSAoCiAJ
CQkJMzFDREZERjAyNDkxODE5RTAwNDg2RjI3IC8qIEhlYWRlcnMgKi8sCisJCQkJRkZEQTUwRDUy
NjlGODk1NDAwQUUxMUUyIC8qIEJha2UgTWV0YWwgTGlicmFyeSB0byBOU0RhdGEgKi8sCiAJCQkJ
MzFDREZERjEyNDkxODE5RTAwNDg2RjI3IC8qIFNvdXJjZXMgKi8sCiAJCQkJMzFDREZERjIyNDkx
ODE5RTAwNDg2RjI3IC8qIEZyYW1ld29ya3MgKi8sCiAJCQkJMzFDRDAwQ0UyNDkxOTc0QzAwNDg2
RjI3IC8qIENvcHlGaWxlcyAqLywKQEAgLTM1ODEsMTIgKzM2MDAsMjcgQEAKIAkJCQkzMUE5RTlB
MDI0OUFBMDQyMDBDN0UyNDMgLyogUEJYQnVpbGRSdWxlICovLAogCQkJKTsKIAkJCWRlcGVuZGVu
Y2llcyA9ICgKKwkJCQlGRkRBNTBENDI2OUY4NEEwMDBBRTExRTIgLyogUEJYVGFyZ2V0RGVwZW5k
ZW5jeSAqLywKIAkJCSk7CiAJCQluYW1lID0gIkFOR0xFIChkeW5hbWljKSI7CiAJCQlwcm9kdWN0
TmFtZSA9ICJBTkdMRSAoZHluYW1pYykiOwogCQkJcHJvZHVjdFJlZmVyZW5jZSA9IDMxQ0RGREY0
MjQ5MTgxOUUwMDQ4NkYyNyAvKiBsaWJBTkdMRS1zaGFyZWQuZHlsaWIgKi87CiAJCQlwcm9kdWN0
VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLmxpYnJhcnkuZHluYW1pYyI7CiAJCX07CisJ
CUZGREE1MEM0MjY5Rjg0NTEwMEFFMTFFMiAvKiBBTkdMRU1ldGFsTGliICovID0geworCQkJaXNh
ID0gUEJYTmF0aXZlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IEZGREE1MENC
MjY5Rjg0NTEwMEFFMTFFMiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2
ZVRhcmdldCAiQU5HTEVNZXRhbExpYiIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQlGRkRB
NTBDMzI2OUY4NDUxMDBBRTExRTIgLyogU291cmNlcyAqLywKKwkJCSk7CisJCQlidWlsZFJ1bGVz
ID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCSk7CisJCQluYW1lID0gQU5HTEVN
ZXRhbExpYjsKKwkJCXByb2R1Y3ROYW1lID0gQU5HTEVNZXRhbExpYjsKKwkJCXByb2R1Y3RUeXBl
ID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUubWV0YWwtbGlicmFyeSI7CisJCX07CiAvKiBFbmQg
UEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYUHJvamVjdCBzZWN0aW9u
ICovCkBAIC0zNjA0LDYgKzM2MzgsMTAgQEAKIAkJCQkJCUNyZWF0ZWRPblRvb2xzVmVyc2lvbiA9
IDEyLjA7CiAJCQkJCQlQcm92aXNpb25pbmdTdHlsZSA9IEF1dG9tYXRpYzsKIAkJCQkJfTsKKwkJ
CQkJRkZEQTUwQzQyNjlGODQ1MTAwQUUxMUUyID0geworCQkJCQkJQ3JlYXRlZE9uVG9vbHNWZXJz
aW9uID0gMTMuMDsKKwkJCQkJCVByb3Zpc2lvbmluZ1N0eWxlID0gQXV0b21hdGljOworCQkJCQl9
OwogCQkJCX07CiAJCQl9OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IEZCMzlEMDczMTIw
MEVEOTIwMDA4OEU2OSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3Qg
IkFOR0xFIiAqLzsKQEAgLTM2MjAsNiArMzY1OCw3IEBACiAJCQl0YXJnZXRzID0gKAogCQkJCTMx
REI3OTRGMjQ5MUMzMzMwMDk4Mjg3OCAvKiBBTkdMRSAqLywKIAkJCQkzMUNERkRGMzI0OTE4MTlF
MDA0ODZGMjcgLyogQU5HTEUgKGR5bmFtaWMpICovLAorCQkJCUZGREE1MEM0MjY5Rjg0NTEwMEFF
MTFFMiAvKiBBTkdMRU1ldGFsTGliICovLAogCQkJKTsKIAkJfTsKIC8qIEVuZCBQQlhQcm9qZWN0
IHNlY3Rpb24gKi8KQEAgLTM2NDMsNiArMzY4MiwyNyBAQAogCQkJc2hlbGxQYXRoID0gL2Jpbi9z
aDsKIAkJCXNoZWxsU2NyaXB0ID0gImlmIFsgXCIke1hDT0RFX1ZFUlNJT05fQUNUVUFMfVwiIC1n
ZSBcIjExNDBcIiAtYSBcIiR7V0tfVVNFX05FV19CVUlMRF9TWVNURU19XCIgPSBcIllFU1wiIF07
IHRoZW5cbiAgICAjIEluIHRoaXMgY29uZmlndXJhdGlvbiwgcG9zdC1wcm9jZXNzaW5nIGlzIHBl
cmZvcm1lZCBhdCB0aGUgc2FtZSB0aW1lIGFzIGNvcHlpbmcgaW4gdGhlIHBvc3Rwcm9jZXNzLWhl
YWRlci1ydWxlIHNjcmlwdCwgc28gdGhlcmUncyBubyBuZWVkIGZvciB0aGlzIHNlcGFyYXRlIHN0
ZXAuXG4gICAgZXhpdCAwXG5maVxuXG5leGVjIFwiJFNSQ1JPT1QvYWRqdXN0LWFuZ2xlLWluY2x1
ZGUtcGF0aHMucHlcIlxuIjsKIAkJfTsKKwkJRkZEQTUwRDUyNjlGODk1NDAwQUUxMUUyIC8qIEJh
a2UgTWV0YWwgTGlicmFyeSB0byBOU0RhdGEgKi8gPSB7CisJCQlpc2EgPSBQQlhTaGVsbFNjcmlw
dEJ1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMg
PSAoCisJCQkpOworCQkJaW5wdXRGaWxlTGlzdFBhdGhzID0gKAorCQkJKTsKKwkJCWlucHV0UGF0
aHMgPSAoCisJCQkJIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9BTkdMRU1ldGFsTGliLm1ldGFsbGli
IiwKKwkJCQkiJChTUkNST09UKS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvc2hhZGVycy9j
cmVhdGVfbXRsX2ludGVybmFsX3NoYWRlcnMucHkiLAorCQkJKTsKKwkJCW5hbWUgPSAiQmFrZSBN
ZXRhbCBMaWJyYXJ5IHRvIE5TRGF0YSI7CisJCQlvdXRwdXRGaWxlTGlzdFBhdGhzID0gKAorCQkJ
KTsKKwkJCW91dHB1dFBhdGhzID0gKAorCQkJCSIkKERFUklWRURfRklMRV9ESVIpL210bF9kZWZh
dWx0X3NoYWRlcnNfY29tcGlsZWQuaW5jIiwKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CisJCQlzaGVsbFNj
cmlwdCA9ICJpZiBbIFwiJHtBQ1RJT059XCIgPSBcImJ1aWxkXCIgXSB8fCBbIFwiJHtBQ1RJT059
XCIgPSBcImluc3RhbGxcIiBdOyB0aGVuXG5lY2hvIHB5dGhvbiBcIiR7U1JDUk9PVH0vc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL21ldGFsL3NoYWRlcnMvY3JlYXRlX210bF9pbnRlcm5hbF9zaGFkZXJz
LnB5XCIgXCIkU0NSSVBUX0lOUFVUX0ZJTEVfMFwiIFwiJFNDUklQVF9PVVRQVVRfRklMRV8wXCJc
bnB5dGhvbiBcIiR7U1JDUk9PVH0vc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL3NoYWRlcnMv
Y3JlYXRlX210bF9pbnRlcm5hbF9zaGFkZXJzLnB5XCIgXCIkU0NSSVBUX0lOUFVUX0ZJTEVfMFwi
IFwiJFNDUklQVF9PVVRQVVRfRklMRV8wXCJcbmZpXG4iOworCQl9OwogLyogRW5kIFBCWFNoZWxs
U2NyaXB0QnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWFNvdXJjZXNCdWlsZFBo
YXNlIHNlY3Rpb24gKi8KQEAgLTQwNTMsNiArNDExMywyMCBAQAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OworCQlGRkRBNTBDMzI2OUY4NDUx
MDBBRTExRTIgLyogU291cmNlcyAqLyA9IHsKKwkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNl
OworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCUZG
REE1MENDMjY5Rjg0ODIwMEFFMTFFMiAvKiBibGl0Lm1ldGFsIGluIFNvdXJjZXMgKi8sCisJCQkJ
RkZEQTUwQ0QyNjlGODQ4MjAwQUUxMUUyIC8qIGNsZWFyLm1ldGFsIGluIFNvdXJjZXMgKi8sCisJ
CQkJRkZEQTUwQ0UyNjlGODQ4MjAwQUUxMUUyIC8qIGNvcHlfYnVmZmVyLm1ldGFsIGluIFNvdXJj
ZXMgKi8sCisJCQkJRkZEQTUwQ0YyNjlGODQ4MjAwQUUxMUUyIC8qIGdlbl9pbmRpY2VzLm1ldGFs
IGluIFNvdXJjZXMgKi8sCisJCQkJRkZEQTUwRDAyNjlGODQ4MjAwQUUxMUUyIC8qIGdlbl9taXBt
YXAubWV0YWwgaW4gU291cmNlcyAqLywKKwkJCQlGRkRBNTBEMTI2OUY4NDgyMDBBRTExRTIgLyog
cmV3cml0ZV9pbmRpY2VzLm1ldGFsIGluIFNvdXJjZXMgKi8sCisJCQkJRkZEQTUwRDIyNjlGODQ4
MjAwQUUxMUUyIC8qIHZpc2liaWxpdHkubWV0YWwgaW4gU291cmNlcyAqLywKKwkJCSk7CisJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIC8qIEVuZCBQQlhT
b3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWFRhcmdldERlcGVuZGVu
Y3kgc2VjdGlvbiAqLwpAQCAtNDA2MSw2ICs0MTM1LDExIEBACiAJCQl0YXJnZXQgPSAzMUNERkRG
MzI0OTE4MTlFMDA0ODZGMjcgLyogQU5HTEUgKGR5bmFtaWMpICovOwogCQkJdGFyZ2V0UHJveHkg
PSAzMURCNzk1NjI0OTFDMzU0MDA5ODI4NzggLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOwog
CQl9OworCQlGRkRBNTBENDI2OUY4NEEwMDBBRTExRTIgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAq
LyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CisJCQl0YXJnZXQgPSBGRkRBNTBD
NDI2OUY4NDUxMDBBRTExRTIgLyogQU5HTEVNZXRhbExpYiAqLzsKKwkJCXRhcmdldFByb3h5ID0g
RkZEQTUwRDMyNjlGODRBMDAwQUUxMUUyIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKKwkJ
fTsKIC8qIEVuZCBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rpb24gKi8KIAogLyogQmVnaW4gWENC
dWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLwpAQCAtNDA4OCw3ICs0MTY3LDYgQEAKIAkJMzFE
Qjc5NTAyNDkxQzMzMzAwOTgyODc4IC8qIERlYnVnICovID0gewogCQkJaXNhID0gWENCdWlsZENv
bmZpZ3VyYXRpb247CiAJCQlidWlsZFNldHRpbmdzID0gewotCQkJCUNPREVfU0lHTl9TVFlMRSA9
IEF1dG9tYXRpYzsKIAkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwogCQkJfTsK
IAkJCW5hbWUgPSBEZWJ1ZzsKQEAgLTQwOTYsNyArNDE3NCw2IEBACiAJCTMxREI3OTUxMjQ5MUMz
MzMwMDk4Mjg3OCAvKiBSZWxlYXNlICovID0gewogCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRp
b247CiAJCQlidWlsZFNldHRpbmdzID0gewotCQkJCUNPREVfU0lHTl9TVFlMRSA9IEF1dG9tYXRp
YzsKIAkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwogCQkJfTsKIAkJCW5hbWUg
PSBSZWxlYXNlOwpAQCAtNDEwNCw3ICs0MTgxLDYgQEAKIAkJMzFEQjc5NTIyNDkxQzMzMzAwOTgy
ODc4IC8qIFByb2R1Y3Rpb24gKi8gPSB7CiAJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsK
IAkJCWJ1aWxkU2V0dGluZ3MgPSB7Ci0JCQkJQ09ERV9TSUdOX1NUWUxFID0gQXV0b21hdGljOwog
CQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CiAJCQl9OwogCQkJbmFtZSA9IFBy
b2R1Y3Rpb247CkBAIC00MTMxLDYgKzQyMDcsMjcgQEAKIAkJCX07CiAJCQluYW1lID0gUmVsZWFz
ZTsKIAkJfTsKKwkJRkZEQTUwQzgyNjlGODQ1MTAwQUUxMUUyIC8qIERlYnVnICovID0geworCQkJ
aXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5j
ZSA9IEZGRTBEOTE1MjZBMEI0RTgwMDcxQURBRSAvKiBBbmdsZU1ldGFsTGliLnhjY29uZmlnICov
OworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJCX07CisJ
CUZGREE1MEM5MjY5Rjg0NTEwMEFFMTFFMiAvKiBSZWxlYXNlICovID0geworCQkJaXNhID0gWENC
dWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEZGRTBE
OTE1MjZBMEI0RTgwMDcxQURBRSAvKiBBbmdsZU1ldGFsTGliLnhjY29uZmlnICovOworCQkJYnVp
bGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJRkZEQTUw
Q0EyNjlGODQ1MTAwQUUxMUUyIC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxk
Q29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gRkZFMEQ5MTUy
NkEwQjRFODAwNzFBREFFIC8qIEFuZ2xlTWV0YWxMaWIueGNjb25maWcgKi87CisJCQlidWlsZFNl
dHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBQcm9kdWN0aW9uOworCQl9OwogLyogRW5kIFhD
QnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gWENDb25maWd1cmF0aW9u
TGlzdCBzZWN0aW9uICovCkBAIC00MTY0LDYgKzQyNjEsMTYgQEAKIAkJCWRlZmF1bHRDb25maWd1
cmF0aW9uSXNWaXNpYmxlID0gMDsKIAkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFByb2R1
Y3Rpb247CiAJCX07CisJCUZGREE1MENCMjY5Rjg0NTEwMEFFMTFFMiAvKiBCdWlsZCBjb25maWd1
cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiQU5HTEVNZXRhbExpYiIgKi8gPSB7CisJ
CQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgK
KwkJCQlGRkRBNTBDODI2OUY4NDUxMDBBRTExRTIgLyogRGVidWcgKi8sCisJCQkJRkZEQTUwQzky
NjlGODQ1MTAwQUUxMUUyIC8qIFJlbGVhc2UgKi8sCisJCQkJRkZEQTUwQ0EyNjlGODQ1MTAwQUUx
MUUyIC8qIFByb2R1Y3Rpb24gKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zp
c2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKKwkJ
fTsKIC8qIEVuZCBYQ0NvbmZpZ3VyYXRpb25MaXN0IHNlY3Rpb24gKi8KIAl9OwogCXJvb3RPYmpl
Y3QgPSBGQjM5RDA3MDEyMDBFRDkyMDAwODhFNjkgLyogUHJvamVjdCBvYmplY3QgKi87CmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9Db25maWd1cmF0aW9ucy9BTkdMRS1keW5h
bWljLnhjY29uZmlnIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQU5H
TEUtZHluYW1pYy54Y2NvbmZpZwppbmRleCA0MjhmZWY1MWQxOTljMDEwYzliMmQyMTM5MWNhZmRh
MDcxMGUzMDkxLi4wOGRiMzgxNDhmZWMwOWI0Yjc0ZmY4YmRmOWU3NzUxMDI3MjFhYjgwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9Db25maWd1cmF0aW9ucy9BTkdMRS1keW5h
bWljLnhjY29uZmlnCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25z
L0FOR0xFLWR5bmFtaWMueGNjb25maWcKQEAgLTI3LDcgKzI3LDcgQEAgRFlMSUJfSU5TVEFMTF9O
QU1FX0JBU0VfVVNFX0FMVEVSTkFURV9GUkFNRVdPUktTX0RJUl9ZRVMgPSAkKERZTElCX0lOU1RB
TExfTkFNRV8KIERZTElCX0lOU1RBTExfTkFNRV9CQVNFX1dLX1JFTE9DQVRBQkxFX0ZSQU1FV09S
S1NfID0gJChEWUxJQl9JTlNUQUxMX05BTUVfQkFTRSk7CiBEWUxJQl9JTlNUQUxMX05BTUVfQkFT
RV9XS19SRUxPQ0FUQUJMRV9GUkFNRVdPUktTX1lFUyA9IEBsb2FkZXJfcGF0aC8uLi8uLi8uLi87
CiAKLUhFQURFUl9TRUFSQ0hfUEFUSFMgPSBpbmNsdWRlIHNyYyBzcmMvY29tbW9uL3RoaXJkX3Bh
cnR5L251bWVyaWNzIHRoaXJkX3BhcnR5L2Jhc2Ugc3JjL2NvbW1vbi90aGlyZF9wYXJ0eS9iYXNl
IHRoaXJkX3BhcnR5L3psaWIvZ29vZ2xlOworSEVBREVSX1NFQVJDSF9QQVRIUyA9IGluY2x1ZGUg
c3JjIHNyYy9jb21tb24vdGhpcmRfcGFydHkvbnVtZXJpY3MgdGhpcmRfcGFydHkvYmFzZSBzcmMv
Y29tbW9uL3RoaXJkX3BhcnR5L2Jhc2UgdGhpcmRfcGFydHkvemxpYi9nb29nbGUgJHtERVJJVkVE
X0ZJTEVTX0RJUn07CiAKIEFOR0xFX0hFQURFUlNfRk9MREVSX1BBVEggPSAvdXNyL2xvY2FsL2lu
Y2x1ZGUvQU5HTEU7CiAKQEAgLTM2LDcgKzM2LDcgQEAgUFVCTElDX0hFQURFUlNfRk9MREVSX1BB
VEhbc2RrPW1hY29zeCpdID0gJChQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSF8kKFdLX1BMQVQK
IFBVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIX21hY29zeCA9ICQoQU5HTEVfSEVBREVSU19GT0xE
RVJfUEFUSCk7CiBQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSF9tYWNjYXRhbHlzdCA9ICQoV0tf
QUxURVJOQVRFX0ZSQU1FV09SS1NfRElSKS8kKEFOR0xFX0hFQURFUlNfRk9MREVSX1BBVEgpOwog
Ci1HQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gJChERUJVR19ERUZJTkVTKSBMSUJHTEVT
VjJfSU1QTEVNRU5UQVRJT04gTElCQU5HTEVfSU1QTEVNRU5UQVRJT04gQU5HTEVfRU5BQkxFX09Q
RU5HTCBBTkdMRV9FTkFCTEVfR0xTTCBBTkdMRV9FTkFCTEVfRVNTTCBHTF9TSUxFTkNFX0RFUFJF
Q0FUSU9OIEdMRVNfU0lMRU5DRV9ERVBSRUNBVElPTiBBTkdMRV9FTkFCTEVfTUVUQUw7CitHQ0Nf
UFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gJChERUJVR19ERUZJTkVTKSBMSUJHTEVTVjJfSU1Q
TEVNRU5UQVRJT04gTElCQU5HTEVfSU1QTEVNRU5UQVRJT04gQU5HTEVfRU5BQkxFX09QRU5HTCBB
TkdMRV9FTkFCTEVfR0xTTCBBTkdMRV9FTkFCTEVfRVNTTCBHTF9TSUxFTkNFX0RFUFJFQ0FUSU9O
IEdMRVNfU0lMRU5DRV9ERVBSRUNBVElPTiBBTkdMRV9FTkFCTEVfTUVUQUwgQU5HTEVfTUVUQUxf
WENPREVfQlVJTERTX1NIQURFUlM7CiAKIERFQURfQ09ERV9TVFJJUFBJTkcgPSBZRVM7CiBERUFE
X0NPREVfU1RSSVBQSU5HW2NvbmZpZz1EZWJ1Z10gPSBOTzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0FuZ2xlTWV0YWxMaWIueGNjb25maWcgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9Db25maWd1cmF0aW9ucy9BbmdsZU1ldGFsTGliLnhjY29u
ZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQwODM5Y2UxNTRjNTI3NzIyYTQ1NDdlZWNkNDg3NTM4ZWVlYzYyNzEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9Db25maWd1cmF0aW9u
cy9BbmdsZU1ldGFsTGliLnhjY29uZmlnCkBAIC0wLDAgKzEsMjAgQEAKKyNpbmNsdWRlICJWZXJz
aW9uLnhjY29uZmlnIgorI2luY2x1ZGUgIldlYktpdFRhcmdldENvbmRpdGlvbmFscy54Y2NvbmZp
ZyIKKworUFJPRFVDVF9OQU1FID0gQU5HTEVNZXRhbExpYjsKK1NLSVBfSU5TVEFMTCA9IFlFUzsK
KworSEVBREVSX1NFQVJDSF9QQVRIUyA9IGluY2x1ZGUgc3JjIHNyYy9jb21tb24vdGhpcmRfcGFy
dHkvbnVtZXJpY3MgdGhpcmRfcGFydHkvYmFzZSBzcmMvY29tbW9uL3RoaXJkX3BhcnR5L2Jhc2Ug
dGhpcmRfcGFydHkvemxpYi9nb29nbGU7CisKK0FOR0xFX0hFQURFUlNfRk9MREVSX1BBVEggPSAv
dXNyL2xvY2FsL2luY2x1ZGUvQU5HTEU7CisKK1BVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIID0g
JChBTkdMRV9IRUFERVJTX0ZPTERFUl9QQVRIKTsKK1BVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRI
W3Nkaz1tYWNvc3gqXSA9ICQoUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhfJChXS19QTEFURk9S
TV9OQU1FKSk7CitQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSF9tYWNvc3ggPSAkKEFOR0xFX0hF
QURFUlNfRk9MREVSX1BBVEgpOworUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhfbWFjY2F0YWx5
c3QgPSAkKFdLX0FMVEVSTkFURV9GUkFNRVdPUktTX0RJUikvJChBTkdMRV9IRUFERVJTX0ZPTERF
Ul9QQVRIKTsKKworTVRMX0VOQUJMRV9ERUJVR19JTkZPID0gSU5DTFVERV9TT1VSQ0UKK01UTF9G
QVNUX01BVEggPSBZRVMKKworU1RSSVBfSU5TVEFMTEVEX1BST0RVQ1QgPSBZRVM7CitTVFJJUF9J
TlNUQUxMRURfUFJPRFVDVFtjb25maWc9RGVidWddID0gTk87CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5t
bSBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9E
aXNwbGF5TXRsLm1tCmluZGV4IDc3ODZjMDhlYzM5ZjFiMjNkM2U3NjEzZTYzYWQ1M2ExOTQ1MWE0
ZDUuLmY3YWU0ODgzMWY0ZTc2Y2U5ODU4MzU2M2NiZTg2ZmJmZDlmZTVjN2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNw
bGF5TXRsLm1tCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCkBAIC0yMiw4ICsyMiwxMyBAQAogI2luY2x1ZGUgImxp
YkFOR0xFL3JlbmRlcmVyL21ldGFsL1N5bmNNdGwuaCIKICNpbmNsdWRlICJsaWJBTkdMRS9yZW5k
ZXJlci9tZXRhbC9tdGxfY29tbW9uLmgiCiAjaW5jbHVkZSAibGliQU5HTEUvcmVuZGVyZXIvbWV0
YWwvc2hhZGVycy9tdGxfZGVmYXVsdF9zaGFkZXJzX3NyY19hdXRvZ2VuLmluYyIKKyNpbmNsdWRl
ICJsaWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfdXRpbHMuaCIKICNpbmNsdWRlICJwbGF0Zm9y
bS9QbGF0Zm9ybS5oIgogCisjaWZkZWYgQU5HTEVfTUVUQUxfWENPREVfQlVJTERTX1NIQURFUlMK
KyNpbmNsdWRlICJtdGxfZGVmYXVsdF9zaGFkZXJzX2NvbXBpbGVkLmluYyIKKyNlbmRpZgorCiAj
aW5jbHVkZSAiRUdML2VnbGV4dC5oIgogCiAjaWYgZGVmaW5lZChBTkdMRV9QTEFURk9STV9NQUNP
UykgfHwgZGVmaW5lZChBTkdMRV9QTEFURk9STV9NQUNDQVRBTFlTVCkKQEAgLTk5MywyMyArOTk4
LDE2IEBAIGFuZ2xlOjpSZXN1bHQgRGlzcGxheU10bDo6aW5pdGlhbGl6ZVNoYWRlckxpYnJhcnko
KQogI2lmZGVmIEFOR0xFX01FVEFMX1hDT0RFX0JVSUxEU19TSEFERVJTCiAgICAgbURlZmF1bHRT
aGFkZXJzQXN5bmNJbmZvLnJlc2V0KG5ldyBEZWZhdWx0U2hhZGVyQXN5bmNJbmZvTXRsKTsKIAot
ICAgIE5TU3RyaW5nICpwYXRoID0gW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlmaWVyOkAiY29t
LmFwcGxlLldlYktpdCJdLmJ1bmRsZVBhdGg7Ci0gICAgTlNFcnJvciAqZXJyb3IgPSBudWxscHRy
OwotICAgIG1EZWZhdWx0U2hhZGVyc0FzeW5jSW5mby0+ZGVmYXVsdFNoYWRlcnMgPQotICAgICAg
ICBbZ2V0TWV0YWxEZXZpY2UoKSBuZXdEZWZhdWx0TGlicmFyeVdpdGhCdW5kbGU6W05TQnVuZGxl
IGJ1bmRsZVdpdGhQYXRoOnBhdGhdIGVycm9yOiZlcnJvcl07Ci0KLSAgICBpZiAoZXJyb3IgJiYg
IW1EZWZhdWx0U2hhZGVyc0FzeW5jSW5mby0+ZGVmYXVsdFNoYWRlcnMpCi0gICAgewotICAgICAg
ICBBTkdMRV9NVExfT0JKQ19TQ09QRQotICAgICAgICB7Ci0gICAgICAgICAgICBFUlIoKSA8PCAi
SW50ZXJuYWwgZXJyb3I6IG5ld0RlZmF1bHRMaWJyYXJ5V2l0aEJ1bmRsZSBmYWlsZWQuICIKLSAg
ICAgICAgICAgICAgICAgIDw8IGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uLlVURjhTdHJpbmc7
Ci0gICAgICAgIH0KLSAgICAgICAgbURlZmF1bHRTaGFkZXJzQXN5bmNJbmZvLT5kZWZhdWx0U2hh
ZGVyc0NvbXBpbGVFcnJvciA9IHN0ZDo6bW92ZShlcnJvcik7Ci0gICAgICAgIHJldHVybiBhbmds
ZTo6UmVzdWx0OjpTdG9wOwotICAgIH0KKyAgICBjb25zdCB1aW50OF90ICpjb21waWxlZF9zaGFk
ZXJfYmluYXJ5OworICAgIHNpemVfdCBjb21waWxlZF9zaGFkZXJfYmluYXJ5X2xlbjsKKyAgICBj
b21waWxlZF9zaGFkZXJfYmluYXJ5ICAgICA9IGdNZXRhbEJpbmFyeVNoYWRlcnM7CisgICAgY29t
cGlsZWRfc2hhZGVyX2JpbmFyeV9sZW4gPSBnTWV0YWxCaW5hcnlTaGFkZXJzX2xlbjsKKyAgICBt
dGw6OkF1dG9PYmpDUHRyPE5TRXJyb3IgKj4gZXJyID0gbmlsOworICAgIG10bDo6QXV0b09iakNQ
dHI8aWQ8TVRMTGlicmFyeT4+IG1EZWZhdWx0U2hhZGVycyA9IG10bDo6Q3JlYXRlU2hhZGVyTGli
cmFyeUZyb21CaW5hcnkoZ2V0TWV0YWxEZXZpY2UoKSwgY29tcGlsZWRfc2hhZGVyX2JpbmFyeSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbXBpbGVkX3NoYWRlcl9iaW5hcnlfbGVuLCAmZXJyKTsKKyAgICBt
RGVmYXVsdFNoYWRlcnNBc3luY0luZm8tPmRlZmF1bHRTaGFkZXJzID0gc3RkOjptb3ZlKG1EZWZh
dWx0U2hhZGVycy5nZXQoKSk7CisgICAgbURlZmF1bHRTaGFkZXJzQXN5bmNJbmZvLT5kZWZhdWx0
U2hhZGVyc0NvbXBpbGVFcnJvciA9IHN0ZDo6bW92ZShlcnIuZ2V0KCkpOwogICAgIG1EZWZhdWx0
U2hhZGVyc0FzeW5jSW5mby0+Y29tcGlsZWQgPSB0cnVlOwotCiAjZWxzZQogICAgIG1EZWZhdWx0
U2hhZGVyc0FzeW5jSW5mby5yZXNldChuZXcgRGVmYXVsdFNoYWRlckFzeW5jSW5mb010bCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci9tZXRhbC9tdGxfdXRpbHMuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9tZXRhbC9tdGxfdXRpbHMuaAppbmRleCBkMjczZDQ4MTMwNjUxNmI4YzhlN2Zm
M2MxYWUxZmJmYmY0ZDUzN2UzLi4yZWQ1ZjVjMmI5MjA0YzY5NDZiZGY2NzM2NDFmOWJmNTFlMzg5
ZTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvbXRsX3V0aWxzLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5oCkBAIC0xMDUsNyArMTA1LDYgQEAg
QXV0b09iakNQdHI8aWQ8TVRMTGlicmFyeT4+IENyZWF0ZVNoYWRlckxpYnJhcnkoaWQ8TVRMRGV2
aWNlPiBtZXRhbERldmljZSwKIEF1dG9PYmpDUHRyPGlkPE1UTExpYnJhcnk+PiBDcmVhdGVTaGFk
ZXJMaWJyYXJ5RnJvbUJpbmFyeShpZDxNVExEZXZpY2U+IG1ldGFsRGV2aWNlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVp
bnQ4X3QgKmJpbmFyeVNvdXJjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgYmluYXJ5U291cmNlTGVuLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5TRGljdGlv
bmFyeTxOU1N0cmluZyAqLCBOU09iamVjdCAqPiAqIHN1YnN0aXR1dGlvbkRpY3Rpb25hcnksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
QXV0b09iakNQdHI8TlNFcnJvciAqPiAqZXJyb3IpOwogCiBib29sIFN1cHBvcnRzSU9TR1BVRmFt
aWx5KGlkPE1UTERldmljZT4gZGV2aWNlLCB1aW50OF90IGlPU0ZhbWlseSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvc2hh
ZGVycy9jcmVhdGVfbXRsX2ludGVybmFsX3NoYWRlcnMucHkgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvc2hhZGVycy9jcmVhdGVfbXRsX2ludGVy
bmFsX3NoYWRlcnMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzhlNjc5ZjRmN2YyMDhkOGUyZDgzMTkxYWJjOGE2
MjAxMzdjZDYwYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9zaGFkZXJzL2NyZWF0ZV9tdGxfaW50ZXJuYWxfc2hh
ZGVycy5weQpAQCAtMCwwICsxLDc5IEBACisjIS91c3IvYmluL3B5dGhvbgorIyBDb3B5cmlnaHQg
MjAyMSBUaGUgQU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBV
c2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNl
IHRoYXQgY2FuIGJlCisjIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisjCisjIGNyZWF0ZV9t
dGxfaW50ZXJuYWxfc2hhZGVycy5weToKKyMgICBTY3JpcHQgdG8gY29tcGlsZSBhIG1ldGFsTGli
IGludG8gTlNEYXRhLCBmb3IgaW5jbHVkaW5nIHRoZSBjb21waWxkZWQKKyMgICAgICAgbGlicmFy
eSBpbiB0aGUgQU5HTEUgZHlsaWIuCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IGpz
b24KK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lCisKK3N5cy5wYXRoLmFwcGVuZCgnLi4v
Li4nKQorCit0ZW1wbGF0ZV9oZWFkZXJfYm9pbGVycGxhdGUgPSAiIiIvLyBHRU5FUkFURUQgRklM
RSAtIERPIE5PVCBFRElULgorLy8gR2VuZXJhdGVkIGJ5IHtzY3JpcHRfbmFtZX0KKy8vCisvLyBD
b3B5cmlnaHQge2NvcHlyaWdodF95ZWFyfSBUaGUgQU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQg
YnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKy8vCisiIiIKKworCisjIENvbnZlcnQgY29udGVudCBvZiBhIGZpbGUgdG8gYnl0
ZSBhcnJheSBhbmQgc3RvcmUgaW4gYSBoZWFkZXIgZmlsZS4KKyMgdmFyaWFibGVfbmFtZTogbmFt
ZSBvZiBDKysgdmFyaWFibGUgdGhhdCB3aWxsIGhvbGQgdGhlIGZpbGUgY29udGVudCBhcyBieXRl
IGFycmF5LgorIyBmaWxlbmFtZTogdGhlIGZpbGUgd2hvc2UgY29udGVudCB3aWxsIGJlIGNvbnZl
cnRlZCB0byBDKysgYnl0ZSBhcnJheS4KKyMgZGVzdF9zcmNfZmlsZTogZGVzdGluYXRpb24gaGVh
ZGVyIGZpbGUgdGhhdCB3aWxsIGNvbnRhaW4gdGhlIGJ5dGUgYXJyYXkuCitkZWYgYXBwZW5kX2Zp
bGVfYXNfYnl0ZV9hcnJheV9zdHJpbmcodmFyaWFibGVfbmFtZSwgZmlsZW5hbWUsIGRlc3Rfc3Jj
X2ZpbGUpOgorICAgIHN0cmluZyA9ICcvLyBHZW5lcmF0ZWQgZnJvbSB7MH06XG4nLmZvcm1hdChm
aWxlbmFtZSkKKyAgICBzdHJpbmcgKz0gJ2NvbnN0ZXhwciB1aW50OF90IHswfVtdPXt7XG4nLmZv
cm1hdCh2YXJpYWJsZV9uYW1lKQorICAgIGJ5dGVzXyA9IG9wZW4oZmlsZW5hbWUsICJyYiIpLnJl
YWQoKQorICAgIGZvciBieXRlIGluIGJ5dGVzXzoKKyAgICAgICAgc3RyaW5nICs9ICcweHs6MDJ4
fScuZm9ybWF0KG9yZChieXRlKSkgKyAiLCAiCisgICAgc3RyaW5nICs9ICJcbn07XG4iCisgICAg
d2l0aCBvcGVuKGRlc3Rfc3JjX2ZpbGUsICJhIikgYXMgb3V0X2ZpbGU6CisgICAgICAgIG91dF9m
aWxlLndyaXRlKHN0cmluZykKKyAgICAgICAgCisKKworIyBDb21waWxlIG1ldGFsIHNoYWRlci4K
KyMgY29tcGlsZWRfZmlsZTogVGhlIGNvbXBpbGVkIG1ldGFsbGliCisjIHZhcmlhYmxlX25hbWU6
IG5hbWUgb2YgQysrIHZhcmlhYmxlIHRoYXQgd2lsbCBob2xkIHRoZSBjb21waWxlZCBiaW5hcnkg
ZGF0YSBhcyBhIEMgYXJyYXkuCisjIGFkZGl0aW9uYWxfZmxhZ3M6IGFkZGl0aW9uYWwgc2hhZGVy
IGNvbXBpbGVyIGZsYWdzCisjIHNyY19maWxlczogbWV0YWwgc291cmNlIGZpbGVzCitkZWYgZ2Vu
X3ByZWNvbXBpbGVkX3NoYWRlcnMoY29tcGlsZWRfZmlsZSwgdmFyaWFibGVfbmFtZSwgb3V0cHV0
X2ZpbGUpOgorICAgIGFwcGVuZF9maWxlX2FzX2J5dGVfYXJyYXlfc3RyaW5nKHZhcmlhYmxlX25h
bWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsZWRfZmlsZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRfZmlsZSkKKyAgICBv
cy5zeXN0ZW0oJ2VjaG8gImNvbnN0ZXhwciBzaXplX3QgezB9X2xlbj1zaXplb2YoezB9KTsiID4+
IFwiezF9XCInCisgICAgICAgICAgICAgIC5mb3JtYXQodmFyaWFibGVfbmFtZSwgb3V0cHV0X2Zp
bGUpKQorCitkZWYgbWFpbigpOgorICAgIGlucHV0X2ZpbGUgPSBzeXMuYXJndlsxXQorICAgIG91
dHB1dF9maWxlID0gc3lzLmFyZ3ZbMl0KKyAgICBvcy5jaGRpcihzeXMucGF0aFswXSkKKyAgICAK
KyAgICBib2lsZXJwbGF0ZV9jb2RlID0gdGVtcGxhdGVfaGVhZGVyX2JvaWxlcnBsYXRlLmZvcm1h
dCgKKyAgICAgICAgc2NyaXB0X25hbWU9c3lzLmFyZ3ZbMF0sIGNvcHlyaWdodF95ZWFyPWRhdGV0
aW1lLnRvZGF5KCkueWVhcikKKworICAgICMgLS0tLS0tLS0gQ29tcGlsZSBzaGFkZXJzIC0tLS0t
LS0tLS0tCisgICAgIyBib2lsZXIgcGxhdGUgY29kZQorICAgIG9zLnN5c3RlbSgiZWNobyBcInsw
fVwiID4gXCJ7MX1cIiIuZm9ybWF0KGJvaWxlcnBsYXRlX2NvZGUsIG91dHB1dF9maWxlKSkKKyAg
ICBvcy5zeXN0ZW0oCisgICAgICAgICdlY2hvICIvLyBDb21waWxlZCBiaW5hcnkgZm9yIE1ldGFs
IGRlZmF1bHQgc2hhZGVycy5cblxuIiA+PiAgXCJ7MH1cIicuZm9ybWF0KG91dHB1dF9maWxlKQor
ICAgICkKKyAgICBvcy5zeXN0ZW0oJ2VjaG8gIiNpbmNsdWRlIDxUYXJnZXRDb25kaXRpb25hbHMu
aD5cblxuIiA+PiAgXCJ7MH1cIicuZm9ybWF0KG91dHB1dF9maWxlKSkKKworICAgIG9zLnN5c3Rl
bSgnZWNobyAiLy8gY2xhbmctZm9ybWF0IG9mZiIgPj4gXCJ7MH1cIicuZm9ybWF0KG91dHB1dF9m
aWxlKSkKKyAgICAKKyAgICBnZW5fcHJlY29tcGlsZWRfc2hhZGVycyhpbnB1dF9maWxlLCAnZ01l
dGFsQmluYXJ5U2hhZGVycycsIG91dHB1dF9maWxlKQorCisgICAgb3Muc3lzdGVtKCdlY2hvICIv
LyBjbGFuZy1mb3JtYXQgb24iID4+IFwiezB9XCInLmZvcm1hdChvdXRwdXRfZmlsZSkpCisKKwor
aWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICBzeXMuZXhpdChtYWluKCkpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>