<?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>89624</bug_id>
          
          <creation_ts>2012-06-20 17:59:36 -0700</creation_ts>
          <short_desc>Add parsing and style application for css3-images image-orientation</short_desc>
          <delta_ts>2013-01-30 15:52:41 -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://www.w3.org/TR/2012/CR-css3-images-20120417/#the-image-orientation</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>89055</dependson>
          <blocked>89052</blocked>
    
    <blocked>91566</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Barr">davidbarr</reporter>
          <assigned_to name="David Barr">davidbarr</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>eric</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mikelawther</cc>
    
    <cc>rakuco</cc>
    
    <cc>roger_fong</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>654075</commentid>
    <comment_count>0</comment_count>
    <who name="David Barr">davidbarr</who>
    <bug_when>2012-06-20 17:59:36 -0700</bug_when>
    <thetext>Add image-orientation support to WebKit (parsing and style application.)
http://www.w3.org/TR/2012/CR-css3-images-20120417/#the-image-orientation

The css3-images module is at candidate recommendation.

I propose to introduce the property initially behind a compile flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654158</commentid>
    <comment_count>1</comment_count>
      <attachid>148711</attachid>
    <who name="David Barr">davidbarr</who>
    <bug_when>2012-06-20 19:15:13 -0700</bug_when>
    <thetext>Created attachment 148711
Patch

Pending compile-time flag landing, start implementing image-orientation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654598</commentid>
    <comment_count>2</comment_count>
      <attachid>148711</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-06-21 09:33:30 -0700</bug_when>
    <thetext>Comment on attachment 148711
Patch

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

Please email webkit-dev about this new feature.

&gt; Source/WebCore/rendering/style/StyleRareInheritedData.h:99
&gt; +    unsigned m_imageOrientation : 2; // Quarter turns

Since there are only 4 possible values, I would just make this an enum.  It&apos;ll be easier to understand the code rather than knowing that 1 == 90deg, 2 == 180deg and 3 == 270deg.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655052</commentid>
    <comment_count>3</comment_count>
    <who name="David Barr">davidbarr</who>
    <bug_when>2012-06-21 17:18:46 -0700</bug_when>
    <thetext>&gt; Please email webkit-dev about this new feature.

From bug 89052, advertised on webkit-dev:
http://thread.gmane.org/gmane.os.opendarwin.webkit.devel/21130

&gt; &gt; Source/WebCore/rendering/style/StyleRareInheritedData.h:99
&gt; &gt; +    unsigned m_imageOrientation : 2; // Quarter turns
&gt; 
&gt; Since there are only 4 possible values, I would just make this an enum.  It&apos;ll be easier to understand the code rather than knowing that 1 == 90deg, 2 == 180deg and 3 == 270deg.

How about enum QuarterTurn { NoTurn = 0, TurnRight, TurnHalf, TurnLeft}; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655142</commentid>
    <comment_count>4</comment_count>
    <who name="David Barr">davidbarr</who>
    <bug_when>2012-06-21 18:59:41 -0700</bug_when>
    <thetext>There is an existing ImageOrientationEnum in Source/WebCore/platform/graphics/ImageOrientation.h. This contains the values in this specification plus the additional flipped variants in EXIF.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655230</commentid>
    <comment_count>5</comment_count>
      <attachid>148960</attachid>
    <who name="David Barr">davidbarr</who>
    <bug_when>2012-06-21 21:53:06 -0700</bug_when>
    <thetext>Created attachment 148960
Patch

Rewrote patch to use ImageOrientationEnum.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671044</commentid>
    <comment_count>6</comment_count>
      <attachid>152705</attachid>
    <who name="David Barr">davidbarr</who>
    <bug_when>2012-07-17 00:20:48 -0700</bug_when>
    <thetext>Created attachment 152705
Patch

Rebased against r122813: &lt;http://trac.webkit.org/changeset/122813&gt;. Updated ChangeLogs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671329</commentid>
    <comment_count>7</comment_count>
      <attachid>152705</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-07-17 09:50:42 -0700</bug_when>
    <thetext>Comment on attachment 152705
Patch

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

&gt; Source/WebCore/css/CSSPrimitiveValueMappings.h:4134
&gt; +    default:
&gt; +        ASSERT_NOT_REACHED();

Nit: Since there are only 9 values, I would just list the other 5 here and omit the default: case.  This will allow the compiler to give a warning if someone adds a value to ImageOrientationEnum and doesn&apos;t know to update this switch.

&gt; Source/WebCore/rendering/style/RenderStyle.h:1670
&gt; +    static ImageOrientationEnum initialImageOrientation() { return DefaultImageOrientation; }

I would probably use OriginTopLeft explicitly since this doesn&apos;t depend on the exif spec.

&gt; Source/WebCore/rendering/style/StyleRareInheritedData.h:99
&gt; +    unsigned m_imageOrientation : 3; // ImageOrientationEnum - 1

Why ImageOrientationEnum - 1 ? To save a bit? I would just use the extra bit to avoid the possible human error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671536</commentid>
    <comment_count>8</comment_count>
      <attachid>152705</attachid>
    <who name="David Barr">davidbarr</who>
    <bug_when>2012-07-17 13:34:34 -0700</bug_when>
    <thetext>Comment on attachment 152705
Patch

On second thoughts, will address the nits and upload a patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671600</commentid>
    <comment_count>9</comment_count>
      <attachid>152831</attachid>
    <who name="David Barr">davidbarr</who>
    <bug_when>2012-07-17 14:26:45 -0700</bug_when>
    <thetext>Created attachment 152831
Patch for landing

Addressed nits, prepared for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671602</commentid>
    <comment_count>10</comment_count>
      <attachid>152833</attachid>
    <who name="David Barr">davidbarr</who>
    <bug_when>2012-07-17 14:29:01 -0700</bug_when>
    <thetext>Created attachment 152833
Patch for landing

Fixed minor whitespace damage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671719</commentid>
    <comment_count>11</comment_count>
      <attachid>152833</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-17 16:23:47 -0700</bug_when>
    <thetext>Comment on attachment 152833
Patch for landing

Clearing flags on attachment: 152833

Committed r122895: &lt;http://trac.webkit.org/changeset/122895&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671720</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-17 16:23:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820371</commentid>
    <comment_count>13</comment_count>
      <attachid>152833</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-01-30 11:43:59 -0800</bug_when>
    <thetext>Comment on attachment 152833
Patch for landing

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

&gt; LayoutTests/fast/css/image-orientation/image-orientation.html:23
&gt; +        shouldBe(&apos;p.style.cssText&apos;, &apos;&quot;image-orientation: &apos; + test + &apos;; &quot;&apos;);

The GTK port at the moment enables this feature, but fails the layout test due to the trailing whitespace that&apos;s expected in this assertion.
I&apos;ve also enabled the feature on ToT Chromium Linux port and the same whitespace is again making the test fail (the values are otherwise correct, and the feature is disabled on Chromium while the test is skipped).

Do you remember the reasoning behind the whitespace here? Can/Should it be removed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820385</commentid>
    <comment_count>14</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-30 11:59:24 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 152833 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=152833&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/css/image-orientation/image-orientation.html:23
&gt; &gt; +        shouldBe(&apos;p.style.cssText&apos;, &apos;&quot;image-orientation: &apos; + test + &apos;; &quot;&apos;);
&gt; 
&gt; The GTK port at the moment enables this feature, but fails the layout test due to the trailing whitespace that&apos;s expected in this assertion.
&gt; I&apos;ve also enabled the feature on ToT Chromium Linux port and the same whitespace is again making the test fail (the values are otherwise correct, and the feature is disabled on Chromium while the test is skipped).
&gt; 
&gt; Do you remember the reasoning behind the whitespace here? Can/Should it be removed?

I don&apos;t remember why the whitespace is there.  Feel free to remove it and update the expected results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820727</commentid>
    <comment_count>15</comment_count>
    <who name="David Barr">davidbarr</who>
    <bug_when>2013-01-30 15:52:41 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; &gt; LayoutTests/fast/css/image-orientation/image-orientation.html:23
&gt; &gt; +        shouldBe(&apos;p.style.cssText&apos;, &apos;&quot;image-orientation: &apos; + test + &apos;; &quot;&apos;);
&gt;
&gt; Do you remember the reasoning behind the whitespace here? Can/Should it be removed?

The whitespace was an artefact of bug 94633 which has since been fixed. It should be removed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148711</attachid>
            <date>2012-06-20 19:15:13 -0700</date>
            <delta_ts>2012-06-21 21:52:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89624-20120621121511.patch</filename>
            <type>text/plain</type>
            <size>22170</size>
            <attacher name="David Barr">davidbarr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwODkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzJiMjllZDM4YzVjODdm
