<?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>100399</bug_id>
          
          <creation_ts>2012-10-25 11:14:38 -0700</creation_ts>
          <short_desc>[CSS Exclusions] shape-outside on floats for rectangle shapes positioning</short_desc>
          <delta_ts>2013-01-21 14:37:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://dev.w3.org/csswg/css3-exclusions/#supported-basic-shapes</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>98672</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Bem Jones-Bey">bjonesbe</reporter>
          <assigned_to name="Bem Jones-Bey">bjonesbe</assigned_to>
          <cc>eric</cc>
    
    <cc>giles_joplin</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>751037</commentid>
    <comment_count>0</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2012-10-25 11:14:38 -0700</bug_when>
    <thetext>This bug tracks the implementation of shape-outside on floats for rectangular shape outsides. This is for properly implementing the positioning of the shape, so that it can be at something other than 0,0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807447</commentid>
    <comment_count>1</comment_count>
      <attachid>182805</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-01-15 10:37:37 -0800</bug_when>
    <thetext>Created attachment 182805
Patch

For informal review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807483</commentid>
    <comment_count>2</comment_count>
      <attachid>182812</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-01-15 11:12:47 -0800</bug_when>
    <thetext>Created attachment 182812
Patch

For informal review, added FIXME bugs, added a test case for accelerated rendering path</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809402</commentid>
    <comment_count>3</comment_count>
      <attachid>182812</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-01-17 09:47:31 -0800</bug_when>
    <thetext>Comment on attachment 182812
Patch

I think this could have the shiny happy r=?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809481</commentid>
    <comment_count>4</comment_count>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-01-17 10:51:47 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=182805) [details]
&gt; Patch
&gt; 
&gt; For informal review

I&apos;m no layout expert so it&apos;s difficult to judge the correctness of these changes.  If the ChangeLog provided an overview of what you&apos;re doing, that would help.

The FIXME additions don&apos;t match the prevalent convention: &quot;FIXME: &lt;explanation&gt;&quot;.  You don&apos;t seem to have included the colon.

The changes for RenderBlock::flipFloatForWritingModeForChild() seem to assume that the caller is going to paint the child, rather than do some computation based on its boundary.  I assume that&apos;s always the case now, but could this become a landmine?

I thought xPositionForFloatIncludingMarginForPaint() was a little bit difficult to read because of the #ifdefing.  It might be worth collecting the CSS_EXCLUSIONS code in one place:

    LayoutUnit xPositionForFloatIncludingMarginForPaint(const FloatingObject* child) const
    {
#if ENABLE(CSS_EXCLUSIONS)
        ExclusionShapeOutsideInfo *shapeOutside = child-&gt;renderer()-&gt;exclusionShapeOutsideInfo();
        if (shapeOutside) 
            return child-&gt;x() - (isHorizontalWritingMode() ? shapeOutside-&gt;shapeLogicalLeft() : shapeOutside-&gt;shapeLogicalTop());
#endif
        if (isHorizontalWritingMode())
            return child-&gt;x() + child-&gt;renderer()-&gt;marginLeft();

        return child-&gt;x() + marginBeforeForChild(child-&gt;renderer());
    }

Likewise for LayoutUnit yPositionForFloatIncludingMarginForPaint()

Shouldn&apos;t the test cover vertical-lr writing-mode?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811133</commentid>
    <comment_count>5</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-01-18 16:16:20 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #1)
&gt; &gt; Created an attachment (id=182805) [details] [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; For informal review
&gt; 
&gt; I&apos;m no layout expert so it&apos;s difficult to judge the correctness of these changes.  If the ChangeLog provided an overview of what you&apos;re doing, that would help.

Ok, I&apos;ll add an overview.

&gt; 
&gt; The FIXME additions don&apos;t match the prevalent convention: &quot;FIXME: &lt;explanation&gt;&quot;.  You don&apos;t seem to have included the colon.

Yeah, I did FIXBE Bug 33333: instead of FIXME: Bug 33333. I wish the check style script would catch that.

&gt; 
&gt; The changes for RenderBlock::flipFloatForWritingModeForChild() seem to assume that the caller is going to paint the child, rather than do some computation based on its boundary.  I assume that&apos;s always the case now, but could this become a landmine?

You&apos;re entirely right. I&apos;ve fixed this by refactoring the code so that there&apos;s a bool that changes the behavior of xPositionForFloatIncludingMargin and yPositionForFloatIncludingMargin, since otherwise I think we&apos;d be diving way too deeply into code duplication land.

&gt; 
&gt; I thought xPositionForFloatIncludingMarginForPaint() was a little bit difficult to read because of the #ifdefing.  It might be worth collecting the CSS_EXCLUSIONS code in one place:
&gt; 
&gt;     LayoutUnit xPositionForFloatIncludingMarginForPaint(const FloatingObject* child) const
&gt;     {
&gt; #if ENABLE(CSS_EXCLUSIONS)
&gt;         ExclusionShapeOutsideInfo *shapeOutside = child-&gt;renderer()-&gt;exclusionShapeOutsideInfo();
&gt;         if (shapeOutside) 
&gt;             return child-&gt;x() - (isHorizontalWritingMode() ? shapeOutside-&gt;shapeLogicalLeft() : shapeOutside-&gt;shapeLogicalTop());
&gt; #endif
&gt;         if (isHorizontalWritingMode())
&gt;             return child-&gt;x() + child-&gt;renderer()-&gt;marginLeft();
&gt; 
&gt;         return child-&gt;x() + marginBeforeForChild(child-&gt;renderer());
&gt;     }
&gt; 
&gt; Likewise for LayoutUnit yPositionForFloatIncludingMarginForPaint()

I agree, that is much better. I&apos;ve removed those methods, but I kept this refactoring.

&gt; 
&gt; Shouldn&apos;t the test cover vertical-lr writing-mode?

Sure, I wasn&apos;t sure that actually added anything, but I&apos;ve added the tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811147</commentid>
    <comment_count>6</comment_count>
      <attachid>183571</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-01-18 16:31:26 -0800</bug_when>
    <thetext>Created attachment 183571
Patch

Updated to respect feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811148</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-18 16:34:08 -0800</bug_when>
    <thetext>Attachment 183571 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
Source/WebCore/ChangeLog:8:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:9:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:10:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:11:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:17:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:18:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:31:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 7 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811151</commentid>
    <comment_count>8</comment_count>
      <attachid>183572</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-01-18 16:39:00 -0800</bug_when>
    <thetext>Created attachment 183572
Patch

Updated to get rid of annoying and stupid tabs. Must fix vim&apos;s braindamage that thinks that ChangeLogs should have tabs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812253</commentid>
    <comment_count>9</comment_count>
      <attachid>183572</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-01-21 10:31:41 -0800</bug_when>
    <thetext>Comment on attachment 183572
Patch

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

r-

&gt; Source/WebCore/rendering/RenderBlock.cpp:3115
&gt; -LayoutPoint RenderBlock::flipFloatForWritingModeForChild(const FloatingObject* child, const LayoutPoint&amp; point) const
&gt; +LayoutPoint RenderBlock::flipFloatForWritingModeForChild(const FloatingObject* child, const LayoutPoint&amp; point, bool paintTime) const

The &quot;ForChild&quot; here is actually meant to imply the 2 * multiplier. It is analogous to RenderBox flipForWritingModeForChild. I don&apos;t think we want to introduce an inscrutable boolean here whose meaning cannot be discerned when looking at call sites.

If you want to be consistent with the RenderBox methods, I would just make a second method called flipFloatForWritingMode that doesn&apos;t do the double subtraction.

I&apos;d also be fine with an enum instead of a boolean so that the purpose of the value at call sites is clear. Either approach works for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812311</commentid>
    <comment_count>10</comment_count>
      <attachid>183814</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-01-21 12:00:52 -0800</bug_when>
    <thetext>Created attachment 183814
Patch

Update for review feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812312</commentid>
    <comment_count>11</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-01-21 12:02:50 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 183572 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=183572&amp;action=review
&gt; 
&gt; r-
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderBlock.cpp:3115
&gt; &gt; -LayoutPoint RenderBlock::flipFloatForWritingModeForChild(const FloatingObject* child, const LayoutPoint&amp; point) const
&gt; &gt; +LayoutPoint RenderBlock::flipFloatForWritingModeForChild(const FloatingObject* child, const LayoutPoint&amp; point, bool paintTime) const
&gt; 
&gt; The &quot;ForChild&quot; here is actually meant to imply the 2 * multiplier. It is analogous to RenderBox flipForWritingModeForChild. I don&apos;t think we want to introduce an inscrutable boolean here whose meaning cannot be discerned when looking at call sites.
&gt; 
&gt; If you want to be consistent with the RenderBox methods, I would just make a second method called flipFloatForWritingMode that doesn&apos;t do the double subtraction.
&gt; 
&gt; I&apos;d also be fine with an enum instead of a boolean so that the purpose of the value at call sites is clear. Either approach works for me.

I decided to opt for the flag because I think I will need it in other locations in the future, since even if I did create a flipFloatForWritingMode method, it needs to use a different box for the child depending on if it&apos;s looking at the shape (layout) or the float (paint).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812379</commentid>
    <comment_count>12</comment_count>
      <attachid>183814</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-01-21 13:57:55 -0800</bug_when>
    <thetext>Comment on attachment 183814
Patch

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

r-

&gt; Source/WebCore/rendering/RenderBlock.h:696
&gt; +    enum FloatRenderingState { FloatLayout, FloatPaint };

I wouldn&apos;t describe this as layout vs. painting. I&apos;d just be more explicit about the math, since really it&apos;s kind of a hack that painting does this double subtraction at all. We just need to re-architect paint at some point to get rid of it.

I&apos;d just make the enum something like IncludeChildCoordinates vs. DoNotIncludeChildCoordinates. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812390</commentid>
    <comment_count>13</comment_count>
      <attachid>183814</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-01-21 14:26:29 -0800</bug_when>
    <thetext>Comment on attachment 183814
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812397</commentid>
    <comment_count>14</comment_count>
      <attachid>183814</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-21 14:36:56 -0800</bug_when>
    <thetext>Comment on attachment 183814
Patch

Clearing flags on attachment: 183814

Committed r140365: &lt;http://trac.webkit.org/changeset/140365&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812398</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-21 14:37:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182805</attachid>
            <date>2013-01-15 10:37:37 -0800</date>
            <delta_ts>2013-01-15 11:12:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100399-20130115103440.patch</filename>
            <type>text/plain</type>
            <size>21030</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM3YTcwZDkyOTlhODc0
MGRhN2Q1NGQzMDMyMmU4MWYzMjRmODBmYy4uM2Y3MTUzOTNiYzE1MjZiYmU5ZWE5ZTRjOWRiODkz
NGQ1ZmVjMDg5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAxLTE1ICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgRXhjbHVzaW9u
c10gc2hhcGUtb3V0c2lkZSBvbiBmbG9hdHMgZm9yIHJlY3RhbmdsZSBzaGFwZXMgcG9zaXRpb25p
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDM5
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0
cy1wb3NpdGlvbmluZy5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmZsaXBGbG9hdEZvcldyaXRpbmdNb2Rl
Rm9yQ2hpbGQpOiBTaW5jZSB0aGlzIGlzCisgICAgICAgICAgICBjb25jZXJuZWQgd2l0aCBwYWlu
dGluZywgdXNlIHRoZSBwb3NpdGlvbiBvZiB0aGUgZmxvYXQsIG5vdCB0aGUKKyAgICAgICAgICAg
IHNoYXBlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnBhaW50RmxvYXRzKTogU2lu
Y2UgdGhpcyBpcyBjb25jZXJuZWQgd2l0aAorICAgICAgICAgICAgcGFpbnRpbmcsIHVzZSB0aGUg
cG9zaXRpb24gb2YgdGhlIGZsb2F0LCBub3QgdGhlIHNoYXBlLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2s6OnBvc2l0aW9uTmV3RmxvYXRzKTogU2V0IHRoZSBjb3JyZWN0IGxvY2F0aW9u
CisgICAgICAgICAgICBmb3IgdGhlIGZsb2F0LCByZWxhdGl2ZSB0byB0aGUgbG9jYXRpb24gb2Yg
dGhlIHNoYXBlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZE92ZXJoYW5naW5n
RmxvYXRzKTogQWRkIEZJWE1FLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5n
TWFyZ2luKTogQWRkIEZJWE1FLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnlQb3Np
dGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKTogQWRkIEZJWE1FLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OnhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luRm9yUGFpbnQp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnlQb3NpdGlvbkZvckZsb2F0SW5jbHVk
aW5nTWFyZ2luRm9yUGFpbnQpOiBTaW5jZSB0aGUgCisgICAgICAgICAgICBwb3NpdGlvbiBvZiB0
aGUgc2hhcGUgKEZsb2F0aW5nT2JqZWN0KSBjYW4gYmUgZGlmZmVyZW50IGZyb20gdGhlCisgICAg
ICAgICAgICBwb3NpdGlvbiBvZiB0aGUgZmxvYXQncyBib3ggKFJlbmRlckJveCksIHRoZSBwb3Np
dGlvbiBuZWVkcyB0byBiZQorICAgICAgICAgICAgY29tcHV0ZWQgZGlmZmVyZW50bHkgZm9yIHBh
aW50aW5nIHRoYW4gZm9yIGRldGVybWluaW5nIGxheW91dC4KKwogMjAxMy0wMS0xNSAgVnNldm9s
b2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCBy
ZW1vdmUgZmlsZSB0aGF0IHdhcyBhY2NpZGVudGFsbHkgYWRkZWQgdG8gdGhlIHdyb25nIHBhdGNo
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggYTJjZTFiMTRl
YThlNjJiYjczN2MyYTEzMThmYWIzN2JmMDNkNmI2NS4uNzhmNjg2Yzk3YTMzNDRmMzYyODY1OGE4
NWI0Y2M3Y2QwNDY5NjZmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwCkBAIC0zMDc1LDggKzMwNzUsOCBAQCBMYXlvdXRQb2ludCBSZW5kZXJCbG9jazo6ZmxpcEZs
b2F0Rm9yV3JpdGluZ01vZGVGb3JDaGlsZChjb25zdCBGbG9hdGluZ09iamVjdCogYwogICAgIC8v
IGl0J3MgZ29pbmcgdG8gZ2V0IGFkZGVkIGJhY2sgaW4uIFdlIGhpZGUgdGhpcyBjb21wbGljYXRp
b24gaGVyZSBzbyB0aGF0IHRoZSBjYWxsaW5nIGNvZGUgbG9va3Mgbm9ybWFsIGZvciB0aGUgdW5m
bGlwcGVkCiAgICAgLy8gY2FzZS4KICAgICBpZiAoaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkK
LSAgICAgICAgcmV0dXJuIExheW91dFBvaW50KHBvaW50LngoKSwgcG9pbnQueSgpICsgaGVpZ2h0
KCkgLSBjaGlsZC0+cmVuZGVyZXIoKS0+aGVpZ2h0KCkgLSAyICogeVBvc2l0aW9uRm9yRmxvYXRJ
bmNsdWRpbmdNYXJnaW4oY2hpbGQpKTsKLSAgICByZXR1cm4gTGF5b3V0UG9pbnQocG9pbnQueCgp
ICsgd2lkdGgoKSAtIGNoaWxkLT5yZW5kZXJlcigpLT53aWR0aCgpIC0gMiAqIHhQb3NpdGlvbkZv
ckZsb2F0SW5jbHVkaW5nTWFyZ2luKGNoaWxkKSwgcG9pbnQueSgpKTsKKyAgICAgICAgcmV0dXJu
IExheW91dFBvaW50KHBvaW50LngoKSwgcG9pbnQueSgpICsgaGVpZ2h0KCkgLSBjaGlsZC0+cmVu
ZGVyZXIoKS0+aGVpZ2h0KCkgLSAyICogeVBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW5G
b3JQYWludChjaGlsZCkpOworICAgIHJldHVybiBMYXlvdXRQb2ludChwb2ludC54KCkgKyB3aWR0
aCgpIC0gY2hpbGQtPnJlbmRlcmVyKCktPndpZHRoKCkgLSAyICogeFBvc2l0aW9uRm9yRmxvYXRJ
bmNsdWRpbmdNYXJnaW5Gb3JQYWludChjaGlsZCksIHBvaW50LnkoKSk7CiB9CiAKIHZvaWQgUmVu
ZGVyQmxvY2s6OnBhaW50RmxvYXRzKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQ
b2ludCYgcGFpbnRPZmZzZXQsIGJvb2wgcHJlc2VydmVQaGFzZSkKQEAgLTMwOTIsNyArMzA5Miw3
IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnBhaW50RmxvYXRzKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBj
b25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzCiAgICAgICAgIGlmIChyLT5zaG91bGRQYWludCgp
ICYmICFyLT5tX3JlbmRlcmVyLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKSB7CiAgICAgICAgICAg
ICBQYWludEluZm8gY3VycmVudFBhaW50SW5mbyhwYWludEluZm8pOwogICAgICAgICAgICAgY3Vy
cmVudFBhaW50SW5mby5waGFzZSA9IHByZXNlcnZlUGhhc2UgPyBwYWludEluZm8ucGhhc2UgOiBQ
YWludFBoYXNlQmxvY2tCYWNrZ3JvdW5kOwotICAgICAgICAgICAgTGF5b3V0UG9pbnQgY2hpbGRQ
b2ludCA9IGZsaXBGbG9hdEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQociwgTGF5b3V0UG9pbnQocGFp
bnRPZmZzZXQueCgpICsgeFBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4ocikgLSByLT5t
X3JlbmRlcmVyLT54KCksIHBhaW50T2Zmc2V0LnkoKSArIHlQb3NpdGlvbkZvckZsb2F0SW5jbHVk
aW5nTWFyZ2luKHIpIC0gci0+bV9yZW5kZXJlci0+eSgpKSk7CisgICAgICAgICAgICBMYXlvdXRQ
b2ludCBjaGlsZFBvaW50ID0gZmxpcEZsb2F0Rm9yV3JpdGluZ01vZGVGb3JDaGlsZChyLCBMYXlv
dXRQb2ludChwYWludE9mZnNldC54KCkgKyB4UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdp
bkZvclBhaW50KHIpIC0gci0+bV9yZW5kZXJlci0+eCgpLCBwYWludE9mZnNldC55KCkgKyB5UG9z
aXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbkZvclBhaW50KHIpIC0gci0+bV9yZW5kZXJlci0+
eSgpKSk7CiAgICAgICAgICAgICByLT5tX3JlbmRlcmVyLT5wYWludChjdXJyZW50UGFpbnRJbmZv
LCBjaGlsZFBvaW50KTsKICAgICAgICAgICAgIGlmICghcHJlc2VydmVQaGFzZSkgewogICAgICAg
ICAgICAgICAgIGN1cnJlbnRQYWludEluZm8ucGhhc2UgPSBQYWludFBoYXNlQ2hpbGRCbG9ja0Jh
Y2tncm91bmRzOwpAQCAtMzk1MSwxMyArMzk1MSwxOCBAQCBib29sIFJlbmRlckJsb2NrOjpwb3Np
dGlvbk5ld0Zsb2F0cygpCiAKICAgICAgICAgc2V0TG9naWNhbExlZnRGb3JGbG9hdChmbG9hdGlu
Z09iamVjdCwgZmxvYXRMb2dpY2FsTG9jYXRpb24ueCgpKTsKIAotICAgICAgICBib29sIGhhc1No
YXBlT3V0c2lkZSA9IGZhbHNlOwogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKLSAgICAgICAg
aGFzU2hhcGVPdXRzaWRlID0gZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCktPmV4Y2x1c2lvblNo
YXBlT3V0c2lkZUluZm8oKTsKKyAgICAgICAgaWYgKGNoaWxkQm94LT5leGNsdXNpb25TaGFwZU91
dHNpZGVJbmZvKCkpIHsKKyAgICAgICAgICAgIC8vIFRoZSBDU1MgRXhjbHVzaW9ucyBzcGVjaWZp
Y2F0aW9uIHNheXMgdGhhdCB0aGUgbWFyZ2lucyBhcmUgaWdub3JlZCB3aGVuIGEgZmxvYXQgaGFz
IGEgc2hhcGUgb3V0c2lkZS4KKyAgICAgICAgICAgIHNldExvZ2ljYWxMZWZ0Rm9yQ2hpbGQoY2hp
bGRCb3gsIGZsb2F0TG9naWNhbExvY2F0aW9uLngoKSAtIGNoaWxkQm94LT5leGNsdXNpb25TaGFw
ZU91dHNpZGVJbmZvKCktPnNoYXBlTG9naWNhbExlZnQoKSk7CisgICAgICAgICAgICBzZXRMb2dp
Y2FsVG9wRm9yQ2hpbGQoY2hpbGRCb3gsIGZsb2F0TG9naWNhbExvY2F0aW9uLnkoKSAtIGNoaWxk
Qm94LT5leGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKCktPnNoYXBlTG9naWNhbFRvcCgpKTsKKyAg
ICAgICAgfSBlbHNlIHsKKyNlbmRpZgorICAgICAgICAgICAgc2V0TG9naWNhbExlZnRGb3JDaGls
ZChjaGlsZEJveCwgZmxvYXRMb2dpY2FsTG9jYXRpb24ueCgpICsgY2hpbGRMb2dpY2FsTGVmdE1h
cmdpbik7CisgICAgICAgICAgICBzZXRMb2dpY2FsVG9wRm9yQ2hpbGQoY2hpbGRCb3gsIGZsb2F0
TG9naWNhbExvY2F0aW9uLnkoKSArIG1hcmdpbkJlZm9yZUZvckNoaWxkKGNoaWxkQm94KSk7Cisj
aWYgRU5BQkxFKENTU19FWENMVVNJT05TKQorICAgICAgICB9CiAjZW5kaWYKLSAgICAgICAgLy8g
VGhlIENTUyBFeGNsdXNpb25zIHNwZWNpZmljYXRpb24gc2F5cyB0aGF0IHRoZSBtYXJnaW5zIGFy
ZSBpZ25vcmVkIHdoZW4gYSBmbG9hdCBoYXMgYSBzaGFwZSBvdXRzaWRlLgotICAgICAgICBzZXRM
b2dpY2FsTGVmdEZvckNoaWxkKGNoaWxkQm94LCBmbG9hdExvZ2ljYWxMb2NhdGlvbi54KCkgKyAo
aGFzU2hhcGVPdXRzaWRlID8gTGF5b3V0VW5pdCgpIDogY2hpbGRMb2dpY2FsTGVmdE1hcmdpbikp
OwotICAgICAgICBzZXRMb2dpY2FsVG9wRm9yQ2hpbGQoY2hpbGRCb3gsIGZsb2F0TG9naWNhbExv
Y2F0aW9uLnkoKSArIChoYXNTaGFwZU91dHNpZGUgPyBMYXlvdXRVbml0KCkgOiBtYXJnaW5CZWZv
cmVGb3JDaGlsZChjaGlsZEJveCkpKTsKIAogICAgICAgICBMYXlvdXRTdGF0ZSogbGF5b3V0U3Rh
dGUgPSB2aWV3KCktPmxheW91dFN0YXRlKCk7CiAgICAgICAgIGJvb2wgaXNQYWdpbmF0ZWQgPSBs
YXlvdXRTdGF0ZS0+aXNQYWdpbmF0ZWQoKTsKQEAgLTM5ODYsOSArMzk5MSwxOSBAQCBib29sIFJl
bmRlckJsb2NrOjpwb3NpdGlvbk5ld0Zsb2F0cygpCiAgICAgICAgICAgICAgICAgZmxvYXRMb2dp
Y2FsTG9jYXRpb24gPSBjb21wdXRlTG9naWNhbExvY2F0aW9uRm9yRmxvYXQoZmxvYXRpbmdPYmpl
Y3QsIG5ld0xvZ2ljYWxUb3ApOwogICAgICAgICAgICAgICAgIHNldExvZ2ljYWxMZWZ0Rm9yRmxv
YXQoZmxvYXRpbmdPYmplY3QsIGZsb2F0TG9naWNhbExvY2F0aW9uLngoKSk7CiAKLSAgICAgICAg
ICAgICAgICAvLyBUaGUgQ1NTIEV4Y2x1c2lvbnMgc3BlY2lmaWNhdGlvbiBzYXlzIHRoYXQgdGhl
IG1hcmdpbnMgYXJlIGlnbm9yZWQgd2hlbiBhIGZsb2F0IGhhcyBhIHNoYXBlIG91dHNpZGUuCi0g
ICAgICAgICAgICAgICAgc2V0TG9naWNhbExlZnRGb3JDaGlsZChjaGlsZEJveCwgZmxvYXRMb2dp
Y2FsTG9jYXRpb24ueCgpICsgKGhhc1NoYXBlT3V0c2lkZSA/IExheW91dFVuaXQoKSA6IGNoaWxk
TG9naWNhbExlZnRNYXJnaW4pKTsKLSAgICAgICAgICAgICAgICBzZXRMb2dpY2FsVG9wRm9yQ2hp
bGQoY2hpbGRCb3gsIGZsb2F0TG9naWNhbExvY2F0aW9uLnkoKSArIChoYXNTaGFwZU91dHNpZGUg
PyBMYXlvdXRVbml0KCkgOiBtYXJnaW5CZWZvcmVGb3JDaGlsZChjaGlsZEJveCkpKTsKKyNpZiBF
TkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgICAgICAgICAgICAgaWYgKGNoaWxkQm94LT5leGNs
dXNpb25TaGFwZU91dHNpZGVJbmZvKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gVGhlIENT
UyBFeGNsdXNpb25zIHNwZWNpZmljYXRpb24gc2F5cyB0aGF0IHRoZSBtYXJnaW5zIGFyZSBpZ25v
cmVkIHdoZW4gYSBmbG9hdCBoYXMgYSBzaGFwZSBvdXRzaWRlLgorICAgICAgICAgICAgICAgICAg
ICBzZXRMb2dpY2FsTGVmdEZvckNoaWxkKGNoaWxkQm94LCBmbG9hdExvZ2ljYWxMb2NhdGlvbi54
KCkgLSBjaGlsZEJveC0+ZXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbygpLT5zaGFwZUxvZ2ljYWxM
ZWZ0KCkpOworICAgICAgICAgICAgICAgICAgICBzZXRMb2dpY2FsVG9wRm9yQ2hpbGQoY2hpbGRC
b3gsIGZsb2F0TG9naWNhbExvY2F0aW9uLnkoKSAtIGNoaWxkQm94LT5leGNsdXNpb25TaGFwZU91
dHNpZGVJbmZvKCktPnNoYXBlTG9naWNhbFRvcCgpKTsKKyAgICAgICAgICAgICAgICB9IGVsc2Ug
eworI2VuZGlmCisgICAgICAgICAgICAgICAgICAgIHNldExvZ2ljYWxMZWZ0Rm9yQ2hpbGQoY2hp
bGRCb3gsIGZsb2F0TG9naWNhbExvY2F0aW9uLngoKSArIGNoaWxkTG9naWNhbExlZnRNYXJnaW4p
OworICAgICAgICAgICAgICAgICAgICBzZXRMb2dpY2FsVG9wRm9yQ2hpbGQoY2hpbGRCb3gsIGZs
b2F0TG9naWNhbExvY2F0aW9uLnkoKSArIG1hcmdpbkJlZm9yZUZvckNoaWxkKGNoaWxkQm94KSk7
CisjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQorICAgICAgICAgICAgICAgIH0KKyNlbmRpZgor
CiAgICAgICAgIAogICAgICAgICAgICAgICAgIGlmIChjaGlsZEJsb2NrKQogICAgICAgICAgICAg
ICAgICAgICBjaGlsZEJsb2NrLT5zZXRDaGlsZE5lZWRzTGF5b3V0KHRydWUsIE1hcmtPbmx5VGhp
cyk7CkBAIC0zOTk4LDggKzQwMTMsOCBAQCBib29sIFJlbmRlckJsb2NrOjpwb3NpdGlvbk5ld0Zs
b2F0cygpCiAKICAgICAgICAgc2V0TG9naWNhbFRvcEZvckZsb2F0KGZsb2F0aW5nT2JqZWN0LCBm
bG9hdExvZ2ljYWxMb2NhdGlvbi55KCkpOwogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKLSAg
ICAgICAgaWYgKGhhc1NoYXBlT3V0c2lkZSkKLSAgICAgICAgICAgIHNldExvZ2ljYWxIZWlnaHRG
b3JGbG9hdChmbG9hdGluZ09iamVjdCwgZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCktPmV4Y2x1
c2lvblNoYXBlT3V0c2lkZUluZm8oKS0+c2hhcGVMb2dpY2FsSGVpZ2h0KCkpOworICAgICAgICBp
ZiAoY2hpbGRCb3gtPmV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8oKSkKKyAgICAgICAgICAgIHNl
dExvZ2ljYWxIZWlnaHRGb3JGbG9hdChmbG9hdGluZ09iamVjdCwgY2hpbGRCb3gtPmV4Y2x1c2lv
blNoYXBlT3V0c2lkZUluZm8oKS0+c2hhcGVMb2dpY2FsSGVpZ2h0KCkpOwogICAgICAgICBlbHNl
CiAjZW5kaWYKICAgICAgICAgICAgIHNldExvZ2ljYWxIZWlnaHRGb3JGbG9hdChmbG9hdGluZ09i
amVjdCwgbG9naWNhbEhlaWdodEZvckNoaWxkKGNoaWxkQm94KSArIG1hcmdpbkJlZm9yZUZvckNo
aWxkKGNoaWxkQm94KSArIG1hcmdpbkFmdGVyRm9yQ2hpbGQoY2hpbGRCb3gpKTsKQEAgLTQ0ODEs
NiArNDQ5Niw3IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2s6OmFkZE92ZXJoYW5naW5nRmxvYXRz
KFJlbmRlckJsb2NrKiBjaGlsZCwgYm9vbCBtYWtlQ2hpbGRQCiAgICAgICAgIExheW91dFVuaXQg
bG9naWNhbEJvdHRvbSA9IGNoaWxkTG9naWNhbFRvcCArIGxvZ2ljYWxCb3R0b21Gb3JGbG9hdDsK
ICAgICAgICAgbG93ZXN0RmxvYXRMb2dpY2FsQm90dG9tID0gbWF4KGxvd2VzdEZsb2F0TG9naWNh
bEJvdHRvbSwgbG9naWNhbEJvdHRvbSk7CiAKKyAgICAgICAgLy8gRklYTUUgSGFuZGxlIHNpdHVh
dGlvbnMgd2hlcmUgZmxvYXQgYW5kIHNoYXBlLW91dHNpZGUgb3ZlcmhhbmcgZGlmZmVyZW50bHku
CiAgICAgICAgIGlmIChsb2dpY2FsQm90dG9tID4gbG9naWNhbEhlaWdodCgpKSB7CiAgICAgICAg
ICAgICAvLyBJZiB0aGUgb2JqZWN0IGlzIG5vdCBpbiB0aGUgbGlzdCwgd2UgYWRkIGl0IG5vdy4K
ICAgICAgICAgICAgIGlmICghY29udGFpbnNGbG9hdChyLT5tX3JlbmRlcmVyKSkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCBhZTUyMjRlODIwMGM0N2U0NTM1MzU3
ZDdlMjIzODA5MGViN2U0NzI0Li4xNzVjNmMyMTk2YjNhODY2N2NlZmEwYzZhOTdjNWM5ZjY5OWZm
NjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtNzI5LDYgKzcy
OSw3IEBAIHByaXZhdGU6CiAKICAgICBMYXlvdXRVbml0IHhQb3NpdGlvbkZvckZsb2F0SW5jbHVk
aW5nTWFyZ2luKGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBjaGlsZCkgY29uc3QKICAgICB7CisgICAg
ICAgIC8vIEZJWE1FIHRoaXMgbmVlZHMgdG8gcHJvcGVybHkgaGFuZGxlIHRoZSBtYXJnaW4gZm9y
IGZsb2F0cyB3aXRoIHNoYXBlLW91dHNpZGUKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkpCiAgICAgICAgICAgICByZXR1cm4gY2hpbGQtPngoKSArIGNoaWxkLT5yZW5kZXJl
cigpLT5tYXJnaW5MZWZ0KCk7CiAgICAgICAgIGVsc2UKQEAgLTczNywxMiArNzM4LDU3IEBAIHBy
aXZhdGU6CiAgICAgICAgIAogICAgIExheW91dFVuaXQgeVBvc2l0aW9uRm9yRmxvYXRJbmNsdWRp
bmdNYXJnaW4oY29uc3QgRmxvYXRpbmdPYmplY3QqIGNoaWxkKSBjb25zdAogICAgIHsKKyAgICAg
ICAgLy8gRklYTUUgdGhpcyBuZWVkcyB0byBwcm9wZXJseSBoYW5kbGUgdGhlIG1hcmdpbiBmb3Ig
ZmxvYXRzIHdpdGggc2hhcGUtb3V0c2lkZQogICAgICAgICBpZiAoaXNIb3Jpem9udGFsV3JpdGlu
Z01vZGUoKSkKICAgICAgICAgICAgIHJldHVybiBjaGlsZC0+eSgpICsgbWFyZ2luQmVmb3JlRm9y
Q2hpbGQoY2hpbGQtPnJlbmRlcmVyKCkpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXR1
cm4gY2hpbGQtPnkoKSArIGNoaWxkLT5yZW5kZXJlcigpLT5tYXJnaW5Ub3AoKTsKICAgICB9CiAK
KyAgICBMYXlvdXRVbml0IHhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luRm9yUGFpbnQo
Y29uc3QgRmxvYXRpbmdPYmplY3QqIGNoaWxkKSBjb25zdAorICAgIHsKKyNpZiBFTkFCTEUoQ1NT
X0VYQ0xVU0lPTlMpCisgICAgICAgIEV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8gKnNoYXBlT3V0
c2lkZSA9IGNoaWxkLT5yZW5kZXJlcigpLT5leGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKCk7Cisj
ZW5kaWYKKworICAgICAgICBpZiAoaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkgeworI2lmIEVO
QUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICAgICAgICAgIGlmIChzaGFwZU91dHNpZGUpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIGNoaWxkLT54KCkgLSBzaGFwZU91dHNpZGUtPnNoYXBlTG9naWNh
bExlZnQoKTsKKyNlbmRpZgorICAgICAgICAgICAgcmV0dXJuIGNoaWxkLT54KCkgKyBjaGlsZC0+
cmVuZGVyZXIoKS0+bWFyZ2luTGVmdCgpOworICAgICAgICB9CisKKyNpZiBFTkFCTEUoQ1NTX0VY
Q0xVU0lPTlMpCisgICAgICAgIGlmIChzaGFwZU91dHNpZGUpCisgICAgICAgICAgICByZXR1cm4g
Y2hpbGQtPngoKSAtIHNoYXBlT3V0c2lkZS0+c2hhcGVMb2dpY2FsVG9wKCk7CisjZW5kaWYKKwor
ICAgICAgICByZXR1cm4gY2hpbGQtPngoKSArIG1hcmdpbkJlZm9yZUZvckNoaWxkKGNoaWxkLT5y
ZW5kZXJlcigpKTsKKyAgICB9CisgICAgICAgIAorICAgIExheW91dFVuaXQgeVBvc2l0aW9uRm9y
RmxvYXRJbmNsdWRpbmdNYXJnaW5Gb3JQYWludChjb25zdCBGbG9hdGluZ09iamVjdCogY2hpbGQp
IGNvbnN0CisgICAgeworI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICAgICAgRXhjbHVz
aW9uU2hhcGVPdXRzaWRlSW5mbyAqc2hhcGVPdXRzaWRlID0gY2hpbGQtPnJlbmRlcmVyKCktPmV4
Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8oKTsKKyNlbmRpZgorCisgICAgICAgIGlmIChpc0hvcml6
b250YWxXcml0aW5nTW9kZSgpKSB7CisjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQorICAgICAg
ICAgICAgaWYgKHNoYXBlT3V0c2lkZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gY2hpbGQtPnko
KSAtIHNoYXBlT3V0c2lkZS0+c2hhcGVMb2dpY2FsVG9wKCk7CisjZW5kaWYKKyAgICAgICAgICAg
IHJldHVybiBjaGlsZC0+eSgpICsgbWFyZ2luQmVmb3JlRm9yQ2hpbGQoY2hpbGQtPnJlbmRlcmVy
KCkpOworICAgICAgICB9CisKKyNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgICAgIGlm
IChzaGFwZU91dHNpZGUpCisgICAgICAgICAgICByZXR1cm4gY2hpbGQtPnkoKSAtIHNoYXBlT3V0
c2lkZS0+c2hhcGVMb2dpY2FsTGVmdCgpOworI2VuZGlmCisKKyAgICAgICAgcmV0dXJuIGNoaWxk
LT55KCkgKyBjaGlsZC0+cmVuZGVyZXIoKS0+bWFyZ2luVG9wKCk7CisgICAgfQorCiAgICAgTGF5
b3V0UG9pbnQgY29tcHV0ZUxvZ2ljYWxMb2NhdGlvbkZvckZsb2F0KGNvbnN0IEZsb2F0aW5nT2Jq
ZWN0KiwgTGF5b3V0VW5pdCBsb2dpY2FsVG9wT2Zmc2V0KSBjb25zdDsKIAogICAgIC8vIFRoZSBm
b2xsb3dpbmcgZnVuY3Rpb25zJyBpbXBsZW1lbnRhdGlvbnMgYXJlIGluIFJlbmRlckJsb2NrTGlu
ZUxheW91dC5jcHAuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDc0N2NjMWU0ZTU4MzZiZGYxZjJjZmM4OTM0N2ViMzBjOGIx
MmVjYy4uNTIwY2I5NmY4M2JmZjBhYzE4ODNhOTExZmQ2MWY2MGE5MDkyMWQ1OCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDEzLTAxLTE1ICBCZW0gSm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUu
Y29tPgorCisgICAgICAgIFtDU1MgRXhjbHVzaW9uc10gc2hhcGUtb3V0c2lkZSBvbiBmbG9hdHMg
Zm9yIHJlY3RhbmdsZSBzaGFwZXMgcG9zaXRpb25pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDM5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUt
ZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXBvc2l0aW9uaW5nLWV4cGVjdGVkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFw
ZS1vdXRzaWRlLWZsb2F0cy1wb3NpdGlvbmluZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtc2lt
cGxlLXJlY3RhbmdsZS1ob3Jpem9udGFsLW11bHRpcGxlLmh0bWw6CisgICAgICAgICAgICBUaGlz
IHRlc3QgaGFkIGluY29ycmVjdCBjb29yZGluYXRlcyBmb3Igc29tZSBvZiB0aGUgc2hhcGVzLCBj
YXVzaW5nIHRoZW0gdG8gYnJlYWsgbm93IHRoYXQgeCBhbmQgeSBhcmUgc3VwcG9ydGVkIGZvciB0
aGUgc2hhcGVzLgorCiAyMDEzLTAxLTE1ICBGbG9yaW4gTWFsaXRhICA8Zm1hbGl0YUBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBJbmNvcnJlY3Qgb3BhcXVlIHJlZ2lvbiB0cmFj
a2luZyBmb3IgUGxhdGZvcm1Db250ZXh0U2tpYTo6ZHJhd1JSZWN0CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lk
ZS1mbG9hdHMtcG9zaXRpb25pbmctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXhj
bHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1wb3NpdGlv
bmluZy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0YzhkNDhlZDY2ZjJhMThiNDNjYTNiMzIx
YjBlNzYxZGE3YWU4YmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1
c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtcG9zaXRpb25p
bmctZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDEwNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorICA8c3R5bGU+CisgICAgLmNvbnRhaW5lciB7CisgICAgICBmb250OiAxMHB4
LzEgQWhlbSwgc2Fucy1zZXJpZjsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CisgICAg
ICB3aWR0aDogNDBweDsKKyAgICAgIGhlaWdodDogNDBweDsKKyAgICAgIG1hcmdpbjogNTBweDsK
KyAgICB9CisgICAgLmNoaWxkIHsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICAg
ICAgd2lkdGg6IDQwcHg7CisgICAgICBoZWlnaHQ6IDQwcHg7CisgICAgfQorICAgIC5leGNsdXNp
b24tbmVnYXRpdmUteCB7CisgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICBsZWZ0OiAy
MHB4OworICAgIH0KKyAgICAuZXhjbHVzaW9uLXBvc2l0aXZlLXggeworICAgICAgcG9zaXRpb246
IHJlbGF0aXZlOworICAgICAgbGVmdDogLTIwcHg7CisgICAgfQorICAgIC5leGNsdXNpb24tbmVn
YXRpdmUteSB7CisgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICB0b3A6IDIwcHg7Cisg
ICAgfQorICAgIC5leGNsdXNpb24tcG9zaXRpdmUteSB7CisgICAgICBwb3NpdGlvbjogcmVsYXRp
dmU7CisgICAgICB0b3A6IC0yMHB4OworICAgIH0KKyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorICA8aDE+PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwMDM5OSI+QnVnIDEwMDM5OTwvYT46IFtDU1MgRXhjbHVzaW9uc10gc2hhcGUtb3V0c2lkZSBv
biBmbG9hdHMgZm9yIHJlY3RhbmdsZSBzaGFwZXMgcG9zaXRpb25pbmc8L2gxPgorICA8aDI+VGhl
IGZvbGxvd2luZyB0ZXN0cyBzaG91bGQgaGF2ZSBhIHNtYWxsIGJsdWUgcmVjdGFuZ2xlIHRvIHRo
ZSBsZWZ0IG9yIHRvIHRoZSByaWdodCBvZiBhIGdyZWVuIHNxdWFyZTwvaDI+CisgIDxkaXYgY2xh
c3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJjaGls
ZCBleGNsdXNpb24tbmVnYXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0IiBjbGFzcz0iY2hp
bGQgZXhjbHVzaW9uLXBvc2l0aXZlLXgiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBj
bGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQiIGNsYXNzPSJj
aGlsZCBleGNsdXNpb24tbmVnYXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCIgY2xhc3M9
ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS14Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxo
Mj5UaGUgZm9sbG93aW5nIHRlc3RzIHNob3VsZCBoYXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUg
YWJvdmUgb3IgYmVsb3cgb2YgYSBncmVlbiBzcXVhcmU8L2gyPgorICA8ZGl2IGNsYXNzPSJjb250
YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0IiBjbGFzcz0iY2hpbGQgZXhjbHVz
aW9uLW5lZ2F0aXZlLXkiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29u
dGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xhc3M9ImNoaWxkIGV4Y2x1
c2lvbi1wb3NpdGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNv
bnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0IiBjbGFzcz0iY2hpbGQgZXhj
bHVzaW9uLW5lZ2F0aXZlLXkiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0i
Y29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQiIGNsYXNzPSJjaGlsZCBl
eGNsdXNpb24tcG9zaXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8aDI+VGhlIGZv
bGxvd2luZyB0ZXN0cyBzaG91bGQgaGF2ZSBhIHNtYWxsIGJsdWUgcmVjdGFuZ2xlIGFib3ZlIG9y
IGJlbG93IG9mIGEgZ3JlZW4gc3F1YXJlPC9oMj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4K
KyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRp
Y2FsLXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS15Ij4KKyAgICA8L2Rpdj4K
KyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxv
YXQ6IGxlZnQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGls
ZCBleGNsdXNpb24tcG9zaXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsgLXdlYmtpdC13
cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2
ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+Cisg
ICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGlj
YWwtcmw7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXkiPgorICAgIDwvZGl2Pgor
ICA8L2Rpdj4KKyAgPGgyPlRoZSBmb2xsb3dpbmcgdGVzdHMgc2hvdWxkIGhhdmUgYSBzbWFsbCBi
bHVlIHJlY3RhbmdsZSB0byB0aGUgbGVmdCBvciB0byB0aGUgcmlnaHQgb2YgYSBncmVlbiBzcXVh
cmU8L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0
OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7IiBjbGFzcz0iY2hpbGQg
ZXhjbHVzaW9uLW5lZ2F0aXZlLXgiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFz
cz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgLXdlYmtpdC13cml0
aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS14
Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAg
PGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwt
cmw7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXgiPgorICAgIDwvZGl2PgorICA8
L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDog
cmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGlsZCBl
eGNsdXNpb24tcG9zaXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorPC9ib2R5PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRz
L3NoYXBlLW91dHNpZGUtZmxvYXRzLXBvc2l0aW9uaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtcG9z
aXRpb25pbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZTVjNTI2N2YxMGE3MTgxZDk1ZGZlNTFmMmI5NWU1
YzBmNTlmZDFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25z
L3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXBvc2l0aW9uaW5nLmh0
bWwKQEAgLTAsMCArMSwxMDUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAg
PHNjcmlwdD4KKyAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2V0dGluZ3Muc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQodHJ1ZSk7CisgIDwvc2NyaXB0Pgor
ICA8c3R5bGU+CisgICAgLmNvbnRhaW5lciB7CisgICAgICBmb250OiAxMHB4LzEgQWhlbSwgc2Fu
cy1zZXJpZjsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CisgICAgICB3aWR0aDogNDBw
eDsKKyAgICAgIGhlaWdodDogNDBweDsKKyAgICAgIG1hcmdpbjogNTBweDsKKyAgICB9CisgICAg
LmNoaWxkIHsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICAgICAgd2lkdGg6IDQw
cHg7CisgICAgICBoZWlnaHQ6IDQwcHg7CisgICAgfQorICAgIC5leGNsdXNpb24tbmVnYXRpdmUt
eCB7CisgICAgICAtd2Via2l0LXNoYXBlLW91dHNpZGU6IHJlY3RhbmdsZSgtMjBweCwgMCwgNDBw
eCwgNDBweCk7CisgICAgfQorICAgIC5leGNsdXNpb24tcG9zaXRpdmUteCB7CisgICAgICAtd2Vi
a2l0LXNoYXBlLW91dHNpZGU6IHJlY3RhbmdsZSgyMHB4LCAwLCA0MHB4LCA0MHB4KTsKKyAgICB9
CisgICAgLmV4Y2x1c2lvbi1uZWdhdGl2ZS15IHsKKyAgICAgIC13ZWJraXQtc2hhcGUtb3V0c2lk
ZTogcmVjdGFuZ2xlKDAsIC0yMHB4LCA0MHB4LCA0MHB4KTsKKyAgICB9CisgICAgLmV4Y2x1c2lv
bi1wb3NpdGl2ZS15IHsKKyAgICAgIC13ZWJraXQtc2hhcGUtb3V0c2lkZTogcmVjdGFuZ2xlKDAs
IDIwcHgsIDQwcHgsIDQwcHgpOworICAgIH0KKyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
ICA8aDE+PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
MDM5OSI+QnVnIDEwMDM5OTwvYT46IFtDU1MgRXhjbHVzaW9uc10gc2hhcGUtb3V0c2lkZSBvbiBm
bG9hdHMgZm9yIHJlY3RhbmdsZSBzaGFwZXMgcG9zaXRpb25pbmc8L2gxPgorICA8aDI+VGhlIGZv
bGxvd2luZyB0ZXN0cyBzaG91bGQgaGF2ZSBhIHNtYWxsIGJsdWUgcmVjdGFuZ2xlIHRvIHRoZSBs
ZWZ0IG9yIHRvIHRoZSByaWdodCBvZiBhIGdyZWVuIHNxdWFyZTwvaDI+CisgIDxkaXYgY2xhc3M9
ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJjaGlsZCBl
eGNsdXNpb24tbmVnYXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNz
PSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0IiBjbGFzcz0iY2hpbGQg
ZXhjbHVzaW9uLXBvc2l0aXZlLXgiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFz
cz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQiIGNsYXNzPSJjaGls
ZCBleGNsdXNpb24tbmVnYXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCIgY2xhc3M9ImNo
aWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS14Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxoMj5U
aGUgZm9sbG93aW5nIHRlc3RzIHNob3VsZCBoYXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUgYWJv
dmUgb3IgYmVsb3cgb2YgYSBncmVlbiBzcXVhcmU8L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWlu
ZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9u
LW5lZ2F0aXZlLXkiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFp
bmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lv
bi1wb3NpdGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRh
aW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0IiBjbGFzcz0iY2hpbGQgZXhjbHVz
aW9uLW5lZ2F0aXZlLXkiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29u
dGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQiIGNsYXNzPSJjaGlsZCBleGNs
dXNpb24tcG9zaXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8aDI+VGhlIGZvbGxv
d2luZyB0ZXN0cyBzaG91bGQgaGF2ZSBhIHNtYWxsIGJsdWUgcmVjdGFuZ2xlIGFib3ZlIG9yIGJl
bG93IG9mIGEgZ3JlZW4gc3F1YXJlPC9oMj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAg
ICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2Fs
LXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS14Ij4KKyAgICA8L2Rpdj4KKyAg
PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6
IGxlZnQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGlsZCBl
eGNsdXNpb24tcG9zaXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNz
PSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsgLXdlYmtpdC13cml0
aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS14
Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAg
PGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwt
cmw7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXgiPgorICAgIDwvZGl2PgorICA8
L2Rpdj4KKyAgPGgyPlRoZSBmb2xsb3dpbmcgdGVzdHMgc2hvdWxkIGhhdmUgYSBzbWFsbCBibHVl
IHJlY3RhbmdsZSB0byB0aGUgbGVmdCBvciB0byB0aGUgcmlnaHQgb2YgYSBncmVlbiBzcXVhcmU8
L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiBs
ZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7IiBjbGFzcz0iY2hpbGQgZXhj
bHVzaW9uLW5lZ2F0aXZlLXkiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0i
Y29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgLXdlYmtpdC13cml0aW5n
LW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS15Ij4K
KyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRp
diBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7
IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXkiPgorICAgIDwvZGl2PgorICA8L2Rp
dj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogcmln
aHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGlsZCBleGNs
dXNpb24tcG9zaXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorPC9ib2R5PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRzL3No
YXBlLW91dHNpZGUtZmxvYXRzLXNpbXBsZS1yZWN0YW5nbGUtaG9yaXpvbnRhbC1tdWx0aXBsZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRzL3No
YXBlLW91dHNpZGUtZmxvYXRzLXNpbXBsZS1yZWN0YW5nbGUtaG9yaXpvbnRhbC1tdWx0aXBsZS5o
dG1sCmluZGV4IDc3NmUzYmNhNTQ5ZmUzNGU1ZjljZDhmMjNkZjg1OWZiOTc3OTU1YTEuLjNhN2Vj
Y2Q5ZWJiNGYxZjQ1YTViYWRiMjFmNzk5ZGMxZjBlZDUzMTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZs
b2F0cy1zaW1wbGUtcmVjdGFuZ2xlLWhvcml6b250YWwtbXVsdGlwbGUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lk
ZS1mbG9hdHMtc2ltcGxlLXJlY3RhbmdsZS1ob3Jpem9udGFsLW11bHRpcGxlLmh0bWwKQEAgLTM3
LDcgKzM3LDcgQEAKICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CiAgICAgfQogICAg
IC5mbG9hdC1yaWdodC1leGNsdXNpb24gewotICAgICAgICAtd2Via2l0LXNoYXBlLW91dHNpZGU6
IHJlY3RhbmdsZSgxMHB4LCAwcHgsIDEwcHgsIDIwcHgpOworICAgICAgICAtd2Via2l0LXNoYXBl
LW91dHNpZGU6IHJlY3RhbmdsZSgwcHgsIDBweCwgMTBweCwgMjBweCk7CiAgICAgICAgIGZsb2F0
OiByaWdodDsKICAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgICB3aWR0aDogMjBweDsKQEAg
LTQ5LDcgKzQ5LDcgQEAKICAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgfQogICAgIC5mbG9hdC1y
aWdodC12ZXJ0aWNhbC1leGNsdXNpb24gewotICAgICAgICAtd2Via2l0LXNoYXBlLW91dHNpZGU6
IHJlY3RhbmdsZSgwcHgsIDEwcHgsIDIwcHgsIDEwcHgpOworICAgICAgICAtd2Via2l0LXNoYXBl
LW91dHNpZGU6IHJlY3RhbmdsZSgwcHgsIDBweCwgMjBweCwgMTBweCk7CiAgICAgICAgIGZsb2F0
OiByaWdodDsKICAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgICB3aWR0aDogMjBweDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182812</attachid>
            <date>2013-01-15 11:12:47 -0800</date>
            <delta_ts>2013-01-18 16:31:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100399-20130115110949.patch</filename>
            <type>text/plain</type>
            <size>21720</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM3YTcwZDkyOTlhODc0
MGRhN2Q1NGQzMDMyMmU4MWYzMjRmODBmYy4uM2Y3MTUzOTNiYzE1MjZiYmU5ZWE5ZTRjOWRiODkz
NGQ1ZmVjMDg5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAxLTE1ICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgRXhjbHVzaW9u
c10gc2hhcGUtb3V0c2lkZSBvbiBmbG9hdHMgZm9yIHJlY3RhbmdsZSBzaGFwZXMgcG9zaXRpb25p
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDM5
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0
cy1wb3NpdGlvbmluZy5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmZsaXBGbG9hdEZvcldyaXRpbmdNb2Rl
Rm9yQ2hpbGQpOiBTaW5jZSB0aGlzIGlzCisgICAgICAgICAgICBjb25jZXJuZWQgd2l0aCBwYWlu
dGluZywgdXNlIHRoZSBwb3NpdGlvbiBvZiB0aGUgZmxvYXQsIG5vdCB0aGUKKyAgICAgICAgICAg
IHNoYXBlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnBhaW50RmxvYXRzKTogU2lu
Y2UgdGhpcyBpcyBjb25jZXJuZWQgd2l0aAorICAgICAgICAgICAgcGFpbnRpbmcsIHVzZSB0aGUg
cG9zaXRpb24gb2YgdGhlIGZsb2F0LCBub3QgdGhlIHNoYXBlLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2s6OnBvc2l0aW9uTmV3RmxvYXRzKTogU2V0IHRoZSBjb3JyZWN0IGxvY2F0aW9u
CisgICAgICAgICAgICBmb3IgdGhlIGZsb2F0LCByZWxhdGl2ZSB0byB0aGUgbG9jYXRpb24gb2Yg
dGhlIHNoYXBlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZE92ZXJoYW5naW5n
RmxvYXRzKTogQWRkIEZJWE1FLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5n
TWFyZ2luKTogQWRkIEZJWE1FLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnlQb3Np
dGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKTogQWRkIEZJWE1FLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OnhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luRm9yUGFpbnQp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnlQb3NpdGlvbkZvckZsb2F0SW5jbHVk
aW5nTWFyZ2luRm9yUGFpbnQpOiBTaW5jZSB0aGUgCisgICAgICAgICAgICBwb3NpdGlvbiBvZiB0
aGUgc2hhcGUgKEZsb2F0aW5nT2JqZWN0KSBjYW4gYmUgZGlmZmVyZW50IGZyb20gdGhlCisgICAg
ICAgICAgICBwb3NpdGlvbiBvZiB0aGUgZmxvYXQncyBib3ggKFJlbmRlckJveCksIHRoZSBwb3Np
dGlvbiBuZWVkcyB0byBiZQorICAgICAgICAgICAgY29tcHV0ZWQgZGlmZmVyZW50bHkgZm9yIHBh
aW50aW5nIHRoYW4gZm9yIGRldGVybWluaW5nIGxheW91dC4KKwogMjAxMy0wMS0xNSAgVnNldm9s
b2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCBy
ZW1vdmUgZmlsZSB0aGF0IHdhcyBhY2NpZGVudGFsbHkgYWRkZWQgdG8gdGhlIHdyb25nIHBhdGNo
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggYTJjZTFiMTRl
YThlNjJiYjczN2MyYTEzMThmYWIzN2JmMDNkNmI2NS4uMmVkNDJjMzgzOTc4YzM0YTA5N2YwODM3
ZmU5ZmJiZmI5NzMwZDMyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwCkBAIC0zMDc1LDggKzMwNzUsOCBAQCBMYXlvdXRQb2ludCBSZW5kZXJCbG9jazo6ZmxpcEZs
b2F0Rm9yV3JpdGluZ01vZGVGb3JDaGlsZChjb25zdCBGbG9hdGluZ09iamVjdCogYwogICAgIC8v
IGl0J3MgZ29pbmcgdG8gZ2V0IGFkZGVkIGJhY2sgaW4uIFdlIGhpZGUgdGhpcyBjb21wbGljYXRp
b24gaGVyZSBzbyB0aGF0IHRoZSBjYWxsaW5nIGNvZGUgbG9va3Mgbm9ybWFsIGZvciB0aGUgdW5m
bGlwcGVkCiAgICAgLy8gY2FzZS4KICAgICBpZiAoaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkK
LSAgICAgICAgcmV0dXJuIExheW91dFBvaW50KHBvaW50LngoKSwgcG9pbnQueSgpICsgaGVpZ2h0
KCkgLSBjaGlsZC0+cmVuZGVyZXIoKS0+aGVpZ2h0KCkgLSAyICogeVBvc2l0aW9uRm9yRmxvYXRJ
bmNsdWRpbmdNYXJnaW4oY2hpbGQpKTsKLSAgICByZXR1cm4gTGF5b3V0UG9pbnQocG9pbnQueCgp
ICsgd2lkdGgoKSAtIGNoaWxkLT5yZW5kZXJlcigpLT53aWR0aCgpIC0gMiAqIHhQb3NpdGlvbkZv
ckZsb2F0SW5jbHVkaW5nTWFyZ2luKGNoaWxkKSwgcG9pbnQueSgpKTsKKyAgICAgICAgcmV0dXJu
IExheW91dFBvaW50KHBvaW50LngoKSwgcG9pbnQueSgpICsgaGVpZ2h0KCkgLSBjaGlsZC0+cmVu
ZGVyZXIoKS0+aGVpZ2h0KCkgLSAyICogeVBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW5G
b3JQYWludChjaGlsZCkpOworICAgIHJldHVybiBMYXlvdXRQb2ludChwb2ludC54KCkgKyB3aWR0
aCgpIC0gY2hpbGQtPnJlbmRlcmVyKCktPndpZHRoKCkgLSAyICogeFBvc2l0aW9uRm9yRmxvYXRJ
bmNsdWRpbmdNYXJnaW5Gb3JQYWludChjaGlsZCksIHBvaW50LnkoKSk7CiB9CiAKIHZvaWQgUmVu
ZGVyQmxvY2s6OnBhaW50RmxvYXRzKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQ
b2ludCYgcGFpbnRPZmZzZXQsIGJvb2wgcHJlc2VydmVQaGFzZSkKQEAgLTMwOTIsNyArMzA5Miw3
IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnBhaW50RmxvYXRzKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBj
b25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzCiAgICAgICAgIGlmIChyLT5zaG91bGRQYWludCgp
ICYmICFyLT5tX3JlbmRlcmVyLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKSB7CiAgICAgICAgICAg
ICBQYWludEluZm8gY3VycmVudFBhaW50SW5mbyhwYWludEluZm8pOwogICAgICAgICAgICAgY3Vy
cmVudFBhaW50SW5mby5waGFzZSA9IHByZXNlcnZlUGhhc2UgPyBwYWludEluZm8ucGhhc2UgOiBQ
YWludFBoYXNlQmxvY2tCYWNrZ3JvdW5kOwotICAgICAgICAgICAgTGF5b3V0UG9pbnQgY2hpbGRQ
b2ludCA9IGZsaXBGbG9hdEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQociwgTGF5b3V0UG9pbnQocGFp
bnRPZmZzZXQueCgpICsgeFBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4ocikgLSByLT5t
X3JlbmRlcmVyLT54KCksIHBhaW50T2Zmc2V0LnkoKSArIHlQb3NpdGlvbkZvckZsb2F0SW5jbHVk
aW5nTWFyZ2luKHIpIC0gci0+bV9yZW5kZXJlci0+eSgpKSk7CisgICAgICAgICAgICBMYXlvdXRQ
b2ludCBjaGlsZFBvaW50ID0gZmxpcEZsb2F0Rm9yV3JpdGluZ01vZGVGb3JDaGlsZChyLCBMYXlv
dXRQb2ludChwYWludE9mZnNldC54KCkgKyB4UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdp
bkZvclBhaW50KHIpIC0gci0+bV9yZW5kZXJlci0+eCgpLCBwYWludE9mZnNldC55KCkgKyB5UG9z
aXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbkZvclBhaW50KHIpIC0gci0+bV9yZW5kZXJlci0+
eSgpKSk7CiAgICAgICAgICAgICByLT5tX3JlbmRlcmVyLT5wYWludChjdXJyZW50UGFpbnRJbmZv
LCBjaGlsZFBvaW50KTsKICAgICAgICAgICAgIGlmICghcHJlc2VydmVQaGFzZSkgewogICAgICAg
ICAgICAgICAgIGN1cnJlbnRQYWludEluZm8ucGhhc2UgPSBQYWludFBoYXNlQ2hpbGRCbG9ja0Jh
Y2tncm91bmRzOwpAQCAtMzk1MSwxMyArMzk1MSwxOCBAQCBib29sIFJlbmRlckJsb2NrOjpwb3Np
dGlvbk5ld0Zsb2F0cygpCiAKICAgICAgICAgc2V0TG9naWNhbExlZnRGb3JGbG9hdChmbG9hdGlu
Z09iamVjdCwgZmxvYXRMb2dpY2FsTG9jYXRpb24ueCgpKTsKIAotICAgICAgICBib29sIGhhc1No
YXBlT3V0c2lkZSA9IGZhbHNlOwogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKLSAgICAgICAg
aGFzU2hhcGVPdXRzaWRlID0gZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCktPmV4Y2x1c2lvblNo
YXBlT3V0c2lkZUluZm8oKTsKKyAgICAgICAgaWYgKGNoaWxkQm94LT5leGNsdXNpb25TaGFwZU91
dHNpZGVJbmZvKCkpIHsKKyAgICAgICAgICAgIC8vIFRoZSBDU1MgRXhjbHVzaW9ucyBzcGVjaWZp
Y2F0aW9uIHNheXMgdGhhdCB0aGUgbWFyZ2lucyBhcmUgaWdub3JlZCB3aGVuIGEgZmxvYXQgaGFz
IGEgc2hhcGUgb3V0c2lkZS4KKyAgICAgICAgICAgIHNldExvZ2ljYWxMZWZ0Rm9yQ2hpbGQoY2hp
bGRCb3gsIGZsb2F0TG9naWNhbExvY2F0aW9uLngoKSAtIGNoaWxkQm94LT5leGNsdXNpb25TaGFw
ZU91dHNpZGVJbmZvKCktPnNoYXBlTG9naWNhbExlZnQoKSk7CisgICAgICAgICAgICBzZXRMb2dp
Y2FsVG9wRm9yQ2hpbGQoY2hpbGRCb3gsIGZsb2F0TG9naWNhbExvY2F0aW9uLnkoKSAtIGNoaWxk
Qm94LT5leGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKCktPnNoYXBlTG9naWNhbFRvcCgpKTsKKyAg
ICAgICAgfSBlbHNlIHsKKyNlbmRpZgorICAgICAgICAgICAgc2V0TG9naWNhbExlZnRGb3JDaGls
ZChjaGlsZEJveCwgZmxvYXRMb2dpY2FsTG9jYXRpb24ueCgpICsgY2hpbGRMb2dpY2FsTGVmdE1h
cmdpbik7CisgICAgICAgICAgICBzZXRMb2dpY2FsVG9wRm9yQ2hpbGQoY2hpbGRCb3gsIGZsb2F0
TG9naWNhbExvY2F0aW9uLnkoKSArIG1hcmdpbkJlZm9yZUZvckNoaWxkKGNoaWxkQm94KSk7Cisj
aWYgRU5BQkxFKENTU19FWENMVVNJT05TKQorICAgICAgICB9CiAjZW5kaWYKLSAgICAgICAgLy8g
VGhlIENTUyBFeGNsdXNpb25zIHNwZWNpZmljYXRpb24gc2F5cyB0aGF0IHRoZSBtYXJnaW5zIGFy
ZSBpZ25vcmVkIHdoZW4gYSBmbG9hdCBoYXMgYSBzaGFwZSBvdXRzaWRlLgotICAgICAgICBzZXRM
b2dpY2FsTGVmdEZvckNoaWxkKGNoaWxkQm94LCBmbG9hdExvZ2ljYWxMb2NhdGlvbi54KCkgKyAo
aGFzU2hhcGVPdXRzaWRlID8gTGF5b3V0VW5pdCgpIDogY2hpbGRMb2dpY2FsTGVmdE1hcmdpbikp
OwotICAgICAgICBzZXRMb2dpY2FsVG9wRm9yQ2hpbGQoY2hpbGRCb3gsIGZsb2F0TG9naWNhbExv
Y2F0aW9uLnkoKSArIChoYXNTaGFwZU91dHNpZGUgPyBMYXlvdXRVbml0KCkgOiBtYXJnaW5CZWZv
cmVGb3JDaGlsZChjaGlsZEJveCkpKTsKIAogICAgICAgICBMYXlvdXRTdGF0ZSogbGF5b3V0U3Rh
dGUgPSB2aWV3KCktPmxheW91dFN0YXRlKCk7CiAgICAgICAgIGJvb2wgaXNQYWdpbmF0ZWQgPSBs
YXlvdXRTdGF0ZS0+aXNQYWdpbmF0ZWQoKTsKQEAgLTM5ODYsOSArMzk5MSwxOSBAQCBib29sIFJl
bmRlckJsb2NrOjpwb3NpdGlvbk5ld0Zsb2F0cygpCiAgICAgICAgICAgICAgICAgZmxvYXRMb2dp
Y2FsTG9jYXRpb24gPSBjb21wdXRlTG9naWNhbExvY2F0aW9uRm9yRmxvYXQoZmxvYXRpbmdPYmpl
Y3QsIG5ld0xvZ2ljYWxUb3ApOwogICAgICAgICAgICAgICAgIHNldExvZ2ljYWxMZWZ0Rm9yRmxv
YXQoZmxvYXRpbmdPYmplY3QsIGZsb2F0TG9naWNhbExvY2F0aW9uLngoKSk7CiAKLSAgICAgICAg
ICAgICAgICAvLyBUaGUgQ1NTIEV4Y2x1c2lvbnMgc3BlY2lmaWNhdGlvbiBzYXlzIHRoYXQgdGhl
IG1hcmdpbnMgYXJlIGlnbm9yZWQgd2hlbiBhIGZsb2F0IGhhcyBhIHNoYXBlIG91dHNpZGUuCi0g
ICAgICAgICAgICAgICAgc2V0TG9naWNhbExlZnRGb3JDaGlsZChjaGlsZEJveCwgZmxvYXRMb2dp
Y2FsTG9jYXRpb24ueCgpICsgKGhhc1NoYXBlT3V0c2lkZSA/IExheW91dFVuaXQoKSA6IGNoaWxk
TG9naWNhbExlZnRNYXJnaW4pKTsKLSAgICAgICAgICAgICAgICBzZXRMb2dpY2FsVG9wRm9yQ2hp
bGQoY2hpbGRCb3gsIGZsb2F0TG9naWNhbExvY2F0aW9uLnkoKSArIChoYXNTaGFwZU91dHNpZGUg
PyBMYXlvdXRVbml0KCkgOiBtYXJnaW5CZWZvcmVGb3JDaGlsZChjaGlsZEJveCkpKTsKKyNpZiBF
TkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgICAgICAgICAgICAgaWYgKGNoaWxkQm94LT5leGNs
dXNpb25TaGFwZU91dHNpZGVJbmZvKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gVGhlIENT
UyBFeGNsdXNpb25zIHNwZWNpZmljYXRpb24gc2F5cyB0aGF0IHRoZSBtYXJnaW5zIGFyZSBpZ25v
cmVkIHdoZW4gYSBmbG9hdCBoYXMgYSBzaGFwZSBvdXRzaWRlLgorICAgICAgICAgICAgICAgICAg
ICBzZXRMb2dpY2FsTGVmdEZvckNoaWxkKGNoaWxkQm94LCBmbG9hdExvZ2ljYWxMb2NhdGlvbi54
KCkgLSBjaGlsZEJveC0+ZXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbygpLT5zaGFwZUxvZ2ljYWxM
ZWZ0KCkpOworICAgICAgICAgICAgICAgICAgICBzZXRMb2dpY2FsVG9wRm9yQ2hpbGQoY2hpbGRC
b3gsIGZsb2F0TG9naWNhbExvY2F0aW9uLnkoKSAtIGNoaWxkQm94LT5leGNsdXNpb25TaGFwZU91
dHNpZGVJbmZvKCktPnNoYXBlTG9naWNhbFRvcCgpKTsKKyAgICAgICAgICAgICAgICB9IGVsc2Ug
eworI2VuZGlmCisgICAgICAgICAgICAgICAgICAgIHNldExvZ2ljYWxMZWZ0Rm9yQ2hpbGQoY2hp
bGRCb3gsIGZsb2F0TG9naWNhbExvY2F0aW9uLngoKSArIGNoaWxkTG9naWNhbExlZnRNYXJnaW4p
OworICAgICAgICAgICAgICAgICAgICBzZXRMb2dpY2FsVG9wRm9yQ2hpbGQoY2hpbGRCb3gsIGZs
b2F0TG9naWNhbExvY2F0aW9uLnkoKSArIG1hcmdpbkJlZm9yZUZvckNoaWxkKGNoaWxkQm94KSk7
CisjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQorICAgICAgICAgICAgICAgIH0KKyNlbmRpZgor
CiAgICAgICAgIAogICAgICAgICAgICAgICAgIGlmIChjaGlsZEJsb2NrKQogICAgICAgICAgICAg
ICAgICAgICBjaGlsZEJsb2NrLT5zZXRDaGlsZE5lZWRzTGF5b3V0KHRydWUsIE1hcmtPbmx5VGhp
cyk7CkBAIC0zOTk4LDggKzQwMTMsOCBAQCBib29sIFJlbmRlckJsb2NrOjpwb3NpdGlvbk5ld0Zs
b2F0cygpCiAKICAgICAgICAgc2V0TG9naWNhbFRvcEZvckZsb2F0KGZsb2F0aW5nT2JqZWN0LCBm
bG9hdExvZ2ljYWxMb2NhdGlvbi55KCkpOwogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKLSAg
ICAgICAgaWYgKGhhc1NoYXBlT3V0c2lkZSkKLSAgICAgICAgICAgIHNldExvZ2ljYWxIZWlnaHRG
b3JGbG9hdChmbG9hdGluZ09iamVjdCwgZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCktPmV4Y2x1
c2lvblNoYXBlT3V0c2lkZUluZm8oKS0+c2hhcGVMb2dpY2FsSGVpZ2h0KCkpOworICAgICAgICBp
ZiAoY2hpbGRCb3gtPmV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8oKSkKKyAgICAgICAgICAgIHNl
dExvZ2ljYWxIZWlnaHRGb3JGbG9hdChmbG9hdGluZ09iamVjdCwgY2hpbGRCb3gtPmV4Y2x1c2lv
blNoYXBlT3V0c2lkZUluZm8oKS0+c2hhcGVMb2dpY2FsSGVpZ2h0KCkpOwogICAgICAgICBlbHNl
CiAjZW5kaWYKICAgICAgICAgICAgIHNldExvZ2ljYWxIZWlnaHRGb3JGbG9hdChmbG9hdGluZ09i
amVjdCwgbG9naWNhbEhlaWdodEZvckNoaWxkKGNoaWxkQm94KSArIG1hcmdpbkJlZm9yZUZvckNo
aWxkKGNoaWxkQm94KSArIG1hcmdpbkFmdGVyRm9yQ2hpbGQoY2hpbGRCb3gpKTsKQEAgLTQ0ODEs
NiArNDQ5Niw3IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2s6OmFkZE92ZXJoYW5naW5nRmxvYXRz
KFJlbmRlckJsb2NrKiBjaGlsZCwgYm9vbCBtYWtlQ2hpbGRQCiAgICAgICAgIExheW91dFVuaXQg
bG9naWNhbEJvdHRvbSA9IGNoaWxkTG9naWNhbFRvcCArIGxvZ2ljYWxCb3R0b21Gb3JGbG9hdDsK
ICAgICAgICAgbG93ZXN0RmxvYXRMb2dpY2FsQm90dG9tID0gbWF4KGxvd2VzdEZsb2F0TG9naWNh
bEJvdHRvbSwgbG9naWNhbEJvdHRvbSk7CiAKKyAgICAgICAgLy8gRklYTUUgQnVnIDEwNjkyNzog
SGFuZGxlIHNpdHVhdGlvbnMgd2hlcmUgZmxvYXQgYW5kIHNoYXBlLW91dHNpZGUgb3ZlcmZsb3cg
ZGlmZmVyZW50bHkuCiAgICAgICAgIGlmIChsb2dpY2FsQm90dG9tID4gbG9naWNhbEhlaWdodCgp
KSB7CiAgICAgICAgICAgICAvLyBJZiB0aGUgb2JqZWN0IGlzIG5vdCBpbiB0aGUgbGlzdCwgd2Ug
YWRkIGl0IG5vdy4KICAgICAgICAgICAgIGlmICghY29udGFpbnNGbG9hdChyLT5tX3JlbmRlcmVy
KSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCBhZTUyMjRlODIw
MGM0N2U0NTM1MzU3ZDdlMjIzODA5MGViN2U0NzI0Li5iZTlhOTAzOWZmNGUwZTU1ZmM1NDJkYTNj
OWRlMjAxMGMzMzhhNDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApA
QCAtNzI5LDYgKzcyOSw3IEBAIHByaXZhdGU6CiAKICAgICBMYXlvdXRVbml0IHhQb3NpdGlvbkZv
ckZsb2F0SW5jbHVkaW5nTWFyZ2luKGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBjaGlsZCkgY29uc3QK
ICAgICB7CisgICAgICAgIC8vIEZJWE1FIEJ1ZyAxMDY5Mjg6IFRoaXMgbmVlZHMgdG8gcHJvcGVy
bHkgaGFuZGxlIHRoZSBtYXJnaW4gZm9yIGZsb2F0cyB3aXRoIHNoYXBlLW91dHNpZGUuCiAgICAg
ICAgIGlmIChpc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQogICAgICAgICAgICAgcmV0dXJuIGNo
aWxkLT54KCkgKyBjaGlsZC0+cmVuZGVyZXIoKS0+bWFyZ2luTGVmdCgpOwogICAgICAgICBlbHNl
CkBAIC03MzcsMTIgKzczOCw1NyBAQCBwcml2YXRlOgogICAgICAgICAKICAgICBMYXlvdXRVbml0
IHlQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBj
aGlsZCkgY29uc3QKICAgICB7CisgICAgICAgIC8vIEZJWE1FIEJ1ZyAxMDY5Mjg6IFRoaXMgbmVl
ZHMgdG8gcHJvcGVybHkgaGFuZGxlIHRoZSBtYXJnaW4gZm9yIGZsb2F0cyB3aXRoIHNoYXBlLW91
dHNpZGUuCiAgICAgICAgIGlmIChpc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQogICAgICAgICAg
ICAgcmV0dXJuIGNoaWxkLT55KCkgKyBtYXJnaW5CZWZvcmVGb3JDaGlsZChjaGlsZC0+cmVuZGVy
ZXIoKSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJldHVybiBjaGlsZC0+eSgpICsgY2hp
bGQtPnJlbmRlcmVyKCktPm1hcmdpblRvcCgpOwogICAgIH0KIAorICAgIExheW91dFVuaXQgeFBv
c2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW5Gb3JQYWludChjb25zdCBGbG9hdGluZ09iamVj
dCogY2hpbGQpIGNvbnN0CisgICAgeworI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICAg
ICAgRXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbyAqc2hhcGVPdXRzaWRlID0gY2hpbGQtPnJlbmRl
cmVyKCktPmV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8oKTsKKyNlbmRpZgorCisgICAgICAgIGlm
IChpc0hvcml6b250YWxXcml0aW5nTW9kZSgpKSB7CisjaWYgRU5BQkxFKENTU19FWENMVVNJT05T
KQorICAgICAgICAgICAgaWYgKHNoYXBlT3V0c2lkZSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
Y2hpbGQtPngoKSAtIHNoYXBlT3V0c2lkZS0+c2hhcGVMb2dpY2FsTGVmdCgpOworI2VuZGlmCisg
ICAgICAgICAgICByZXR1cm4gY2hpbGQtPngoKSArIGNoaWxkLT5yZW5kZXJlcigpLT5tYXJnaW5M
ZWZ0KCk7CisgICAgICAgIH0KKworI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICAgICAg
aWYgKHNoYXBlT3V0c2lkZSkKKyAgICAgICAgICAgIHJldHVybiBjaGlsZC0+eCgpIC0gc2hhcGVP
dXRzaWRlLT5zaGFwZUxvZ2ljYWxUb3AoKTsKKyNlbmRpZgorCisgICAgICAgIHJldHVybiBjaGls
ZC0+eCgpICsgbWFyZ2luQmVmb3JlRm9yQ2hpbGQoY2hpbGQtPnJlbmRlcmVyKCkpOworICAgIH0K
KyAgICAgICAgCisgICAgTGF5b3V0VW5pdCB5UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdp
bkZvclBhaW50KGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBjaGlsZCkgY29uc3QKKyAgICB7CisjaWYg
RU5BQkxFKENTU19FWENMVVNJT05TKQorICAgICAgICBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZv
ICpzaGFwZU91dHNpZGUgPSBjaGlsZC0+cmVuZGVyZXIoKS0+ZXhjbHVzaW9uU2hhcGVPdXRzaWRl
SW5mbygpOworI2VuZGlmCisKKyAgICAgICAgaWYgKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkp
IHsKKyNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgICAgICAgICBpZiAoc2hhcGVPdXRz
aWRlKQorICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZC0+eSgpIC0gc2hhcGVPdXRzaWRlLT5z
aGFwZUxvZ2ljYWxUb3AoKTsKKyNlbmRpZgorICAgICAgICAgICAgcmV0dXJuIGNoaWxkLT55KCkg
KyBtYXJnaW5CZWZvcmVGb3JDaGlsZChjaGlsZC0+cmVuZGVyZXIoKSk7CisgICAgICAgIH0KKwor
I2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICAgICAgaWYgKHNoYXBlT3V0c2lkZSkKKyAg
ICAgICAgICAgIHJldHVybiBjaGlsZC0+eSgpIC0gc2hhcGVPdXRzaWRlLT5zaGFwZUxvZ2ljYWxM
ZWZ0KCk7CisjZW5kaWYKKworICAgICAgICByZXR1cm4gY2hpbGQtPnkoKSArIGNoaWxkLT5yZW5k
ZXJlcigpLT5tYXJnaW5Ub3AoKTsKKyAgICB9CisKICAgICBMYXlvdXRQb2ludCBjb21wdXRlTG9n
aWNhbExvY2F0aW9uRm9yRmxvYXQoY29uc3QgRmxvYXRpbmdPYmplY3QqLCBMYXlvdXRVbml0IGxv
Z2ljYWxUb3BPZmZzZXQpIGNvbnN0OwogCiAgICAgLy8gVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMn
IGltcGxlbWVudGF0aW9ucyBhcmUgaW4gUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcC4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA0NzQ3Y2MxZTRlNTgzNmJkZjFmMmNmYzg5MzQ3ZWIzMGM4YjEyZWNjLi41MjBjYjk2ZjgzYmZm
MGFjMTg4M2E5MTFmZDYxZjYwYTkwOTIxZDU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMt
MDEtMTUgIEJlbSBKb25lcy1CZXkgIDxiam9uZXNiZUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NT
UyBFeGNsdXNpb25zXSBzaGFwZS1vdXRzaWRlIG9uIGZsb2F0cyBmb3IgcmVjdGFuZ2xlIHNoYXBl
cyBwb3NpdGlvbmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAwMzk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lk
ZS1mbG9hdHMtcG9zaXRpb25pbmctZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXBv
c2l0aW9uaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXhjbHVzaW9ucy9zaGFwZS1v
dXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1zaW1wbGUtcmVjdGFuZ2xlLWhvcml6
b250YWwtbXVsdGlwbGUuaHRtbDoKKyAgICAgICAgICAgIFRoaXMgdGVzdCBoYWQgaW5jb3JyZWN0
IGNvb3JkaW5hdGVzIGZvciBzb21lIG9mIHRoZSBzaGFwZXMsIGNhdXNpbmcgdGhlbSB0byBicmVh
ayBub3cgdGhhdCB4IGFuZCB5IGFyZSBzdXBwb3J0ZWQgZm9yIHRoZSBzaGFwZXMuCisKIDIwMTMt
MDEtMTUgIEZsb3JpbiBNYWxpdGEgIDxmbWFsaXRhQGNocm9taXVtLm9yZz4KIAogICAgICAgICBb
Q2hyb21pdW1dIEluY29ycmVjdCBvcGFxdWUgcmVnaW9uIHRyYWNraW5nIGZvciBQbGF0Zm9ybUNv
bnRleHRTa2lhOjpkcmF3UlJlY3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVz
aW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1wb3NpdGlvbmlu
Zy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNp
ZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXBvc2l0aW9uaW5nLWV4cGVjdGVkLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjc5NWE1NWE2OGYyZTU5OTJhMzQ1YzliMWYyZjFlZDkwYjFiY2FmYwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRl
LWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1wb3NpdGlvbmluZy1leHBlY3RlZC5odG1sCkBA
IC0wLDAgKzEsMTEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgIDxzdHls
ZT4KKyAgICAuY29udGFpbmVyIHsKKyAgICAgIGZvbnQ6IDEwcHgvMSBBaGVtLCBzYW5zLXNlcmlm
OworICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKKyAgICAgIHdpZHRoOiA0MHB4OworICAg
ICAgaGVpZ2h0OiA0MHB4OworICAgICAgbWFyZ2luOiA1MHB4OworICAgIH0KKyAgICAuY2hpbGQg
eworICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgICB3aWR0aDogNDBweDsKKyAg
ICAgIGhlaWdodDogNDBweDsKKyAgICB9CisgICAgLmV4Y2x1c2lvbi1uZWdhdGl2ZS14IHsKKyAg
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgIGxlZnQ6IDIwcHg7CisgICAgfQorICAgIC5l
eGNsdXNpb24tcG9zaXRpdmUteCB7CisgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICBs
ZWZ0OiAtMjBweDsKKyAgICB9CisgICAgLmV4Y2x1c2lvbi1uZWdhdGl2ZS15IHsKKyAgICAgIHBv
c2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgIHRvcDogMjBweDsKKyAgICB9CisgICAgLmV4Y2x1c2lv
bi1wb3NpdGl2ZS15IHsKKyAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgIHRvcDogLTIw
cHg7CisgICAgfQorICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgIDxoMT48YSBocmVmPSJo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMzk5Ij5CdWcgMTAwMzk5
PC9hPjogW0NTUyBFeGNsdXNpb25zXSBzaGFwZS1vdXRzaWRlIG9uIGZsb2F0cyBmb3IgcmVjdGFu
Z2xlIHNoYXBlcyBwb3NpdGlvbmluZzwvaDE+CisgIDxoMj5UaGUgZm9sbG93aW5nIHRlc3RzIHNo
b3VsZCBoYXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUgdG8gdGhlIGxlZnQgb3IgdG8gdGhlIHJp
Z2h0IG9mIGEgZ3JlZW4gc3F1YXJlPC9oMj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAg
ICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2
ZS14Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+Cisg
ICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tcG9zaXRp
dmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgor
ICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdh
dGl2ZS14Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+
CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBv
c2l0aXZlLXgiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGgyPlRoZSBmb2xsb3dpbmcgdGVz
dHMgc2hvdWxkIGhhdmUgYSBzbWFsbCBibHVlIHJlY3RhbmdsZSBhYm92ZSBvciBiZWxvdyBvZiBh
IGdyZWVuIHNxdWFyZTwvaDI+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBz
dHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tbmVnYXRpdmUteSI+Cisg
ICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYg
c3R5bGU9ImZsb2F0OiBsZWZ0IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXkiPgor
ICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2
IHN0eWxlPSJmbG9hdDogcmlnaHQiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tbmVnYXRpdmUteSI+
CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxk
aXYgc3R5bGU9ImZsb2F0OiByaWdodCIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS15
Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxoMj5UaGUgZm9sbG93aW5nIHRlc3RzIHNob3Vs
ZCBoYXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUgYWJvdmUgb3IgYmVsb3cgb2YgYSBncmVlbiBz
cXVhcmU8L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZs
b2F0OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7IiBjbGFzcz0iY2hp
bGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXkiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBj
bGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgLXdlYmtpdC13
cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2
ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+Cisg
ICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGlj
YWwtcmw7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXkiPgorICAgIDwvZGl2Pgor
ICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9h
dDogcmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGls
ZCBleGNsdXNpb24tcG9zaXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8aDI+VGhl
IGZvbGxvd2luZyB0ZXN0cyBzaG91bGQgaGF2ZSBhIHNtYWxsIGJsdWUgcmVjdGFuZ2xlIHRvIHRo
ZSBsZWZ0IG9yIHRvIHRoZSByaWdodCBvZiBhIGdyZWVuIHNxdWFyZTwvaDI+CisgIDxkaXYgY2xh
c3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IC13ZWJraXQtd3Jp
dGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tbmVnYXRpdmUt
eCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAg
IDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwt
cmw7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXgiPgorICAgIDwvZGl2PgorICA8
L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDog
cmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGlsZCBl
eGNsdXNpb24tbmVnYXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNz
PSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsgLXdlYmtpdC13cml0
aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS14
Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxoMj5UaGUgZm9sbG93aW5nIHRlc3QgZW5zdXJl
cyB0aGF0IHRoaW5ncyByZW5kZXIgY29ycmVjdGx5IHVzaW5nIHRoZSBhY2NlbGVyYXRlZCBwYWlu
dGluZyBmbG93LiBJdCBzaG91bGQgaGF2ZSBhIHNtYWxsIGJsdWUgcmVjdGFuZ2xlIHRvIHRoZSBy
aWdodCBvZiBhIGdyZWVuIHNxdWFyZTwvaDI+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+Cisg
ICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVa
KDFweCk7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXgiPgorICAgIDwvZGl2Pgor
ICA8L2Rpdj4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9u
cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1wb3NpdGlvbmluZy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRzL3No
YXBlLW91dHNpZGUtZmxvYXRzLXBvc2l0aW9uaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDBlN2Q2MjQ2
Y2NmNjlmMTY4ODJjNmE5NjYzMjE4MWM4NmU2MDQyYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRl
LWZsb2F0cy1wb3NpdGlvbmluZy5odG1sCkBAIC0wLDAgKzEsMTEwIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+CisgIDxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
CisgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU0V4Y2x1c2lvbnNFbmFibGVk
KHRydWUpOworICA8L3NjcmlwdD4KKyAgPHN0eWxlPgorICAgIC5jb250YWluZXIgeworICAgICAg
Zm9udDogMTBweC8xIEFoZW0sIHNhbnMtc2VyaWY7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBi
bHVlOworICAgICAgd2lkdGg6IDQwcHg7CisgICAgICBoZWlnaHQ6IDQwcHg7CisgICAgICBtYXJn
aW46IDUwcHg7CisgICAgfQorICAgIC5jaGlsZCB7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBn
cmVlbjsKKyAgICAgIHdpZHRoOiA0MHB4OworICAgICAgaGVpZ2h0OiA0MHB4OworICAgIH0KKyAg
ICAuZXhjbHVzaW9uLW5lZ2F0aXZlLXggeworICAgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBy
ZWN0YW5nbGUoLTIwcHgsIDAsIDQwcHgsIDQwcHgpOworICAgIH0KKyAgICAuZXhjbHVzaW9uLXBv
c2l0aXZlLXggeworICAgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiByZWN0YW5nbGUoMjBweCwg
MCwgNDBweCwgNDBweCk7CisgICAgfQorICAgIC5leGNsdXNpb24tbmVnYXRpdmUteSB7CisgICAg
ICAtd2Via2l0LXNoYXBlLW91dHNpZGU6IHJlY3RhbmdsZSgwLCAtMjBweCwgNDBweCwgNDBweCk7
CisgICAgfQorICAgIC5leGNsdXNpb24tcG9zaXRpdmUteSB7CisgICAgICAtd2Via2l0LXNoYXBl
LW91dHNpZGU6IHJlY3RhbmdsZSgwLCAyMHB4LCA0MHB4LCA0MHB4KTsKKyAgICB9CisgIDwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPGgxPjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAzOTkiPkJ1ZyAxMDAzOTk8L2E+OiBbQ1NTIEV4Y2x1c2lv
bnNdIHNoYXBlLW91dHNpZGUgb24gZmxvYXRzIGZvciByZWN0YW5nbGUgc2hhcGVzIHBvc2l0aW9u
aW5nPC9oMT4KKyAgPGgyPlRoZSBmb2xsb3dpbmcgdGVzdHMgc2hvdWxkIGhhdmUgYSBzbWFsbCBi
bHVlIHJlY3RhbmdsZSB0byB0aGUgbGVmdCBvciB0byB0aGUgcmlnaHQgb2YgYSBncmVlbiBzcXVh
cmU8L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0
OiBsZWZ0IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXgiPgorICAgIDwvZGl2Pgor
ICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9h
dDogbGVmdCIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS14Ij4KKyAgICA8L2Rpdj4K
KyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxv
YXQ6IHJpZ2h0IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXgiPgorICAgIDwvZGl2
PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJm
bG9hdDogcmlnaHQiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tcG9zaXRpdmUteCI+CisgICAgPC9k
aXY+CisgIDwvZGl2PgorICA8aDI+VGhlIGZvbGxvd2luZyB0ZXN0cyBzaG91bGQgaGF2ZSBhIHNt
YWxsIGJsdWUgcmVjdGFuZ2xlIGFib3ZlIG9yIGJlbG93IG9mIGEgZ3JlZW4gc3F1YXJlPC9oMj4K
KyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIg
Y2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQi
IGNsYXNzPSJjaGlsZCBleGNsdXNpb24tcG9zaXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2
PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdo
dCIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9k
aXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJp
Z2h0IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXkiPgorICAgIDwvZGl2PgorICA8
L2Rpdj4KKyAgPGgyPlRoZSBmb2xsb3dpbmcgdGVzdHMgc2hvdWxkIGhhdmUgYSBzbWFsbCBibHVl
IHJlY3RhbmdsZSBhYm92ZSBvciBiZWxvdyBvZiBhIGdyZWVuIHNxdWFyZTwvaDI+CisgIDxkaXYg
Y2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IC13ZWJraXQt
d3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tbmVnYXRp
dmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgor
ICAgIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGlj
YWwtcmw7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXgiPgorICAgIDwvZGl2Pgor
ICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9h
dDogcmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGls
ZCBleGNsdXNpb24tbmVnYXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsgLXdlYmtpdC13
cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2
ZS14Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxoMj5UaGUgZm9sbG93aW5nIHRlc3RzIHNo
b3VsZCBoYXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUgdG8gdGhlIGxlZnQgb3IgdG8gdGhlIHJp
Z2h0IG9mIGEgZ3JlZW4gc3F1YXJlPC9oMj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAg
ICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2Fs
LXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAg
PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6
IGxlZnQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGlsZCBl
eGNsdXNpb24tcG9zaXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNz
PSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsgLXdlYmtpdC13cml0
aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS15
Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAg
PGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwt
cmw7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXkiPgorICAgIDwvZGl2PgorICA8
L2Rpdj4KKyAgPGgyPlRoZSBmb2xsb3dpbmcgdGVzdCBlbnN1cmVzIHRoYXQgdGhpbmdzIHJlbmRl
ciBjb3JyZWN0bHkgdXNpbmcgdGhlIGFjY2VsZXJhdGVkIHBhaW50aW5nIGZsb3cuIEl0IHNob3Vs
ZCBoYXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUgdG8gdGhlIHJpZ2h0IG9mIGEgZ3JlZW4gc3F1
YXJlPC9oMj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9h
dDogbGVmdDsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMXB4KTsiIGNsYXNzPSJjaGls
ZCBleGNsdXNpb24tbmVnYXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorPC9ib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxv
YXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXNpbXBsZS1yZWN0YW5nbGUtaG9yaXpvbnRhbC1tdWx0
aXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxv
YXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXNpbXBsZS1yZWN0YW5nbGUtaG9yaXpvbnRhbC1tdWx0
aXBsZS5odG1sCmluZGV4IDc3NmUzYmNhNTQ5ZmUzNGU1ZjljZDhmMjNkZjg1OWZiOTc3OTU1YTEu
LjNhN2VjY2Q5ZWJiNGYxZjQ1YTViYWRiMjFmNzk5ZGMxZjBlZDUzMTUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRz
aWRlLWZsb2F0cy1zaW1wbGUtcmVjdGFuZ2xlLWhvcml6b250YWwtbXVsdGlwbGUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUt
b3V0c2lkZS1mbG9hdHMtc2ltcGxlLXJlY3RhbmdsZS1ob3Jpem9udGFsLW11bHRpcGxlLmh0bWwK
QEAgLTM3LDcgKzM3LDcgQEAKICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CiAgICAg
fQogICAgIC5mbG9hdC1yaWdodC1leGNsdXNpb24gewotICAgICAgICAtd2Via2l0LXNoYXBlLW91
dHNpZGU6IHJlY3RhbmdsZSgxMHB4LCAwcHgsIDEwcHgsIDIwcHgpOworICAgICAgICAtd2Via2l0
LXNoYXBlLW91dHNpZGU6IHJlY3RhbmdsZSgwcHgsIDBweCwgMTBweCwgMjBweCk7CiAgICAgICAg
IGZsb2F0OiByaWdodDsKICAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgICB3aWR0aDogMjBw
eDsKQEAgLTQ5LDcgKzQ5LDcgQEAKICAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgfQogICAgIC5m
bG9hdC1yaWdodC12ZXJ0aWNhbC1leGNsdXNpb24gewotICAgICAgICAtd2Via2l0LXNoYXBlLW91
dHNpZGU6IHJlY3RhbmdsZSgwcHgsIDEwcHgsIDIwcHgsIDEwcHgpOworICAgICAgICAtd2Via2l0
LXNoYXBlLW91dHNpZGU6IHJlY3RhbmdsZSgwcHgsIDBweCwgMjBweCwgMTBweCk7CiAgICAgICAg
IGZsb2F0OiByaWdodDsKICAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgICB3aWR0aDogMjBw
eDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183571</attachid>
            <date>2013-01-18 16:31:26 -0800</date>
            <delta_ts>2013-01-18 16:38:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100399-20130118162825.patch</filename>
            <type>text/plain</type>
            <size>25080</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTNiMDdmODA3MmI1ZGI1
YjE5NDQxY2U5YTI4YWUzNWE0YjUyN2I5MS4uZmUxMmE1OTMyZWZkMzgxZDJkNmI5NDRmMzcyY2Qx
ZWFhNTU3NWY4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEzLTAxLTE4ICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgRXhjbHVzaW9u
c10gc2hhcGUtb3V0c2lkZSBvbiBmbG9hdHMgZm9yIHJlY3RhbmdsZSBzaGFwZXMgcG9zaXRpb25p
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDM5
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisJV2hlbiBhIGZsb2F0
IGhhcyBhIHNoYXBlLW91dHNpZGUgd2l0aCBub24temVybyB4IG9yIHksIHRoZSBmbG9hdCdzCisJ
ZXhjbHVzaW9uIGJlaGF2aW9yIGNhbiBoYXBwZW4gYXQgYSBjb21wbGV0ZWx5IGRpZmZlcmVudCBs
b2NhdGlvbiB0aGFuCisJd2hlcmUgdGhlIGZsb2F0J3MgY29udGVudCBpcyBwYWludGVkLiBUaGlz
IHBhdGNoIGJyaW5ncyBpbml0aWFsCisJc3VwcG9ydCBmb3IgdGhpcyBiZWhhdmlvci4KKworICAg
ICAgICBUZXN0OiBmYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0
c2lkZS1mbG9hdHMtcG9zaXRpb25pbmcuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpmbGlwRmxvYXRGb3JX
cml0aW5nTW9kZUZvckNoaWxkKTogSWYgY2FsbGVkCisJICAgIGR1cmluZyBwYWludGluZywgbWFr
ZSBzdXJlIHRvIHBhc3MgdGhhdCBzdGF0ZSBkb3duIHRvIHRoZSBmbG9hdAorCSAgICBwb3NpdGlv
bmluZyBzbyB0aGF0IGl0IGNhbiB1c2UgdGhlIHByb3BlciBwb3NpdGlvbi4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJsb2NrOjpwYWludEZsb2F0cyk6IFNpbmNlIHRoaXMgaXMgY29uY2VybmVk
IHdpdGgKKyAgICAgICAgICAgIHBhaW50aW5nLCB1c2UgdGhlIHBvc2l0aW9uIG9mIHRoZSBmbG9h
dCwgbm90IHRoZSBzaGFwZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpwb3NpdGlv
bk5ld0Zsb2F0cyk6IFNldCB0aGUgY29ycmVjdCBsb2NhdGlvbgorICAgICAgICAgICAgZm9yIHRo
ZSBmbG9hdCwgcmVsYXRpdmUgdG8gdGhlIGxvY2F0aW9uIG9mIHRoZSBzaGFwZS4KKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJsb2NrOjphZGRPdmVyaGFuZ2luZ0Zsb2F0cyk6IEFkZCBGSVhNRS4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJsb2NrOjp4UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbik6IAorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2s6OnlQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKTog
U2luY2UgdGhlIAorICAgICAgICAgICAgcG9zaXRpb24gb2YgdGhlIHNoYXBlIChGbG9hdGluZ09i
amVjdCkgY2FuIGJlIGRpZmZlcmVudCBmcm9tIHRoZQorICAgICAgICAgICAgcG9zaXRpb24gb2Yg
dGhlIGZsb2F0J3MgYm94IChSZW5kZXJCb3gpLCB0aGUgcG9zaXRpb24gbmVlZHMgdG8gYmUKKyAg
ICAgICAgICAgIGNvbXB1dGVkIGRpZmZlcmVudGx5IGZvciBwYWludGluZyB0aGFuIGZvciBkZXRl
cm1pbmluZyBsYXlvdXQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6ZmxpcEZsb2F0
Rm9yV3JpdGluZ01vZGVGb3JDaGlsZCk6IENoYW5nZQorCSAgICBzaWduYXR1cmUgdG8gdGFrZSBw
YWludGluZyBmbGFnLgorCiAyMDEzLTAxLTE4ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0
Lm9yZz4KIAogICAgICAgICBmYXN0L2lubGluZS9maXhlZC1wb3MtbW92ZXMtd2l0aC1hYnNwb3Mt
cGFyZW50LXJlbGF0aXZlLWFuY2VzdG9yLmh0bWwgaXMgY3Jhc2hpbmcgYWZ0ZXIgcjE0MDAyNApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggOTY4ZGZlNmFjOWJm
YWEyZDY3YjhkN2RjOGU3OGZiODQzZTZjYjhkMi4uYmJmZGNjOWMyMDFiOGNlNjkxNDM0ZDZmZTQ1
Y2VkODk1ZjRlZjUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
CkBAIC0zMTEyLDcgKzMxMTIsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpwYWludE9iamVjdChQYWlu
dEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2ZmcwogICAgIH0KIH0K
IAotTGF5b3V0UG9pbnQgUmVuZGVyQmxvY2s6OmZsaXBGbG9hdEZvcldyaXRpbmdNb2RlRm9yQ2hp
bGQoY29uc3QgRmxvYXRpbmdPYmplY3QqIGNoaWxkLCBjb25zdCBMYXlvdXRQb2ludCYgcG9pbnQp
IGNvbnN0CitMYXlvdXRQb2ludCBSZW5kZXJCbG9jazo6ZmxpcEZsb2F0Rm9yV3JpdGluZ01vZGVG
b3JDaGlsZChjb25zdCBGbG9hdGluZ09iamVjdCogY2hpbGQsIGNvbnN0IExheW91dFBvaW50JiBw
b2ludCwgYm9vbCBwYWludFRpbWUpIGNvbnN0CiB7CiAgICAgaWYgKCFzdHlsZSgpLT5pc0ZsaXBw
ZWRCbG9ja3NXcml0aW5nTW9kZSgpKQogICAgICAgICByZXR1cm4gcG9pbnQ7CkBAIC0zMTIxLDgg
KzMxMjEsOCBAQCBMYXlvdXRQb2ludCBSZW5kZXJCbG9jazo6ZmxpcEZsb2F0Rm9yV3JpdGluZ01v
ZGVGb3JDaGlsZChjb25zdCBGbG9hdGluZ09iamVjdCogYwogICAgIC8vIGl0J3MgZ29pbmcgdG8g
Z2V0IGFkZGVkIGJhY2sgaW4uIFdlIGhpZGUgdGhpcyBjb21wbGljYXRpb24gaGVyZSBzbyB0aGF0
IHRoZSBjYWxsaW5nIGNvZGUgbG9va3Mgbm9ybWFsIGZvciB0aGUgdW5mbGlwcGVkCiAgICAgLy8g
Y2FzZS4KICAgICBpZiAoaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKLSAgICAgICAgcmV0dXJu
IExheW91dFBvaW50KHBvaW50LngoKSwgcG9pbnQueSgpICsgaGVpZ2h0KCkgLSBjaGlsZC0+cmVu
ZGVyZXIoKS0+aGVpZ2h0KCkgLSAyICogeVBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4o
Y2hpbGQpKTsKLSAgICByZXR1cm4gTGF5b3V0UG9pbnQocG9pbnQueCgpICsgd2lkdGgoKSAtIGNo
aWxkLT5yZW5kZXJlcigpLT53aWR0aCgpIC0gMiAqIHhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5n
TWFyZ2luKGNoaWxkKSwgcG9pbnQueSgpKTsKKyAgICAgICAgcmV0dXJuIExheW91dFBvaW50KHBv
aW50LngoKSwgcG9pbnQueSgpICsgaGVpZ2h0KCkgLSBjaGlsZC0+cmVuZGVyZXIoKS0+aGVpZ2h0
KCkgLSAyICogeVBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4oY2hpbGQsIHBhaW50VGlt
ZSkpOworICAgIHJldHVybiBMYXlvdXRQb2ludChwb2ludC54KCkgKyB3aWR0aCgpIC0gY2hpbGQt
PnJlbmRlcmVyKCktPndpZHRoKCkgLSAyICogeFBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJn
aW4oY2hpbGQsIHBhaW50VGltZSksIHBvaW50LnkoKSk7CiB9CiAKIHZvaWQgUmVuZGVyQmxvY2s6
OnBhaW50RmxvYXRzKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFp
bnRPZmZzZXQsIGJvb2wgcHJlc2VydmVQaGFzZSkKQEAgLTMxMzgsNyArMzEzOCw3IEBAIHZvaWQg
UmVuZGVyQmxvY2s6OnBhaW50RmxvYXRzKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlv
dXRQb2ludCYgcGFpbnRPZmZzCiAgICAgICAgIGlmIChyLT5zaG91bGRQYWludCgpICYmICFyLT5t
X3JlbmRlcmVyLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKSB7CiAgICAgICAgICAgICBQYWludElu
Zm8gY3VycmVudFBhaW50SW5mbyhwYWludEluZm8pOwogICAgICAgICAgICAgY3VycmVudFBhaW50
SW5mby5waGFzZSA9IHByZXNlcnZlUGhhc2UgPyBwYWludEluZm8ucGhhc2UgOiBQYWludFBoYXNl
QmxvY2tCYWNrZ3JvdW5kOwotICAgICAgICAgICAgTGF5b3V0UG9pbnQgY2hpbGRQb2ludCA9IGZs
aXBGbG9hdEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQociwgTGF5b3V0UG9pbnQocGFpbnRPZmZzZXQu
eCgpICsgeFBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4ocikgLSByLT5tX3JlbmRlcmVy
LT54KCksIHBhaW50T2Zmc2V0LnkoKSArIHlQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2lu
KHIpIC0gci0+bV9yZW5kZXJlci0+eSgpKSk7CisgICAgICAgICAgICBMYXlvdXRQb2ludCBjaGls
ZFBvaW50ID0gZmxpcEZsb2F0Rm9yV3JpdGluZ01vZGVGb3JDaGlsZChyLCBMYXlvdXRQb2ludChw
YWludE9mZnNldC54KCkgKyB4UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihyLCB0cnVl
KSAtIHItPm1fcmVuZGVyZXItPngoKSwgcGFpbnRPZmZzZXQueSgpICsgeVBvc2l0aW9uRm9yRmxv
YXRJbmNsdWRpbmdNYXJnaW4ociwgdHJ1ZSkgLSByLT5tX3JlbmRlcmVyLT55KCkpLCB0cnVlKTsK
ICAgICAgICAgICAgIHItPm1fcmVuZGVyZXItPnBhaW50KGN1cnJlbnRQYWludEluZm8sIGNoaWxk
UG9pbnQpOwogICAgICAgICAgICAgaWYgKCFwcmVzZXJ2ZVBoYXNlKSB7CiAgICAgICAgICAgICAg
ICAgY3VycmVudFBhaW50SW5mby5waGFzZSA9IFBhaW50UGhhc2VDaGlsZEJsb2NrQmFja2dyb3Vu
ZHM7CkBAIC0zOTk3LDEzICszOTk3LDE4IEBAIGJvb2wgUmVuZGVyQmxvY2s6OnBvc2l0aW9uTmV3
RmxvYXRzKCkKIAogICAgICAgICBzZXRMb2dpY2FsTGVmdEZvckZsb2F0KGZsb2F0aW5nT2JqZWN0
LCBmbG9hdExvZ2ljYWxMb2NhdGlvbi54KCkpOwogCi0gICAgICAgIGJvb2wgaGFzU2hhcGVPdXRz
aWRlID0gZmFsc2U7CiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQotICAgICAgICBoYXNTaGFw
ZU91dHNpZGUgPSBmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKS0+ZXhjbHVzaW9uU2hhcGVPdXRz
aWRlSW5mbygpOworICAgICAgICBpZiAoY2hpbGRCb3gtPmV4Y2x1c2lvblNoYXBlT3V0c2lkZUlu
Zm8oKSkgeworICAgICAgICAgICAgLy8gVGhlIENTUyBFeGNsdXNpb25zIHNwZWNpZmljYXRpb24g
c2F5cyB0aGF0IHRoZSBtYXJnaW5zIGFyZSBpZ25vcmVkIHdoZW4gYSBmbG9hdCBoYXMgYSBzaGFw
ZSBvdXRzaWRlLgorICAgICAgICAgICAgc2V0TG9naWNhbExlZnRGb3JDaGlsZChjaGlsZEJveCwg
ZmxvYXRMb2dpY2FsTG9jYXRpb24ueCgpIC0gY2hpbGRCb3gtPmV4Y2x1c2lvblNoYXBlT3V0c2lk
ZUluZm8oKS0+c2hhcGVMb2dpY2FsTGVmdCgpKTsKKyAgICAgICAgICAgIHNldExvZ2ljYWxUb3BG
b3JDaGlsZChjaGlsZEJveCwgZmxvYXRMb2dpY2FsTG9jYXRpb24ueSgpIC0gY2hpbGRCb3gtPmV4
Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8oKS0+c2hhcGVMb2dpY2FsVG9wKCkpOworICAgICAgICB9
IGVsc2UgeworI2VuZGlmCisgICAgICAgICAgICBzZXRMb2dpY2FsTGVmdEZvckNoaWxkKGNoaWxk
Qm94LCBmbG9hdExvZ2ljYWxMb2NhdGlvbi54KCkgKyBjaGlsZExvZ2ljYWxMZWZ0TWFyZ2luKTsK
KyAgICAgICAgICAgIHNldExvZ2ljYWxUb3BGb3JDaGlsZChjaGlsZEJveCwgZmxvYXRMb2dpY2Fs
TG9jYXRpb24ueSgpICsgbWFyZ2luQmVmb3JlRm9yQ2hpbGQoY2hpbGRCb3gpKTsKKyNpZiBFTkFC
TEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgICAgIH0KICNlbmRpZgotICAgICAgICAvLyBUaGUgQ1NT
IEV4Y2x1c2lvbnMgc3BlY2lmaWNhdGlvbiBzYXlzIHRoYXQgdGhlIG1hcmdpbnMgYXJlIGlnbm9y
ZWQgd2hlbiBhIGZsb2F0IGhhcyBhIHNoYXBlIG91dHNpZGUuCi0gICAgICAgIHNldExvZ2ljYWxM
ZWZ0Rm9yQ2hpbGQoY2hpbGRCb3gsIGZsb2F0TG9naWNhbExvY2F0aW9uLngoKSArIChoYXNTaGFw
ZU91dHNpZGUgPyBMYXlvdXRVbml0KCkgOiBjaGlsZExvZ2ljYWxMZWZ0TWFyZ2luKSk7Ci0gICAg
ICAgIHNldExvZ2ljYWxUb3BGb3JDaGlsZChjaGlsZEJveCwgZmxvYXRMb2dpY2FsTG9jYXRpb24u
eSgpICsgKGhhc1NoYXBlT3V0c2lkZSA/IExheW91dFVuaXQoKSA6IG1hcmdpbkJlZm9yZUZvckNo
aWxkKGNoaWxkQm94KSkpOwogCiAgICAgICAgIExheW91dFN0YXRlKiBsYXlvdXRTdGF0ZSA9IHZp
ZXcoKS0+bGF5b3V0U3RhdGUoKTsKICAgICAgICAgYm9vbCBpc1BhZ2luYXRlZCA9IGxheW91dFN0
YXRlLT5pc1BhZ2luYXRlZCgpOwpAQCAtNDAzMiw5ICs0MDM3LDE5IEBAIGJvb2wgUmVuZGVyQmxv
Y2s6OnBvc2l0aW9uTmV3RmxvYXRzKCkKICAgICAgICAgICAgICAgICBmbG9hdExvZ2ljYWxMb2Nh
dGlvbiA9IGNvbXB1dGVMb2dpY2FsTG9jYXRpb25Gb3JGbG9hdChmbG9hdGluZ09iamVjdCwgbmV3
TG9naWNhbFRvcCk7CiAgICAgICAgICAgICAgICAgc2V0TG9naWNhbExlZnRGb3JGbG9hdChmbG9h
dGluZ09iamVjdCwgZmxvYXRMb2dpY2FsTG9jYXRpb24ueCgpKTsKIAotICAgICAgICAgICAgICAg
IC8vIFRoZSBDU1MgRXhjbHVzaW9ucyBzcGVjaWZpY2F0aW9uIHNheXMgdGhhdCB0aGUgbWFyZ2lu
cyBhcmUgaWdub3JlZCB3aGVuIGEgZmxvYXQgaGFzIGEgc2hhcGUgb3V0c2lkZS4KLSAgICAgICAg
ICAgICAgICBzZXRMb2dpY2FsTGVmdEZvckNoaWxkKGNoaWxkQm94LCBmbG9hdExvZ2ljYWxMb2Nh
dGlvbi54KCkgKyAoaGFzU2hhcGVPdXRzaWRlID8gTGF5b3V0VW5pdCgpIDogY2hpbGRMb2dpY2Fs
TGVmdE1hcmdpbikpOwotICAgICAgICAgICAgICAgIHNldExvZ2ljYWxUb3BGb3JDaGlsZChjaGls
ZEJveCwgZmxvYXRMb2dpY2FsTG9jYXRpb24ueSgpICsgKGhhc1NoYXBlT3V0c2lkZSA/IExheW91
dFVuaXQoKSA6IG1hcmdpbkJlZm9yZUZvckNoaWxkKGNoaWxkQm94KSkpOworI2lmIEVOQUJMRShD
U1NfRVhDTFVTSU9OUykKKyAgICAgICAgICAgICAgICBpZiAoY2hpbGRCb3gtPmV4Y2x1c2lvblNo
YXBlT3V0c2lkZUluZm8oKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBUaGUgQ1NTIEV4Y2x1
c2lvbnMgc3BlY2lmaWNhdGlvbiBzYXlzIHRoYXQgdGhlIG1hcmdpbnMgYXJlIGlnbm9yZWQgd2hl
biBhIGZsb2F0IGhhcyBhIHNoYXBlIG91dHNpZGUuCisgICAgICAgICAgICAgICAgICAgIHNldExv
Z2ljYWxMZWZ0Rm9yQ2hpbGQoY2hpbGRCb3gsIGZsb2F0TG9naWNhbExvY2F0aW9uLngoKSAtIGNo
aWxkQm94LT5leGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKCktPnNoYXBlTG9naWNhbExlZnQoKSk7
CisgICAgICAgICAgICAgICAgICAgIHNldExvZ2ljYWxUb3BGb3JDaGlsZChjaGlsZEJveCwgZmxv
YXRMb2dpY2FsTG9jYXRpb24ueSgpIC0gY2hpbGRCb3gtPmV4Y2x1c2lvblNoYXBlT3V0c2lkZUlu
Zm8oKS0+c2hhcGVMb2dpY2FsVG9wKCkpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisjZW5k
aWYKKyAgICAgICAgICAgICAgICAgICAgc2V0TG9naWNhbExlZnRGb3JDaGlsZChjaGlsZEJveCwg
ZmxvYXRMb2dpY2FsTG9jYXRpb24ueCgpICsgY2hpbGRMb2dpY2FsTGVmdE1hcmdpbik7CisgICAg
ICAgICAgICAgICAgICAgIHNldExvZ2ljYWxUb3BGb3JDaGlsZChjaGlsZEJveCwgZmxvYXRMb2dp
Y2FsTG9jYXRpb24ueSgpICsgbWFyZ2luQmVmb3JlRm9yQ2hpbGQoY2hpbGRCb3gpKTsKKyNpZiBF
TkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgICAgICAgICAgICAgfQorI2VuZGlmCisKICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgaWYgKGNoaWxkQmxvY2spCiAgICAgICAgICAgICAgICAgICAg
IGNoaWxkQmxvY2stPnNldENoaWxkTmVlZHNMYXlvdXQodHJ1ZSwgTWFya09ubHlUaGlzKTsKQEAg
LTQwNDQsOCArNDA1OSw4IEBAIGJvb2wgUmVuZGVyQmxvY2s6OnBvc2l0aW9uTmV3RmxvYXRzKCkK
IAogICAgICAgICBzZXRMb2dpY2FsVG9wRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QsIGZsb2F0TG9n
aWNhbExvY2F0aW9uLnkoKSk7CiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQotICAgICAgICBp
ZiAoaGFzU2hhcGVPdXRzaWRlKQotICAgICAgICAgICAgc2V0TG9naWNhbEhlaWdodEZvckZsb2F0
KGZsb2F0aW5nT2JqZWN0LCBmbG9hdGluZ09iamVjdC0+cmVuZGVyZXIoKS0+ZXhjbHVzaW9uU2hh
cGVPdXRzaWRlSW5mbygpLT5zaGFwZUxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgIGlmIChjaGls
ZEJveC0+ZXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbygpKQorICAgICAgICAgICAgc2V0TG9naWNh
bEhlaWdodEZvckZsb2F0KGZsb2F0aW5nT2JqZWN0LCBjaGlsZEJveC0+ZXhjbHVzaW9uU2hhcGVP
dXRzaWRlSW5mbygpLT5zaGFwZUxvZ2ljYWxIZWlnaHQoKSk7CiAgICAgICAgIGVsc2UKICNlbmRp
ZgogICAgICAgICAgICAgc2V0TG9naWNhbEhlaWdodEZvckZsb2F0KGZsb2F0aW5nT2JqZWN0LCBs
b2dpY2FsSGVpZ2h0Rm9yQ2hpbGQoY2hpbGRCb3gpICsgbWFyZ2luQmVmb3JlRm9yQ2hpbGQoY2hp
bGRCb3gpICsgbWFyZ2luQWZ0ZXJGb3JDaGlsZChjaGlsZEJveCkpOwpAQCAtNDUyNyw2ICs0NTQy
LDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6YWRkT3ZlcmhhbmdpbmdGbG9hdHMoUmVuZGVy
QmxvY2sqIGNoaWxkLCBib29sIG1ha2VDaGlsZFAKICAgICAgICAgTGF5b3V0VW5pdCBsb2dpY2Fs
Qm90dG9tID0gY2hpbGRMb2dpY2FsVG9wICsgbG9naWNhbEJvdHRvbUZvckZsb2F0OwogICAgICAg
ICBsb3dlc3RGbG9hdExvZ2ljYWxCb3R0b20gPSBtYXgobG93ZXN0RmxvYXRMb2dpY2FsQm90dG9t
LCBsb2dpY2FsQm90dG9tKTsKIAorICAgICAgICAvLyBGSVhNRTogQnVnIDEwNjkyNyBIYW5kbGUg
c2l0dWF0aW9ucyB3aGVyZSBmbG9hdCBhbmQgc2hhcGUtb3V0c2lkZSBvdmVyZmxvdyBkaWZmZXJl
bnRseS4KICAgICAgICAgaWYgKGxvZ2ljYWxCb3R0b20gPiBsb2dpY2FsSGVpZ2h0KCkpIHsKICAg
ICAgICAgICAgIC8vIElmIHRoZSBvYmplY3QgaXMgbm90IGluIHRoZSBsaXN0LCB3ZSBhZGQgaXQg
bm93LgogICAgICAgICAgICAgaWYgKCFjb250YWluc0Zsb2F0KHItPm1fcmVuZGVyZXIpKSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4IDAwYTRiY2Y2NzIyNDNkN2Q3
OWJiOTJhNWUxNTMwNTk4MjM5Mzg1NjcuLjg0MmUxNTVjYjYxZDYxNmFmMzc5YjE2ZjE2MWZlODE0
NzFkMTU1ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCkBAIC02ODYs
NyArNjg2LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgIH07CiAKLSAgICBMYXlvdXRQb2ludCBm
bGlwRmxvYXRGb3JXcml0aW5nTW9kZUZvckNoaWxkKGNvbnN0IEZsb2F0aW5nT2JqZWN0KiwgY29u
c3QgTGF5b3V0UG9pbnQmKSBjb25zdDsKKyAgICBMYXlvdXRQb2ludCBmbGlwRmxvYXRGb3JXcml0
aW5nTW9kZUZvckNoaWxkKGNvbnN0IEZsb2F0aW5nT2JqZWN0KiwgY29uc3QgTGF5b3V0UG9pbnQm
LCBib29sIHBhaW50VGltZSA9IGZhbHNlKSBjb25zdDsKIAogICAgIExheW91dFVuaXQgbG9naWNh
bFRvcEZvckZsb2F0KGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBjaGlsZCkgY29uc3QgeyByZXR1cm4g
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGNoaWxkLT55KCkgOiBjaGlsZC0+eCgpOyB9CiAg
ICAgTGF5b3V0VW5pdCBsb2dpY2FsQm90dG9tRm9yRmxvYXQoY29uc3QgRmxvYXRpbmdPYmplY3Qq
IGNoaWxkKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gY2hpbGQt
Pm1heFkoKSA6IGNoaWxkLT5tYXhYKCk7IH0KQEAgLTcyOCwxNiArNzI4LDMwIEBAIHByaXZhdGU6
CiAgICAgICAgICAgICBjaGlsZC0+c2V0SGVpZ2h0KGxvZ2ljYWxXaWR0aCk7CiAgICAgfQogCi0g
ICAgTGF5b3V0VW5pdCB4UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihjb25zdCBGbG9h
dGluZ09iamVjdCogY2hpbGQpIGNvbnN0CisgICAgTGF5b3V0VW5pdCB4UG9zaXRpb25Gb3JGbG9h
dEluY2x1ZGluZ01hcmdpbihjb25zdCBGbG9hdGluZ09iamVjdCogY2hpbGQsIGJvb2wgcGFpbnRU
aW1lID0gZmFsc2UpIGNvbnN0CiAgICAgeworI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyAg
ICAgICAgRXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbyAqc2hhcGVPdXRzaWRlID0gY2hpbGQtPnJl
bmRlcmVyKCktPmV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8oKTsKKyAgICAgICAgaWYgKHBhaW50
VGltZSAmJiBzaGFwZU91dHNpZGUpCisgICAgICAgICAgICByZXR1cm4gY2hpbGQtPngoKSAtIChp
c0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gc2hhcGVPdXRzaWRlLT5zaGFwZUxvZ2ljYWxMZWZ0
KCkgOiBzaGFwZU91dHNpZGUtPnNoYXBlTG9naWNhbFRvcCgpKTsKKyAgICAgICAgLy8gRklYTUU6
IEJ1ZyAxMDY5MjggVGhpcyBuZWVkcyB0byBwcm9wZXJseSBoYW5kbGUgdGhlIG1hcmdpbiBmb3Ig
ZmxvYXRzIHdpdGggc2hhcGUtb3V0c2lkZSBmb3Igbm9uLXBhaW50IHRpbWUuCisjZW5kaWYKKwog
ICAgICAgICBpZiAoaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKICAgICAgICAgICAgIHJldHVy
biBjaGlsZC0+eCgpICsgY2hpbGQtPnJlbmRlcmVyKCktPm1hcmdpbkxlZnQoKTsKICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgcmV0dXJuIGNoaWxkLT54KCkgKyBtYXJnaW5CZWZvcmVGb3JDaGls
ZChjaGlsZC0+cmVuZGVyZXIoKSk7CiAgICAgfQogICAgICAgICAKLSAgICBMYXlvdXRVbml0IHlQ
b3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBjaGls
ZCkgY29uc3QKKyAgICBMYXlvdXRVbml0IHlQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2lu
KGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBjaGlsZCwgYm9vbCBwYWludFRpbWUgPSBmYWxzZSkgY29u
c3QKICAgICB7CisjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQorICAgICAgICBFeGNsdXNpb25T
aGFwZU91dHNpZGVJbmZvICpzaGFwZU91dHNpZGUgPSBjaGlsZC0+cmVuZGVyZXIoKS0+ZXhjbHVz
aW9uU2hhcGVPdXRzaWRlSW5mbygpOworICAgICAgICBpZiAocGFpbnRUaW1lICYmIHNoYXBlT3V0
c2lkZSkKKyAgICAgICAgICAgIHJldHVybiBjaGlsZC0+eSgpIC0gKGlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkgPyBzaGFwZU91dHNpZGUtPnNoYXBlTG9naWNhbFRvcCgpIDogc2hhcGVPdXRzaWRl
LT5zaGFwZUxvZ2ljYWxMZWZ0KCkpOworICAgICAgICAvLyBGSVhNRTogQnVnIDEwNjkyOCBUaGlz
IG5lZWRzIHRvIHByb3Blcmx5IGhhbmRsZSB0aGUgbWFyZ2luIGZvciBmbG9hdHMgd2l0aCBzaGFw
ZS1vdXRzaWRlLgorI2VuZGlmCisKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCkpCiAgICAgICAgICAgICByZXR1cm4gY2hpbGQtPnkoKSArIG1hcmdpbkJlZm9yZUZvckNoaWxk
KGNoaWxkLT5yZW5kZXJlcigpKTsKICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDIxYzEzNDg1ZDRjYjhm
MmY2ZWFiNmUzMzdmNmM5ZjQ2OTNjODE4YzQuLjA1OTg5YTNhODUyYzQyNGM3ZTViMGI2ZjQ1OGI1
Zjc2MmM0ZjcwMjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0wMS0xOCAgQmVtIEpvbmVz
LUJleSAgPGJqb25lc2JlQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIEV4Y2x1c2lvbnNdIHNo
YXBlLW91dHNpZGUgb24gZmxvYXRzIGZvciByZWN0YW5nbGUgc2hhcGVzIHBvc2l0aW9uaW5nCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAzOTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZXhj
bHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1wb3NpdGlv
bmluZy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V4Y2x1c2lvbnMvc2hh
cGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtcG9zaXRpb25pbmcuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRzL3No
YXBlLW91dHNpZGUtZmxvYXRzLXNpbXBsZS1yZWN0YW5nbGUtaG9yaXpvbnRhbC1tdWx0aXBsZS5o
dG1sOgorICAgICAgICAgICAgVGhpcyB0ZXN0IGhhZCBpbmNvcnJlY3QgY29vcmRpbmF0ZXMgZm9y
IHNvbWUgb2YgdGhlIHNoYXBlcywgY2F1c2luZyB0aGVtIHRvIGJyZWFrIG5vdyB0aGF0IHggYW5k
IHkgYXJlIHN1cHBvcnRlZCBmb3IgdGhlIHNoYXBlcy4KKwogMjAxMy0wMS0xOCAgUm9iZXJ0IEhv
Z2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgZmFzdC9pbmxpbmUvZml4ZWQtcG9z
LW1vdmVzLXdpdGgtYWJzcG9zLXBhcmVudC1yZWxhdGl2ZS1hbmNlc3Rvci5odG1sIGlzIGNyYXNo
aW5nIGFmdGVyIHIxNDAwMjQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9u
cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1wb3NpdGlvbmluZy1l
eHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUt
ZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXBvc2l0aW9uaW5nLWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODczNGI0YjFjODEyZDZjZDliMDA5MDY1ZWY4Mjc5NTU3YTZkM2Y4YQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZs
b2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1wb3NpdGlvbmluZy1leHBlY3RlZC5odG1sCkBAIC0w
LDAgKzEsMTQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZT4K
KyAgICAuY29udGFpbmVyIHsKKyAgICAgIGZvbnQ6IDEwcHgvMSBBaGVtLCBzYW5zLXNlcmlmOwor
ICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKKyAgICAgIHdpZHRoOiA0MHB4OworICAgICAg
aGVpZ2h0OiA0MHB4OworICAgICAgbWFyZ2luOiA1MHB4OworICAgIH0KKyAgICAuY2hpbGQgewor
ICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgICB3aWR0aDogNDBweDsKKyAgICAg
IGhlaWdodDogNDBweDsKKyAgICB9CisgICAgLmV4Y2x1c2lvbi1uZWdhdGl2ZS14IHsKKyAgICAg
IHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgIGxlZnQ6IDIwcHg7CisgICAgfQorICAgIC5leGNs
dXNpb24tcG9zaXRpdmUteCB7CisgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICBsZWZ0
OiAtMjBweDsKKyAgICB9CisgICAgLmV4Y2x1c2lvbi1uZWdhdGl2ZS15IHsKKyAgICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICAgIHRvcDogMjBweDsKKyAgICB9CisgICAgLmV4Y2x1c2lvbi1w
b3NpdGl2ZS15IHsKKyAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgIHRvcDogLTIwcHg7
CisgICAgfQorICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgIDxoMT48YSBocmVmPSJodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMzk5Ij5CdWcgMTAwMzk5PC9h
PjogW0NTUyBFeGNsdXNpb25zXSBzaGFwZS1vdXRzaWRlIG9uIGZsb2F0cyBmb3IgcmVjdGFuZ2xl
IHNoYXBlcyBwb3NpdGlvbmluZzwvaDE+CisgIDxoMj5UaGUgZm9sbG93aW5nIHRlc3RzIHNob3Vs
ZCBoYXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUgdG8gdGhlIGxlZnQgb3IgdG8gdGhlIHJpZ2h0
IG9mIGEgZ3JlZW4gc3F1YXJlPC9oMj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8
ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS14
Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAg
PGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tcG9zaXRpdmUt
eCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAg
IDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2
ZS14Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+Cisg
ICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0
aXZlLXgiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGgyPlRoZSBmb2xsb3dpbmcgdGVzdHMg
c2hvdWxkIGhhdmUgYSBzbWFsbCBibHVlIHJlY3RhbmdsZSBhYm92ZSBvciBiZWxvdyBvZiBhIGdy
ZWVuIHNxdWFyZTwvaDI+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHls
ZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tbmVnYXRpdmUteSI+CisgICAg
PC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5
bGU9ImZsb2F0OiBsZWZ0IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXkiPgorICAg
IDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0
eWxlPSJmbG9hdDogcmlnaHQiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tbmVnYXRpdmUteSI+Cisg
ICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYg
c3R5bGU9ImZsb2F0OiByaWdodCIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS15Ij4K
KyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxoMj5UaGUgZm9sbG93aW5nIHRlc3RzIHNob3VsZCBo
YXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUgYWJvdmUgb3IgYmVsb3cgb2YgYSBncmVlbiBzcXVh
cmU8L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0
OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7IiBjbGFzcz0iY2hpbGQg
ZXhjbHVzaW9uLW5lZ2F0aXZlLXkiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFz
cz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgLXdlYmtpdC13cml0
aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS15
Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAg
PGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwt
cmw7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXkiPgorICAgIDwvZGl2PgorICA8
L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDog
cmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGlsZCBl
eGNsdXNpb24tcG9zaXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8aDI+VGhlIGZv
bGxvd2luZyB0ZXN0cyBzaG91bGQgaGF2ZSBhIHNtYWxsIGJsdWUgcmVjdGFuZ2xlIHRvIHRoZSBs
ZWZ0IG9yIHRvIHRoZSByaWdodCBvZiBhIGdyZWVuIHNxdWFyZTwvaDI+CisgIDxkaXYgY2xhc3M9
ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IC13ZWJraXQtd3JpdGlu
Zy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tbmVnYXRpdmUteCI+
CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxk
aXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7
IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXgiPgorICAgIDwvZGl2PgorICA8L2Rp
dj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogcmln
aHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGlsZCBleGNs
dXNpb24tbmVnYXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJj
b250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsgLXdlYmtpdC13cml0aW5n
LW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS14Ij4K
KyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxoMj5UaGUgZm9sbG93aW5nIHRlc3RzIHNob3VsZCBo
YXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUgYWJvdmUgb3IgYmVsb3cgb2YgYSBncmVlbiBzcXVh
cmU8L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0
OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7IiBjbGFzcz0iY2hpbGQg
ZXhjbHVzaW9uLW5lZ2F0aXZlLXkiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFz
cz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgLXdlYmtpdC13cml0
aW5nLW1vZGU6IHZlcnRpY2FsLWxyOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS15
Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAg
PGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwt
bHI7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXkiPgorICAgIDwvZGl2PgorICA8
L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDog
cmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsiIGNsYXNzPSJjaGlsZCBl
eGNsdXNpb24tcG9zaXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8aDI+VGhlIGZv
bGxvd2luZyB0ZXN0cyBzaG91bGQgaGF2ZSBhIHNtYWxsIGJsdWUgcmVjdGFuZ2xlIHRvIHRoZSBs
ZWZ0IG9yIHRvIHRoZSByaWdodCBvZiBhIGdyZWVuIHNxdWFyZTwvaDI+CisgIDxkaXYgY2xhc3M9
ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IC13ZWJraXQtd3JpdGlu
Zy1tb2RlOiB2ZXJ0aWNhbC1scjsiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tbmVnYXRpdmUteCI+
CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxk
aXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7
IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXgiPgorICAgIDwvZGl2PgorICA8L2Rp
dj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogcmln
aHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsiIGNsYXNzPSJjaGlsZCBleGNs
dXNpb24tbmVnYXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJj
b250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsgLXdlYmtpdC13cml0aW5n
LW1vZGU6IHZlcnRpY2FsLWxyOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS14Ij4K
KyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxoMj5UaGUgZm9sbG93aW5nIHRlc3QgZW5zdXJlcyB0
aGF0IHRoaW5ncyByZW5kZXIgY29ycmVjdGx5IHVzaW5nIHRoZSBhY2NlbGVyYXRlZCBwYWludGlu
ZyBmbG93LiBJdCBzaG91bGQgaGF2ZSBhIHNtYWxsIGJsdWUgcmVjdGFuZ2xlIHRvIHRoZSByaWdo
dCBvZiBhIGdyZWVuIHNxdWFyZTwvaDI+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAg
PGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDFw
eCk7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXgiPgorICAgIDwvZGl2PgorICA8
L2Rpdj4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9z
aGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1wb3NpdGlvbmluZy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBl
LW91dHNpZGUtZmxvYXRzLXBvc2l0aW9uaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTY3ZDNlMzUyMWNi
NzYyMTNhOTg0NTNlMTExZTRiOGVjOWE0Mzg4OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZs
b2F0cy1wb3NpdGlvbmluZy5odG1sCkBAIC0wLDAgKzEsMTQ0IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+CisgIDxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU0V4Y2x1c2lvbnNFbmFibGVkKHRy
dWUpOworICA8L3NjcmlwdD4KKyAgPHN0eWxlPgorICAgIC5jb250YWluZXIgeworICAgICAgZm9u
dDogMTBweC8xIEFoZW0sIHNhbnMtc2VyaWY7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVl
OworICAgICAgd2lkdGg6IDQwcHg7CisgICAgICBoZWlnaHQ6IDQwcHg7CisgICAgICBtYXJnaW46
IDUwcHg7CisgICAgfQorICAgIC5jaGlsZCB7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVl
bjsKKyAgICAgIHdpZHRoOiA0MHB4OworICAgICAgaGVpZ2h0OiA0MHB4OworICAgIH0KKyAgICAu
ZXhjbHVzaW9uLW5lZ2F0aXZlLXggeworICAgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiByZWN0
YW5nbGUoLTIwcHgsIDAsIDQwcHgsIDQwcHgpOworICAgIH0KKyAgICAuZXhjbHVzaW9uLXBvc2l0
aXZlLXggeworICAgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiByZWN0YW5nbGUoMjBweCwgMCwg
NDBweCwgNDBweCk7CisgICAgfQorICAgIC5leGNsdXNpb24tbmVnYXRpdmUteSB7CisgICAgICAt
d2Via2l0LXNoYXBlLW91dHNpZGU6IHJlY3RhbmdsZSgwLCAtMjBweCwgNDBweCwgNDBweCk7Cisg
ICAgfQorICAgIC5leGNsdXNpb24tcG9zaXRpdmUteSB7CisgICAgICAtd2Via2l0LXNoYXBlLW91
dHNpZGU6IHJlY3RhbmdsZSgwLCAyMHB4LCA0MHB4LCA0MHB4KTsKKyAgICB9CisgIDwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPGgxPjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDAzOTkiPkJ1ZyAxMDAzOTk8L2E+OiBbQ1NTIEV4Y2x1c2lvbnNd
IHNoYXBlLW91dHNpZGUgb24gZmxvYXRzIGZvciByZWN0YW5nbGUgc2hhcGVzIHBvc2l0aW9uaW5n
PC9oMT4KKyAgPGgyPlRoZSBmb2xsb3dpbmcgdGVzdHMgc2hvdWxkIGhhdmUgYSBzbWFsbCBibHVl
IHJlY3RhbmdsZSB0byB0aGUgbGVmdCBvciB0byB0aGUgcmlnaHQgb2YgYSBncmVlbiBzcXVhcmU8
L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiBs
ZWZ0IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXgiPgorICAgIDwvZGl2PgorICA8
L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDog
bGVmdCIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS14Ij4KKyAgICA8L2Rpdj4KKyAg
PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6
IHJpZ2h0IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXgiPgorICAgIDwvZGl2Pgor
ICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9h
dDogcmlnaHQiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tcG9zaXRpdmUteCI+CisgICAgPC9kaXY+
CisgIDwvZGl2PgorICA8aDI+VGhlIGZvbGxvd2luZyB0ZXN0cyBzaG91bGQgaGF2ZSBhIHNtYWxs
IGJsdWUgcmVjdGFuZ2xlIGFib3ZlIG9yIGJlbG93IG9mIGEgZ3JlZW4gc3F1YXJlPC9oMj4KKyAg
PGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xh
c3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNs
YXNzPSJjaGlsZCBleGNsdXNpb24tcG9zaXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2Pgor
ICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCIg
Y2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0
IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXkiPgorICAgIDwvZGl2PgorICA8L2Rp
dj4KKyAgPGgyPlRoZSBmb2xsb3dpbmcgdGVzdHMgc2hvdWxkIGhhdmUgYSBzbWFsbCBibHVlIHJl
Y3RhbmdsZSBhYm92ZSBvciBiZWxvdyBvZiBhIGdyZWVuIHNxdWFyZTwvaDI+CisgIDxkaXYgY2xh
c3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IC13ZWJraXQtd3Jp
dGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tbmVnYXRpdmUt
eCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAg
IDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwt
cmw7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXgiPgorICAgIDwvZGl2PgorICA8
L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDog
cmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGlsZCBl
eGNsdXNpb24tbmVnYXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNz
PSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsgLXdlYmtpdC13cml0
aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS14
Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxoMj5UaGUgZm9sbG93aW5nIHRlc3RzIHNob3Vs
ZCBoYXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUgdG8gdGhlIGxlZnQgb3IgdG8gdGhlIHJpZ2h0
IG9mIGEgZ3JlZW4gc3F1YXJlPC9oMj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8
ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJs
OyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9k
aXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxl
ZnQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGlsZCBleGNs
dXNpb24tcG9zaXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJj
b250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsgLXdlYmtpdC13cml0aW5n
LW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS15Ij4K
KyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRp
diBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7
IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXkiPgorICAgIDwvZGl2PgorICA8L2Rp
dj4KKyAgPGgyPlRoZSBmb2xsb3dpbmcgdGVzdHMgc2hvdWxkIGhhdmUgYSBzbWFsbCBibHVlIHJl
Y3RhbmdsZSBhYm92ZSBvciBiZWxvdyBvZiBhIGdyZWVuIHNxdWFyZTwvaDI+CisgIDxkaXYgY2xh
c3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IC13ZWJraXQtd3Jp
dGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tbmVnYXRpdmUt
eCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAg
IDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwt
bHI7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXgiPgorICAgIDwvZGl2PgorICA8
L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDog
cmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsiIGNsYXNzPSJjaGlsZCBl
eGNsdXNpb24tbmVnYXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNz
PSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsgLXdlYmtpdC13cml0
aW5nLW1vZGU6IHZlcnRpY2FsLWxyOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS14
Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxoMj5UaGUgZm9sbG93aW5nIHRlc3RzIHNob3Vs
ZCBoYXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUgdG8gdGhlIGxlZnQgb3IgdG8gdGhlIHJpZ2h0
IG9mIGEgZ3JlZW4gc3F1YXJlPC9oMj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8
ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxy
OyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9k
aXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxl
ZnQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsiIGNsYXNzPSJjaGlsZCBleGNs
dXNpb24tcG9zaXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJj
b250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsgLXdlYmtpdC13cml0aW5n
LW1vZGU6IHZlcnRpY2FsLWxyOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS15Ij4K
KyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRp
diBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7
IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXkiPgorICAgIDwvZGl2PgorICA8L2Rp
dj4KKyAgPGgyPlRoZSBmb2xsb3dpbmcgdGVzdCBlbnN1cmVzIHRoYXQgdGhpbmdzIHJlbmRlciBj
b3JyZWN0bHkgdXNpbmcgdGhlIGFjY2VsZXJhdGVkIHBhaW50aW5nIGZsb3cuIEl0IHNob3VsZCBo
YXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUgdG8gdGhlIHJpZ2h0IG9mIGEgZ3JlZW4gc3F1YXJl
PC9oMj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDog
bGVmdDsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMXB4KTsiIGNsYXNzPSJjaGlsZCBl
eGNsdXNpb24tbmVnYXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorPC9ib2R5PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRz
L3NoYXBlLW91dHNpZGUtZmxvYXRzLXNpbXBsZS1yZWN0YW5nbGUtaG9yaXpvbnRhbC1tdWx0aXBs
ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRz
L3NoYXBlLW91dHNpZGUtZmxvYXRzLXNpbXBsZS1yZWN0YW5nbGUtaG9yaXpvbnRhbC1tdWx0aXBs
ZS5odG1sCmluZGV4IDc3NmUzYmNhNTQ5ZmUzNGU1ZjljZDhmMjNkZjg1OWZiOTc3OTU1YTEuLjNh
N2VjY2Q5ZWJiNGYxZjQ1YTViYWRiMjFmNzk5ZGMxZjBlZDUzMTUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRl
LWZsb2F0cy1zaW1wbGUtcmVjdGFuZ2xlLWhvcml6b250YWwtbXVsdGlwbGUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0
c2lkZS1mbG9hdHMtc2ltcGxlLXJlY3RhbmdsZS1ob3Jpem9udGFsLW11bHRpcGxlLmh0bWwKQEAg
LTM3LDcgKzM3LDcgQEAKICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CiAgICAgfQog
ICAgIC5mbG9hdC1yaWdodC1leGNsdXNpb24gewotICAgICAgICAtd2Via2l0LXNoYXBlLW91dHNp
ZGU6IHJlY3RhbmdsZSgxMHB4LCAwcHgsIDEwcHgsIDIwcHgpOworICAgICAgICAtd2Via2l0LXNo
YXBlLW91dHNpZGU6IHJlY3RhbmdsZSgwcHgsIDBweCwgMTBweCwgMjBweCk7CiAgICAgICAgIGZs
b2F0OiByaWdodDsKICAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgICB3aWR0aDogMjBweDsK
QEAgLTQ5LDcgKzQ5LDcgQEAKICAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgfQogICAgIC5mbG9h
dC1yaWdodC12ZXJ0aWNhbC1leGNsdXNpb24gewotICAgICAgICAtd2Via2l0LXNoYXBlLW91dHNp
ZGU6IHJlY3RhbmdsZSgwcHgsIDEwcHgsIDIwcHgsIDEwcHgpOworICAgICAgICAtd2Via2l0LXNo
YXBlLW91dHNpZGU6IHJlY3RhbmdsZSgwcHgsIDBweCwgMjBweCwgMTBweCk7CiAgICAgICAgIGZs
b2F0OiByaWdodDsKICAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgICB3aWR0aDogMjBweDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183572</attachid>
            <date>2013-01-18 16:39:00 -0800</date>
            <delta_ts>2013-01-21 12:00:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100399-20130118163558.patch</filename>
            <type>text/plain</type>
            <size>25129</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTNiMDdmODA3MmI1ZGI1
YjE5NDQxY2U5YTI4YWUzNWE0YjUyN2I5MS4uNjgzNTQwOGNmZGFhMGJiMDMwNWZlYmQzZTdhY2Vm
ODgwMjJkOWVmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEzLTAxLTE4ICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgRXhjbHVzaW9u
c10gc2hhcGUtb3V0c2lkZSBvbiBmbG9hdHMgZm9yIHJlY3RhbmdsZSBzaGFwZXMgcG9zaXRpb25p
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDM5
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4g
YSBmbG9hdCBoYXMgYSBzaGFwZS1vdXRzaWRlIHdpdGggbm9uLXplcm8geCBvciB5LCB0aGUgZmxv
YXQncworICAgICAgICBleGNsdXNpb24gYmVoYXZpb3IgY2FuIGhhcHBlbiBhdCBhIGNvbXBsZXRl
bHkgZGlmZmVyZW50IGxvY2F0aW9uIHRoYW4KKyAgICAgICAgd2hlcmUgdGhlIGZsb2F0J3MgY29u
dGVudCBpcyBwYWludGVkLiBUaGlzIHBhdGNoIGJyaW5ncyBpbml0aWFsCisgICAgICAgIHN1cHBv
cnQgZm9yIHRoaXMgYmVoYXZpb3IuCisKKyAgICAgICAgVGVzdDogZmFzdC9leGNsdXNpb25zL3No
YXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXBvc2l0aW9uaW5nLmh0bWwK
KworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCbG9jazo6ZmxpcEZsb2F0Rm9yV3JpdGluZ01vZGVGb3JDaGlsZCk6IElmIGNhbGxl
ZAorICAgICAgICAgICAgZHVyaW5nIHBhaW50aW5nLCBtYWtlIHN1cmUgdG8gcGFzcyB0aGF0IHN0
YXRlIGRvd24gdG8gdGhlIGZsb2F0CisgICAgICAgICAgICBwb3NpdGlvbmluZyBzbyB0aGF0IGl0
IGNhbiB1c2UgdGhlIHByb3BlciBwb3NpdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJs
b2NrOjpwYWludEZsb2F0cyk6IFNpbmNlIHRoaXMgaXMgY29uY2VybmVkIHdpdGgKKyAgICAgICAg
ICAgIHBhaW50aW5nLCB1c2UgdGhlIHBvc2l0aW9uIG9mIHRoZSBmbG9hdCwgbm90IHRoZSBzaGFw
ZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpwb3NpdGlvbk5ld0Zsb2F0cyk6IFNl
dCB0aGUgY29ycmVjdCBsb2NhdGlvbgorICAgICAgICAgICAgZm9yIHRoZSBmbG9hdCwgcmVsYXRp
dmUgdG8gdGhlIGxvY2F0aW9uIG9mIHRoZSBzaGFwZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrOjphZGRPdmVyaGFuZ2luZ0Zsb2F0cyk6IEFkZCBGSVhNRS4KKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjp4UG9z
aXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbik6IAorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6OnlQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKTogU2luY2UgdGhlIAorICAg
ICAgICAgICAgcG9zaXRpb24gb2YgdGhlIHNoYXBlIChGbG9hdGluZ09iamVjdCkgY2FuIGJlIGRp
ZmZlcmVudCBmcm9tIHRoZQorICAgICAgICAgICAgcG9zaXRpb24gb2YgdGhlIGZsb2F0J3MgYm94
IChSZW5kZXJCb3gpLCB0aGUgcG9zaXRpb24gbmVlZHMgdG8gYmUKKyAgICAgICAgICAgIGNvbXB1
dGVkIGRpZmZlcmVudGx5IGZvciBwYWludGluZyB0aGFuIGZvciBkZXRlcm1pbmluZyBsYXlvdXQu
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6ZmxpcEZsb2F0Rm9yV3JpdGluZ01vZGVG
b3JDaGlsZCk6IENoYW5nZQorICAgICAgICAgICAgc2lnbmF0dXJlIHRvIHRha2UgcGFpbnRpbmcg
ZmxhZy4KKwogMjAxMy0wMS0xOCAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgZmFzdC9pbmxpbmUvZml4ZWQtcG9zLW1vdmVzLXdpdGgtYWJzcG9zLXBhcmVudC1y
ZWxhdGl2ZS1hbmNlc3Rvci5odG1sIGlzIGNyYXNoaW5nIGFmdGVyIHIxNDAwMjQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDk2OGRmZTZhYzliZmFhMmQ2N2I4
ZDdkYzhlNzhmYjg0M2U2Y2I4ZDIuLmJiZmRjYzljMjAxYjhjZTY5MTQzNGQ2ZmU0NWNlZDg5NWY0
ZWY1MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtMzEx
Miw3ICszMTEyLDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBw
YWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnMKICAgICB9CiB9CiAKLUxheW91
dFBvaW50IFJlbmRlckJsb2NrOjpmbGlwRmxvYXRGb3JXcml0aW5nTW9kZUZvckNoaWxkKGNvbnN0
IEZsb2F0aW5nT2JqZWN0KiBjaGlsZCwgY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50KSBjb25zdAor
TGF5b3V0UG9pbnQgUmVuZGVyQmxvY2s6OmZsaXBGbG9hdEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQo
Y29uc3QgRmxvYXRpbmdPYmplY3QqIGNoaWxkLCBjb25zdCBMYXlvdXRQb2ludCYgcG9pbnQsIGJv
b2wgcGFpbnRUaW1lKSBjb25zdAogewogICAgIGlmICghc3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tz
V3JpdGluZ01vZGUoKSkKICAgICAgICAgcmV0dXJuIHBvaW50OwpAQCAtMzEyMSw4ICszMTIxLDgg
QEAgTGF5b3V0UG9pbnQgUmVuZGVyQmxvY2s6OmZsaXBGbG9hdEZvcldyaXRpbmdNb2RlRm9yQ2hp
bGQoY29uc3QgRmxvYXRpbmdPYmplY3QqIGMKICAgICAvLyBpdCdzIGdvaW5nIHRvIGdldCBhZGRl
ZCBiYWNrIGluLiBXZSBoaWRlIHRoaXMgY29tcGxpY2F0aW9uIGhlcmUgc28gdGhhdCB0aGUgY2Fs
bGluZyBjb2RlIGxvb2tzIG5vcm1hbCBmb3IgdGhlIHVuZmxpcHBlZAogICAgIC8vIGNhc2UuCiAg
ICAgaWYgKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCi0gICAgICAgIHJldHVybiBMYXlvdXRQ
b2ludChwb2ludC54KCksIHBvaW50LnkoKSArIGhlaWdodCgpIC0gY2hpbGQtPnJlbmRlcmVyKCkt
PmhlaWdodCgpIC0gMiAqIHlQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKGNoaWxkKSk7
Ci0gICAgcmV0dXJuIExheW91dFBvaW50KHBvaW50LngoKSArIHdpZHRoKCkgLSBjaGlsZC0+cmVu
ZGVyZXIoKS0+d2lkdGgoKSAtIDIgKiB4UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihj
aGlsZCksIHBvaW50LnkoKSk7CisgICAgICAgIHJldHVybiBMYXlvdXRQb2ludChwb2ludC54KCks
IHBvaW50LnkoKSArIGhlaWdodCgpIC0gY2hpbGQtPnJlbmRlcmVyKCktPmhlaWdodCgpIC0gMiAq
IHlQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKGNoaWxkLCBwYWludFRpbWUpKTsKKyAg
ICByZXR1cm4gTGF5b3V0UG9pbnQocG9pbnQueCgpICsgd2lkdGgoKSAtIGNoaWxkLT5yZW5kZXJl
cigpLT53aWR0aCgpIC0gMiAqIHhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKGNoaWxk
LCBwYWludFRpbWUpLCBwb2ludC55KCkpOwogfQogCiB2b2lkIFJlbmRlckJsb2NrOjpwYWludEZs
b2F0cyhQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0
LCBib29sIHByZXNlcnZlUGhhc2UpCkBAIC0zMTM4LDcgKzMxMzgsNyBAQCB2b2lkIFJlbmRlckJs
b2NrOjpwYWludEZsb2F0cyhQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQm
IHBhaW50T2ZmcwogICAgICAgICBpZiAoci0+c2hvdWxkUGFpbnQoKSAmJiAhci0+bV9yZW5kZXJl
ci0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkgewogICAgICAgICAgICAgUGFpbnRJbmZvIGN1cnJl
bnRQYWludEluZm8ocGFpbnRJbmZvKTsKICAgICAgICAgICAgIGN1cnJlbnRQYWludEluZm8ucGhh
c2UgPSBwcmVzZXJ2ZVBoYXNlID8gcGFpbnRJbmZvLnBoYXNlIDogUGFpbnRQaGFzZUJsb2NrQmFj
a2dyb3VuZDsKLSAgICAgICAgICAgIExheW91dFBvaW50IGNoaWxkUG9pbnQgPSBmbGlwRmxvYXRG
b3JXcml0aW5nTW9kZUZvckNoaWxkKHIsIExheW91dFBvaW50KHBhaW50T2Zmc2V0LngoKSArIHhQ
b3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKHIpIC0gci0+bV9yZW5kZXJlci0+eCgpLCBw
YWludE9mZnNldC55KCkgKyB5UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihyKSAtIHIt
Pm1fcmVuZGVyZXItPnkoKSkpOworICAgICAgICAgICAgTGF5b3V0UG9pbnQgY2hpbGRQb2ludCA9
IGZsaXBGbG9hdEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQociwgTGF5b3V0UG9pbnQocGFpbnRPZmZz
ZXQueCgpICsgeFBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4ociwgdHJ1ZSkgLSByLT5t
X3JlbmRlcmVyLT54KCksIHBhaW50T2Zmc2V0LnkoKSArIHlQb3NpdGlvbkZvckZsb2F0SW5jbHVk
aW5nTWFyZ2luKHIsIHRydWUpIC0gci0+bV9yZW5kZXJlci0+eSgpKSwgdHJ1ZSk7CiAgICAgICAg
ICAgICByLT5tX3JlbmRlcmVyLT5wYWludChjdXJyZW50UGFpbnRJbmZvLCBjaGlsZFBvaW50KTsK
ICAgICAgICAgICAgIGlmICghcHJlc2VydmVQaGFzZSkgewogICAgICAgICAgICAgICAgIGN1cnJl
bnRQYWludEluZm8ucGhhc2UgPSBQYWludFBoYXNlQ2hpbGRCbG9ja0JhY2tncm91bmRzOwpAQCAt
Mzk5NywxMyArMzk5NywxOCBAQCBib29sIFJlbmRlckJsb2NrOjpwb3NpdGlvbk5ld0Zsb2F0cygp
CiAKICAgICAgICAgc2V0TG9naWNhbExlZnRGb3JGbG9hdChmbG9hdGluZ09iamVjdCwgZmxvYXRM
b2dpY2FsTG9jYXRpb24ueCgpKTsKIAotICAgICAgICBib29sIGhhc1NoYXBlT3V0c2lkZSA9IGZh
bHNlOwogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKLSAgICAgICAgaGFzU2hhcGVPdXRzaWRl
ID0gZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCktPmV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8o
KTsKKyAgICAgICAgaWYgKGNoaWxkQm94LT5leGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKCkpIHsK
KyAgICAgICAgICAgIC8vIFRoZSBDU1MgRXhjbHVzaW9ucyBzcGVjaWZpY2F0aW9uIHNheXMgdGhh
dCB0aGUgbWFyZ2lucyBhcmUgaWdub3JlZCB3aGVuIGEgZmxvYXQgaGFzIGEgc2hhcGUgb3V0c2lk
ZS4KKyAgICAgICAgICAgIHNldExvZ2ljYWxMZWZ0Rm9yQ2hpbGQoY2hpbGRCb3gsIGZsb2F0TG9n
aWNhbExvY2F0aW9uLngoKSAtIGNoaWxkQm94LT5leGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKCkt
PnNoYXBlTG9naWNhbExlZnQoKSk7CisgICAgICAgICAgICBzZXRMb2dpY2FsVG9wRm9yQ2hpbGQo
Y2hpbGRCb3gsIGZsb2F0TG9naWNhbExvY2F0aW9uLnkoKSAtIGNoaWxkQm94LT5leGNsdXNpb25T
aGFwZU91dHNpZGVJbmZvKCktPnNoYXBlTG9naWNhbFRvcCgpKTsKKyAgICAgICAgfSBlbHNlIHsK
KyNlbmRpZgorICAgICAgICAgICAgc2V0TG9naWNhbExlZnRGb3JDaGlsZChjaGlsZEJveCwgZmxv
YXRMb2dpY2FsTG9jYXRpb24ueCgpICsgY2hpbGRMb2dpY2FsTGVmdE1hcmdpbik7CisgICAgICAg
ICAgICBzZXRMb2dpY2FsVG9wRm9yQ2hpbGQoY2hpbGRCb3gsIGZsb2F0TG9naWNhbExvY2F0aW9u
LnkoKSArIG1hcmdpbkJlZm9yZUZvckNoaWxkKGNoaWxkQm94KSk7CisjaWYgRU5BQkxFKENTU19F
WENMVVNJT05TKQorICAgICAgICB9CiAjZW5kaWYKLSAgICAgICAgLy8gVGhlIENTUyBFeGNsdXNp
b25zIHNwZWNpZmljYXRpb24gc2F5cyB0aGF0IHRoZSBtYXJnaW5zIGFyZSBpZ25vcmVkIHdoZW4g
YSBmbG9hdCBoYXMgYSBzaGFwZSBvdXRzaWRlLgotICAgICAgICBzZXRMb2dpY2FsTGVmdEZvckNo
aWxkKGNoaWxkQm94LCBmbG9hdExvZ2ljYWxMb2NhdGlvbi54KCkgKyAoaGFzU2hhcGVPdXRzaWRl
ID8gTGF5b3V0VW5pdCgpIDogY2hpbGRMb2dpY2FsTGVmdE1hcmdpbikpOwotICAgICAgICBzZXRM
b2dpY2FsVG9wRm9yQ2hpbGQoY2hpbGRCb3gsIGZsb2F0TG9naWNhbExvY2F0aW9uLnkoKSArICho
YXNTaGFwZU91dHNpZGUgPyBMYXlvdXRVbml0KCkgOiBtYXJnaW5CZWZvcmVGb3JDaGlsZChjaGls
ZEJveCkpKTsKIAogICAgICAgICBMYXlvdXRTdGF0ZSogbGF5b3V0U3RhdGUgPSB2aWV3KCktPmxh
eW91dFN0YXRlKCk7CiAgICAgICAgIGJvb2wgaXNQYWdpbmF0ZWQgPSBsYXlvdXRTdGF0ZS0+aXNQ
YWdpbmF0ZWQoKTsKQEAgLTQwMzIsOSArNDAzNywxOSBAQCBib29sIFJlbmRlckJsb2NrOjpwb3Np
dGlvbk5ld0Zsb2F0cygpCiAgICAgICAgICAgICAgICAgZmxvYXRMb2dpY2FsTG9jYXRpb24gPSBj
b21wdXRlTG9naWNhbExvY2F0aW9uRm9yRmxvYXQoZmxvYXRpbmdPYmplY3QsIG5ld0xvZ2ljYWxU
b3ApOwogICAgICAgICAgICAgICAgIHNldExvZ2ljYWxMZWZ0Rm9yRmxvYXQoZmxvYXRpbmdPYmpl
Y3QsIGZsb2F0TG9naWNhbExvY2F0aW9uLngoKSk7CiAKLSAgICAgICAgICAgICAgICAvLyBUaGUg
Q1NTIEV4Y2x1c2lvbnMgc3BlY2lmaWNhdGlvbiBzYXlzIHRoYXQgdGhlIG1hcmdpbnMgYXJlIGln
bm9yZWQgd2hlbiBhIGZsb2F0IGhhcyBhIHNoYXBlIG91dHNpZGUuCi0gICAgICAgICAgICAgICAg
c2V0TG9naWNhbExlZnRGb3JDaGlsZChjaGlsZEJveCwgZmxvYXRMb2dpY2FsTG9jYXRpb24ueCgp
ICsgKGhhc1NoYXBlT3V0c2lkZSA/IExheW91dFVuaXQoKSA6IGNoaWxkTG9naWNhbExlZnRNYXJn
aW4pKTsKLSAgICAgICAgICAgICAgICBzZXRMb2dpY2FsVG9wRm9yQ2hpbGQoY2hpbGRCb3gsIGZs
b2F0TG9naWNhbExvY2F0aW9uLnkoKSArIChoYXNTaGFwZU91dHNpZGUgPyBMYXlvdXRVbml0KCkg
OiBtYXJnaW5CZWZvcmVGb3JDaGlsZChjaGlsZEJveCkpKTsKKyNpZiBFTkFCTEUoQ1NTX0VYQ0xV
U0lPTlMpCisgICAgICAgICAgICAgICAgaWYgKGNoaWxkQm94LT5leGNsdXNpb25TaGFwZU91dHNp
ZGVJbmZvKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gVGhlIENTUyBFeGNsdXNpb25zIHNw
ZWNpZmljYXRpb24gc2F5cyB0aGF0IHRoZSBtYXJnaW5zIGFyZSBpZ25vcmVkIHdoZW4gYSBmbG9h
dCBoYXMgYSBzaGFwZSBvdXRzaWRlLgorICAgICAgICAgICAgICAgICAgICBzZXRMb2dpY2FsTGVm
dEZvckNoaWxkKGNoaWxkQm94LCBmbG9hdExvZ2ljYWxMb2NhdGlvbi54KCkgLSBjaGlsZEJveC0+
ZXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbygpLT5zaGFwZUxvZ2ljYWxMZWZ0KCkpOworICAgICAg
ICAgICAgICAgICAgICBzZXRMb2dpY2FsVG9wRm9yQ2hpbGQoY2hpbGRCb3gsIGZsb2F0TG9naWNh
bExvY2F0aW9uLnkoKSAtIGNoaWxkQm94LT5leGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKCktPnNo
YXBlTG9naWNhbFRvcCgpKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworI2VuZGlmCisgICAg
ICAgICAgICAgICAgICAgIHNldExvZ2ljYWxMZWZ0Rm9yQ2hpbGQoY2hpbGRCb3gsIGZsb2F0TG9n
aWNhbExvY2F0aW9uLngoKSArIGNoaWxkTG9naWNhbExlZnRNYXJnaW4pOworICAgICAgICAgICAg
ICAgICAgICBzZXRMb2dpY2FsVG9wRm9yQ2hpbGQoY2hpbGRCb3gsIGZsb2F0TG9naWNhbExvY2F0
aW9uLnkoKSArIG1hcmdpbkJlZm9yZUZvckNoaWxkKGNoaWxkQm94KSk7CisjaWYgRU5BQkxFKENT
U19FWENMVVNJT05TKQorICAgICAgICAgICAgICAgIH0KKyNlbmRpZgorCiAgICAgICAgIAogICAg
ICAgICAgICAgICAgIGlmIChjaGlsZEJsb2NrKQogICAgICAgICAgICAgICAgICAgICBjaGlsZEJs
b2NrLT5zZXRDaGlsZE5lZWRzTGF5b3V0KHRydWUsIE1hcmtPbmx5VGhpcyk7CkBAIC00MDQ0LDgg
KzQwNTksOCBAQCBib29sIFJlbmRlckJsb2NrOjpwb3NpdGlvbk5ld0Zsb2F0cygpCiAKICAgICAg
ICAgc2V0TG9naWNhbFRvcEZvckZsb2F0KGZsb2F0aW5nT2JqZWN0LCBmbG9hdExvZ2ljYWxMb2Nh
dGlvbi55KCkpOwogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKLSAgICAgICAgaWYgKGhhc1No
YXBlT3V0c2lkZSkKLSAgICAgICAgICAgIHNldExvZ2ljYWxIZWlnaHRGb3JGbG9hdChmbG9hdGlu
Z09iamVjdCwgZmxvYXRpbmdPYmplY3QtPnJlbmRlcmVyKCktPmV4Y2x1c2lvblNoYXBlT3V0c2lk
ZUluZm8oKS0+c2hhcGVMb2dpY2FsSGVpZ2h0KCkpOworICAgICAgICBpZiAoY2hpbGRCb3gtPmV4
Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8oKSkKKyAgICAgICAgICAgIHNldExvZ2ljYWxIZWlnaHRG
b3JGbG9hdChmbG9hdGluZ09iamVjdCwgY2hpbGRCb3gtPmV4Y2x1c2lvblNoYXBlT3V0c2lkZUlu
Zm8oKS0+c2hhcGVMb2dpY2FsSGVpZ2h0KCkpOwogICAgICAgICBlbHNlCiAjZW5kaWYKICAgICAg
ICAgICAgIHNldExvZ2ljYWxIZWlnaHRGb3JGbG9hdChmbG9hdGluZ09iamVjdCwgbG9naWNhbEhl
aWdodEZvckNoaWxkKGNoaWxkQm94KSArIG1hcmdpbkJlZm9yZUZvckNoaWxkKGNoaWxkQm94KSAr
IG1hcmdpbkFmdGVyRm9yQ2hpbGQoY2hpbGRCb3gpKTsKQEAgLTQ1MjcsNiArNDU0Miw3IEBAIExh
eW91dFVuaXQgUmVuZGVyQmxvY2s6OmFkZE92ZXJoYW5naW5nRmxvYXRzKFJlbmRlckJsb2NrKiBj
aGlsZCwgYm9vbCBtYWtlQ2hpbGRQCiAgICAgICAgIExheW91dFVuaXQgbG9naWNhbEJvdHRvbSA9
IGNoaWxkTG9naWNhbFRvcCArIGxvZ2ljYWxCb3R0b21Gb3JGbG9hdDsKICAgICAgICAgbG93ZXN0
RmxvYXRMb2dpY2FsQm90dG9tID0gbWF4KGxvd2VzdEZsb2F0TG9naWNhbEJvdHRvbSwgbG9naWNh
bEJvdHRvbSk7CiAKKyAgICAgICAgLy8gRklYTUU6IEJ1ZyAxMDY5MjcgSGFuZGxlIHNpdHVhdGlv
bnMgd2hlcmUgZmxvYXQgYW5kIHNoYXBlLW91dHNpZGUgb3ZlcmZsb3cgZGlmZmVyZW50bHkuCiAg
ICAgICAgIGlmIChsb2dpY2FsQm90dG9tID4gbG9naWNhbEhlaWdodCgpKSB7CiAgICAgICAgICAg
ICAvLyBJZiB0aGUgb2JqZWN0IGlzIG5vdCBpbiB0aGUgbGlzdCwgd2UgYWRkIGl0IG5vdy4KICAg
ICAgICAgICAgIGlmICghY29udGFpbnNGbG9hdChyLT5tX3JlbmRlcmVyKSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCAwMGE0YmNmNjcyMjQzZDdkNzliYjkyYTVl
MTUzMDU5ODIzOTM4NTY3Li44NDJlMTU1Y2I2MWQ2MTZhZjM3OWIxNmYxNjFmZTgxNDcxZDE1NTg3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtNjg2LDcgKzY4Niw3
IEBAIHByaXZhdGU6CiAjZW5kaWYKICAgICB9OwogCi0gICAgTGF5b3V0UG9pbnQgZmxpcEZsb2F0
Rm9yV3JpdGluZ01vZGVGb3JDaGlsZChjb25zdCBGbG9hdGluZ09iamVjdCosIGNvbnN0IExheW91
dFBvaW50JikgY29uc3Q7CisgICAgTGF5b3V0UG9pbnQgZmxpcEZsb2F0Rm9yV3JpdGluZ01vZGVG
b3JDaGlsZChjb25zdCBGbG9hdGluZ09iamVjdCosIGNvbnN0IExheW91dFBvaW50JiwgYm9vbCBw
YWludFRpbWUgPSBmYWxzZSkgY29uc3Q7CiAKICAgICBMYXlvdXRVbml0IGxvZ2ljYWxUb3BGb3JG
bG9hdChjb25zdCBGbG9hdGluZ09iamVjdCogY2hpbGQpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkgPyBjaGlsZC0+eSgpIDogY2hpbGQtPngoKTsgfQogICAgIExheW91
dFVuaXQgbG9naWNhbEJvdHRvbUZvckZsb2F0KGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBjaGlsZCkg
Y29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGNoaWxkLT5tYXhZKCkg
OiBjaGlsZC0+bWF4WCgpOyB9CkBAIC03MjgsMTYgKzcyOCwzMCBAQCBwcml2YXRlOgogICAgICAg
ICAgICAgY2hpbGQtPnNldEhlaWdodChsb2dpY2FsV2lkdGgpOwogICAgIH0KIAotICAgIExheW91
dFVuaXQgeFBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4oY29uc3QgRmxvYXRpbmdPYmpl
Y3QqIGNoaWxkKSBjb25zdAorICAgIExheW91dFVuaXQgeFBvc2l0aW9uRm9yRmxvYXRJbmNsdWRp
bmdNYXJnaW4oY29uc3QgRmxvYXRpbmdPYmplY3QqIGNoaWxkLCBib29sIHBhaW50VGltZSA9IGZh
bHNlKSBjb25zdAogICAgIHsKKyNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgICAgIEV4
Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8gKnNoYXBlT3V0c2lkZSA9IGNoaWxkLT5yZW5kZXJlcigp
LT5leGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKCk7CisgICAgICAgIGlmIChwYWludFRpbWUgJiYg
c2hhcGVPdXRzaWRlKQorICAgICAgICAgICAgcmV0dXJuIGNoaWxkLT54KCkgLSAoaXNIb3Jpem9u
dGFsV3JpdGluZ01vZGUoKSA/IHNoYXBlT3V0c2lkZS0+c2hhcGVMb2dpY2FsTGVmdCgpIDogc2hh
cGVPdXRzaWRlLT5zaGFwZUxvZ2ljYWxUb3AoKSk7CisgICAgICAgIC8vIEZJWE1FOiBCdWcgMTA2
OTI4IFRoaXMgbmVlZHMgdG8gcHJvcGVybHkgaGFuZGxlIHRoZSBtYXJnaW4gZm9yIGZsb2F0cyB3
aXRoIHNoYXBlLW91dHNpZGUgZm9yIG5vbi1wYWludCB0aW1lLgorI2VuZGlmCisKICAgICAgICAg
aWYgKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCiAgICAgICAgICAgICByZXR1cm4gY2hpbGQt
PngoKSArIGNoaWxkLT5yZW5kZXJlcigpLT5tYXJnaW5MZWZ0KCk7CiAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIHJldHVybiBjaGlsZC0+eCgpICsgbWFyZ2luQmVmb3JlRm9yQ2hpbGQoY2hpbGQt
PnJlbmRlcmVyKCkpOwogICAgIH0KICAgICAgICAgCi0gICAgTGF5b3V0VW5pdCB5UG9zaXRpb25G
b3JGbG9hdEluY2x1ZGluZ01hcmdpbihjb25zdCBGbG9hdGluZ09iamVjdCogY2hpbGQpIGNvbnN0
CisgICAgTGF5b3V0VW5pdCB5UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihjb25zdCBG
bG9hdGluZ09iamVjdCogY2hpbGQsIGJvb2wgcGFpbnRUaW1lID0gZmFsc2UpIGNvbnN0CiAgICAg
eworI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICAgICAgRXhjbHVzaW9uU2hhcGVPdXRz
aWRlSW5mbyAqc2hhcGVPdXRzaWRlID0gY2hpbGQtPnJlbmRlcmVyKCktPmV4Y2x1c2lvblNoYXBl
T3V0c2lkZUluZm8oKTsKKyAgICAgICAgaWYgKHBhaW50VGltZSAmJiBzaGFwZU91dHNpZGUpCisg
ICAgICAgICAgICByZXR1cm4gY2hpbGQtPnkoKSAtIChpc0hvcml6b250YWxXcml0aW5nTW9kZSgp
ID8gc2hhcGVPdXRzaWRlLT5zaGFwZUxvZ2ljYWxUb3AoKSA6IHNoYXBlT3V0c2lkZS0+c2hhcGVM
b2dpY2FsTGVmdCgpKTsKKyAgICAgICAgLy8gRklYTUU6IEJ1ZyAxMDY5MjggVGhpcyBuZWVkcyB0
byBwcm9wZXJseSBoYW5kbGUgdGhlIG1hcmdpbiBmb3IgZmxvYXRzIHdpdGggc2hhcGUtb3V0c2lk
ZS4KKyNlbmRpZgorCiAgICAgICAgIGlmIChpc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQogICAg
ICAgICAgICAgcmV0dXJuIGNoaWxkLT55KCkgKyBtYXJnaW5CZWZvcmVGb3JDaGlsZChjaGlsZC0+
cmVuZGVyZXIoKSk7CiAgICAgICAgIGVsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyMWMxMzQ4NWQ0Y2I4ZjJmNmVhYjZl
MzM3ZjZjOWY0NjkzYzgxOGM0Li4wNTk4OWEzYTg1MmM0MjRjN2U1YjBiNmY0NThiNWY3NjJjNGY3
MDIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDEtMTggIEJlbSBKb25lcy1CZXkgIDxi
am9uZXNiZUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBFeGNsdXNpb25zXSBzaGFwZS1vdXRz
aWRlIG9uIGZsb2F0cyBmb3IgcmVjdGFuZ2xlIHNoYXBlcyBwb3NpdGlvbmluZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMzk5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2V4Y2x1c2lvbnMv
c2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtcG9zaXRpb25pbmctZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNp
ZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXBvc2l0aW9uaW5nLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRz
aWRlLWZsb2F0cy1zaW1wbGUtcmVjdGFuZ2xlLWhvcml6b250YWwtbXVsdGlwbGUuaHRtbDoKKyAg
ICAgICAgICAgIFRoaXMgdGVzdCBoYWQgaW5jb3JyZWN0IGNvb3JkaW5hdGVzIGZvciBzb21lIG9m
IHRoZSBzaGFwZXMsIGNhdXNpbmcgdGhlbSB0byBicmVhayBub3cgdGhhdCB4IGFuZCB5IGFyZSBz
dXBwb3J0ZWQgZm9yIHRoZSBzaGFwZXMuCisKIDIwMTMtMDEtMTggIFJvYmVydCBIb2dhbiAgPHJv
YmVydEB3ZWJraXQub3JnPgogCiAgICAgICAgIGZhc3QvaW5saW5lL2ZpeGVkLXBvcy1tb3Zlcy13
aXRoLWFic3Bvcy1wYXJlbnQtcmVsYXRpdmUtYW5jZXN0b3IuaHRtbCBpcyBjcmFzaGluZyBhZnRl
ciByMTQwMDI0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUt
b3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtcG9zaXRpb25pbmctZXhwZWN0ZWQu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9z
aGFwZS1vdXRzaWRlLWZsb2F0cy1wb3NpdGlvbmluZy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljg3MzRiNGIxYzgxMmQ2Y2Q5YjAwOTA2NWVmODI3OTU1N2E2ZDNmOGEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hh
cGUtb3V0c2lkZS1mbG9hdHMtcG9zaXRpb25pbmctZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE0
NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICA8c3R5bGU+CisgICAgLmNv
bnRhaW5lciB7CisgICAgICBmb250OiAxMHB4LzEgQWhlbSwgc2Fucy1zZXJpZjsKKyAgICAgIGJh
Y2tncm91bmQtY29sb3I6IGJsdWU7CisgICAgICB3aWR0aDogNDBweDsKKyAgICAgIGhlaWdodDog
NDBweDsKKyAgICAgIG1hcmdpbjogNTBweDsKKyAgICB9CisgICAgLmNoaWxkIHsKKyAgICAgIGJh
Y2tncm91bmQtY29sb3I6IGdyZWVuOworICAgICAgd2lkdGg6IDQwcHg7CisgICAgICBoZWlnaHQ6
IDQwcHg7CisgICAgfQorICAgIC5leGNsdXNpb24tbmVnYXRpdmUteCB7CisgICAgICBwb3NpdGlv
bjogcmVsYXRpdmU7CisgICAgICBsZWZ0OiAyMHB4OworICAgIH0KKyAgICAuZXhjbHVzaW9uLXBv
c2l0aXZlLXggeworICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgbGVmdDogLTIwcHg7
CisgICAgfQorICAgIC5leGNsdXNpb24tbmVnYXRpdmUteSB7CisgICAgICBwb3NpdGlvbjogcmVs
YXRpdmU7CisgICAgICB0b3A6IDIwcHg7CisgICAgfQorICAgIC5leGNsdXNpb24tcG9zaXRpdmUt
eSB7CisgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICB0b3A6IC0yMHB4OworICAgIH0K
KyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICA8aDE+PGEgaHJlZj0iaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDM5OSI+QnVnIDEwMDM5OTwvYT46IFtDU1Mg
RXhjbHVzaW9uc10gc2hhcGUtb3V0c2lkZSBvbiBmbG9hdHMgZm9yIHJlY3RhbmdsZSBzaGFwZXMg
cG9zaXRpb25pbmc8L2gxPgorICA8aDI+VGhlIGZvbGxvd2luZyB0ZXN0cyBzaG91bGQgaGF2ZSBh
IHNtYWxsIGJsdWUgcmVjdGFuZ2xlIHRvIHRoZSBsZWZ0IG9yIHRvIHRoZSByaWdodCBvZiBhIGdy
ZWVuIHNxdWFyZTwvaDI+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHls
ZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tbmVnYXRpdmUteCI+CisgICAg
PC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5
bGU9ImZsb2F0OiBsZWZ0IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXgiPgorICAg
IDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0
eWxlPSJmbG9hdDogcmlnaHQiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tbmVnYXRpdmUteCI+Cisg
ICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYg
c3R5bGU9ImZsb2F0OiByaWdodCIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS14Ij4K
KyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxoMj5UaGUgZm9sbG93aW5nIHRlc3RzIHNob3VsZCBo
YXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUgYWJvdmUgb3IgYmVsb3cgb2YgYSBncmVlbiBzcXVh
cmU8L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0
OiBsZWZ0IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXkiPgorICAgIDwvZGl2Pgor
ICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9h
dDogbGVmdCIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS15Ij4KKyAgICA8L2Rpdj4K
KyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxv
YXQ6IHJpZ2h0IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXkiPgorICAgIDwvZGl2
PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJm
bG9hdDogcmlnaHQiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tcG9zaXRpdmUteSI+CisgICAgPC9k
aXY+CisgIDwvZGl2PgorICA8aDI+VGhlIGZvbGxvd2luZyB0ZXN0cyBzaG91bGQgaGF2ZSBhIHNt
YWxsIGJsdWUgcmVjdGFuZ2xlIGFib3ZlIG9yIGJlbG93IG9mIGEgZ3JlZW4gc3F1YXJlPC9oMj4K
KyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsg
LXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lv
bi1uZWdhdGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRh
aW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IC13ZWJraXQtd3JpdGluZy1tb2Rl
OiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tcG9zaXRpdmUteSI+CisgICAg
PC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5
bGU9ImZsb2F0OiByaWdodDsgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xh
c3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAt
d2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9u
LXBvc2l0aXZlLXkiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGgyPlRoZSBmb2xsb3dpbmcg
dGVzdHMgc2hvdWxkIGhhdmUgYSBzbWFsbCBibHVlIHJlY3RhbmdsZSB0byB0aGUgbGVmdCBvciB0
byB0aGUgcmlnaHQgb2YgYSBncmVlbiBzcXVhcmU8L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWlu
ZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9kZTog
dmVydGljYWwtcmw7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXgiPgorICAgIDwv
ZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxl
PSJmbG9hdDogbGVmdDsgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xhc3M9
ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS14Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxk
aXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAtd2Vi
a2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5l
Z2F0aXZlLXgiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVy
Ij4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2
ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tcG9zaXRpdmUteCI+CisgICAgPC9k
aXY+CisgIDwvZGl2PgorICA8aDI+VGhlIGZvbGxvd2luZyB0ZXN0cyBzaG91bGQgaGF2ZSBhIHNt
YWxsIGJsdWUgcmVjdGFuZ2xlIGFib3ZlIG9yIGJlbG93IG9mIGEgZ3JlZW4gc3F1YXJlPC9oMj4K
KyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsg
LXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lv
bi1uZWdhdGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRh
aW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IC13ZWJraXQtd3JpdGluZy1tb2Rl
OiB2ZXJ0aWNhbC1scjsiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tcG9zaXRpdmUteSI+CisgICAg
PC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5
bGU9ImZsb2F0OiByaWdodDsgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyOyIgY2xh
c3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAt
d2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9u
LXBvc2l0aXZlLXkiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGgyPlRoZSBmb2xsb3dpbmcg
dGVzdHMgc2hvdWxkIGhhdmUgYSBzbWFsbCBibHVlIHJlY3RhbmdsZSB0byB0aGUgbGVmdCBvciB0
byB0aGUgcmlnaHQgb2YgYSBncmVlbiBzcXVhcmU8L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWlu
ZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9kZTog
dmVydGljYWwtbHI7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXgiPgorICAgIDwv
ZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxl
PSJmbG9hdDogbGVmdDsgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyOyIgY2xhc3M9
ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS14Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxk
aXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAtd2Vi
a2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5l
Z2F0aXZlLXgiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVy
Ij4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2
ZXJ0aWNhbC1scjsiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tcG9zaXRpdmUteCI+CisgICAgPC9k
aXY+CisgIDwvZGl2PgorICA8aDI+VGhlIGZvbGxvd2luZyB0ZXN0IGVuc3VyZXMgdGhhdCB0aGlu
Z3MgcmVuZGVyIGNvcnJlY3RseSB1c2luZyB0aGUgYWNjZWxlcmF0ZWQgcGFpbnRpbmcgZmxvdy4g
SXQgc2hvdWxkIGhhdmUgYSBzbWFsbCBibHVlIHJlY3RhbmdsZSB0byB0aGUgcmlnaHQgb2YgYSBn
cmVlbiBzcXVhcmU8L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5
bGU9ImZsb2F0OiBsZWZ0OyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigxcHgpOyIgY2xh
c3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS14Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+Cis8
L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0
c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtcG9zaXRpb25pbmcuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRl
LWZsb2F0cy1wb3NpdGlvbmluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2N2QzZTM1MjFjYjc2MjEzYTk4
NDUzZTExMWU0YjhlYzlhNDM4ODgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtcG9z
aXRpb25pbmcuaHRtbApAQCAtMCwwICsxLDE0NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorICA8c2NyaXB0PgorICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRDU1NFeGNsdXNpb25zRW5hYmxlZCh0cnVlKTsKKyAg
PC9zY3JpcHQ+CisgIDxzdHlsZT4KKyAgICAuY29udGFpbmVyIHsKKyAgICAgIGZvbnQ6IDEwcHgv
MSBBaGVtLCBzYW5zLXNlcmlmOworICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKKyAgICAg
IHdpZHRoOiA0MHB4OworICAgICAgaGVpZ2h0OiA0MHB4OworICAgICAgbWFyZ2luOiA1MHB4Owor
ICAgIH0KKyAgICAuY2hpbGQgeworICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAg
ICB3aWR0aDogNDBweDsKKyAgICAgIGhlaWdodDogNDBweDsKKyAgICB9CisgICAgLmV4Y2x1c2lv
bi1uZWdhdGl2ZS14IHsKKyAgICAgIC13ZWJraXQtc2hhcGUtb3V0c2lkZTogcmVjdGFuZ2xlKC0y
MHB4LCAwLCA0MHB4LCA0MHB4KTsKKyAgICB9CisgICAgLmV4Y2x1c2lvbi1wb3NpdGl2ZS14IHsK
KyAgICAgIC13ZWJraXQtc2hhcGUtb3V0c2lkZTogcmVjdGFuZ2xlKDIwcHgsIDAsIDQwcHgsIDQw
cHgpOworICAgIH0KKyAgICAuZXhjbHVzaW9uLW5lZ2F0aXZlLXkgeworICAgICAgLXdlYmtpdC1z
aGFwZS1vdXRzaWRlOiByZWN0YW5nbGUoMCwgLTIwcHgsIDQwcHgsIDQwcHgpOworICAgIH0KKyAg
ICAuZXhjbHVzaW9uLXBvc2l0aXZlLXkgeworICAgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBy
ZWN0YW5nbGUoMCwgMjBweCwgNDBweCwgNDBweCk7CisgICAgfQorICA8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+CisgIDxoMT48YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAwMzk5Ij5CdWcgMTAwMzk5PC9hPjogW0NTUyBFeGNsdXNpb25zXSBzaGFwZS1v
dXRzaWRlIG9uIGZsb2F0cyBmb3IgcmVjdGFuZ2xlIHNoYXBlcyBwb3NpdGlvbmluZzwvaDE+Cisg
IDxoMj5UaGUgZm9sbG93aW5nIHRlc3RzIHNob3VsZCBoYXZlIGEgc21hbGwgYmx1ZSByZWN0YW5n
bGUgdG8gdGhlIGxlZnQgb3IgdG8gdGhlIHJpZ2h0IG9mIGEgZ3JlZW4gc3F1YXJlPC9oMj4KKyAg
PGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xh
c3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS14Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNs
YXNzPSJjaGlsZCBleGNsdXNpb24tcG9zaXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2Pgor
ICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCIg
Y2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS14Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0
IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXgiPgorICAgIDwvZGl2PgorICA8L2Rp
dj4KKyAgPGgyPlRoZSBmb2xsb3dpbmcgdGVzdHMgc2hvdWxkIGhhdmUgYSBzbWFsbCBibHVlIHJl
Y3RhbmdsZSBhYm92ZSBvciBiZWxvdyBvZiBhIGdyZWVuIHNxdWFyZTwvaDI+CisgIDxkaXYgY2xh
c3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJjaGls
ZCBleGNsdXNpb24tbmVnYXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0IiBjbGFzcz0iY2hp
bGQgZXhjbHVzaW9uLXBvc2l0aXZlLXkiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBj
bGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQiIGNsYXNzPSJj
aGlsZCBleGNsdXNpb24tbmVnYXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCIgY2xhc3M9
ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxo
Mj5UaGUgZm9sbG93aW5nIHRlc3RzIHNob3VsZCBoYXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUg
YWJvdmUgb3IgYmVsb3cgb2YgYSBncmVlbiBzcXVhcmU8L2gyPgorICA8ZGl2IGNsYXNzPSJjb250
YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9k
ZTogdmVydGljYWwtcmw7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXgiPgorICAg
IDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0
eWxlPSJmbG9hdDogbGVmdDsgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xh
c3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS14Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAt
d2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9u
LW5lZ2F0aXZlLXgiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFp
bmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2Rl
OiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tcG9zaXRpdmUteCI+CisgICAg
PC9kaXY+CisgIDwvZGl2PgorICA8aDI+VGhlIGZvbGxvd2luZyB0ZXN0cyBzaG91bGQgaGF2ZSBh
IHNtYWxsIGJsdWUgcmVjdGFuZ2xlIHRvIHRoZSBsZWZ0IG9yIHRvIHRoZSByaWdodCBvZiBhIGdy
ZWVuIHNxdWFyZTwvaDI+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHls
ZT0iZmxvYXQ6IGxlZnQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNz
PSJjaGlsZCBleGNsdXNpb24tbmVnYXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8
ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyAtd2Vi
a2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBv
c2l0aXZlLXkiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVy
Ij4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2
ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tbmVnYXRpdmUteSI+CisgICAgPC9k
aXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9
ImZsb2F0OiByaWdodDsgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xhc3M9
ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxo
Mj5UaGUgZm9sbG93aW5nIHRlc3RzIHNob3VsZCBoYXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUg
YWJvdmUgb3IgYmVsb3cgb2YgYSBncmVlbiBzcXVhcmU8L2gyPgorICA8ZGl2IGNsYXNzPSJjb250
YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9k
ZTogdmVydGljYWwtbHI7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXgiPgorICAg
IDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0
eWxlPSJmbG9hdDogbGVmdDsgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyOyIgY2xh
c3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS14Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+Cisg
IDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAt
d2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9u
LW5lZ2F0aXZlLXgiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFp
bmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2Rl
OiB2ZXJ0aWNhbC1scjsiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tcG9zaXRpdmUteCI+CisgICAg
PC9kaXY+CisgIDwvZGl2PgorICA8aDI+VGhlIGZvbGxvd2luZyB0ZXN0cyBzaG91bGQgaGF2ZSBh
IHNtYWxsIGJsdWUgcmVjdGFuZ2xlIHRvIHRoZSBsZWZ0IG9yIHRvIHRoZSByaWdodCBvZiBhIGdy
ZWVuIHNxdWFyZTwvaDI+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHls
ZT0iZmxvYXQ6IGxlZnQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsiIGNsYXNz
PSJjaGlsZCBleGNsdXNpb24tbmVnYXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8
ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyAtd2Vi
a2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBv
c2l0aXZlLXkiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVy
Ij4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2
ZXJ0aWNhbC1scjsiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tbmVnYXRpdmUteSI+CisgICAgPC9k
aXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9
ImZsb2F0OiByaWdodDsgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyOyIgY2xhc3M9
ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxo
Mj5UaGUgZm9sbG93aW5nIHRlc3QgZW5zdXJlcyB0aGF0IHRoaW5ncyByZW5kZXIgY29ycmVjdGx5
IHVzaW5nIHRoZSBhY2NlbGVyYXRlZCBwYWludGluZyBmbG93LiBJdCBzaG91bGQgaGF2ZSBhIHNt
YWxsIGJsdWUgcmVjdGFuZ2xlIHRvIHRoZSByaWdodCBvZiBhIGdyZWVuIHNxdWFyZTwvaDI+Cisg
IDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IC13
ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDFweCk7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9u
LW5lZ2F0aXZlLXgiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKzwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1v
dXRzaWRlLWZsb2F0cy1zaW1wbGUtcmVjdGFuZ2xlLWhvcml6b250YWwtbXVsdGlwbGUuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1v
dXRzaWRlLWZsb2F0cy1zaW1wbGUtcmVjdGFuZ2xlLWhvcml6b250YWwtbXVsdGlwbGUuaHRtbApp
bmRleCA3NzZlM2JjYTU0OWZlMzRlNWY5Y2Q4ZjIzZGY4NTlmYjk3Nzk1NWExLi4zYTdlY2NkOWVi
YjRmMWY0NWE1YmFkYjIxZjc5OWRjMWYwZWQ1MzE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMt
c2ltcGxlLXJlY3RhbmdsZS1ob3Jpem9udGFsLW11bHRpcGxlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxv
YXRzLXNpbXBsZS1yZWN0YW5nbGUtaG9yaXpvbnRhbC1tdWx0aXBsZS5odG1sCkBAIC0zNyw3ICsz
Nyw3IEBACiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwogICAgIH0KICAgICAuZmxv
YXQtcmlnaHQtZXhjbHVzaW9uIHsKLSAgICAgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiByZWN0
YW5nbGUoMTBweCwgMHB4LCAxMHB4LCAyMHB4KTsKKyAgICAgICAgLXdlYmtpdC1zaGFwZS1vdXRz
aWRlOiByZWN0YW5nbGUoMHB4LCAwcHgsIDEwcHgsIDIwcHgpOwogICAgICAgICBmbG9hdDogcmln
aHQ7CiAgICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICAgd2lkdGg6IDIwcHg7CkBAIC00OSw3
ICs0OSw3IEBACiAgICAgICAgIHdpZHRoOiAyMHB4OwogICAgIH0KICAgICAuZmxvYXQtcmlnaHQt
dmVydGljYWwtZXhjbHVzaW9uIHsKLSAgICAgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiByZWN0
YW5nbGUoMHB4LCAxMHB4LCAyMHB4LCAxMHB4KTsKKyAgICAgICAgLXdlYmtpdC1zaGFwZS1vdXRz
aWRlOiByZWN0YW5nbGUoMHB4LCAwcHgsIDIwcHgsIDEwcHgpOwogICAgICAgICBmbG9hdDogcmln
aHQ7CiAgICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICAgd2lkdGg6IDIwcHg7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183814</attachid>
            <date>2013-01-21 12:00:52 -0800</date>
            <delta_ts>2013-01-21 14:36:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100399-20130121115747.patch</filename>
            <type>text/plain</type>
            <size>25659</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMzQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGIyZDhiMWNkYTE0ZGM5
ZmUzYTQ0NmFkYWQzOGNhMWI5MjQ4N2RiNy4uMjkzNzQ1YWY4MDUxNWRiZWEwNjMwZThmYTkxZGNl
M2U3MDIzYzM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEzLTAxLTIxICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgRXhjbHVzaW9u
c10gc2hhcGUtb3V0c2lkZSBvbiBmbG9hdHMgZm9yIHJlY3RhbmdsZSBzaGFwZXMgcG9zaXRpb25p
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDM5
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4g
YSBmbG9hdCBoYXMgYSBzaGFwZS1vdXRzaWRlIHdpdGggbm9uLXplcm8geCBvciB5LCB0aGUgZmxv
YXQncworICAgICAgICBleGNsdXNpb24gYmVoYXZpb3IgY2FuIGhhcHBlbiBhdCBhIGNvbXBsZXRl
bHkgZGlmZmVyZW50IGxvY2F0aW9uIHRoYW4KKyAgICAgICAgd2hlcmUgdGhlIGZsb2F0J3MgY29u
dGVudCBpcyBwYWludGVkLiBUaGlzIHBhdGNoIGJyaW5ncyBpbml0aWFsCisgICAgICAgIHN1cHBv
cnQgZm9yIHRoaXMgYmVoYXZpb3IuCisKKyAgICAgICAgVGVzdDogZmFzdC9leGNsdXNpb25zL3No
YXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXBvc2l0aW9uaW5nLmh0bWwK
KworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCbG9jazo6ZmxpcEZsb2F0Rm9yV3JpdGluZ01vZGVGb3JDaGlsZCk6IElmIGNhbGxl
ZAorICAgICAgICAgICAgZHVyaW5nIHBhaW50aW5nLCBtYWtlIHN1cmUgdG8gcGFzcyB0aGF0IHN0
YXRlIGRvd24gdG8gdGhlIGZsb2F0CisgICAgICAgICAgICBwb3NpdGlvbmluZyBzbyB0aGF0IGl0
IGNhbiB1c2UgdGhlIHByb3BlciBwb3NpdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJs
b2NrOjpwYWludEZsb2F0cyk6IFNpbmNlIHRoaXMgaXMgY29uY2VybmVkIHdpdGgKKyAgICAgICAg
ICAgIHBhaW50aW5nLCB1c2UgdGhlIHBvc2l0aW9uIG9mIHRoZSBmbG9hdCwgbm90IHRoZSBzaGFw
ZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpwb3NpdGlvbk5ld0Zsb2F0cyk6IFNl
dCB0aGUgY29ycmVjdCBsb2NhdGlvbgorICAgICAgICAgICAgZm9yIHRoZSBmbG9hdCwgcmVsYXRp
dmUgdG8gdGhlIGxvY2F0aW9uIG9mIHRoZSBzaGFwZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrOjphZGRPdmVyaGFuZ2luZ0Zsb2F0cyk6IEFkZCBGSVhNRS4KKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjp4UG9z
aXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbik6IAorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6OnlQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKTogU2luY2UgdGhlIAorICAg
ICAgICAgICAgcG9zaXRpb24gb2YgdGhlIHNoYXBlIChGbG9hdGluZ09iamVjdCkgY2FuIGJlIGRp
ZmZlcmVudCBmcm9tIHRoZQorICAgICAgICAgICAgcG9zaXRpb24gb2YgdGhlIGZsb2F0J3MgYm94
IChSZW5kZXJCb3gpLCB0aGUgcG9zaXRpb24gbmVlZHMgdG8gYmUKKyAgICAgICAgICAgIGNvbXB1
dGVkIGRpZmZlcmVudGx5IGZvciBwYWludGluZyB0aGFuIGZvciBkZXRlcm1pbmluZyBsYXlvdXQu
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6ZmxpcEZsb2F0Rm9yV3JpdGluZ01vZGVG
b3JDaGlsZCk6IENoYW5nZQorICAgICAgICAgICAgc2lnbmF0dXJlIHRvIHRha2UgcGFpbnRpbmcg
ZmxhZy4KKwogMjAxMy0wMS0yMSAgVmlhdGNoZXNsYXYgT3N0YXBlbmtvICA8c2wub3N0YXBlbmtv
QHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdW1F0XVtXZWJHbF0gUmFuZG9tIGNyYXNoIGlu
IEdyYXBoaWNzQ29udGV4dDNEOjpkcmF3QXJyYXlzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcAppbmRleCBhYjM5NjdjMjY4ZTQzZjI3N2FiNzA0MzA5MThjODE1MDY4MjI3
YmFjLi44N2FiMTQ0Zjc3YjE2MTY4MGQ5OGQzNjM5NGNlYzliZThjYzI2ZjUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTMxMTksNyArMzExOSw3IEBAIHZv
aWQgUmVuZGVyQmxvY2s6OnBhaW50T2JqZWN0KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBM
YXlvdXRQb2ludCYgcGFpbnRPZmZzCiAgICAgfQogfQogCi1MYXlvdXRQb2ludCBSZW5kZXJCbG9j
azo6ZmxpcEZsb2F0Rm9yV3JpdGluZ01vZGVGb3JDaGlsZChjb25zdCBGbG9hdGluZ09iamVjdCog
Y2hpbGQsIGNvbnN0IExheW91dFBvaW50JiBwb2ludCkgY29uc3QKK0xheW91dFBvaW50IFJlbmRl
ckJsb2NrOjpmbGlwRmxvYXRGb3JXcml0aW5nTW9kZUZvckNoaWxkKGNvbnN0IEZsb2F0aW5nT2Jq
ZWN0KiBjaGlsZCwgY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50LCBGbG9hdFJlbmRlcmluZ1N0YXRl
IHJlbmRlcmluZ1N0YXRlKSBjb25zdAogewogICAgIGlmICghc3R5bGUoKS0+aXNGbGlwcGVkQmxv
Y2tzV3JpdGluZ01vZGUoKSkKICAgICAgICAgcmV0dXJuIHBvaW50OwpAQCAtMzEyOCw4ICszMTI4
LDggQEAgTGF5b3V0UG9pbnQgUmVuZGVyQmxvY2s6OmZsaXBGbG9hdEZvcldyaXRpbmdNb2RlRm9y
Q2hpbGQoY29uc3QgRmxvYXRpbmdPYmplY3QqIGMKICAgICAvLyBpdCdzIGdvaW5nIHRvIGdldCBh
ZGRlZCBiYWNrIGluLiBXZSBoaWRlIHRoaXMgY29tcGxpY2F0aW9uIGhlcmUgc28gdGhhdCB0aGUg
Y2FsbGluZyBjb2RlIGxvb2tzIG5vcm1hbCBmb3IgdGhlIHVuZmxpcHBlZAogICAgIC8vIGNhc2Uu
CiAgICAgaWYgKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCi0gICAgICAgIHJldHVybiBMYXlv
dXRQb2ludChwb2ludC54KCksIHBvaW50LnkoKSArIGhlaWdodCgpIC0gY2hpbGQtPnJlbmRlcmVy
KCktPmhlaWdodCgpIC0gMiAqIHlQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKGNoaWxk
KSk7Ci0gICAgcmV0dXJuIExheW91dFBvaW50KHBvaW50LngoKSArIHdpZHRoKCkgLSBjaGlsZC0+
cmVuZGVyZXIoKS0+d2lkdGgoKSAtIDIgKiB4UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdp
bihjaGlsZCksIHBvaW50LnkoKSk7CisgICAgICAgIHJldHVybiBMYXlvdXRQb2ludChwb2ludC54
KCksIHBvaW50LnkoKSArIGhlaWdodCgpIC0gY2hpbGQtPnJlbmRlcmVyKCktPmhlaWdodCgpIC0g
MiAqIHlQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKGNoaWxkLCByZW5kZXJpbmdTdGF0
ZSkpOworICAgIHJldHVybiBMYXlvdXRQb2ludChwb2ludC54KCkgKyB3aWR0aCgpIC0gY2hpbGQt
PnJlbmRlcmVyKCktPndpZHRoKCkgLSAyICogeFBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJn
aW4oY2hpbGQsIHJlbmRlcmluZ1N0YXRlKSwgcG9pbnQueSgpKTsKIH0KIAogdm9pZCBSZW5kZXJC
bG9jazo6cGFpbnRGbG9hdHMoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50
JiBwYWludE9mZnNldCwgYm9vbCBwcmVzZXJ2ZVBoYXNlKQpAQCAtMzE0NSw3ICszMTQ1LDcgQEAg
dm9pZCBSZW5kZXJCbG9jazo6cGFpbnRGbG9hdHMoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0
IExheW91dFBvaW50JiBwYWludE9mZnMKICAgICAgICAgaWYgKHItPnNob3VsZFBhaW50KCkgJiYg
IXItPm1fcmVuZGVyZXItPmhhc1NlbGZQYWludGluZ0xheWVyKCkpIHsKICAgICAgICAgICAgIFBh
aW50SW5mbyBjdXJyZW50UGFpbnRJbmZvKHBhaW50SW5mbyk7CiAgICAgICAgICAgICBjdXJyZW50
UGFpbnRJbmZvLnBoYXNlID0gcHJlc2VydmVQaGFzZSA/IHBhaW50SW5mby5waGFzZSA6IFBhaW50
UGhhc2VCbG9ja0JhY2tncm91bmQ7Ci0gICAgICAgICAgICBMYXlvdXRQb2ludCBjaGlsZFBvaW50
ID0gZmxpcEZsb2F0Rm9yV3JpdGluZ01vZGVGb3JDaGlsZChyLCBMYXlvdXRQb2ludChwYWludE9m
ZnNldC54KCkgKyB4UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihyKSAtIHItPm1fcmVu
ZGVyZXItPngoKSwgcGFpbnRPZmZzZXQueSgpICsgeVBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdN
YXJnaW4ocikgLSByLT5tX3JlbmRlcmVyLT55KCkpKTsKKyAgICAgICAgICAgIExheW91dFBvaW50
IGNoaWxkUG9pbnQgPSBmbGlwRmxvYXRGb3JXcml0aW5nTW9kZUZvckNoaWxkKHIsIExheW91dFBv
aW50KHBhaW50T2Zmc2V0LngoKSArIHhQb3NpdGlvbkZvckZsb2F0SW5jbHVkaW5nTWFyZ2luKHIs
IEZsb2F0UGFpbnQpIC0gci0+bV9yZW5kZXJlci0+eCgpLCBwYWludE9mZnNldC55KCkgKyB5UG9z
aXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihyLCBGbG9hdFBhaW50KSAtIHItPm1fcmVuZGVy
ZXItPnkoKSksIEZsb2F0UGFpbnQpOwogICAgICAgICAgICAgci0+bV9yZW5kZXJlci0+cGFpbnQo
Y3VycmVudFBhaW50SW5mbywgY2hpbGRQb2ludCk7CiAgICAgICAgICAgICBpZiAoIXByZXNlcnZl
UGhhc2UpIHsKICAgICAgICAgICAgICAgICBjdXJyZW50UGFpbnRJbmZvLnBoYXNlID0gUGFpbnRQ
aGFzZUNoaWxkQmxvY2tCYWNrZ3JvdW5kczsKQEAgLTQwMDQsMTMgKzQwMDQsMTggQEAgYm9vbCBS
ZW5kZXJCbG9jazo6cG9zaXRpb25OZXdGbG9hdHMoKQogCiAgICAgICAgIHNldExvZ2ljYWxMZWZ0
Rm9yRmxvYXQoZmxvYXRpbmdPYmplY3QsIGZsb2F0TG9naWNhbExvY2F0aW9uLngoKSk7CiAKLSAg
ICAgICAgYm9vbCBoYXNTaGFwZU91dHNpZGUgPSBmYWxzZTsKICNpZiBFTkFCTEUoQ1NTX0VYQ0xV
U0lPTlMpCi0gICAgICAgIGhhc1NoYXBlT3V0c2lkZSA9IGZsb2F0aW5nT2JqZWN0LT5yZW5kZXJl
cigpLT5leGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKCk7CisgICAgICAgIGlmIChjaGlsZEJveC0+
ZXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbygpKSB7CisgICAgICAgICAgICAvLyBUaGUgQ1NTIEV4
Y2x1c2lvbnMgc3BlY2lmaWNhdGlvbiBzYXlzIHRoYXQgdGhlIG1hcmdpbnMgYXJlIGlnbm9yZWQg
d2hlbiBhIGZsb2F0IGhhcyBhIHNoYXBlIG91dHNpZGUuCisgICAgICAgICAgICBzZXRMb2dpY2Fs
TGVmdEZvckNoaWxkKGNoaWxkQm94LCBmbG9hdExvZ2ljYWxMb2NhdGlvbi54KCkgLSBjaGlsZEJv
eC0+ZXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbygpLT5zaGFwZUxvZ2ljYWxMZWZ0KCkpOworICAg
ICAgICAgICAgc2V0TG9naWNhbFRvcEZvckNoaWxkKGNoaWxkQm94LCBmbG9hdExvZ2ljYWxMb2Nh
dGlvbi55KCkgLSBjaGlsZEJveC0+ZXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbygpLT5zaGFwZUxv
Z2ljYWxUb3AoKSk7CisgICAgICAgIH0gZWxzZSB7CisjZW5kaWYKKyAgICAgICAgICAgIHNldExv
Z2ljYWxMZWZ0Rm9yQ2hpbGQoY2hpbGRCb3gsIGZsb2F0TG9naWNhbExvY2F0aW9uLngoKSArIGNo
aWxkTG9naWNhbExlZnRNYXJnaW4pOworICAgICAgICAgICAgc2V0TG9naWNhbFRvcEZvckNoaWxk
KGNoaWxkQm94LCBmbG9hdExvZ2ljYWxMb2NhdGlvbi55KCkgKyBtYXJnaW5CZWZvcmVGb3JDaGls
ZChjaGlsZEJveCkpOworI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICAgICAgfQogI2Vu
ZGlmCi0gICAgICAgIC8vIFRoZSBDU1MgRXhjbHVzaW9ucyBzcGVjaWZpY2F0aW9uIHNheXMgdGhh
dCB0aGUgbWFyZ2lucyBhcmUgaWdub3JlZCB3aGVuIGEgZmxvYXQgaGFzIGEgc2hhcGUgb3V0c2lk
ZS4KLSAgICAgICAgc2V0TG9naWNhbExlZnRGb3JDaGlsZChjaGlsZEJveCwgZmxvYXRMb2dpY2Fs
TG9jYXRpb24ueCgpICsgKGhhc1NoYXBlT3V0c2lkZSA/IExheW91dFVuaXQoKSA6IGNoaWxkTG9n
aWNhbExlZnRNYXJnaW4pKTsKLSAgICAgICAgc2V0TG9naWNhbFRvcEZvckNoaWxkKGNoaWxkQm94
LCBmbG9hdExvZ2ljYWxMb2NhdGlvbi55KCkgKyAoaGFzU2hhcGVPdXRzaWRlID8gTGF5b3V0VW5p
dCgpIDogbWFyZ2luQmVmb3JlRm9yQ2hpbGQoY2hpbGRCb3gpKSk7CiAKICAgICAgICAgTGF5b3V0
U3RhdGUqIGxheW91dFN0YXRlID0gdmlldygpLT5sYXlvdXRTdGF0ZSgpOwogICAgICAgICBib29s
IGlzUGFnaW5hdGVkID0gbGF5b3V0U3RhdGUtPmlzUGFnaW5hdGVkKCk7CkBAIC00MDM5LDkgKzQw
NDQsMTkgQEAgYm9vbCBSZW5kZXJCbG9jazo6cG9zaXRpb25OZXdGbG9hdHMoKQogICAgICAgICAg
ICAgICAgIGZsb2F0TG9naWNhbExvY2F0aW9uID0gY29tcHV0ZUxvZ2ljYWxMb2NhdGlvbkZvckZs
b2F0KGZsb2F0aW5nT2JqZWN0LCBuZXdMb2dpY2FsVG9wKTsKICAgICAgICAgICAgICAgICBzZXRM
b2dpY2FsTGVmdEZvckZsb2F0KGZsb2F0aW5nT2JqZWN0LCBmbG9hdExvZ2ljYWxMb2NhdGlvbi54
KCkpOwogCi0gICAgICAgICAgICAgICAgLy8gVGhlIENTUyBFeGNsdXNpb25zIHNwZWNpZmljYXRp
b24gc2F5cyB0aGF0IHRoZSBtYXJnaW5zIGFyZSBpZ25vcmVkIHdoZW4gYSBmbG9hdCBoYXMgYSBz
aGFwZSBvdXRzaWRlLgotICAgICAgICAgICAgICAgIHNldExvZ2ljYWxMZWZ0Rm9yQ2hpbGQoY2hp
bGRCb3gsIGZsb2F0TG9naWNhbExvY2F0aW9uLngoKSArIChoYXNTaGFwZU91dHNpZGUgPyBMYXlv
dXRVbml0KCkgOiBjaGlsZExvZ2ljYWxMZWZ0TWFyZ2luKSk7Ci0gICAgICAgICAgICAgICAgc2V0
TG9naWNhbFRvcEZvckNoaWxkKGNoaWxkQm94LCBmbG9hdExvZ2ljYWxMb2NhdGlvbi55KCkgKyAo
aGFzU2hhcGVPdXRzaWRlID8gTGF5b3V0VW5pdCgpIDogbWFyZ2luQmVmb3JlRm9yQ2hpbGQoY2hp
bGRCb3gpKSk7CisjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQorICAgICAgICAgICAgICAgIGlm
IChjaGlsZEJveC0+ZXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbygpKSB7CisgICAgICAgICAgICAg
ICAgICAgIC8vIFRoZSBDU1MgRXhjbHVzaW9ucyBzcGVjaWZpY2F0aW9uIHNheXMgdGhhdCB0aGUg
bWFyZ2lucyBhcmUgaWdub3JlZCB3aGVuIGEgZmxvYXQgaGFzIGEgc2hhcGUgb3V0c2lkZS4KKyAg
ICAgICAgICAgICAgICAgICAgc2V0TG9naWNhbExlZnRGb3JDaGlsZChjaGlsZEJveCwgZmxvYXRM
b2dpY2FsTG9jYXRpb24ueCgpIC0gY2hpbGRCb3gtPmV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8o
KS0+c2hhcGVMb2dpY2FsTGVmdCgpKTsKKyAgICAgICAgICAgICAgICAgICAgc2V0TG9naWNhbFRv
cEZvckNoaWxkKGNoaWxkQm94LCBmbG9hdExvZ2ljYWxMb2NhdGlvbi55KCkgLSBjaGlsZEJveC0+
ZXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbygpLT5zaGFwZUxvZ2ljYWxUb3AoKSk7CisgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKKyNlbmRpZgorICAgICAgICAgICAgICAgICAgICBzZXRMb2dpY2Fs
TGVmdEZvckNoaWxkKGNoaWxkQm94LCBmbG9hdExvZ2ljYWxMb2NhdGlvbi54KCkgKyBjaGlsZExv
Z2ljYWxMZWZ0TWFyZ2luKTsKKyAgICAgICAgICAgICAgICAgICAgc2V0TG9naWNhbFRvcEZvckNo
aWxkKGNoaWxkQm94LCBmbG9hdExvZ2ljYWxMb2NhdGlvbi55KCkgKyBtYXJnaW5CZWZvcmVGb3JD
aGlsZChjaGlsZEJveCkpOworI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICAgICAgICAg
ICAgICB9CisjZW5kaWYKKwogICAgICAgICAKICAgICAgICAgICAgICAgICBpZiAoY2hpbGRCbG9j
aykKICAgICAgICAgICAgICAgICAgICAgY2hpbGRCbG9jay0+c2V0Q2hpbGROZWVkc0xheW91dCh0
cnVlLCBNYXJrT25seVRoaXMpOwpAQCAtNDA1MSw4ICs0MDY2LDggQEAgYm9vbCBSZW5kZXJCbG9j
azo6cG9zaXRpb25OZXdGbG9hdHMoKQogCiAgICAgICAgIHNldExvZ2ljYWxUb3BGb3JGbG9hdChm
bG9hdGluZ09iamVjdCwgZmxvYXRMb2dpY2FsTG9jYXRpb24ueSgpKTsKICNpZiBFTkFCTEUoQ1NT
X0VYQ0xVU0lPTlMpCi0gICAgICAgIGlmIChoYXNTaGFwZU91dHNpZGUpCi0gICAgICAgICAgICBz
ZXRMb2dpY2FsSGVpZ2h0Rm9yRmxvYXQoZmxvYXRpbmdPYmplY3QsIGZsb2F0aW5nT2JqZWN0LT5y
ZW5kZXJlcigpLT5leGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKCktPnNoYXBlTG9naWNhbEhlaWdo
dCgpKTsKKyAgICAgICAgaWYgKGNoaWxkQm94LT5leGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKCkp
CisgICAgICAgICAgICBzZXRMb2dpY2FsSGVpZ2h0Rm9yRmxvYXQoZmxvYXRpbmdPYmplY3QsIGNo
aWxkQm94LT5leGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKCktPnNoYXBlTG9naWNhbEhlaWdodCgp
KTsKICAgICAgICAgZWxzZQogI2VuZGlmCiAgICAgICAgICAgICBzZXRMb2dpY2FsSGVpZ2h0Rm9y
RmxvYXQoZmxvYXRpbmdPYmplY3QsIGxvZ2ljYWxIZWlnaHRGb3JDaGlsZChjaGlsZEJveCkgKyBt
YXJnaW5CZWZvcmVGb3JDaGlsZChjaGlsZEJveCkgKyBtYXJnaW5BZnRlckZvckNoaWxkKGNoaWxk
Qm94KSk7CkBAIC00NTM0LDYgKzQ1NDksNyBAQCBMYXlvdXRVbml0IFJlbmRlckJsb2NrOjphZGRP
dmVyaGFuZ2luZ0Zsb2F0cyhSZW5kZXJCbG9jayogY2hpbGQsIGJvb2wgbWFrZUNoaWxkUAogICAg
ICAgICBMYXlvdXRVbml0IGxvZ2ljYWxCb3R0b20gPSBjaGlsZExvZ2ljYWxUb3AgKyBsb2dpY2Fs
Qm90dG9tRm9yRmxvYXQ7CiAgICAgICAgIGxvd2VzdEZsb2F0TG9naWNhbEJvdHRvbSA9IG1heChs
b3dlc3RGbG9hdExvZ2ljYWxCb3R0b20sIGxvZ2ljYWxCb3R0b20pOwogCisgICAgICAgIC8vIEZJ
WE1FOiBCdWcgMTA2OTI3IEhhbmRsZSBzaXR1YXRpb25zIHdoZXJlIGZsb2F0IGFuZCBzaGFwZS1v
dXRzaWRlIG92ZXJmbG93IGRpZmZlcmVudGx5LgogICAgICAgICBpZiAobG9naWNhbEJvdHRvbSA+
IGxvZ2ljYWxIZWlnaHQoKSkgewogICAgICAgICAgICAgLy8gSWYgdGhlIG9iamVjdCBpcyBub3Qg
aW4gdGhlIGxpc3QsIHdlIGFkZCBpdCBub3cuCiAgICAgICAgICAgICBpZiAoIWNvbnRhaW5zRmxv
YXQoci0+bV9yZW5kZXJlcikpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgK
aW5kZXggNzQ1MGVhOTcwNTkyYjdkMWU4OTZjM2M5NDliYTQyN2I5MDEyZjlkNi4uZGI5Y2NiM2I4
OWQ2NmMyMWIzYmQ3Njg1YjU3YTk3OWIyNTk3YWQ2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmgKQEAgLTY4OCw3ICs2ODgsMTQgQEAgcHJpdmF0ZToKICNlbmRpZgogICAg
IH07CiAKLSAgICBMYXlvdXRQb2ludCBmbGlwRmxvYXRGb3JXcml0aW5nTW9kZUZvckNoaWxkKGNv
bnN0IEZsb2F0aW5nT2JqZWN0KiwgY29uc3QgTGF5b3V0UG9pbnQmKSBjb25zdDsKKyAgICAvLyBX
aGVuIGEgZmxvYXQgaGFzIHNoYXBlIG91dHNpZGUsIGl0IG5lZWRzIHRvIGJlIGhhbmRsZWQgZGlm
ZmVyZW50bHkgYXQKKyAgICAvLyBwYWludCB0aW1lIGFuZCBhdCBsYXlvdXQgdGltZSwgc2luY2Ug
dGhlIGNvb3JkaW5hdGVzIG9mIHRoZSBzaGFwZQorICAgIC8vIChhZmZlY3RpbmcgbGF5b3V0KSBh
bmQgdGhlIGNvb3JkaW5hdGVzIG9mIHRoZSBmbG9hdCBpdHNlbGYgKGFmZmVjdGluZworICAgIC8v
IHdoZXJlIHRoZSBjb250ZW50IG9mIHRoZSBmbG9hdCBpcykgY2FuIGJlIGluIGRpZmZlcmVudCBw
bGFjZXMuIFRoaXMgZW51bQorICAgIC8vIGlzIHVzZWQgdG8gY2hhbmdlIGJlaGF2aW9yIGJhc2Vk
IG9uIHRoYXQgc3RhdGUuCisgICAgZW51bSBGbG9hdFJlbmRlcmluZ1N0YXRlIHsgRmxvYXRMYXlv
dXQsIEZsb2F0UGFpbnQgfTsKKworICAgIExheW91dFBvaW50IGZsaXBGbG9hdEZvcldyaXRpbmdN
b2RlRm9yQ2hpbGQoY29uc3QgRmxvYXRpbmdPYmplY3QqLCBjb25zdCBMYXlvdXRQb2ludCYsIEZs
b2F0UmVuZGVyaW5nU3RhdGUgPSBGbG9hdExheW91dCkgY29uc3Q7CiAKICAgICBMYXlvdXRVbml0
IGxvZ2ljYWxUb3BGb3JGbG9hdChjb25zdCBGbG9hdGluZ09iamVjdCogY2hpbGQpIGNvbnN0IHsg
cmV0dXJuIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBjaGlsZC0+eSgpIDogY2hpbGQtPngo
KTsgfQogICAgIExheW91dFVuaXQgbG9naWNhbEJvdHRvbUZvckZsb2F0KGNvbnN0IEZsb2F0aW5n
T2JqZWN0KiBjaGlsZCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/
IGNoaWxkLT5tYXhZKCkgOiBjaGlsZC0+bWF4WCgpOyB9CkBAIC03MzAsMTYgKzczNywzMCBAQCBw
cml2YXRlOgogICAgICAgICAgICAgY2hpbGQtPnNldEhlaWdodChsb2dpY2FsV2lkdGgpOwogICAg
IH0KIAotICAgIExheW91dFVuaXQgeFBvc2l0aW9uRm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4oY29u
c3QgRmxvYXRpbmdPYmplY3QqIGNoaWxkKSBjb25zdAorICAgIExheW91dFVuaXQgeFBvc2l0aW9u
Rm9yRmxvYXRJbmNsdWRpbmdNYXJnaW4oY29uc3QgRmxvYXRpbmdPYmplY3QqIGNoaWxkLCBGbG9h
dFJlbmRlcmluZ1N0YXRlIHJlbmRlcmluZ1N0YXRlID0gRmxvYXRMYXlvdXQpIGNvbnN0CiAgICAg
eworI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICAgICAgRXhjbHVzaW9uU2hhcGVPdXRz
aWRlSW5mbyAqc2hhcGVPdXRzaWRlID0gY2hpbGQtPnJlbmRlcmVyKCktPmV4Y2x1c2lvblNoYXBl
T3V0c2lkZUluZm8oKTsKKyAgICAgICAgaWYgKHJlbmRlcmluZ1N0YXRlID09IEZsb2F0UGFpbnQg
JiYgc2hhcGVPdXRzaWRlKQorICAgICAgICAgICAgcmV0dXJuIGNoaWxkLT54KCkgLSAoaXNIb3Jp
em9udGFsV3JpdGluZ01vZGUoKSA/IHNoYXBlT3V0c2lkZS0+c2hhcGVMb2dpY2FsTGVmdCgpIDog
c2hhcGVPdXRzaWRlLT5zaGFwZUxvZ2ljYWxUb3AoKSk7CisgICAgICAgIC8vIEZJWE1FOiBCdWcg
MTA2OTI4IFRoaXMgbmVlZHMgdG8gcHJvcGVybHkgaGFuZGxlIHRoZSBtYXJnaW4gZm9yIGZsb2F0
cyB3aXRoIHNoYXBlLW91dHNpZGUgZm9yIG5vbi1wYWludCB0aW1lLgorI2VuZGlmCisKICAgICAg
ICAgaWYgKGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCiAgICAgICAgICAgICByZXR1cm4gY2hp
bGQtPngoKSArIGNoaWxkLT5yZW5kZXJlcigpLT5tYXJnaW5MZWZ0KCk7CiAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgIHJldHVybiBjaGlsZC0+eCgpICsgbWFyZ2luQmVmb3JlRm9yQ2hpbGQoY2hp
bGQtPnJlbmRlcmVyKCkpOwogICAgIH0KICAgICAgICAgCi0gICAgTGF5b3V0VW5pdCB5UG9zaXRp
b25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihjb25zdCBGbG9hdGluZ09iamVjdCogY2hpbGQpIGNv
bnN0CisgICAgTGF5b3V0VW5pdCB5UG9zaXRpb25Gb3JGbG9hdEluY2x1ZGluZ01hcmdpbihjb25z
dCBGbG9hdGluZ09iamVjdCogY2hpbGQsIEZsb2F0UmVuZGVyaW5nU3RhdGUgcmVuZGVyaW5nU3Rh
dGUgPSBGbG9hdExheW91dCkgY29uc3QKICAgICB7CisjaWYgRU5BQkxFKENTU19FWENMVVNJT05T
KQorICAgICAgICBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvICpzaGFwZU91dHNpZGUgPSBjaGls
ZC0+cmVuZGVyZXIoKS0+ZXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbygpOworICAgICAgICBpZiAo
cmVuZGVyaW5nU3RhdGUgPT0gRmxvYXRQYWludCAmJiBzaGFwZU91dHNpZGUpCisgICAgICAgICAg
ICByZXR1cm4gY2hpbGQtPnkoKSAtIChpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gc2hhcGVP
dXRzaWRlLT5zaGFwZUxvZ2ljYWxUb3AoKSA6IHNoYXBlT3V0c2lkZS0+c2hhcGVMb2dpY2FsTGVm
dCgpKTsKKyAgICAgICAgLy8gRklYTUU6IEJ1ZyAxMDY5MjggVGhpcyBuZWVkcyB0byBwcm9wZXJs
eSBoYW5kbGUgdGhlIG1hcmdpbiBmb3IgZmxvYXRzIHdpdGggc2hhcGUtb3V0c2lkZS4KKyNlbmRp
ZgorCiAgICAgICAgIGlmIChpc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQogICAgICAgICAgICAg
cmV0dXJuIGNoaWxkLT55KCkgKyBtYXJnaW5CZWZvcmVGb3JDaGlsZChjaGlsZC0+cmVuZGVyZXIo
KSk7CiAgICAgICAgIGVsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiMDhlYzI5Yzc3YWYxMmY2NzE5MTJmNjFhMTU1N2Y2
M2YyMGNjMzE1Li5mY2RkM2E3MGZiYjFiOTFmYzI5NDc4N2RmM2U1ODNhNjc3ZTAyYTEzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDEtMjEgIEJlbSBKb25lcy1CZXkgIDxiam9uZXNiZUBh
ZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBFeGNsdXNpb25zXSBzaGFwZS1vdXRzaWRlIG9uIGZs
b2F0cyBmb3IgcmVjdGFuZ2xlIHNoYXBlcyBwb3NpdGlvbmluZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMzk5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0
c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtcG9zaXRpb25pbmctZXhwZWN0ZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRz
L3NoYXBlLW91dHNpZGUtZmxvYXRzLXBvc2l0aW9uaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0
cy1zaW1wbGUtcmVjdGFuZ2xlLWhvcml6b250YWwtbXVsdGlwbGUuaHRtbDoKKyAgICAgICAgICAg
IFRoaXMgdGVzdCBoYWQgaW5jb3JyZWN0IGNvb3JkaW5hdGVzIGZvciBzb21lIG9mIHRoZSBzaGFw
ZXMsIGNhdXNpbmcgdGhlbSB0byBicmVhayBub3cgdGhhdCB4IGFuZCB5IGFyZSBzdXBwb3J0ZWQg
Zm9yIHRoZSBzaGFwZXMuCisKIDIwMTMtMDEtMjEgIEJyaWFuIEhvbHQgIDxicmlhbi5ob2x0QHNh
bXN1bmcuY29tPgogCiAgICAgICAgIENvbnNvbGlkYXRlIGFuZCBydW4gQVJJQS1saXN0LWFuZC1s
aXN0aXRlbSBhY2Nlc3NpYmlsaXR5IHRlc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1wb3Np
dGlvbmluZy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBl
LW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXBvc2l0aW9uaW5nLWV4cGVjdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODczNGI0YjFjODEyZDZjZDliMDA5MDY1ZWY4Mjc5NTU3YTZkM2Y4
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1v
dXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1wb3NpdGlvbmluZy1leHBlY3RlZC5o
dG1sCkBAIC0wLDAgKzEsMTQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
IDxzdHlsZT4KKyAgICAuY29udGFpbmVyIHsKKyAgICAgIGZvbnQ6IDEwcHgvMSBBaGVtLCBzYW5z
LXNlcmlmOworICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKKyAgICAgIHdpZHRoOiA0MHB4
OworICAgICAgaGVpZ2h0OiA0MHB4OworICAgICAgbWFyZ2luOiA1MHB4OworICAgIH0KKyAgICAu
Y2hpbGQgeworICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgICB3aWR0aDogNDBw
eDsKKyAgICAgIGhlaWdodDogNDBweDsKKyAgICB9CisgICAgLmV4Y2x1c2lvbi1uZWdhdGl2ZS14
IHsKKyAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgIGxlZnQ6IDIwcHg7CisgICAgfQor
ICAgIC5leGNsdXNpb24tcG9zaXRpdmUteCB7CisgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cisg
ICAgICBsZWZ0OiAtMjBweDsKKyAgICB9CisgICAgLmV4Y2x1c2lvbi1uZWdhdGl2ZS15IHsKKyAg
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgIHRvcDogMjBweDsKKyAgICB9CisgICAgLmV4
Y2x1c2lvbi1wb3NpdGl2ZS15IHsKKyAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgIHRv
cDogLTIwcHg7CisgICAgfQorICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgIDxoMT48YSBo
cmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMzk5Ij5CdWcg
MTAwMzk5PC9hPjogW0NTUyBFeGNsdXNpb25zXSBzaGFwZS1vdXRzaWRlIG9uIGZsb2F0cyBmb3Ig
cmVjdGFuZ2xlIHNoYXBlcyBwb3NpdGlvbmluZzwvaDE+CisgIDxoMj5UaGUgZm9sbG93aW5nIHRl
c3RzIHNob3VsZCBoYXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUgdG8gdGhlIGxlZnQgb3IgdG8g
dGhlIHJpZ2h0IG9mIGEgZ3JlZW4gc3F1YXJlPC9oMj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVy
Ij4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdCIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1u
ZWdhdGl2ZS14Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5l
ciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24t
cG9zaXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWlu
ZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lv
bi1uZWdhdGl2ZS14Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRh
aW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0IiBjbGFzcz0iY2hpbGQgZXhjbHVz
aW9uLXBvc2l0aXZlLXgiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGgyPlRoZSBmb2xsb3dp
bmcgdGVzdHMgc2hvdWxkIGhhdmUgYSBzbWFsbCBibHVlIHJlY3RhbmdsZSBhYm92ZSBvciBiZWxv
dyBvZiBhIGdyZWVuIHNxdWFyZTwvaDI+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAg
PGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tbmVnYXRpdmUt
eSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAg
IDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZl
LXkiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAg
ICA8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tbmVnYXRp
dmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgor
ICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodCIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3Np
dGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxoMj5UaGUgZm9sbG93aW5nIHRlc3Rz
IHNob3VsZCBoYXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUgYWJvdmUgb3IgYmVsb3cgb2YgYSBn
cmVlbiBzcXVhcmU8L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5
bGU9ImZsb2F0OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7IiBjbGFz
cz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXkiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAg
PGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgLXdl
YmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1w
b3NpdGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5l
ciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAtd2Via2l0LXdyaXRpbmctbW9kZTog
dmVydGljYWwtcmw7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXkiPgorICAgIDwv
ZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxl
PSJmbG9hdDogcmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNz
PSJjaGlsZCBleGNsdXNpb24tcG9zaXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8
aDI+VGhlIGZvbGxvd2luZyB0ZXN0cyBzaG91bGQgaGF2ZSBhIHNtYWxsIGJsdWUgcmVjdGFuZ2xl
IHRvIHRoZSBsZWZ0IG9yIHRvIHRoZSByaWdodCBvZiBhIGdyZWVuIHNxdWFyZTwvaDI+CisgIDxk
aXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IC13ZWJr
aXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tbmVn
YXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIi
PgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVy
dGljYWwtcmw7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXgiPgorICAgIDwvZGl2
PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJm
bG9hdDogcmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJj
aGlsZCBleGNsdXNpb24tbmVnYXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsgLXdlYmtp
dC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3Np
dGl2ZS14Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxoMj5UaGUgZm9sbG93aW5nIHRlc3Rz
IHNob3VsZCBoYXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUgYWJvdmUgb3IgYmVsb3cgb2YgYSBn
cmVlbiBzcXVhcmU8L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5
bGU9ImZsb2F0OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7IiBjbGFz
cz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXkiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAg
PGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgLXdl
YmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1w
b3NpdGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5l
ciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAtd2Via2l0LXdyaXRpbmctbW9kZTog
dmVydGljYWwtbHI7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXkiPgorICAgIDwv
ZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxl
PSJmbG9hdDogcmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsiIGNsYXNz
PSJjaGlsZCBleGNsdXNpb24tcG9zaXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8
aDI+VGhlIGZvbGxvd2luZyB0ZXN0cyBzaG91bGQgaGF2ZSBhIHNtYWxsIGJsdWUgcmVjdGFuZ2xl
IHRvIHRoZSBsZWZ0IG9yIHRvIHRoZSByaWdodCBvZiBhIGdyZWVuIHNxdWFyZTwvaDI+CisgIDxk
aXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IC13ZWJr
aXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tbmVn
YXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIi
PgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVy
dGljYWwtbHI7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXgiPgorICAgIDwvZGl2
PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJm
bG9hdDogcmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsiIGNsYXNzPSJj
aGlsZCBleGNsdXNpb24tbmVnYXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsgLXdlYmtp
dC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3Np
dGl2ZS14Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxoMj5UaGUgZm9sbG93aW5nIHRlc3Qg
ZW5zdXJlcyB0aGF0IHRoaW5ncyByZW5kZXIgY29ycmVjdGx5IHVzaW5nIHRoZSBhY2NlbGVyYXRl
ZCBwYWludGluZyBmbG93LiBJdCBzaG91bGQgaGF2ZSBhIHNtYWxsIGJsdWUgcmVjdGFuZ2xlIHRv
IHRoZSByaWdodCBvZiBhIGdyZWVuIHNxdWFyZTwvaDI+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5l
ciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFu
c2xhdGVaKDFweCk7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXgiPgorICAgIDwv
ZGl2PgorICA8L2Rpdj4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXhj
bHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1wb3NpdGlv
bmluZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxv
YXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXBvc2l0aW9uaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTY3
ZDNlMzUyMWNiNzYyMTNhOTg0NTNlMTExZTRiOGVjOWE0Mzg4OAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1v
dXRzaWRlLWZsb2F0cy1wb3NpdGlvbmluZy5odG1sCkBAIC0wLDAgKzEsMTQ0IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgIDxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCisgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU0V4Y2x1c2lvbnNF
bmFibGVkKHRydWUpOworICA8L3NjcmlwdD4KKyAgPHN0eWxlPgorICAgIC5jb250YWluZXIgewor
ICAgICAgZm9udDogMTBweC8xIEFoZW0sIHNhbnMtc2VyaWY7CisgICAgICBiYWNrZ3JvdW5kLWNv
bG9yOiBibHVlOworICAgICAgd2lkdGg6IDQwcHg7CisgICAgICBoZWlnaHQ6IDQwcHg7CisgICAg
ICBtYXJnaW46IDUwcHg7CisgICAgfQorICAgIC5jaGlsZCB7CisgICAgICBiYWNrZ3JvdW5kLWNv
bG9yOiBncmVlbjsKKyAgICAgIHdpZHRoOiA0MHB4OworICAgICAgaGVpZ2h0OiA0MHB4OworICAg
IH0KKyAgICAuZXhjbHVzaW9uLW5lZ2F0aXZlLXggeworICAgICAgLXdlYmtpdC1zaGFwZS1vdXRz
aWRlOiByZWN0YW5nbGUoLTIwcHgsIDAsIDQwcHgsIDQwcHgpOworICAgIH0KKyAgICAuZXhjbHVz
aW9uLXBvc2l0aXZlLXggeworICAgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiByZWN0YW5nbGUo
MjBweCwgMCwgNDBweCwgNDBweCk7CisgICAgfQorICAgIC5leGNsdXNpb24tbmVnYXRpdmUteSB7
CisgICAgICAtd2Via2l0LXNoYXBlLW91dHNpZGU6IHJlY3RhbmdsZSgwLCAtMjBweCwgNDBweCwg
NDBweCk7CisgICAgfQorICAgIC5leGNsdXNpb24tcG9zaXRpdmUteSB7CisgICAgICAtd2Via2l0
LXNoYXBlLW91dHNpZGU6IHJlY3RhbmdsZSgwLCAyMHB4LCA0MHB4LCA0MHB4KTsKKyAgICB9Cisg
IDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPGgxPjxhIGhyZWY9Imh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAzOTkiPkJ1ZyAxMDAzOTk8L2E+OiBbQ1NTIEV4
Y2x1c2lvbnNdIHNoYXBlLW91dHNpZGUgb24gZmxvYXRzIGZvciByZWN0YW5nbGUgc2hhcGVzIHBv
c2l0aW9uaW5nPC9oMT4KKyAgPGgyPlRoZSBmb2xsb3dpbmcgdGVzdHMgc2hvdWxkIGhhdmUgYSBz
bWFsbCBibHVlIHJlY3RhbmdsZSB0byB0aGUgbGVmdCBvciB0byB0aGUgcmlnaHQgb2YgYSBncmVl
biBzcXVhcmU8L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9
ImZsb2F0OiBsZWZ0IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXgiPgorICAgIDwv
ZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxl
PSJmbG9hdDogbGVmdCIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1wb3NpdGl2ZS14Ij4KKyAgICA8
L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHls
ZT0iZmxvYXQ6IHJpZ2h0IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLW5lZ2F0aXZlLXgiPgorICAg
IDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0
eWxlPSJmbG9hdDogcmlnaHQiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tcG9zaXRpdmUteCI+Cisg
ICAgPC9kaXY+CisgIDwvZGl2PgorICA8aDI+VGhlIGZvbGxvd2luZyB0ZXN0cyBzaG91bGQgaGF2
ZSBhIHNtYWxsIGJsdWUgcmVjdGFuZ2xlIGFib3ZlIG9yIGJlbG93IG9mIGEgZ3JlZW4gc3F1YXJl
PC9oMj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDog
bGVmdCIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAg
PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6
IGxlZnQiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24tcG9zaXRpdmUteSI+CisgICAgPC9kaXY+Cisg
IDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0
OiByaWdodCIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS15Ij4KKyAgICA8L2Rpdj4K
KyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxv
YXQ6IHJpZ2h0IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXkiPgorICAgIDwvZGl2
PgorICA8L2Rpdj4KKyAgPGgyPlRoZSBmb2xsb3dpbmcgdGVzdHMgc2hvdWxkIGhhdmUgYSBzbWFs
bCBibHVlIHJlY3RhbmdsZSBhYm92ZSBvciBiZWxvdyBvZiBhIGdyZWVuIHNxdWFyZTwvaDI+Cisg
IDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IC13
ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24t
bmVnYXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWlu
ZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9kZTog
dmVydGljYWwtcmw7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXgiPgorICAgIDwv
ZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxl
PSJmbG9hdDogcmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNz
PSJjaGlsZCBleGNsdXNpb24tbmVnYXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8
ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsgLXdl
YmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1w
b3NpdGl2ZS14Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxoMj5UaGUgZm9sbG93aW5nIHRl
c3RzIHNob3VsZCBoYXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUgdG8gdGhlIGxlZnQgb3IgdG8g
dGhlIHJpZ2h0IG9mIGEgZ3JlZW4gc3F1YXJlPC9oMj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVy
Ij4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZl
cnRpY2FsLXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS15Ij4KKyAgICA8L2Rp
dj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0i
ZmxvYXQ6IGxlZnQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsiIGNsYXNzPSJj
aGlsZCBleGNsdXNpb24tcG9zaXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsgLXdlYmtp
dC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdh
dGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+
CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVy
dGljYWwtcmw7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXkiPgorICAgIDwvZGl2
PgorICA8L2Rpdj4KKyAgPGgyPlRoZSBmb2xsb3dpbmcgdGVzdHMgc2hvdWxkIGhhdmUgYSBzbWFs
bCBibHVlIHJlY3RhbmdsZSBhYm92ZSBvciBiZWxvdyBvZiBhIGdyZWVuIHNxdWFyZTwvaDI+Cisg
IDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IC13
ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsiIGNsYXNzPSJjaGlsZCBleGNsdXNpb24t
bmVnYXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJjb250YWlu
ZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyAtd2Via2l0LXdyaXRpbmctbW9kZTog
dmVydGljYWwtbHI7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXgiPgorICAgIDwv
ZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxl
PSJmbG9hdDogcmlnaHQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsiIGNsYXNz
PSJjaGlsZCBleGNsdXNpb24tbmVnYXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8
ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsgLXdl
YmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1w
b3NpdGl2ZS14Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxoMj5UaGUgZm9sbG93aW5nIHRl
c3RzIHNob3VsZCBoYXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUgdG8gdGhlIGxlZnQgb3IgdG8g
dGhlIHJpZ2h0IG9mIGEgZ3JlZW4gc3F1YXJlPC9oMj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVy
Ij4KKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZl
cnRpY2FsLWxyOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdhdGl2ZS15Ij4KKyAgICA8L2Rp
dj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0i
ZmxvYXQ6IGxlZnQ7IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsiIGNsYXNzPSJj
aGlsZCBleGNsdXNpb24tcG9zaXRpdmUteSI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9ImZsb2F0OiByaWdodDsgLXdlYmtp
dC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyOyIgY2xhc3M9ImNoaWxkIGV4Y2x1c2lvbi1uZWdh
dGl2ZS15Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+
CisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVy
dGljYWwtbHI7IiBjbGFzcz0iY2hpbGQgZXhjbHVzaW9uLXBvc2l0aXZlLXkiPgorICAgIDwvZGl2
PgorICA8L2Rpdj4KKyAgPGgyPlRoZSBmb2xsb3dpbmcgdGVzdCBlbnN1cmVzIHRoYXQgdGhpbmdz
IHJlbmRlciBjb3JyZWN0bHkgdXNpbmcgdGhlIGFjY2VsZXJhdGVkIHBhaW50aW5nIGZsb3cuIEl0
IHNob3VsZCBoYXZlIGEgc21hbGwgYmx1ZSByZWN0YW5nbGUgdG8gdGhlIHJpZ2h0IG9mIGEgZ3Jl
ZW4gc3F1YXJlPC9oMj4KKyAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IHN0eWxl
PSJmbG9hdDogbGVmdDsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMXB4KTsiIGNsYXNz
PSJjaGlsZCBleGNsdXNpb24tbmVnYXRpdmUteCI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNp
ZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXNpbXBsZS1yZWN0YW5nbGUtaG9yaXpvbnRh
bC1tdWx0aXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNp
ZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXNpbXBsZS1yZWN0YW5nbGUtaG9yaXpvbnRh
bC1tdWx0aXBsZS5odG1sCmluZGV4IDc3NmUzYmNhNTQ5ZmUzNGU1ZjljZDhmMjNkZjg1OWZiOTc3
OTU1YTEuLjNhN2VjY2Q5ZWJiNGYxZjQ1YTViYWRiMjFmNzk5ZGMxZjBlZDUzMTUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFw
ZS1vdXRzaWRlLWZsb2F0cy1zaW1wbGUtcmVjdGFuZ2xlLWhvcml6b250YWwtbXVsdGlwbGUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMv
c2hhcGUtb3V0c2lkZS1mbG9hdHMtc2ltcGxlLXJlY3RhbmdsZS1ob3Jpem9udGFsLW11bHRpcGxl
Lmh0bWwKQEAgLTM3LDcgKzM3LDcgQEAKICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47
CiAgICAgfQogICAgIC5mbG9hdC1yaWdodC1leGNsdXNpb24gewotICAgICAgICAtd2Via2l0LXNo
YXBlLW91dHNpZGU6IHJlY3RhbmdsZSgxMHB4LCAwcHgsIDEwcHgsIDIwcHgpOworICAgICAgICAt
d2Via2l0LXNoYXBlLW91dHNpZGU6IHJlY3RhbmdsZSgwcHgsIDBweCwgMTBweCwgMjBweCk7CiAg
ICAgICAgIGZsb2F0OiByaWdodDsKICAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgICB3aWR0
aDogMjBweDsKQEAgLTQ5LDcgKzQ5LDcgQEAKICAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgfQog
ICAgIC5mbG9hdC1yaWdodC12ZXJ0aWNhbC1leGNsdXNpb24gewotICAgICAgICAtd2Via2l0LXNo
YXBlLW91dHNpZGU6IHJlY3RhbmdsZSgwcHgsIDEwcHgsIDIwcHgsIDEwcHgpOworICAgICAgICAt
d2Via2l0LXNoYXBlLW91dHNpZGU6IHJlY3RhbmdsZSgwcHgsIDBweCwgMjBweCwgMTBweCk7CiAg
ICAgICAgIGZsb2F0OiByaWdodDsKICAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgICB3aWR0
aDogMjBweDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>