OWEwZmUwYTMzNjQxMzRmMDFmYzBjNzViOC4uYzkzZjI0N2M5Y2ZkZDgyMjdiNjkxNDZiZDBiNjU1
NTgyMTRmYjE3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA2LTIwICBEYXZp
ZCBCYXJyICA8ZGF2aWRiYXJyQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgcGFyc2luZyBh
bmQgc3R5bGUgYXBwbGljYXRpb24gZm9yIGNzczMtaW1hZ2VzIGltYWdlLW9yaWVudGF0aW9uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTYyNAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3Qv
Y3NzL2ltYWdlLW9yaWVudGF0aW9uL2ltYWdlLW9yaWVudGF0aW9uLmh0bWwKKworICAgICAgICAq
IGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOiBBZGQgY29tcHV0ZWQgc3R5bGUg
Zm9yIGltYWdlLW9yaWVudGF0aW9uLgorICAgICAgICAoV2ViQ29yZSk6IEFkZCBDU1NQcm9wZXJ0
eUltYWdlT3JpZW50YXRpb24gdG8gY29tcHV0ZWRQcm9wZXJ0aWVzLgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKTogTWFw
IENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbiB0byBwcmltaXRpdmUgdmFsdWUgaW4gIENTU19E
RUcuCisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6IEFkZCBwYXJzaW5nIHJ1bGUgZm9yIGlt
YWdlLW9yaWVudGF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVl
KTogUGFyc2UgdGhlIHZhbHVlIG9mIENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbiBhcyBhbiBh
bmdsZS4KKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOiBBZGQgQ1NTUHJvcGVydHlJbWFn
ZU9yaWVudGF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVk
UHJvcGVydHkpOiBNYXAgQ1NTUHJvcGVydHlJbWFnZU9yaWVudGF0aW9uIGluaGVyaXRlZC4KKyAg
ICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjogQWRkIGltYWdlLW9yaWVudGF0aW9uLgor
ICAgICAgICAqIGNzcy9TdHlsZUJ1aWxkZXIuY3BwOiBBZGQgc3R5bGUgYXBwbGljYXRpb24gbG9n
aWMgZm9yIENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbi4KKyAgICAgICAgKFdlYkNvcmUpOiBB
ZGQgQXBwbHlQcm9wZXJ0eUltYWdlT3JpZW50YXRpb24uCisgICAgICAgIChBcHBseVByb3BlcnR5
SW1hZ2VPcmllbnRhdGlvbik6IEFkZCBoYW5kbGVyIGZvciBpbWFnZS1vcmllbnRhdGlvbiBwcm9w
ZXJ0eS4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlJbWFnZU9yaWVudGF0aW9uOjph
cHBseVZhbHVlKTogUm91bmQgYXdheSBmcm9tIHplcm8gdG8gcXVhcnRlciB0dXJucy4KKyAgICAg
ICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlJbWFnZU9yaWVudGF0aW9uOjpjcmVhdGVIYW5kbGVy
KTogRXh0ZW5kIEFwcGx5UHJvcGVydHlEZWZhdWx0QmFzZSB3aXRoIGN1c3RvbSBhcHBseVZhbHVl
LgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyOjpTdHlsZUJ1aWxkZXIpOiBNYXAgQ1NT
UHJvcGVydHlJbWFnZU9yaWVudGF0aW9uIHRvIEFwcGx5UHJvcGVydHlJbWFnZU9yaWVudGF0aW9u
LgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDogSGFuZGxlIENTU1Byb3BlcnR5SW1h
Z2VPcmllbnRhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJv
cGVydHkpOiBFeHBlY3QgQ1NTUHJvcGVydHlJbWFnZU9yaWVudGF0aW9uIHRvIGJlIGhhbmRsZWQg
YnkgU3R5bGVCdWlsZGVyLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
OiBBZGQgaW1hZ2VPcmllbnRhdGlvbiwgc2V0SW1hZ2VPcmllbnRhdGlvbiBhbmQgaW5pdGlhbElt
YWdlT3JpZW50YXRpb24uCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVy
aXRlZERhdGEuY3BwOiBBZGQgbV9pbWFnZU9yaWVudGF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSk6IEFkZCBtX2lt
YWdlT3JpZW50YXRpb24gdG8gZGVmYXVsdCBhbmQgY29weSBjb250cnVjdG9ycy4KKyAgICAgICAg
KFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0pOiBJbmNsdWRlIG1f
aW1hZ2VPcmllbnRhdGlvbiBpbiBjb21wYXJpc29uLgorICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmg6IEFkZCBtX2ltYWdlT3JpZW50YXRpb24uCisgICAg
ICAgIChTdHlsZVJhcmVJbmhlcml0ZWREYXRhKTogQWRkIDItYml0IGZpZWxkIGluIHF1YXJ0ZXIg
dHVybnMsIG1faW1hZ2VPcmllbnRhdGlvbi4KKwogMjAxMi0wNi0xOSAgQW5kcmV5IEtvc3lha292
ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlZHVjZSB0
aW1lbGluZSByZWZyZXNoIHJhdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggNjA4MmEyMzgwODk1YWVlODI0ZGZhYTNhOTBj
Yzc4NTlkOGNjN2NiNS4uOTJlYjdkNjE1YzhiNTkzNGE1NDcxY2QyNDc1ZGQxMjQ1N2FkZmIwMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAKQEAgLTEyNCw2ICsxMjQsOSBAQCBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBjb21w
dXRlZFByb3BlcnRpZXNbXSA9IHsKICAgICBDU1NQcm9wZXJ0eUZvbnRWYXJpYW50LAogICAgIENT
U1Byb3BlcnR5Rm9udFdlaWdodCwKICAgICBDU1NQcm9wZXJ0eUhlaWdodCwKKyNpZiBFTkFCTEUo
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKQorICAgIENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbiwK
KyNlbmRpZgogICAgIENTU1Byb3BlcnR5SW1hZ2VSZW5kZXJpbmcsCiAjaWYgRU5BQkxFKENTU19J
TUFHRV9SRVNPTFVUSU9OKQogICAgIENTU1Byb3BlcnR5SW1hZ2VSZXNvbHV0aW9uLApAQCAtMTc3
OCw2ICsxNzgxLDEwIEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0CiAgICAgICAgICAgICBpZiAo
c3R5bGUtPmJvcmRlckZpdCgpID09IEJvcmRlckZpdEJvcmRlcikKICAgICAgICAgICAgICAgICBy
ZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQm9yZGVy
KTsKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFs
dWUoQ1NTVmFsdWVMaW5lcyk7CisjaWYgRU5BQkxFKENTU19JTUFHRV9PUklFTlRBVElPTikKKyAg
ICAgICAgY2FzZSBDU1NQcm9wZXJ0eUltYWdlT3JpZW50YXRpb246CisgICAgICAgICAgICByZXR1
cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlVmFsdWUoc3R5bGUtPmltYWdlT3JpZW50YXRpb24oKSAq
IDkwLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0RFRyk7CisjZW5kaWYKICAgICAgICAgY2FzZSBD
U1NQcm9wZXJ0eUltYWdlUmVuZGVyaW5nOgogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2
ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPmltYWdlUmVuZGVyaW5nKCkpOwogI2lmIEVOQUJMRShDU1Nf
SU1BR0VfUkVTT0xVVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggNjM3ODM1OTZi
MzI3YzM3ZDc0YzkyNjQ3MmZhNjQ0ODRhMWUxNTQyMi4uZDQ3YmEwMTYyZGRjYjhhY2UzMjQ0ZDdm
Zjg2NmRjYzdjYjA3YWQ3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTI1ODUsNiAr
MjU4NSwxMSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJ
ZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFdyYXA6CiAgICAg
ICAgIHJldHVybiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpjc3NFeGNsdXNpb25zRW5hYmxlZCgp
ICYmIHBhcnNlU2hvcnRoYW5kKHByb3BJZCwgd2Via2l0V3JhcFNob3J0aGFuZCgpLCBpbXBvcnRh
bnQpOwogI2VuZGlmCisjaWYgRU5BQkxFKENTU19JTUFHRV9PUklFTlRBVElPTikKKyAgICBjYXNl
IENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbjoKKyAgICAgICAgdmFsaWRQcmltaXRpdmUgPSAh
aWQgJiYgdmFsaWRVbml0KHZhbHVlLCBGQW5nbGUpOworICAgICAgICBicmVhazsKKyNlbmRpZgog
I2lmIEVOQUJMRShDU1NfSU1BR0VfUkVTT0xVVElPTikKICAgICBjYXNlIENTU1Byb3BlcnR5SW1h
Z2VSZXNvbHV0aW9uOgogICAgICAgICBwYXJzZWRWYWx1ZSA9IHBhcnNlSW1hZ2VSZXNvbHV0aW9u
KG1fdmFsdWVMaXN0LmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCmluZGV4IDdh
M2Q3MTU0ZDk0MzA2MjY0NmEyMjgzNjhiYzEwMDA2YWVhYmRiZmMuLjg0MzNlMWQ3ODBhZTgzMjkz
YWY2NDcyNjRkZjMzYTMxOGRiNjY3YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcApA
QCAtMjY3LDYgKzI2Nyw5IEBAIGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHko
Q1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKQogICAgIGNhc2UgQ1NTUHJvcGVydHlGb250U3R5bGU6
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZvbnRWYXJpYW50OgogICAgIGNhc2UgQ1NTUHJvcGVydHlG
b250V2VpZ2h0OgorI2lmIEVOQUJMRShDU1NfSU1BR0VfT1JJRU5UQVRJT04pCisgICAgY2FzZSBD
U1NQcm9wZXJ0eUltYWdlT3JpZW50YXRpb246CisjZW5kaWYKICAgICBjYXNlIENTU1Byb3BlcnR5
SW1hZ2VSZW5kZXJpbmc6CiAjaWYgRU5BQkxFKENTU19JTUFHRV9SRVNPTFVUSU9OKQogICAgIGNh
c2UgQ1NTUHJvcGVydHlJbWFnZVJlc29sdXRpb246CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0
eU5hbWVzLmluCmluZGV4IGNhYWFmMGVjYTNhOGY3MTkzZmQ0NWE5MjAwOTA4Nzg3MTYxYWVmMzEu
LmMzNTAxZDI0YzllZTRmYmRlZGM1YzVlY2M2NmZmMzIyZTA5MzBhMzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC0xMDMsNiArMTAzLDkgQEAgZW1wdHktY2VsbHMK
IGZsb2F0CiBmb250LXN0cmV0Y2gKIGhlaWdodAorI2lmIGRlZmluZWQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJiYgRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTgoraW1hZ2Utb3Jp
ZW50YXRpb24KKyNlbmRpZgogaW1hZ2UtcmVuZGVyaW5nCiAjaWYgZGVmaW5lZChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICYmIEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTgogaW1hZ2Ut
cmVzb2x1dGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcAppbmRleCAyYWIyNjlkYWMy
NzVhYzI2NTJhMjdjNjg4MjQwNGVkNmE1YmFiMGQ5Li5lM2FkNmRkYWE5MzE4NWFmZTQ2ZTYxYWJl
NTI1NmI3MzFkMGNiZmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWls
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcApAQCAtMTc3
OSw2ICsxNzc5LDMyIEBAIHByaXZhdGU6CiAKIH07CiAKKyNpZiBFTkFCTEUoQ1NTX0lNQUdFX09S
SUVOVEFUSU9OKQorY2xhc3MgQXBwbHlQcm9wZXJ0eUltYWdlT3JpZW50YXRpb24geworcHVibGlj
OgorICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWUoU3R5bGVSZXNvbHZlciogc3R5bGVSZXNvbHZl
ciwgQ1NTVmFsdWUqIHZhbHVlKQorICAgIHsKKyAgICAgICAgaWYgKCF2YWx1ZS0+aXNQcmltaXRp
dmVWYWx1ZSgpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIENTU1ByaW1pdGl2ZVZh
bHVlKiBwcmltaXRpdmVWYWx1ZSA9IHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4odmFs
dWUpOworCisgICAgICAgIGlmICghcHJpbWl0aXZlVmFsdWUtPmlzQW5nbGUoKSkKKyAgICAgICAg
ICAgIHJldHVybjsKKworICAgICAgICBkb3VibGUgcXVhcnRlcnMgPSA0ICogcHJpbWl0aXZlVmFs
dWUtPmdldERvdWJsZVZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVFVSTik7CisgICAgICAg
IGludCBvcmllbnRhdGlvbiA9IDMgJiBzdGF0aWNfY2FzdDxpbnQ+KHF1YXJ0ZXJzIDwgMCA/IGZs
b29yKHF1YXJ0ZXJzKSA6IGNlaWwocXVhcnRlcnMpKTsKKyAgICAgICAgc3R5bGVSZXNvbHZlci0+
c3R5bGUoKS0+c2V0SW1hZ2VPcmllbnRhdGlvbihvcmllbnRhdGlvbik7CisgICAgfQorCisgICAg
c3RhdGljIFByb3BlcnR5SGFuZGxlciBjcmVhdGVIYW5kbGVyKCkKKyAgICB7CisgICAgICAgIFBy
b3BlcnR5SGFuZGxlciBoYW5kbGVyID0gQXBwbHlQcm9wZXJ0eURlZmF1bHRCYXNlPGludCwgJlJl
bmRlclN0eWxlOjppbWFnZU9yaWVudGF0aW9uLCBpbnQsICZSZW5kZXJTdHlsZTo6c2V0SW1hZ2VP
cmllbnRhdGlvbiwgaW50LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxJbWFnZU9yaWVudGF0aW9uPjo6
Y3JlYXRlSGFuZGxlcigpOworICAgICAgICByZXR1cm4gUHJvcGVydHlIYW5kbGVyKGhhbmRsZXIu
aW5oZXJpdEZ1bmN0aW9uKCksIGhhbmRsZXIuaW5pdGlhbEZ1bmN0aW9uKCksICZhcHBseVZhbHVl
KTsKKyAgICB9Cit9OworI2VuZGlmCisKICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJT04p
CiBjbGFzcyBBcHBseVByb3BlcnR5SW1hZ2VSZXNvbHV0aW9uIHsKIHB1YmxpYzoKQEAgLTE4OTcs
NiArMTkyMyw5IEBAIFN0eWxlQnVpbGRlcjo6U3R5bGVCdWlsZGVyKCkKICAgICBzZXRQcm9wZXJ0
eUhhbmRsZXIoQ1NTUHJvcGVydHlGb250VmFyaWFudCwgQXBwbHlQcm9wZXJ0eUZvbnQ8Rm9udFNt
YWxsQ2FwcywgJkZvbnREZXNjcmlwdGlvbjo6c21hbGxDYXBzLCAmRm9udERlc2NyaXB0aW9uOjpz
ZXRTbWFsbENhcHMsIEZvbnRTbWFsbENhcHNPZmY+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNl
dFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUZvbnRXZWlnaHQsIEFwcGx5UHJvcGVydHlGb250
V2VpZ2h0OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9w
ZXJ0eUhlaWdodCwgQXBwbHlQcm9wZXJ0eUxlbmd0aDwmUmVuZGVyU3R5bGU6OmhlaWdodCwgJlJl
bmRlclN0eWxlOjpzZXRIZWlnaHQsICZSZW5kZXJTdHlsZTo6aW5pdGlhbFNpemUsIEF1dG9FbmFi
bGVkLCBMZWdhY3lJbnRyaW5zaWNFbmFibGVkLCBJbnRyaW5zaWNEaXNhYmxlZCwgTm9uZURpc2Fi
bGVkLCBVbmRlZmluZWREaXNhYmxlZD46OmNyZWF0ZUhhbmRsZXIoKSk7CisjaWYgRU5BQkxFKENT
U19JTUFHRV9PUklFTlRBVElPTikKKyAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlJ
bWFnZU9yaWVudGF0aW9uLCBBcHBseVByb3BlcnR5SW1hZ2VPcmllbnRhdGlvbjo6Y3JlYXRlSGFu
ZGxlcigpKTsKKyNlbmRpZgogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUltYWdl
UmVuZGVyaW5nLCBBcHBseVByb3BlcnR5RGVmYXVsdDxFSW1hZ2VSZW5kZXJpbmcsICZSZW5kZXJT
dHlsZTo6aW1hZ2VSZW5kZXJpbmcsIEVJbWFnZVJlbmRlcmluZywgJlJlbmRlclN0eWxlOjpzZXRJ
bWFnZVJlbmRlcmluZywgRUltYWdlUmVuZGVyaW5nLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxJbWFn
ZVJlbmRlcmluZz46OmNyZWF0ZUhhbmRsZXIoKSk7CiAjaWYgRU5BQkxFKENTU19JTUFHRV9SRVNP
TFVUSU9OKQogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUltYWdlUmVzb2x1dGlv
biwgQXBwbHlQcm9wZXJ0eUltYWdlUmVzb2x1dGlvbjo6Y3JlYXRlSGFuZGxlcigpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCBhMTU0YTg1ODgzOWQzMWQyM2FlYjVjYmMy
ZDBlZmNlMmFkYWM1NmZjLi4zYmFjNzgzZWI0YjRhMmE2NTg2NGI3NzU1ZGI5OGE3MGQyN2QyZDUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC00MjIzLDYgKzQyMjMsOSBA
QCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NT
VmFsdWUqIHZhbHVlKQogICAgIGNhc2UgQ1NTUHJvcGVydHlGb250VmFyaWFudDoKICAgICBjYXNl
IENTU1Byb3BlcnR5Rm9udFdlaWdodDoKICAgICBjYXNlIENTU1Byb3BlcnR5SGVpZ2h0OgorI2lm
IEVOQUJMRShDU1NfSU1BR0VfT1JJRU5UQVRJT04pCisgICAgY2FzZSBDU1NQcm9wZXJ0eUltYWdl
T3JpZW50YXRpb246CisjZW5kaWYKICAgICBjYXNlIENTU1Byb3BlcnR5SW1hZ2VSZW5kZXJpbmc6
CiAjaWYgRU5BQkxFKENTU19JTUFHRV9SRVNPTFVUSU9OKQogICAgIGNhc2UgQ1NTUHJvcGVydHlJ
bWFnZVJlc29sdXRpb246CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5oCmluZGV4IDk0N2M2MDc1ZjE5ZDhjZTUxN2E2MjZiMDVjNGE4ODJmYmQ2OWVmOTIuLmFh
NDVhNzNiYzk4ZTZmZmViZTM2NzgwM2NiMjE2N2QwNzMzMWRjN2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC05NzksNiArOTc5LDEwIEBAIHB1
YmxpYzoKICAgICBib29sIGlzRmxpcHBlZExpbmVzV3JpdGluZ01vZGUoKSBjb25zdCB7IHJldHVy
biB3cml0aW5nTW9kZSgpID09IExlZnRUb1JpZ2h0V3JpdGluZ01vZGUgfHwgd3JpdGluZ01vZGUo
KSA9PSBCb3R0b21Ub1RvcFdyaXRpbmdNb2RlOyB9CiAgICAgYm9vbCBpc0ZsaXBwZWRCbG9ja3NX
cml0aW5nTW9kZSgpIGNvbnN0IHsgcmV0dXJuIHdyaXRpbmdNb2RlKCkgPT0gUmlnaHRUb0xlZnRX
cml0aW5nTW9kZSB8fCB3cml0aW5nTW9kZSgpID09IEJvdHRvbVRvVG9wV3JpdGluZ01vZGU7IH0K
IAorI2lmIEVOQUJMRShDU1NfSU1BR0VfT1JJRU5UQVRJT04pCisgICAgaW50IGltYWdlT3JpZW50
YXRpb24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHJhcmVJbmhlcml0ZWREYXRh
LT5tX2ltYWdlT3JpZW50YXRpb24pOyB9CisjZW5kaWYKKwogICAgIEVJbWFnZVJlbmRlcmluZyBp
bWFnZVJlbmRlcmluZygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVJbWFnZVJlbmRlcmlu
Zz4ocmFyZUluaGVyaXRlZERhdGEtPm1faW1hZ2VSZW5kZXJpbmcpOyB9CiAKICNpZiBFTkFCTEUo
Q1NTX0lNQUdFX1JFU09MVVRJT04pCkBAIC0xMTUwLDYgKzExNTQsMTEgQEAgcHVibGljOgogICAg
IGJvb2wgc2V0Wm9vbShmbG9hdCk7CiAgICAgdm9pZCBzZXRab29tV2l0aG91dFJldHVyblZhbHVl
KGZsb2F0IGYpIHsgc2V0Wm9vbShmKTsgfQogICAgIGJvb2wgc2V0RWZmZWN0aXZlWm9vbShmbG9h
dCk7CisKKyNpZiBFTkFCTEUoQ1NTX0lNQUdFX09SSUVOVEFUSU9OKQorICAgIHZvaWQgc2V0SW1h
Z2VPcmllbnRhdGlvbihpbnQgdikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBtX2ltYWdl
T3JpZW50YXRpb24sIHYpIH0KKyNlbmRpZgorCiAgICAgdm9pZCBzZXRJbWFnZVJlbmRlcmluZyhF
SW1hZ2VSZW5kZXJpbmcgdikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBtX2ltYWdlUmVu
ZGVyaW5nLCB2KSB9CiAKICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJT04pCkBAIC0xNjY1
LDYgKzE2NzQsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgaW5p
dGlhbFRleHRFbXBoYXNpc0N1c3RvbU1hcmsoKSB7IHJldHVybiBudWxsQXRvbTsgfQogICAgIHN0
YXRpYyBUZXh0RW1waGFzaXNQb3NpdGlvbiBpbml0aWFsVGV4dEVtcGhhc2lzUG9zaXRpb24oKSB7
IHJldHVybiBUZXh0RW1waGFzaXNQb3NpdGlvbk92ZXI7IH0KICAgICBzdGF0aWMgTGluZUJveENv
bnRhaW4gaW5pdGlhbExpbmVCb3hDb250YWluKCkgeyByZXR1cm4gTGluZUJveENvbnRhaW5CbG9j
ayB8IExpbmVCb3hDb250YWluSW5saW5lIHwgTGluZUJveENvbnRhaW5SZXBsYWNlZDsgfQorICAg
IHN0YXRpYyBpbnQgaW5pdGlhbEltYWdlT3JpZW50YXRpb24oKSB7IHJldHVybiAwOyB9CiAgICAg
c3RhdGljIEVJbWFnZVJlbmRlcmluZyBpbml0aWFsSW1hZ2VSZW5kZXJpbmcoKSB7IHJldHVybiBJ
bWFnZVJlbmRlcmluZ0F1dG87IH0KICAgICBzdGF0aWMgSW1hZ2VSZXNvbHV0aW9uU291cmNlIGlu
aXRpYWxJbWFnZVJlc29sdXRpb25Tb3VyY2UoKSB7IHJldHVybiBJbWFnZVJlc29sdXRpb25TcGVj
aWZpZWQ7IH0KICAgICBzdGF0aWMgZmxvYXQgaW5pdGlhbEltYWdlUmVzb2x1dGlvbigpIHsgcmV0
dXJuIDE7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZVJhcmVJbmhlcml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAppbmRleCA3ZmU2MDljMjE4ZGYwZWE4NmE4ZWQ2NDg2
YjNiM2RkNjdiYWY0YzllLi5kN2QxZGZkN2ZjYmQ0NDA0NjkzMGZlOWFhNTlhYTNjMjllNzlkOTE0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZUluaGVyaXRlZERhdGEuY3BwCkBAIC04MSw2ICs4MSw5IEBAIFN0eWxlUmFyZUluaGVyaXRl
ZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoKQogICAgICwgdGV4dEVtcGhhc2lzTWFyayhU
ZXh0RW1waGFzaXNNYXJrTm9uZSkKICAgICAsIHRleHRFbXBoYXNpc1Bvc2l0aW9uKFRleHRFbXBo
YXNpc1Bvc2l0aW9uT3ZlcikKICAgICAsIG1fbGluZUJveENvbnRhaW4oUmVuZGVyU3R5bGU6Omlu
aXRpYWxMaW5lQm94Q29udGFpbigpKQorI2lmIEVOQUJMRShDU1NfSU1BR0VfT1JJRU5UQVRJT04p
CisgICAgLCBtX2ltYWdlT3JpZW50YXRpb24oUmVuZGVyU3R5bGU6OmluaXRpYWxJbWFnZU9yaWVu
dGF0aW9uKCkpCisjZW5kaWYKICAgICAsIG1faW1hZ2VSZW5kZXJpbmcoUmVuZGVyU3R5bGU6Omlu
aXRpYWxJbWFnZVJlbmRlcmluZygpKQogICAgICwgbV9saW5lU25hcChSZW5kZXJTdHlsZTo6aW5p
dGlhbExpbmVTbmFwKCkpCiAgICAgLCBtX2xpbmVBbGlnbihSZW5kZXJTdHlsZTo6aW5pdGlhbExp
bmVBbGlnbigpKQpAQCAtMTM5LDYgKzE0Miw5IEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0
eWxlUmFyZUluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSYgbykKICAg
ICAsIHRleHRFbXBoYXNpc01hcmsoby50ZXh0RW1waGFzaXNNYXJrKQogICAgICwgdGV4dEVtcGhh
c2lzUG9zaXRpb24oby50ZXh0RW1waGFzaXNQb3NpdGlvbikKICAgICAsIG1fbGluZUJveENvbnRh
aW4oby5tX2xpbmVCb3hDb250YWluKQorI2lmIEVOQUJMRShDU1NfSU1BR0VfT1JJRU5UQVRJT04p
CisgICAgLCBtX2ltYWdlT3JpZW50YXRpb24oby5tX2ltYWdlT3JpZW50YXRpb24pCisjZW5kaWYK
ICAgICAsIG1faW1hZ2VSZW5kZXJpbmcoby5tX2ltYWdlUmVuZGVyaW5nKQogICAgICwgbV9saW5l
U25hcChvLm1fbGluZVNuYXApCiAgICAgLCBtX2xpbmVBbGlnbihvLm1fbGluZUFsaWduKQpAQCAt
MjI4LDYgKzIzNCw5IEBAIGJvb2wgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PShj
b25zdCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhJiBvKSBjb25zdAogICAgICAgICAmJiBRdW90ZXNE
YXRhOjplcXVhbChxdW90ZXMuZ2V0KCksIG8ucXVvdGVzLmdldCgpKQogICAgICAgICAmJiBtX3Rh
YlNpemUgPT0gby5tX3RhYlNpemUKICAgICAgICAgJiYgbV9saW5lR3JpZCA9PSBvLm1fbGluZUdy
aWQKKyNpZiBFTkFCTEUoQ1NTX0lNQUdFX09SSUVOVEFUSU9OKQorICAgICAgICAmJiBtX2ltYWdl
T3JpZW50YXRpb24gPT0gby5tX2ltYWdlT3JpZW50YXRpb24KKyNlbmRpZgogICAgICAgICAmJiBt
X2ltYWdlUmVuZGVyaW5nID09IG8ubV9pbWFnZVJlbmRlcmluZwogI2lmIEVOQUJMRShDU1NfSU1B
R0VfUkVTT0xVVElPTikKICAgICAgICAgJiYgbV9pbWFnZVJlc29sdXRpb25Tb3VyY2UgPT0gby5t
X2ltYWdlUmVzb2x1dGlvblNvdXJjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKaW5kZXggNTg5MWFmOThmMTc1Zjky
ZGZkNmY5ZmYyMjY3NTUxZjE4MzQ5NmE5ZS4uM2Q4OGExZDY3Zjk3Y2YwZWY5YjBhYzA1NTNiYTRh
MjQxZDZlZGJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmFyZUluaGVyaXRlZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCkBAIC05NSw2ICs5NSw5IEBAIHB1YmxpYzoKICAg
ICB1bnNpZ25lZCB0ZXh0RW1waGFzaXNQb3NpdGlvbiA6IDE7IC8vIFRleHRFbXBoYXNpc1Bvc2l0
aW9uCiAgICAgdW5zaWduZWQgbV9saW5lQm94Q29udGFpbjogNzsgLy8gTGluZUJveENvbnRhaW4K
ICAgICAvLyBDU1MgSW1hZ2UgVmFsdWVzIExldmVsIDMKKyNpZiBFTkFCTEUoQ1NTX0lNQUdFX09S
SUVOVEFUSU9OKQorICAgIHVuc2lnbmVkIG1faW1hZ2VPcmllbnRhdGlvbiA6IDI7IC8vIFF1YXJ0
ZXIgdHVybnMKKyNlbmRpZgogICAgIHVuc2lnbmVkIG1faW1hZ2VSZW5kZXJpbmcgOiAyOyAvLyBF
SW1hZ2VSZW5kZXJpbmcKICAgICB1bnNpZ25lZCBtX2xpbmVTbmFwIDogMjsgLy8gTGluZVNuYXAK
ICAgICB1bnNpZ25lZCBtX2xpbmVBbGlnbiA6IDE7IC8vIExpbmVBbGlnbgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGMwYzE3
N2NjNmYwMGQ1ZWVjYjRmNzA4MjQwN2FlM2NjMDYwMjIwNmEuLmE4YjhhZTQ4Yjk4NzdiNzUzZTc2
YTMxN2U4ZTkzZWQ0MzBmMzM2NjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0wNi0yMCAg
RGF2aWQgQmFyciAgPGRhdmlkYmFyckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIHBhcnNp
bmcgYW5kIHN0eWxlIGFwcGxpY2F0aW9uIGZvciBjc3MzLWltYWdlcyBpbWFnZS1vcmllbnRhdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk2MjQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qv
Y3NzL2ltYWdlLW9yaWVudGF0aW9uL2ltYWdlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9jc3MvaW1hZ2Utb3JpZW50YXRpb24vaW1hZ2Utb3JpZW50YXRp
b24uaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9uczogU2tpcCB0ZXN0cyB1bnRpbCBpbWFnZS1vcmllbnRhdGlvbiBpbXBsZW1lbnRhdGlvbiBs
YW5kcy4KKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9uczogU2tpcCB0ZXN0
cyB1bnRpbCBpbWFnZS1vcmllbnRhdGlvbiBpbXBsZW1lbnRhdGlvbiBsYW5kcy4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczogU2tpcCB0ZXN0cyB1bnRpbCBpbWFnZS1v
cmllbnRhdGlvbiBpbXBsZW1lbnRhdGlvbiBsYW5kcy4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
VGVzdEV4cGVjdGF0aW9uczogU2tpcCB0ZXN0cyB1bnRpbCBpbWFnZS1vcmllbnRhdGlvbiBpbXBs
ZW1lbnRhdGlvbiBsYW5kcy4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25z
OiBTa2lwIHRlc3RzIHVudGlsIGltYWdlLW9yaWVudGF0aW9uIGltcGxlbWVudGF0aW9uIGxhbmRz
LgorCiAyMDEyLTA2LTIwICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgSW5kZXhlZERCOiBSZW1vdmUgcmVkdW5kYW50IElEQk9iamVjdFN0b3JlLmRlbGV0ZSgp
IG92ZXJsb2FkcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvaW1hZ2Utb3JpZW50
YXRpb24vaW1hZ2Utb3JpZW50YXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvaW1hZ2Utb3JpZW50YXRpb24vaW1hZ2Utb3JpZW50YXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjlhNTEzODQ4OGRmODRjYjg3Njc2NTNiZjg5NmNjMDg2YWI4ODQxZWYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9pbWFnZS1vcmllbnRhdGlvbi9pbWFnZS1v
cmllbnRhdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0MyBAQAorQXBwbHkgaW1hZ2UtcmVz
b2x1dGlvbiBwcm9wZXJ0eSBhbmQgY2hlY2sgY29tcHV0ZWQgc3R5bGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIHAuc3R5bGUuY3NzVGV4dCBpcyAiaW1hZ2Utb3JpZW50
YXRpb246IC0zNjBkZWc7ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0
aW9uIGlzICIwZGVnIgorUEFTUyBwLnN0eWxlLmNzc1RleHQgaXMgImltYWdlLW9yaWVudGF0aW9u
OiAtMzE1ZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocCkuaW1hZ2VPcmllbnRhdGlvbiBp
cyAiMGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NUZXh0IGlzICJpbWFnZS1vcmllbnRhdGlvbjogMGRl
ZzsgIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHApLmltYWdlT3JpZW50YXRpb24gaXMgIjBkZWci
CitQQVNTIHAuc3R5bGUuY3NzVGV4dCBpcyAiaW1hZ2Utb3JpZW50YXRpb246IDMxNWRlZzsgIgor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKHApLmltYWdlT3JpZW50YXRpb24gaXMgIjBkZWciCitQQVNT
IHAuc3R5bGUuY3NzVGV4dCBpcyAiaW1hZ2Utb3JpZW50YXRpb246IDM2MGRlZzsgIgorUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKHApLmltYWdlT3JpZW50YXRpb24gaXMgIjBkZWciCitQQVNTIHAuc3R5
bGUuY3NzVGV4dCBpcyAiaW1hZ2Utb3JpZW50YXRpb246IC0yNzBkZWc7ICIKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlzICI5MGRlZyIKK1BBU1MgcC5zdHlsZS5j
c3NUZXh0IGlzICJpbWFnZS1vcmllbnRhdGlvbjogLTIyNWRlZzsgIgorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKHApLmltYWdlT3JpZW50YXRpb24gaXMgIjkwZGVnIgorUEFTUyBwLnN0eWxlLmNzc1Rl
eHQgaXMgImltYWdlLW9yaWVudGF0aW9uOiA0NWRlZzsgIgorUEFTUyBnZXRDb21wdXRlZFN0eWxl
KHApLmltYWdlT3JpZW50YXRpb24gaXMgIjkwZGVnIgorUEFTUyBwLnN0eWxlLmNzc1RleHQgaXMg
ImltYWdlLW9yaWVudGF0aW9uOiA5MGRlZzsgIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHApLmlt
YWdlT3JpZW50YXRpb24gaXMgIjkwZGVnIgorUEFTUyBwLnN0eWxlLmNzc1RleHQgaXMgImltYWdl
LW9yaWVudGF0aW9uOiAtMTgwZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocCkuaW1hZ2VP
cmllbnRhdGlvbiBpcyAiMTgwZGVnIgorUEFTUyBwLnN0eWxlLmNzc1RleHQgaXMgImltYWdlLW9y
aWVudGF0aW9uOiAtMTM1ZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocCkuaW1hZ2VPcmll
bnRhdGlvbiBpcyAiMTgwZGVnIgorUEFTUyBwLnN0eWxlLmNzc1RleHQgaXMgImltYWdlLW9yaWVu
dGF0aW9uOiAxMzVkZWc7ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0
aW9uIGlzICIxODBkZWciCitQQVNTIHAuc3R5bGUuY3NzVGV4dCBpcyAiaW1hZ2Utb3JpZW50YXRp
b246IC0xODBkZWc7ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9u
IGlzICIxODBkZWciCitQQVNTIHAuc3R5bGUuY3NzVGV4dCBpcyAiaW1hZ2Utb3JpZW50YXRpb246
IC05MGRlZzsgIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHApLmltYWdlT3JpZW50YXRpb24gaXMg
IjI3MGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NUZXh0IGlzICJpbWFnZS1vcmllbnRhdGlvbjogLTQ1
ZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocCkuaW1hZ2VPcmllbnRhdGlvbiBpcyAiMjcw
ZGVnIgorUEFTUyBwLnN0eWxlLmNzc1RleHQgaXMgImltYWdlLW9yaWVudGF0aW9uOiAyMjVkZWc7
ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlzICIyNzBkZWci
CitQQVNTIHAuc3R5bGUuY3NzVGV4dCBpcyAiaW1hZ2Utb3JpZW50YXRpb246IDI3MGRlZzsgIgor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKHApLmltYWdlT3JpZW50YXRpb24gaXMgIjI3MGRlZyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9pbWFnZS1vcmllbnRhdGlvbi9pbWFnZS1vcmllbnRh
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvaW1hZ2Utb3JpZW50YXRpb24vaW1hZ2Ut
b3JpZW50YXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjI3MTIyODYxODUxZmM2Mzg1NjQ3N2I0MDJi
MWMzYTkxN2EzOWVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvaW1h
Z2Utb3JpZW50YXRpb24vaW1hZ2Utb3JpZW50YXRpb24uaHRtbApAQCAtMCwwICsxLDMxIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGUgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPjwvc3R5bGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCdBcHBseSBpbWFnZS1yZXNvbHV0aW9uIHByb3BlcnR5IGFuZCBj
aGVjayBjb21wdXRlZCBzdHlsZS4nKTsKKwordmFyIGV4cGVjdGF0aW9ucyA9IHsKKyAgICAnMGRl
Zyc6IFsnLTM2MGRlZycsICctMzE1ZGVnJywgJzBkZWcnLCAnMzE1ZGVnJywgJzM2MGRlZyddLAor
ICAgICc5MGRlZyc6IFsnLTI3MGRlZycsICctMjI1ZGVnJywgJzQ1ZGVnJywgJzkwZGVnJ10sCisg
ICAgJzE4MGRlZyc6IFsnLTE4MGRlZycsICctMTM1ZGVnJywgJzEzNWRlZycsICctMTgwZGVnJ10s
CisgICAgJzI3MGRlZyc6IFsnLTkwZGVnJywgJy00NWRlZycsICcyMjVkZWcnLCAnMjcwZGVnJ119
OworCit2YXIgcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKTsKK2RvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocCk7Citmb3IgKGV4cGVjdGVkIGluIGV4cGVjdGF0aW9ucykgeworICAgIGV4
cGVjdGF0aW9uc1tleHBlY3RlZF0uZm9yRWFjaChmdW5jdGlvbih0ZXN0KSB7CisgICAgICAgIHAu
c3R5bGUuaW1hZ2VPcmllbnRhdGlvbiA9ICcnOworICAgICAgICBwLnN0eWxlLmltYWdlT3JpZW50
YXRpb24gPSB0ZXN0OworICAgICAgICBzaG91bGRCZSgncC5zdHlsZS5jc3NUZXh0JywgJyJpbWFn
ZS1vcmllbnRhdGlvbjogJyArIHRlc3QgKyAnOyAiJyk7CisgICAgICAgIHNob3VsZEJlKCdnZXRD
b21wdXRlZFN0eWxlKHApLmltYWdlT3JpZW50YXRpb24nLCAnIicgKyBleHBlY3RlZCArICciJyk7
CisgICAgfSk7Cit9Citkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHApOworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVz
dEV4cGVjdGF0aW9ucwppbmRleCAxNjA3NmE0OThmZjZiYWZmMzNjODAxZjA0MWQ1NmUxZmI3ODUz
NWUyLi5iNmYxZGM0NGRhNjMzN2RkMjkzMGVjZmQ4YWI5YjEyYjBjNDE5YjJmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE1OCw2ICsx
NTgsOSBAQCBCVUdXSzg1NTgwIFNLSVAgOiBmYXN0L2Nzcy92YXJpYWJsZXMgPSBQQVNTCiAvLyBD
U1MgaW1hZ2UtcmVzb2x1dGlvbiBpcyBub3QgeWV0IGVuYWJsZWQuCiBCVUdXSzg1MjYyIFNLSVAg
OiBmYXN0L2Nzcy9pbWFnZS1yZXNvbHV0aW9uID0gUEFTUwogCisvLyBDU1MgaW1hZ2Utb3JpZW50
YXRpb24gaXMgbm90IHlldCBlbmFibGVkLgorQlVHV0s4OTA1MiBTS0lQIDogZmFzdC9jc3MvaW1h
Z2Utb3JpZW50YXRpb24gPSBQQVNTCisKIC8vIENocm9taXVtIG5lZWRzIGxhcmdlciBtZWRpYSBm
aWxlcyB0byB0ZXN0IGJ1ZmZlcmluZyB0aGlzIHdheS4KIEJVR1dLODgxNzIgU0tJUCA6IGh0dHAv
dGVzdHMvbWVkaWEvdmlkZW8tYnVmZmVyZWQuaHRtbCA9IFBBU1MKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBjMzE3N2E1MTg3MmY3MmJkOWEzNzJiYzM3
ODIyNmY1ZmZhMWExM2ZiLi41OGYxOWI1YWU1ZjRkZDIxMzExZGE5ODlmMzRjOThlY2M4OTU5Zjhm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNTYsNiAr
NTYsOSBAQCBCVUdXSzg1NDY1IFNLSVAgOiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1
dGVkLXN0eWxlLmh0bWwgPSBURVhUCiAvLyBDU1MgaW1hZ2UtcmVzb2x1dGlvbiBpcyBub3QgeWV0
IGVuYWJsZWQuCiBCVUdXSzg1MjYyIFNLSVAgOiBmYXN0L2Nzcy9pbWFnZS1yZXNvbHV0aW9uID0g
UEFTUwogCisvLyBDU1MgaW1hZ2Utb3JpZW50YXRpb24gaXMgbm90IHlldCBlbmFibGVkLgorQlVH
V0s4OTA1MiBTS0lQIDogZmFzdC9jc3MvaW1hZ2Utb3JpZW50YXRpb24gPSBQQVNTCisKIC8vIFRo
aXMgdGVzdCBhc3N1bWVzIHdlIGNhbm5vdCBwbGF5IFJUU1AsIGJ1dCB3ZSBjYW4uCiBCVUdXS0VG
TCBTS0lQIDogbWVkaWEvdW5zdXBwb3J0ZWQtcnRzcC5odG1sID0gVElNRU9VVAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDUxOThhYWRjNWE5N2MwMzYx
NjA0YmRmMmFmN2Y5ODhjODI0YmNiNzAuLmQwZjQ5NDgzODM5ZTlmMDk4YjdmYTU4NTk1YjAwZTM0
YzRhMTRlYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBA
IC0zMjAsNiArMzIwLDkgQEAgQlVHV0s4NTU4MCBTS0lQIDogZmFzdC9jc3MvdmFyaWFibGVzID0g
UEFTUyBURVhUCiAvLyBDU1MgaW1hZ2UtcmVzb2x1dGlvbiBpcyBub3QgeWV0IGVuYWJsZWQuCiBC
VUdXSzg1MjYyIFNLSVAgOiBmYXN0L2Nzcy9pbWFnZS1yZXNvbHV0aW9uID0gUEFTUyBURVhUCiAK
Ky8vIENTUyBpbWFnZS1vcmllbnRhdGlvbiBpcyBub3QgeWV0IGVuYWJsZWQuCitCVUdXSzg5MDUy
IFNLSVAgOiBmYXN0L2Nzcy9pbWFnZS1vcmllbnRhdGlvbiA9IFBBU1MKKwogLy8gTm8gQ09SUyBz
dXBwb3J0IGZvciBtZWRpYSBlbGVtZW50cyBpcyBpbXBsZW1lbnRlZCB5ZXQuCiBCVUdXS0dUSyBT
S0lQIDogaHR0cC90ZXN0cy9zZWN1cml0eS92aWRlby1jcm9zcy1vcmlnaW4tcmVhZGJhY2suaHRt
bCA9IFRFWFQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCA4NGFlODA5OGUxZTA5NTBjYTJlNTRlYjgzOTFhMDgxNTVhYzU3OTQ4Li5jNjFlNTQ3ZWZmNjNh
ODc0MmY5OGZlZTBhNmE0YzcyNjJkZjQxOWYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtMTgsNiArMTgsOSBAQCBCVUdXSzg3OTA4IFNLSVAgOiBlZGl0
aW5nL3VuZG9tYW5hZ2VyID0gUEFTUwogLy8gQ1NTIGltYWdlLXJlc29sdXRpb24gaXMgbm90IHll
dCBlbmFibGVkLgogQlVHV0s4NTI2MiBTS0lQIDogZmFzdC9jc3MvaW1hZ2UtcmVzb2x1dGlvbiA9
IFBBU1MKIAorLy8gQ1NTIGltYWdlLW9yaWVudGF0aW9uIGlzIG5vdCB5ZXQgZW5hYmxlZC4KK0JV
R1dLODkwNTIgU0tJUCA6IGZhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uID0gUEFTUworCiAvLyBP
dXIgc2xvdyB0ZXN0cywgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLgogQlVHV0s1NzY3MiA6IGh0dHAv
dGVzdHMvbG9jYWwvZmlsZWFwaS9zZW5kLXNsaWNlZC1kcmFnZ2VkLWZpbGUuaHRtbCA9IFRFWFQg
UEFTUwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA5MGJh
ZDhkMmMzZTJmNTM2MDE1YmVlN2IxYjI5NWFiOGIyMWZjYWVlLi5iZWM4NWIyYTcyOWExOTMxMTU3
Yzg5ZjJiMjExMzZlNzBhMjY2NTY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTgwLDYgKzgwLDkgQEAgQlVHV0s4NzkwOCBTS0lQIDogZWRpdGluZy91bmRv
bWFuYWdlciA9IFBBU1MKIC8vIENTUyBpbWFnZS1yZXNvbHV0aW9uIGlzIG5vdCB5ZXQgZW5hYmxl
ZC4KIEJVR1dLODUyNjIgU0tJUCA6IGZhc3QvY3NzL2ltYWdlLXJlc29sdXRpb24gPSBQQVNTCiAK
Ky8vIENTUyBpbWFnZS1vcmllbnRhdGlvbiBpcyBub3QgeWV0IGVuYWJsZWQuCitCVUdXSzg5MDUy
IFNLSVAgOiBmYXN0L2Nzcy9pbWFnZS1vcmllbnRhdGlvbiA9IFBBU1MKKwogLy8gTmVlZHMgcmVi
YXNlbGluZSBhZnRlciBidWcgODY0NDEKIC8vIGZhaWxpbmcgbmV3IHRlc3RzCiBCVUdXSzg2NDQx
IFNLSVAgOiBmYXN0L2JvcmRlcnMvYm9yZGVyLWFudGlhbGlhc2luZy5odG1sID0gSU1BR0UK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148960</attachid>
            <date>2012-06-21 21:53:06 -0700</date>
            <delta_ts>2012-07-17 00:20:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89624-20120622145304.patch</filename>
            <type>text/plain</type>
            <size>23266</size>
            <attacher name="David Barr">davidbarr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwODkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzJiMjllZDM4YzVjODdm
OWEwZmUwYTMzNjQxMzRmMDFmYzBjNzViOC4uZTUwZDFmMGZlZjEyZDczNDc1MzliMjVlNjQxOTQ2
NjQ4NDM4ODY1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA2LTIxICBEYXZp
ZCBCYXJyICA8ZGF2aWRiYXJyQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgcGFyc2luZyBh
bmQgc3R5bGUgYXBwbGljYXRpb24gZm9yIGNzczMtaW1hZ2VzIGltYWdlLW9yaWVudGF0aW9uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTYyNAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3Qv
Y3NzL2ltYWdlLW9yaWVudGF0aW9uL2ltYWdlLW9yaWVudGF0aW9uLmh0bWwKKworICAgICAgICAq
IGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOiBBZGQgY29tcHV0ZWQgc3R5bGUg
Zm9yIGltYWdlLW9yaWVudGF0aW9uLgorICAgICAgICAoV2ViQ29yZSk6IEFkZCBDU1NQcm9wZXJ0
eUltYWdlT3JpZW50YXRpb24gdG8gY29tcHV0ZWRQcm9wZXJ0aWVzLgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKTogTWFw
IENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbiB1c2luZyBjYXN0IG9wZXJhdG9yIGZyb20gUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy4KKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDogQWRkIHBh
cnNpbmcgcnVsZSBmb3IgaW1hZ2Utb3JpZW50YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpDU1NQ
YXJzZXI6OnBhcnNlVmFsdWUpOiBQYXJzZSB0aGUgdmFsdWUgb2YgQ1NTUHJvcGVydHlJbWFnZU9y
aWVudGF0aW9uIGFzIGFuIGFuZ2xlLgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1h
cHBpbmdzLmg6IEFkZCBtYXBwaW5ncyBiZXR3ZWVuIENTU1ByaW1pdGl2ZVZhbHVlIGFuZCBJbWFn
ZU9yaWVudGF0aW9uRW51bS4KKyAgICAgICAgKFdlYkNvcmUpOiBBZGQgY29uZGl0aW9uYWwgaW5j
bHVkZSBmb3IgSW1hZ2VPcmllbnRhdGlvbi5oLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0
aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKTogTWFwIHRoZSBuYXR1cmFsIG9yaWVudGF0aW9u
cyB0byBhbmdsZXMuCisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0
b3IgSW1hZ2VPcmllbnRhdGlvbkVudW0pOiBSb3VuZCBhbmdsZXMgYXdheSBmcm9tIHplcm8gdG8g
cXVhcnRlciB0dXJucyBhbmQgbWFwIHRvIHRoZSBuYXR1cmFsIG9yaWVudGF0aW9ucy4KKyAgICAg
ICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOiBBZGQgQ1NTUHJvcGVydHlJbWFnZU9yaWVudGF0aW9u
LgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOiBN
YXAgQ1NTUHJvcGVydHlJbWFnZU9yaWVudGF0aW9uIGluaGVyaXRlZC4KKyAgICAgICAgKiBjc3Mv
Q1NTUHJvcGVydHlOYW1lcy5pbjogQWRkIGltYWdlLW9yaWVudGF0aW9uLgorICAgICAgICAqIGNz
cy9TdHlsZUJ1aWxkZXIuY3BwOiBBZGQgc3R5bGUgYXBwbGljYXRpb24gbG9naWMgZm9yIENTU1By
b3BlcnR5SW1hZ2VPcmllbnRhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQnVpbGRlcjo6
U3R5bGVCdWlsZGVyKTogTWFwIENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbiB0byBSZW5kZXJT
dHlsZTo6aW1hZ2VPcmllbnRhdGlvbiB3aXRoIHR5cGUgSW1hZ2VPcmllbnRhdGlvbkVudW0uCisg
ICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOiBIYW5kbGUgQ1NTUHJvcGVydHlJbWFnZU9y
aWVudGF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0
eSk6IEV4cGVjdCBDU1NQcm9wZXJ0eUltYWdlT3JpZW50YXRpb24gdG8gYmUgaGFuZGxlZCBieSBT
dHlsZUJ1aWxkZXIuCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6IEFk
ZCBpbWFnZU9yaWVudGF0aW9uLCBzZXRJbWFnZU9yaWVudGF0aW9uIGFuZCBpbml0aWFsSW1hZ2VP
cmllbnRhdGlvbi4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVk
RGF0YS5jcHA6IEFkZCBtX2ltYWdlT3JpZW50YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpTdHls
ZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhKTogQWRkIG1faW1hZ2VP
cmllbnRhdGlvbiB0byBkZWZhdWx0IGFuZCBjb3B5IGNvbnRydWN0b3JzLgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PSk6IEluY2x1ZGUgbV9pbWFn
ZU9yaWVudGF0aW9uIGluIGNvbXBhcmlzb24uCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmFyZUluaGVyaXRlZERhdGEuaDogQWRkIG1faW1hZ2VPcmllbnRhdGlvbi4KKyAgICAgICAg
KFN0eWxlUmFyZUluaGVyaXRlZERhdGEpOiBBZGQgMy1iaXQgZmllbGQgbV9pbWFnZU9yaWVudGF0
aW9uLCBtYXBwaW5nIHRvIEltYWdlT3JpZW50YXRpb25FbnVtIHdoaWNoIHN0YXJ0cyBhdCAxLgor
CiAyMDEyLTA2LTE5ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogcmVkdWNlIHRpbWVsaW5lIHJlZnJlc2ggcmF0ZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRl
eCA2MDgyYTIzODA4OTVhZWU4MjRkZmFhM2E5MGNjNzg1OWQ4Y2M3Y2I1Li40NGNhOTMwYTQwNmFl
NmU5YjVhYTJiYjg2NzZjY2RkMGVmM2ZiY2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMTI0LDYgKzEyNCw5IEBAIHN0
YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGNvbXB1dGVkUHJvcGVydGllc1tdID0gewogICAgIENT
U1Byb3BlcnR5Rm9udFZhcmlhbnQsCiAgICAgQ1NTUHJvcGVydHlGb250V2VpZ2h0LAogICAgIENT
U1Byb3BlcnR5SGVpZ2h0LAorI2lmIEVOQUJMRShDU1NfSU1BR0VfT1JJRU5UQVRJT04pCisgICAg
Q1NTUHJvcGVydHlJbWFnZU9yaWVudGF0aW9uLAorI2VuZGlmCiAgICAgQ1NTUHJvcGVydHlJbWFn
ZVJlbmRlcmluZywKICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJT04pCiAgICAgQ1NTUHJv
cGVydHlJbWFnZVJlc29sdXRpb24sCkBAIC0xNzc4LDYgKzE3ODEsMTAgQEAgUGFzc1JlZlB0cjxD
U1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVl
KENTU1Byb3BlcnQKICAgICAgICAgICAgIGlmIChzdHlsZS0+Ym9yZGVyRml0KCkgPT0gQm9yZGVy
Rml0Qm9yZGVyKQogICAgICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJ
ZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVCb3JkZXIpOwogICAgICAgICAgICAgcmV0dXJuIGNzc1Zh
bHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUxpbmVzKTsKKyNpZiBFTkFC
TEUoQ1NTX0lNQUdFX09SSUVOVEFUSU9OKQorICAgICAgICBjYXNlIENTU1Byb3BlcnR5SW1hZ2VP
cmllbnRhdGlvbjoKKyAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1
ZShzdHlsZS0+aW1hZ2VPcmllbnRhdGlvbigpKTsKKyNlbmRpZgogICAgICAgICBjYXNlIENTU1By
b3BlcnR5SW1hZ2VSZW5kZXJpbmc6CiAgICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFs
dWU6OmNyZWF0ZShzdHlsZS0+aW1hZ2VSZW5kZXJpbmcoKSk7CiAjaWYgRU5BQkxFKENTU19JTUFH
RV9SRVNPTFVUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCA2Mzc4MzU5NmIzMjdj
MzdkNzRjOTI2NDcyZmE2NDQ4NGExZTE1NDIyLi5kNDdiYTAxNjJkZGNiOGFjZTMyNDRkN2ZmODY2
ZGNjN2NiMDdhZDdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtMjU4NSw2ICsyNTg1
LDExIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcElkLCBi
b29sIGltcG9ydGFudCkKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0V3JhcDoKICAgICAgICAg
cmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmNzc0V4Y2x1c2lvbnNFbmFibGVkKCkgJiYg
cGFyc2VTaG9ydGhhbmQocHJvcElkLCB3ZWJraXRXcmFwU2hvcnRoYW5kKCksIGltcG9ydGFudCk7
CiAjZW5kaWYKKyNpZiBFTkFCTEUoQ1NTX0lNQUdFX09SSUVOVEFUSU9OKQorICAgIGNhc2UgQ1NT
UHJvcGVydHlJbWFnZU9yaWVudGF0aW9uOgorICAgICAgICB2YWxpZFByaW1pdGl2ZSA9ICFpZCAm
JiB2YWxpZFVuaXQodmFsdWUsIEZBbmdsZSk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAjaWYg
RU5BQkxFKENTU19JTUFHRV9SRVNPTFVUSU9OKQogICAgIGNhc2UgQ1NTUHJvcGVydHlJbWFnZVJl
c29sdXRpb246CiAgICAgICAgIHBhcnNlZFZhbHVlID0gcGFyc2VJbWFnZVJlc29sdXRpb24obV92
YWx1ZUxpc3QuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1
ZU1hcHBpbmdzLmgKaW5kZXggNDg1NWVjMzgxY2NmODFkMjYxODUwNzkzNjRmOTc3ZmU2ZWMzNWJi
OC4uZWI5YWViNTViOGYzOWMwOWZkNDdlMThjNDY5NzUyNDdlODdkNGM2NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCkBAIC0zNyw2ICszNyw5
IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFNtb290aGlu
Z01vZGUuaCIKICNpbmNsdWRlICJHcmFwaGljc1R5cGVzLmgiCisjaWYgRU5BQkxFKENTU19JTUFH
RV9PUklFTlRBVElPTikKKyNpbmNsdWRlICJJbWFnZU9yaWVudGF0aW9uLmgiCisjZW5kaWYKICNp
bmNsdWRlICJMZW5ndGguaCIKICNpbmNsdWRlICJMaW5lQ2xhbXBWYWx1ZS5oIgogI2luY2x1ZGUg
IlBhdGguaCIKQEAgLTQxMDgsNiArNDExMSw1MiBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmlt
aXRpdmVWYWx1ZTo6b3BlcmF0b3IgRVZlY3RvckVmZmVjdCgpIGNvbnN0CiAKICNlbmRpZiAvLyBF
TkFCTEUoU1ZHKQogCisjaWYgRU5BQkxFKENTU19JTUFHRV9PUklFTlRBVElPTikKKwordGVtcGxh
dGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKEltYWdlT3Jp
ZW50YXRpb25FbnVtIGUpCisgICAgOiBDU1NWYWx1ZShQcmltaXRpdmVDbGFzcykKK3sKKyAgICBt
X3ByaW1pdGl2ZVVuaXRUeXBlID0gQ1NTX0RFRzsKKyAgICBzd2l0Y2ggKGUpIHsKKyAgICBjYXNl
IE9yaWdpblRvcExlZnQ6CisgICAgICAgIG1fdmFsdWUubnVtID0gMDsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBPcmlnaW5SaWdodFRvcDoKKyAgICAgICAgbV92YWx1ZS5udW0gPSA5MDsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBPcmlnaW5Cb3R0b21SaWdodDoKKyAgICAgICAgbV92YWx1
ZS5udW0gPSAxODA7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgT3JpZ2luTGVmdEJvdHRvbToK
KyAgICAgICAgbV92YWx1ZS5udW0gPSAyNzA7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6
CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KK30KKwordGVtcGxhdGU8PiBp
bmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEltYWdlT3JpZW50YXRpb25FbnVtKCkg
Y29uc3QKK3sKKyAgICBBU1NFUlQoaXNBbmdsZSgpKTsKKyAgICBkb3VibGUgcXVhcnRlcnMgPSA0
ICogZ2V0RG91YmxlVmFsdWUoQ1NTX1RVUk4pOworICAgIGludCBvcmllbnRhdGlvbiA9IDMgJiBz
dGF0aWNfY2FzdDxpbnQ+KHF1YXJ0ZXJzIDwgMCA/IGZsb29yKHF1YXJ0ZXJzKSA6IGNlaWwocXVh
cnRlcnMpKTsKKyAgICBzd2l0Y2ggKG9yaWVudGF0aW9uKSB7CisgICAgY2FzZSAwOgorICAgICAg
ICByZXR1cm4gT3JpZ2luVG9wTGVmdDsKKyAgICBjYXNlIDE6CisgICAgICAgIHJldHVybiBPcmln
aW5SaWdodFRvcDsKKyAgICBjYXNlIDI6CisgICAgICAgIHJldHVybiBPcmlnaW5Cb3R0b21SaWdo
dDsKKyAgICBjYXNlIDM6CisgICAgICAgIHJldHVybiBPcmlnaW5MZWZ0Qm90dG9tOworICAgIGRl
ZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gT3Jp
Z2luVG9wTGVmdDsKKyAgICB9Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUoQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKQorCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5kZXgg
N2EzZDcxNTRkOTQzMDYyNjQ2YTIyODM2OGJjMTAwMDZhZWFiZGJmYy4uODQzM2UxZDc4MGFlODMy
OTNhZjY0NzI2NGRmMzNhMzE4ZGI2NjdiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3Bw
CkBAIC0yNjcsNiArMjY3LDkgQEAgYm9vbCBDU1NQcm9wZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0
eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZvbnRTdHls
ZToKICAgICBjYXNlIENTU1Byb3BlcnR5Rm9udFZhcmlhbnQ6CiAgICAgY2FzZSBDU1NQcm9wZXJ0
eUZvbnRXZWlnaHQ6CisjaWYgRU5BQkxFKENTU19JTUFHRV9PUklFTlRBVElPTikKKyAgICBjYXNl
IENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbjoKKyNlbmRpZgogICAgIGNhc2UgQ1NTUHJvcGVy
dHlJbWFnZVJlbmRlcmluZzoKICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJT04pCiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eUltYWdlUmVzb2x1dGlvbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5TmFtZXMuaW4KaW5kZXggY2FhYWYwZWNhM2E4ZjcxOTNmZDQ1YTkyMDA5MDg3ODcxNjFhZWYz
MS4uYzM1MDFkMjRjOWVlNGZiZGVkYzVjNWVjYzY2ZmYzMjJlMDkzMGEzOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KQEAgLTEwMyw2ICsxMDMsOSBAQCBlbXB0eS1jZWxs
cwogZmxvYXQKIGZvbnQtc3RyZXRjaAogaGVpZ2h0CisjaWYgZGVmaW5lZChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAmJiBFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OCitpbWFnZS1v
cmllbnRhdGlvbgorI2VuZGlmCiBpbWFnZS1yZW5kZXJpbmcKICNpZiBkZWZpbmVkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJiYgRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OCiBpbWFn
ZS1yZXNvbHV0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCmluZGV4IDJhYjI2OWRh
YzI3NWFjMjY1MmEyN2M2ODgyNDA0ZWQ2YTViYWIwZDkuLjE2YTRkNDM4ZmE3Yzg3ZDZiMjU1ZTJk
ZWYwM2Q0NDA3OThhYTJjZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1
aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCkBAIC0x
ODk3LDYgKzE4OTcsOSBAQCBTdHlsZUJ1aWxkZXI6OlN0eWxlQnVpbGRlcigpCiAgICAgc2V0UHJv
cGVydHlIYW5kbGVyKENTU1Byb3BlcnR5Rm9udFZhcmlhbnQsIEFwcGx5UHJvcGVydHlGb250PEZv
bnRTbWFsbENhcHMsICZGb250RGVzY3JpcHRpb246OnNtYWxsQ2FwcywgJkZvbnREZXNjcmlwdGlv
bjo6c2V0U21hbGxDYXBzLCBGb250U21hbGxDYXBzT2ZmPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAg
ICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlGb250V2VpZ2h0LCBBcHBseVByb3BlcnR5
Rm9udFdlaWdodDo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NT
UHJvcGVydHlIZWlnaHQsIEFwcGx5UHJvcGVydHlMZW5ndGg8JlJlbmRlclN0eWxlOjpoZWlnaHQs
ICZSZW5kZXJTdHlsZTo6c2V0SGVpZ2h0LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxTaXplLCBBdXRv
RW5hYmxlZCwgTGVnYWN5SW50cmluc2ljRW5hYmxlZCwgSW50cmluc2ljRGlzYWJsZWQsIE5vbmVE
aXNhYmxlZCwgVW5kZWZpbmVkRGlzYWJsZWQ+OjpjcmVhdGVIYW5kbGVyKCkpOworI2lmIEVOQUJM
RShDU1NfSU1BR0VfT1JJRU5UQVRJT04pCisgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3Bl
cnR5SW1hZ2VPcmllbnRhdGlvbiwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8SW1hZ2VPcmllbnRhdGlv
bkVudW0sICZSZW5kZXJTdHlsZTo6aW1hZ2VPcmllbnRhdGlvbiwgSW1hZ2VPcmllbnRhdGlvbkVu
dW0sICZSZW5kZXJTdHlsZTo6c2V0SW1hZ2VPcmllbnRhdGlvbiwgSW1hZ2VPcmllbnRhdGlvbkVu
dW0sICZSZW5kZXJTdHlsZTo6aW5pdGlhbEltYWdlT3JpZW50YXRpb24+OjpjcmVhdGVIYW5kbGVy
KCkpOworI2VuZGlmCiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5SW1hZ2VSZW5k
ZXJpbmcsIEFwcGx5UHJvcGVydHlEZWZhdWx0PEVJbWFnZVJlbmRlcmluZywgJlJlbmRlclN0eWxl
OjppbWFnZVJlbmRlcmluZywgRUltYWdlUmVuZGVyaW5nLCAmUmVuZGVyU3R5bGU6OnNldEltYWdl
UmVuZGVyaW5nLCBFSW1hZ2VSZW5kZXJpbmcsICZSZW5kZXJTdHlsZTo6aW5pdGlhbEltYWdlUmVu
ZGVyaW5nPjo6Y3JlYXRlSGFuZGxlcigpKTsKICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJ
T04pCiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5SW1hZ2VSZXNvbHV0aW9uLCBB
cHBseVByb3BlcnR5SW1hZ2VSZXNvbHV0aW9uOjpjcmVhdGVIYW5kbGVyKCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IGExNTRhODU4ODM5ZDMxZDIzYWViNWNiYzJkMGVm
Y2UyYWRhYzU2ZmMuLjNiYWM3ODNlYjRiNGEyYTY1ODY0Yjc3NTVkYjk4YTcwZDI3ZDJkNTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTQyMjMsNiArNDIyMyw5IEBAIHZv
aWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1
ZSogdmFsdWUpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZvbnRWYXJpYW50OgogICAgIGNhc2UgQ1NT
UHJvcGVydHlGb250V2VpZ2h0OgogICAgIGNhc2UgQ1NTUHJvcGVydHlIZWlnaHQ6CisjaWYgRU5B
QkxFKENTU19JTUFHRV9PUklFTlRBVElPTikKKyAgICBjYXNlIENTU1Byb3BlcnR5SW1hZ2VPcmll
bnRhdGlvbjoKKyNlbmRpZgogICAgIGNhc2UgQ1NTUHJvcGVydHlJbWFnZVJlbmRlcmluZzoKICNp
ZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJT04pCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUltYWdl
UmVzb2x1dGlvbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmgKaW5kZXggOTQ3YzYwNzVmMTlkOGNlNTE3YTYyNmIwNWM0YTg4MmZiZDY5ZWY5Mi4uYTMyZTk5
NmQyNmRkNzczYzA3MTA5MzE2MDM3Y2M4OTQzMzI1NTg1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTk3OSw2ICs5NzksMTAgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNGbGlwcGVkTGluZXNXcml0aW5nTW9kZSgpIGNvbnN0IHsgcmV0dXJuIHdy
aXRpbmdNb2RlKCkgPT0gTGVmdFRvUmlnaHRXcml0aW5nTW9kZSB8fCB3cml0aW5nTW9kZSgpID09
IEJvdHRvbVRvVG9wV3JpdGluZ01vZGU7IH0KICAgICBib29sIGlzRmxpcHBlZEJsb2Nrc1dyaXRp
bmdNb2RlKCkgY29uc3QgeyByZXR1cm4gd3JpdGluZ01vZGUoKSA9PSBSaWdodFRvTGVmdFdyaXRp
bmdNb2RlIHx8IHdyaXRpbmdNb2RlKCkgPT0gQm90dG9tVG9Ub3BXcml0aW5nTW9kZTsgfQogCisj
aWYgRU5BQkxFKENTU19JTUFHRV9PUklFTlRBVElPTikKKyAgICBJbWFnZU9yaWVudGF0aW9uRW51
bSBpbWFnZU9yaWVudGF0aW9uKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8SW1hZ2VPcmll
bnRhdGlvbkVudW0+KHJhcmVJbmhlcml0ZWREYXRhLT5tX2ltYWdlT3JpZW50YXRpb24gKyAxKTsg
fQorI2VuZGlmCisKICAgICBFSW1hZ2VSZW5kZXJpbmcgaW1hZ2VSZW5kZXJpbmcoKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxFSW1hZ2VSZW5kZXJpbmc+KHJhcmVJbmhlcml0ZWREYXRhLT5t
X2ltYWdlUmVuZGVyaW5nKTsgfQogCiAjaWYgRU5BQkxFKENTU19JTUFHRV9SRVNPTFVUSU9OKQpA
QCAtMTE1MCw2ICsxMTU0LDExIEBAIHB1YmxpYzoKICAgICBib29sIHNldFpvb20oZmxvYXQpOwog
ICAgIHZvaWQgc2V0Wm9vbVdpdGhvdXRSZXR1cm5WYWx1ZShmbG9hdCBmKSB7IHNldFpvb20oZik7
IH0KICAgICBib29sIHNldEVmZmVjdGl2ZVpvb20oZmxvYXQpOworCisjaWYgRU5BQkxFKENTU19J
TUFHRV9PUklFTlRBVElPTikKKyAgICB2b2lkIHNldEltYWdlT3JpZW50YXRpb24oSW1hZ2VPcmll
bnRhdGlvbkVudW0gdikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBtX2ltYWdlT3JpZW50
YXRpb24sIHN0YXRpY19jYXN0PGludD4odikgLSAxKSB9CisjZW5kaWYKKwogICAgIHZvaWQgc2V0
SW1hZ2VSZW5kZXJpbmcoRUltYWdlUmVuZGVyaW5nIHYpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVk
RGF0YSwgbV9pbWFnZVJlbmRlcmluZywgdikgfQogCiAjaWYgRU5BQkxFKENTU19JTUFHRV9SRVNP
TFVUSU9OKQpAQCAtMTY2NSw2ICsxNjc0LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBjb25zdCBB
dG9taWNTdHJpbmcmIGluaXRpYWxUZXh0RW1waGFzaXNDdXN0b21NYXJrKCkgeyByZXR1cm4gbnVs
bEF0b207IH0KICAgICBzdGF0aWMgVGV4dEVtcGhhc2lzUG9zaXRpb24gaW5pdGlhbFRleHRFbXBo
YXNpc1Bvc2l0aW9uKCkgeyByZXR1cm4gVGV4dEVtcGhhc2lzUG9zaXRpb25PdmVyOyB9CiAgICAg
c3RhdGljIExpbmVCb3hDb250YWluIGluaXRpYWxMaW5lQm94Q29udGFpbigpIHsgcmV0dXJuIExp
bmVCb3hDb250YWluQmxvY2sgfCBMaW5lQm94Q29udGFpbklubGluZSB8IExpbmVCb3hDb250YWlu
UmVwbGFjZWQ7IH0KKyAgICBzdGF0aWMgSW1hZ2VPcmllbnRhdGlvbkVudW0gaW5pdGlhbEltYWdl
T3JpZW50YXRpb24oKSB7IHJldHVybiBEZWZhdWx0SW1hZ2VPcmllbnRhdGlvbjsgfQogICAgIHN0
YXRpYyBFSW1hZ2VSZW5kZXJpbmcgaW5pdGlhbEltYWdlUmVuZGVyaW5nKCkgeyByZXR1cm4gSW1h
Z2VSZW5kZXJpbmdBdXRvOyB9CiAgICAgc3RhdGljIEltYWdlUmVzb2x1dGlvblNvdXJjZSBpbml0
aWFsSW1hZ2VSZXNvbHV0aW9uU291cmNlKCkgeyByZXR1cm4gSW1hZ2VSZXNvbHV0aW9uU3BlY2lm
aWVkOyB9CiAgICAgc3RhdGljIGZsb2F0IGluaXRpYWxJbWFnZVJlc29sdXRpb24oKSB7IHJldHVy
biAxOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKaW5kZXggN2ZlNjA5YzIxOGRmMGVhODZhOGVkNjQ4NmIz
YjNkZDY3YmFmNGM5ZS4uNDZiNWFmYzc3MzJkMDU3OTZhNWU2NzZmMjIzOTEyMGMzOTRlYTc2YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVy
aXRlZERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJh
cmVJbmhlcml0ZWREYXRhLmNwcApAQCAtODEsNiArODEsOSBAQCBTdHlsZVJhcmVJbmhlcml0ZWRE
YXRhOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhKCkKICAgICAsIHRleHRFbXBoYXNpc01hcmsoVGV4
dEVtcGhhc2lzTWFya05vbmUpCiAgICAgLCB0ZXh0RW1waGFzaXNQb3NpdGlvbihUZXh0RW1waGFz
aXNQb3NpdGlvbk92ZXIpCiAgICAgLCBtX2xpbmVCb3hDb250YWluKFJlbmRlclN0eWxlOjppbml0
aWFsTGluZUJveENvbnRhaW4oKSkKKyNpZiBFTkFCTEUoQ1NTX0lNQUdFX09SSUVOVEFUSU9OKQor
ICAgICwgbV9pbWFnZU9yaWVudGF0aW9uKFJlbmRlclN0eWxlOjppbml0aWFsSW1hZ2VPcmllbnRh
dGlvbigpIC0gMSkKKyNlbmRpZgogICAgICwgbV9pbWFnZVJlbmRlcmluZyhSZW5kZXJTdHlsZTo6
aW5pdGlhbEltYWdlUmVuZGVyaW5nKCkpCiAgICAgLCBtX2xpbmVTbmFwKFJlbmRlclN0eWxlOjpp
bml0aWFsTGluZVNuYXAoKSkKICAgICAsIG1fbGluZUFsaWduKFJlbmRlclN0eWxlOjppbml0aWFs
TGluZUFsaWduKCkpCkBAIC0xMzksNiArMTQyLDkgQEAgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YShjb25zdCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhJiBvKQog
ICAgICwgdGV4dEVtcGhhc2lzTWFyayhvLnRleHRFbXBoYXNpc01hcmspCiAgICAgLCB0ZXh0RW1w
aGFzaXNQb3NpdGlvbihvLnRleHRFbXBoYXNpc1Bvc2l0aW9uKQogICAgICwgbV9saW5lQm94Q29u
dGFpbihvLm1fbGluZUJveENvbnRhaW4pCisjaWYgRU5BQkxFKENTU19JTUFHRV9PUklFTlRBVElP
TikKKyAgICAsIG1faW1hZ2VPcmllbnRhdGlvbihvLm1faW1hZ2VPcmllbnRhdGlvbikKKyNlbmRp
ZgogICAgICwgbV9pbWFnZVJlbmRlcmluZyhvLm1faW1hZ2VSZW5kZXJpbmcpCiAgICAgLCBtX2xp
bmVTbmFwKG8ubV9saW5lU25hcCkKICAgICAsIG1fbGluZUFsaWduKG8ubV9saW5lQWxpZ24pCkBA
IC0yMjgsNiArMjM0LDkgQEAgYm9vbCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09
KGNvbnN0IFN0eWxlUmFyZUluaGVyaXRlZERhdGEmIG8pIGNvbnN0CiAgICAgICAgICYmIFF1b3Rl
c0RhdGE6OmVxdWFsKHF1b3Rlcy5nZXQoKSwgby5xdW90ZXMuZ2V0KCkpCiAgICAgICAgICYmIG1f
dGFiU2l6ZSA9PSBvLm1fdGFiU2l6ZQogICAgICAgICAmJiBtX2xpbmVHcmlkID09IG8ubV9saW5l
R3JpZAorI2lmIEVOQUJMRShDU1NfSU1BR0VfT1JJRU5UQVRJT04pCisgICAgICAgICYmIG1faW1h
Z2VPcmllbnRhdGlvbiA9PSBvLm1faW1hZ2VPcmllbnRhdGlvbgorI2VuZGlmCiAgICAgICAgICYm
IG1faW1hZ2VSZW5kZXJpbmcgPT0gby5tX2ltYWdlUmVuZGVyaW5nCiAjaWYgRU5BQkxFKENTU19J
TUFHRV9SRVNPTFVUSU9OKQogICAgICAgICAmJiBtX2ltYWdlUmVzb2x1dGlvblNvdXJjZSA9PSBv
Lm1faW1hZ2VSZXNvbHV0aW9uU291cmNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaAppbmRleCA1ODkxYWY5OGYxNzVm
OTJkZmQ2ZjlmZjIyNjc1NTFmMTgzNDk2YTllLi5iMjIwZjE5MmU5ODNlYWMwYjEyZWZiYzdiZjQ0
ODkwMDVmNzZlMmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKQEAgLTk1LDYgKzk1LDkgQEAgcHVibGljOgog
ICAgIHVuc2lnbmVkIHRleHRFbXBoYXNpc1Bvc2l0aW9uIDogMTsgLy8gVGV4dEVtcGhhc2lzUG9z
aXRpb24KICAgICB1bnNpZ25lZCBtX2xpbmVCb3hDb250YWluOiA3OyAvLyBMaW5lQm94Q29udGFp
bgogICAgIC8vIENTUyBJbWFnZSBWYWx1ZXMgTGV2ZWwgMworI2lmIEVOQUJMRShDU1NfSU1BR0Vf
T1JJRU5UQVRJT04pCisgICAgdW5zaWduZWQgbV9pbWFnZU9yaWVudGF0aW9uIDogMzsgLy8gSW1h
Z2VPcmllbnRhdGlvbkVudW0gLSAxCisjZW5kaWYKICAgICB1bnNpZ25lZCBtX2ltYWdlUmVuZGVy
aW5nIDogMjsgLy8gRUltYWdlUmVuZGVyaW5nCiAgICAgdW5zaWduZWQgbV9saW5lU25hcCA6IDI7
IC8vIExpbmVTbmFwCiAgICAgdW5zaWduZWQgbV9saW5lQWxpZ24gOiAxOyAvLyBMaW5lQWxpZ24K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjMGMxNzdjYzZmMDBkNWVlY2I0ZjcwODI0MDdhZTNjYzA2MDIyMDZhLi4zMGRiMDRj
NTdkZGU2YzhiZjRiNDRiZDhjYmFiMjlhMTQxMmRlZjk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTItMDYtMjEgIERhdmlkIEJhcnIgIDxkYXZpZGJhcnJAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIEFkZCBwYXJzaW5nIGFuZCBzdHlsZSBhcHBsaWNhdGlvbiBmb3IgY3NzMy1pbWFnZXMgaW1h
Z2Utb3JpZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg5NjI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L2Nzcy9pbWFnZS1vcmllbnRhdGlvbi9pbWFnZS1vcmllbnRhdGlvbi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uL2lt
YWdlLW9yaWVudGF0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGVzdHMgdW50aWwgaW1hZ2Utb3JpZW50YXRpb24gaW1w
bGVtZW50YXRpb24gbGFuZHMuCisgICAgICAgICogcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlv
bnM6IFNraXAgdGVzdHMgdW50aWwgaW1hZ2Utb3JpZW50YXRpb24gaW1wbGVtZW50YXRpb24gbGFu
ZHMuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGVzdHMg
dW50aWwgaW1hZ2Utb3JpZW50YXRpb24gaW1wbGVtZW50YXRpb24gbGFuZHMuCisgICAgICAgICog
cGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGVzdHMgdW50aWwgaW1hZ2Utb3Jp
ZW50YXRpb24gaW1wbGVtZW50YXRpb24gbGFuZHMuCisgICAgICAgICogcGxhdGZvcm0vcXQvVGVz
dEV4cGVjdGF0aW9uczogU2tpcCB0ZXN0cyB1bnRpbCBpbWFnZS1vcmllbnRhdGlvbiBpbXBsZW1l
bnRhdGlvbiBsYW5kcy4KKwogMjAxMi0wNi0yMCAgSm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogUmVtb3ZlIHJlZHVuZGFudCBJREJPYmplY3RT
dG9yZS5kZWxldGUoKSBvdmVybG9hZHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L2ltYWdlLW9yaWVudGF0aW9uL2ltYWdlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uL2ltYWdlLW9yaWVudGF0aW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45YTUxMzg0ODhkZjg0Y2I4NzY3NjUzYmY4OTZjYzA4NmFiODg0
MWVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvaW1hZ2Utb3JpZW50
YXRpb24vaW1hZ2Utb3JpZW50YXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDMgQEAKK0Fw
cGx5IGltYWdlLXJlc29sdXRpb24gcHJvcGVydHkgYW5kIGNoZWNrIGNvbXB1dGVkIHN0eWxlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBwLnN0eWxlLmNzc1RleHQgaXMg
ImltYWdlLW9yaWVudGF0aW9uOiAtMzYwZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocCku
aW1hZ2VPcmllbnRhdGlvbiBpcyAiMGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NUZXh0IGlzICJpbWFn
ZS1vcmllbnRhdGlvbjogLTMxNWRlZzsgIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHApLmltYWdl
T3JpZW50YXRpb24gaXMgIjBkZWciCitQQVNTIHAuc3R5bGUuY3NzVGV4dCBpcyAiaW1hZ2Utb3Jp
ZW50YXRpb246IDBkZWc7ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0
aW9uIGlzICIwZGVnIgorUEFTUyBwLnN0eWxlLmNzc1RleHQgaXMgImltYWdlLW9yaWVudGF0aW9u
OiAzMTVkZWc7ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlz
ICIwZGVnIgorUEFTUyBwLnN0eWxlLmNzc1RleHQgaXMgImltYWdlLW9yaWVudGF0aW9uOiAzNjBk
ZWc7ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlzICIwZGVn
IgorUEFTUyBwLnN0eWxlLmNzc1RleHQgaXMgImltYWdlLW9yaWVudGF0aW9uOiAtMjcwZGVnOyAi
CitQQVNTIGdldENvbXB1dGVkU3R5bGUocCkuaW1hZ2VPcmllbnRhdGlvbiBpcyAiOTBkZWciCitQ
QVNTIHAuc3R5bGUuY3NzVGV4dCBpcyAiaW1hZ2Utb3JpZW50YXRpb246IC0yMjVkZWc7ICIKK1BB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlzICI5MGRlZyIKK1BBU1Mg
cC5zdHlsZS5jc3NUZXh0IGlzICJpbWFnZS1vcmllbnRhdGlvbjogNDVkZWc7ICIKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlzICI5MGRlZyIKK1BBU1MgcC5zdHls
ZS5jc3NUZXh0IGlzICJpbWFnZS1vcmllbnRhdGlvbjogOTBkZWc7ICIKK1BBU1MgZ2V0Q29tcHV0
ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlzICI5MGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NU
ZXh0IGlzICJpbWFnZS1vcmllbnRhdGlvbjogLTE4MGRlZzsgIgorUEFTUyBnZXRDb21wdXRlZFN0
eWxlKHApLmltYWdlT3JpZW50YXRpb24gaXMgIjE4MGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NUZXh0
IGlzICJpbWFnZS1vcmllbnRhdGlvbjogLTEzNWRlZzsgIgorUEFTUyBnZXRDb21wdXRlZFN0eWxl
KHApLmltYWdlT3JpZW50YXRpb24gaXMgIjE4MGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NUZXh0IGlz
ICJpbWFnZS1vcmllbnRhdGlvbjogMTM1ZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocCku
aW1hZ2VPcmllbnRhdGlvbiBpcyAiMTgwZGVnIgorUEFTUyBwLnN0eWxlLmNzc1RleHQgaXMgImlt
YWdlLW9yaWVudGF0aW9uOiAtMTgwZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocCkuaW1h
Z2VPcmllbnRhdGlvbiBpcyAiMTgwZGVnIgorUEFTUyBwLnN0eWxlLmNzc1RleHQgaXMgImltYWdl
LW9yaWVudGF0aW9uOiAtOTBkZWc7ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9y
aWVudGF0aW9uIGlzICIyNzBkZWciCitQQVNTIHAuc3R5bGUuY3NzVGV4dCBpcyAiaW1hZ2Utb3Jp
ZW50YXRpb246IC00NWRlZzsgIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHApLmltYWdlT3JpZW50
YXRpb24gaXMgIjI3MGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NUZXh0IGlzICJpbWFnZS1vcmllbnRh
dGlvbjogMjI1ZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocCkuaW1hZ2VPcmllbnRhdGlv
biBpcyAiMjcwZGVnIgorUEFTUyBwLnN0eWxlLmNzc1RleHQgaXMgImltYWdlLW9yaWVudGF0aW9u
OiAyNzBkZWc7ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlz
ICIyNzBkZWciCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvaW1hZ2Utb3JpZW50YXRpb24v
aW1hZ2Utb3JpZW50YXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ltYWdlLW9yaWVu
dGF0aW9uL2ltYWdlLW9yaWVudGF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzYyNzEyMjg2MTg1MWZj
NjM4NTY0NzdiNDAyYjFjM2E5MTdhMzllYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uL2ltYWdlLW9yaWVudGF0aW9uLmh0bWwKQEAgLTAs
MCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlIHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj48L3N0eWxlPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignQXBwbHkgaW1hZ2UtcmVzb2x1dGlvbiBw
cm9wZXJ0eSBhbmQgY2hlY2sgY29tcHV0ZWQgc3R5bGUuJyk7CisKK3ZhciBleHBlY3RhdGlvbnMg
PSB7CisgICAgJzBkZWcnOiBbJy0zNjBkZWcnLCAnLTMxNWRlZycsICcwZGVnJywgJzMxNWRlZycs
ICczNjBkZWcnXSwKKyAgICAnOTBkZWcnOiBbJy0yNzBkZWcnLCAnLTIyNWRlZycsICc0NWRlZycs
ICc5MGRlZyddLAorICAgICcxODBkZWcnOiBbJy0xODBkZWcnLCAnLTEzNWRlZycsICcxMzVkZWcn
LCAnLTE4MGRlZyddLAorICAgICcyNzBkZWcnOiBbJy05MGRlZycsICctNDVkZWcnLCAnMjI1ZGVn
JywgJzI3MGRlZyddfTsKKwordmFyIHAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJyk7Citk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHApOworZm9yIChleHBlY3RlZCBpbiBleHBlY3RhdGlv
bnMpIHsKKyAgICBleHBlY3RhdGlvbnNbZXhwZWN0ZWRdLmZvckVhY2goZnVuY3Rpb24odGVzdCkg
eworICAgICAgICBwLnN0eWxlLmltYWdlT3JpZW50YXRpb24gPSAnJzsKKyAgICAgICAgcC5zdHls
ZS5pbWFnZU9yaWVudGF0aW9uID0gdGVzdDsKKyAgICAgICAgc2hvdWxkQmUoJ3Auc3R5bGUuY3Nz
VGV4dCcsICciaW1hZ2Utb3JpZW50YXRpb246ICcgKyB0ZXN0ICsgJzsgIicpOworICAgICAgICBz
aG91bGRCZSgnZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uJywgJyInICsgZXhw
ZWN0ZWQgKyAnIicpOworICAgIH0pOworfQorZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChwKTsK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMTYwNzZhNDk4ZmY2YmFmZjMzYzgwMWYw
NDFkNTZlMWZiNzg1MzVlMi4uYjZmMWRjNDRkYTYzMzdkZDI5MzBlY2ZkOGFiOWIxMmIwYzQxOWIy
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25z
CkBAIC0xNTgsNiArMTU4LDkgQEAgQlVHV0s4NTU4MCBTS0lQIDogZmFzdC9jc3MvdmFyaWFibGVz
ID0gUEFTUwogLy8gQ1NTIGltYWdlLXJlc29sdXRpb24gaXMgbm90IHlldCBlbmFibGVkLgogQlVH
V0s4NTI2MiBTS0lQIDogZmFzdC9jc3MvaW1hZ2UtcmVzb2x1dGlvbiA9IFBBU1MKIAorLy8gQ1NT
IGltYWdlLW9yaWVudGF0aW9uIGlzIG5vdCB5ZXQgZW5hYmxlZC4KK0JVR1dLODkwNTIgU0tJUCA6
IGZhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uID0gUEFTUworCiAvLyBDaHJvbWl1bSBuZWVkcyBs
YXJnZXIgbWVkaWEgZmlsZXMgdG8gdGVzdCBidWZmZXJpbmcgdGhpcyB3YXkuCiBCVUdXSzg4MTcy
IFNLSVAgOiBodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLWJ1ZmZlcmVkLmh0bWwgPSBQQVNTCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYzMxNzdhNTE4NzJm
NzJiZDlhMzcyYmMzNzgyMjZmNWZmYTFhMTNmYi4uNThmMTliNWFlNWY0ZGQyMTMxMWRhOTg5ZjM0
Yzk4ZWNjODk1OWY4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTU2LDYgKzU2LDkgQEAgQlVHV0s4NTQ2NSBTS0lQIDogZmFzdC9jc3MvZ2V0Q29tcHV0
ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS5odG1sID0gVEVYVAogLy8gQ1NTIGltYWdlLXJlc29sdXRp
b24gaXMgbm90IHlldCBlbmFibGVkLgogQlVHV0s4NTI2MiBTS0lQIDogZmFzdC9jc3MvaW1hZ2Ut
cmVzb2x1dGlvbiA9IFBBU1MKIAorLy8gQ1NTIGltYWdlLW9yaWVudGF0aW9uIGlzIG5vdCB5ZXQg
ZW5hYmxlZC4KK0JVR1dLODkwNTIgU0tJUCA6IGZhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uID0g
UEFTUworCiAvLyBUaGlzIHRlc3QgYXNzdW1lcyB3ZSBjYW5ub3QgcGxheSBSVFNQLCBidXQgd2Ug
Y2FuLgogQlVHV0tFRkwgU0tJUCA6IG1lZGlhL3Vuc3VwcG9ydGVkLXJ0c3AuaHRtbCA9IFRJTUVP
VVQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1MTk4
YWFkYzVhOTdjMDM2MTYwNGJkZjJhZjdmOTg4YzgyNGJjYjcwLi5kMGY0OTQ4MzgzOWU5ZjA5OGI3
ZmE1ODU5NWIwMGUzNGM0YTE0ZWM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtMzIwLDYgKzMyMCw5IEBAIEJVR1dLODU1ODAgU0tJUCA6IGZhc3QvY3Nz
L3ZhcmlhYmxlcyA9IFBBU1MgVEVYVAogLy8gQ1NTIGltYWdlLXJlc29sdXRpb24gaXMgbm90IHll
dCBlbmFibGVkLgogQlVHV0s4NTI2MiBTS0lQIDogZmFzdC9jc3MvaW1hZ2UtcmVzb2x1dGlvbiA9
IFBBU1MgVEVYVAogCisvLyBDU1MgaW1hZ2Utb3JpZW50YXRpb24gaXMgbm90IHlldCBlbmFibGVk
LgorQlVHV0s4OTA1MiBTS0lQIDogZmFzdC9jc3MvaW1hZ2Utb3JpZW50YXRpb24gPSBQQVNTCisK
IC8vIE5vIENPUlMgc3VwcG9ydCBmb3IgbWVkaWEgZWxlbWVudHMgaXMgaW1wbGVtZW50ZWQgeWV0
LgogQlVHV0tHVEsgU0tJUCA6IGh0dHAvdGVzdHMvc2VjdXJpdHkvdmlkZW8tY3Jvc3Mtb3JpZ2lu
LXJlYWRiYWNrLmh0bWwgPSBURVhUCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggODRhZTgwOThlMWUwOTUwY2EyZTU0ZWI4MzkxYTA4MTU1YWM1Nzk0OC4u
YzYxZTU0N2VmZjYzYTg3NDJmOThmZWUwYTZhNGM3MjYyZGY0MTlmMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE4LDYgKzE4LDkgQEAgQlVHV0s4Nzkw
OCBTS0lQIDogZWRpdGluZy91bmRvbWFuYWdlciA9IFBBU1MKIC8vIENTUyBpbWFnZS1yZXNvbHV0
aW9uIGlzIG5vdCB5ZXQgZW5hYmxlZC4KIEJVR1dLODUyNjIgU0tJUCA6IGZhc3QvY3NzL2ltYWdl
LXJlc29sdXRpb24gPSBQQVNTCiAKKy8vIENTUyBpbWFnZS1vcmllbnRhdGlvbiBpcyBub3QgeWV0
IGVuYWJsZWQuCitCVUdXSzg5MDUyIFNLSVAgOiBmYXN0L2Nzcy9pbWFnZS1vcmllbnRhdGlvbiA9
IFBBU1MKKwogLy8gT3VyIHNsb3cgdGVzdHMsIGluIGFscGhhYmV0aWNhbCBvcmRlci4KIEJVR1dL
NTc2NzIgOiBodHRwL3Rlc3RzL2xvY2FsL2ZpbGVhcGkvc2VuZC1zbGljZWQtZHJhZ2dlZC1maWxl
Lmh0bWwgPSBURVhUIFBBU1MKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggOTBiYWQ4ZDJjM2UyZjUzNjAxNWJlZTdiMWIyOTVhYjhiMjFmY2FlZS4uYmVjODVi
MmE3MjlhMTkzMTE1N2M4OWYyYjIxMTM2ZTcwYTI2NjU2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9UZXN0RXhwZWN0YXRpb25zCkBAIC04MCw2ICs4MCw5IEBAIEJVR1dLODc5MDggU0tJUCA6
IGVkaXRpbmcvdW5kb21hbmFnZXIgPSBQQVNTCiAvLyBDU1MgaW1hZ2UtcmVzb2x1dGlvbiBpcyBu
b3QgeWV0IGVuYWJsZWQuCiBCVUdXSzg1MjYyIFNLSVAgOiBmYXN0L2Nzcy9pbWFnZS1yZXNvbHV0
aW9uID0gUEFTUwogCisvLyBDU1MgaW1hZ2Utb3JpZW50YXRpb24gaXMgbm90IHlldCBlbmFibGVk
LgorQlVHV0s4OTA1MiBTS0lQIDogZmFzdC9jc3MvaW1hZ2Utb3JpZW50YXRpb24gPSBQQVNTCisK
IC8vIE5lZWRzIHJlYmFzZWxpbmUgYWZ0ZXIgYnVnIDg2NDQxCiAvLyBmYWlsaW5nIG5ldyB0ZXN0
cwogQlVHV0s4NjQ0MSBTS0lQIDogZmFzdC9ib3JkZXJzL2JvcmRlci1hbnRpYWxpYXNpbmcuaHRt
bCA9IElNQUdFCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152705</attachid>
            <date>2012-07-17 00:20:48 -0700</date>
            <delta_ts>2012-07-17 14:26:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89624-20120717172046.patch</filename>
            <type>text/plain</type>
            <size>23622</size>
            <attacher name="David Barr">davidbarr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyODEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGYyMGVmNDNjNGM3YjYz
YWVlNDE0YjU5NzQzY2Y5YjM4MGI4NDBjYi4uNWM2NjllNWIwOTBjOWI2MWM0MTNmZjFhYzMwODdk
N2YxZmY3YWIyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTA3LTE3ICBEYXZp
ZCBCYXJyICA8ZGF2aWRiYXJyQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgcGFyc2luZyBh
bmQgc3R5bGUgYXBwbGljYXRpb24gZm9yIGNzczMtaW1hZ2VzIGltYWdlLW9yaWVudGF0aW9uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTYyNAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBjc3MzLWlt
YWdlcyBtb2R1bGUgaXMgYXQgY2FuZGlkYXRlIHJlY29tbWVuZGF0aW9uLgorICAgICAgICBodHRw
Oi8vd3d3LnczLm9yZy9UUi8yMDEyL0NSLWNzczMtaW1hZ2VzLTIwMTIwNDE3LyN0aGUtaW1hZ2Ut
b3JpZW50YXRpb24KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9pbWFnZS1vcmllbnRhdGlvbi9p
bWFnZS1vcmllbnRhdGlvbi5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmNwcDogQWRkIGNvbXB1dGVkIHN0eWxlIGZvciBpbWFnZS1vcmllbnRhdGlvbi4K
KyAgICAgICAgKFdlYkNvcmUpOiBBZGQgQ1NTUHJvcGVydHlJbWFnZU9yaWVudGF0aW9uIHRvIGNv
bXB1dGVkUHJvcGVydGllcy4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZSk6IE1hcCBDU1NQcm9wZXJ0eUltYWdlT3JpZW50
YXRpb24gdXNpbmcgY2FzdCBvcGVyYXRvciBmcm9tIFByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuCisg
ICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6IEFkZCBwYXJzaW5nIHJ1bGUgZm9yIGltYWdlLW9y
aWVudGF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKTogUGFy
c2UgdGhlIHZhbHVlIG9mIENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbiBhcyBhbiBhbmdsZS4K
KyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOiBBZGQgbWFwcGluZ3Mg
YmV0d2VlbiBDU1NQcmltaXRpdmVWYWx1ZSBhbmQgSW1hZ2VPcmllbnRhdGlvbkVudW0uCisgICAg
ICAgIChXZWJDb3JlKTogQWRkIGNvbmRpdGlvbmFsIGluY2x1ZGUgZm9yIEltYWdlT3JpZW50YXRp
b24uaC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVW
YWx1ZSk6IE1hcCB0aGUgbmF0dXJhbCBvcmllbnRhdGlvbnMgdG8gYW5nbGVzLgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEltYWdlT3JpZW50YXRpb25FbnVt
KTogUm91bmQgYW5nbGVzIGF3YXkgZnJvbSB6ZXJvIHRvIHF1YXJ0ZXIgdHVybnMgYW5kIG1hcCB0
byB0aGUgbmF0dXJhbCBvcmllbnRhdGlvbnMuCisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5LmNw
cDogQWRkIENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkNT
U1Byb3BlcnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KTogTWFwIENTU1Byb3BlcnR5SW1hZ2VPcmll
bnRhdGlvbiBpbmhlcml0ZWQuCisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46IEFk
ZCBpbWFnZS1vcmllbnRhdGlvbi4KKyAgICAgICAgKiBjc3MvU3R5bGVCdWlsZGVyLmNwcDogQWRk
IHN0eWxlIGFwcGxpY2F0aW9uIGxvZ2ljIGZvciBDU1NQcm9wZXJ0eUltYWdlT3JpZW50YXRpb24u
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJ1aWxkZXI6OlN0eWxlQnVpbGRlcik6IE1hcCBDU1NQ
cm9wZXJ0eUltYWdlT3JpZW50YXRpb24gdG8gUmVuZGVyU3R5bGU6OmltYWdlT3JpZW50YXRpb24g
d2l0aCB0eXBlIEltYWdlT3JpZW50YXRpb25FbnVtLgorICAgICAgICAqIGNzcy9TdHlsZVJlc29s
dmVyLmNwcDogSGFuZGxlIENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbi4KKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkpOiBFeHBlY3QgQ1NTUHJvcGVydHlJ
bWFnZU9yaWVudGF0aW9uIHRvIGJlIGhhbmRsZWQgYnkgU3R5bGVCdWlsZGVyLgorICAgICAgICAq
IHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOiBBZGQgaW1hZ2VPcmllbnRhdGlvbiwgc2V0
SW1hZ2VPcmllbnRhdGlvbiBhbmQgaW5pdGlhbEltYWdlT3JpZW50YXRpb24uCisgICAgICAgICog
cmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwOiBBZGQgbV9pbWFnZU9y
aWVudGF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5
bGVSYXJlSW5oZXJpdGVkRGF0YSk6IEFkZCBtX2ltYWdlT3JpZW50YXRpb24gdG8gZGVmYXVsdCBh
bmQgY29weSBjb250cnVjdG9ycy4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRl
ZERhdGE6Om9wZXJhdG9yPT0pOiBJbmNsdWRlIG1faW1hZ2VPcmllbnRhdGlvbiBpbiBjb21wYXJp
c29uLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmg6
IEFkZCBtX2ltYWdlT3JpZW50YXRpb24uCisgICAgICAgIChTdHlsZVJhcmVJbmhlcml0ZWREYXRh
KTogQWRkIDMtYml0IGZpZWxkIG1faW1hZ2VPcmllbnRhdGlvbiwgbWFwcGluZyB0byBJbWFnZU9y
aWVudGF0aW9uRW51bSB3aGljaCBzdGFydHMgYXQgMS4KKwogMjAxMi0wNy0xNiAgRGFuaWVsIEJh
dGVzICA8ZGJhdGVzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQXR0ZW1wdCB0byBmaXggdGhlIENo
cm9taXVtIE1hYyBidWlsZCBhZnRlciA8aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQv
MTIyODAyPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmNwcAppbmRleCA0ZDU3MWNmMWVjYTQ5NDQwMDFmNzdmM2Q3ZDM1MjFkMTI4ZTM5YzIw
Li4yNjYxNWM1ZjAzNGFlMTdjMjE2NTYwNWY4ZjY1MjIwMTg1YTMxOTQxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMTMw
LDYgKzEzMCw5IEBAIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGNvbXB1dGVkUHJvcGVydGll
c1tdID0gewogICAgIENTU1Byb3BlcnR5Rm9udFZhcmlhbnQsCiAgICAgQ1NTUHJvcGVydHlGb250
V2VpZ2h0LAogICAgIENTU1Byb3BlcnR5SGVpZ2h0LAorI2lmIEVOQUJMRShDU1NfSU1BR0VfT1JJ
RU5UQVRJT04pCisgICAgQ1NTUHJvcGVydHlJbWFnZU9yaWVudGF0aW9uLAorI2VuZGlmCiAgICAg
Q1NTUHJvcGVydHlJbWFnZVJlbmRlcmluZywKICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJ
T04pCiAgICAgQ1NTUHJvcGVydHlJbWFnZVJlc29sdXRpb24sCkBAIC0xNzc1LDYgKzE3NzgsMTAg
QEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQ
cm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnQKICAgICAgICAgICAgIGlmIChzdHlsZS0+Ym9yZGVy
Rml0KCkgPT0gQm9yZGVyRml0Qm9yZGVyKQogICAgICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1
ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVCb3JkZXIpOwogICAgICAgICAg
ICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUxp
bmVzKTsKKyNpZiBFTkFCTEUoQ1NTX0lNQUdFX09SSUVOVEFUSU9OKQorICAgICAgICBjYXNlIENT
U1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbjoKKyAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBv
b2woKS5jcmVhdGVWYWx1ZShzdHlsZS0+aW1hZ2VPcmllbnRhdGlvbigpKTsKKyNlbmRpZgogICAg
ICAgICBjYXNlIENTU1Byb3BlcnR5SW1hZ2VSZW5kZXJpbmc6CiAgICAgICAgICAgICByZXR1cm4g
Q1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShzdHlsZS0+aW1hZ2VSZW5kZXJpbmcoKSk7CiAjaWYg
RU5BQkxFKENTU19JTUFHRV9SRVNPTFVUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRl
eCBlZWU1M2NjYjZjOGQ1ZGRhYjAxZjBhODRkN2ZjODlmZWZhNTNjY2VlLi5iYzY4Nzg2ZjE3YjM1
ZGZkMDZjZjc3ZjUwZTQ4N2M1ZWM0YjgwMjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApA
QCAtMjY4Nyw2ICsyNjg3LDExIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKENTU1Byb3Bl
cnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
V3JhcDoKICAgICAgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmNzc0V4Y2x1c2lv
bnNFbmFibGVkKCkgJiYgcGFyc2VTaG9ydGhhbmQocHJvcElkLCB3ZWJraXRXcmFwU2hvcnRoYW5k
KCksIGltcG9ydGFudCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoQ1NTX0lNQUdFX09SSUVOVEFUSU9O
KQorICAgIGNhc2UgQ1NTUHJvcGVydHlJbWFnZU9yaWVudGF0aW9uOgorICAgICAgICB2YWxpZFBy
aW1pdGl2ZSA9ICFpZCAmJiB2YWxpZFVuaXQodmFsdWUsIEZBbmdsZSk7CisgICAgICAgIGJyZWFr
OworI2VuZGlmCiAjaWYgRU5BQkxFKENTU19JTUFHRV9SRVNPTFVUSU9OKQogICAgIGNhc2UgQ1NT
UHJvcGVydHlJbWFnZVJlc29sdXRpb246CiAgICAgICAgIHBhcnNlZFZhbHVlID0gcGFyc2VJbWFn
ZVJlc29sdXRpb24obV92YWx1ZUxpc3QuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggNDg1NWVjMzgxY2NmODFkMjYxODUwNzkz
NjRmOTc3ZmU2ZWMzNWJiOC4uZWI5YWViNTViOGYzOWMwOWZkNDdlMThjNDY5NzUyNDdlODdkNGM2
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGlu
Z3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5o
CkBAIC0zNyw2ICszNyw5IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVk
ZSAiRm9udFNtb290aGluZ01vZGUuaCIKICNpbmNsdWRlICJHcmFwaGljc1R5cGVzLmgiCisjaWYg
RU5BQkxFKENTU19JTUFHRV9PUklFTlRBVElPTikKKyNpbmNsdWRlICJJbWFnZU9yaWVudGF0aW9u
LmgiCisjZW5kaWYKICNpbmNsdWRlICJMZW5ndGguaCIKICNpbmNsdWRlICJMaW5lQ2xhbXBWYWx1
ZS5oIgogI2luY2x1ZGUgIlBhdGguaCIKQEAgLTQxMDgsNiArNDExMSw1MiBAQCB0ZW1wbGF0ZTw+
IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRVZlY3RvckVmZmVjdCgpIGNvbnN0
CiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQogCisjaWYgRU5BQkxFKENTU19JTUFHRV9PUklFTlRB
VElPTikKKwordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2
ZVZhbHVlKEltYWdlT3JpZW50YXRpb25FbnVtIGUpCisgICAgOiBDU1NWYWx1ZShQcmltaXRpdmVD
bGFzcykKK3sKKyAgICBtX3ByaW1pdGl2ZVVuaXRUeXBlID0gQ1NTX0RFRzsKKyAgICBzd2l0Y2gg
KGUpIHsKKyAgICBjYXNlIE9yaWdpblRvcExlZnQ6CisgICAgICAgIG1fdmFsdWUubnVtID0gMDsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBPcmlnaW5SaWdodFRvcDoKKyAgICAgICAgbV92YWx1
ZS5udW0gPSA5MDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBPcmlnaW5Cb3R0b21SaWdodDoK
KyAgICAgICAgbV92YWx1ZS5udW0gPSAxODA7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgT3Jp
Z2luTGVmdEJvdHRvbToKKyAgICAgICAgbV92YWx1ZS5udW0gPSAyNzA7CisgICAgICAgIGJyZWFr
OworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KK30K
KwordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEltYWdlT3Jp
ZW50YXRpb25FbnVtKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoaXNBbmdsZSgpKTsKKyAgICBkb3Vi
bGUgcXVhcnRlcnMgPSA0ICogZ2V0RG91YmxlVmFsdWUoQ1NTX1RVUk4pOworICAgIGludCBvcmll
bnRhdGlvbiA9IDMgJiBzdGF0aWNfY2FzdDxpbnQ+KHF1YXJ0ZXJzIDwgMCA/IGZsb29yKHF1YXJ0
ZXJzKSA6IGNlaWwocXVhcnRlcnMpKTsKKyAgICBzd2l0Y2ggKG9yaWVudGF0aW9uKSB7CisgICAg
Y2FzZSAwOgorICAgICAgICByZXR1cm4gT3JpZ2luVG9wTGVmdDsKKyAgICBjYXNlIDE6CisgICAg
ICAgIHJldHVybiBPcmlnaW5SaWdodFRvcDsKKyAgICBjYXNlIDI6CisgICAgICAgIHJldHVybiBP
cmlnaW5Cb3R0b21SaWdodDsKKyAgICBjYXNlIDM6CisgICAgICAgIHJldHVybiBPcmlnaW5MZWZ0
Qm90dG9tOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICByZXR1cm4gT3JpZ2luVG9wTGVmdDsKKyAgICB9Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUo
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKQorCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9w
ZXJ0eS5jcHAKaW5kZXggNzZjYzhlYTFhMzU3MjNhMDM1NjY5ODZmMTBmZTAxZmJjYTYxNjQyNi4u
OGM4MmRjNjVhNTY0ZTNiN2UxZDBiZTE0MzdhOWJkODk3NGY5ZWZlNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydHkuY3BwCkBAIC0yODIsNiArMjgyLDkgQEAgYm9vbCBDU1NQcm9wZXJ0eTo6aXNJ
bmhlcml0ZWRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eUZvbnRTdHlsZToKICAgICBjYXNlIENTU1Byb3BlcnR5Rm9udFZhcmlhbnQ6CiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eUZvbnRXZWlnaHQ6CisjaWYgRU5BQkxFKENTU19JTUFHRV9PUklFTlRB
VElPTikKKyAgICBjYXNlIENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbjoKKyNlbmRpZgogICAg
IGNhc2UgQ1NTUHJvcGVydHlJbWFnZVJlbmRlcmluZzoKICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JF
U09MVVRJT04pCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUltYWdlUmVzb2x1dGlvbjoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KaW5kZXggOGQ0NGY5ODA4NmM1NmIzOTU5YjZhZTIy
MjZjYmJhZTRiM2I3MmQxZi4uNTQ3OTA3ZWZiOTJjMTVhZjAzYWE2M2YyNTYxYzU0MzIxMzA0NzA4
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KQEAgLTEwMyw2ICsxMDMs
OSBAQCBlbXB0eS1jZWxscwogZmxvYXQKIGZvbnQtc3RyZXRjaAogaGVpZ2h0CisjaWYgZGVmaW5l
ZChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAmJiBFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OCitpbWFnZS1vcmllbnRhdGlvbgorI2VuZGlmCiBpbWFnZS1yZW5kZXJpbmcKICNpZiBk
ZWZpbmVkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJiYgRU5BQkxFX0NTU19JTUFHRV9S
RVNPTFVUSU9OCiBpbWFnZS1yZXNvbHV0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3Bw
CmluZGV4IDQ0ZWM4N2Y3YmE3MjAzMTlkNjVjZGNhMWYzYzc3MTAzZjFlNjhmZTUuLjBiNGYzZTk3
ZTBiN2YyOTRhY2NhNTRiM2NjNTFjYzhmZjdhNjRiYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1
aWxkZXIuY3BwCkBAIC0xODgwLDYgKzE4ODAsOSBAQCBTdHlsZUJ1aWxkZXI6OlN0eWxlQnVpbGRl
cigpCiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5Rm9udFZhcmlhbnQsIEFwcGx5
UHJvcGVydHlGb250PEZvbnRTbWFsbENhcHMsICZGb250RGVzY3JpcHRpb246OnNtYWxsQ2Fwcywg
JkZvbnREZXNjcmlwdGlvbjo6c2V0U21hbGxDYXBzLCBGb250U21hbGxDYXBzT2ZmPjo6Y3JlYXRl
SGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlGb250V2VpZ2h0
LCBBcHBseVByb3BlcnR5Rm9udFdlaWdodDo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9w
ZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlIZWlnaHQsIEFwcGx5UHJvcGVydHlMZW5ndGg8JlJlbmRl
clN0eWxlOjpoZWlnaHQsICZSZW5kZXJTdHlsZTo6c2V0SGVpZ2h0LCAmUmVuZGVyU3R5bGU6Omlu
aXRpYWxTaXplLCBBdXRvRW5hYmxlZCwgTGVnYWN5SW50cmluc2ljRW5hYmxlZCwgSW50cmluc2lj
RGlzYWJsZWQsIE5vbmVEaXNhYmxlZCwgVW5kZWZpbmVkRGlzYWJsZWQ+OjpjcmVhdGVIYW5kbGVy
KCkpOworI2lmIEVOQUJMRShDU1NfSU1BR0VfT1JJRU5UQVRJT04pCisgICAgc2V0UHJvcGVydHlI
YW5kbGVyKENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbiwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8
SW1hZ2VPcmllbnRhdGlvbkVudW0sICZSZW5kZXJTdHlsZTo6aW1hZ2VPcmllbnRhdGlvbiwgSW1h
Z2VPcmllbnRhdGlvbkVudW0sICZSZW5kZXJTdHlsZTo6c2V0SW1hZ2VPcmllbnRhdGlvbiwgSW1h
Z2VPcmllbnRhdGlvbkVudW0sICZSZW5kZXJTdHlsZTo6aW5pdGlhbEltYWdlT3JpZW50YXRpb24+
OjpjcmVhdGVIYW5kbGVyKCkpOworI2VuZGlmCiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1By
b3BlcnR5SW1hZ2VSZW5kZXJpbmcsIEFwcGx5UHJvcGVydHlEZWZhdWx0PEVJbWFnZVJlbmRlcmlu
ZywgJlJlbmRlclN0eWxlOjppbWFnZVJlbmRlcmluZywgRUltYWdlUmVuZGVyaW5nLCAmUmVuZGVy
U3R5bGU6OnNldEltYWdlUmVuZGVyaW5nLCBFSW1hZ2VSZW5kZXJpbmcsICZSZW5kZXJTdHlsZTo6
aW5pdGlhbEltYWdlUmVuZGVyaW5nPjo6Y3JlYXRlSGFuZGxlcigpKTsKICNpZiBFTkFCTEUoQ1NT
X0lNQUdFX1JFU09MVVRJT04pCiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5SW1h
Z2VSZXNvbHV0aW9uLCBBcHBseVByb3BlcnR5SW1hZ2VSZXNvbHV0aW9uOjpjcmVhdGVIYW5kbGVy
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IGFlZGIxOTllYTU1NDU4
MDVmZjg5ZWVkYTJkNmEzZDVjN2E2YjdjNmMuLjZiYTEwMzNiNDcyNzdmMjY2NDk3YTQ3ZGJmYjMy
ZWQ2MzkyNjhlNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTQxNjks
NiArNDE2OSw5IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0
eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZvbnRWYXJpYW50
OgogICAgIGNhc2UgQ1NTUHJvcGVydHlGb250V2VpZ2h0OgogICAgIGNhc2UgQ1NTUHJvcGVydHlI
ZWlnaHQ6CisjaWYgRU5BQkxFKENTU19JTUFHRV9PUklFTlRBVElPTikKKyAgICBjYXNlIENTU1By
b3BlcnR5SW1hZ2VPcmllbnRhdGlvbjoKKyNlbmRpZgogICAgIGNhc2UgQ1NTUHJvcGVydHlJbWFn
ZVJlbmRlcmluZzoKICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJT04pCiAgICAgY2FzZSBD
U1NQcm9wZXJ0eUltYWdlUmVzb2x1dGlvbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggYmI0YjI2OTM3ZjZkNjZiODJlYzJmYzdjOTk2ZTNmN2Rh
OGMxNzA1Mi4uMjcwYjY2MTcyYmJhZjQ0OGU3YmIyNGNjM2UzZDA0OWQyYjhmZTA0MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTk2Myw2ICs5
NjMsMTAgQEAgcHVibGljOgogICAgIGJvb2wgaXNGbGlwcGVkTGluZXNXcml0aW5nTW9kZSgpIGNv
bnN0IHsgcmV0dXJuIHdyaXRpbmdNb2RlKCkgPT0gTGVmdFRvUmlnaHRXcml0aW5nTW9kZSB8fCB3
cml0aW5nTW9kZSgpID09IEJvdHRvbVRvVG9wV3JpdGluZ01vZGU7IH0KICAgICBib29sIGlzRmxp
cHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkgY29uc3QgeyByZXR1cm4gd3JpdGluZ01vZGUoKSA9PSBS
aWdodFRvTGVmdFdyaXRpbmdNb2RlIHx8IHdyaXRpbmdNb2RlKCkgPT0gQm90dG9tVG9Ub3BXcml0
aW5nTW9kZTsgfQogCisjaWYgRU5BQkxFKENTU19JTUFHRV9PUklFTlRBVElPTikKKyAgICBJbWFn
ZU9yaWVudGF0aW9uRW51bSBpbWFnZU9yaWVudGF0aW9uKCkgY29uc3QgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8SW1hZ2VPcmllbnRhdGlvbkVudW0+KHJhcmVJbmhlcml0ZWREYXRhLT5tX2ltYWdlT3Jp
ZW50YXRpb24gKyAxKTsgfQorI2VuZGlmCisKICAgICBFSW1hZ2VSZW5kZXJpbmcgaW1hZ2VSZW5k
ZXJpbmcoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxFSW1hZ2VSZW5kZXJpbmc+KHJhcmVJ
bmhlcml0ZWREYXRhLT5tX2ltYWdlUmVuZGVyaW5nKTsgfQogCiAjaWYgRU5BQkxFKENTU19JTUFH
RV9SRVNPTFVUSU9OKQpAQCAtMTEzNSw2ICsxMTM5LDExIEBAIHB1YmxpYzoKICAgICBib29sIHNl
dFpvb20oZmxvYXQpOwogICAgIHZvaWQgc2V0Wm9vbVdpdGhvdXRSZXR1cm5WYWx1ZShmbG9hdCBm
KSB7IHNldFpvb20oZik7IH0KICAgICBib29sIHNldEVmZmVjdGl2ZVpvb20oZmxvYXQpOworCisj
aWYgRU5BQkxFKENTU19JTUFHRV9PUklFTlRBVElPTikKKyAgICB2b2lkIHNldEltYWdlT3JpZW50
YXRpb24oSW1hZ2VPcmllbnRhdGlvbkVudW0gdikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRh
LCBtX2ltYWdlT3JpZW50YXRpb24sIHN0YXRpY19jYXN0PGludD4odikgLSAxKSB9CisjZW5kaWYK
KwogICAgIHZvaWQgc2V0SW1hZ2VSZW5kZXJpbmcoRUltYWdlUmVuZGVyaW5nIHYpIHsgU0VUX1ZB
UihyYXJlSW5oZXJpdGVkRGF0YSwgbV9pbWFnZVJlbmRlcmluZywgdikgfQogCiAjaWYgRU5BQkxF
KENTU19JTUFHRV9SRVNPTFVUSU9OKQpAQCAtMTY1OCw2ICsxNjY3LDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIGluaXRpYWxUZXh0RW1waGFzaXNDdXN0b21NYXJr
KCkgeyByZXR1cm4gbnVsbEF0b207IH0KICAgICBzdGF0aWMgVGV4dEVtcGhhc2lzUG9zaXRpb24g
aW5pdGlhbFRleHRFbXBoYXNpc1Bvc2l0aW9uKCkgeyByZXR1cm4gVGV4dEVtcGhhc2lzUG9zaXRp
b25PdmVyOyB9CiAgICAgc3RhdGljIExpbmVCb3hDb250YWluIGluaXRpYWxMaW5lQm94Q29udGFp
bigpIHsgcmV0dXJuIExpbmVCb3hDb250YWluQmxvY2sgfCBMaW5lQm94Q29udGFpbklubGluZSB8
IExpbmVCb3hDb250YWluUmVwbGFjZWQ7IH0KKyAgICBzdGF0aWMgSW1hZ2VPcmllbnRhdGlvbkVu
dW0gaW5pdGlhbEltYWdlT3JpZW50YXRpb24oKSB7IHJldHVybiBEZWZhdWx0SW1hZ2VPcmllbnRh
dGlvbjsgfQogICAgIHN0YXRpYyBFSW1hZ2VSZW5kZXJpbmcgaW5pdGlhbEltYWdlUmVuZGVyaW5n
KCkgeyByZXR1cm4gSW1hZ2VSZW5kZXJpbmdBdXRvOyB9CiAgICAgc3RhdGljIEltYWdlUmVzb2x1
dGlvblNvdXJjZSBpbml0aWFsSW1hZ2VSZXNvbHV0aW9uU291cmNlKCkgeyByZXR1cm4gSW1hZ2VS
ZXNvbHV0aW9uU3BlY2lmaWVkOyB9CiAgICAgc3RhdGljIEltYWdlUmVzb2x1dGlvblNuYXAgaW5p
dGlhbEltYWdlUmVzb2x1dGlvblNuYXAoKSB7IHJldHVybiBJbWFnZVJlc29sdXRpb25Ob1NuYXA7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJ
bmhlcml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJh
cmVJbmhlcml0ZWREYXRhLmNwcAppbmRleCBlOGE1NDMzNGZmYTM2ZmFkNTNlNTFkMmQ1MTkxZjAx
OTEwMTE2NmZmLi5iMDliMDJjZmY3ZmJmNDI2ZjVjNzA5NjlhM2Q1NWI0ZGVkMzFlNTUxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVk
RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUlu
aGVyaXRlZERhdGEuY3BwCkBAIC04MSw2ICs4MSw5IEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6
OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoKQogICAgICwgdGV4dEVtcGhhc2lzTWFyayhUZXh0RW1w
aGFzaXNNYXJrTm9uZSkKICAgICAsIHRleHRFbXBoYXNpc1Bvc2l0aW9uKFRleHRFbXBoYXNpc1Bv
c2l0aW9uT3ZlcikKICAgICAsIG1fbGluZUJveENvbnRhaW4oUmVuZGVyU3R5bGU6OmluaXRpYWxM
aW5lQm94Q29udGFpbigpKQorI2lmIEVOQUJMRShDU1NfSU1BR0VfT1JJRU5UQVRJT04pCisgICAg
LCBtX2ltYWdlT3JpZW50YXRpb24oUmVuZGVyU3R5bGU6OmluaXRpYWxJbWFnZU9yaWVudGF0aW9u
KCkgLSAxKQorI2VuZGlmCiAgICAgLCBtX2ltYWdlUmVuZGVyaW5nKFJlbmRlclN0eWxlOjppbml0
aWFsSW1hZ2VSZW5kZXJpbmcoKSkKICAgICAsIG1fbGluZVNuYXAoUmVuZGVyU3R5bGU6OmluaXRp
YWxMaW5lU25hcCgpKQogICAgICwgbV9saW5lQWxpZ24oUmVuZGVyU3R5bGU6OmluaXRpYWxMaW5l
QWxpZ24oKSkKQEAgLTE0MCw2ICsxNDMsOSBAQCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHls
ZVJhcmVJbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZUluaGVyaXRlZERhdGEmIG8pCiAgICAg
LCB0ZXh0RW1waGFzaXNNYXJrKG8udGV4dEVtcGhhc2lzTWFyaykKICAgICAsIHRleHRFbXBoYXNp
c1Bvc2l0aW9uKG8udGV4dEVtcGhhc2lzUG9zaXRpb24pCiAgICAgLCBtX2xpbmVCb3hDb250YWlu
KG8ubV9saW5lQm94Q29udGFpbikKKyNpZiBFTkFCTEUoQ1NTX0lNQUdFX09SSUVOVEFUSU9OKQor
ICAgICwgbV9pbWFnZU9yaWVudGF0aW9uKG8ubV9pbWFnZU9yaWVudGF0aW9uKQorI2VuZGlmCiAg
ICAgLCBtX2ltYWdlUmVuZGVyaW5nKG8ubV9pbWFnZVJlbmRlcmluZykKICAgICAsIG1fbGluZVNu
YXAoby5tX2xpbmVTbmFwKQogICAgICwgbV9saW5lQWxpZ24oby5tX2xpbmVBbGlnbikKQEAgLTIz
MCw2ICsyMzYsOSBAQCBib29sIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0oY29u
c3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSYgbykgY29uc3QKICAgICAgICAgJiYgUXVvdGVzRGF0
YTo6ZXF1YWwocXVvdGVzLmdldCgpLCBvLnF1b3Rlcy5nZXQoKSkKICAgICAgICAgJiYgbV90YWJT
aXplID09IG8ubV90YWJTaXplCiAgICAgICAgICYmIG1fbGluZUdyaWQgPT0gby5tX2xpbmVHcmlk
CisjaWYgRU5BQkxFKENTU19JTUFHRV9PUklFTlRBVElPTikKKyAgICAgICAgJiYgbV9pbWFnZU9y
aWVudGF0aW9uID09IG8ubV9pbWFnZU9yaWVudGF0aW9uCisjZW5kaWYKICAgICAgICAgJiYgbV9p
bWFnZVJlbmRlcmluZyA9PSBvLm1faW1hZ2VSZW5kZXJpbmcKICNpZiBFTkFCTEUoQ1NTX0lNQUdF
X1JFU09MVVRJT04pCiAgICAgICAgICYmIG1faW1hZ2VSZXNvbHV0aW9uU291cmNlID09IG8ubV9p
bWFnZVJlc29sdXRpb25Tb3VyY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCmluZGV4IDkzOTA4ZTQ0NmViODRkYWI3
ZDg4NGQyNzNjOGJkMThlY2YyOThmMGEuLjRkNzgzZjY1NTBmNzI4YzBlOTg0YjNkNjBiMTBmNmNm
Y2M0MzEyMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZVJhcmVJbmhlcml0ZWREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaApAQCAtOTUsNiArOTUsOSBAQCBwdWJsaWM6CiAgICAg
dW5zaWduZWQgdGV4dEVtcGhhc2lzUG9zaXRpb24gOiAxOyAvLyBUZXh0RW1waGFzaXNQb3NpdGlv
bgogICAgIHVuc2lnbmVkIG1fbGluZUJveENvbnRhaW46IDc7IC8vIExpbmVCb3hDb250YWluCiAg
ICAgLy8gQ1NTIEltYWdlIFZhbHVlcyBMZXZlbCAzCisjaWYgRU5BQkxFKENTU19JTUFHRV9PUklF
TlRBVElPTikKKyAgICB1bnNpZ25lZCBtX2ltYWdlT3JpZW50YXRpb24gOiAzOyAvLyBJbWFnZU9y
aWVudGF0aW9uRW51bSAtIDEKKyNlbmRpZgogICAgIHVuc2lnbmVkIG1faW1hZ2VSZW5kZXJpbmcg
OiAyOyAvLyBFSW1hZ2VSZW5kZXJpbmcKICAgICB1bnNpZ25lZCBtX2xpbmVTbmFwIDogMjsgLy8g
TGluZVNuYXAKICAgICB1bnNpZ25lZCBtX2xpbmVBbGlnbiA6IDE7IC8vIExpbmVBbGlnbgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDdkODA2MjkyZGI3NDNjMWMwYWJlMTA2ZTRmZGRiMzgwZWNlM2UwYjcuLjA5ZDZiMjNiOWIw
Y2Q2OTQ1NDdlZTVlZmIxOTdmODE0ZWViM2E3YzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAx
Mi0wNy0xNyAgRGF2aWQgQmFyciAgPGRhdmlkYmFyckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
QWRkIHBhcnNpbmcgYW5kIHN0eWxlIGFwcGxpY2F0aW9uIGZvciBjc3MzLWltYWdlcyBpbWFnZS1v
cmllbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODk2MjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGUgY3NzMy1pbWFnZXMgbW9kdWxlIGlzIGF0IGNhbmRpZGF0ZSByZWNvbW1lbmRhdGlvbi4K
KyAgICAgICAgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMi9DUi1jc3MzLWltYWdlcy0yMDEyMDQx
Ny8jdGhlLWltYWdlLW9yaWVudGF0aW9uCisKKyAgICAgICAgKiBmYXN0L2Nzcy9pbWFnZS1vcmll
bnRhdGlvbi9pbWFnZS1vcmllbnRhdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uL2ltYWdlLW9yaWVudGF0aW9uLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGVz
dHMgdW50aWwgaW1hZ2Utb3JpZW50YXRpb24gaW1wbGVtZW50YXRpb24gbGFuZHMuCisgICAgICAg
ICogcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGVzdHMgdW50aWwgaW1hZ2Ut
b3JpZW50YXRpb24gaW1wbGVtZW50YXRpb24gbGFuZHMuCisgICAgICAgICogcGxhdGZvcm0vZ3Rr
L1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGVzdHMgdW50aWwgaW1hZ2Utb3JpZW50YXRpb24gaW1w
bGVtZW50YXRpb24gbGFuZHMuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlv
bnM6IFNraXAgdGVzdHMgdW50aWwgaW1hZ2Utb3JpZW50YXRpb24gaW1wbGVtZW50YXRpb24gbGFu
ZHMuCisgICAgICAgICogcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9uczogU2tpcCB0ZXN0cyB1
bnRpbCBpbWFnZS1vcmllbnRhdGlvbiBpbXBsZW1lbnRhdGlvbiBsYW5kcy4KKwogMjAxMi0wNy0x
NiAgUGV0ZSBXaWxsaWFtc29uICA8cGV0ZXdpbEBnb29nbGUuY29tPgogCiAgICAgICAgIEFkZCBz
b21lIG5ldyB1bml0IHRlc3RzIHRvIHRlc3QgdGhlIGZhdmljb24gY2hhbmdpbmcgZHluYW1pY2Fs
bHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uL2lt
YWdlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ltYWdl
LW9yaWVudGF0aW9uL2ltYWdlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
YTUxMzg0ODhkZjg0Y2I4NzY3NjUzYmY4OTZjYzA4NmFiODg0MWVmCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvaW1hZ2Utb3JpZW50YXRpb24vaW1hZ2Utb3JpZW50YXRp
b24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDMgQEAKK0FwcGx5IGltYWdlLXJlc29sdXRpb24g
cHJvcGVydHkgYW5kIGNoZWNrIGNvbXB1dGVkIHN0eWxlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworUEFTUyBwLnN0eWxlLmNzc1RleHQgaXMgImltYWdlLW9yaWVudGF0aW9uOiAt
MzYwZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocCkuaW1hZ2VPcmllbnRhdGlvbiBpcyAi
MGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NUZXh0IGlzICJpbWFnZS1vcmllbnRhdGlvbjogLTMxNWRl
ZzsgIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHApLmltYWdlT3JpZW50YXRpb24gaXMgIjBkZWci
CitQQVNTIHAuc3R5bGUuY3NzVGV4dCBpcyAiaW1hZ2Utb3JpZW50YXRpb246IDBkZWc7ICIKK1BB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlzICIwZGVnIgorUEFTUyBw
LnN0eWxlLmNzc1RleHQgaXMgImltYWdlLW9yaWVudGF0aW9uOiAzMTVkZWc7ICIKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlzICIwZGVnIgorUEFTUyBwLnN0eWxl
LmNzc1RleHQgaXMgImltYWdlLW9yaWVudGF0aW9uOiAzNjBkZWc7ICIKK1BBU1MgZ2V0Q29tcHV0
ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlzICIwZGVnIgorUEFTUyBwLnN0eWxlLmNzc1Rl
eHQgaXMgImltYWdlLW9yaWVudGF0aW9uOiAtMjcwZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5
bGUocCkuaW1hZ2VPcmllbnRhdGlvbiBpcyAiOTBkZWciCitQQVNTIHAuc3R5bGUuY3NzVGV4dCBp
cyAiaW1hZ2Utb3JpZW50YXRpb246IC0yMjVkZWc7ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShw
KS5pbWFnZU9yaWVudGF0aW9uIGlzICI5MGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NUZXh0IGlzICJp
bWFnZS1vcmllbnRhdGlvbjogNDVkZWc7ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFn
ZU9yaWVudGF0aW9uIGlzICI5MGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NUZXh0IGlzICJpbWFnZS1v
cmllbnRhdGlvbjogOTBkZWc7ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVu
dGF0aW9uIGlzICI5MGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NUZXh0IGlzICJpbWFnZS1vcmllbnRh
dGlvbjogLTE4MGRlZzsgIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHApLmltYWdlT3JpZW50YXRp
b24gaXMgIjE4MGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NUZXh0IGlzICJpbWFnZS1vcmllbnRhdGlv
bjogLTEzNWRlZzsgIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHApLmltYWdlT3JpZW50YXRpb24g
aXMgIjE4MGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NUZXh0IGlzICJpbWFnZS1vcmllbnRhdGlvbjog
MTM1ZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocCkuaW1hZ2VPcmllbnRhdGlvbiBpcyAi
MTgwZGVnIgorUEFTUyBwLnN0eWxlLmNzc1RleHQgaXMgImltYWdlLW9yaWVudGF0aW9uOiAtMTgw
ZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocCkuaW1hZ2VPcmllbnRhdGlvbiBpcyAiMTgw
ZGVnIgorUEFTUyBwLnN0eWxlLmNzc1RleHQgaXMgImltYWdlLW9yaWVudGF0aW9uOiAtOTBkZWc7
ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlzICIyNzBkZWci
CitQQVNTIHAuc3R5bGUuY3NzVGV4dCBpcyAiaW1hZ2Utb3JpZW50YXRpb246IC00NWRlZzsgIgor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKHApLmltYWdlT3JpZW50YXRpb24gaXMgIjI3MGRlZyIKK1BB
U1MgcC5zdHlsZS5jc3NUZXh0IGlzICJpbWFnZS1vcmllbnRhdGlvbjogMjI1ZGVnOyAiCitQQVNT
IGdldENvbXB1dGVkU3R5bGUocCkuaW1hZ2VPcmllbnRhdGlvbiBpcyAiMjcwZGVnIgorUEFTUyBw
LnN0eWxlLmNzc1RleHQgaXMgImltYWdlLW9yaWVudGF0aW9uOiAyNzBkZWc7ICIKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlzICIyNzBkZWciCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvaW1hZ2Utb3JpZW50YXRpb24vaW1hZ2Utb3JpZW50YXRpb24uaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uL2ltYWdlLW9yaWVudGF0
aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzYyNzEyMjg2MTg1MWZjNjM4NTY0NzdiNDAyYjFjM2E5MTdh
MzllYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ltYWdlLW9yaWVu
dGF0aW9uL2ltYWdlLW9yaWVudGF0aW9uLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlIHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIj48L3N0eWxlPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbignQXBwbHkgaW1hZ2UtcmVzb2x1dGlvbiBwcm9wZXJ0eSBhbmQgY2hlY2sgY29t
cHV0ZWQgc3R5bGUuJyk7CisKK3ZhciBleHBlY3RhdGlvbnMgPSB7CisgICAgJzBkZWcnOiBbJy0z
NjBkZWcnLCAnLTMxNWRlZycsICcwZGVnJywgJzMxNWRlZycsICczNjBkZWcnXSwKKyAgICAnOTBk
ZWcnOiBbJy0yNzBkZWcnLCAnLTIyNWRlZycsICc0NWRlZycsICc5MGRlZyddLAorICAgICcxODBk
ZWcnOiBbJy0xODBkZWcnLCAnLTEzNWRlZycsICcxMzVkZWcnLCAnLTE4MGRlZyddLAorICAgICcy
NzBkZWcnOiBbJy05MGRlZycsICctNDVkZWcnLCAnMjI1ZGVnJywgJzI3MGRlZyddfTsKKwordmFy
IHAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJyk7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHApOworZm9yIChleHBlY3RlZCBpbiBleHBlY3RhdGlvbnMpIHsKKyAgICBleHBlY3RhdGlv
bnNbZXhwZWN0ZWRdLmZvckVhY2goZnVuY3Rpb24odGVzdCkgeworICAgICAgICBwLnN0eWxlLmlt
YWdlT3JpZW50YXRpb24gPSAnJzsKKyAgICAgICAgcC5zdHlsZS5pbWFnZU9yaWVudGF0aW9uID0g
dGVzdDsKKyAgICAgICAgc2hvdWxkQmUoJ3Auc3R5bGUuY3NzVGV4dCcsICciaW1hZ2Utb3JpZW50
YXRpb246ICcgKyB0ZXN0ICsgJzsgIicpOworICAgICAgICBzaG91bGRCZSgnZ2V0Q29tcHV0ZWRT
dHlsZShwKS5pbWFnZU9yaWVudGF0aW9uJywgJyInICsgZXhwZWN0ZWQgKyAnIicpOworICAgIH0p
OworfQorZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChwKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggYmE4MDY2MzlmNTJlNmZlYzc0YjQ5MjhlMTUzNjhlNGVlOTQ4ZGE4Yy4uNTFj
YjJmN2RjZDgzOWVlNjNiMzQ3ODRjNjA0NzMwNDE4OGQwNTZkZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNjAsNiArMTYwLDkgQEAg
QlVHV0s4NTU4MCBTS0lQIDogaW5zcGVjdG9yL3N0eWxlcy92YXJpYWJsZXMgPSBQQVNTCiAvLyBD
U1MgaW1hZ2UtcmVzb2x1dGlvbiBpcyBub3QgeWV0IGVuYWJsZWQuCiBCVUdXSzg1MjYyIFNLSVAg
OiBmYXN0L2Nzcy9pbWFnZS1yZXNvbHV0aW9uID0gUEFTUwogCisvLyBDU1MgaW1hZ2Utb3JpZW50
YXRpb24gaXMgbm90IHlldCBlbmFibGVkLgorQlVHV0s4OTA1MiBTS0lQIDogZmFzdC9jc3MvaW1h
Z2Utb3JpZW50YXRpb24gPSBQQVNTCisKIC8vIENocm9taXVtIG5lZWRzIGxhcmdlciBtZWRpYSBm
aWxlcyB0byB0ZXN0IGJ1ZmZlcmluZyB0aGlzIHdheS4KIEJVR1dLODgxNzIgU0tJUCA6IGh0dHAv
dGVzdHMvbWVkaWEvdmlkZW8tYnVmZmVyZWQuaHRtbCA9IFBBU1MKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlNThlMmI5MWQzZjI0MWQwYzgzMWQ5ODQy
NGMyOTVkYjViZTQ5MmFmLi45YjQxOGQ3N2U4NjU3MjQyNWE4YzU2MmQyMTI3MjY2NWNlZDgyNDdh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNTIsNiAr
NTIsOSBAQCBCVUdXSzg1NDY1IFNLSVAgOiBjc3MzL2ZpbHRlcnMgPSBURVhUCiAvLyBDU1MgaW1h
Z2UtcmVzb2x1dGlvbiBpcyBub3QgeWV0IGVuYWJsZWQuCiBCVUdXSzg1MjYyIFNLSVAgOiBmYXN0
L2Nzcy9pbWFnZS1yZXNvbHV0aW9uID0gUEFTUwogCisvLyBDU1MgaW1hZ2Utb3JpZW50YXRpb24g
aXMgbm90IHlldCBlbmFibGVkLgorQlVHV0s4OTA1MiBTS0lQIDogZmFzdC9jc3MvaW1hZ2Utb3Jp
ZW50YXRpb24gPSBQQVNTCisKIC8vIFRoaXMgdGVzdCBhc3N1bWVzIHdlIGNhbm5vdCBwbGF5IFJU
U1AsIGJ1dCB3ZSBjYW4uCiBCVUdXS0VGTCBTS0lQIDogbWVkaWEvdW5zdXBwb3J0ZWQtcnRzcC5o
dG1sID0gVElNRU9VVAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDkyZjlhZjdjOWExMGVjM2Q1Yjc1M2UwZjU4YWMxNTZhZWNmOTk4ODkuLmFlNjg2NThk
ODg0NTFhM2M2ZGY4YmM4Y2FkZmM3M2FlMzFmZTVjM2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0zMjUsNiArMzI1LDkgQEAgQlVHV0s4NTU4MCBTS0lQ
IDogaW5zcGVjdG9yL3N0eWxlcy92YXJpYWJsZXMgPSBQQVNTCiAvLyBDU1MgaW1hZ2UtcmVzb2x1
dGlvbiBpcyBub3QgeWV0IGVuYWJsZWQuCiBCVUdXSzg1MjYyIFNLSVAgOiBmYXN0L2Nzcy9pbWFn
ZS1yZXNvbHV0aW9uID0gUEFTUyBURVhUCiAKKy8vIENTUyBpbWFnZS1vcmllbnRhdGlvbiBpcyBu
b3QgeWV0IGVuYWJsZWQuCitCVUdXSzg5MDUyIFNLSVAgOiBmYXN0L2Nzcy9pbWFnZS1vcmllbnRh
dGlvbiA9IFBBU1MKKwogLy8gTm8gQ09SUyBzdXBwb3J0IGZvciBtZWRpYSBlbGVtZW50cyBpcyBp
bXBsZW1lbnRlZCB5ZXQuCiBCVUdXS0dUSyBTS0lQIDogaHR0cC90ZXN0cy9zZWN1cml0eS92aWRl
by1jcm9zcy1vcmlnaW4tcmVhZGJhY2suaHRtbCA9IFRFWFQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBjOWJhODdhMTRiZmE4NjM2ZGUwNDdjYTc3NGU4
YjIxN2JhZGViM2IwLi45NDQxOGI0NWRiMDFkZDliMGUyMmZhYjc0ZGY1YWYxYWRlYjBkMWUxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTksNiArMTks
OSBAQCBCVUdXSzg3OTA4IFNLSVAgOiBlZGl0aW5nL3VuZG9tYW5hZ2VyID0gUEFTUwogLy8gQ1NT
IGltYWdlLXJlc29sdXRpb24gaXMgbm90IHlldCBlbmFibGVkLgogQlVHV0s4NTI2MiBTS0lQIDog
ZmFzdC9jc3MvaW1hZ2UtcmVzb2x1dGlvbiA9IFBBU1MKIAorLy8gQ1NTIGltYWdlLW9yaWVudGF0
aW9uIGlzIG5vdCB5ZXQgZW5hYmxlZC4KK0JVR1dLODkwNTIgU0tJUCA6IGZhc3QvY3NzL2ltYWdl
LW9yaWVudGF0aW9uID0gUEFTUworCiAvLyBPdXIgc2xvdyB0ZXN0cywgaW4gYWxwaGFiZXRpY2Fs
IG9yZGVyLgogQlVHV0s1NzY3MiA6IGh0dHAvdGVzdHMvbG9jYWwvZmlsZWFwaS9zZW5kLXNsaWNl
ZC1kcmFnZ2VkLWZpbGUuaHRtbCA9IFRFWFQgUEFTUwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCBkYThmMTRhMzhjYzFiMWQwZjM3NWJhYzFhZDljZjA1NDA5
Njg5NmY2Li4wMTM0ZGU3YTY2ZjUzZDQ3ODBhYWQ1MzY2YzhjZTk5MDVkYmViMGJjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTgyLDYgKzgyLDkgQEAgQlVH
V0s4NzkwOCBTS0lQIDogZWRpdGluZy91bmRvbWFuYWdlciA9IFBBU1MKIC8vIENTUyBpbWFnZS1y
ZXNvbHV0aW9uIGlzIG5vdCB5ZXQgZW5hYmxlZC4KIEJVR1dLODUyNjIgU0tJUCA6IGZhc3QvY3Nz
L2ltYWdlLXJlc29sdXRpb24gPSBQQVNTCiAKKy8vIENTUyBpbWFnZS1vcmllbnRhdGlvbiBpcyBu
b3QgeWV0IGVuYWJsZWQuCitCVUdXSzg5MDUyIFNLSVAgOiBmYXN0L2Nzcy9pbWFnZS1vcmllbnRh
dGlvbiA9IFBBU1MKKwogLy8gTmVlZHMgcmViYXNlbGluZSBhZnRlciBidWcgODY0NDEKIC8vIGZh
aWxpbmcgbmV3IHRlc3RzCiBCVUdXSzg2NDQxIFNLSVAgOiBmYXN0L2JvcmRlcnMvYm9yZGVyLWFu
dGlhbGlhc2luZy5odG1sID0gSU1BR0UK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152831</attachid>
            <date>2012-07-17 14:26:45 -0700</date>
            <delta_ts>2012-07-17 14:28:52 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-89624-20120718072642.patch</filename>
            <type>text/plain</type>
            <size>23665</size>
            <attacher name="David Barr">davidbarr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyODEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGYyMGVmNDNjNGM3YjYz
YWVlNDE0YjU5NzQzY2Y5YjM4MGI4NDBjYi4uNTE5NTFmNGU3YTVjMzMyNjYwMWE1MThlMjBiZTNi
NzA3M2Q1NGQ3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTA3LTE3ICBEYXZp
ZCBCYXJyICA8ZGF2aWRiYXJyQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgcGFyc2luZyBh
bmQgc3R5bGUgYXBwbGljYXRpb24gZm9yIGNzczMtaW1hZ2VzIGltYWdlLW9yaWVudGF0aW9uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTYyNAorCisg
ICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCisKKyAgICAgICAgVGhlIGNzczMtaW1hZ2Vz
IG1vZHVsZSBpcyBhdCBjYW5kaWRhdGUgcmVjb21tZW5kYXRpb24uCisgICAgICAgIGh0dHA6Ly93
d3cudzMub3JnL1RSLzIwMTIvQ1ItY3NzMy1pbWFnZXMtMjAxMjA0MTcvI3RoZS1pbWFnZS1vcmll
bnRhdGlvbgorCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uL2ltYWdl
LW9yaWVudGF0aW9uLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwOiBBZGQgY29tcHV0ZWQgc3R5bGUgZm9yIGltYWdlLW9yaWVudGF0aW9uLgorICAg
ICAgICAoV2ViQ29yZSk6IEFkZCBDU1NQcm9wZXJ0eUltYWdlT3JpZW50YXRpb24gdG8gY29tcHV0
ZWRQcm9wZXJ0aWVzLgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKTogTWFwIENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlv
biB1c2luZyBjYXN0IG9wZXJhdG9yIGZyb20gUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy4KKyAgICAg
ICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDogQWRkIHBhcnNpbmcgcnVsZSBmb3IgaW1hZ2Utb3JpZW50
YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOiBQYXJzZSB0
aGUgdmFsdWUgb2YgQ1NTUHJvcGVydHlJbWFnZU9yaWVudGF0aW9uIGFzIGFuIGFuZ2xlLgorICAg
ICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6IEFkZCBtYXBwaW5ncyBiZXR3
ZWVuIENTU1ByaW1pdGl2ZVZhbHVlIGFuZCBJbWFnZU9yaWVudGF0aW9uRW51bS4KKyAgICAgICAg
KFdlYkNvcmUpOiBBZGQgY29uZGl0aW9uYWwgaW5jbHVkZSBmb3IgSW1hZ2VPcmllbnRhdGlvbi5o
LgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVl
KTogTWFwIHRoZSBuYXR1cmFsIG9yaWVudGF0aW9ucyB0byBhbmdsZXMuCisgICAgICAgIChXZWJD
b3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgSW1hZ2VPcmllbnRhdGlvbkVudW0pOiBS
b3VuZCBhbmdsZXMgYXdheSBmcm9tIHplcm8gdG8gcXVhcnRlciB0dXJucyBhbmQgbWFwIHRvIHRo
ZSBuYXR1cmFsIG9yaWVudGF0aW9ucy4KKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOiBB
ZGQgQ1NTUHJvcGVydHlJbWFnZU9yaWVudGF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJv
cGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOiBNYXAgQ1NTUHJvcGVydHlJbWFnZU9yaWVudGF0
aW9uIGluaGVyaXRlZC4KKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjogQWRkIGlt
YWdlLW9yaWVudGF0aW9uLgorICAgICAgICAqIGNzcy9TdHlsZUJ1aWxkZXIuY3BwOiBBZGQgc3R5
bGUgYXBwbGljYXRpb24gbG9naWMgZm9yIENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbi4KKyAg
ICAgICAgKFdlYkNvcmU6OlN0eWxlQnVpbGRlcjo6U3R5bGVCdWlsZGVyKTogTWFwIENTU1Byb3Bl
cnR5SW1hZ2VPcmllbnRhdGlvbiB0byBSZW5kZXJTdHlsZTo6aW1hZ2VPcmllbnRhdGlvbiB3aXRo
IHR5cGUgSW1hZ2VPcmllbnRhdGlvbkVudW0uCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIu
Y3BwOiBIYW5kbGUgQ1NTUHJvcGVydHlJbWFnZU9yaWVudGF0aW9uLgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eSk6IEV4cGVjdCBDU1NQcm9wZXJ0eUltYWdl
T3JpZW50YXRpb24gdG8gYmUgaGFuZGxlZCBieSBTdHlsZUJ1aWxkZXIuCisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6IEFkZCBpbWFnZU9yaWVudGF0aW9uLCBzZXRJbWFn
ZU9yaWVudGF0aW9uIGFuZCBpbml0aWFsSW1hZ2VPcmllbnRhdGlvbi4KKyAgICAgICAgKiByZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHA6IEFkZCBtX2ltYWdlT3JpZW50
YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJh
cmVJbmhlcml0ZWREYXRhKTogQWRkIG1faW1hZ2VPcmllbnRhdGlvbiB0byBkZWZhdWx0IGFuZCBj
b3B5IGNvbnRydWN0b3JzLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0
YTo6b3BlcmF0b3I9PSk6IEluY2x1ZGUgbV9pbWFnZU9yaWVudGF0aW9uIGluIGNvbXBhcmlzb24u
CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaDogQWRk
IG1faW1hZ2VPcmllbnRhdGlvbi4KKyAgICAgICAgKFN0eWxlUmFyZUluaGVyaXRlZERhdGEpOiBB
ZGQgNC1iaXQgZmllbGQgbV9pbWFnZU9yaWVudGF0aW9uLCBtYXBwaW5nIHRvIEltYWdlT3JpZW50
YXRpb25FbnVtLgorCiAyMDEyLTA3LTE2ICBEYW5pZWwgQmF0ZXMgIDxkYmF0ZXNAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBBdHRlbXB0IHRvIGZpeCB0aGUgQ2hyb21pdW0gTWFjIGJ1aWxkIGFmdGVy
IDxodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjI4MDI+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDRkNTcx
Y2YxZWNhNDk0NDAwMWY3N2YzZDdkMzUyMWQxMjhlMzljMjAuLjI2NjE1YzVmMDM0YWUxN2MyMTY1
NjA1ZjhmNjUyMjAxODVhMzE5NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xMzAsNiArMTMwLDkgQEAgc3RhdGljIGNv
bnN0IENTU1Byb3BlcnR5SUQgY29tcHV0ZWRQcm9wZXJ0aWVzW10gPSB7CiAgICAgQ1NTUHJvcGVy
dHlGb250VmFyaWFudCwKICAgICBDU1NQcm9wZXJ0eUZvbnRXZWlnaHQsCiAgICAgQ1NTUHJvcGVy
dHlIZWlnaHQsCisjaWYgRU5BQkxFKENTU19JTUFHRV9PUklFTlRBVElPTikKKyAgICBDU1NQcm9w
ZXJ0eUltYWdlT3JpZW50YXRpb24sCisjZW5kaWYKICAgICBDU1NQcm9wZXJ0eUltYWdlUmVuZGVy
aW5nLAogI2lmIEVOQUJMRShDU1NfSU1BR0VfUkVTT0xVVElPTikKICAgICBDU1NQcm9wZXJ0eUlt
YWdlUmVzb2x1dGlvbiwKQEAgLTE3NzUsNiArMTc3OCwxMCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVl
PiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJv
cGVydAogICAgICAgICAgICAgaWYgKHN0eWxlLT5ib3JkZXJGaXQoKSA9PSBCb3JkZXJGaXRCb3Jk
ZXIpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZp
ZXJWYWx1ZShDU1NWYWx1ZUJvcmRlcik7CiAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29s
KCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTGluZXMpOworI2lmIEVOQUJMRShDU1Nf
SU1BR0VfT1JJRU5UQVRJT04pCisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlJbWFnZU9yaWVudGF0
aW9uOgorICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKHN0eWxl
LT5pbWFnZU9yaWVudGF0aW9uKCkpOworI2VuZGlmCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlJ
bWFnZVJlbmRlcmluZzoKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3Jl
YXRlKHN0eWxlLT5pbWFnZVJlbmRlcmluZygpKTsKICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09M
VVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGVlZTUzY2NiNmM4ZDVkZGFiMDFm
MGE4NGQ3ZmM4OWZlZmE1M2NjZWUuLmJjNjg3ODZmMTdiMzVkZmQwNmNmNzdmNTBlNDg3YzVlYzRi
ODAyNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yNjg3LDYgKzI2ODcsMTEgQEAg
Ym9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1w
b3J0YW50KQogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRXcmFwOgogICAgICAgICByZXR1cm4g
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6Y3NzRXhjbHVzaW9uc0VuYWJsZWQoKSAmJiBwYXJzZVNo
b3J0aGFuZChwcm9wSWQsIHdlYmtpdFdyYXBTaG9ydGhhbmQoKSwgaW1wb3J0YW50KTsKICNlbmRp
ZgorI2lmIEVOQUJMRShDU1NfSU1BR0VfT1JJRU5UQVRJT04pCisgICAgY2FzZSBDU1NQcm9wZXJ0
eUltYWdlT3JpZW50YXRpb246CisgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gIWlkICYmIHZhbGlk
VW5pdCh2YWx1ZSwgRkFuZ2xlKTsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKICNpZiBFTkFCTEUo
Q1NTX0lNQUdFX1JFU09MVVRJT04pCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUltYWdlUmVzb2x1dGlv
bjoKICAgICAgICAgcGFyc2VkVmFsdWUgPSBwYXJzZUltYWdlUmVzb2x1dGlvbihtX3ZhbHVlTGlz
dC5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFs
dWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGlu
Z3MuaAppbmRleCA0ODU1ZWMzODFjY2Y4MWQyNjE4NTA3OTM2NGY5NzdmZTZlYzM1YmI4Li5hMzcw
MTEyZTBmZTdiMDExMTU4NTIwZjg3ODczNGUxMDNkYmQwZTU2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTM3LDYgKzM3LDkgQEAKICNp
bmNsdWRlICJGb250RGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJGb250U21vb3RoaW5nTW9kZS5o
IgogI2luY2x1ZGUgIkdyYXBoaWNzVHlwZXMuaCIKKyNpZiBFTkFCTEUoQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKQorI2luY2x1ZGUgIkltYWdlT3JpZW50YXRpb24uaCIKKyNlbmRpZgogI2luY2x1ZGUg
Ikxlbmd0aC5oIgogI2luY2x1ZGUgIkxpbmVDbGFtcFZhbHVlLmgiCiAjaW5jbHVkZSAiUGF0aC5o
IgpAQCAtNDEwOCw2ICs0MTExLDU1IEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZh
bHVlOjpvcGVyYXRvciBFVmVjdG9yRWZmZWN0KCkgY29uc3QKIAogI2VuZGlmIC8vIEVOQUJMRShT
VkcpCiAKKyNpZiBFTkFCTEUoQ1NTX0lNQUdFX09SSUVOVEFUSU9OKQorCit0ZW1wbGF0ZTw+IGlu
bGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoSW1hZ2VPcmllbnRhdGlv
bkVudW0gZSkKKyAgICA6IENTU1ZhbHVlKFByaW1pdGl2ZUNsYXNzKQoreworICAgIG1fcHJpbWl0
aXZlVW5pdFR5cGUgPSBDU1NfREVHOworICAgIHN3aXRjaCAoZSkgeworICAgIGNhc2UgT3JpZ2lu
VG9wTGVmdDoKKyAgICAgICAgbV92YWx1ZS5udW0gPSAwOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIE9yaWdpblJpZ2h0VG9wOgorICAgICAgICBtX3ZhbHVlLm51bSA9IDkwOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIE9yaWdpbkJvdHRvbVJpZ2h0OgorICAgICAgICBtX3ZhbHVlLm51bSA9
IDE4MDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBPcmlnaW5MZWZ0Qm90dG9tOgorICAgICAg
ICBtX3ZhbHVlLm51bSA9IDI3MDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBPcmlnaW5Ub3BS
aWdodDoKKyAgICBjYXNlIE9yaWdpbkxlZnRUb3A6CisgICAgY2FzZSBPcmlnaW5Cb3R0b21MZWZ0
OgorICAgIGNhc2UgT3JpZ2luUmlnaHRCb3R0b206CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgIH0KK30KKwordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9w
ZXJhdG9yIEltYWdlT3JpZW50YXRpb25FbnVtKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoaXNBbmds
ZSgpKTsKKyAgICBkb3VibGUgcXVhcnRlcnMgPSA0ICogZ2V0RG91YmxlVmFsdWUoQ1NTX1RVUk4p
OworICAgIGludCBvcmllbnRhdGlvbiA9IDMgJiBzdGF0aWNfY2FzdDxpbnQ+KHF1YXJ0ZXJzIDwg
MCA/IGZsb29yKHF1YXJ0ZXJzKSA6IGNlaWwocXVhcnRlcnMpKTsKKyAgICBzd2l0Y2ggKG9yaWVu
dGF0aW9uKSB7CisgICAgY2FzZSAwOgorICAgICAgICByZXR1cm4gT3JpZ2luVG9wTGVmdDsKKyAg
ICBjYXNlIDE6CisgICAgICAgIHJldHVybiBPcmlnaW5SaWdodFRvcDsKKyAgICBjYXNlIDI6Cisg
ICAgICAgIHJldHVybiBPcmlnaW5Cb3R0b21SaWdodDsKKyAgICBjYXNlIDM6CisgICAgICAgIHJl
dHVybiBPcmlnaW5MZWZ0Qm90dG9tOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gT3JpZ2luVG9wTGVmdDsKKyAgICB9Cit9CisKKyNl
bmRpZiAvLyBFTkFCTEUoQ1NTX0lNQUdFX09SSUVOVEFUSU9OKQorCiB9CiAKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5kZXggNzZjYzhlYTFhMzU3MjNhMDM1NjY5ODZmMTBm
ZTAxZmJjYTYxNjQyNi4uOGM4MmRjNjVhNTY0ZTNiN2UxZDBiZTE0MzdhOWJkODk3NGY5ZWZlNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCkBAIC0yODIsNiArMjgyLDkgQEAgYm9vbCBD
U1NQcm9wZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQp
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZvbnRTdHlsZToKICAgICBjYXNlIENTU1Byb3BlcnR5Rm9u
dFZhcmlhbnQ6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZvbnRXZWlnaHQ6CisjaWYgRU5BQkxFKENT
U19JTUFHRV9PUklFTlRBVElPTikKKyAgICBjYXNlIENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlv
bjoKKyNlbmRpZgogICAgIGNhc2UgQ1NTUHJvcGVydHlJbWFnZVJlbmRlcmluZzoKICNpZiBFTkFC
TEUoQ1NTX0lNQUdFX1JFU09MVVRJT04pCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUltYWdlUmVzb2x1
dGlvbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmlu
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KaW5kZXggOGQ0NGY5ODA4
NmM1NmIzOTU5YjZhZTIyMjZjYmJhZTRiM2I3MmQxZi4uNTQ3OTA3ZWZiOTJjMTVhZjAzYWE2M2Yy
NTYxYzU0MzIxMzA0NzA4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4K
QEAgLTEwMyw2ICsxMDMsOSBAQCBlbXB0eS1jZWxscwogZmxvYXQKIGZvbnQtc3RyZXRjaAogaGVp
Z2h0CisjaWYgZGVmaW5lZChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAmJiBFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OCitpbWFnZS1vcmllbnRhdGlvbgorI2VuZGlmCiBpbWFnZS1y
ZW5kZXJpbmcKICNpZiBkZWZpbmVkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJiYgRU5B
QkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OCiBpbWFnZS1yZXNvbHV0aW9uCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZUJ1aWxkZXIuY3BwCmluZGV4IDQ0ZWM4N2Y3YmE3MjAzMTlkNjVjZGNhMWYzYzc3MTAzZjFl
NjhmZTUuLjBiNGYzZTk3ZTBiN2YyOTRhY2NhNTRiM2NjNTFjYzhmZjdhNjRiYmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCkBAIC0xODgwLDYgKzE4ODAsOSBAQCBTdHlsZUJ1aWxk
ZXI6OlN0eWxlQnVpbGRlcigpCiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5Rm9u
dFZhcmlhbnQsIEFwcGx5UHJvcGVydHlGb250PEZvbnRTbWFsbENhcHMsICZGb250RGVzY3JpcHRp
b246OnNtYWxsQ2FwcywgJkZvbnREZXNjcmlwdGlvbjo6c2V0U21hbGxDYXBzLCBGb250U21hbGxD
YXBzT2ZmPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJv
cGVydHlGb250V2VpZ2h0LCBBcHBseVByb3BlcnR5Rm9udFdlaWdodDo6Y3JlYXRlSGFuZGxlcigp
KTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlIZWlnaHQsIEFwcGx5UHJvcGVy
dHlMZW5ndGg8JlJlbmRlclN0eWxlOjpoZWlnaHQsICZSZW5kZXJTdHlsZTo6c2V0SGVpZ2h0LCAm
UmVuZGVyU3R5bGU6OmluaXRpYWxTaXplLCBBdXRvRW5hYmxlZCwgTGVnYWN5SW50cmluc2ljRW5h
YmxlZCwgSW50cmluc2ljRGlzYWJsZWQsIE5vbmVEaXNhYmxlZCwgVW5kZWZpbmVkRGlzYWJsZWQ+
OjpjcmVhdGVIYW5kbGVyKCkpOworI2lmIEVOQUJMRShDU1NfSU1BR0VfT1JJRU5UQVRJT04pCisg
ICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbiwgQXBwbHlQ
cm9wZXJ0eURlZmF1bHQ8SW1hZ2VPcmllbnRhdGlvbkVudW0sICZSZW5kZXJTdHlsZTo6aW1hZ2VP
cmllbnRhdGlvbiwgSW1hZ2VPcmllbnRhdGlvbkVudW0sICZSZW5kZXJTdHlsZTo6c2V0SW1hZ2VP
cmllbnRhdGlvbiwgSW1hZ2VPcmllbnRhdGlvbkVudW0sICZSZW5kZXJTdHlsZTo6aW5pdGlhbElt
YWdlT3JpZW50YXRpb24+OjpjcmVhdGVIYW5kbGVyKCkpOworI2VuZGlmCiAgICAgc2V0UHJvcGVy
dHlIYW5kbGVyKENTU1Byb3BlcnR5SW1hZ2VSZW5kZXJpbmcsIEFwcGx5UHJvcGVydHlEZWZhdWx0
PEVJbWFnZVJlbmRlcmluZywgJlJlbmRlclN0eWxlOjppbWFnZVJlbmRlcmluZywgRUltYWdlUmVu
ZGVyaW5nLCAmUmVuZGVyU3R5bGU6OnNldEltYWdlUmVuZGVyaW5nLCBFSW1hZ2VSZW5kZXJpbmcs
ICZSZW5kZXJTdHlsZTo6aW5pdGlhbEltYWdlUmVuZGVyaW5nPjo6Y3JlYXRlSGFuZGxlcigpKTsK
ICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJT04pCiAgICAgc2V0UHJvcGVydHlIYW5kbGVy
KENTU1Byb3BlcnR5SW1hZ2VSZXNvbHV0aW9uLCBBcHBseVByb3BlcnR5SW1hZ2VSZXNvbHV0aW9u
OjpjcmVhdGVIYW5kbGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4
IGFlZGIxOTllYTU1NDU4MDVmZjg5ZWVkYTJkNmEzZDVjN2E2YjdjNmMuLjZiYTEwMzNiNDcyNzdm
MjY2NDk3YTQ3ZGJmYjMyZWQ2MzkyNjhlNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZl
ci5jcHAKQEAgLTQxNjksNiArNDE2OSw5IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9w
ZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eUZvbnRWYXJpYW50OgogICAgIGNhc2UgQ1NTUHJvcGVydHlGb250V2VpZ2h0OgogICAgIGNh
c2UgQ1NTUHJvcGVydHlIZWlnaHQ6CisjaWYgRU5BQkxFKENTU19JTUFHRV9PUklFTlRBVElPTikK
KyAgICBjYXNlIENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbjoKKyNlbmRpZgogICAgIGNhc2Ug
Q1NTUHJvcGVydHlJbWFnZVJlbmRlcmluZzoKICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJ
T04pCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUltYWdlUmVzb2x1dGlvbjoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggYmI0YjI2OTM3ZjZkNjZiODJl
YzJmYzdjOTk2ZTNmN2RhOGMxNzA1Mi4uNWU4YTEyYzk1ZmY1NjNlYWYyZmU4YjBhNzI5ZDA1ZjA3
MjZlNGY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmgKQEAgLTk2Myw2ICs5NjMsMTAgQEAgcHVibGljOgogICAgIGJvb2wgaXNGbGlwcGVkTGluZXNX
cml0aW5nTW9kZSgpIGNvbnN0IHsgcmV0dXJuIHdyaXRpbmdNb2RlKCkgPT0gTGVmdFRvUmlnaHRX
cml0aW5nTW9kZSB8fCB3cml0aW5nTW9kZSgpID09IEJvdHRvbVRvVG9wV3JpdGluZ01vZGU7IH0K
ICAgICBib29sIGlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkgY29uc3QgeyByZXR1cm4gd3Jp
dGluZ01vZGUoKSA9PSBSaWdodFRvTGVmdFdyaXRpbmdNb2RlIHx8IHdyaXRpbmdNb2RlKCkgPT0g
Qm90dG9tVG9Ub3BXcml0aW5nTW9kZTsgfQogCisjaWYgRU5BQkxFKENTU19JTUFHRV9PUklFTlRB
VElPTikKKyAgICBJbWFnZU9yaWVudGF0aW9uRW51bSBpbWFnZU9yaWVudGF0aW9uKCkgY29uc3Qg
eyByZXR1cm4gc3RhdGljX2Nhc3Q8SW1hZ2VPcmllbnRhdGlvbkVudW0+KHJhcmVJbmhlcml0ZWRE
YXRhLT5tX2ltYWdlT3JpZW50YXRpb24pOyB9CisjZW5kaWYKKwogICAgIEVJbWFnZVJlbmRlcmlu
ZyBpbWFnZVJlbmRlcmluZygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVJbWFnZVJlbmRl
cmluZz4ocmFyZUluaGVyaXRlZERhdGEtPm1faW1hZ2VSZW5kZXJpbmcpOyB9CiAKICNpZiBFTkFC
TEUoQ1NTX0lNQUdFX1JFU09MVVRJT04pCkBAIC0xMTM1LDYgKzExMzksMTEgQEAgcHVibGljOgog
ICAgIGJvb2wgc2V0Wm9vbShmbG9hdCk7CiAgICAgdm9pZCBzZXRab29tV2l0aG91dFJldHVyblZh
bHVlKGZsb2F0IGYpIHsgc2V0Wm9vbShmKTsgfQogICAgIGJvb2wgc2V0RWZmZWN0aXZlWm9vbShm
bG9hdCk7CisKKyNpZiBFTkFCTEUoQ1NTX0lNQUdFX09SSUVOVEFUSU9OKQorICAgIHZvaWQgc2V0
SW1hZ2VPcmllbnRhdGlvbihJbWFnZU9yaWVudGF0aW9uRW51bSB2KSB7IFNFVF9WQVIocmFyZUlu
aGVyaXRlZERhdGEsIG1faW1hZ2VPcmllbnRhdGlvbiwgc3RhdGljX2Nhc3Q8aW50Pih2KSkgfQor
I2VuZGlmCisKICAgICB2b2lkIHNldEltYWdlUmVuZGVyaW5nKEVJbWFnZVJlbmRlcmluZyB2KSB7
IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIG1faW1hZ2VSZW5kZXJpbmcsIHYpIH0KIAogI2lm
IEVOQUJMRShDU1NfSU1BR0VfUkVTT0xVVElPTikKQEAgLTE2NTgsNiArMTY2Nyw3IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBpbml0aWFsVGV4dEVtcGhhc2lzQ3Vz
dG9tTWFyaygpIHsgcmV0dXJuIG51bGxBdG9tOyB9CiAgICAgc3RhdGljIFRleHRFbXBoYXNpc1Bv
c2l0aW9uIGluaXRpYWxUZXh0RW1waGFzaXNQb3NpdGlvbigpIHsgcmV0dXJuIFRleHRFbXBoYXNp
c1Bvc2l0aW9uT3ZlcjsgfQogICAgIHN0YXRpYyBMaW5lQm94Q29udGFpbiBpbml0aWFsTGluZUJv
eENvbnRhaW4oKSB7IHJldHVybiBMaW5lQm94Q29udGFpbkJsb2NrIHwgTGluZUJveENvbnRhaW5J
bmxpbmUgfCBMaW5lQm94Q29udGFpblJlcGxhY2VkOyB9CisgICAgc3RhdGljIEltYWdlT3JpZW50
YXRpb25FbnVtIGluaXRpYWxJbWFnZU9yaWVudGF0aW9uKCkgeyByZXR1cm4gT3JpZ2luVG9wTGVm
dDsgfQogICAgIHN0YXRpYyBFSW1hZ2VSZW5kZXJpbmcgaW5pdGlhbEltYWdlUmVuZGVyaW5nKCkg
eyByZXR1cm4gSW1hZ2VSZW5kZXJpbmdBdXRvOyB9CiAgICAgc3RhdGljIEltYWdlUmVzb2x1dGlv
blNvdXJjZSBpbml0aWFsSW1hZ2VSZXNvbHV0aW9uU291cmNlKCkgeyByZXR1cm4gSW1hZ2VSZXNv
bHV0aW9uU3BlY2lmaWVkOyB9CiAgICAgc3RhdGljIEltYWdlUmVzb2x1dGlvblNuYXAgaW5pdGlh
bEltYWdlUmVzb2x1dGlvblNuYXAoKSB7IHJldHVybiBJbWFnZVJlc29sdXRpb25Ob1NuYXA7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhl
cml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJ
bmhlcml0ZWREYXRhLmNwcAppbmRleCBlOGE1NDMzNGZmYTM2ZmFkNTNlNTFkMmQ1MTkxZjAxOTEw
MTE2NmZmLi45N2RlNDJkM2MzNWE5YWQ5YWNhNGI1MmYyZWU0ZTIwNjhlZGVkMjhkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0
YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVy
aXRlZERhdGEuY3BwCkBAIC04MSw2ICs4MSw5IEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0
eWxlUmFyZUluaGVyaXRlZERhdGEoKQogICAgICwgdGV4dEVtcGhhc2lzTWFyayhUZXh0RW1waGFz
aXNNYXJrTm9uZSkKICAgICAsIHRleHRFbXBoYXNpc1Bvc2l0aW9uKFRleHRFbXBoYXNpc1Bvc2l0
aW9uT3ZlcikKICAgICAsIG1fbGluZUJveENvbnRhaW4oUmVuZGVyU3R5bGU6OmluaXRpYWxMaW5l
Qm94Q29udGFpbigpKQorI2lmIEVOQUJMRShDU1NfSU1BR0VfT1JJRU5UQVRJT04pCisgICAgLCBt
X2ltYWdlT3JpZW50YXRpb24oUmVuZGVyU3R5bGU6OmluaXRpYWxJbWFnZU9yaWVudGF0aW9uKCkp
CisjZW5kaWYKICAgICAsIG1faW1hZ2VSZW5kZXJpbmcoUmVuZGVyU3R5bGU6OmluaXRpYWxJbWFn
ZVJlbmRlcmluZygpKQogICAgICwgbV9saW5lU25hcChSZW5kZXJTdHlsZTo6aW5pdGlhbExpbmVT
bmFwKCkpCiAgICAgLCBtX2xpbmVBbGlnbihSZW5kZXJTdHlsZTo6aW5pdGlhbExpbmVBbGlnbigp
KQpAQCAtMTQwLDYgKzE0Myw5IEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUlu
aGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSYgbykKICAgICAsIHRleHRF
bXBoYXNpc01hcmsoby50ZXh0RW1waGFzaXNNYXJrKQogICAgICwgdGV4dEVtcGhhc2lzUG9zaXRp
b24oby50ZXh0RW1waGFzaXNQb3NpdGlvbikKICAgICAsIG1fbGluZUJveENvbnRhaW4oby5tX2xp
bmVCb3hDb250YWluKQorI2lmIEVOQUJMRShDU1NfSU1BR0VfT1JJRU5UQVRJT04pCisgICAgLCBt
X2ltYWdlT3JpZW50YXRpb24oby5tX2ltYWdlT3JpZW50YXRpb24pCisjZW5kaWYKICAgICAsIG1f
aW1hZ2VSZW5kZXJpbmcoby5tX2ltYWdlUmVuZGVyaW5nKQogICAgICwgbV9saW5lU25hcChvLm1f
bGluZVNuYXApCiAgICAgLCBtX2xpbmVBbGlnbihvLm1fbGluZUFsaWduKQpAQCAtMjMwLDYgKzIz
Niw5IEBAIGJvb2wgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHls
ZVJhcmVJbmhlcml0ZWREYXRhJiBvKSBjb25zdAogICAgICAgICAmJiBRdW90ZXNEYXRhOjplcXVh
bChxdW90ZXMuZ2V0KCksIG8ucXVvdGVzLmdldCgpKQogICAgICAgICAmJiBtX3RhYlNpemUgPT0g
by5tX3RhYlNpemUKICAgICAgICAgJiYgbV9saW5lR3JpZCA9PSBvLm1fbGluZUdyaWQKKyNpZiBF
TkFCTEUoQ1NTX0lNQUdFX09SSUVOVEFUSU9OKQorICAgICAgICAmJiBtX2ltYWdlT3JpZW50YXRp
b24gPT0gby5tX2ltYWdlT3JpZW50YXRpb24KKyNlbmRpZgogICAgICAgICAmJiBtX2ltYWdlUmVu
ZGVyaW5nID09IG8ubV9pbWFnZVJlbmRlcmluZwogI2lmIEVOQUJMRShDU1NfSU1BR0VfUkVTT0xV
VElPTikKICAgICAgICAgJiYgbV9pbWFnZVJlc29sdXRpb25Tb3VyY2UgPT0gby5tX2ltYWdlUmVz
b2x1dGlvblNvdXJjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKaW5kZXggOTM5MDhlNDQ2ZWI4NGRhYjdkODg0ZDI3
M2M4YmQxOGVjZjI5OGYwYS4uYjExMzFhMGVlN2FmODE3YzQ5YWVlNzBkZTQyM2YwOTQxM2VjMmI3
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUlu
aGVyaXRlZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YS5oCkBAIC05NSw2ICs5NSw5IEBAIHB1YmxpYzoKICAgICB1bnNpZ25l
ZCB0ZXh0RW1waGFzaXNQb3NpdGlvbiA6IDE7IC8vIFRleHRFbXBoYXNpc1Bvc2l0aW9uCiAgICAg
dW5zaWduZWQgbV9saW5lQm94Q29udGFpbjogNzsgLy8gTGluZUJveENvbnRhaW4KICAgICAvLyBD
U1MgSW1hZ2UgVmFsdWVzIExldmVsIDMKKyNpZiBFTkFCTEUoQ1NTX0lNQUdFX09SSUVOVEFUSU9O
KQorICAgIHVuc2lnbmVkIG1faW1hZ2VPcmllbnRhdGlvbiA6IDQ7IC8vIEltYWdlT3JpZW50YXRp
b25FbnVtIAorI2VuZGlmCiAgICAgdW5zaWduZWQgbV9pbWFnZVJlbmRlcmluZyA6IDI7IC8vIEVJ
bWFnZVJlbmRlcmluZwogICAgIHVuc2lnbmVkIG1fbGluZVNuYXAgOiAyOyAvLyBMaW5lU25hcAog
ICAgIHVuc2lnbmVkIG1fbGluZUFsaWduIDogMTsgLy8gTGluZUFsaWduCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2Q4MDYy
OTJkYjc0M2MxYzBhYmUxMDZlNGZkZGIzODBlY2UzZTBiNy4uNGRmODliMTc0YzVmYTkyZmE3NzQ5
ZGI4ZDBkNDdlNzY1MTI0NTk4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA3LTE3ICBE
YXZpZCBCYXJyICA8ZGF2aWRiYXJyQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgcGFyc2lu
ZyBhbmQgc3R5bGUgYXBwbGljYXRpb24gZm9yIGNzczMtaW1hZ2VzIGltYWdlLW9yaWVudGF0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTYyNAor
CisgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCisKKyAgICAgICAgVGhlIGNzczMtaW1h
Z2VzIG1vZHVsZSBpcyBhdCBjYW5kaWRhdGUgcmVjb21tZW5kYXRpb24uCisgICAgICAgIGh0dHA6
Ly93d3cudzMub3JnL1RSLzIwMTIvQ1ItY3NzMy1pbWFnZXMtMjAxMjA0MTcvI3RoZS1pbWFnZS1v
cmllbnRhdGlvbgorCisgICAgICAgICogZmFzdC9jc3MvaW1hZ2Utb3JpZW50YXRpb24vaW1hZ2Ut
b3JpZW50YXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9pbWFn
ZS1vcmllbnRhdGlvbi9pbWFnZS1vcmllbnRhdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOiBTa2lwIHRlc3RzIHVudGlsIGltYWdl
LW9yaWVudGF0aW9uIGltcGxlbWVudGF0aW9uIGxhbmRzLgorICAgICAgICAqIHBsYXRmb3JtL2Vm
bC9UZXN0RXhwZWN0YXRpb25zOiBTa2lwIHRlc3RzIHVudGlsIGltYWdlLW9yaWVudGF0aW9uIGlt
cGxlbWVudGF0aW9uIGxhbmRzLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRp
b25zOiBTa2lwIHRlc3RzIHVudGlsIGltYWdlLW9yaWVudGF0aW9uIGltcGxlbWVudGF0aW9uIGxh
bmRzLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOiBTa2lwIHRlc3Rz
IHVudGlsIGltYWdlLW9yaWVudGF0aW9uIGltcGxlbWVudGF0aW9uIGxhbmRzLgorICAgICAgICAq
IHBsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGVzdHMgdW50aWwgaW1hZ2Utb3Jp
ZW50YXRpb24gaW1wbGVtZW50YXRpb24gbGFuZHMuCisKIDIwMTItMDctMTYgIFBldGUgV2lsbGlh
bXNvbiAgPHBldGV3aWxAZ29vZ2xlLmNvbT4KIAogICAgICAgICBBZGQgc29tZSBuZXcgdW5pdCB0
ZXN0cyB0byB0ZXN0IHRoZSBmYXZpY29uIGNoYW5naW5nIGR5bmFtaWNhbGx5CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9pbWFnZS1vcmllbnRhdGlvbi9pbWFnZS1vcmllbnRhdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9pbWFnZS1vcmllbnRhdGlvbi9p
bWFnZS1vcmllbnRhdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWE1MTM4NDg4ZGY4NGNi
ODc2NzY1M2JmODk2Y2MwODZhYjg4NDFlZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uL2ltYWdlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDQzIEBACitBcHBseSBpbWFnZS1yZXNvbHV0aW9uIHByb3BlcnR5IGFuZCBj
aGVjayBjb21wdXRlZCBzdHlsZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgcC5zdHlsZS5jc3NUZXh0IGlzICJpbWFnZS1vcmllbnRhdGlvbjogLTM2MGRlZzsgIgorUEFT
UyBnZXRDb21wdXRlZFN0eWxlKHApLmltYWdlT3JpZW50YXRpb24gaXMgIjBkZWciCitQQVNTIHAu
c3R5bGUuY3NzVGV4dCBpcyAiaW1hZ2Utb3JpZW50YXRpb246IC0zMTVkZWc7ICIKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlzICIwZGVnIgorUEFTUyBwLnN0eWxl
LmNzc1RleHQgaXMgImltYWdlLW9yaWVudGF0aW9uOiAwZGVnOyAiCitQQVNTIGdldENvbXB1dGVk
U3R5bGUocCkuaW1hZ2VPcmllbnRhdGlvbiBpcyAiMGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NUZXh0
IGlzICJpbWFnZS1vcmllbnRhdGlvbjogMzE1ZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5bGUo
cCkuaW1hZ2VPcmllbnRhdGlvbiBpcyAiMGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NUZXh0IGlzICJp
bWFnZS1vcmllbnRhdGlvbjogMzYwZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocCkuaW1h
Z2VPcmllbnRhdGlvbiBpcyAiMGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NUZXh0IGlzICJpbWFnZS1v
cmllbnRhdGlvbjogLTI3MGRlZzsgIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHApLmltYWdlT3Jp
ZW50YXRpb24gaXMgIjkwZGVnIgorUEFTUyBwLnN0eWxlLmNzc1RleHQgaXMgImltYWdlLW9yaWVu
dGF0aW9uOiAtMjI1ZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocCkuaW1hZ2VPcmllbnRh
dGlvbiBpcyAiOTBkZWciCitQQVNTIHAuc3R5bGUuY3NzVGV4dCBpcyAiaW1hZ2Utb3JpZW50YXRp
b246IDQ1ZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocCkuaW1hZ2VPcmllbnRhdGlvbiBp
cyAiOTBkZWciCitQQVNTIHAuc3R5bGUuY3NzVGV4dCBpcyAiaW1hZ2Utb3JpZW50YXRpb246IDkw
ZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocCkuaW1hZ2VPcmllbnRhdGlvbiBpcyAiOTBk
ZWciCitQQVNTIHAuc3R5bGUuY3NzVGV4dCBpcyAiaW1hZ2Utb3JpZW50YXRpb246IC0xODBkZWc7
ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlzICIxODBkZWci
CitQQVNTIHAuc3R5bGUuY3NzVGV4dCBpcyAiaW1hZ2Utb3JpZW50YXRpb246IC0xMzVkZWc7ICIK
K1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlzICIxODBkZWciCitQ
QVNTIHAuc3R5bGUuY3NzVGV4dCBpcyAiaW1hZ2Utb3JpZW50YXRpb246IDEzNWRlZzsgIgorUEFT
UyBnZXRDb21wdXRlZFN0eWxlKHApLmltYWdlT3JpZW50YXRpb24gaXMgIjE4MGRlZyIKK1BBU1Mg
cC5zdHlsZS5jc3NUZXh0IGlzICJpbWFnZS1vcmllbnRhdGlvbjogLTE4MGRlZzsgIgorUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKHApLmltYWdlT3JpZW50YXRpb24gaXMgIjE4MGRlZyIKK1BBU1MgcC5z
dHlsZS5jc3NUZXh0IGlzICJpbWFnZS1vcmllbnRhdGlvbjogLTkwZGVnOyAiCitQQVNTIGdldENv
bXB1dGVkU3R5bGUocCkuaW1hZ2VPcmllbnRhdGlvbiBpcyAiMjcwZGVnIgorUEFTUyBwLnN0eWxl
LmNzc1RleHQgaXMgImltYWdlLW9yaWVudGF0aW9uOiAtNDVkZWc7ICIKK1BBU1MgZ2V0Q29tcHV0
ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlzICIyNzBkZWciCitQQVNTIHAuc3R5bGUuY3Nz
VGV4dCBpcyAiaW1hZ2Utb3JpZW50YXRpb246IDIyNWRlZzsgIgorUEFTUyBnZXRDb21wdXRlZFN0
eWxlKHApLmltYWdlT3JpZW50YXRpb24gaXMgIjI3MGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NUZXh0
IGlzICJpbWFnZS1vcmllbnRhdGlvbjogMjcwZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5bGUo
cCkuaW1hZ2VPcmllbnRhdGlvbiBpcyAiMjcwZGVnIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL2ltYWdlLW9yaWVudGF0aW9uL2ltYWdlLW9yaWVudGF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9pbWFnZS1vcmllbnRhdGlvbi9pbWFnZS1vcmllbnRhdGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmM2MjcxMjI4NjE4NTFmYzYzODU2NDc3YjQwMmIxYzNhOTE3YTM5ZWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9pbWFnZS1vcmllbnRhdGlvbi9pbWFnZS1v
cmllbnRhdGlvbi5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzdHlsZSBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+PC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ0Fw
cGx5IGltYWdlLXJlc29sdXRpb24gcHJvcGVydHkgYW5kIGNoZWNrIGNvbXB1dGVkIHN0eWxlLicp
OworCit2YXIgZXhwZWN0YXRpb25zID0geworICAgICcwZGVnJzogWyctMzYwZGVnJywgJy0zMTVk
ZWcnLCAnMGRlZycsICczMTVkZWcnLCAnMzYwZGVnJ10sCisgICAgJzkwZGVnJzogWyctMjcwZGVn
JywgJy0yMjVkZWcnLCAnNDVkZWcnLCAnOTBkZWcnXSwKKyAgICAnMTgwZGVnJzogWyctMTgwZGVn
JywgJy0xMzVkZWcnLCAnMTM1ZGVnJywgJy0xODBkZWcnXSwKKyAgICAnMjcwZGVnJzogWyctOTBk
ZWcnLCAnLTQ1ZGVnJywgJzIyNWRlZycsICcyNzBkZWcnXX07CisKK3ZhciBwID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgncCcpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwKTsKK2ZvciAo
ZXhwZWN0ZWQgaW4gZXhwZWN0YXRpb25zKSB7CisgICAgZXhwZWN0YXRpb25zW2V4cGVjdGVkXS5m
b3JFYWNoKGZ1bmN0aW9uKHRlc3QpIHsKKyAgICAgICAgcC5zdHlsZS5pbWFnZU9yaWVudGF0aW9u
ID0gJyc7CisgICAgICAgIHAuc3R5bGUuaW1hZ2VPcmllbnRhdGlvbiA9IHRlc3Q7CisgICAgICAg
IHNob3VsZEJlKCdwLnN0eWxlLmNzc1RleHQnLCAnImltYWdlLW9yaWVudGF0aW9uOiAnICsgdGVz
dCArICc7ICInKTsKKyAgICAgICAgc2hvdWxkQmUoJ2dldENvbXB1dGVkU3R5bGUocCkuaW1hZ2VP
cmllbnRhdGlvbicsICciJyArIGV4cGVjdGVkICsgJyInKTsKKyAgICB9KTsKK30KK2RvY3VtZW50
LmJvZHkucmVtb3ZlQ2hpbGQocCk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGJh
ODA2NjM5ZjUyZTZmZWM3NGI0OTI4ZTE1MzY4ZTRlZTk0OGRhOGMuLjUxY2IyZjdkY2Q4MzllZTYz
YjM0Nzg0YzYwNDczMDQxODhkMDU2ZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTYwLDYgKzE2MCw5IEBAIEJVR1dLODU1ODAgU0tJ
UCA6IGluc3BlY3Rvci9zdHlsZXMvdmFyaWFibGVzID0gUEFTUwogLy8gQ1NTIGltYWdlLXJlc29s
dXRpb24gaXMgbm90IHlldCBlbmFibGVkLgogQlVHV0s4NTI2MiBTS0lQIDogZmFzdC9jc3MvaW1h
Z2UtcmVzb2x1dGlvbiA9IFBBU1MKIAorLy8gQ1NTIGltYWdlLW9yaWVudGF0aW9uIGlzIG5vdCB5
ZXQgZW5hYmxlZC4KK0JVR1dLODkwNTIgU0tJUCA6IGZhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9u
ID0gUEFTUworCiAvLyBDaHJvbWl1bSBuZWVkcyBsYXJnZXIgbWVkaWEgZmlsZXMgdG8gdGVzdCBi
dWZmZXJpbmcgdGhpcyB3YXkuCiBCVUdXSzg4MTcyIFNLSVAgOiBodHRwL3Rlc3RzL21lZGlhL3Zp
ZGVvLWJ1ZmZlcmVkLmh0bWwgPSBQQVNTCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggZTU4ZTJiOTFkM2YyNDFkMGM4MzFkOTg0MjRjMjk1ZGI1YmU0OTJh
Zi4uOWI0MThkNzdlODY1NzI0MjVhOGM1NjJkMjEyNzI2NjVjZWQ4MjQ3YSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTUyLDYgKzUyLDkgQEAgQlVHV0s4
NTQ2NSBTS0lQIDogY3NzMy9maWx0ZXJzID0gVEVYVAogLy8gQ1NTIGltYWdlLXJlc29sdXRpb24g
aXMgbm90IHlldCBlbmFibGVkLgogQlVHV0s4NTI2MiBTS0lQIDogZmFzdC9jc3MvaW1hZ2UtcmVz
b2x1dGlvbiA9IFBBU1MKIAorLy8gQ1NTIGltYWdlLW9yaWVudGF0aW9uIGlzIG5vdCB5ZXQgZW5h
YmxlZC4KK0JVR1dLODkwNTIgU0tJUCA6IGZhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uID0gUEFT
UworCiAvLyBUaGlzIHRlc3QgYXNzdW1lcyB3ZSBjYW5ub3QgcGxheSBSVFNQLCBidXQgd2UgY2Fu
LgogQlVHV0tFRkwgU0tJUCA6IG1lZGlhL3Vuc3VwcG9ydGVkLXJ0c3AuaHRtbCA9IFRJTUVPVVQK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA5MmY5YWY3
YzlhMTBlYzNkNWI3NTNlMGY1OGFjMTU2YWVjZjk5ODg5Li5hZTY4NjU4ZDg4NDUxYTNjNmRmOGJj
OGNhZGZjNzNhZTMxZmU1YzNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMzI1LDYgKzMyNSw5IEBAIEJVR1dLODU1ODAgU0tJUCA6IGluc3BlY3Rvci9z
dHlsZXMvdmFyaWFibGVzID0gUEFTUwogLy8gQ1NTIGltYWdlLXJlc29sdXRpb24gaXMgbm90IHll
dCBlbmFibGVkLgogQlVHV0s4NTI2MiBTS0lQIDogZmFzdC9jc3MvaW1hZ2UtcmVzb2x1dGlvbiA9
IFBBU1MgVEVYVAogCisvLyBDU1MgaW1hZ2Utb3JpZW50YXRpb24gaXMgbm90IHlldCBlbmFibGVk
LgorQlVHV0s4OTA1MiBTS0lQIDogZmFzdC9jc3MvaW1hZ2Utb3JpZW50YXRpb24gPSBQQVNTCisK
IC8vIE5vIENPUlMgc3VwcG9ydCBmb3IgbWVkaWEgZWxlbWVudHMgaXMgaW1wbGVtZW50ZWQgeWV0
LgogQlVHV0tHVEsgU0tJUCA6IGh0dHAvdGVzdHMvc2VjdXJpdHkvdmlkZW8tY3Jvc3Mtb3JpZ2lu
LXJlYWRiYWNrLmh0bWwgPSBURVhUCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggYzliYTg3YTE0YmZhODYzNmRlMDQ3Y2E3NzRlOGIyMTdiYWRlYjNiMC4u
OTQ0MThiNDVkYjAxZGQ5YjBlMjJmYWI3NGRmNWFmMWFkZWIwZDFlMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE5LDYgKzE5LDkgQEAgQlVHV0s4Nzkw
OCBTS0lQIDogZWRpdGluZy91bmRvbWFuYWdlciA9IFBBU1MKIC8vIENTUyBpbWFnZS1yZXNvbHV0
aW9uIGlzIG5vdCB5ZXQgZW5hYmxlZC4KIEJVR1dLODUyNjIgU0tJUCA6IGZhc3QvY3NzL2ltYWdl
LXJlc29sdXRpb24gPSBQQVNTCiAKKy8vIENTUyBpbWFnZS1vcmllbnRhdGlvbiBpcyBub3QgeWV0
IGVuYWJsZWQuCitCVUdXSzg5MDUyIFNLSVAgOiBmYXN0L2Nzcy9pbWFnZS1vcmllbnRhdGlvbiA9
IFBBU1MKKwogLy8gT3VyIHNsb3cgdGVzdHMsIGluIGFscGhhYmV0aWNhbCBvcmRlci4KIEJVR1dL
NTc2NzIgOiBodHRwL3Rlc3RzL2xvY2FsL2ZpbGVhcGkvc2VuZC1zbGljZWQtZHJhZ2dlZC1maWxl
Lmh0bWwgPSBURVhUIFBBU1MKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggZGE4ZjE0YTM4Y2MxYjFkMGYzNzViYWMxYWQ5Y2YwNTQwOTY4OTZmNi4uMDEzNGRl
N2E2NmY1M2Q0NzgwYWFkNTM2NmM4Y2U5OTA1ZGJlYjBiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9UZXN0RXhwZWN0YXRpb25zCkBAIC04Miw2ICs4Miw5IEBAIEJVR1dLODc5MDggU0tJUCA6
IGVkaXRpbmcvdW5kb21hbmFnZXIgPSBQQVNTCiAvLyBDU1MgaW1hZ2UtcmVzb2x1dGlvbiBpcyBu
b3QgeWV0IGVuYWJsZWQuCiBCVUdXSzg1MjYyIFNLSVAgOiBmYXN0L2Nzcy9pbWFnZS1yZXNvbHV0
aW9uID0gUEFTUwogCisvLyBDU1MgaW1hZ2Utb3JpZW50YXRpb24gaXMgbm90IHlldCBlbmFibGVk
LgorQlVHV0s4OTA1MiBTS0lQIDogZmFzdC9jc3MvaW1hZ2Utb3JpZW50YXRpb24gPSBQQVNTCisK
IC8vIE5lZWRzIHJlYmFzZWxpbmUgYWZ0ZXIgYnVnIDg2NDQxCiAvLyBmYWlsaW5nIG5ldyB0ZXN0
cwogQlVHV0s4NjQ0MSBTS0lQIDogZmFzdC9ib3JkZXJzL2JvcmRlci1hbnRpYWxpYXNpbmcuaHRt
bCA9IElNQUdFCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152833</attachid>
            <date>2012-07-17 14:29:01 -0700</date>
            <delta_ts>2013-01-30 11:43:59 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-89624-20120718072859.patch</filename>
            <type>text/plain</type>
            <size>23664</size>
            <attacher name="David Barr">davidbarr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyODEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGYyMGVmNDNjNGM3YjYz
YWVlNDE0YjU5NzQzY2Y5YjM4MGI4NDBjYi4uNTE5NTFmNGU3YTVjMzMyNjYwMWE1MThlMjBiZTNi
NzA3M2Q1NGQ3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTA3LTE3ICBEYXZp
ZCBCYXJyICA8ZGF2aWRiYXJyQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgcGFyc2luZyBh
bmQgc3R5bGUgYXBwbGljYXRpb24gZm9yIGNzczMtaW1hZ2VzIGltYWdlLW9yaWVudGF0aW9uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTYyNAorCisg
ICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCisKKyAgICAgICAgVGhlIGNzczMtaW1hZ2Vz
IG1vZHVsZSBpcyBhdCBjYW5kaWRhdGUgcmVjb21tZW5kYXRpb24uCisgICAgICAgIGh0dHA6Ly93
d3cudzMub3JnL1RSLzIwMTIvQ1ItY3NzMy1pbWFnZXMtMjAxMjA0MTcvI3RoZS1pbWFnZS1vcmll
bnRhdGlvbgorCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uL2ltYWdl
LW9yaWVudGF0aW9uLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwOiBBZGQgY29tcHV0ZWQgc3R5bGUgZm9yIGltYWdlLW9yaWVudGF0aW9uLgorICAg
ICAgICAoV2ViQ29yZSk6IEFkZCBDU1NQcm9wZXJ0eUltYWdlT3JpZW50YXRpb24gdG8gY29tcHV0
ZWRQcm9wZXJ0aWVzLgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKTogTWFwIENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlv
biB1c2luZyBjYXN0IG9wZXJhdG9yIGZyb20gUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy4KKyAgICAg
ICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDogQWRkIHBhcnNpbmcgcnVsZSBmb3IgaW1hZ2Utb3JpZW50
YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOiBQYXJzZSB0
aGUgdmFsdWUgb2YgQ1NTUHJvcGVydHlJbWFnZU9yaWVudGF0aW9uIGFzIGFuIGFuZ2xlLgorICAg
ICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6IEFkZCBtYXBwaW5ncyBiZXR3
ZWVuIENTU1ByaW1pdGl2ZVZhbHVlIGFuZCBJbWFnZU9yaWVudGF0aW9uRW51bS4KKyAgICAgICAg
KFdlYkNvcmUpOiBBZGQgY29uZGl0aW9uYWwgaW5jbHVkZSBmb3IgSW1hZ2VPcmllbnRhdGlvbi5o
LgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVl
KTogTWFwIHRoZSBuYXR1cmFsIG9yaWVudGF0aW9ucyB0byBhbmdsZXMuCisgICAgICAgIChXZWJD
b3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgSW1hZ2VPcmllbnRhdGlvbkVudW0pOiBS
b3VuZCBhbmdsZXMgYXdheSBmcm9tIHplcm8gdG8gcXVhcnRlciB0dXJucyBhbmQgbWFwIHRvIHRo
ZSBuYXR1cmFsIG9yaWVudGF0aW9ucy4KKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOiBB
ZGQgQ1NTUHJvcGVydHlJbWFnZU9yaWVudGF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJv
cGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOiBNYXAgQ1NTUHJvcGVydHlJbWFnZU9yaWVudGF0
aW9uIGluaGVyaXRlZC4KKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjogQWRkIGlt
YWdlLW9yaWVudGF0aW9uLgorICAgICAgICAqIGNzcy9TdHlsZUJ1aWxkZXIuY3BwOiBBZGQgc3R5
bGUgYXBwbGljYXRpb24gbG9naWMgZm9yIENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbi4KKyAg
ICAgICAgKFdlYkNvcmU6OlN0eWxlQnVpbGRlcjo6U3R5bGVCdWlsZGVyKTogTWFwIENTU1Byb3Bl
cnR5SW1hZ2VPcmllbnRhdGlvbiB0byBSZW5kZXJTdHlsZTo6aW1hZ2VPcmllbnRhdGlvbiB3aXRo
IHR5cGUgSW1hZ2VPcmllbnRhdGlvbkVudW0uCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIu
Y3BwOiBIYW5kbGUgQ1NTUHJvcGVydHlJbWFnZU9yaWVudGF0aW9uLgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eSk6IEV4cGVjdCBDU1NQcm9wZXJ0eUltYWdl
T3JpZW50YXRpb24gdG8gYmUgaGFuZGxlZCBieSBTdHlsZUJ1aWxkZXIuCisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6IEFkZCBpbWFnZU9yaWVudGF0aW9uLCBzZXRJbWFn
ZU9yaWVudGF0aW9uIGFuZCBpbml0aWFsSW1hZ2VPcmllbnRhdGlvbi4KKyAgICAgICAgKiByZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHA6IEFkZCBtX2ltYWdlT3JpZW50
YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJh
cmVJbmhlcml0ZWREYXRhKTogQWRkIG1faW1hZ2VPcmllbnRhdGlvbiB0byBkZWZhdWx0IGFuZCBj
b3B5IGNvbnRydWN0b3JzLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0
YTo6b3BlcmF0b3I9PSk6IEluY2x1ZGUgbV9pbWFnZU9yaWVudGF0aW9uIGluIGNvbXBhcmlzb24u
CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaDogQWRk
IG1faW1hZ2VPcmllbnRhdGlvbi4KKyAgICAgICAgKFN0eWxlUmFyZUluaGVyaXRlZERhdGEpOiBB
ZGQgNC1iaXQgZmllbGQgbV9pbWFnZU9yaWVudGF0aW9uLCBtYXBwaW5nIHRvIEltYWdlT3JpZW50
YXRpb25FbnVtLgorCiAyMDEyLTA3LTE2ICBEYW5pZWwgQmF0ZXMgIDxkYmF0ZXNAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBBdHRlbXB0IHRvIGZpeCB0aGUgQ2hyb21pdW0gTWFjIGJ1aWxkIGFmdGVy
IDxodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjI4MDI+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDRkNTcx
Y2YxZWNhNDk0NDAwMWY3N2YzZDdkMzUyMWQxMjhlMzljMjAuLjI2NjE1YzVmMDM0YWUxN2MyMTY1
NjA1ZjhmNjUyMjAxODVhMzE5NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xMzAsNiArMTMwLDkgQEAgc3RhdGljIGNv
bnN0IENTU1Byb3BlcnR5SUQgY29tcHV0ZWRQcm9wZXJ0aWVzW10gPSB7CiAgICAgQ1NTUHJvcGVy
dHlGb250VmFyaWFudCwKICAgICBDU1NQcm9wZXJ0eUZvbnRXZWlnaHQsCiAgICAgQ1NTUHJvcGVy
dHlIZWlnaHQsCisjaWYgRU5BQkxFKENTU19JTUFHRV9PUklFTlRBVElPTikKKyAgICBDU1NQcm9w
ZXJ0eUltYWdlT3JpZW50YXRpb24sCisjZW5kaWYKICAgICBDU1NQcm9wZXJ0eUltYWdlUmVuZGVy
aW5nLAogI2lmIEVOQUJMRShDU1NfSU1BR0VfUkVTT0xVVElPTikKICAgICBDU1NQcm9wZXJ0eUlt
YWdlUmVzb2x1dGlvbiwKQEAgLTE3NzUsNiArMTc3OCwxMCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVl
PiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJv
cGVydAogICAgICAgICAgICAgaWYgKHN0eWxlLT5ib3JkZXJGaXQoKSA9PSBCb3JkZXJGaXRCb3Jk
ZXIpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZp
ZXJWYWx1ZShDU1NWYWx1ZUJvcmRlcik7CiAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29s
KCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTGluZXMpOworI2lmIEVOQUJMRShDU1Nf
SU1BR0VfT1JJRU5UQVRJT04pCisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlJbWFnZU9yaWVudGF0
aW9uOgorICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKHN0eWxl
LT5pbWFnZU9yaWVudGF0aW9uKCkpOworI2VuZGlmCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlJ
bWFnZVJlbmRlcmluZzoKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3Jl
YXRlKHN0eWxlLT5pbWFnZVJlbmRlcmluZygpKTsKICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09M
VVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGVlZTUzY2NiNmM4ZDVkZGFiMDFm
MGE4NGQ3ZmM4OWZlZmE1M2NjZWUuLmJjNjg3ODZmMTdiMzVkZmQwNmNmNzdmNTBlNDg3YzVlYzRi
ODAyNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yNjg3LDYgKzI2ODcsMTEgQEAg
Ym9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1w
b3J0YW50KQogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRXcmFwOgogICAgICAgICByZXR1cm4g
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6Y3NzRXhjbHVzaW9uc0VuYWJsZWQoKSAmJiBwYXJzZVNo
b3J0aGFuZChwcm9wSWQsIHdlYmtpdFdyYXBTaG9ydGhhbmQoKSwgaW1wb3J0YW50KTsKICNlbmRp
ZgorI2lmIEVOQUJMRShDU1NfSU1BR0VfT1JJRU5UQVRJT04pCisgICAgY2FzZSBDU1NQcm9wZXJ0
eUltYWdlT3JpZW50YXRpb246CisgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gIWlkICYmIHZhbGlk
VW5pdCh2YWx1ZSwgRkFuZ2xlKTsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKICNpZiBFTkFCTEUo
Q1NTX0lNQUdFX1JFU09MVVRJT04pCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUltYWdlUmVzb2x1dGlv
bjoKICAgICAgICAgcGFyc2VkVmFsdWUgPSBwYXJzZUltYWdlUmVzb2x1dGlvbihtX3ZhbHVlTGlz
dC5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFs
dWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGlu
Z3MuaAppbmRleCA0ODU1ZWMzODFjY2Y4MWQyNjE4NTA3OTM2NGY5NzdmZTZlYzM1YmI4Li5hMzcw
MTEyZTBmZTdiMDExMTU4NTIwZjg3ODczNGUxMDNkYmQwZTU2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTM3LDYgKzM3LDkgQEAKICNp
bmNsdWRlICJGb250RGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJGb250U21vb3RoaW5nTW9kZS5o
IgogI2luY2x1ZGUgIkdyYXBoaWNzVHlwZXMuaCIKKyNpZiBFTkFCTEUoQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKQorI2luY2x1ZGUgIkltYWdlT3JpZW50YXRpb24uaCIKKyNlbmRpZgogI2luY2x1ZGUg
Ikxlbmd0aC5oIgogI2luY2x1ZGUgIkxpbmVDbGFtcFZhbHVlLmgiCiAjaW5jbHVkZSAiUGF0aC5o
IgpAQCAtNDEwOCw2ICs0MTExLDU1IEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZh
bHVlOjpvcGVyYXRvciBFVmVjdG9yRWZmZWN0KCkgY29uc3QKIAogI2VuZGlmIC8vIEVOQUJMRShT
VkcpCiAKKyNpZiBFTkFCTEUoQ1NTX0lNQUdFX09SSUVOVEFUSU9OKQorCit0ZW1wbGF0ZTw+IGlu
bGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoSW1hZ2VPcmllbnRhdGlv
bkVudW0gZSkKKyAgICA6IENTU1ZhbHVlKFByaW1pdGl2ZUNsYXNzKQoreworICAgIG1fcHJpbWl0
aXZlVW5pdFR5cGUgPSBDU1NfREVHOworICAgIHN3aXRjaCAoZSkgeworICAgIGNhc2UgT3JpZ2lu
VG9wTGVmdDoKKyAgICAgICAgbV92YWx1ZS5udW0gPSAwOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIE9yaWdpblJpZ2h0VG9wOgorICAgICAgICBtX3ZhbHVlLm51bSA9IDkwOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIE9yaWdpbkJvdHRvbVJpZ2h0OgorICAgICAgICBtX3ZhbHVlLm51bSA9
IDE4MDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBPcmlnaW5MZWZ0Qm90dG9tOgorICAgICAg
ICBtX3ZhbHVlLm51bSA9IDI3MDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBPcmlnaW5Ub3BS
aWdodDoKKyAgICBjYXNlIE9yaWdpbkxlZnRUb3A6CisgICAgY2FzZSBPcmlnaW5Cb3R0b21MZWZ0
OgorICAgIGNhc2UgT3JpZ2luUmlnaHRCb3R0b206CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgIH0KK30KKwordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9w
ZXJhdG9yIEltYWdlT3JpZW50YXRpb25FbnVtKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoaXNBbmds
ZSgpKTsKKyAgICBkb3VibGUgcXVhcnRlcnMgPSA0ICogZ2V0RG91YmxlVmFsdWUoQ1NTX1RVUk4p
OworICAgIGludCBvcmllbnRhdGlvbiA9IDMgJiBzdGF0aWNfY2FzdDxpbnQ+KHF1YXJ0ZXJzIDwg
MCA/IGZsb29yKHF1YXJ0ZXJzKSA6IGNlaWwocXVhcnRlcnMpKTsKKyAgICBzd2l0Y2ggKG9yaWVu
dGF0aW9uKSB7CisgICAgY2FzZSAwOgorICAgICAgICByZXR1cm4gT3JpZ2luVG9wTGVmdDsKKyAg
ICBjYXNlIDE6CisgICAgICAgIHJldHVybiBPcmlnaW5SaWdodFRvcDsKKyAgICBjYXNlIDI6Cisg
ICAgICAgIHJldHVybiBPcmlnaW5Cb3R0b21SaWdodDsKKyAgICBjYXNlIDM6CisgICAgICAgIHJl
dHVybiBPcmlnaW5MZWZ0Qm90dG9tOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gT3JpZ2luVG9wTGVmdDsKKyAgICB9Cit9CisKKyNl
bmRpZiAvLyBFTkFCTEUoQ1NTX0lNQUdFX09SSUVOVEFUSU9OKQorCiB9CiAKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5kZXggNzZjYzhlYTFhMzU3MjNhMDM1NjY5ODZmMTBm
ZTAxZmJjYTYxNjQyNi4uOGM4MmRjNjVhNTY0ZTNiN2UxZDBiZTE0MzdhOWJkODk3NGY5ZWZlNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCkBAIC0yODIsNiArMjgyLDkgQEAgYm9vbCBD
U1NQcm9wZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQp
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZvbnRTdHlsZToKICAgICBjYXNlIENTU1Byb3BlcnR5Rm9u
dFZhcmlhbnQ6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZvbnRXZWlnaHQ6CisjaWYgRU5BQkxFKENT
U19JTUFHRV9PUklFTlRBVElPTikKKyAgICBjYXNlIENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlv
bjoKKyNlbmRpZgogICAgIGNhc2UgQ1NTUHJvcGVydHlJbWFnZVJlbmRlcmluZzoKICNpZiBFTkFC
TEUoQ1NTX0lNQUdFX1JFU09MVVRJT04pCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUltYWdlUmVzb2x1
dGlvbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmlu
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KaW5kZXggOGQ0NGY5ODA4
NmM1NmIzOTU5YjZhZTIyMjZjYmJhZTRiM2I3MmQxZi4uNTQ3OTA3ZWZiOTJjMTVhZjAzYWE2M2Yy
NTYxYzU0MzIxMzA0NzA4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4K
QEAgLTEwMyw2ICsxMDMsOSBAQCBlbXB0eS1jZWxscwogZmxvYXQKIGZvbnQtc3RyZXRjaAogaGVp
Z2h0CisjaWYgZGVmaW5lZChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAmJiBFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OCitpbWFnZS1vcmllbnRhdGlvbgorI2VuZGlmCiBpbWFnZS1y
ZW5kZXJpbmcKICNpZiBkZWZpbmVkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJiYgRU5B
QkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OCiBpbWFnZS1yZXNvbHV0aW9uCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZUJ1aWxkZXIuY3BwCmluZGV4IDQ0ZWM4N2Y3YmE3MjAzMTlkNjVjZGNhMWYzYzc3MTAzZjFl
NjhmZTUuLjBiNGYzZTk3ZTBiN2YyOTRhY2NhNTRiM2NjNTFjYzhmZjdhNjRiYmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCkBAIC0xODgwLDYgKzE4ODAsOSBAQCBTdHlsZUJ1aWxk
ZXI6OlN0eWxlQnVpbGRlcigpCiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5Rm9u
dFZhcmlhbnQsIEFwcGx5UHJvcGVydHlGb250PEZvbnRTbWFsbENhcHMsICZGb250RGVzY3JpcHRp
b246OnNtYWxsQ2FwcywgJkZvbnREZXNjcmlwdGlvbjo6c2V0U21hbGxDYXBzLCBGb250U21hbGxD
YXBzT2ZmPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJv
cGVydHlGb250V2VpZ2h0LCBBcHBseVByb3BlcnR5Rm9udFdlaWdodDo6Y3JlYXRlSGFuZGxlcigp
KTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlIZWlnaHQsIEFwcGx5UHJvcGVy
dHlMZW5ndGg8JlJlbmRlclN0eWxlOjpoZWlnaHQsICZSZW5kZXJTdHlsZTo6c2V0SGVpZ2h0LCAm
UmVuZGVyU3R5bGU6OmluaXRpYWxTaXplLCBBdXRvRW5hYmxlZCwgTGVnYWN5SW50cmluc2ljRW5h
YmxlZCwgSW50cmluc2ljRGlzYWJsZWQsIE5vbmVEaXNhYmxlZCwgVW5kZWZpbmVkRGlzYWJsZWQ+
OjpjcmVhdGVIYW5kbGVyKCkpOworI2lmIEVOQUJMRShDU1NfSU1BR0VfT1JJRU5UQVRJT04pCisg
ICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbiwgQXBwbHlQ
cm9wZXJ0eURlZmF1bHQ8SW1hZ2VPcmllbnRhdGlvbkVudW0sICZSZW5kZXJTdHlsZTo6aW1hZ2VP
cmllbnRhdGlvbiwgSW1hZ2VPcmllbnRhdGlvbkVudW0sICZSZW5kZXJTdHlsZTo6c2V0SW1hZ2VP
cmllbnRhdGlvbiwgSW1hZ2VPcmllbnRhdGlvbkVudW0sICZSZW5kZXJTdHlsZTo6aW5pdGlhbElt
YWdlT3JpZW50YXRpb24+OjpjcmVhdGVIYW5kbGVyKCkpOworI2VuZGlmCiAgICAgc2V0UHJvcGVy
dHlIYW5kbGVyKENTU1Byb3BlcnR5SW1hZ2VSZW5kZXJpbmcsIEFwcGx5UHJvcGVydHlEZWZhdWx0
PEVJbWFnZVJlbmRlcmluZywgJlJlbmRlclN0eWxlOjppbWFnZVJlbmRlcmluZywgRUltYWdlUmVu
ZGVyaW5nLCAmUmVuZGVyU3R5bGU6OnNldEltYWdlUmVuZGVyaW5nLCBFSW1hZ2VSZW5kZXJpbmcs
ICZSZW5kZXJTdHlsZTo6aW5pdGlhbEltYWdlUmVuZGVyaW5nPjo6Y3JlYXRlSGFuZGxlcigpKTsK
ICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJT04pCiAgICAgc2V0UHJvcGVydHlIYW5kbGVy
KENTU1Byb3BlcnR5SW1hZ2VSZXNvbHV0aW9uLCBBcHBseVByb3BlcnR5SW1hZ2VSZXNvbHV0aW9u
OjpjcmVhdGVIYW5kbGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4
IGFlZGIxOTllYTU1NDU4MDVmZjg5ZWVkYTJkNmEzZDVjN2E2YjdjNmMuLjZiYTEwMzNiNDcyNzdm
MjY2NDk3YTQ3ZGJmYjMyZWQ2MzkyNjhlNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZl
ci5jcHAKQEAgLTQxNjksNiArNDE2OSw5IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9w
ZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eUZvbnRWYXJpYW50OgogICAgIGNhc2UgQ1NTUHJvcGVydHlGb250V2VpZ2h0OgogICAgIGNh
c2UgQ1NTUHJvcGVydHlIZWlnaHQ6CisjaWYgRU5BQkxFKENTU19JTUFHRV9PUklFTlRBVElPTikK
KyAgICBjYXNlIENTU1Byb3BlcnR5SW1hZ2VPcmllbnRhdGlvbjoKKyNlbmRpZgogICAgIGNhc2Ug
Q1NTUHJvcGVydHlJbWFnZVJlbmRlcmluZzoKICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJ
T04pCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUltYWdlUmVzb2x1dGlvbjoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggYmI0YjI2OTM3ZjZkNjZiODJl
YzJmYzdjOTk2ZTNmN2RhOGMxNzA1Mi4uNWU4YTEyYzk1ZmY1NjNlYWYyZmU4YjBhNzI5ZDA1ZjA3
MjZlNGY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmgKQEAgLTk2Myw2ICs5NjMsMTAgQEAgcHVibGljOgogICAgIGJvb2wgaXNGbGlwcGVkTGluZXNX
cml0aW5nTW9kZSgpIGNvbnN0IHsgcmV0dXJuIHdyaXRpbmdNb2RlKCkgPT0gTGVmdFRvUmlnaHRX
cml0aW5nTW9kZSB8fCB3cml0aW5nTW9kZSgpID09IEJvdHRvbVRvVG9wV3JpdGluZ01vZGU7IH0K
ICAgICBib29sIGlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkgY29uc3QgeyByZXR1cm4gd3Jp
dGluZ01vZGUoKSA9PSBSaWdodFRvTGVmdFdyaXRpbmdNb2RlIHx8IHdyaXRpbmdNb2RlKCkgPT0g
Qm90dG9tVG9Ub3BXcml0aW5nTW9kZTsgfQogCisjaWYgRU5BQkxFKENTU19JTUFHRV9PUklFTlRB
VElPTikKKyAgICBJbWFnZU9yaWVudGF0aW9uRW51bSBpbWFnZU9yaWVudGF0aW9uKCkgY29uc3Qg
eyByZXR1cm4gc3RhdGljX2Nhc3Q8SW1hZ2VPcmllbnRhdGlvbkVudW0+KHJhcmVJbmhlcml0ZWRE
YXRhLT5tX2ltYWdlT3JpZW50YXRpb24pOyB9CisjZW5kaWYKKwogICAgIEVJbWFnZVJlbmRlcmlu
ZyBpbWFnZVJlbmRlcmluZygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVJbWFnZVJlbmRl
cmluZz4ocmFyZUluaGVyaXRlZERhdGEtPm1faW1hZ2VSZW5kZXJpbmcpOyB9CiAKICNpZiBFTkFC
TEUoQ1NTX0lNQUdFX1JFU09MVVRJT04pCkBAIC0xMTM1LDYgKzExMzksMTEgQEAgcHVibGljOgog
ICAgIGJvb2wgc2V0Wm9vbShmbG9hdCk7CiAgICAgdm9pZCBzZXRab29tV2l0aG91dFJldHVyblZh
bHVlKGZsb2F0IGYpIHsgc2V0Wm9vbShmKTsgfQogICAgIGJvb2wgc2V0RWZmZWN0aXZlWm9vbShm
bG9hdCk7CisKKyNpZiBFTkFCTEUoQ1NTX0lNQUdFX09SSUVOVEFUSU9OKQorICAgIHZvaWQgc2V0
SW1hZ2VPcmllbnRhdGlvbihJbWFnZU9yaWVudGF0aW9uRW51bSB2KSB7IFNFVF9WQVIocmFyZUlu
aGVyaXRlZERhdGEsIG1faW1hZ2VPcmllbnRhdGlvbiwgc3RhdGljX2Nhc3Q8aW50Pih2KSkgfQor
I2VuZGlmCisKICAgICB2b2lkIHNldEltYWdlUmVuZGVyaW5nKEVJbWFnZVJlbmRlcmluZyB2KSB7
IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIG1faW1hZ2VSZW5kZXJpbmcsIHYpIH0KIAogI2lm
IEVOQUJMRShDU1NfSU1BR0VfUkVTT0xVVElPTikKQEAgLTE2NTgsNiArMTY2Nyw3IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBpbml0aWFsVGV4dEVtcGhhc2lzQ3Vz
dG9tTWFyaygpIHsgcmV0dXJuIG51bGxBdG9tOyB9CiAgICAgc3RhdGljIFRleHRFbXBoYXNpc1Bv
c2l0aW9uIGluaXRpYWxUZXh0RW1waGFzaXNQb3NpdGlvbigpIHsgcmV0dXJuIFRleHRFbXBoYXNp
c1Bvc2l0aW9uT3ZlcjsgfQogICAgIHN0YXRpYyBMaW5lQm94Q29udGFpbiBpbml0aWFsTGluZUJv
eENvbnRhaW4oKSB7IHJldHVybiBMaW5lQm94Q29udGFpbkJsb2NrIHwgTGluZUJveENvbnRhaW5J
bmxpbmUgfCBMaW5lQm94Q29udGFpblJlcGxhY2VkOyB9CisgICAgc3RhdGljIEltYWdlT3JpZW50
YXRpb25FbnVtIGluaXRpYWxJbWFnZU9yaWVudGF0aW9uKCkgeyByZXR1cm4gT3JpZ2luVG9wTGVm
dDsgfQogICAgIHN0YXRpYyBFSW1hZ2VSZW5kZXJpbmcgaW5pdGlhbEltYWdlUmVuZGVyaW5nKCkg
eyByZXR1cm4gSW1hZ2VSZW5kZXJpbmdBdXRvOyB9CiAgICAgc3RhdGljIEltYWdlUmVzb2x1dGlv
blNvdXJjZSBpbml0aWFsSW1hZ2VSZXNvbHV0aW9uU291cmNlKCkgeyByZXR1cm4gSW1hZ2VSZXNv
bHV0aW9uU3BlY2lmaWVkOyB9CiAgICAgc3RhdGljIEltYWdlUmVzb2x1dGlvblNuYXAgaW5pdGlh
bEltYWdlUmVzb2x1dGlvblNuYXAoKSB7IHJldHVybiBJbWFnZVJlc29sdXRpb25Ob1NuYXA7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhl
cml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJ
bmhlcml0ZWREYXRhLmNwcAppbmRleCBlOGE1NDMzNGZmYTM2ZmFkNTNlNTFkMmQ1MTkxZjAxOTEw
MTE2NmZmLi45N2RlNDJkM2MzNWE5YWQ5YWNhNGI1MmYyZWU0ZTIwNjhlZGVkMjhkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0
YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVy
aXRlZERhdGEuY3BwCkBAIC04MSw2ICs4MSw5IEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0
eWxlUmFyZUluaGVyaXRlZERhdGEoKQogICAgICwgdGV4dEVtcGhhc2lzTWFyayhUZXh0RW1waGFz
aXNNYXJrTm9uZSkKICAgICAsIHRleHRFbXBoYXNpc1Bvc2l0aW9uKFRleHRFbXBoYXNpc1Bvc2l0
aW9uT3ZlcikKICAgICAsIG1fbGluZUJveENvbnRhaW4oUmVuZGVyU3R5bGU6OmluaXRpYWxMaW5l
Qm94Q29udGFpbigpKQorI2lmIEVOQUJMRShDU1NfSU1BR0VfT1JJRU5UQVRJT04pCisgICAgLCBt
X2ltYWdlT3JpZW50YXRpb24oUmVuZGVyU3R5bGU6OmluaXRpYWxJbWFnZU9yaWVudGF0aW9uKCkp
CisjZW5kaWYKICAgICAsIG1faW1hZ2VSZW5kZXJpbmcoUmVuZGVyU3R5bGU6OmluaXRpYWxJbWFn
ZVJlbmRlcmluZygpKQogICAgICwgbV9saW5lU25hcChSZW5kZXJTdHlsZTo6aW5pdGlhbExpbmVT
bmFwKCkpCiAgICAgLCBtX2xpbmVBbGlnbihSZW5kZXJTdHlsZTo6aW5pdGlhbExpbmVBbGlnbigp
KQpAQCAtMTQwLDYgKzE0Myw5IEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUlu
aGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSYgbykKICAgICAsIHRleHRF
bXBoYXNpc01hcmsoby50ZXh0RW1waGFzaXNNYXJrKQogICAgICwgdGV4dEVtcGhhc2lzUG9zaXRp
b24oby50ZXh0RW1waGFzaXNQb3NpdGlvbikKICAgICAsIG1fbGluZUJveENvbnRhaW4oby5tX2xp
bmVCb3hDb250YWluKQorI2lmIEVOQUJMRShDU1NfSU1BR0VfT1JJRU5UQVRJT04pCisgICAgLCBt
X2ltYWdlT3JpZW50YXRpb24oby5tX2ltYWdlT3JpZW50YXRpb24pCisjZW5kaWYKICAgICAsIG1f
aW1hZ2VSZW5kZXJpbmcoby5tX2ltYWdlUmVuZGVyaW5nKQogICAgICwgbV9saW5lU25hcChvLm1f
bGluZVNuYXApCiAgICAgLCBtX2xpbmVBbGlnbihvLm1fbGluZUFsaWduKQpAQCAtMjMwLDYgKzIz
Niw5IEBAIGJvb2wgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHls
ZVJhcmVJbmhlcml0ZWREYXRhJiBvKSBjb25zdAogICAgICAgICAmJiBRdW90ZXNEYXRhOjplcXVh
bChxdW90ZXMuZ2V0KCksIG8ucXVvdGVzLmdldCgpKQogICAgICAgICAmJiBtX3RhYlNpemUgPT0g
by5tX3RhYlNpemUKICAgICAgICAgJiYgbV9saW5lR3JpZCA9PSBvLm1fbGluZUdyaWQKKyNpZiBF
TkFCTEUoQ1NTX0lNQUdFX09SSUVOVEFUSU9OKQorICAgICAgICAmJiBtX2ltYWdlT3JpZW50YXRp
b24gPT0gby5tX2ltYWdlT3JpZW50YXRpb24KKyNlbmRpZgogICAgICAgICAmJiBtX2ltYWdlUmVu
ZGVyaW5nID09IG8ubV9pbWFnZVJlbmRlcmluZwogI2lmIEVOQUJMRShDU1NfSU1BR0VfUkVTT0xV
VElPTikKICAgICAgICAgJiYgbV9pbWFnZVJlc29sdXRpb25Tb3VyY2UgPT0gby5tX2ltYWdlUmVz
b2x1dGlvblNvdXJjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKaW5kZXggOTM5MDhlNDQ2ZWI4NGRhYjdkODg0ZDI3
M2M4YmQxOGVjZjI5OGYwYS4uYjMwOTgyZGY5N2IxY2UyNjJlZDcyZGRlNzAxN2ZlOGY4ZTVlNWFj
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUlu
aGVyaXRlZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YS5oCkBAIC05NSw2ICs5NSw5IEBAIHB1YmxpYzoKICAgICB1bnNpZ25l
ZCB0ZXh0RW1waGFzaXNQb3NpdGlvbiA6IDE7IC8vIFRleHRFbXBoYXNpc1Bvc2l0aW9uCiAgICAg
dW5zaWduZWQgbV9saW5lQm94Q29udGFpbjogNzsgLy8gTGluZUJveENvbnRhaW4KICAgICAvLyBD
U1MgSW1hZ2UgVmFsdWVzIExldmVsIDMKKyNpZiBFTkFCTEUoQ1NTX0lNQUdFX09SSUVOVEFUSU9O
KQorICAgIHVuc2lnbmVkIG1faW1hZ2VPcmllbnRhdGlvbiA6IDQ7IC8vIEltYWdlT3JpZW50YXRp
b25FbnVtCisjZW5kaWYKICAgICB1bnNpZ25lZCBtX2ltYWdlUmVuZGVyaW5nIDogMjsgLy8gRUlt
YWdlUmVuZGVyaW5nCiAgICAgdW5zaWduZWQgbV9saW5lU25hcCA6IDI7IC8vIExpbmVTbmFwCiAg
ICAgdW5zaWduZWQgbV9saW5lQWxpZ24gOiAxOyAvLyBMaW5lQWxpZ24KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3ZDgwNjI5
MmRiNzQzYzFjMGFiZTEwNmU0ZmRkYjM4MGVjZTNlMGI3Li40ZGY4OWIxNzRjNWZhOTJmYTc3NDlk
YjhkMGQ0N2U3NjUxMjQ1OTgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDctMTcgIERh
dmlkIEJhcnIgIDxkYXZpZGJhcnJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBwYXJzaW5n
IGFuZCBzdHlsZSBhcHBsaWNhdGlvbiBmb3IgY3NzMy1pbWFnZXMgaW1hZ2Utb3JpZW50YXRpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5NjI0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KKworICAgICAgICBUaGUgY3NzMy1pbWFn
ZXMgbW9kdWxlIGlzIGF0IGNhbmRpZGF0ZSByZWNvbW1lbmRhdGlvbi4KKyAgICAgICAgaHR0cDov
L3d3dy53My5vcmcvVFIvMjAxMi9DUi1jc3MzLWltYWdlcy0yMDEyMDQxNy8jdGhlLWltYWdlLW9y
aWVudGF0aW9uCisKKyAgICAgICAgKiBmYXN0L2Nzcy9pbWFnZS1vcmllbnRhdGlvbi9pbWFnZS1v
cmllbnRhdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2ltYWdl
LW9yaWVudGF0aW9uL2ltYWdlLW9yaWVudGF0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGVzdHMgdW50aWwgaW1hZ2Ut
b3JpZW50YXRpb24gaW1wbGVtZW50YXRpb24gbGFuZHMuCisgICAgICAgICogcGxhdGZvcm0vZWZs
L1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGVzdHMgdW50aWwgaW1hZ2Utb3JpZW50YXRpb24gaW1w
bGVtZW50YXRpb24gbGFuZHMuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlv
bnM6IFNraXAgdGVzdHMgdW50aWwgaW1hZ2Utb3JpZW50YXRpb24gaW1wbGVtZW50YXRpb24gbGFu
ZHMuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGVzdHMg
dW50aWwgaW1hZ2Utb3JpZW50YXRpb24gaW1wbGVtZW50YXRpb24gbGFuZHMuCisgICAgICAgICog
cGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9uczogU2tpcCB0ZXN0cyB1bnRpbCBpbWFnZS1vcmll
bnRhdGlvbiBpbXBsZW1lbnRhdGlvbiBsYW5kcy4KKwogMjAxMi0wNy0xNiAgUGV0ZSBXaWxsaWFt
c29uICA8cGV0ZXdpbEBnb29nbGUuY29tPgogCiAgICAgICAgIEFkZCBzb21lIG5ldyB1bml0IHRl
c3RzIHRvIHRlc3QgdGhlIGZhdmljb24gY2hhbmdpbmcgZHluYW1pY2FsbHkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uL2ltYWdlLW9yaWVudGF0aW9u
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uL2lt
YWdlLW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YTUxMzg0ODhkZjg0Y2I4
NzY3NjUzYmY4OTZjYzA4NmFiODg0MWVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvaW1hZ2Utb3JpZW50YXRpb24vaW1hZ2Utb3JpZW50YXRpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNDMgQEAKK0FwcGx5IGltYWdlLXJlc29sdXRpb24gcHJvcGVydHkgYW5kIGNo
ZWNrIGNvbXB1dGVkIHN0eWxlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyBwLnN0eWxlLmNzc1RleHQgaXMgImltYWdlLW9yaWVudGF0aW9uOiAtMzYwZGVnOyAiCitQQVNT
IGdldENvbXB1dGVkU3R5bGUocCkuaW1hZ2VPcmllbnRhdGlvbiBpcyAiMGRlZyIKK1BBU1MgcC5z
dHlsZS5jc3NUZXh0IGlzICJpbWFnZS1vcmllbnRhdGlvbjogLTMxNWRlZzsgIgorUEFTUyBnZXRD
b21wdXRlZFN0eWxlKHApLmltYWdlT3JpZW50YXRpb24gaXMgIjBkZWciCitQQVNTIHAuc3R5bGUu
Y3NzVGV4dCBpcyAiaW1hZ2Utb3JpZW50YXRpb246IDBkZWc7ICIKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlzICIwZGVnIgorUEFTUyBwLnN0eWxlLmNzc1RleHQg
aXMgImltYWdlLW9yaWVudGF0aW9uOiAzMTVkZWc7ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShw
KS5pbWFnZU9yaWVudGF0aW9uIGlzICIwZGVnIgorUEFTUyBwLnN0eWxlLmNzc1RleHQgaXMgImlt
YWdlLW9yaWVudGF0aW9uOiAzNjBkZWc7ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFn
ZU9yaWVudGF0aW9uIGlzICIwZGVnIgorUEFTUyBwLnN0eWxlLmNzc1RleHQgaXMgImltYWdlLW9y
aWVudGF0aW9uOiAtMjcwZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocCkuaW1hZ2VPcmll
bnRhdGlvbiBpcyAiOTBkZWciCitQQVNTIHAuc3R5bGUuY3NzVGV4dCBpcyAiaW1hZ2Utb3JpZW50
YXRpb246IC0yMjVkZWc7ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0
aW9uIGlzICI5MGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NUZXh0IGlzICJpbWFnZS1vcmllbnRhdGlv
bjogNDVkZWc7ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlz
ICI5MGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NUZXh0IGlzICJpbWFnZS1vcmllbnRhdGlvbjogOTBk
ZWc7ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlzICI5MGRl
ZyIKK1BBU1MgcC5zdHlsZS5jc3NUZXh0IGlzICJpbWFnZS1vcmllbnRhdGlvbjogLTE4MGRlZzsg
IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHApLmltYWdlT3JpZW50YXRpb24gaXMgIjE4MGRlZyIK
K1BBU1MgcC5zdHlsZS5jc3NUZXh0IGlzICJpbWFnZS1vcmllbnRhdGlvbjogLTEzNWRlZzsgIgor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKHApLmltYWdlT3JpZW50YXRpb24gaXMgIjE4MGRlZyIKK1BB
U1MgcC5zdHlsZS5jc3NUZXh0IGlzICJpbWFnZS1vcmllbnRhdGlvbjogMTM1ZGVnOyAiCitQQVNT
IGdldENvbXB1dGVkU3R5bGUocCkuaW1hZ2VPcmllbnRhdGlvbiBpcyAiMTgwZGVnIgorUEFTUyBw
LnN0eWxlLmNzc1RleHQgaXMgImltYWdlLW9yaWVudGF0aW9uOiAtMTgwZGVnOyAiCitQQVNTIGdl
dENvbXB1dGVkU3R5bGUocCkuaW1hZ2VPcmllbnRhdGlvbiBpcyAiMTgwZGVnIgorUEFTUyBwLnN0
eWxlLmNzc1RleHQgaXMgImltYWdlLW9yaWVudGF0aW9uOiAtOTBkZWc7ICIKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShwKS5pbWFnZU9yaWVudGF0aW9uIGlzICIyNzBkZWciCitQQVNTIHAuc3R5bGUu
Y3NzVGV4dCBpcyAiaW1hZ2Utb3JpZW50YXRpb246IC00NWRlZzsgIgorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKHApLmltYWdlT3JpZW50YXRpb24gaXMgIjI3MGRlZyIKK1BBU1MgcC5zdHlsZS5jc3NU
ZXh0IGlzICJpbWFnZS1vcmllbnRhdGlvbjogMjI1ZGVnOyAiCitQQVNTIGdldENvbXB1dGVkU3R5
bGUocCkuaW1hZ2VPcmllbnRhdGlvbiBpcyAiMjcwZGVnIgorUEFTUyBwLnN0eWxlLmNzc1RleHQg
aXMgImltYWdlLW9yaWVudGF0aW9uOiAyNzBkZWc7ICIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShw
KS5pbWFnZU9yaWVudGF0aW9uIGlzICIyNzBkZWciCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvaW1hZ2Utb3JpZW50YXRpb24vaW1hZ2Utb3JpZW50YXRpb24uaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uL2ltYWdlLW9yaWVudGF0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzYyNzEyMjg2MTg1MWZjNjM4NTY0NzdiNDAyYjFjM2E5MTdhMzllYwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uL2ltYWdlLW9y
aWVudGF0aW9uLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHN0eWxlIHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ij48L3N0eWxlPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignQXBw
bHkgaW1hZ2UtcmVzb2x1dGlvbiBwcm9wZXJ0eSBhbmQgY2hlY2sgY29tcHV0ZWQgc3R5bGUuJyk7
CisKK3ZhciBleHBlY3RhdGlvbnMgPSB7CisgICAgJzBkZWcnOiBbJy0zNjBkZWcnLCAnLTMxNWRl
ZycsICcwZGVnJywgJzMxNWRlZycsICczNjBkZWcnXSwKKyAgICAnOTBkZWcnOiBbJy0yNzBkZWcn
LCAnLTIyNWRlZycsICc0NWRlZycsICc5MGRlZyddLAorICAgICcxODBkZWcnOiBbJy0xODBkZWcn
LCAnLTEzNWRlZycsICcxMzVkZWcnLCAnLTE4MGRlZyddLAorICAgICcyNzBkZWcnOiBbJy05MGRl
ZycsICctNDVkZWcnLCAnMjI1ZGVnJywgJzI3MGRlZyddfTsKKwordmFyIHAgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdwJyk7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHApOworZm9yIChl
eHBlY3RlZCBpbiBleHBlY3RhdGlvbnMpIHsKKyAgICBleHBlY3RhdGlvbnNbZXhwZWN0ZWRdLmZv
ckVhY2goZnVuY3Rpb24odGVzdCkgeworICAgICAgICBwLnN0eWxlLmltYWdlT3JpZW50YXRpb24g
PSAnJzsKKyAgICAgICAgcC5zdHlsZS5pbWFnZU9yaWVudGF0aW9uID0gdGVzdDsKKyAgICAgICAg
c2hvdWxkQmUoJ3Auc3R5bGUuY3NzVGV4dCcsICciaW1hZ2Utb3JpZW50YXRpb246ICcgKyB0ZXN0
ICsgJzsgIicpOworICAgICAgICBzaG91bGRCZSgnZ2V0Q29tcHV0ZWRTdHlsZShwKS5pbWFnZU9y
aWVudGF0aW9uJywgJyInICsgZXhwZWN0ZWQgKyAnIicpOworICAgIH0pOworfQorZG9jdW1lbnQu
Ym9keS5yZW1vdmVDaGlsZChwKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYmE4
MDY2MzlmNTJlNmZlYzc0YjQ5MjhlMTUzNjhlNGVlOTQ4ZGE4Yy4uNTFjYjJmN2RjZDgzOWVlNjNi
MzQ3ODRjNjA0NzMwNDE4OGQwNTZkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNjAsNiArMTYwLDkgQEAgQlVHV0s4NTU4MCBTS0lQ
IDogaW5zcGVjdG9yL3N0eWxlcy92YXJpYWJsZXMgPSBQQVNTCiAvLyBDU1MgaW1hZ2UtcmVzb2x1
dGlvbiBpcyBub3QgeWV0IGVuYWJsZWQuCiBCVUdXSzg1MjYyIFNLSVAgOiBmYXN0L2Nzcy9pbWFn
ZS1yZXNvbHV0aW9uID0gUEFTUwogCisvLyBDU1MgaW1hZ2Utb3JpZW50YXRpb24gaXMgbm90IHll
dCBlbmFibGVkLgorQlVHV0s4OTA1MiBTS0lQIDogZmFzdC9jc3MvaW1hZ2Utb3JpZW50YXRpb24g
PSBQQVNTCisKIC8vIENocm9taXVtIG5lZWRzIGxhcmdlciBtZWRpYSBmaWxlcyB0byB0ZXN0IGJ1
ZmZlcmluZyB0aGlzIHdheS4KIEJVR1dLODgxNzIgU0tJUCA6IGh0dHAvdGVzdHMvbWVkaWEvdmlk
ZW8tYnVmZmVyZWQuaHRtbCA9IFBBU1MKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCBlNThlMmI5MWQzZjI0MWQwYzgzMWQ5ODQyNGMyOTVkYjViZTQ5MmFm
Li45YjQxOGQ3N2U4NjU3MjQyNWE4YzU2MmQyMTI3MjY2NWNlZDgyNDdhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNTIsNiArNTIsOSBAQCBCVUdXSzg1
NDY1IFNLSVAgOiBjc3MzL2ZpbHRlcnMgPSBURVhUCiAvLyBDU1MgaW1hZ2UtcmVzb2x1dGlvbiBp
cyBub3QgeWV0IGVuYWJsZWQuCiBCVUdXSzg1MjYyIFNLSVAgOiBmYXN0L2Nzcy9pbWFnZS1yZXNv
bHV0aW9uID0gUEFTUwogCisvLyBDU1MgaW1hZ2Utb3JpZW50YXRpb24gaXMgbm90IHlldCBlbmFi
bGVkLgorQlVHV0s4OTA1MiBTS0lQIDogZmFzdC9jc3MvaW1hZ2Utb3JpZW50YXRpb24gPSBQQVNT
CisKIC8vIFRoaXMgdGVzdCBhc3N1bWVzIHdlIGNhbm5vdCBwbGF5IFJUU1AsIGJ1dCB3ZSBjYW4u
CiBCVUdXS0VGTCBTS0lQIDogbWVkaWEvdW5zdXBwb3J0ZWQtcnRzcC5odG1sID0gVElNRU9VVAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDkyZjlhZjdj
OWExMGVjM2Q1Yjc1M2UwZjU4YWMxNTZhZWNmOTk4ODkuLmFlNjg2NThkODg0NTFhM2M2ZGY4YmM4
Y2FkZmM3M2FlMzFmZTVjM2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0
YXRpb25zCkBAIC0zMjUsNiArMzI1LDkgQEAgQlVHV0s4NTU4MCBTS0lQIDogaW5zcGVjdG9yL3N0
eWxlcy92YXJpYWJsZXMgPSBQQVNTCiAvLyBDU1MgaW1hZ2UtcmVzb2x1dGlvbiBpcyBub3QgeWV0
IGVuYWJsZWQuCiBCVUdXSzg1MjYyIFNLSVAgOiBmYXN0L2Nzcy9pbWFnZS1yZXNvbHV0aW9uID0g
UEFTUyBURVhUCiAKKy8vIENTUyBpbWFnZS1vcmllbnRhdGlvbiBpcyBub3QgeWV0IGVuYWJsZWQu
CitCVUdXSzg5MDUyIFNLSVAgOiBmYXN0L2Nzcy9pbWFnZS1vcmllbnRhdGlvbiA9IFBBU1MKKwog
Ly8gTm8gQ09SUyBzdXBwb3J0IGZvciBtZWRpYSBlbGVtZW50cyBpcyBpbXBsZW1lbnRlZCB5ZXQu
CiBCVUdXS0dUSyBTS0lQIDogaHR0cC90ZXN0cy9zZWN1cml0eS92aWRlby1jcm9zcy1vcmlnaW4t
cmVhZGJhY2suaHRtbCA9IFRFWFQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCBjOWJhODdhMTRiZmE4NjM2ZGUwNDdjYTc3NGU4YjIxN2JhZGViM2IwLi45
NDQxOGI0NWRiMDFkZDliMGUyMmZhYjc0ZGY1YWYxYWRlYjBkMWUxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTksNiArMTksOSBAQCBCVUdXSzg3OTA4
IFNLSVAgOiBlZGl0aW5nL3VuZG9tYW5hZ2VyID0gUEFTUwogLy8gQ1NTIGltYWdlLXJlc29sdXRp
b24gaXMgbm90IHlldCBlbmFibGVkLgogQlVHV0s4NTI2MiBTS0lQIDogZmFzdC9jc3MvaW1hZ2Ut
cmVzb2x1dGlvbiA9IFBBU1MKIAorLy8gQ1NTIGltYWdlLW9yaWVudGF0aW9uIGlzIG5vdCB5ZXQg
ZW5hYmxlZC4KK0JVR1dLODkwNTIgU0tJUCA6IGZhc3QvY3NzL2ltYWdlLW9yaWVudGF0aW9uID0g
UEFTUworCiAvLyBPdXIgc2xvdyB0ZXN0cywgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLgogQlVHV0s1
NzY3MiA6IGh0dHAvdGVzdHMvbG9jYWwvZmlsZWFwaS9zZW5kLXNsaWNlZC1kcmFnZ2VkLWZpbGUu
aHRtbCA9IFRFWFQgUEFTUwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCBkYThmMTRhMzhjYzFiMWQwZjM3NWJhYzFhZDljZjA1NDA5Njg5NmY2Li4wMTM0ZGU3
YTY2ZjUzZDQ3ODBhYWQ1MzY2YzhjZTk5MDVkYmViMGJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTgyLDYgKzgyLDkgQEAgQlVHV0s4NzkwOCBTS0lQIDog
ZWRpdGluZy91bmRvbWFuYWdlciA9IFBBU1MKIC8vIENTUyBpbWFnZS1yZXNvbHV0aW9uIGlzIG5v
dCB5ZXQgZW5hYmxlZC4KIEJVR1dLODUyNjIgU0tJUCA6IGZhc3QvY3NzL2ltYWdlLXJlc29sdXRp
b24gPSBQQVNTCiAKKy8vIENTUyBpbWFnZS1vcmllbnRhdGlvbiBpcyBub3QgeWV0IGVuYWJsZWQu
CitCVUdXSzg5MDUyIFNLSVAgOiBmYXN0L2Nzcy9pbWFnZS1vcmllbnRhdGlvbiA9IFBBU1MKKwog
Ly8gTmVlZHMgcmViYXNlbGluZSBhZnRlciBidWcgODY0NDEKIC8vIGZhaWxpbmcgbmV3IHRlc3Rz
CiBCVUdXSzg2NDQxIFNLSVAgOiBmYXN0L2JvcmRlcnMvYm9yZGVyLWFudGlhbGlhc2luZy5odG1s
ID0gSU1BR0UK
</data>

          </attachment>
      

    </bug>

</bugzilla>